This website requires JavaScript.
d968fc01d0
tests: add populated-state screenshot UITest
master
Trey T
2026-06-09 00:11:06 -05:00
44f712f345
iOS: add biometric / PIN app lock (CL-5)
Trey T
2026-06-08 22:25:40 -05:00
f5a5710b2c
iOS: add fastlane config for TestFlight upload
Trey T
2026-06-06 12:16:49 -05:00
713c8d9cbb
iOS: absolutely center empty states across every tab
Trey T
2026-06-06 12:08:54 -05:00
c0032ab7e1
Tests: assert verified-by-default API gating
Trey T
2026-06-06 10:49:45 -05:00
912888f14c
Tests: add email-gating API coverage; robust task-uncancel seeding; re-quarantine flaky onboarding e2e
Trey T
2026-06-06 09:17:31 -05:00
73a60c886d
Fix: invited members now see shared tasks immediately on join
Trey T
2026-06-06 09:17:20 -05:00
a3b684744b
Perf: bump parallel workers 4 -> 6 (injection freed the CPU)
Trey T
2026-06-06 02:36:10 -05:00
d11cc82fec
Perf: inject auth token at launch to skip the UI login (~26-50% faster)
Trey T
2026-06-05 23:35:28 -05:00
ef9ed4f5fc
Move DataLayer/FeatureCoverage into domain folders; delete dead duplicate
Trey T
2026-06-05 23:34:45 -05:00
d7d389ba8a
Triage the 4 real failures from the first full run (52->4->0)
Trey T
2026-06-05 18:37:38 -05:00
091248f30f
Fix per-test isolation flakiness: relaunch instead of UI logout; 4 workers
Trey T
2026-06-05 17:42:38 -05:00
7cdd88b11a
docs: TESTING.md + TEST_RULES.md for the isolation/domain model
Trey T
2026-06-05 16:37:05 -05:00
abc98c8fa8
Add standalone HoneyDueAPITests target for pure-API suites
Trey T
2026-06-05 16:35:52 -05:00
c52ce4d497
Re-architect iOS XCUITest suite: per-test isolation + domain organization
Trey T
2026-06-05 16:26:50 -05:00
09120e9d9d
iOS: unify empty states — one centered, leaf-decorated component
Trey T
2026-06-04 22:49:34 -05:00
db65db6232
i18n: complete app-wide localization (10 languages) + audit tooling
Trey T
2026-06-04 20:52:28 -05:00
6058013951
Fix continue_with:null decode crash + add auth decode/integration tests
Trey t
2026-06-03 22:30:48 -05:00
7c892d2bb6
Registration via API + client-owned email verification
Trey t
2026-06-03 17:46:43 -05:00
90a1d98322
fix(auth): correct the Kratos recovery -> password-reset handoff
Trey t
2026-05-18 21:55:49 -05:00
05cc4311a7
Rewrite auth layer to use Ory Kratos instead of hand-rolled auth API
Trey t
2026-05-18 18:21:32 -05:00
f364ab05dc
Merge pull request 'fix: share-residence import preview polish (closes #7 )' (#9 ) from fix/7-share-residence-import-polish into master
admin
2026-05-11 16:17:15 -05:00
0b6f26da99
fix(qlpreview): hide share-arrow in expired state (gitea#7 review)
fix/7-share-residence-import-polish
Trey T
2026-05-11 15:21:57 -05:00
83c3428b05
fix(qlpreview): expired-state copy + dedicated row text (gitea#7 review)
Trey T
2026-05-11 13:57:54 -05:00
f4c2780e34
fix(qlpreview): inline share icon instead of fixed position (gitea#7 review)
Trey T
2026-05-11 13:46:59 -05:00
d26714f043
test(qlpreview): screenshot of the post-fix residence-invite preview (gitea#7)
Trey T
2026-05-11 13:44:29 -05:00
3a5e33af93
Merge pull request 'feat(widget): per-residence widget configuration — closes #6 ' (#10 ) from feat/6-widget-residence-picker into master
admin
2026-05-11 13:39:05 -05:00
bd27f32caa
Merge pull request 'fix: single keyboard Done toolbar on Complete Task (closes #5 )' (#8 ) from fix/5-double-done-button into master
admin
2026-05-11 13:35:13 -05:00
9c9e6009c7
feat(widget): per-residence widget configuration (Android, gitea#6)
feat/6-widget-residence-picker
Trey T
2026-05-11 13:31:46 -05:00
498e6b8064
feat(widget): per-residence widget configuration (iOS, gitea#6)
Trey T
2026-05-11 13:14:58 -05:00
5aa31153e3
fix: share-residence import preview polish (closes gitea#7)
Trey T
2026-05-11 13:07:13 -05:00
23f4d70ac1
fix: single keyboard Done toolbar on Complete Task (closes gitea#5)
fix/5-double-done-button
Trey T
2026-05-11 12:58:19 -05:00
fdcf82757d
fix(uploads): switch from S3 multipart POST to presigned PUT
Trey t
2026-05-06 15:48:37 -05:00
3890dd6f52
chore(network): point ApiConfig at PROD by default
Trey t
2026-05-06 15:48:22 -05:00
d5041492a9
test: add forceFreshLoginPerTest opt-in flag to AuthenticatedUITestCase
rc/android-ios-parity
Trey T
2026-05-03 13:14:37 -05:00
ec5d93efab
Merge pull request 'feat: bundle ID migration + gitea#2 task-cache fix (recovered from fix/task-cache-unification)' (#4 ) from feat/bundle-id-and-task-cache into master
admin
2026-05-01 20:48:28 -05:00
b90533c535
build: bump Gradle + Kotlin daemon heap for KMP
feat/bundle-id-and-task-cache
Trey t
2026-05-01 18:38:28 -07:00
03a9dfa0de
fix: 2 latent iOS bugs that blocked Suite11 XCUITest from running end-to-end
Trey t
2026-04-25 11:35:24 -05:00
1884853e4b
android: ResidenceViewModel.residenceTasksState derives from _allTasks
Trey t
2026-04-25 10:44:53 -05:00
882801c71d
ios: TaskViewModel observes $allTasks and filters by residence in-memory
Trey t
2026-04-25 10:43:11 -05:00
dea8eed184
refactor: getTasksByResidence is now a thin filter over _allTasks
Trey t
2026-04-25 10:41:06 -05:00
915a5d4742
test: characterize getTasksForResidence filter contract
Trey t
2026-04-25 10:40:20 -05:00
4f9b910a94
fix: bulkCreateTasks force-refreshes _allTasks instead of merging task-by-task
Trey t
2026-04-25 10:39:53 -05:00
3df5645f73
test: lock down that updateTask no longer writes _tasksByResidence
Trey t
2026-04-25 10:39:01 -05:00
5f7498b755
fix: DataManager.updateTask seeds _allTasks when cache is empty (gitea#2)
Trey t
2026-04-25 10:38:41 -05:00
733d4c8d36
test: failing — DataManager.updateTask must seed _allTasks when cache is empty
Trey t
2026-04-25 10:33:48 -05:00
87771ef7f3
test: add accessibility identifiers along the onboarding-to-residence-detail path
Trey t
2026-04-25 09:33:47 -05:00
65803a2180
plan: task cache unification (closes gitea#2)
Trey t
2026-04-25 09:25:04 -05:00
ef8eab4a07
iOS: complete bundle ID + team ID migration to com.myhoneydue.*
Trey t
2026-04-25 09:24:40 -05:00
2064e70d75
Merge pull request 'feat(uploads): direct-to-B2 presigned image upload (iOS + Android)' (#3 ) from feat/presigned-uploads into master
admin
2026-05-01 19:40:10 -05:00
b2d03ef8b2
refactor(uploads): drop legacy multipart helpers; route Android UI through presigned flow
feat/presigned-uploads
Trey t
2026-05-01 15:19:46 -07:00
fa0ce30257
feat(uploads): direct-to-B2 presigned image upload from iOS + Android
Trey t
2026-05-01 14:39:26 -07:00
e350467975
refactor(uploads): drop legacy multipart helpers; route Android UI through presigned flow
fix/task-cache-unification
Trey t
2026-05-01 15:19:46 -07:00
3cd115a436
feat(uploads): direct-to-B2 presigned image upload from iOS + Android
Trey t
2026-05-01 14:39:26 -07:00
418ffc7772
fix: 2 latent iOS bugs that blocked Suite11 XCUITest from running end-to-end
Trey t
2026-04-25 11:35:24 -05:00
cec521b3e3
refactor: delete _tasksByResidence and per-residence task cache plumbing
Trey t
2026-04-25 10:48:38 -05:00
1b001323e4
android: ResidenceViewModel.residenceTasksState derives from _allTasks
Trey t
2026-04-25 10:44:53 -05:00
ce25c80783
ios: TaskViewModel observes $allTasks and filters by residence in-memory
Trey t
2026-04-25 10:43:11 -05:00
4181b6005d
refactor: getTasksByResidence is now a thin filter over _allTasks
Trey t
2026-04-25 10:41:06 -05:00
2bd3bd85b6
test: characterize getTasksForResidence filter contract
Trey t
2026-04-25 10:40:20 -05:00
60ae14c79e
fix: bulkCreateTasks force-refreshes _allTasks instead of merging task-by-task
Trey t
2026-04-25 10:39:53 -05:00
dc6d3525fa
test: lock down that updateTask no longer writes _tasksByResidence
Trey t
2026-04-25 10:39:01 -05:00
5d0c3597fa
fix: DataManager.updateTask seeds _allTasks when cache is empty (gitea#2)
Trey t
2026-04-25 10:38:41 -05:00
c9d5c048b7
test: failing — DataManager.updateTask must seed _allTasks when cache is empty
Trey t
2026-04-25 10:33:48 -05:00
f5f02145a2
test: add accessibility identifiers along the onboarding-to-residence-detail path
Trey t
2026-04-25 09:33:47 -05:00
cb4806b423
plan: task cache unification (closes gitea#2)
Trey t
2026-04-25 09:25:04 -05:00
6bfe058050
iOS: complete bundle ID + team ID migration to com.myhoneydue.*
Trey t
2026-04-25 09:24:40 -05:00
49e2397e85
Merge pull request 'rc/android-ios-parity' (#1 ) from rc/android-ios-parity into master
admin
2026-04-20 19:43:32 -05:00
170a6d0e40
Parity gallery markdown: emit <img> tags with fixed width/height instead of markdown image syntax so every screenshot renders at identical size in Gitea's markdown view. Gitea strips inline styles but keeps width/height attributes.
Trey T
2026-04-20 18:34:34 -05:00
16096f4b70
Parity gallery: force uniform aspect ratio + object-fit so Android and iOS screenshots render at identical display size regardless of native capture dimensions.
Trey T
2026-04-20 18:24:02 -05:00
9fa58352c0
Parity gallery: unify around canonical manifest, fix populated-state rendering
Trey T
2026-04-20 18:10:32 -05:00
316b1f709d
P3: NoIndependentViewModelStateFileScanTest — architecture regression gate
Trey T
2026-04-19 18:51:36 -05:00
42ccbdcbd6
P2: iOS Full DI — all 11 VMs accept dataManager init param
Trey T
2026-04-19 18:47:58 -05:00
f0f8dfb68b
P1: All Kotlin VMs align with DataManager single-source-of-truth
Trey T
2026-04-19 18:42:40 -05:00
2230cde071
P0: IDataManager coverage gaps — contractorDetail/documentDetail/taskCompletions/contractorsByResidence
Trey T
2026-04-19 18:31:06 -05:00
f83e89bee3
Parity gallery: honest populated-state coverage (10/34 surfaces differ)
Trey T
2026-04-19 09:31:52 -05:00
ab0e5c450c
Coverage: regenerate gallery — 40/40 Android surfaces rendering
Trey T
2026-04-19 02:28:59 -05:00
b24469bf38
Coverage: Android gallery expansion 23 → 39 surfaces + regenerate gallery
Trey T
2026-04-19 01:45:14 -05:00
6c3c9d3e0c
Coverage: iOS ViewModel DI seam + populated-state snapshots
Trey T
2026-04-19 01:45:04 -05:00
3944223a5e
P4: gitea-renderable parity-gallery-grid.md (markdown with inline images)
Trey T
2026-04-18 23:59:06 -05:00
031d61157f
docs: regenerate parity gallery after tasks_empty_dark straggler
Trey T
2026-04-18 23:53:53 -05:00
f77c41f07a
P2 addendum: tasks_empty_dark.png straggler
Trey T
2026-04-18 23:53:53 -05:00
fec0c4384a
docs: regenerate parity gallery HTML (37 screens, 89 Android + 58 iOS)
Trey T
2026-04-18 23:50:37 -05:00
7a04ad4ff2
P2 addendum: 18 additional Android goldens (add/edit residence, join, manage users)
Trey T
2026-04-18 23:50:33 -05:00
707a90e5f1
P4: HTML parity gallery generator + comprehensive docs
Trey T
2026-04-18 23:45:20 -05:00
6cc5295db8
P2: Android parity gallery — real-screen captures (partial, 17/40 surfaces)
Trey T
2026-04-18 23:45:12 -05:00
3bac38449c
P3.1: iOS goldens @2x + PNG optimizer + Makefile record/verify targets
Trey T
2026-04-18 23:45:02 -05:00
6f2fb629c9
P3: iOS parity gallery (swift-snapshot-testing, 1.17.0+)
Trey T
2026-04-18 19:37:09 -05:00
47eaf5a0c0
P1: Shared FixtureDataManager (empty + populated) for cross-platform snapshots
Trey T
2026-04-18 19:22:41 -05:00
c57743dca0
Fix: expect/actual enableTestTagsAsResourceId() for iOS compile
Trey T
2026-04-18 19:20:48 -05:00
f56d854acc
P0.3: add iOS @Environment(\.dataManager) key
Trey T
2026-04-18 19:11:15 -05:00
00e215920a
P0.2: migrate screens to LocalDataManager.current
Trey T
2026-04-18 19:08:58 -05:00
98b775d335
P0.1: extract IDataManager interface + LocalDataManager ambient
Trey T
2026-04-18 19:06:16 -05:00
bb4cbd58c3
Audit: form-error TalkBack + focus management + navigateUp polish
Trey T
2026-04-18 18:16:22 -05:00
a1f366cb30
Audit: hardcoded Color.* → MaterialTheme.colorScheme (dark-mode parity)
Trey T
2026-04-18 18:11:59 -05:00
d49bc719b2
Audit: .dp → AppSpacing/AppRadius (tokenization, partial sweep)
Trey T
2026-04-18 18:08:23 -05:00
0c554cce6a
P8: Roborazzi golden image pipeline live
Trey T
2026-04-18 17:57:35 -05:00
77f32befb8
Audit: meaningful contentDescription for actionable icons (sweep)
Trey T
2026-04-18 17:57:08 -05:00
d8569c7aed
Audit: PullToRefreshBox on remaining list screens (iOS parity)
Trey T
2026-04-18 17:50:27 -05:00
95f7318ee6
Audit 9a.3: custom sheets → ModalBottomSheet (M3 parity)
Trey T
2026-04-18 17:48:14 -05:00