Repository navigation
Server-side access checks: writes, reads, REST routes, notifications - #563
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…r's filter Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…uild-viewer, viewer-downloads) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 9, 2026
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 is the combined result of #559, #560 and #561. Those were merged into each other's branches (they were stacked), not into
dev, so none of their changes reacheddev: only #557 and #558 did. This pull request brings them todevin one go. It has no conflicts withdev, and I have not changed anything in it beyond what those three already contained.What it contains (6 commits)
updateProjectMembercan no longer be used to self-promote.getUser/getUsers(which returned password hashes) are deleted;send-email(an open mail relay),build-viewerandviewer-downloads(path traversal) now require sign-in and limit what they do.sendNotificationis an internal helper rather than an endpoint any signed-in user could call.See those three pull requests for the full rules, tables and test notes.
Testing
274 tests pass, including table-driven tests that call each write endpoint as a non-member and as a plain contributor (all refused, nothing written), the read queries' database calls, the REST routes, and a guard that the notification endpoint stays gone. Typecheck (apart from the existing
getJsonSchema.test.tserrors) and lint are clean.Not yet checked in the running app. Please test as a project manager and as a contributor before merging (a checklist is in the earlier pull requests): dashboard and widgets, task board and task pages, milestones and Gantt, contributors and teams, tags, roles, forms and folders, inviting and accepting invites, profile and password emails, feedback, and building and downloading a project summary.
🤖 Generated with Claude Code