Dev
8a58140f9b
test(01-05): add failing tests for TranslationSource singleton
...
- Instance singleton test
- EN string lookup test
- FR culture fallback test
- Missing key returns bracketed key
- PropertyChanged fires with empty string on culture switch
- Same culture does not fire PropertyChanged
2026-04-02 12:14:49 +02:00
Dev
dd2f179c2d
docs(01-03): complete persistence layer plan — ProfileService + SettingsService
...
- SUMMARY.md: 7 files, 18 tests, write-then-replace pattern documented
- STATE.md: plan 03 complete, progress 38%, decisions recorded
- ROADMAP.md: phase 1 progress updated (3/8 plans done)
- REQUIREMENTS.md: FOUND-02, FOUND-10, FOUND-12 marked complete
2026-04-02 12:13:35 +02:00
Dev
ac3fa5c8eb
feat(01-03): SettingsRepository and SettingsService with write-then-replace
...
- AppSettings model: DataFolder + Lang with camelCase JSON serialization
- SettingsRepository: SemaphoreSlim write lock + write-then-replace (tmp→validate→move)
- SettingsService: GetSettings/SetLanguage/SetDataFolder; SetLanguage validates en/fr only
- All 8 SettingsServiceTests pass; all 18 Unit tests pass
2026-04-02 12:12:02 +02:00
Dev
769196dabe
feat(01-03): ProfileRepository and ProfileService with write-then-replace
...
- ProfileRepository: SemaphoreSlim write lock + write-then-replace (tmp→validate→move)
- ProfileRepository: camelCase JSON serialization matching existing schema
- ProfileService: CRUD operations (Add/Rename/Delete) with validation
- All 10 ProfileServiceTests pass (round-trip, missing file, corrupt JSON, concurrency, schema check)
2026-04-02 12:10:56 +02:00
Dev
ff29d4ec19
docs(01-02): complete core models and helpers plan — SUMMARY, STATE, ROADMAP updated
...
- 01-02-SUMMARY.md created with 7 files, 2 tasks, 1 auto-fix deviation
- STATE.md: progress 25% (2/8 plans), 2 new decisions added
- ROADMAP.md: phase 1 updated (2/8 summaries, In Progress)
- REQUIREMENTS.md: FOUND-05/06/07/08 marked complete
2026-04-02 12:08:16 +02:00
Dev
c2978016b0
feat(01-02): add SharePointPaginationHelper, ExecuteQueryRetryHelper, LogPanelSink
...
- SharePointPaginationHelper: async iterator with ListItemCollectionPosition loop (bypasses 5k limit); RowLimit=2000; [EnumeratorCancellation] for correct WithCancellation support
- ExecuteQueryRetryHelper: exponential backoff on 429/503/throttle; surfaces retry events via IProgress<OperationProgress>; max 5 retries
- LogPanelSink: custom Serilog ILogEventSink writing color-coded entries to RichTextBox via Dispatcher.InvokeAsync for thread safety
2026-04-02 12:06:39 +02:00
Dev
ddb216b1fb
feat(01-02): add Core models and WeakReferenceMessenger messages
...
- TenantProfile (plain class, mutable, fields match JSON schema: Name/TenantUrl/ClientId)
- OperationProgress (record with Indeterminate factory, used by all feature services via IProgress<T>)
- TenantSwitchedMessage (ValueChangedMessage<TenantProfile>, broadcast-ready)
- LanguageChangedMessage (ValueChangedMessage<string>, broadcast-ready)
2026-04-02 12:05:27 +02:00
Dev
41f8844a16
docs(01-01): complete solution scaffold plan — SUMMARY, STATE, ROADMAP updated
...
- 01-01-SUMMARY.md created with deviations, decisions, and metrics
- STATE.md: progress 13% (1/8 plans), 3 decisions added, metrics recorded
- ROADMAP.md: Phase 1 marked In Progress (1/8 summaries)
- REQUIREMENTS.md: FOUND-01 marked complete
2026-04-02 12:04:19 +02:00
Dev
eac34e3e2c
feat(01-01): add xUnit test project with 7 stub test files
...
- SharepointToolbox.Tests targeting net10.0-windows with UseWPF=true
- Moq 4.20.72 added for future mocking
- 7 stub test files across Services, Auth, ViewModels, Localization, Integration
- All tests marked [Fact(Skip)] referencing implementation plan — 0 failed, 7 skipped
- Solution build: 0 errors, 0 warnings
2026-04-02 12:02:30 +02:00
Dev
f469804810
feat(01-01): create WPF solution with Generic Host entry point and NuGet packages
...
- SharepointToolbox.slnx solution with WPF project
- net10.0-windows target, PublishTrimmed=false, StartupObject set
- App.xaml StartupUri removed, App demoted from ApplicationDefinition to Page
- App.xaml.cs: [STAThread] Main with Host.CreateDefaultBuilder + Serilog rolling file
- All NuGet packages: CommunityToolkit.Mvvm 8.4.2, MSAL 4.83.3, PnP.Framework 1.18.0, Serilog 4.3.1
- Build: 0 errors, 0 warnings
2026-04-02 12:00:47 +02:00
Dev
b4a901e52a
fix(01-foundation): revise plans based on checker feedback
...
- 01-04: wave 3 → 4 (01-03 is also wave 3; parallel executor would race)
- 01-06: wave 4 → 5 (cascades from 01-04 fix); add FeatureTabBase UserControl
for per-tab progress/cancel strip; bind StatusBar middle item to ProgressStatus
instead of ConnectionStatus per locked CONTEXT.md decision
- 01-07: wave 5 → 6 (cascades)
- 01-08: wave 6 → 7 (cascades)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:53:41 +02:00
Dev
eeb9a3bcd1
fix(01-foundation): revise plans based on checker feedback
...
- 01-03: wave 2 → wave 3 (depends on 01-02 which is also wave 2; must be wave 3)
- 01-06: add ProgressUpdatedMessage.cs to files_modified; add third StatusBarItem (progress %) to XAML per locked CONTEXT.md decision; add ProgressUpdatedMessage subscription in MainWindowViewModel.OnActivated()
- 01-08: add comment to empty <files> element (auto task with no file output)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:44:54 +02:00
Dev
ff5ac94ae2
docs(01-foundation): create phase plan (8 plans, 6 waves)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:38:35 +02:00
Dev
f303a60018
docs(phase-1): add research and validation strategy for foundation phase
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:29:00 +02:00
Dev
eba593c7ef
docs(01-foundation): research phase 1 foundation
...
Research covering WPF Generic Host wiring, MSAL per-tenant token cache
(MsalCacheHelper), CommunityToolkit.Mvvm async patterns, dynamic resx
localization, Serilog setup, JSON write-then-replace, and ObservableCollection
threading rules. Includes validation architecture and test gap list.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:27:50 +02:00
8102994aa5
docs: create roadmap (5 phases), research complete
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 10:14:13 +02:00
8a393aa540
docs: define v1 requirements (42 requirements across 8 categories)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 10:11:11 +02:00
0c2e26e597
docs: complete project research for SharePoint Toolbox rewrite
...
Research covers stack (NET10/WPF/PnP.Framework), features (v1 parity + v1.x
differentiators), architecture (MVVM four-layer pattern), and pitfalls
(10 critical pitfalls all addressed in foundation phase). SUMMARY.md
synthesizes findings with phase-structured roadmap implications.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 10:07:47 +02:00
d372fc10f2
chore: add project config, update gitignore for .planning/
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 09:54:02 +02:00
1619cfbb7d
docs: initialize project
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 09:52:41 +02:00
63cf69f114
docs: map existing codebase
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 09:28:40 +02:00
10bfe6debc
Merge branch 'main' of https://git.azuze.fr/kawa/Sharepoint-Toolbox
Release zip package / release (push) Successful in 1s
v1.0.6.3
2026-04-01 17:12:30 +02:00
945a4e110d
Update TODO.md
2026-04-01 17:12:24 +02:00
109d0d5f1e
Update TODO.md
2026-03-27 09:57:13 +01:00
b4f0fecad2
Merge branch 'main' of https://git.azuze.fr/kawa/Sharepoint-Toolbox
Release zip package / release (push) Successful in 1s
v1.0.6.2
2026-03-27 09:54:11 +01:00
903fa17f8a
Updated workflow to include CSV examples folder
2026-03-27 09:54:01 +01:00
693f21915d
Updated workflow to include CSV examples folder
Release zip package / release (push) Successful in 1s
v1.0.6.1
2026-03-17 11:03:23 +01:00
ab39e55194
Added mass-transfer
Release zip package / release (push) Successful in 1s
v1.0.6
2026-03-17 10:57:11 +01:00
a1edea3007
Cleanup2
Release zip package / release (push) Successful in 1s
v1.0.5
2026-03-17 10:36:59 +01:00
db0f87dc00
Cleanup
2026-03-17 10:36:41 +01:00
28e4c21e80
Added version cleanup feature
2026-03-17 10:35:39 +01:00
5c5e4b1415
Buttons size fix
2026-03-16 16:55:27 +01:00
086804edf9
Added functionnality : you can vcreate a whole folder tree by importing a CSV (see examples fodler)
2026-03-16 16:39:37 +01:00
9dc85c8057
Added sample CSV files for user/sites importation.
...
Release zip package / release (push) Successful in 1s
Fixed a few bugs.
v1.0.4
2026-03-16 13:45:00 +01:00
9bcbad5d5b
Ajoute de barres de recherches dans les rapports HTML de permissions et stockage
Release zip package / release (push) Successful in 1s
v1.0.3
2026-03-16 11:44:17 +01:00
0e5f67bfa4
Added 2 new features :
...
Release zip package / release (push) Successful in 1s
- File/folder transfer betrween sites
- Bulk site creation
v1.0.2
v1.0.1
2026-03-16 11:22:01 +01:00
14bb1a7c13
Merge branch 'main' of https://git.azuze.fr/kawa/Sharepoint-Toolbox
2026-03-11 11:05:52 +01:00
a256e30c59
New logo
2026-03-11 11:05:17 +01:00
2856964858
Update README.md
2026-03-10 17:11:07 +01:00
3ca58a4da0
Updated Workflow
2026-03-10 17:09:08 +01:00
2cc9d91f5a
Do not upload wiki files here
2026-03-10 15:29:05 +01:00
ee609cfaa4
Update
Release zip package / release (push) Successful in 0s
v0.9.0
2026-03-10 14:59:23 +01:00
245f2d6b69
Updated workflow
Release zip package / release (push) Successful in 9s
v1.0
2026-03-10 14:50:06 +01:00
ae0106eff9
Updated workflow
Release zip package / release (push) Failing after 3s
v1.0.0
2026-03-10 14:27:51 +01:00
ebcf1c871c
Added release workflow
2026-03-10 14:22:31 +01:00
ac97026100
Now stores the sites list so you can quickly modify your choices without reloading the whole list
2026-03-10 14:18:07 +01:00
b21460a8d9
Corrected an issue where the search for duplicate files also scanned and displayed different snapshots of the same file
2026-03-10 13:08:04 +01:00
176398d886
Added French translation
2026-03-10 11:47:15 +01:00
dda6ba2009
Added additionnal languages support
2026-03-10 11:46:02 +01:00
dd5c871b45
You can specify template and profiles folder
2026-03-10 11:04:08 +01:00