Repository navigation
Sync upstream 2026-11-12 (351 commits) - #18
Merged
Merged
Conversation
…and Linux A .cap recording is a package only on macOS. On Windows and Linux it is a plain folder, so the file dialog filtered to *.cap opened the folder instead of returning it and nothing inside matched the filter. The editor's Existing recording import now asks for a folder on those platforms, rooted at the recordings directory, and keeps the .cap open panel on macOS.
cmdk 0.2.1 builds a [data-value="..."] selector from the selected item's value without escaping it, and runs it during render. The search rows used the video title, owner name and space name as that value, so a double quote in any of them made querySelector throw and took the dashboard down. Rows now use their stable ids as the cmdk value, so user text never reaches the selector. Rows with the same title and owner are also selectable one at a time again.
The switcher items had no explicit cmdk value, so cmdk used the organization name and hit the same unescaped selector as the dashboard search. Items now use the organization id as their value and the list filters on the name through cmdk's own scorer, so search results are unchanged.
fix(desktop-gpui): keep keypress times when trimming keyboard overlays
…ut zenity rfd shows Linux message dialogs through zenity and shows nothing when it is missing, so picking a folder that is not a recording imported nothing and said nothing. The import error now falls back to Cap's own dialog there, as confirmations and alerts already do.
…ion settings write
…d past MAX_PATH GetDiskFreeSpaceExW was given the path as written and fails from 260 characters. Paths at the length where std switches form are now queried in the extended-length form. A storage check that cannot run no longer fails the save of a captured recording; a measured shortage still does.
…itor has open Deleting a recording from Settings or the library while an editor window had it open failed on Windows with a sharing violation after part of the folder was already gone. A recording folder is now moved into a holding folder beside it before it is removed, so it leaves the library whole or not at all. Where Windows refuses the move because of a handle that still allows deletion, the folder is removed in place only after every file in it is known to be deletable. A project an editor window has open is registered with the library, which refuses to delete it and says so, the same way it refuses the recording in progress. The editor's own Delete closes the window first, as before.
…ders, sweep only staged folders
…awide sources The encoder's size limit could fit two neighbouring tiers of a very wide source to the same dimensions, so the job encoded and uploaded one size twice. A rung whose fitted size matches the one above it is now skipped.
…oard feat(web): give Cap Infra its own console
…adder feat(media-server): encode adaptive HLS ladders, whole or split across workers
Plays an HLS stream natively on Apple browsers, loads hls.js only when it is needed elsewhere, and falls back to an MP4. Controls update the DOM directly instead of re-rendering on every frame. The playback mode and starting rendition choices are pure functions with unit tests.
The Cap logo followed by Infra in a lighter weight on the wordmark's baseline.
Destroying hls.js detaches the media source and resets the video element, so reading the position afterwards restarted the MP4 from zero and paused. The position and play state are now read before the teardown.
The console read whole video rows and handed them to a browser component, so storage keys and request metadata went with them, and any column added later would follow. The query now names the seven fields the pages use.
….6.3 docs: add the Cap 0.6.3 changelog
…source Every path that ends on the MP4 now shares one fallback that listens for the file's own error, so a failed fallback shows the failure message. The play state follows the emptied event, so a replaced source no longer leaves the button on Pause. The lockup is named Cap Infra for screen readers.
The guard only rejected a short list of columns, so a new field could be added to the query without failing it. It now compares the selected columns with the seven the pages show.
…fields fix(web): send only the video fields the Cap Infra console shows
…eem-page feat(web): license redeem page for gifts and purchases
feat(web): add a small video player and the Cap Infra lockup
…ense-gift-toggle feat(web): send a desktop license as a gift from pricing
The console drew its own mark from the Cap logo, a divider and a word. It now uses the same lockup as the landing page, at the same size, in the rail, the phone header and the setup screen.
…le-lockup feat(web): use the shared Cap Infra lockup in the console
Resolves the MembersCard import conflict with upstream's Font Awesome module change the same way as feat/members-table-search (909bce4). Brings migration 0053_mobile_push_tokens.
hjescalona
enabled auto-merge
November 12, 2026 03:13
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.
Merges
main(CapSoftware/Cap@4d62155) intosmg. Closes #16.Conflict resolved:
apps/web/app/(org)/dashboard/settings/organization/components/MembersCard.tsx. Upstream moved Font Awesome icons to per-icon modules and a localFontAwesomeIconcomponent; our members table search added imports at the same spot. Both are kept. The file is identical to the resolution infeat/members-table-search(909bce4), which Greptile reviewed 5/5 on CapSoftware/Cap#3919.Migration:
0053_mobile_push_tokenscreates two new tables (mobile_push_claims,mobile_push_tokens) with indexes. It doesn't touch existing tables. Take a MySQL backup before merging, then addmigrations-approved.Behavior changes worth knowing after deploy:
CAP_CHROME_EXTENSION_IDis now passed to the self-hosted web container upstream (roadmap item 10a is done).Cap Desktop 0.6.3 calls no new server endpoints, so it works with the current deployment and with this one.