Skip to content

My/integration - #7232

Closed
dude-stash wants to merge 18 commits into
stashapp:developfrom
dude-stash:my/integration
Closed

dude-stash wants to merge 18 commits into
stashapp:developfrom
dude-stash:my/integration

Conversation

@dude-stash

Copy link
Copy Markdown
Contributor

Description

Related Issue

Testing

Screenshots

Checklist

  • I have read and understood the Contributing document.
  • I have read and understood the AI Usage Policy document.
  • I have made corresponding changes to the documentation (if applicable).

AI Usage Disclosure

  • I have used AI tools to assist with this pull request, and I have disclosed the tools and how I used them below.

Additional Context

garfolino and others added 18 commits August 24, 2026 21:53
Adds an "Auto-save on selection" setting (off by default) that submits
the scene edit form immediately after tags, performers, studio,
galleries, groups, or a linked stash-box ID are confirmed, skipping the
extra manual Save click. Never applies to free-text fields or while
creating a new scene, and does not fire for values populated by
applying a scrape result.

Closes stashapp#4353
The scene edit form fully unmounted and swapped in a bare spinner on
every save, then remounted the full form on completion, resetting
scroll position. Introduce a dedicated isSaving state (distinct from
the scraper isLoading state, which keeps its existing full-panel
spinner) so a save just dims the form and disables it in place, with a
small inline spinner on the Save button, instead of tearing it down.
…elects

Typing a performer/tag/studio name that exactly matches something
already selected showed the generic "None" message, since react-select
hides selected items from the menu and correctly refuses to offer
"Create new X". Reuse the existing isValidNewOption exact-match check
against the currently selected values (not just the loaded search
results) to show "Already selected" instead, wherever FilterSelect's
shared noOptionsMessage is used.
Scene/image/gallery scrape dialogs already let you match a scraped tag
against an existing tag; performers only supported creating a new one.
Add the same create-or-link flow for performers, mirroring the tag
implementation (CreateLinkPerformerDialog, useLinkScrapedPerformer,
useScrapedPerformers hook).
Adds a "Play next scene after deleting" interface option. When enabled,
deleting a scene from the scene player page loads the next scene in the
queue instead of navigating back, making it possible to curate a
collection with `d d` without losing your place in the queue.

Previously this only happened when the playlist was set to continue, and
only when the next scene was already in the loaded queue. queueNext now
reports whether it navigated, so the delete handler reuses it and can
also pull in the next page of a query-backed queue, falling back to the
previous page only when there is genuinely no next scene.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The queue is only re-read from the URL when the search string changes, so
navigating between scenes on the same page left the deleted scene in the
queue. The queue viewer continued to list it, and the previous button
navigated to it, both landing on "No scene found with id".

Scene ID queues also kept the dead id in the URL, so reloading or sharing
the link brought it back. Filter queues don't need that - they are
re-queried from the server, which excludes the deleted scene already.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… garfolino/4353-autosave-confirmed-fields)
Merges garfolino/scene-edit-save-ux (auto-save on selection stashapp#7191, scroll
position fix, typeahead "already selected", scraped performer linking).

Conflict in SceneScrapeDialog.tsx resolved: upstream stashapp#6533 added an
ageFromDate prop to the inline ScrapedPerformersRow, which this branch had
extracted into useScrapedPerformers. Kept the extracted row and passed
sceneAgeFromDate(production_date, date) into the hook, which already
forwards ageFromDate to the row.
Adds an "Auto-save on selection" setting (off by default) that submits
the scene edit form immediately after tags, performers, studio,
galleries, groups, or a linked stash-box ID are confirmed, skipping the
extra manual Save click. Never applies to free-text fields or while
creating a new scene. Applying a scrape result can also fire auto-save.

Closes stashapp#4353

Co-authored-by: Cursor <cursoragent@cursor.com>
When auto-save on selection is enabled, dim the form in place instead of
replacing it with the full-panel spinner, so scroll position is preserved.
Skip resetForm on that path so groups stay selected, and rebuild the
add-group picker when the list changes so assigned groups are excluded.
With the setting off, Save still uses the original spinner.

Co-authored-by: Cursor <cursoragent@cursor.com>
When auto-save on selection is enabled, dim the form in place instead of
replacing it with the full-panel spinner, so scroll position is preserved.
With the setting off, Save still uses the original spinner.

Co-authored-by: Cursor <cursoragent@cursor.com>
Video.js Chromecast tech always sent Direct stream, which the dongle
cannot play. Drive CAF from the scene player instead, rewrite localhost
to systemStatus.localIPs, and split AirPlay into its own setting.

Co-authored-by: Cursor <cursoragent@cursor.com>
Play, pause, seek, skip, and scene changes go to the dongle while Cast
is connected. Document why this lives in the app (LAN IPs, CAF, signed
URLs) rather than a plugin.

Co-authored-by: Cursor <cursoragent@cursor.com>
The local player stays the master and mirrors play, pause, and seek to
the dongle. Local audio is muted while connected to avoid echo.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Gykes

Gykes commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

I'm assuming this was a mistake.

@Gykes Gykes closed this Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants