Repository navigation
Conversation
|
Updates to Preview Branch (eng-1837-add-a-public-status-in-the-database) ↗︎
Tasks are run on every commit but only new migration files are pushed.
❌ Branch Error • Tue, 20 Oct 2026 14:17:54 UTC View logs for this Workflow Run ↗︎. |
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
2 times, most recently
from
June 5, 2026 15:29
425bdec to
ece1239
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
June 22, 2026 13:52
ece1239 to
3457d0c
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
June 29, 2026 21:06
3457d0c to
57eb25a
Compare
mdroidian
marked this pull request as draft
July 30, 2026 20:18
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
August 1, 2026 16:38
57eb25a to
4258f48
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
August 23, 2026 18:33
4258f48 to
9ba89b3
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
August 26, 2026 20:58
9ba89b3 to
4b6e181
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
August 26, 2026 21:43
4b6e181 to
dccec7a
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
August 26, 2026 21:56
dccec7a to
51d4cdc
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
September 18, 2026 14:04
51d4cdc to
fa2a57f
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
September 28, 2026 02:30
fa2a57f to
ac45012
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
October 4, 2026 01:07
ac45012 to
036e2e7
Compare
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
2 times, most recently
from
October 8, 2026 20:04
036e2e7 to
301bf0c
Compare
* scaffold draft * add link * add template lab link * add zoteroroam imgs * add images * add canvas images * convert to mdx * Remove unused merton-canvas images Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: johnny1093 <46250921+jsmorabito@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…1535) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…1372) * scaffold pkm * add images * update pkm draft * canvas rec * callout * typo * edits * add canvas images * add gif * add text * add query images * update search & query * revise images * Update apps/website/content/roam/use-cases/build-utilize-personal-knowledge-base.mdx Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * typos * Update build-utilize-personal-knowledge-base.mdx - removed advanced node search image & caption - edited ref to dg native search - edited ref to wikilinks * Update build-utilize-personal-knowledge-base.mdx remove ref to "vault" * Update apps/website/content/roam/use-cases/build-utilize-personal-knowledge-base.mdx Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * Revert unrelated changes and fix MDX formatting Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: johnny1093 <46250921+jsmorabito@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
* scaffold sharing doc * update figures * article draft
…width on landing page (#1538) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…text-only About section on landing page (#1539) * ENG-2380 Extract shared section header and align Foundations section width on landing page Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * ENG-2316 Replace current About page and Tool choice section with new text-only About section on landing page Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
* Prototype an inline Roam relations browser * Use the Roam component mount lifecycle helper * Show and sort relations by creation date * Format relation dates as Month Day, Year * Batch relation endpoint reads in an asynchronous query
* ENG-2406 Refine the inline Roam relations browser * ENG-2406 Address relations browser review findings * ENG-2406 Inherit host text color for relation headers * ENG-2406 Preserve native header button contrast
* Replace Node-only deps so the plugin can load on mobile gray-matter requires `fs` and mime-types requires `path` at module load, so both throw at plugin load on Obsidian mobile. Replace them with local utilities and stop marking Node builtins external, so a future Node import fails the build instead of shipping. The mime table is generated from mime-db rather than curated: the caller skips every `text/` attachment, so an extension missing from it would silently start uploading transcluded notes as binary assets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M4E8D4VYPYHG3FRYDTXXG58A * Teach the obsidian test stub parseYaml parseFrontmatter now calls parseYaml, which the stub did not export, so importRelations' tests read every frontmatter as empty. Obsidian's parseYaml is `YAML.parse` from the `yaml` package, so the stub delegates to it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Ship the plugin with isDesktopOnly false Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Document that Obsidian mobile support is limited Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M4EK4RJSMRSJP7DA5VCAXSWG * Pin parseFrontmatter's behaviour and fix a misdirected comment The engine swap and the swallowed parse error had no tests of their own, and the comment on the markdown-link replacer pointed at the image pass as being above it when it runs below. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M4EK777W55T20BNRYMHXH4RD * Stop a prototype-named extension aborting asset sync An attachment named `x.constructor` read an inherited member out of the mime table, and the caller's `.startsWith` on it threw and ended the node's asset sync. `mime-types` returned the default here, so this was a regression. Null-prototyping the table makes the miss structural. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H0QVME2ME0S3ENM6X7V6AP * Say that advanced features are desktop only Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H7Q15TT8N88A88452CJCZE --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…#1536) * ENG-2323 Reject unsupported placeholders in Obsidian node formats The Format field now blocks formats with placeholders other than {content}, using the same placeholder rule as decorateTitle. Also removes the unused apps/obsidian/src/utils/validateNodeFormat.ts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H5SWF8GGWS6A6NNMTMCZ0Y * ENG-2323 Add return type to validateNodeFormat test helper Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H6BVH4WB0P9JDH4MNKJ9F4 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#1521) * ENG-2366 Show candidate nodes as results in Roam advanced node search Add a "Show candidate nodes" toggle to the advanced search toolbar. When on, blocks tagged with a node type's tag join the MiniSearch index and semantic search keeps candidate block hits alongside node pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M474H71Q8ZZST0ZFWWRX9DSH * ENG-2366 Match type filters on every tag a candidate block carries A block tagged with two node types stayed one row under the first type, so filtering by its other type hid it. Record all candidate types on the row and match the type filter against any of them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4754R1FVHXMFEVNF5410CHJ * ENG-2366 Show the candidate tag and page under candidate results Mirror Obsidian's candidate subtitle: each candidate row shows its node type tags and the page it lives on under the title. Candidate data moves into one `candidate` field that also carries the page title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4CANTF2BM1N2ANFDWDG596E * ENG-2366 Match candidate tags case-insensitively Node tag matching elsewhere in the plugin ignores case (getCleanTagText), so candidate search now finds blocks tagged with any casing of a node type's tag and strips those tags from the row title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4W7R2BKBGEWZWNHDS8NXSNR * ENG-2366 Skip the search index build while the dialog is closed Closing the dialog with candidates on re-ran the index effect and started a candidate scan that the reset immediately cancelled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4W80RE4RHTEQRKM97EXHAEW * ENG-2366 Address review findings on candidate tags and docked rows - Read `#[[tag]]` configs as the tag page title, and only strip a tag when it ends at a non-letter in any script. - Outline the candidate badge even when its node type has no color. - Docked candidate rows open their block directly and drop data-link-title, so Roam never resolves them as a page by title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4W89ND2QTXT1NBC7P3X1XJ6 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The Cloud laboratory section holds the only link to matsulab.com and will be removed. Link "MATSU Lab" in the Foundations Sharing card to the same URL and "Matt Akamatsu" to his GitHub profile, each kept in a shared constant. Hover and keyboard focus show the same light gray pill as the Share button in the card, without shifting the row. ScaledStage hides its content from assistive tech, so add an opt-in `interactive` mode that exposes it as a group for stages containing links. The card's transparent gradient overlay no longer intercepts clicks. Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Framework-free simulation for the animated graph background (nodes, edges that draw themselves, pulses, cursor capture, text-avoidance fading), plus a server-side helper that reads the pulse and edge colors from the shared Tailwind config. Includes unit tests for both. Nothing renders these yet. Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
* Add animated graph background to the landing page hero Replace the static hero image with a light-themed canvas animation built on the graph background utilities: self-drawing edges, occasional pulses, cursor attraction, and nodes that fade behind the headline and buttons. Respects prefers-reduced-motion and pauses when off screen. The header now has an explicit height (--header-height) that the hero reads to slide underneath it, and is translucent on pages that opt in with data-translucent-header, which is only the homepage hero. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Resize the graph canvas when the display pixel ratio changes Moving the window to a display with a different density changes devicePixelRatio without resizing the canvas, so the bitmap kept its old resolution and looked blurry. Track the applied ratio, resize the bitmap when either size or ratio changes, and re-run on pixel ratio media query changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Switch the contact section and footer to the light palette so they alternate with the surrounding sections, raise the footer copyright contrast, and add the graph background animation to the footer (without cursor following). Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
* ENG-2143 Add Roam and Obsidian round-trip tests * ENG-2143 Restore importer tests and take round-trip titles from the Obsidian push * ENG-2143 Pin import warnings and resolve Roam aliases on Windows * ENG-2143 Test each app's half of the source round trip in its own suite Entire-Checkpoint: 01M4DP96WR8PGFFVJ9JD1Z1EHG * ENG-2143 Cover plain-ID imported Sources and mock the relation fetch Entire-Checkpoint: 01M4DTHXD8CKN8P4VJDDFBCD77
… project filters (#1552) * DIS-617 Use Obsidian plugin label instead of assorted tasks project in ticket skill Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * DIS-617 Address review feedback on Obsidian label handling Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* ENG-2417 Restore gray-matter for Obsidian CI tests * ENG-2417 Use existing YAML tooling in Obsidian import tests
…oam search preview (#1537) * ENG-2367 Scroll to a candidate result in context of its page in the Roam search preview Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H5VZE41NEK55DN1838KCQ5 * ENG-2367 Type the flash cleanup's return Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H5X6KPB0FEMKQJG412E3E5 * ENG-2367 Unmount the preview render only after it settles Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H6EGPGW6M0R764KZ9MC20S * ENG-2367 Reset preview scroll when moving from a candidate to a node result Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H6RZBX9NGXPWPTYMF6PS91 * ENG-2367 Preview candidates as the zoomed block, expanded Per review, drop the full-page preview with scroll and flash. A candidate keeps the zoomed block with breadcrumbs, forced open so its children show without writing :block/open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Declare gray-matter for the Obsidian import tests ENG-2143 (#1529) added tests importing gray-matter without declaring it for apps/obsidian, which fails check-types on main. Test-only, so a devDependency. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ENG-2367 Start each search preview scrolled to the top Expanded candidates make previews taller, so the previous result's scroll offset showed up more often. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M53DXGES2G3VBH79GFCSGHJ7 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* ENG-2228 Add link support to tldraw text shapes in Obsidian Text shapes could not carry a link, so a canvas narrative could not open the source its text stands for. tldraw gates its Edit link action on the duck-type `'url' in shape.props`, and TLTextShape has no such prop -- so this is a schema change, not UI wiring. Adding the prop lights up the stock menu item, and a retroactive migration backfills `url: ""` on pre-existing text records, which is required both for validation and for those shapes to become link-eligible. The ticket names page links as the primary target, so the prop uses a wider protocol allowlist than tldraw's T.linkUrl (which permits only http/https/ mailto) and tldraw's EditLinkDialog is forked, since it rejects non-http protocols on input before the schema sees them. The fork keeps geo shapes on the strict validator, as their url prop is still stock. Clicking an obsidian:// link resolves it in-app rather than via the OS protocol handler. Both shape-util registration sites now share baseShapeUtils: the schema and the editor are built from separate arrays and nothing asserts they agree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Restrict text links to obsidian://open, and fix icon placement The protocol allowlist admitted any obsidian: URI, and the click handler only called preventDefault once it had parsed an open URL -- so anything else (advanced-uri's commandid, new?file=&content=) fell through to the anchor and reached the OS handler, letting a shared canvas act on the reader's vault in one click. Only obsidian://open with a file param is accepted now, and any obsidian: href is swallowed regardless of whether it parses. The link icon sat on the text: tldraw parks it in a geo shape's empty top-right corner, but a text shape is exactly as big as its text. It now sits just past the right edge. The override needs both class names -- styles.css is concatenated ahead of the vendored tldraw CSS, so one class ties on specificity and loses on source order, which had silently dropped the zoomed-out hide too. Also restores the two guards the edit-link override had dropped, so the dialog can no longer open empty; stops an invalid Enter writing the "https://" fallback that both validators reject; scopes the obsidian:// hint to text shapes, since the dialog also serves geo; and makes the shape-util swap assert rather than silently no-op. Removes the unit tests and vitest setup at the author's request. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Hoist link icon to icons.ts, and replay app migrations for schema-less files The icon SVG now follows the TOOL_ARROW_ICON_SVG pattern and is applied inline the way tldraw's own HyperlinkButton does, so the vendored tl-hyperlink__icon class supplies size and color and the data URI is no longer duplicated in styles.css. processInitialData's schema fallback now drops only this plugin's own sequence ids. Substituting the full current schema told loadSnapshot the records were already migrated, so the url backfill was skipped and store.put threw. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Use one schema fallback on both canvas load paths readDocumentRecords, the path that runs when the backing markdown changes on disk, had its own copy of the fallback and still substituted the full current schema. Both call sites now share schemaBeforeAppMigrations. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Store text-shape links in meta and render them from an overlay Michael asked us to compare meta.url against the props schema change before committing to it, and to see how much stock tldraw we could reuse. Both point the same way. meta is validated as T.jsonValue, so existing canvases load untouched: the migration, the schema fallback and its two call sites are gone, along with the code flagged in review. The deciding argument is compatibility, not code volume -- a file written with props.url and opened by an older build throws Unexpected property and renders a blank canvas, while meta.url loads, is ignored, and round-trips intact. Canvas files are markdown synced between machines on different plugin versions, so that mattered more than keeping the props-gated menu item for free. Rendering the icon from InFrontOfTheCanvas, next to the existing Relations and DragHandle overlays, means the stock text shape is never subclassed at all, so the custom shape util and the two-shape-util-lists hazard go with it. The trade is that the icon does not rotate with the shape, is not clipped by a frame, and draws above shapes stacked over the text. A two-line patch keeps tldraw's own Edit link item: useHasLinkShapeSelected gates on 'url' in props, so it now also accepts text shapes -- always, the way geo qualifies through a props.url that defaults to "". Gating on the presence of meta.url instead would have made the first link unaddable. Click gestures now match discourse nodes: plain opens the sidebar, cmd opens a new tab, cmd+alt splits. Since meta is unvalidated, the URL allowlist is re-applied when reading it rather than relying on the schema. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Trim two comments to the two-line limit Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Move the overlay's static styles out of JSX apps/obsidian/AGENTS.md forbids hardcoded inline styles. Only the per-shape left/top can be inline; the container, the button placement and the icon mask are now classes, with the mask data URI passed as a custom property. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Normalise text-link URLs and stop page links reaching the OS handler A delegated review found the allowlist and the click guard disagreeing. `new URL` strips leading control characters, so " obsidian://open?vault=Other&file=x" passed `isAllowedTextLinkUrl` while a raw prefix test said it was not an obsidian URL -- so preventDefault never ran and the anchor handed the URI to the OS handler, skipping the cross-vault check. getTextShapeLinkUrl now returns the parsed form and every protocol test derives from the parser. Host comparison is case-insensitive too: obsidian: is a non-special scheme, so WHATWG left obsidian://Open uppercased and the link was rejected outright. A page link is no longer placed in href at all. Middle-click and the context menu bypass onClick, so the URI escaped that way regardless of the guard. Also from the review: the wrong-tool branch of the edit-link override returned instead of falling through, so invoking it from a non-select tool switched tool and silently did nothing; upstream opens the dialog. The dialog's selection-changed guard compared types and could never fire, because the tracked parent re-renders with the new shape -- keying the inner component by shape id resets its state instead. The overlay now culls to the viewport and skips hidden shapes rather than scanning the whole page each camera frame. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M3TGQGPWAVEG55KD1P9NKX28 * Prototype: patch tldraw so geo shapes get page links too Not for merge -- a comparison branch against 5253da0, which ships a two-line eligibility patch and keeps a vendored hyperlink button. Patches @tldraw/validate so linkUrl accepts obsidian://open?file=, editing the check body rather than the protocol Set so advanced-uri's commandid stays rejected. Patches tldraw to export HyperlinkButton, dispatch a cancelable tldraw.navigate-link event from it, and keep non-web URIs out of href. One listener in the app then serves every link button tldraw renders, so geo, note and image shapes get the same in-app open and cross-vault check as text. App code drops 477 -> 434 lines: the vendored button and our own allowlist go, and the dialog's text-vs-geo validator split collapses. Patch surface grows 26 -> 241 lines across two packages, and becomes a behaviour patch on a shared component rather than a predicate flip. Verified over CDP: the five text-link scenarios still pass, and a geo shape now accepts an obsidian page link, omits href, and opens it in the sidebar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Entire-Checkpoint: 01M3WAA741724YSM5FFQ91Q97J * Prototype C: one dialog hint for every shape type Validation was unified across shape types but the hint still told geo shapes "Enter a URL." Also drops the unused T import and the never-narrowed isValid call that tripped two lint warnings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Drop the vendored link icon now that tldraw's button is used Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix review findings on the link patch and listener The CJS hunk called a bare useCallback the file never imports. The listener now normalises stored geo links before parsing, since the patched validator accepts `Obsidian://` and leading whitespace. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Match stock edit-link guard and clear the text resize handle Stock edit-link is a no-op outside the select tool; the override switched tools instead. The text-link button sat on the shape's right-edge resize target, so a press there opened the link rather than resizing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H0A8S531N9Q5XZTXNYKCNC * Keep page links off bookmark shapes A bookmark links its title with a raw href rather than HyperlinkButton, so a page link there would reach the OS handler and skip the same-vault check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H0NW3MN4QX44TBKQFRF6J6 * Reject page links for bookmarks before the https fallback The missing-protocol fallback parsed `https://obsidian://open?…` as a valid https URL, so a bookmark still saved a mangled link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H0R1R4MVE9PNY1BE3QF3YM * Keep a page link pasted after the dialog's prefilled https:// The input starts as https://, so pasting a page link after it produced https://obsidian://…, which parses as a web URL and saved silently. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H3VPANDJZBD31YAET7ZWGM * Keep every malformed page link away from the https fallback An obsidian:// value the validator rejects fell through to the missing-protocol fallback and saved as https://obsidian://… on every shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M4H47KFXF427H52MWP79Q6ZT --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
maparent
force-pushed
the
eng-1837-add-a-public-status-in-the-database
branch
from
October 20, 2026 14:17
79f2750 to
b6608c0
Compare
This branch was successfully deployed
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.
https://linear.app/discourse-graphs/issue/ENG-1837/add-a-public-status-in-the-database