feat: 全 App UI 重做與第二稱號整合 - #135
Conversation
|
@Qing-Novel 新首頁與第二牌子測試包已準備好,麻煩協助實機測試,謝謝! 版本 1.28.6-home.1+104:
這次包含新版首頁、「勳章與稱號」共同入口,以及首頁/個人資料/帖子作者區的第二牌子。請確認牌子是否對應正確使用者、切换帳號是否殘留,以及直橫屏、窄視窗、導讀和各入口是否正常。他人個人資料頁只有論壇提供稱號標記時才會顯示,這部分仍需實際頁面確認。 自動測試與建置通過,三個 APK 已核對正式簽章;尚未進行實機功能驗收,PR 維持 draft。Windows 兩份程式共用帳號與設定,請從托盤完全退出原版再開測試版。商店測試可停在購買確認畫面,不必實際消費。回報請附平台、版本、步驟和截圖。 |
目前测了一下第2牌子在帖子页面点击用户头像出来的那个菜单里看不到,其他地方都能够看到。 |
|
之前说的那些老版本就有的safe area问题还是存在的。 |
|
@Qing-Novel 全 App UI 預覽版 1.28.6-ui.3+107 已備妥,麻煩協助實機測試,謝謝!請改用這版,舊的 104 是只有首頁改版的版本。 這次包含全 App 頁面與彈窗改版、分組側欄、首頁每日紅包入口、放大的第二牌子,以及桌面版塊卡片與內容區放大。請確認主要操作和返回、手機直橫屏/大字/鍵盤、通知未讀數、切換帳號後的稱號,以及帖子作者彈窗。你先前提到的 safe area 現象也請用 107 再確認;若仍存在,請附頁面、手機型號、系統版本、重現步驟和截圖,這邊尚未完成實機驗收,不先宣稱已修好。 本機完整測試 1,653 通過/1 略過,嚴格分析及 CI 通過;Android 原生測試 49 項通過,三個 APK 已核對版本與原簽章。Windows 兩份程式共用帳號/設定,請從托盤完全退出舊版再啟動測試版。交易流程可以停在確認畫面,不必實際消費。PR 仍維持 draft,未合併正式版。 |
|
@Qing-Novel 子版塊更新預覽 1.28.6-ui.5+109 已備妥,請用 Android APK 協助測試,謝謝! 這版將桌面的大卡排版補到子版塊頁籤與分組頁;Android 手機直向、橫向都維持手機卡片大小,不套桌面尺寸。也修正只有子版塊、沒有帖子時自動切換頁籤引發的畫面更新錯誤。 請協助確認:進入子版塊、切換置頂/帖子/子版塊頁籤、返回及重新整理;手機直橫向、放大字體、瀏海及系統導覽列安全區。先前提過的 safe area 問題仍需實機確認,若還有請附頁面、裝置/系統版本、步驟和截圖。 此版仍為預覽,PR135 保持 draft,尚未合併正式版。自動測試與套件驗證完成後交付,未宣稱已完成 Android 實機驗收;不必進行真實交易或發帖。 請另外逐項回覆先前回報的三項:點帖子作者頭像後的彈窗是否顯示第二牌子;首頁重新整理時是否還出現舊活動中心入口;safe area 遮擋是否仍存在。前兩項新版已有對應調整,但仍需你的實機確認;safe area 尚未確認解決。 |
|
小屏幕首页称号右侧有点空;红包的文字有点多,可以缩到一行;点击红包按键后居然触发了全局刷新 petal_20260928_104511.mp4 |
|
@Qing-Novel 感謝回報,preview110(1.28.6-ui.6+110)已提供Android測試包,請重測以下項目:
請涵蓋手機直向/橫向、2倍字級、左右安全區、鍵盤及返回導航。Android/iOS即使寬橫屏也保持手機卡片,不使用桌面大卡。 本機完整1716項測試通過、1項略過,相關頁面72項通過;APK版本/原簽章、Windows版本及4項資產雜湊均已核對,Android原生測試49項通過。這些是自動驗證,尚未實機驗收。PR仍draft,沒有合併或發布正式版。 |
…, even author badges Feedback on preview 110 and issue #139: - The expanded reply editor was limited to the Material 3 default of 640dp, so in landscape the collapsed bar showed beside it as a second reply box; the sheet now spans the page. The grip above the editor duplicated the collapse button and is removed. - The homepage shows "checked in" once this app recorded a check-in of the account today (CheckinStatusRequested reads the cookie table), and "claimed" once it recorded a claim of the daily red packet today (dailyRedPacketClaimed.<uid> holds the dateflag). Only the app's own actions are recorded; a packet on the page always wins. - The user group badge and the secondary title of a floor author are the same height in the floor (32dp) and in the author dialog (72dp); the profile page centres the title like the group badge. Refs #135 Refs #139 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Give every badge group one display height (32 in a floor author row, 64 in profile pages and the author dialog), cap the secondary title to the room actually available so narrow windows wrap instead of overflowing, and show the profile page group badge at the title height.
|
@Qing-Novel preview112(1.28.6-ui.8+112)已備妥,請改用這版(取代 111): 在 111 的基礎上新增:
仍請確認 111 的三項:橫屏編輯器、首頁已簽到/已領紅包、牌子。三個 APK 版本碼 1122/1123/1129、簽章與正式版相同已核對;本機完整測試 1741 項通過、1 項略過。以上為自動驗證,尚未實機驗收。PR 仍為 draft。 |
The dialog keeps at most 30% of the window height for its title. Stacked, the avatar, the name and the uid/online pills need more than that on a phone in landscape, so the pills were cut at the first section header. Lay the avatar and the name with its pills out in one row when that room is not enough, and cover both landscape sizes with a regression test.
横屏卡片会把uid与在线状态错误裁掉,已在 #142 修复
|
fix: 横屏下作者卡片不再裁掉 UID 与在线状态
Feedback on preview 111/112: - A landscape phone is not a wide window: the homepage keeps the compact layout on Android and iOS at any width (homeLayoutFor, the same rule as the forum lists), so the greeting card no longer grows a 240dp title badge nor stacks the day's actions in ragged rows. - The theme mode switch of the settings page sits at the end of its row, in one line with the title, instead of below the text. Refs #135 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
@Qing-Novel preview113(1.28.6-ui.9+113)已備妥,請改用這版(取代 112): 針對你 112 的回報:
其餘 112 項目(牌子、帖子內容縮放、Windows Esc/側鍵)若尚未測也請一併確認。APK 版本碼 1132/1133/1139、簽章與正式版相同已核對;本機完整測試 1747 項通過、1 項略過。以上為自動驗證,尚未實機驗收。PR 仍為 draft。 |
|
其他的没问题了。 |
… finished refresh indicator Feedback on preview 113: - The greeting card of a phone in landscape shows check-in, red packet, activities and medals on one row when they fit. - The thread title starts at the left at any length: the centred column gave a short title its intrinsic width, so it looked centred while a long one wrapped from the left. - The thread list finishes its refresh indicator on rebuild; it was never finished (controlFinishRefresh without finishRefresh), which is the likely source of the reported blank above the title. Also records the UI rework itself in the changelog. Refs #135 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
已合併並發布正式版 v1.29.0+114:https://github.com/Carinoasd/tsdm_client/releases/tag/v1.29.0 (Android 三種 APK、Windows、macOS、Linux、iOS 均由 CI 建置)。preview113 之後又修了三點:首頁橫屏四個按鈕排成一行、帖子標題一律靠左、下拉更新後正確結束更新指示器(回報的標題上方空白疑似由此造成,測試環境未能重現,請 @Qing-Novel 用正式版確認)。側欄「我的/稱號商店」間距這次未調整。感謝 @Qing-Novel 與 @Dear-moon 的測試與貢獻。 |
标题上方留白跟刷新无关,直接打开帖子就有 |
|
@Qing-Novel 1.29.1 測試版 1(1.29.1-pre.1+115)已備妥,可覆蓋安裝在 1.29.0 上: 你回報「直接打開帖子就有標題上方留白」是對的,跟下拉更新無關。真因是帖子內容縮放層把狀態列的安全區重複加回正文,所以螢幕越小越明顯(PR #144)。請在原本的手機和平板上首次打開短標題與長標題的帖子,確認標題緊接頂欄;再試橫屏、放大字體與下拉更新。 另外這版也包含:首頁桌面版稱號牌子改回 184px 原圖尺寸,不再模糊;「贊助與功能許願」改名為「支援開發與功能許願」(PR #143)。 APK 版本碼 1152/1153/1159、簽章與正式版相同已核對。以上為自動驗證,尚未實機驗收;截圖中中文字上半部被截的像素表現也還沒在 Android 實機重現,請一併留意。 |
|
平板没问题 |
|
主要是跟随系统这块的标题变成竖排的了,还是首页那几个按键,最后两个按键也可以排成一排,还有就是更改的赞助的这个标题变长了,之后就会出现这种问题了,如果是以前那个短标题的话就不会有这个问题。 |
[debug] | 22:14:39 681ms | ------------------- start app -------------------
[debug] | 22:14:39 702ms | window event: flutterViewLayout flutter view 720x1600 visibility=0 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:14:39 710ms | window event: surfaceCreated multiWindow=false window 720x1600 display 720x1600
[debug] | 22:14:39 711ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:14:39 719ms | connect to database
[debug] | 22:14:39 720ms | init database file at /data/user/0/com.tsdm.tsdm_client/files/db/mainV2.db
[debug] | 22:14:39 736ms | load cookie from database with login user uid: ****734
[debug] | 22:14:39 737ms | build client without stored cookie
[debug] | 22:14:39 740ms | deleted legacy local notification channel newNoticeChannel
[info] | 22:14:39 740ms | app launched from local notification: payload=openNotification
[info] | 22:14:39 741ms | boot notification permission granted=true
[info] | 22:14:39 746ms | boot background sync service: running
[info] | 22:14:39 748ms | AutoNotificationCubit: start auto fetch with duration 0:01:00.000000
[debug] | 22:14:39 749ms | InitCubit: deleting outdated image, outdateTime=2026-09-22 22:14:39.749607
[info] | 22:14:39 770ms | _HomePageState: notification tap: action=openNoticePage top=/homepage location=null
[info] | 22:14:39 771ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:14:39 771ms | NotificationBloc: skip reload notification from storage: uid is null, not authorized
[debug] | 22:14:39 772ms | InitCubit: deleted outdated image cache count 0
[info] | 22:14:39 773ms | SettingsDao: failed to get value by name "checkInFeeling": value not exists
[debug] | 22:14:39 773ms | AutoCheckinRepository: run auto checkin for uid ****734
[info] | 22:14:39 774ms | CookieProvider: load cookie from database with given uid: ****734
[debug] | 22:14:39 774ms | CookieProvider: cookie switch to user UserLoginInfo{ username=******, uid=****734,
[debug] | 22:14:39 774ms | build client without stored cookie
[debug] | 22:14:39 827ms | RootLocationCubit: enter page /notice
[debug] | 22:14:39 828ms | ForumHomeRepository: fetch home page
[debug] | 22:14:39 828ms | build client with cookie
[debug] | 22:14:39 828ms | ProfileRepository: fetch profile page
[debug] | 22:14:39 828ms | build client with cookie
[debug] | 22:14:39 829ms | RootLocationCubit: enter page /homepage
[debug] | 22:14:39 840ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:39 854ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:40 766ms | build client with cookie
[error] | 22:14:41 159ms | check in failed: already checked in today
[debug] | 22:14:41 668ms | ForumHomeRepository: use fetched home page
[debug] | 22:14:41 669ms | CookieProvider: save authed cookie to storage
[debug] | 22:14:41 681ms | AuthenticationRepository: save logged user info: UserLoginInfo{ username=******, uid=****734,
[debug] | 22:14:41 703ms | CookieProvider: update user info: UserLoginInfo{ username=******, uid=****734,
[debug] | 22:14:41 704ms | CookieProvider: complete user info updated, sync cookie
[debug] | 22:14:41 715ms | AuthenticationRepository: login with document: user UserLoginInfo{ username=******, uid=****734,
[debug] | 22:14:41 716ms | homepage swiper block not found, skip
[debug] | 22:14:41 720ms | NotificationBloc: updating all notifications...
[info] | 22:14:41 720ms | AutoNotificationCubit: stop auto fetch with duration 0:01:00.000000
[info] | 22:14:41 721ms | AutoNotificationCubit: start auto fetch with duration 0:01:00.000000
[debug] | 22:14:41 725ms | build client with cookie
[debug] | 22:14:41 729ms | build client with cookie
[debug] | 22:14:41 789ms | NotificationBloc: fetch notification since 2026-09-29 22:13:00
[debug] | 22:14:41 789ms | build client with cookie
[info] | 22:14:41 794ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[debug] | 22:14:42 181ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:14:42 181ms | NotificationBloc: reload notification from storage, skipped because already loading
[debug] | 22:14:43 173ms | AutoCheckinRepository: run auto checkin for uid ****419
[info] | 22:14:43 175ms | CookieProvider: load cookie from database with given uid: ****419
[debug] | 22:14:43 180ms | CookieProvider: cookie switch to user UserLoginInfo{ username=********用, uid=****419,
[debug] | 22:14:43 181ms | build client without stored cookie
[debug] | 22:14:43 917ms | NotificationRepository: fetched notification since 1790691180: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:14:43.000Z
[info] | 22:14:44 20ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:14:44 20ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:14:44 20ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:14:44 55ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:14:44 89ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:14:44 121ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:14:44 640ms | _AppState: app lifecycle: inactive
[debug] | 22:14:45 193ms | _AppState: app lifecycle: resumed
[debug] | 22:14:45 194ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:45 197ms | auto sync notification in shade: false
[info] | 22:14:46 583ms | AutoNotificationCubit: stop auto fetch with duration 0:01:00.000000
[info] | 22:14:46 583ms | AutoNotificationCubit: start auto fetch with duration 0:01:00.000000
[info] | 22:14:46 653ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:14:47 561ms | RootLocationCubit: leave page /notice
[error] | 22:14:47 630ms | check in failed: already checked in today
[debug] | 22:14:49 639ms | AutoCheckinRepository: run auto checkin for uid ****506
[info] | 22:14:49 640ms | CookieProvider: load cookie from database with given uid: ****506
[debug] | 22:14:49 640ms | CookieProvider: cookie switch to user UserLoginInfo{ username=********, uid=****506,
[debug] | 22:14:49 641ms | build client without stored cookie
[exception] | 22:14:51 175ms | [KtHttp] GET failed on https://raw.githubusercontent.com/Carinoasd/tsdm_client/master/version.json
PlatformException(KT_HTTP_ERROR, failed to perform http GET, timeout, null)
StackTrace: #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653)
#1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:366)
<asynchronous suspension>
#2 _AndroidHttpMethodChannel._get (package:tsdm_client/shared/providers/net_client_provider/net_client_provider_android.dart:24)
<asynchronous suspension>
#3 KotlinHttpClient._get (package:tsdm_client/shared/providers/net_client_provider/net_client_provider_android.dart:136)
<asynchronous suspension>
#4 KotlinHttpClientAdapter.fetch (package:tsdm_client/shared/providers/net_client_provider/net_client_provider_android.dart:202)
<asynchronous suspension>
#5 CancelableCompleter.complete.<anonymous closure> (package:async/src/cancelable_operation.dart:433)
<asynchronous suspension>
[error] | 22:14:51 179ms | _ErrorHandler: https://raw.githubusercontent.com/Carinoasd/tsdm_client/master/version.json DioExceptionType.unknown: error: ClientException: null raw response, status code: null
[error] | 22:14:51 184ms | UpdateCubit: failed to check latest version: HttpHandshakeFailedException(message: <unknown error>, statusCode: null, headers: null, stackTrace: #0 new AppException (package:tsdm_client/exceptions/exceptions.dart:78)
#1 new _MixinApplication422&AppException&HttpHandshakeFailedExceptionMappable (package:tsdm_client/exceptions/exceptions.dart)
#2 new HttpHandshakeFailedException (package:tsdm_client/exceptions/exceptions.dart:122)
#3 mapException (package:tsdm_client/shared/providers/net_client_provider/net_client_provider.dart:38)
#4 new TaskEither.tryCatch.<anonymous closure> (package:fpdart/src/task_either.dart:286)
<asynchronous suspension>
#5 TaskEither.flatMap.<anonymous closure>.<anonymous closure> (package:fpdart/src/task_either.dart:61)
<asynchronous suspension>
#6 FPFutureExt.handle (package:tsdm_client/exceptions/exceptions.dart:41)
<asynchronous suspension>
#7 UpdateCubit.checkUpdate (package:tsdm_client/features/update/cubit/update_cubit.dart:48)
<asynchronous suspension>
)
[error] | 22:14:51 185ms | _RootSingletonState: failed to check update state
[error] | 22:14:52 115ms | check in failed: already checked in today
[debug] | 22:14:53 335ms | window event: configurationChanged screen 711x320dp orientation=2 density=360 multiWindow=false window 720x1600 display 1600x720
[debug] | 22:14:53 344ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:53 347ms | _AppState: metrics changed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:53 351ms | window event: surfaceChanged surface 1600x720 multiWindow=false window 1600x720 display 1600x720
[debug] | 22:14:53 353ms | window event: flutterViewLayout flutter view 1600x720 visibility=0 multiWindow=false window 1600x720 display 1600x720
[debug] | 22:14:53 378ms | _AppState: frame painted: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:53 378ms | _AppState: frame painted: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[info] | 22:14:53 379ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[info] | 22:14:53 451ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[debug] | 22:14:53 451ms | _AppState: app lifecycle: inactive
[debug] | 22:14:53 497ms | _AppState: app lifecycle: resumed
[debug] | 22:14:53 498ms | _AppState: resumed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:53 501ms | auto sync notification in shade: false
[debug] | 22:14:54 132ms | AutoCheckinRepository: run auto checkin for uid ****353
[info] | 22:14:54 133ms | CookieProvider: load cookie from database with given uid: ****353
[debug] | 22:14:54 134ms | CookieProvider: cookie switch to user UserLoginInfo{ username=*****, uid=****353,
[debug] | 22:14:54 134ms | build client without stored cookie
[error] | 22:14:55 220ms | check in failed: already checked in today
[debug] | 22:14:55 947ms | window event: configurationChanged screen 320x711dp orientation=1 density=360 multiWindow=false window 1600x720 display 720x1600
[debug] | 22:14:55 962ms | _AppState: metrics changed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:55 964ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:55 968ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:14:55 970ms | window event: flutterViewLayout flutter view 720x1600 visibility=0 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:14:55 995ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:55 995ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[info] | 22:14:55 996ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[debug] | 22:14:56 32ms | _AppState: app lifecycle: inactive
[debug] | 22:14:56 121ms | _AppState: app lifecycle: resumed
[debug] | 22:14:56 121ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:14:56 123ms | auto sync notification in shade: false
[debug] | 22:14:57 231ms | AutoCheckinRepository: run auto checkin for uid ****356
[info] | 22:14:57 232ms | CookieProvider: load cookie from database with given uid: ****356
[debug] | 22:14:57 232ms | CookieProvider: cookie switch to user UserLoginInfo{ username=*******, uid=****356,
[debug] | 22:14:57 233ms | build client without stored cookie
[error] | 22:14:58 899ms | check in failed: already checked in today
[debug] | 22:15:00 908ms | AutoCheckinRepository: run auto checkin for uid ****358
[info] | 22:15:00 909ms | CookieProvider: load cookie from database with given uid: ****358
[debug] | 22:15:00 909ms | CookieProvider: cookie switch to user UserLoginInfo{ username=******, uid=****358,
[debug] | 22:15:00 909ms | build client without stored cookie
[error] | 22:15:01 698ms | check in failed: already checked in today
[debug] | 22:15:03 711ms | AutoCheckinRepository: run auto checkin for uid ****360
[info] | 22:15:03 712ms | CookieProvider: load cookie from database with given uid: ****360
[debug] | 22:15:03 712ms | CookieProvider: cookie switch to user UserLoginInfo{ username=******, uid=****360,
[debug] | 22:15:03 712ms | build client without stored cookie
[error] | 22:15:04 397ms | check in failed: already checked in today
[debug] | 22:15:06 314ms | RootLocationCubit: enter page /settings
[debug] | 22:15:06 319ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:06 409ms | AutoCheckinRepository: run auto checkin for uid ****362
[info] | 22:15:06 409ms | CookieProvider: load cookie from database with given uid: ****362
[debug] | 22:15:06 409ms | CookieProvider: cookie switch to user UserLoginInfo{ username=*****, uid=****362,
[debug] | 22:15:06 409ms | build client without stored cookie
[error] | 22:15:07 324ms | check in failed: already checked in today
[debug] | 22:15:09 333ms | AutoCheckinRepository: run auto checkin for uid ****363
[info] | 22:15:09 334ms | CookieProvider: load cookie from database with given uid: ****363
[debug] | 22:15:09 334ms | CookieProvider: cookie switch to user UserLoginInfo{ username=*******, uid=****363,
[debug] | 22:15:09 335ms | build client without stored cookie
[error] | 22:15:10 775ms | check in failed: already checked in today
[debug] | 22:15:12 787ms | AutoCheckinRepository: run auto checkin for uid ****364
[info] | 22:15:12 789ms | CookieProvider: load cookie from database with given uid: ****364
[debug] | 22:15:12 789ms | CookieProvider: cookie switch to user UserLoginInfo{ username=******, uid=****364,
[debug] | 22:15:12 791ms | build client without stored cookie
[debug] | 22:15:13 138ms | RootLocationCubit: enter page /dialog/textScalePicker
[error] | 22:15:13 546ms | check in failed: already checked in today
[debug] | 22:15:15 553ms | AutoCheckinRepository: run auto checkin for uid ****365
[info] | 22:15:15 555ms | CookieProvider: load cookie from database with given uid: ****365
[debug] | 22:15:15 557ms | CookieProvider: cookie switch to user UserLoginInfo{ username=******, uid=****365,
[debug] | 22:15:15 559ms | build client without stored cookie
[debug] | 22:15:16 432ms | SettingsBloc: settings value changed: textScaleFactor<double>: 0.9
[debug] | 22:15:16 782ms | RootLocationCubit: leave page /dialog/textScalePicker
[error] | 22:15:17 65ms | check in failed: already checked in today
[debug] | 22:15:17 74ms | auto checkin finished: succeeded=0 failed=11
[debug] | 22:15:22 598ms | RootLocationCubit: enter page /dialog/textScalePicker
[debug] | 22:15:23 919ms | SettingsBloc: settings value changed: textScaleFactor<double>: 1.0
[debug] | 22:15:24 285ms | RootLocationCubit: leave page /dialog/textScalePicker
[debug] | 22:15:25 300ms | RootLocationCubit: enter page /autoCheckinDetail
[debug] | 22:15:26 310ms | RootLocationCubit: leave page /autoCheckinDetail
[debug] | 22:15:31 357ms | _AppState: app lifecycle: inactive
[debug] | 22:15:32 834ms | _AppState: app lifecycle: resumed
[debug] | 22:15:32 835ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:32 841ms | auto sync notification in shade: false
[debug] | 22:15:32 843ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:32 893ms | RootLocationCubit: enter page /topic
[debug] | 22:15:32 894ms | ForumHomeRepository: fetch home page
[debug] | 22:15:32 894ms | ForumHomeRepository: use cached home page
[debug] | 22:15:32 907ms | TopicsBloc: forum index parsed: 9 groups [我收藏的版块, 天使·后花园, 天使·综合区, 天使·分享区, 天使·休闲区, 天使·动漫讨论区, 天使·工作组, 天使·美工部, 天使·事务区], favorite forums (4, 326, 262, 30, 182), favorites panel in page: true
[debug] | 22:15:36 866ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:15:36 919ms | NotificationBloc: reload notification from storage: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:15:36 963ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:15:38 559ms | _AppState: app lifecycle: inactive
[debug] | 22:15:39 945ms | _AppState: app lifecycle: resumed
[debug] | 22:15:39 946ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:39 949ms | auto sync notification in shade: false
[debug] | 22:15:39 951ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:41 629ms | _AppState: app lifecycle: inactive
[debug] | 22:15:42 597ms | _AppState: app lifecycle: resumed
[debug] | 22:15:42 598ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:42 602ms | auto sync notification in shade: false
[debug] | 22:15:42 604ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:44 363ms | _AppState: app lifecycle: inactive
[debug] | 22:15:45 448ms | _AppState: app lifecycle: resumed
[debug] | 22:15:45 448ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:45 451ms | auto sync notification in shade: false
[debug] | 22:15:45 452ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:46 585ms | AutoNotificationCubit: running auto fetch...
[debug] | 22:15:46 588ms | AutoNotificationCubit: auto fetch since 1790691240
[debug] | 22:15:46 589ms | build client with cookie
[debug] | 22:15:48 70ms | NotificationRepository: fetched notification since 1790691240: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:15:47.000Z
[debug] | 22:15:48 70ms | AutoNotificationCubit: auto fetch finished with data
[debug] | 22:15:48 70ms | AutoNotificationCubit: update last fetch notification time to 2026-09-29 22:14:00 (server clock)
[info] | 22:15:48 131ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:15:48 131ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:15:48 132ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:15:48 201ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:15:48 202ms | _AppState: app lifecycle: inactive
[debug] | 22:15:48 257ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:15:48 327ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:15:49 277ms | _AppState: app lifecycle: resumed
[debug] | 22:15:49 277ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:49 279ms | auto sync notification in shade: false
[debug] | 22:15:49 281ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:15:49 727ms | _AppState: app lifecycle: inactive
[debug] | 22:15:50 238ms | window event: surfaceDestroyed multiWindow=false window 720x1600 display 720x1600
[debug] | 22:15:50 255ms | _AppState: app lifecycle: hidden
[debug] | 22:15:50 255ms | _AppState: app lifecycle: paused
[debug] | 22:15:58 453ms | _AppState: app lifecycle: hidden
[debug] | 22:15:58 453ms | _AppState: app lifecycle: inactive
[debug] | 22:15:58 467ms | window event: surfaceCreated multiWindow=false window 720x1600 display 720x1600
[debug] | 22:15:58 469ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:15:58 523ms | _AppState: app lifecycle: resumed
[debug] | 22:15:58 524ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:15:58 533ms | auto sync notification in shade: false
[debug] | 22:15:58 537ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:16:01 664ms | RootLocationCubit: enter page /about
[debug] | 22:16:03 735ms | _AppState: app lifecycle: inactive
[debug] | 22:16:04 427ms | window event: surfaceDestroyed multiWindow=false window 720x1600 display 720x1600
[debug] | 22:16:04 445ms | _AppState: app lifecycle: hidden
[debug] | 22:16:04 446ms | _AppState: app lifecycle: paused
[debug] | 22:16:35 445ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:16:35 483ms | NotificationBloc: reload notification from storage: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:16:35 526ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:16:47 589ms | AutoNotificationCubit: running auto fetch...
[debug] | 22:16:47 595ms | AutoNotificationCubit: auto fetch since 1790691300
[debug] | 22:16:47 596ms | build client with cookie
[debug] | 22:16:48 938ms | NotificationRepository: fetched notification since 1790691300: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:16:48.000Z
[debug] | 22:16:48 938ms | AutoNotificationCubit: auto fetch finished with data
[debug] | 22:16:48 938ms | AutoNotificationCubit: update last fetch notification time to 2026-09-29 22:15:00 (server clock)
[info] | 22:16:49 4ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:16:49 5ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:16:49 5ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:16:49 44ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:16:49 82ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:16:49 131ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:17:36 551ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:17:36 594ms | NotificationBloc: reload notification from storage: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:17:36 649ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:17:48 585ms | AutoNotificationCubit: running auto fetch...
[debug] | 22:17:48 588ms | AutoNotificationCubit: auto fetch since 1790691360
[debug] | 22:17:48 589ms | build client with cookie
[debug] | 22:17:51 70ms | NotificationRepository: fetched notification since 1790691360: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:17:49.000Z
[debug] | 22:17:51 70ms | AutoNotificationCubit: auto fetch finished with data
[debug] | 22:17:51 71ms | AutoNotificationCubit: update last fetch notification time to 2026-09-29 22:16:00 (server clock)
[info] | 22:17:51 126ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:17:51 126ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:17:51 126ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:17:51 160ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:17:51 203ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:17:51 249ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:18:03 207ms | _AppState: app lifecycle: hidden
[debug] | 22:18:03 208ms | _AppState: app lifecycle: inactive
[debug] | 22:18:03 214ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=289.8 padding(t/b)=48.0/0.0
[debug] | 22:18:03 235ms | window event: surfaceCreated multiWindow=false window 720x1600 display 720x1600
[debug] | 22:18:03 235ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:18:03 253ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=289.8 padding(t/b)=48.0/0.0
[debug] | 22:18:03 285ms | _AppState: app lifecycle: resumed
[debug] | 22:18:03 285ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=289.8 padding(t/b)=48.0/0.0
[debug] | 22:18:03 288ms | auto sync notification in shade: false
[debug] | 22:18:03 290ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:18:03 303ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:03 327ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 437ms | window event: configurationChanged screen 711x320dp orientation=2 density=360 multiWindow=false window 720x1600 display 1600x720
[debug] | 22:18:05 449ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 452ms | _AppState: metrics changed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 455ms | window event: surfaceChanged surface 1600x720 multiWindow=false window 1600x720 display 1600x720
[debug] | 22:18:05 457ms | window event: flutterViewLayout flutter view 1600x720 visibility=0 multiWindow=false window 1600x720 display 1600x720
[debug] | 22:18:05 495ms | _AppState: frame painted: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 495ms | _AppState: frame painted: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 499ms | _AppState: app lifecycle: inactive
[debug] | 22:18:05 601ms | _AppState: app lifecycle: resumed
[debug] | 22:18:05 602ms | _AppState: resumed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:05 609ms | auto sync notification in shade: false
[debug] | 22:18:05 617ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[info] | 22:18:06 196ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[debug] | 22:18:06 628ms | RootLocationCubit: leave page /about
[debug] | 22:18:13 457ms | build client with cookie
[debug] | 22:18:13 467ms | RootLocationCubit: enter page /titleShop
[debug] | 22:18:13 467ms | build client with cookie
[debug] | 22:18:15 16ms | RootLocationCubit: leave page /titleShop
[debug] | 22:18:22 974ms | window event: configurationChanged screen 320x711dp orientation=1 density=360 multiWindow=false window 1600x720 display 720x1600
[debug] | 22:18:22 991ms | _AppState: metrics changed: view metrics: physical 1600x720 dpr=2.25 logical 711.1x320.0 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:22 995ms | _AppState: metrics changed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:22 996ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:18:22 997ms | window event: flutterViewLayout flutter view 720x1600 visibility=0 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:18:23 57ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:23 57ms | _AppState: frame painted: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[info] | 22:18:23 59ms | SettingsDao: failed to get value by name "dailyRedPacketClaimed.1889734": value not exists
[debug] | 22:18:23 59ms | _AppState: app lifecycle: inactive
[debug] | 22:18:23 144ms | _AppState: app lifecycle: resumed
[debug] | 22:18:23 144ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:23 148ms | auto sync notification in shade: false
[debug] | 22:18:23 150ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:18:27 17ms | _AppState: app lifecycle: inactive
[debug] | 22:18:27 654ms | _AppState: app lifecycle: resumed
[debug] | 22:18:27 655ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:27 659ms | auto sync notification in shade: false
[debug] | 22:18:27 664ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:18:27 980ms | _AppState: app lifecycle: inactive
[debug] | 22:18:28 735ms | _AppState: app lifecycle: resumed
[debug] | 22:18:28 736ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:18:28 739ms | auto sync notification in shade: false
[debug] | 22:18:28 741ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:18:29 158ms | _AppState: app lifecycle: inactive
[debug] | 22:18:31 391ms | window event: surfaceDestroyed multiWindow=false window 720x1600 display 720x1600
[debug] | 22:18:31 411ms | _AppState: app lifecycle: hidden
[debug] | 22:18:31 412ms | _AppState: app lifecycle: paused
[debug] | 22:18:36 305ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:18:36 366ms | NotificationBloc: reload notification from storage: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:18:36 417ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:18:50 586ms | AutoNotificationCubit: running auto fetch...
[debug] | 22:18:50 589ms | AutoNotificationCubit: auto fetch since 1790691420
[debug] | 22:18:50 591ms | build client with cookie
[debug] | 22:18:53 535ms | NotificationRepository: fetched notification since 1790691420: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:18:51.000Z
[debug] | 22:18:53 535ms | AutoNotificationCubit: auto fetch finished with data
[debug] | 22:18:53 535ms | AutoNotificationCubit: update last fetch notification time to 2026-09-29 22:17:00 (server clock)
[info] | 22:18:53 595ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:18:53 596ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:18:53 596ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:18:53 629ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:18:53 663ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:18:53 700ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:19:35 32ms | BackgroundSyncBridgeCubit: background sync stored rows for the current account, reload the notification page
[debug] | 22:19:35 71ms | NotificationBloc: reload notification from storage: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:19:35 120ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:19:53 586ms | AutoNotificationCubit: running auto fetch...
[debug] | 22:19:53 588ms | AutoNotificationCubit: auto fetch since 1790691480
[debug] | 22:19:53 589ms | build client with cookie
[debug] | 22:19:55 270ms | NotificationRepository: fetched notification since 1790691480: notice=0 pm=0 bm=0 serverTime=2026-09-29T14:19:54.000Z
[debug] | 22:19:55 270ms | AutoNotificationCubit: auto fetch finished with data
[debug] | 22:19:55 270ms | AutoNotificationCubit: update last fetch notification time to 2026-09-29 22:18:00 (server clock)
[info] | 22:19:55 307ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:19:55 308ms | fresh notification: fetched(notice=0 pm=0 bm=0) -> current(notice=0 pm=0) -> fresh(notice=0 pm=0 bm=0)
[debug] | 22:19:55 309ms | saving notification: uid=****734 notice=0 personalMessage=0 broadcastMessage=0
[info] | 22:19:55 344ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:19:55 380ms | NotificationBloc: load local notification: notice=500 personalMessage=62 broadcastMessage=7
[info] | 22:19:55 416ms | SettingsDao: failed to get value by name "userBlockList.1889734": value not exists
[debug] | 22:19:59 665ms | _AppState: app lifecycle: hidden
[debug] | 22:19:59 666ms | _AppState: app lifecycle: inactive
[debug] | 22:19:59 692ms | window event: surfaceCreated multiWindow=false window 720x1600 display 720x1600
[debug] | 22:19:59 692ms | window event: surfaceChanged surface 720x1600 multiWindow=false window 720x1600 display 720x1600
[debug] | 22:19:59 741ms | _AppState: app lifecycle: resumed
[debug] | 22:19:59 741ms | _AppState: resumed: view metrics: physical 720x1600 dpr=2.25 logical 320.0x711.1 keyboard=0.0 padding(t/b)=48.0/24.0
[debug] | 22:19:59 747ms | auto sync notification in shade: false
[debug] | 22:19:59 749ms | AndroidPermissionCubit: refresh: notification=PermissionStatus.granted ignoreBattery=PermissionStatus.granted
[debug] | 22:20:04 830ms | RootLocationCubit: enter page /debugLog
|
|
其他的都好说,主要是跟随系统这块出了问题,我觉得可能是右边那三个按键它没有跟随页面成比例缩小导致的。 |
|
@Qing-Novel 已發正式版 v1.29.2: https://github.com/Carinoasd/tsdm_client/releases/tag/v1.29.2 . 修了你在 360dp 手機上回報的三點: 設定「主題模式」放不下時切換鈕會移到文字下方, 標題不再被擠成直排; 首頁「活動總覽」「勳章與稱號」固定排成一行; 「支援開發與功能許願」彈窗標題和 GitHub 按鈕保持單行. 另外也包含 #145 的底欄滑動切換. 麻煩用原本那支手機再看一次, 謝謝! |
没问题了 |
…le on one line Feedback on 1.29.1 from a 360dp phone: - The theme mode switch goes below the text when the title and the current mode do not fit beside it; the title was squeezed to one character per line. - Activities and medals share one row in both phone layouts of the greeting card; their labels shrink a little instead of wrapping. - The support dialog title, its GitHub button and the home support card title stay on one line (AppDialogTitle.singleLine). Refs Carinoasd#135 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
































全 App 沿用新版首頁設計,統一通知、聊天、帖子閱讀與編輯、個人資料、商店、銀行、社群、設定與帳號頁面,保留原有功能、自訂主題/字體及帳號隔離。
側欄提供首頁、版塊、活動、通知、我的,以及稱號商店、勳章中心、銀行、設定;首頁整合簽到、每日紅包及稱號入口。
Windows/macOS/Linux 在安全區可用寬度達1100px時,版塊、子版塊及分組頁使用最寬1520px雙欄大卡。Android/iOS任何寬度均維持手機卡片、圖片與字級。
修正Android回報的勳章/銀行下拉標籤、橫屏側欄及歷史篩選安全區、帖子/私聊/通知詳情回覆列與編輯器背景和安全留白,以及設定圖示對齊。
未讀篩選移至通知頂欄;首頁載入時不再閃現舊活動按鈕。手機稱號與紅包文字依可用空間排列;紅包重新檢查只更新紅包狀態,不使整頁進入載入畫面。
作者稱號解析支援稱號區塊內被連結包裹的圖片;作者彈窗優先使用樓層資料,只有作者UID與已驗證登入帳號相同時才允許本帳號稱號補充。測試覆蓋彈窗開啟期間換帳號及遲到回應,不將其他帳號稱號套給作者。
preview111(回饋110第二輪與 【建议】回复界面按键重复 #139):展開的回覆編輯器改為貫穿整頁,橫屏不再露出底部回覆框變成兩個輸入框;移除與「收起」按鈕重複的拖動條。首頁簽到在本 App 記錄到當天已簽到後顯示「已簽到」,紅包在本 App 記錄到當天已領取後顯示「紅包已領取」(只記錄 App 自己的操作,頁面有紅包時以頁面為準)。樓層作者的用戶組牌子與第二牌子同高,作者彈窗兩枚牌子同高,個人資料頁稱號置中。
preview112:合入 fix: cap badge widths to the available room and match badge heights #141(Dear-moon,牌子高度統一、寬度封頂)、貼文內容縮放設定與桌面端 Esc/滑鼠返回鍵(#137、#138) #140(【反馈】win端的帖子界面请求优化 #137 帖子內容縮放設定、【建议】win端添加一个后退的按键 #138 桌面 Esc/滑鼠側鍵返回)。
preview113:首頁在 Android/iOS 任何寬度維持手機排版(橫屏不再放大稱號牌子);設定「主題模式」切換鈕移到同一行;合入 fix: 横屏下作者卡片不再裁掉 UID 与在线状态 #142(Dear-moon,作者卡片橫屏一行式頭部)。
驗證:翻譯及模型生成、格式與嚴格分析通過;72項本次頁面回歸通過。完整 Flutter 測試1,747項通過、1項略過(3efd70ec)。頁面測試涵蓋左右cutout、直橫向、2倍字級、鍵盤viewInsets、局部更新及帳號切換,全部使用假資料,沒有實際提交論壇操作。
仍需實機重測:Android手機鍵盤面板、真實論壇第二稱號及各頁操作。未取得回報樓層的HTML,不能宣稱所有他人樓層的第二稱號問題均已重現或解決;不會用登入者稱號替代其他作者。
本PR保持draft、不合併。preview113(1.28.6-ui.9+113)已公開三個Android APK與Windows ZIP。三個APK原簽章、版本碼1102/1103/1109、49項Android原生測試,以及Windows版本和4項上傳資產SHA256均已核對。桌面版本放獨立資料夾並保留109及正式版。不同版本仍共用本機帳號與設定,使用時請完全退出另一個版本。