Skip to content

Phase 3 audit fixes → main - #15

Merged
Kengston merged 2 commits into
mainfrom
dev
Jun 11, 2026
Merged

Phase 3 audit fixes → main#15
Kengston merged 2 commits into
mainfrom
dev

Conversation

@Kengston

Copy link
Copy Markdown
Owner

Promote the Phase-3 audit fixes (14 findings) from dev to main. Verified on the dev Pages preview. tsc + export clean; runtime-verified name persistence (re-open + reload), a11y, theme persistence, 0 console errors.

Kengston added 2 commits June 11, 2026 12:46
…horing, a11y, native handler, memoization)

Multi-agent audit (7 dimensions, adversarially verified) + fixes:
- HIGH: Settings «Имя» blanked on re-open → split SettingsScreen/SettingsForm so useState(profile.name) seeds from the loaded row (no effect).
- Feed: cancelled item anchored to an event instant (min(startsAt,now)) — correct group/sort/clock + bounded horizon both sides.
- «Прочитать всё» acts on the filtered (visible) set, not the whole feed.
- a11y: unread row + bell badge expose state/count to screen readers; SwipeRow action gets role+label.
- Native scheduler: setNotificationHandler so foreground reminders show (SDK 56).
- ensureProfile get-or-create now atomic (inside the writer); ReminderSync sync() rejection caught.
- Perf: AppHeader/notifications memoize buildFeed with a stabilized prefs ref; useNow tick refreshes time-relative feed.
- i18n: unit.days.* + day branch for the 1-day reminder lead; a11y.unread. Lint warnings cleared.
Phase 3 audit fixes — 14 findings (name persistence, feed anchoring, a11y, native handler)
@Kengston
Kengston merged commit e9f5cf4 into main Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant