mika kuns
0bb809445e
feat(daily-prep): add get_daily_prep_candidates MCP tool
2026-06-03 16:15:27 +02:00
mika kuns
3c66d65160
feat(daily-prep): add DailyPrepMaxTasks app setting
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 16:11:30 +02:00
Mika Kuns
ffe0fb9820
Improve Prime Time Picker
2026-06-03 14:27:06 +02:00
mika kuns
00ef11ac33
fix(i18n): live-refresh smart/virtual list names on language change
...
Release / release (push) Successful in 35s
Smart-list nav labels were localized only at load; subscribe the singleton
ListsIslandViewModel to language changes and re-localize names in place.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v1.7.0
2026-06-03 13:17:21 +02:00
mika kuns
312b411654
i18n(de): add complete German translation
...
Full de.json mirroring en.json key-for-key (app + installer + VM strings);
enables Deutsch in the language switcher with live switching.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 13:14:23 +02:00
mika kuns
364a037cb3
feat(i18n): localize installer with language picker and config write-through
...
- Init Localizer at app startup (before self-update prompt) and assign to TrExtension.Localizer
- Register ILocalizer in DI; inject into WizardViewModel and SettingsViewModel
- WizardViewModel: SelectedLanguage ComboBox binding with OnSelectedLanguageChanged -> SetLanguage + InstallContext.Language
- WizardWindow.xaml: DockPanel wraps step chips + language ComboBox (right-aligned)
- Localize all installer XAML: WizardWindow, WelcomePage, PathsPage, ServicePage, UiSettingsPage, InstallPage, SettingsWindow, SelfUpdatePromptWindow
- Localize page Title properties and WizardViewModel.NextButtonText via TrExtension.Localizer
- Persist chosen Language in WriteConfigStep and SettingsViewModel.Save into ui.config.json
- Append installer section to en.json (nav, welcome, paths, service, uiSettings, install, settings, selfUpdate)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:55:08 +02:00
mika kuns
2fbf054a57
feat(i18n): add WPF localization primitives and Language config to installer
2026-06-03 12:45:49 +02:00
mika kuns
350a89f364
feat(i18n): localize ViewModel-built strings via ambient Loc accessor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:43:30 +02:00
mika kuns
086c6f6c45
feat(i18n): localize Avalonia view strings via loc:Tr markup
...
Extract ~165 hardcoded UI strings across islands, modals, planning and
shell views into en.json; replace with {loc:Tr} bindings.
2026-06-03 12:05:08 +02:00
mika kuns
070f5de1b1
feat(i18n): add language dropdown to settings and persist selection
2026-06-03 11:51:36 +02:00
mika kuns
f529a5ff22
feat(i18n): initialize Localizer at app startup from config/OS culture
2026-06-03 11:46:33 +02:00
mika kuns
6a85d82fcf
feat(i18n): add Language preference and Save() to AppSettings
2026-06-03 11:45:06 +02:00
mika kuns
35ad1715d3
feat(i18n): add Avalonia loc:Tr markup extension and LocalizedString
2026-06-03 11:44:16 +02:00
mika kuns
3c40bb5ea3
feat(i18n): seed en.json and wire locale copy to app output
2026-06-03 11:41:51 +02:00
mika kuns
d95d55e6b8
feat(i18n): add CultureResolver for OS-culture mapping
2026-06-03 11:39:20 +02:00
mika kuns
d22b50e171
feat(i18n): add Localizer with fallback chain and change event
2026-06-03 11:38:49 +02:00
mika kuns
a83a0c41e8
feat(i18n): add LocaleStore folder discovery
2026-06-03 11:38:02 +02:00
mika kuns
9efde2bf88
feat(i18n): add ClaudeDo.Localization project with nested-JSON locale parser
2026-06-03 11:35:59 +02:00
mika kuns
8dc8b8ba8e
docs: localization implementation plan
...
Phased TDD plan: shared ClaudeDo.Localization lib, Avalonia + WPF markup
extensions, settings/installer pickers, parallel string-extraction batches.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 11:32:06 +02:00
mika kuns
baeea9c2a7
docs: localization (i18n) design spec
...
Live-switching, JSON locale files, shared ClaudeDo.Localization project,
English-only at launch with data-driven extensibility, installer parity.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 11:19:03 +02:00
mika kuns
a935bf9664
i18n(ui): English UI labels for weekly report and notes (report body stays German)
2026-06-03 10:44:36 +02:00
mika kuns
2d55f88a41
fix(ui): notes add row stays visible, English 'Add' label, Enter to add
2026-06-03 10:39:53 +02:00
mika kuns
a8d8a8bd65
fix(worker): sanitize report model arg, fix multi-repo summary attribution and standup-weekday sentinel
2026-06-03 10:22:06 +02:00
mika kuns
0bc3d2a6c4
docs: document weekly report and daily notes feature
2026-06-03 10:15:40 +02:00
mika kuns
b886d58c07
test: update fakes for new IWorkerClient members and WorkerHub/DetailsIslandViewModel ctor args
2026-06-03 10:13:56 +02:00
mika kuns
a8943a9f7a
feat(ui): pinned Notes row in My Day opens the notes editor
...
Add ShowNotesRow/OpenNotesCommand to TasksIslandViewModel; wire NotesRequested
event to Details.ShowNotes() in the shell; show a Notes button above the task
list when the My Day smart list is active.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:08:30 +02:00
mika kuns
eccd06e182
feat(ui): notes mode in the Details island
...
Add IsNotesMode/Notes to DetailsIslandViewModel; ShowNotes() loads today's
notes and switches the island body to NotesEditorView via IsVisible toggling.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:07:09 +02:00
mika kuns
731c291d61
feat(ui): NotesEditorView
2026-06-03 10:02:16 +02:00
mika kuns
c8b5ed3912
feat(ui): NotesEditorViewModel with day navigation and bullet CRUD
2026-06-03 10:01:17 +02:00
mika kuns
9bf44da13b
feat(ui): INotesApi wrapper for daily notes
2026-06-03 09:59:40 +02:00
mika kuns
b748c1569e
feat(ui): open Weekly Report modal from the menu
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:56:32 +02:00
mika kuns
74fc39f1a6
feat(ui): WeeklyReportModalView
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:55:10 +02:00
mika kuns
ccd2ee2cc7
feat(ui): WeeklyReportModalViewModel with default-range logic
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:54:10 +02:00
mika kuns
5b89e3d03f
feat(settings): persist report excluded paths and standup weekday
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:50:03 +02:00
mika kuns
e106b00b16
feat(ui): WorkerClient methods for week report and daily notes
2026-06-03 09:46:39 +02:00
mika kuns
d7558ef451
feat(worker): hub methods for week report and daily notes
2026-06-03 09:44:45 +02:00
mika kuns
4aa4353d11
feat(worker): register report reader and service in DI
2026-06-03 09:43:48 +02:00
mika kuns
50d84f12c9
feat(worker): WeekReportService orchestrates generate + store
2026-06-03 09:42:21 +02:00
mika kuns
e2271b5a50
feat(worker): week report prompt builder (day-major pivot)
2026-06-03 09:40:57 +02:00
mika kuns
bec87b3d6f
feat(worker): ClaudeHistoryReader distills session logs
2026-06-03 09:37:40 +02:00
mika kuns
4cb7ad8dfa
feat(worker): report activity models and reader interface
2026-06-03 09:35:49 +02:00
mika kuns
992fbf0763
feat(data): add WeekReportRepository with tests
2026-06-03 09:34:03 +02:00
mika kuns
1d7b86dbef
feat(data): add DailyNoteRepository with tests
2026-06-03 09:32:08 +02:00
mika kuns
036586e736
feat(data): migration for daily notes and week reports
2026-06-03 09:28:50 +02:00
mika kuns
d9e5d2600b
feat(data): configure daily note + week report tables
2026-06-03 09:26:00 +02:00
mika kuns
10d86b4bd6
feat(data): add daily note + week report entities and report settings
2026-06-03 09:24:23 +02:00
mika kuns
f72cfae7d9
docs: add weekly report implementation plan
2026-06-03 09:19:08 +02:00
mika kuns
e5a2ed250d
docs: add report prompt and day-major pivot to weekly report spec
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 08:52:25 +02:00
mika kuns
536d819328
docs: add weekly report feature design spec
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 08:40:19 +02:00
mika kuns
869cf72abe
feat(ui): use a 24h TimePicker for prime schedule time entry
...
Release / release (push) Successful in 35s
Replace the free-text time TextBox (which silently reset bad input to 07:00)
with Avalonia's TimePicker (24-hour, 5-minute steps), making invalid times
impossible. Drops the now-unused TimeSpanToHhmmConverter.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v1.6.0
2026-06-02 17:03:04 +02:00