|
|
af8934fe7f
|
diag: FlutterError.onError 加 CK_CTX (widget 上下文) 定位 RangeError 来源
|
2026-08-01 23:35:34 +08:00 |
|
|
|
048c5a9ff4
|
fix(runtime): contact-stores initState httpGet.then setState 加 mounted 保护 (dispose 后 setState)
|
2026-08-01 23:29:08 +08:00 |
|
|
|
1d4028f486
|
fix(compile): buy_service value cast Map<String,dynamic>.from; gitignore e2e node_modules
|
2026-08-01 23:26:14 +08:00 |
|
|
|
944493a39b
|
fix(runtime): e2e 发现的 3 个 bug 修复
- download: desktop_download_apps SingleChildScrollView 加 primary:true (Scrollbar 缺 ScrollPosition)
- contact-stores: checkDomainAvailability async 后 setState 加 mounted 保护 (dispose 后 setState)
- buy-service: _loadData 加 data 结构校验 + mounted 保护 (API 400 无效参数时 data 为错误结构 -> RangeError)
|
2026-08-01 23:20:25 +08:00 |
|
|
|
6d08db54a5
|
chore: 清理 checkout mainBody 的 'aaa:' 调试 print
|
2026-08-01 02:38:15 +08:00 |
|
|
|
3f9256491d
|
fix(runtime): checkout table_token(store.state.tableNumber!) -> tableNumber ?? ''. 普通网购用户无餐桌号(null)时崩溃. desktop L309/mobile L284. Fixes checkout/310 Unexpected null value
|
2026-08-01 02:36:01 +08:00 |
|
|
|
95e40f31cc
|
fix(runtime): 同类 nullfix 脚本误加 ! 全库修复 - getCartInfoByBusiness 返回可空但末尾误加 !, 后接 if(x!=null) 判空. 影响: shopping_cart_bar/shopping_cart_widget/desktop_shopping_cart_widget(可空目标去!); shop_products/mobile shop(非空声明改 CartInfo?)
|
2026-08-01 02:27:50 +08:00 |
|
|
|
639d2033f0
|
fix(runtime): add_remove_button cartInfo 误加 ! (nullfix 脚本) -> 去掉. getCartInfoByBusiness 返回可空, 购物车空时 ! 崩溃 -> AddRemoveButton build L197 Unexpected null value. 修复 /shop 商品列表和 /checkout lineItem 的 +/- 按钮崩溃
|
2026-08-01 02:22:26 +08:00 |
|
|
|
4da7fb32de
|
wip: checkout mainBody diagnostic print (CK_DEBUG) + shippingTime null-safe
|
2026-08-01 02:14:52 +08:00 |
|
|
|
147ab866e1
|
fix(runtime): late top-level/instance vars used with ??= (mediaQuery/screenHeight/etc) -> nullable. Fixes LateInitializationError on /me /shop /product-detail
|
2026-08-01 02:06:07 +08:00 |
|
|
|
0526baa3c8
|
fix(runtime): 37 late fields with == null checks were wrongly migrated -> nullable. Fixes LateInitializationError crashes on page navigation (shop/checkout/comment/data pages)
|
2026-08-01 01:58:36 +08:00 |
|
|
|
b49fb59db4
|
fix(home): Scrollbar+SingleChildScrollView primary:true (no ScrollPosition runtime error); docs: runtime issues in TODO §9
|
2026-08-01 01:53:05 +08:00 |
|
|
|
9608e8b9fb
|
docs: WEB BUILD SUCCEEDS. build_web.sh helper, TODO status update. lib 6 (util_io deferred), web 0 errors
|
2026-08-01 01:29:50 +08:00 |
|
|
|
5ccc06b0f7
|
phase3: WEB BUILD SUCCEEDS. cross_file override (0.3.4+2, Dart3-safe), parabolic/popup _margin EdgeInsets, remaining nullable fixes. lib 12->6(util_io deferred), web build OK with --no-tree-shake-icons
|
2026-08-01 01:27:51 +08:00 |
|
|
|
7c69197396
|
phase3: nullable fields/methods, casts, ?.call, pinput/YoutubePlayer v5, buttonColor, dead-code removal. 72->16
|
2026-08-01 01:21:37 +08:00 |
|
|
|
137eca4c69
|
phase3: nullable fields/methods, casts, ?.call, condition fixes across 11 files. 108->72
|
2026-08-01 01:16:25 +08:00 |
|
|
|
b8b70a87f9
|
docs: add TODO.md for resuming Dart 3 null-safety migration (118->0 remaining)
|
2026-07-31 15:10:16 +08:00 |
|
|
|
3053246bb8
|
phase3: mobile/shop clean (categoryDescHeight double, FooterBuilder LoadStatus?, nullable fixes); edit_address .buttonColor->colorScheme.primary. 131->118
|
2026-07-31 15:09:29 +08:00 |
|
|
|
5cb5ef6396
|
phase3: checkout files clean (nullable fields, ternary/concat/condition fixes). 142->131
|
2026-07-31 15:05:08 +08:00 |
|
|
|
a6d5b9cd2d
|
phase3: fix attribute widgets (qty/check/radio) - prefix-! bug, multi-line toUpperCase, required conditions. ~30 fixed
|
2026-07-31 15:00:04 +08:00 |
|
|
|
18abf4eb82
|
phase3: FIX arg-bang regex (missing \] in char class skipped subscripts). 235->183
|
2026-07-31 14:57:23 +08:00 |
|
|
|
70076d71c1
|
phase3: shop.dart NotificationListener return bool
|
2026-07-31 14:54:32 +08:00 |
|
|
|
6487c0db54
|
phase3: pinput v5, late field fix, carousel nullable, badges badgeAnimation param. 251->242
|
2026-07-31 14:53:58 +08:00 |
|
|
|
ab06fadea8
|
phase3: @required->required keyword, nullable for-in iterator fix. 309->251
|
2026-07-31 14:49:02 +08:00 |
|
|
|
1aa7cf3477
|
phase3: targeted local-var nullable (strict type) + nullfix cascade. 379->309
|
2026-07-26 10:47:55 +08:00 |
|
|
|
3ed58e1596
|
phase3: precise nullable-condition fixes (if(x)->if(x==true), analyzer-driven). 399->379
|
2026-07-26 10:46:26 +08:00 |
|
|
|
97e4908126
|
phase3: BreadCrumb.route nullable (+stable nullfix re-run). 440->399
|
2026-07-26 10:44:45 +08:00 |
|
|
|
154d696e70
|
phase3: improve arg-bang handler (allow ! in chains, ; terminator). 574->440
|
2026-07-26 10:41:02 +08:00 |
|
|
|
36f36b815f
|
phase3: youtube_player_iframe 2.x->5.x migration (fromVideoId)
|
2026-07-26 01:11:47 +08:00 |
|
|
|
6d789c7b19
|
phase3: badges 2.x->3.x migration (badgeStyle/animation), SearchBar/onPrimary fixes. 596->580
|
2026-07-26 01:10:45 +08:00 |
|
|
|
cdaaa63d67
|
phase3: stabilize nullfix.py (disable risky local-nullable handler)
Script stable handlers (zero corruption): bang(!), late, param-nullable,
field-formal field-nullable, arg-bang. Reusable — re-run after manual fixes.
Errors: 2374(peak) -> 596 | web build: 1845 -> 571
|
2026-07-26 00:15:38 +08:00 |
|
|
|
f1d7dbb423
|
phase3: fix Scrollbar isAlwaysShown->thumbVisibility, badges hide Badge. 621->605
|
2026-07-25 18:17:33 +08:00 |
|
|
|
a76b872966
|
phase3: nullfix arg-bang handler (argument_type/invalid_assignment). 872 -> 621
|
2026-07-25 18:16:40 +08:00 |
|
|
|
c21ccbd54d
|
phase3: nullfix field-formal field-nullable handler. 907 -> 872
|
2026-07-25 18:14:55 +08:00 |
|
|
|
fce670664b
|
phase3: nullfix.py batch script — bang/late/param-nullable
Automated null-safety fixes driven by dart analyze (no corruption):
- unchecked_use_of_nullable_value: insert '!' on receiver (property/method/[]/op)
- not_initialized field/var: mark 'late'
- missing_default_value_for_parameter: nullable param
Errors: 2374(peak) -> 907
|
2026-07-25 18:13:01 +08:00 |
|
|
|
8f3d3509ea
|
phase3(wip): desktop_checkout field null-safety + build local-shadow
|
2026-07-25 02:53:03 +08:00 |
|
|
|
e2f0d37edd
|
phase3: generated l10n/messages_all, events, actions, dialog null-safe
|
2026-07-24 20:30:00 +08:00 |
|
|
|
1f85ae1e63
|
phase3: bulk null-safety fixes
- validator: (String value) -> (String? value) [30 files]
- ElevatedButton.styleFrom(primary:) -> backgroundColor: [31 files]
- global Key? param fix [129 files]
|
2026-07-24 20:27:16 +08:00 |
|
|
|
e2f815e141
|
phase3: util_web + shop_scroll (custom scroll) null-safe; global Key? param fix
|
2026-07-24 20:24:57 +08:00 |
|
|
|
f831fd1405
|
phase3: util_web null-safe (showImage, WebImagePicker, ImageInfo)
util_io deferred (excluded from web build via conditional import).
|
2026-07-24 20:17:07 +08:00 |
|
|
|
7e8182259f
|
phase3: utils.dart null-safe (cart logic + dio5 error handling)
- cart event handlers rewritten with local list + nullable model fields
- getCartInfo*/addCart/removeCart helpers: nullable List<CartInfo>? params
- addSubproductToCard/addSubproductQty/removeSubproduct: null-safe nested access
- showMessageDialog: DioException + promoted response local
- newCartLineItem params nullable; getWeekDayName default return
- launchURL->launch; RuntimeError code nullable
|
2026-07-24 20:13:07 +08:00 |
|
|
|
88dd90ed7c
|
phase3(critical-path): home page chain null-safe
home.dart + desktop/mobile navigation, carousels, index content widgets,
customers_logo, appbar_menu, navigation_drawer, MobileBottomNav, double_back.
Fixes: Key? params, nullable State fields, Scrollbar thumbVisibility,
ModalRoute.of()?, badges hide Badge, cartInfos local promotion.
|
2026-07-24 13:42:03 +08:00 |
|
|
|
ae4c4046c3
|
phase3(critical-path): store + main + routes + nav components null-safe
- store/state + reducers: nullable AppState fields & reducer types
- main.dart: localeResolutionCallback Locale?, settings.name? guard
- routes.dart: fluro 2.0.5 HandlerFunc (BuildContext?) + params['x']!
- navigationbar/breadcrumbs/bottom_nav/text_link: nullable optional params/fields
|
2026-07-24 13:37:04 +08:00 |
|
|
|
cef00db911
|
phase3: null-safe store/ (AppState fields + reducers nullable)
|
2026-07-24 13:31:34 +08:00 |
|
|
|
4f9aa4f683
|
phase3(foundation): http_util dio5 migration + null-safe models
- http_util.dart: dio4->5 (DioException, nullable params, drop unused statusCode,
null-safe e.response!.data), countryCode ?? ''
- models/* (39 files): make all instance fields nullable (fromJson initializer-list
pattern forces nullable); fix internal method usages (cart_info/cart_line_item/
order/shipping_rate) with !/??
- models/ now passes dart analyze with 0 errors
Widget-level null-safety + remaining utils/store continue in next batch.
|
2026-07-24 03:48:54 +08:00 |
|
|
|
1a578c925d
|
feat: Phase 2 — upgrade deps to null-safe, replace deprecated packages
- pubspec: bump all maintained deps to null-safe latest; flutter pub get resolves
- Remove 12 packages (0-ref or no null-safe): splashscreen, flappy_search_bar,
searchable_dropdown, share, platform_detect, flutter_inappwebview, countdown,
gender_selection, flutter_dash, smooth_star_rating, hovering, ffi
- Add flutter_rating_bar
- Keep discontinued-but-null-safe for now (Phase 5): pull_to_refresh, hive, catcher
- New null-safe custom components (API-compatible, callers change only imports):
utils/countdown.dart, widgets/general/{hover_widget,gender_selection,
smooth_star_rating,search_bar}.dart
- main.dart: drop dead SplashScreen _buildBody + _to field
- 23 consuming files: swap deprecated imports to local components
Null-safety migration + upgraded-API adaptation = Phase 3.
|
2026-07-24 03:10:12 +08:00 |
|
|
|
7ffcc848d0
|
feat: Phase 1 — remove Stripe, switch to e-Transfer
- Drop stripe_payment + stripe_sdk deps; delete stripe pay pages/widgets
- New ETransferPay widget: shows payment@wisetronic.com + R#<orderId> remark
- goPayment stripe/native branches now route to e-Transfer
- pay_now widgets: strip saved-cards section & dead nativePay logic
- my_cards pages rewritten as e-Transfer info (route kept)
- models/utils/constants cleaned of stripe; env constraint -> Dart 3
See UPGRADE_NOTES.md. (Null-safety migration is Phase 3; deps upgrade Phase 2.)
|
2026-07-24 02:47:13 +08:00 |
|
|
|
f8a90ad305
|
updated new flutter version
|
2023-12-15 21:34:23 +08:00 |
|
|
|
bcf21d90ac
|
updated new flutter version
|
2022-06-30 03:47:47 -04:00 |
|
|
|
f504e213a0
|
initial commit to gitea
|
2022-03-10 00:47:26 -05:00 |
|