From 5d800a71475c10aeb62b2f46f944424f86f90fd0 Mon Sep 17 00:00:00 2001 From: Adron Hall Date: Fri, 31 Jul 2026 17:36:56 -0700 Subject: [PATCH] Add public share links and auth self-service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Batch 5 of the parity build-out (branch feature/parity-v3). Builds clean in Debug and Release. Sharing: - Public share links for Lists and Documents — create / list / revoke / copy the URL, gated to items you own. Shape verified live 2026-08-01 (POST -> {token,url,role,expiresAt}, GET -> {shareLinks}, DELETE by token). Auth self-service (login window): - Register (email / username / password / display name), then auto-login - Forgot password (reset-request), with a login/register mode toggle Services: RegisterAsync, ForgotPasswordAsync, list + document share-link create/list/delete, ShareLink model. See the-gaps.md for remaining post-v1 items (watcher/collaborator member management needs a second test account + undocumented request bodies). Co-Authored-By: Claude Opus 4.8 (1M context) --- InterlinedList/LoginWindow.xaml | 55 ++++++++++++ InterlinedList/LoginWindow.xaml.cs | 18 +++- InterlinedList/Models/ShareLink.cs | 19 ++++ .../Services/InterlinedApiClient.Auth.cs | 20 +++++ .../Services/InterlinedApiClient.Documents.cs | 17 ++++ .../Services/InterlinedApiClient.Lists.cs | 18 ++++ .../ViewModels/DocumentsViewModel.cs | 80 ++++++++++++++++- InterlinedList/ViewModels/ListsViewModel.cs | 67 +++++++++++++- InterlinedList/ViewModels/LoginViewModel.cs | 76 ++++++++++++++++ InterlinedList/Views/DocumentsView.xaml | 81 +++++++++++++++++ InterlinedList/Views/ListsView.xaml | 90 +++++++++++++++++++ the-gaps.md | 21 +++++ 12 files changed, 557 insertions(+), 5 deletions(-) create mode 100644 InterlinedList/Models/ShareLink.cs create mode 100644 InterlinedList/Services/InterlinedApiClient.Auth.cs diff --git a/InterlinedList/LoginWindow.xaml b/InterlinedList/LoginWindow.xaml index 916a5c5..2031eb9 100644 --- a/InterlinedList/LoginWindow.xaml +++ b/InterlinedList/LoginWindow.xaml @@ -110,6 +110,26 @@ BorderThickness="1" Foreground="{DynamicResource TextBrush}"/> + + + + + + + + +