This website requires JavaScript.
bf06b2d500
Merge #348 : distinguish absent reveal swipe targets
main
QiuSW
2026-09-29 18:03:52 +08:00
fcb7dad878
docs: record reveal swipe result policy and version boundary (#348 )
fix/348-reveal-swipe
QiuSW
2026-09-29 17:52:32 +08:00
6550b9fd45
fix(android): skip reveal swipe without a scroll target (#348 )
QiuSW
2026-09-29 17:43:46 +08:00
7a2c2d1eac
merge: SYB excluded-product marking and recompute (#340 )
QiuSW
2026-09-29 16:32:35 +08:00
d01540b9fd
fix(web): label SYB sync filter counts as hits (#340 )
feat/340-syb-excluded-products
QiuSW
2026-09-29 16:31:54 +08:00
ec010b42fc
docs: SYB excluded-product marking and recompute contract (#340 )
QiuSW and Claude Opus 5.5
2026-09-29 16:21:47 +08:00
a56df9d908
fix(syb): #340 phase 4 — fingerprint includes rule evidence + MySQL IT
QiuSW and Claude Opus 5.5
2026-09-29 16:05:06 +08:00
cd4bd6acb1
fix(syb): #340 phase 3 review — recheck reads must be locking, not plain
QiuSW and Claude Opus 5.5
2026-09-29 15:43:37 +08:00
baa20af530
fix(syb): #340 phase 3 — recompute race protection, fingerprint, wording
QiuSW and Claude Opus 5.5
2026-09-29 15:34:20 +08:00
f54ace7ccf
Merge remote-tracking branch 'origin/main' into feat/340-syb-excluded-products
QiuSW
2026-09-29 15:25:46 +08:00
1e582cd868
merge: filter and freeze eligible inner-code apply selection (#351 )
QiuSW
2026-09-29 15:00:04 +08:00
d72d77ddf4
docs: bind mixed-selection apply confirmation rules (#351 )
fix/351-inner-code-apply-selection
QiuSW
2026-09-29 14:59:57 +08:00
ee8f80f987
fix: submit only frozen eligible inner-code apply selections (#351 )
QiuSW
2026-09-29 14:57:23 +08:00
4959f3d17f
merge: inner-code layout comparison regression fix (#350 )
QiuSW
2026-09-29 14:15:12 +08:00
15d331bee9
fix: normalize layout controls in inner-code match evidence (#350 )
fix/350-match-layout
QiuSW
2026-09-29 14:15:04 +08:00
897c1817d2
merge: restore inner-code matching and batch retry (#350 )
QiuSW
2026-09-29 12:02:14 +08:00
5729ba048f
docs: bind inner-code matching recovery contract #350
fix/350-inner-code-matching
QiuSW
2026-09-29 11:49:32 +08:00
9c5e20e249
fix: recover inner-code matching and enable batch rematch #350
QiuSW
2026-09-29 11:45:46 +08:00
8c95790135
feat(syb): #340 sync-run detail wording + excluded count (phase 2 cont.)
QiuSW and Claude Opus 5.5
2026-09-29 11:00:15 +08:00
316d5aa412
feat(syb): #340 phase 2 — merge main, recompute samples, frontend UI
QiuSW and Claude Opus 5.5
2026-09-29 10:59:12 +08:00
e55645ff66
Merge remote-tracking branch 'origin/main' into feat/340-syb-excluded-products
QiuSW
2026-09-29 10:50:54 +08:00
dd9160ec42
merge: batch cancel and use return matches (#347 #349 )
QiuSW
2026-09-29 10:30:30 +08:00
14231c62a7
docs: record batch return use contract and verification #349
feat/349-batch-return-use
QiuSW
2026-09-29 10:24:54 +08:00
4280115e11
feat: batch use pending return matches #349
QiuSW
2026-09-29 10:21:28 +08:00
a4c7b5e97b
feat: add pending return match batch cancellation #347
feat/347-batch-return-cancel
QiuSW
2026-09-29 09:40:16 +08:00
e7c049dbd6
merge: Yeeke reshipped return sync (#345 )
QiuSW
2026-09-28 16:33:05 +08:00
3b95d4e879
feat(yeeke): sync reshipped returns and exclude new matching (#345 )
feat/345-yeeke-reship
QiuSW
2026-09-28 16:30:37 +08:00
bce4897390
merge: serve Admin SPA at / and document nginx deployment (#346 )
QiuSW
2026-09-28 16:16:20 +08:00
c13dcd3ebc
docs: record nginx 9527 config, content-based checks and migration (#346 )
fix/346-root-serves-spa
QiuSW and Claude Opus 5.5
2026-09-28 16:14:43 +08:00
0b01b92c98
fix(server): serve the Admin SPA at / when dist exists (#346 )
QiuSW and Claude Opus 5.5
2026-09-28 16:07:49 +08:00
9dace6ac89
fix(sybinnercode): add identity/stall/id guards to #289 assignment (#344 )
fix/344-inner-code-stall-match
QiuSW and Claude Opus 5.5
2026-09-28 10:35:16 +08:00
e99bbc2327
fix(sybinnercode): align stall article matching with cmautobuy rules (#344 )
QiuSW and Claude Opus 5.5
2026-09-28 10:31:11 +08:00
abdf90775c
docs: record unified SYB writeback sessions (#343 )
fix/343-syb-writeback-session
QiuSW
2026-09-27 23:00:46 +08:00
934a7beabc
fix(purchase): unify SYB session refresh for writeback (#343 )
QiuSW
2026-09-27 22:56:54 +08:00
24100f04d4
merge: place return matching after purchase (#342 )
QiuSW
2026-09-27 17:24:06 +08:00
266418ac47
fix(syb): place return matching after purchase (#342 )
QiuSW
2026-09-27 17:23:57 +08:00
5e5fdd797e
merge: arrange SYB filter row (#342 )
QiuSW
2026-09-27 17:19:45 +08:00
58c8c077ad
fix(syb): arrange created-time filter row (#342 )
QiuSW
2026-09-27 17:19:35 +08:00
9f679f6403
merge: SYB created-time filter and page size (#342 )
QiuSW
2026-09-27 16:59:54 +08:00
977ac235e2
feat(syb): filter products by created time (#342 )
QiuSW
2026-09-27 16:59:22 +08:00
573f5b8cf3
feat(syb): support 200/500 rows per page on SYB products list (#339 )
QiuSW and Claude Opus 5.5
2026-09-24 14:35:53 +08:00
1491a9677a
fix(access): allow after-sales purchase readiness (#341 )
QiuSW
2026-09-27 11:59:31 +08:00
d4d32c6e89
docs: restore wiki mirrors after return-match update (#338 )
QiuSW
2026-09-27 11:46:28 +08:00
b7038633f0
test(returnmatch): cover after-sales access and migration repair (#341 )
QiuSW
2026-09-27 11:38:43 +08:00
844f611d77
fix(access): repair return-match API catalog migration (#341 )
QiuSW
2026-09-27 11:25:01 +08:00
d415971268
feat(returnmatch): publish return matching and after-sales access (#338 #341 )
QiuSW
2026-09-27 11:16:18 +08:00
6fe588d5e3
fix(web): show after-sales GoAuto actions (#341 )
QiuSW
2026-09-27 11:04:25 +08:00
17cbfaec85
feat(access): add after-sales role and accounts (#341 )
QiuSW
2026-09-27 10:49:34 +08:00
30c6b2ab50
feat(syb): hard-isolate pdd_purchase_excluded rows from PDD flows (#340 )
QiuSW and Claude Opus 5.5
2026-09-24 17:06:43 +08:00
27d9560f0a
Merge remote-tracking branch 'origin/feat/338-return-match' into feat/339-syb-page-size
feat/339-syb-page-size
QiuSW
2026-09-24 16:27:43 +08:00
b72fa105a8
feat(web): flag matched returns past their destroy deadline (#338 )
feat/338-return-match
QiuSW and Claude Opus 5.5
2026-09-24 16:27:38 +08:00
018e3566c0
Merge remote-tracking branch 'origin/feat/338-return-match' into feat/339-syb-page-size
QiuSW
2026-09-24 16:15:01 +08:00
5ac8e4c8fd
feat(yeeke): show missing-marked and recovered counts per sync run (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 16:14:30 +08:00
ddd875d989
Merge remote-tracking branch 'origin/feat/338-return-match' into feat/339-syb-page-size
QiuSW
2026-09-24 15:59:14 +08:00
ff6e87649c
feat(returnmatch): mark yeeke returns unavailable when a complete sync drops them (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 15:57:38 +08:00
8b4db9c89e
style(web): narrow SYB order-code filter input to 80% width (#339 )
QiuSW and Claude Opus 5.5
2026-09-24 14:39:47 +08:00
00fb274fd4
feat(syb): support 200/500 rows per page on SYB products list (#339 )
QiuSW and Claude Opus 5.5
2026-09-24 14:35:53 +08:00
1e944b9d2e
feat(returnmatch): record every batch-match submission and its outcomes (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 14:22:06 +08:00
20a8144be0
fix(db): add migration version that creates return_match tables (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 14:03:06 +08:00
f2c8307c17
feat(web): return-matching UI on SYB products and yeeke returns pages (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 12:03:10 +08:00
92c42ba1fe
feat(yeeke): add match-status filter and occupying-SYB column to returns list (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 11:58:24 +08:00
fc99be0392
fix(returnmatch): dedicated log table, race-safe matching, spec/remark fixes (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 11:56:14 +08:00
dec99cb81d
fix(purchase): block new purchase tasks for actively return-matched SYB products (#338 )
QiuSW and Claude Opus 5.5
2026-09-24 11:49:10 +08:00
fbde80cc20
feat(returnmatch): DB-backed batch match/confirm/cancel/remark API for #338
QiuSW and Claude Opus 5.5
2026-09-24 11:48:58 +08:00
9bebf3930d
feat(returnmatch): pure spec normalization and candidate selection for #338
QiuSW and Claude Opus 5.5
2026-09-24 11:48:44 +08:00
3516fb7edc
feat(db): add return_match table for #338
QiuSW and Claude Opus 5.5
2026-09-24 11:48:33 +08:00
d0b86092a6
fix(web): map claim status 1 to 已认领 instead of showing the raw digit (#337 )
feat/337-yeeke-admin-ui
QiuSW and Claude Sonnet 5
2026-09-24 08:57:35 +08:00
5faf870d0f
refactor(web): rename returns list columns, add resync-updates-times test (#337 )
QiuSW and Claude Sonnet 5
2026-09-24 08:52:47 +08:00
6773c88a64
fix(yeeke): align return item table labels (#336 )
QiuSW
2026-09-23 17:11:37 +08:00
248eae01ee
feat(yeeke): switch returns admin list to item-level rows with shop filter (#337 )
QiuSW and Claude Opus 5.5
2026-09-23 16:37:56 +08:00
ac5d8336ec
refactor(web): drop sync-runs footnote and let the table fill the page (#337 )
QiuSW and Claude Opus 5.5
2026-09-23 16:32:28 +08:00
8ba3470728
fix(yeeke): insert fully populated rows so strict MySQL accepts them (#336 )
QiuSW and Claude Opus 5.5
2026-09-23 16:02:10 +08:00
b1629b900a
fix(yeeke): decode string quantities and read yeeke times as Beijing time (#336 )
QiuSW and Claude Opus 5.5
2026-09-23 15:57:00 +08:00
c33e83823a
fix(yeeke): use real session-check endpoint, X-Access-Token header and web list body (#336 )
QiuSW and Claude Opus 5.5
2026-09-23 15:52:58 +08:00
faac8bb155
fix(yeeke): browser UA, captcha _t param and classified login failures (#336 )
QiuSW and Claude Opus 5.5
2026-09-23 15:48:49 +08:00
e845651933
fix(yeeke): read captcha key from randomImage "key" field (#336 )
QiuSW and Claude Opus 5.5
2026-09-23 14:56:46 +08:00
3bc4784402
refactor(web): simplify yeeke returns and sync-runs pages per review (#337 )
QiuSW and Claude Opus 5
2026-09-23 14:48:13 +08:00
ab292d6a17
feat(yeeke): add admin read-only return-package/sync-run modules (#337 )
QiuSW and Claude Opus 5
2026-09-23 14:23:51 +08:00
02bddbf304
fix(yeeke): reclaim stale sync lease and stabilize item keys (#336 )
feat/336-yeeke-return-sync
QiuSW and Claude Opus 5
2026-09-23 10:48:38 +08:00
3e82ad6570
feat(yeeke): complete admin surface, scheduling and tests for return sync #336
QiuSW and Claude Opus 5
2026-09-23 10:40:40 +08:00
b015719947
feat(yeeke): add read-only return sync #336
QiuSW and Codex GPT-6-astra
2026-09-23 10:17:29 +08:00
4caed7d2dd
chore(android): bump agent to 0.9.63 for #335
fix/335-bottom-submit-node
QiuSW and Claude Opus 5
2026-09-22 16:21:36 +08:00
e82762e6b7
fix(android): pick submit leaf only from the bottom-most row, not the whole panel (#335 )
QiuSW and Claude Opus 5
2026-09-22 16:15:08 +08:00
edc956c430
fix(android): aim submit target at labelled leaf so clickFresh can re-find it (#335 )
QiuSW and Claude Opus 5
2026-09-22 16:01:04 +08:00
1d302a9144
chore(android): bump agent to 0.9.62 for #335
QiuSW and Claude Opus 5
2026-09-22 15:38:56 +08:00
18353b2381
fix(android): scope submit target to panel container, widen blocked words (#335 )
QiuSW and Claude Opus 5
2026-09-22 15:27:44 +08:00
fc35d144c8
fix(android): submit target = bottom-most clickable node in spec panel (#335 )
QiuSW and Claude Opus 5
2026-09-22 15:04:28 +08:00
47f6377095
chore(android): bump agent to 0.9.61 for #334
QiuSW and Claude Opus 5
2026-09-22 14:14:07 +08:00
faad596d32
fix(collection): narrow spec-panel collapse detection, surface explicit probe failures (#334 )
QiuSW and Claude Opus 5
2026-09-22 11:59:26 +08:00
4f02e4dcfa
fix(collection): skip needless spec-panel top swipes and fail explicit empty probes (#334 )
QiuSW and Claude Opus 5
2026-09-22 11:42:02 +08:00
66301e89ce
docs(rules): extend OCR exception to yeeke login and ignore HAR/device dumps (#336 )
QiuSW and Claude Opus 5
2026-09-23 09:50:30 +08:00
e1e6812bc4
chore(android): bump agent to 0.9.61 for #334
fix/334-spec-probe-top-swipe
QiuSW and Claude Opus 5
2026-09-22 14:14:07 +08:00
7f1df16b7d
fix(collection): narrow spec-panel collapse detection, surface explicit probe failures (#334 )
QiuSW and Claude Opus 5
2026-09-22 11:59:26 +08:00
56f24e1dbc
fix(collection): skip needless spec-panel top swipes and fail explicit empty probes (#334 )
QiuSW and Claude Opus 5
2026-09-22 11:42:02 +08:00
433a254239
docs: sync wiki mirrors for #331/#332
QiuSW and Claude Opus 5
2026-09-22 10:58:38 +08:00
36810f3a71
chore(android): bump agent to 0.9.60 for #331/#332
QiuSW and Claude Opus 5
2026-09-22 10:51:05 +08:00
3bf428acd7
fix(server): read purchaser identity from JWT claims for owned devices (#333 )
QiuSW and Claude Opus 5
2026-09-22 10:46:01 +08:00
0ab5a96ca4
fix(server): read purchaser identity from JWT claims for owned devices (#333 )
fix/333-purchaser-device-owner
QiuSW and Claude Opus 5
2026-09-22 10:46:01 +08:00
d8382e6518
fix(android): recognize spec panel by address, payment and quantity input (#331 )
fix/331-spec-panel-recognition
QiuSW and Claude Opus 5
2026-09-22 10:14:03 +08:00
0edc78a943
fix(android): dedupe spec option nodes and diagnose selection mismatch (#332 )
QiuSW and Claude Opus 5
2026-09-22 10:08:25 +08:00