Repository navigation
OpenConceptLab/ocl_online#488 | Access-control leftovers: viewable counts, follows, pins, hierarchy URLs, events, GraphQL search - #990
Merged
Conversation
…unts, follows, pins, hierarchy URLs, events, GraphQL search
snyaggarwal
commented
Nov 11, 2026
snyaggarwal
left a comment
Contributor
Author
There was a problem hiding this comment.
Verdict: changes requested. The two inline P2 findings should be addressed before merge. GitHub does not allow a formal “Request changes” review on my own PR.
Verification: the focused users/events/GraphQL run passed 83 of 84 tests. test_fetch_concepts_global_search also failed alone under --keepdb; its shared Elasticsearch index and common search term make that result inconclusive for this PR. The new GraphQL search regression test passed alone.
… params skip the list cache, event visibility filters in the database by URL position, summary counts, verbose map-project CSV, registry in canonical mapping test
…l_content follows the HEAD, CSV exports apply q, event filter reads public access as is_public_access does
…ticsearch-searched lists, from the hits as before; ES tag on the org search export test
…gs before searching Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
snyaggarwal
added a commit
that referenced
this pull request
Nov 12, 2026
…unts, follows, pins, hierarchy URLs, events, GraphQL search (#990) * OpenConceptLab/ocl_online#488 | Access-control leftovers: viewable counts, follows, pins, hierarchy URLs, events, GraphQL search * OpenConceptLab/ocl_online#488 | Review fixes: per-requester hierarchy params skip the list cache, event visibility filters in the database by URL position, summary counts, verbose map-project CSV, registry in canonical mapping test * OpenConceptLab/ocl_online#488 | Adversarial review fixes: can_view_all_content follows the HEAD, CSV exports apply q, event filter reads public access as is_public_access does * OpenConceptLab/ocl_online#488 | CSV q without type searches only Elasticsearch-searched lists, from the hits as before; ES tag on the org search export test * OpenConceptLab/ocl_online#488 | Org search export test indexes its orgs before searching Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Access-control leftovers from OpenConceptLab/ocl_online#488.
Users
orgs,owned_orgs,sources,collections) cover only what the requester can view; the user and staff still see all.bookmarksis shown to the user and staff only.object: null, so they can unfollow them./users/<u>/following/?q=no longer runs a user search.extrasis hidden from anonymous requesters on verbose user lists and on the single-user detail, matching/users/<u>/extras/, which needs sign-in.includeInactiveis staff only, for lists and forq=search. The user index gainsis_activeto support this.Pins
/users/<u>/pins/is readable by that user and staff only, matchingincludePins. Org pins are unchanged.Concept hierarchy
includeParentConceptURLs,includeChildConceptURLs,includeHierarchyPathorincludeSummaryskip the shared repo version list cache, asincludeParentConceptsandincludeChildConceptsalready did, since their responses differ per requester.parent_concept_urls,child_concept_urls,includeHierarchyPath, the parents and children list URLs, the summary counts and the sourcehierarchy/endpoint include only concepts the requester can view.Repos and collections
can_view_all_contentrefuses instead of raising for a user-owned private repo checked for another user. It also followshas_view_accessfor a public version of a private HEAD, so a collection expansion no longer takes that version's content for a reference creator who lost access.includeResolvedRepoVersionsdrops resolved repo versions the requester can't view (also the resolve debug view).Events
conceptsormappingsis classified correctly.GraphQL
Other bugs
/user/map-projects/is limited to the current user.?csv=true&q=withouttypeno longer returns a 500. On Elasticsearch-searched lists it exports the search's hits, liketype(at most 100); lists that applyqin the database keep their export, up to 1,000 rows. A search with no hits gives an empty file instead of a 500.Behaviour changes for clients (TBv3 is prepared by OpenConceptLab/oclweb3#101, which should deploy first)
bookmarksis hidden on other users' profiles.extrasis hidden from anonymous requesters on user lists and user detail.object: null.Deploy: rebuild the
user_profilesindex once. Until then, accounts deactivated earlier still show in user search.Note for #897: this changes
core/graphql/queries.py, so that PR needs a rebase.🤖 Generated with Claude Code