2 Commits

Author SHA1 Message Date
b-dev-mobile c7af5f7d11 chore: версия 0.5.136 (144)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:44:31 +00:00
b-dev-mobile 2ec2115be7 fix(files): .md теперь реально открывается; whiteboard без ложного таймаута
- .md/.txt не открывались: их не было в openable-гейте FilesScreen
  (тап игнорировался). Добавил MarkdownFiles.isMarkdown в гейт → нативный
  редактор открывается.
- .whiteboard ловил «Редактор не ответил вовремя»: editorVisible ставил
  только Collabora-JS-мост, которого у whiteboard нет → всегда таймаут.
  Теперь для web-файлов (collaboraBaseUrl пуст) готовность = onPageFinished,
  таймаут не срабатывает; страница доски догружается (WebView уже с
  cookies/DOM-storage/mixed-content/websocket).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:44:11 +00:00
3 changed files with 9 additions and 2 deletions
+2 -2
View File
@@ -39,8 +39,8 @@ android {
applicationId 'ru.forbion.f7cloud.mobile' applicationId 'ru.forbion.f7cloud.mobile'
minSdk 26 minSdk 26
targetSdk 36 targetSdk 36
versionCode 143 versionCode 144
versionName '0.5.135' versionName '0.5.136'
missingDimensionStrategy 'default', 'f7' missingDimensionStrategy 'default', 'f7'
multiDexEnabled true multiDexEnabled true
@@ -347,6 +347,12 @@ class OfficeEditorActivity : ComponentActivity() {
onPageReady = { view -> onPageReady = { view ->
runOnUiThread { runOnUiThread {
view?.evaluateJavascript(HIDE_F7CLOUD_CHROME_JS, null) view?.evaluateJavascript(HIDE_F7CLOUD_CHROME_JS, null)
// Web-файлы (whiteboard и пр.): Collabora-JS-моста нет, готовность = загрузка
// страницы. Иначе всегда срабатывал таймаут «редактор не ответил вовремя».
if (launch.collaboraBaseUrl.isBlank()) {
editorVisible = true
loadError = null
}
} }
}, },
) )
@@ -245,6 +245,7 @@ fun FilesScreen(
val openable = !item.isDirectory && val openable = !item.isDirectory &&
( (
OfficeFiles.isOfficeFile(item.name) || OfficeFiles.isOfficeFile(item.name) ||
MarkdownFiles.isMarkdown(item.name) ||
WebOpenableFiles.isWebOpenable(item.name) || WebOpenableFiles.isWebOpenable(item.name) ||
OpenableFiles.isOpenable(item.name) OpenableFiles.isOpenable(item.name)
) )