aboutsummaryrefslogtreecommitdiff
path: root/modules/ext
diff options
context:
space:
mode:
Diffstat (limited to 'modules/ext')
-rw-r--r--modules/ext/media.js6
-rw-r--r--modules/ext/webdav.js20
2 files changed, 17 insertions, 9 deletions
diff --git a/modules/ext/media.js b/modules/ext/media.js
index 5723e27..bdc50e2 100644
--- a/modules/ext/media.js
+++ b/modules/ext/media.js
@@ -1,13 +1,13 @@
// newOS4 Media Analysis Module (v4.5.79)
// Commands: analyze <path> [--flags]
// Uses gemini-3-flash-preview:cloud for vision (images, video frames)
-// Uses deepseek-v4-flash:cloud for text analysis (audio features, summaries)
+// Uses deepseek-v4.1-flash:cloud for text analysis (audio features, summaries)
class MediaModule {
constructor() {
this.commands = {};
this.terminal = null;
this._visionModel = 'gemini-3-flash-preview:cloud';
- this._textModel = 'deepseek-v4-flash:cloud';
+ this._textModel = 'deepseek-v4.1-flash:cloud';
this._maxFrames = 10; // max video frames to analyze
this._frameInterval = 5; // seconds between video frames
}
@@ -118,7 +118,7 @@ class MediaModule {
}
// Send features to text model for AI interpretation
- this.terminal.print('\nšŸ¤– AI interpretation (deepseek-v4-flash)...', 'info');
+ this.terminal.print('\nšŸ¤– AI interpretation (deepseek-v4.1-flash)...', 'info');
const prompt = `Analyze these audio features and describe what the audio likely sounds like. Consider the genre, mood, and characteristics:
Duration: ${features.duration.toFixed(1)}s
diff --git a/modules/ext/webdav.js b/modules/ext/webdav.js
index a97a8bc..fa42b96 100644
--- a/modules/ext/webdav.js
+++ b/modules/ext/webdav.js
@@ -976,12 +976,20 @@ class WebDAVModule {
};
const mount = document.getElementById('wdav-tg-mount');
// A Telegram widget cannot log anyone in inside an Android WebView or an in-app
- // browser: it needs a popup that can postMessage back to the opener, and those hosts
- // hand the link to the system browser, which has no opener. Measured 2026-11-02 (the
- // operator's phone UA ends "...; wv)"): every attempt landed in Chrome and died there.
- // In that case skip the widget entirely and start the code flow, which needs no popup.
- const _tgWV = /;\s*wv\)/.test(navigator.userAgent || '') ||
- /\bTelegram\b/i.test(navigator.userAgent || '');
+ // browser: tapping it hands the whole tab to oauth.telegram.org and must come back to
+ // this page with #tgAuthResult. Those hosts either hand the navigation to the system
+ // browser (no way back) or never return. Measured 2026-11-03, operator's phone.
+ // Fallback only: modules/wx11-tg-webview.js is the source of truth when the host page
+ // loaded it (the dashboard does). This inline copy missed "Version/4.0" WebViews — the
+ // operator's own phone — until 2026-11-03, and the Meta/Line classes until the review
+ // that followed. Probe: /tg-widget-test.html.
+ const _ua = navigator.userAgent || '';
+ const _tgWV = (window.WX11TG && window.WX11TG.isWebView)
+ ? window.WX11TG.isWebView()
+ : (/;\s*wv\)/.test(_ua) ||
+ (/\bVersion\/4\.0\b/.test(_ua) && /Android/i.test(_ua) && !/\bSamsungBrowser\b/.test(_ua)) ||
+ /\bTelegram\b/i.test(_ua) ||
+ /\bFBAN\b|\bFBAV\b|\bInstagram\b|\bLine\//i.test(_ua));
const tw = document.createElement('script');
tw.src = 'https://telegram.org/js/telegram-widget.js?22';
tw.setAttribute('data-telegram-login', 'roducbot');