Conversation
…sions, duplicate, and favorites
…tification routes
…ive, duplicate, and favorites
…mbership checks; add ErrPageBadRequest
…ion_html on UpdateContent
…raphy, and emoji logo
…ble archive button
…age change, logo wiring
…ted-at, drop dead publish
…er pills above the list
Member
Author
will merge tomorrow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant enhancements to the API, focusing on notifications, issue subscriptions, and page management. It adds new endpoints for managing notification states (such as snoozing, archiving, and unread counts), introduces subscription endpoints for issues, and refactors the page handler to support more flexible queries and better error handling. Additionally, it updates several Go module dependencies.
Notification API Enhancements:
NotificationHandlerfor snoozing (Snooze/Unsnooze), archiving (Archive/Unarchive), and marking notifications as unread (MarkUnread). Also, added an endpoint to get unread counts with mention breakdown (UnreadCount). TheListendpoint now supports filtering by unread, mentions, and archived state. [1] [2] [3]Issue Subscription API:
IssueHandlerto allow users to check if they are subscribed to an issue, subscribe, and unsubscribe. These endpoints provide better control for users to manage their issue notifications.Page API Improvements:
PageHandlerto support more flexible listing with filters (such as archived, parent, search, and ownership), added a new endpoint for listing child pages, and centralized error handling for consistent API responses.Dependency Updates:
api/go.mod, including upgrades togolang.org/x/crypto,golang.org/x/net,golang.org/x/tools, and others for improved security and compatibility. [1] [2]Closes #98
Closes #42
Note
Medium Risk
Moderate risk because it introduces new persistence models and API endpoints (issue subscriptions, notification snooze/archive, page versions/favorites) and changes core notification fan-out behavior; correctness depends on DB schema/migrations and preference/subscriber wiring.
Overview
Adds a full issue-following + notification fan-out pipeline: introduces
issue_subscriberswith subscribe/unsubscribe endpoints, auto-subscribes assignees/commenters/mentions, and emits in-app notifications for assignments, mentions, comments, state changes, and other field changes (with structuredmessagepayloads and cleanup on issue delete).Expands the notifications inbox API to support unread counts (with mention breakdown), filtering (unread/mentions/archived), and per-notification actions (mark unread, archive/unarchive, snooze/unsnooze), backed by new store methods and new
Notificationfields (sender,snoozed_till).Significantly upgrades pages: adds richer
Pagefields, server-side list filtering, hierarchical navigation (parent_id+ children listing), owner-only meta updates vs content autosave, lock/archive/delete semantics, duplication, version history/restore viapage_versions, and page favorites viauser_favorites.UI updates wire these capabilities: adds a polling header
NotificationBell, revampsNotificationsPagewith tabs (All/Mentions/Archived) and actions (read/unread, archive, snooze, open issue) using the structured payload renderer, and adds an issueSubscribeButton. Also bumps Gox/*dependencies and increments UI version to0.7.0.Reviewed by Cursor Bugbot for commit a054db2. Bugbot is set up for automated code reviews on this repo. Configure here.