Detail panel: percentage-based sizing with persistence
Details
The list/detail split panel now defaults to 50/50 and can be resized
between 25% and 75% of the available width. The ratio is persisted via
plugin settings so it survives navigation and app restart.
- ViewModel: add DetailPanelRatio property (0.25–0.75, default 0.5),
loaded from settings on construction, saved on resize release
- AXAML: remove fixed Width/MinWidth/MaxWidth from ListDetailPanel,
add SizeChanged handler on split grid
- Code-behind: OnSplitGridSizeChanged applies the ratio whenever the
grid resizes (window resize, etc). Resize drag clamps to 25%–75%
of available width and persists the new ratio on release.
Fix wiki page selection lost after visiting trash view
Details
When entering the trash view, the TreeView is hidden via IsVisible
binding. Avalonia clears SelectedItem on hidden TreeViews, which
nulled SelectedNode and lost the user's page context. On returning
from trash, no page was selected in the tree.
Fix: stash SelectedNode before entering trash, suppress the null
selection change while trash is showing, and restore the stashed
selection when leaving trash via FindNodeById.
Replace "Push to Wiki" text button with composite sync icon
Details
Swap the text-heavy "Push to Wiki" button for a compact icon-only
button that layers the GitHub octocat logo inside circular sync
arrows. Tooltip reads "Sync to GitHub Wiki". Matches the visual
language of the sync button in the Wiki Sources overlay.
Wiki sync: auto-push on save + delete from GitHub
Details
- Add DeletePageFromRemoteAsync to WikiSyncService: deletes the file
from the local clone and commits/pushes the removal to GitHub
- Wire into DeletePagePermanentlyAsync: when permanently deleting a
wiki page, remove it from GitHub first (non-fatal on failure)
- Update confirmation dialog for wiki pages to mention GitHub removal
- Auto-push wiki pages on save: after SaveCurrentPageAsync succeeds,
fire-and-forget PushPageAsync in background (non-fatal on failure)
- Keep manual "Push to Wiki" button as fallback for failed auto-pushes
Remove "Create Note from Task" feature — violates SDK boundary
Details
Tasks plugin must not be aware of Notes. The TaskToNoteService was
sending SDK messages directly to privstack.notes with hardcoded page
structure knowledge, and the context menus exposed "Create Note" items
in both the list view and detail panel.
Removed:
- TaskToNoteService.cs (entire file)
- ConvertToNoteAsync / ConvertToNoteByItemAsync relay commands
- "Create Note" menu item from list view context menu (TasksView.axaml)
- AI context menu from detail panel (TaskDetailPanel.axaml.cs)
- TaskToNoteService field and multi-param SetAiService wiring
Preserved: all other AI features (description rewrite, title generation,
Q&A description builder) which operate within the Tasks plugin boundary.
Get notified about new releases