Meta tags:
description= Huly — All-in-One Project Management Platform (alternative to Linear, Jira, Slack, Notion, Motion) - Mention-grants: Collaborator-based cross-space access for @-mentions by MichaelUray · Pull Request #10895 · hcengineering/platform;
Headings (most frequently used words):
uh, oh, mention, huly, grants, collaborator, based, cross, space, access, for, mentions, to, saved, searches, navigation, platform, michaeluray, feat, what, this, footer, commented, may, 30, 2026, loading, search, code, repositories, users, issues, pull, requests, provide, feedback, 10895, menu, use, filter, your, results, more, quickly, 10895michaeluray, wants, merge, 33, commits, intohcengineering, develophcengineering, developfrom, grantsmichaeluray, grantscopy, head, branch, name, clipboard, conversation, builds, architecture, sketch, is, opt, in, tests, live, deployment, evidence, sign, off, edited, there, was, an, error, while, please, reload, page, github, staging, bot, reviewers, assignees, labels, projects, milestone, development, participant,
Text of the page (most frequently used words):
the (256), #github (70), michaeluray (70), signed (62), users (62), off (60), space (59), michael (58), uray (58), noreply (58), com (58), collaborator (58), and (56), for (52), only (42), from (41), class (37), mention (36), this (35), collab (35), commit (31), that (30), not (30), issue (28), with (28), guest (27), grants (26), grant (26), cherry (25), picked (25), new (25), user (25), via (23), tracker (23), access (23), member (23), true (22), feat (22), middleware (21), projects (20), mentions (18), hcengineering (18), are (18), they (18), issues (17), doc (17), postgres (17), branch (17), all (17), when (17), chunter (17), providesecurity (17), can (16), docs (16), code (16), filter (16), spaces (16), trigger (16), server (16), security (15), comment (15), fix (15), members (15), project (15), add (14), false (14), read (14), core (14), into (14), huly (14), opt (14), disclosure (14), non (14), resources (14), message (14), any (14), existing (13), query (13), test (13), src (13), now (12), has (12), adapter (12), null (12), self (12), visibility (12), cannot (11), applied (11), may (11), undefined (11), svelte (11), dialog (11), but (11), was (10), already (10), cross (10), foundations (10), packages (10), classcollaborators (10), mentionsgrantaccess (10), grantsaccess (10), send (10), edit (10), your (10), caller (10), you (9), pull (9), text (9), veto (9), findall (9), reference (9), added (9), components (9), guests (9), sub (9), against (9), navigator (9), before (9), records (9), model (9), target (9), step (9), field (9), platform (9), 2026 (8), while (8), change (8), per (8), reload (8), open (8), commits (8), mentioned (8), ref (8), pre (8), side (8), nav (8), who (8), its (8), classes (8), suggestion (7), check (7), suggestions (7), merge (7), die (7), guard (7), explicit (7), level (7), v3b (7), which (7), workbench (7), still (7), client (7), them (7), tree (7), see (7), same (7), spacesecurity (7), view (7), composer (7), please (6), request (6), single (6), because (6), there (6), loading (6), page (6), sign (6), tests (6), storage (6), backend (6), mongo (6), bypass (6), develop (6), copy (6), sees (6), node (6), without (6), game (6), helper (6), popup (6), path (6), use (6), actually (6), both (6), system (6), update (6), set (6), every (6), unchanged (6), plugins (6), where (6), list (6), their (6), other (6), behavior (6), editors (6), returns (6), enterprise (6), status (5), one (5), changes (5), were (5), error (5), hidden (5), review (5), nicht (5), txupdatedoc (5), domain (5), nodes (5), today (5), milestones (5), templates (5), those (5), person (5), auto (5), iscollabonlyproject (5), reactive (5), important (5), through (5), v3c (5), flow (5), author (5), dedup (5), adds (5), shared (5), whose (5), surface (5), record (5), follow (5), tooltip (5), does (5), empty (5), then (5), readonlyguest (5), effect (5), would (5), warning (5), 10783 (5), search (5), time (4), community (4), navigation (4), closed (4), show (4), what (4), editor (4), fail (4), return (4), das (4), und (4), addsecurity (4), flag (4), package (4), carries (4), future (4), silently (4), hide (4), dependency (4), attribute (4), default (4), explicitly (4), also (4), session (4), used (4), types (4), v3d (4), correctly (4), grantee (4), never (4), skips (4), preserves (4), across (4), membership (4), inside (4), three (4), filtered (4), florian (4), listed (4), reads (4), admin (4), accounts (4), tab (4), own (4), callers (4), parent (4), thread (4), granttarget (4), bit (4), refs (4), 9741 (4), chatmessage (4), rush (4), effectivereadonly (4), caneditissuefields (4), cancel (4), based (4), support (4), back (3), line (3), comments (3), resolved (3), must (3), create (3), supported (3), batch (3), none (3), account (3), conversation (3), characters (3), contains (3), unicode (3), appears (3), isforbiddencollabonlyguestfieldupdate (3), bei (3), guestpermissions (3), opted (3), txremovedoc (3), write (3), spacesecuritymiddleware (3), spacecollabbypass (3), einem (3), apply (3), after (3), wrong (3), link (3), will (3), scope (3), did (3), found (3), workspace (3), blocker (3), instead (3), public (3), type (3), removed (3), pass (3), unit (3), v3a (3), activeclasses (3), cast (3), walks (3), getancestors (3), draft (3), input (3), unsent (3), actor (3), denied (3), uses (3), stays (3), second (3), work (3), isprojectjoined (3), render (3), end (3), entries (3), down (3), keep (3), chain (3), opts (3), provideattachedsecurity (3), out (3), verified (3), subscribed (3), containing (3), layers (3), exists (3), _id (3), becomes (3), rule (3), alongside (3), semantics (3), build (3), until (3), two (3), rows (3), clause (3), sql (3), resolvementiongranttarget (3), gate (3), todays (3), driven (3), targetdoc (3), qms (3), love (3), editissue (3), title (3), dates (3), split (3), cancomment (3), gets (3), caneditissue (3), fields (3), too (3), name (3), 10895 (3), insights (3), actions (3), requests (3), settings (3), another (3), window (3), refresh (3), saved (3), documentation (3), feedback (3), grade (3), features (3), copilot (3), solutions (3), explore (3), action (2), manage (2), footer (2), reviews (2), marked (2), lines (2), made (2), development (2), milestone (2), yet (2), labels (2), have (2), free (2), file (2), bidirectional (2), than (2), below (2), more (2), ohne (2), jetzt (2), regression (2), ein (2), deckt (2), drei (2), bypaesse (2), selfcollabbypass (2), auf (2), leak (2), eine (2), der (2), adaptermanager (2), fuer (2), bleibt (2), kein (2), fixes (2), tracking (2), sorry (2), something (2), went (2), reactions (2), markdown (2), commented (2), updatespecials (2), extends (2), views (2), next (2), note (2), array (2), includes (2), threw (2), leaving (2), badge (2), design (2), address (2), findings (2), tiptap (2), emits (2), data (2), dimmed (2), opacity (2), sanity (2), fire (2), specials (2), tracks (2), dep (2), require (2), include (2), import (2), applymentiongrantchoices (2), attrs (2), derived (2), typeof (2), drop (2), 64105d1 (2), covered (2), hierarchy (2), uncovered (2), ancestors (2), production (2), style (2), stub (2), matches (2), intent (2), 8e825a5 (2), onmessage (2), handlecreate (2), cancelling (2), lost (2), boolean (2), submit (2), onchatmessageupdated (2), kept (2), original (2), modifiedby (2), applymentiongrants (2), chuntertrigger (2), nothing (2), runs (2), edited (2), state (2), provenance (2), revoke (2), creation (2), enforcement (2), decision (2), grantees (2), shows (2), markup (2), wins (2), extractreferences (2), keeps (2), attr (2), done (2), dim (2), icon (2), intlstring (2), resolves (2), queries (2), visibleif (2), remains (2), scoped (2), fetched (2), result (2), declaration (2), track (2), index (2), his (2), remain (2), directly (2), acc (2), domain_space (2), hosting (2), naming (2), readable (2), opens (2), subscription (2), appends (2), always (2), first (2), applies (2), even (2), calls (2), additionally (2), maintainer (2), docguest (2), take (2), names (2), api (2), gain (2), channels (2), chatmessageinput (2), attachedto (2), targets (2), case (2), notification (2), direct (2), entry (2), description (2), panels (2), need (2), cancommentonissue (2), creator (2), previously (2), tier (2), additional (2), visible (2), post (2), createaccesslevel (2), unaffected (2), find (2), ancestor (2), isomorphic (2), threadmessage (2), chat (2), subsequent (2), should (2), plan (2), infrastructure (2), surfaces (2), picker (2), 982 (2), architecture (2), skip (2), wants (2), head (2), clipboard (2), quality (2), wiki (2), discussions (2), appearance (2), available (2), searches (2), repositories (2), business (2), advanced (2), developer (2), topics (2), source (2), customer (2), services (2), devops (2), app (2), perform, share, personal, information, cookies, contact, privacy, terms, inc, right, later, queued, multi, pending, been, outdated, order, valid, applying, deleted, viewing, subset, invalid, participant, successfully, merging, close, these, assigned, assignees, reviewers, join, interpreted, compiled, differently, reveals, learn, about, gab, aufloesbarem, zurueck, mutation, erlaubt, aufgeloesten, laesst, sich, mitgliedschaft, beweisen, verboten, decken, 6515433, fehlendem, griff, nur, gast, konnte, loeschen, 7a67e3f, auch, collabreadbypass, entfernten, den, ueberliessen, einschraenkung, einer, klausel, ausschliesslich, existiert, aequivalent, hat, keine, seitige, fuehrte, weglassen, des, filters, lieferte, dokumente, aller, option, neues, capability, dbadapter, supportscollaboratorsecurity, setzt, ermittelt, ueber, getadapterbyname, getadaptername, zustaendige, gated, alle, hinter, zentralen, iscollabbackendsupported, unbekanntes, unterstuetztes, greift, normale, erhalten, feature, ist, dann, inaktiv, akzeptabel, deprecated, tdd, collabspacesecurity, fuehrt, gegen, gemockte, pipeline, prueft, ausgehende, beide, backends, faellt, weg, unsupported, ausgeschlossen, gesamtes, gruen, a8bcff9, 9e09351, chore, repo, formatting, lint, conflicts, a075582, remote, upstream, mentio, july, ready, task, sharing, connected, uberf, 16493, bot, staging, hard, coded, assumes, holds, flip, implicit, behavioral, fff3873, limit, sample, templated, store, cockroach, expression, uuid, typeerror, block, swallowed, throw, broke, mentiontestws, welcome, example, 8299469, 4fc65bd, independent, parsed, violating, parsehtml, normalises, plus, renderhtml, belt, suspenders, emoji, iconned, iconwithemoji, addmentions, hung, confirms, selected, timeout, legacy, miss, stale, got, mid, collabonly, parameter, fails, strict, tsc, jest, replaced, esm, guarded, lets, throws, stay, green, 33fb480, 3f617d0, blockers, introduced, since, double, wrapped, flagged, incompatible, callsites, expect, extra, wrapper, intended, 08db50f, correct, getclasscollaborators, scaffold, patched, classhierarchymixin, isderived, uncoveredclass, reaching, early, returning, inherit, 74d2b01, permission, async, cleared, await, therefore, handleedit, awaits, drops, clears, dispatches, successful, 34bc13a, 3f3902e, preserve, cancelled, rebuilt, current, checked, txprocessor, updatedoc2doc, reflects, authored, 7cb590f, a3a7efb, logic, ones, ops, removes, diff, safely, remove, sourced, removal, deferred, rendered, stream, 650ed5e, 206d6f2, authoritative, asserts, produces, 1c8cd3e, 4b26a76, honour, move, context, knows, checkbox, unchecking, rewrites, pure, left, untouched, 49c5117, 5405d2b, choices, string, referencemarkupnode, referencenode, round, trips, e219510, e8878ac, references, backs, moved, built, object, helpers, mirroring, spec, assertion, perspective, walk, documented, needs, auth, 27d2c58, 765b2eb, persists, moves, reuse, expose, rather, internally, promise, 2227bed, 6a3ab49, lands, fallback, anything, come, silent, dead, projectspacepresenter, derive, four, else, narrowing, control, navigate, elsewhere, collection, etc, here, relaxed, touching, underlying, c76073c, 186c11e, merged, each, spacesnav, ran, resource, returned, hashed, passed, component, immediately, refactor, top, downstream, diagnostic, console, log, helped, extend, attached, reuses, lookup, works, dk3, special, 97b58bd, 7028bbe, could, url, appeared, fires, collects, unique, ids, fetches, narrowed, merges, displayed, skipped, admins, primary, everyone, surfaced, clicking, thanks, earlier, ae40806, attachedtoclass, became, saw, introduces, consistent, whenever, queried, domain_collaborator, requested, receives, row, included, visibly, affected, typically, collaborate, 51fa7ba, 592e78b, allow, collaborat, allowed, strips, foreign, database, ever, defeated, collabres, getsecurityclause, receive, though, role, joins, giving, individual, activitymessage, docupdatemessage, roles, owner, adapters, currently, implement, takes, deployments, fall, 5db9184, 51008bd, let, secured, submitting, whether, messagebox, confirmation, framing, standard, enforced, creates, scripted, replies, root, shown, ab212db, 2fd8e7f, warn, replaces, prior, branches, reply, otherwise, land, routing, dms, ad78e4e, 96a3b58, gra, imports, indirect, webpack, module, resolution, requires, json, pnpm, lock, regenerated, 7c58a56, ce41644, dependencies, able, unlocking, separate, variables, withoutinput, readonly, props, using, 7449ad0, 74ed380, separately, commentonissue, conflated, ended, enabled, permissive, blocked, restrictive, backwards, compat, alias, migrated, migrates, pairs, rejects, layer, route, around, raw, b49c7c5, 05a23bf, utils, guestpermissionsmiddleware, agnostic, triggered, targeted, models, flags, inherits, identical, zero, rules, reach, get, forbidden, try, scenario, modify, editing, oskos, ostrowo, b2ddad6, permissions, updates, lper, depth, capped, nearest, injection, actual, writes, f7b9a99, b195cb3, collaborators, sets, opting, cards, together, bbf25b6, d9f7fca, odel, mirrors, runtime, schema, follows, bare, annotation, pattern, decorators, internal, facing, locale, needed, 9135923, prop, ede2852, wire, tclasscollaborators, indicate, activity, messages, granting, disclosed, unless, itself, preserved, superpowers, plans, accompanying, wiring, fcc426f, ed889ed, dco, compliant, intentionally, squashed, traceability, squash, fine, preferred, unprivileged, intact, table, expected, lists, deployed, hosted, 423, instance, cockroachdb, specifically, exercised, live, deployment, evidence, exit, errors, validate, install, mentiongrantstrigger, mentiongrants, suite, txcreatedoc, sketch, ignores, strictly, retract, anyone, granted, removedoc, passes, values, employee, asks, confirm, dedups, union, comes, batched, marks, hides, projection, filtering, hold, edge, reachable, deep, gymnastics, cooperate, builds, generic, provider, rolling, complete, screenshots, companion, someone, supports, wires, authoring, addcollaborator, contributor, files, changed, checks, options, 785, star, fork, notifications, dismiss, alert, switched, resetting, focus, qualifiers, our, results, quickly, email, contacted, piece, very, seriously, provide, syntax, tips, clear, jump, pricing, premium, ons, powered, collections, trending, archive, program, stars, accelerator, lab, programs, fund, developers, sponsors, partners, trust, center, forum, skills, ebooks, reports, events, webinars, stories, software, topic, industries, government, manufacturing, financial, healthcare, industry, cases, devsecops, modernization, nonprofits, startups, small, medium, teams, enterprises, company, size, marketplace, changelog, blog, why, stop, leaks, start, secret, protection, secure, vulnerabilities, application, instant, dev, environments, codespaces, automate, workflow, workflows, integrate, external, tools, mcp, registry, agents, better, toggle, menu, content,
Text of the page (random words):
thanks to the earlier a5 a6 work components milestones and templates sub nodes will show empty for collab only projects signed off by michael uray michaeluray users noreply github com cherry picked from commit 64105d1 signed off by michael uray michaeluray users noreply github com fix nav surface collab only projects in tracker nav tree 7028bbe the workbench navigator already fetched collab only spaces and merged them into the spaces array but each spacesnav then ran its visibleif resource filter against the entries and tracker s isprojectjoined only returned true for members the result was that collab only projects were correctly fetched hashed and passed to the component then immediately filtered back out before render changes plugins workbench resources src components navigator svelte refactor activeclasses into a top level reactive declaration so svelte tracks it as a dependency in the downstream collab space query drop the diagnostic console log lines that helped track this down plugins tracker resources src index ts extend isprojectjoined return true also when the caller has any collaborator record attached to a doc inside this project reuses a6 self collaborator visibility so the lookup works for guests that are not space members verified end to end against the dk3 test workspace florian guest collab on game 4 only now sees the game design project in his your projects tree with the issues special filtered down to only the docs he is actually a collaborator on components milestones templates remain empty for the same caller signed off by michael uray michaeluray users noreply github com cherry picked from commit 97b58bd signed off by michael uray michaeluray users noreply github com fix tracker nav hide non issues sub nodes on non member projects 186c11e a9 follow up to the mention grants nav tree work when a guest sees a project in your projects because they are a collaborator on a doc inside it a7 or any non member who lands a project in the tree via the new isprojectjoined fallback a8 only the issues sub node has anything to render components milestones and templates have no providesecurity opt in so the postgres collab or branch does not fire on them and the queries come back empty the user sees three silent dead end entries fix in projectspacepresenter derive iscollabonlyproject from space members membership and filter the specials down to id issues when the caller is not a member members keep all four sub nodes the visibleif chain for collab only projects keeps issues and nothing else this is a ui only narrowing backend visibility is unchanged a5 a6 a7 still control what the user can actually see when they navigate elsewhere the postgres adapter still does its filter and the middleware bypass remains scoped to providesecurity classes if a future class opts into providesecurity provideattachedsecurity for a project sub collection components etc the filter here can be relaxed without touching the underlying security model signed off by michael uray michaeluray users noreply github com cherry picked from commit c76073c signed off by michael uray michaeluray users noreply github com feat tracker nav v1 badge tooltip for collab only projects 6a3ab49 reuse the existing iscollabonlyproject reactive to dim the icon 0 6 opacity and expose a tooltip on projects the user only sees via a mention grant rather than membership tooltip uses the use tooltip action so the intlstring resolves internally no promise in an attribute signed off by michael uray michaeluray users noreply github com cherry picked from commit 2227bed signed off by michael uray michaeluray users noreply github com test tracker v2 mention grant persists after issue moves to done 765b2eb regression guard a user mentioned in an issue comment stays a collaborator the record that backs read access after the issue is moved to done built on the sanity page object helpers mirroring the existing mentions spec assertion style guest perspective ui walk is a documented follow up needs a second auth storage state signed off by michael uray michaeluray users noreply github com cherry picked from commit 27d2c58 signed off by michael uray michaeluray users noreply github com feat text core v3a grantsaccess attr on mention references e8878ac add a string grantsaccess true false undefined to referencemarkupnode and surface it on extractreferences with any wins dedup a person is denied only if every reference to them is explicitly false undefined preserves pre v3 grant by default tiptap referencenode keeps the data grants access attribute across editor round trips signed off by michael uray michaeluray users noreply github com cherry picked from commit e219510 signed off by michael uray michaeluray users noreply github com feat chunter v3b per grantee grant choices in send disclosure 5405d2b move the grant decision from the context free mention popup into the send time disclosure which already knows the grant target space members and new grantees the dialog shows a checkbox per new grantee unchecking rewrites every reference to that person in the message markup to grantsaccess false all of them so any wins cannot re grant via the pure applymentiongrantchoices helper existing members mentions are left untouched signed off by michael uray michaeluray users noreply github com cherry picked from commit 49c5117 signed off by michael uray michaeluray users noreply github com feat chunter trigger v3c honour grantsaccess false on mentions 4b26a76 the mention grants trigger now skips collaborator creation for any reference whose grantsaccess is explicitly false set by the v3b send time disclosure undefined still grants pre v3 default this is the authoritative server side enforcement the client disclosure filter is ux only covered by a chuntertrigger unit test that asserts a denied mention produces no collaborator tx signed off by michael uray michaeluray users noreply github com cherry picked from commit 1c8cd3e signed off by michael uray michaeluray users noreply github com feat chunter trigger v3d add only re grant on message edit 206d6f2 add an onchatmessageupdated branch that re runs the mention grant logic on an edited message s new text it only adds collaborator records existing ones dedup to no ops and never removes txupdatedoc carries no pre update state to diff against and collaborator has no provenance to safely remove mention sourced grants by revoke on removal is deferred to a future provenance model shared with the rendered mention revoke stream signed off by michael uray michaeluray users noreply github com cherry picked from commit 650ed5e signed off by michael uray michaeluray users noreply github com fix chunter trigger v3d update grant uses the edit actor add tests a3a7efb onchatmessageupdated rebuilt the message via current message which kept the original author s modifiedby so applymentiongrants system guard checked the wrong actor use txprocessor updatedoc2doc so modifiedby reflects the edit tx add chuntertrigger unit tests for the update path new mention grant denied mention v3c on edit existing collaborator dedup system authored edit grants nothing and non message update no op signed off by michael uray michaeluray users noreply github com cherry picked from commit 7cb590f signed off by michael uray michaeluray users noreply github com fix chunter preserve unsent comment when grant dialog is cancelled 3f3902e v3b made the send flow async the per grantee disclosure popup but onmessage removed the draft and cleared the input before the popup resolved and did not await handlecreate cancelling the grant dialog therefore lost the unsent comment handlecreate handleedit now return a boolean onmessage awaits both and only drops the draft clears the input dispatches submit on a successful send edit signed off by michael uray michaeluray users noreply github com cherry picked from commit 34bc13a signed off by michael uray michaeluray users noreply github com test middleware stub hierarchy getancestors for guest permission un 74d2b01 covered class test isforbiddencollabonlyguestfieldupdate added by 8e825a5 walks the class hierarchy via getclasscollaborators getancestors the uncovered class test scaffold patched classhierarchymixin and isderived but not getancestors so the new code path threw ancestors not found test class uncoveredclass before reaching the production style early return returning from the stub matches the intent an uncovered class has no ancestors to inherit classcollaborators from signed off by michael uray michaeluray users noreply github com fix workbench resources navigator correct activeclasses cast to ref 08db50f class space 64105d1 introduced the activeclasses derived reactive but cast it to ref typeof core class space since typeof core class space is already ref class space that double wrapped the type to ref ref class space which svelte check correctly flagged as incompatible with the collab member query callsites that expect ref class space drop the extra ref wrapper and import class so the cast is to the actually intended ref class space signed off by michael uray michaeluray users noreply github com fix self review blockers important findings 3f617d0 address findings from the independent self code review b new 2 blocker tiptap grantsaccess attribute parsed to null instead of undefined violating the public type true false undefined parsehtml now normalises null undefined default undefined plus the node level renderhtml now explicitly emits data grants access belt and suspenders b new 3 blocker v1 emoji iconned collab only projects were not dimmed the iconwithemoji branch now also carries opacity 0 6 b new 1 blocker sanity addmentions helper hung on the new v3b disclosure popup it now confirms send with selected grants when the dialog appears 1s timeout for the legacy non disclosure path i new 6 important v1 reactive miss updatespecials did not re fire on iscollabonlyproject changes leaving stale specials when the user got added to removed from the project mid session pass collabonly as a parameter so svelte tracks the dep i new 7 important trigger test used require which fails strict tsc the package types only include types jest replaced with esm import i new 8 important applymentiongrantchoices guarded n attrs undefined which lets null through and throws on n attrs id use null instead all 18 mention unit tests stay green v3a 7 7 v3b helper 5 5 v3c v3d trigger 6 6 signed off by michael uray michaeluray users noreply github com cherry picked from commit 33fb480 signed off by michael uray michaeluray users noreply github com fix tracker v1 guard space members against null 4fc65bd sample auto templated tracker projects store members null in cockroach no explicit member array the v1 iscollabonlyproject expression did space members includes uuid without a null guard so it threw a typeerror on those projects svelte s reactive block swallowed the throw leaving iscollabonlyproject undefined the badge sub node hide silently broke found in mentiontestws welcome to huly and test workspace game design example fix space members signed off by michael uray michaeluray users noreply github com cherry picked from commit 8299469 signed off by michael uray michaeluray users noreply github com docs tracker v1 note scope limit on sub node hide fff3873 the hard coded sp id issues check in updatespecials assumes tracker class issue is the only class with mentions grant access opt in that holds today only issue carries classcollaborators mentionsgrantaccess true if a future change extends collab grants to components milestones or templates this check will silently hide those views for collab only guests add a comment so the next person to flip an opt in sees the implicit dependency no behavioral change comment only signed off by michael uray michaeluray users noreply github com huly github staging bot commented may 30 2026 copy link copy markdown connected to huly uberf 16493 all reactions sorry something went wrong uh oh there was an error while loading please reload this page michaeluray mentioned this pull request may 30 2026 docs task tracking sharing issues via mentions hcengineering huly docs 72 open michaeluray marked this pull request as ready for review may 30 2026 09 25 michaeluray added 5 commits july 2 2026 21 26 merge remote tracking branch upstream develop into feat huly mentio a075582 n grants signed off by michael uray michaeluray users noreply github com conflicts foundations core packages text src nodes reference ts chore apply repo formatting and lint fixes after develop merge 9e09351 signed off by michael uray michaeluray users noreply github com fix middleware backend guard collab read space filter bypass h5 a8bcff9 die drei collab read bypaesse in spacesecuritymiddleware findall collabreadbypass selfcollabbypass spacecollabbypass entfernten den space filter und ueberliessen die einschraenkung einer collab or klausel die ausschliesslich im postgres adapter storage ts addsecurity existiert auf einem backend ohne aequivalent mongo hat keine adapter seitige space security fuehrte das weglassen des filters zu einem cross space leak eine guest query lieferte dokumente aller spaces fix option a fail closed neues adapter capability flag dbadapter supportscollaboratorsecurity der postgres adapter setzt es true mongo nicht undefined die middleware ermittelt ueber adaptermanager getadapterbyname getadaptername domain das fuer die domain zustaendige backend und gated alle drei bypaesse hinter einem zentralen iscollabbackendsupported check unbekanntes nicht unterstuetztes backend bypass greift nicht der normale space filter bleibt erhalten kein leak das cross space collab feature ist auf mongo dann inaktiv akzeptabel da mongo in v7 deprecated tdd collabspacesecurity test ts fuehrt findall gegen eine gemockte pipeline und prueft die ausgehende query je bypass fuer beide backends supported filter faellt weg unsupported kein adaptermanager filter bleibt s2 ausgeschlossen 7 tests gesamtes middleware package 37 37 gruen signed off by michael uray michaeluray users noreply github com fix middleware collab only write veto deckt auch txremovedoc l rm 7a67e3f das mention grants veto griff nur bei txupdatedoc ein collab only gast konnte ein opted in doc via txremovedoc loeschen guard deckt jetzt txupdatedoc und txremovedoc ab signed off by michael uray michaeluray users noreply github com fix middleware guestpermissions fail closed bei fehlendem space l gp 6515433 isforbiddencollabonlyguestfieldupdate gab bei nicht aufloesbarem space false zurueck fail open mutation erlaubt ohne aufgeloesten space laesst sich die space mitgliedschaft nicht beweisen jetzt fail closed return true verboten tests decken l gp l rm regression ab signed off by michael uray michaeluray users noreply github 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 rev...
|