[FEAT] Make Settings -> Accout Settings Fully functional#10
Merged
martian56 merged 2 commits intoMar 8, 2026
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Implements end-to-end “Account Settings” functionality by adding user self-service APIs (profile, password, notification preferences, activity feed, API tokens) and wiring them into the Settings UI.
Changes:
- Added new authenticated backend endpoints for updating
/users/me, password changes, notification preferences, activity feed, and API token CRUD. - Introduced stores/models for user notification preferences and API tokens, plus store helpers for activity feed (comments/issues).
- Updated the Settings page UI to call the new endpoints and added TypeScript API types + UI service wrapper.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| ui/src/services/userService.ts | Adds FE service methods for new account-management endpoints. |
| ui/src/pages/SettingsPage.tsx | Implements functional Account Settings UI (profile, preferences, notifications, security, activity, tokens). |
| ui/src/api/types.ts | Adds TS request/response types for new user/account endpoints. |
| ui/package.json | Bumps UI package version. |
| ui/package-lock.json | Updates lockfile version metadata to match UI version bump. |
| api/internal/store/user_notification_preference.go | Adds persistence layer for global user notification preferences. |
| api/internal/store/issue.go | Adds ListByIDs to support activity feed issue lookups. |
| api/internal/store/comment.go | Adds ListByCreatedByID to fetch user comment activity. |
| api/internal/store/api_token.go | Adds store for creating/listing/revoking API tokens with hashed storage. |
| api/internal/router/router.go | Registers new routes and wires new stores/handlers. |
| api/internal/model/user_notification_preference.go | Adds model for user_notification_preferences. |
| api/internal/model/api_token.go | Extends API token model with expired_at. |
| api/internal/handler/user.go | Adds /api/users/me/activity/ endpoint. |
| api/internal/handler/auth.go | Adds handlers for update-me, change-password, notification prefs, and token management. |
| api/internal/auth/service.go | Adds service methods for profile updates and password changes. |
Files not reviewed (1)
- ui/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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 a set of new use account management features and supporting infrastructure, focusing on user profile updates, password changes, notification preferences, API token management, and a basic user activity feed. The changes include both backend service logic and new HTTP API endpoints, as well as model and store implementations for notification preferences and API tokens.
Key changes include:
User Account Management Endpoints:
/api/users/me/activity/) that returns recent comment activity by the user, including related issue information.Supporting Service and Store Logic:
UpdateProfileandChangePasswordmethods to the authentication service, handling profile updates and secure password changes.ApiTokenStorefor secure token creation, listing (without secrets), and deletion, with hashed token storage and expiration support.UserNotificationPreferenceStoreand related model for storing and updating per-user notification settings.CommentStoreandIssueStorewith new methods for fetching user activity and related issues efficiently. [1] [2]Model Updates:
ApiTokenmodel to include anExpiredAtfield for token expiration.UserNotificationPreferencemodel for customizable notification settings.Router and Dependency Wiring:
These changes collectively provide users with greater control over their account, security, and notification preferences, as well as visibility into their recent activity.
References:
Closes #9