alpha
Login
or
Join now
eagraf.dev
/
textile
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A local-first note taking app
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
textile
/
src
/
workspaces
/
at
list-improvements
2 folders
2 files
Ethan Graf
Prevent editor scrollbar shift and enable wheel-scroll on tab strip
6d ago
00098eee
tiling
Prevent editor scrollbar shift and enable wheel-scroll on tab strip Reserve the CodeMirror scroller's scrollbar gutter with `scrollbar-gutter: stable` so content no longer shifts left when a document first grows tall enough to need a vertical scrollbar. Add a non-passive wheel listener to the tile tab strip so a vertical mouse wheel scrolls it horizontally while the pointer is over it (trackpad horizontal gestures still work via the dominant axis). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 days ago
zen
Tabs per tile (phase 2) + per-vault workspace state Tab strip UI and per-vault layout persistence on top of the phase-1 tab model. - TileTabStrip: per-tile tab chips (select/close, middle-click, +). Empty tabs are not chips — they render TileStartView, a quick-actions start page whose only action is "New File" (wired to App.handleNewFile: createFile + open). + reuses an existing empty tab (findEmptyTab). - tiling.tsx: render the strip + active tab; close-the-last-tab collapses the split via model.removeLeaf / planTileRemoval (pure, tested). - Per-vault state: WorkspaceHost mounts one instance per (kind x vault) and shows only the active one, preserving each vault's tile layout, tabs, and open documents across vault/mode switches. Inactive instances are gated by `active` (ignore opens, suppress bottom bar, no split handle) via WorkspaceProps.active + barSlot WorkspaceActiveProvider. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago
barSlot.tsx
Prevent editor scrollbar shift and enable wheel-scroll on tab strip Reserve the CodeMirror scroller's scrollbar gutter with `scrollbar-gutter: stable` so content no longer shifts left when a document first grows tall enough to need a vertical scrollbar. Add a non-passive wheel listener to the tile tab strip so a vertical mouse wheel scrolls it horizontally while the pointer is over it (trackpad horizontal gestures still work via the dominant axis). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 days ago
workspace.tsx
Tabs per tile (phase 5c): persist layout + selection to localStorage Each vault's tile layout and tabs now survive an app restart, along with the selected vault and (pre-existing) workspace kind. - tilingPersistence: serializeLayout / buildInitialTileTabs / maxIdSuffix (pure + tested) and load/save to localStorage under textile.tiling.<vaultId>. Persists the split tree, active tile, and each tile's documents + active index; not handles or load state. - useTilingDocumentSlots: accept initialTiles, seed the tab map with loading tabs, and re-open the documents in a mount-only effect (cancelled on unmount). Exposes tileTabs for serialization. - TilingWorkspace: lazy-init tree/activeTile/id-counter from the persisted layout (keyed by instanceKey = vault provider id) and write on change (skipping no-op rewrites). - App: persist + restore selectedProviderId (textile.selectedVault); the registry loads vaults synchronously so the restored vault survives the auto-select effects. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 weeks ago