Skip to content

rescued stash: fix-9300-merge-main: da5155a0a feat(integrations): mobile device pairing UI for push and o #14089

Closed

Description

@mrveiss

Child of #14078. The work is safe — it is now a branch on origin, not only a stash entry.

Branch rescued/stash-2026-06-03-44ddffdb4
Stash commit 44ddffdb4faa5c2d844a72e9b86385db78ab50ff
Stashed 2026-06-03
Change 3 files changed, 45 insertions(+), 17 deletions(-)
Applies to current base CONFLICTED
Original context fix-9300-merge-main: da5155a feat(integrations): mobile device pairing UI for push and o

Files touched:

  • autobot-backend/transcriber/routes/ai.py
  • autobot-backend/transcriber/routes/projects.py
  • autobot-backend/transcriber/routes/transcripts.py

Why this exists: the repo-wide stash stack held 113 entries spanning three months, unowned and
unlinked. This one's content is absent from Dev_new_gui — verified by git apply --check --3way
— so it is genuinely unfinished work, not a leftover of something that already landed.

Ask — a decision, not a deletion:

  1. Is this work still wanted? The original context above names where it came from (feat(integrations): mobile device pairing for push and offline sync #4463 ).
  2. Wanted → rebase rescued/stash-2026-06-03-44ddffdb4 onto Dev_new_gui, open a PR, land it.
  3. Not wanted → say so here with the reason, then delete the branch. A recorded decision, never a
    silent drop.

Note: this one does not apply cleanly to today's base — expect a real rebase, not a fast-forward.

Activity

  1. mrveiss commented on Aug 25, 2026

    @mrveiss
    OwnerAuthor

    Disposition: LANDED — and it was a security fix, so worth stating precisely what landed

    The stash's three files (transcriber/routes/{ai,projects,transcripts}.py) add per-user ownership
    checks to the transcriber routes: a _user_id(request) helper, and 404 instead of a silent read
    whenever the requesting user does not own the project / recording / segment. That is an IDOR/BOLA
    fix.

    Evidence — the same protection is in origin/Dev_new_gui today, and is broader:

    Base file Protection present
    transcriber/routes/projects.py _user_id() at :17; can_access(project, _user_id(request)) guards get_project :43, update_project :56, delete_project :68; list_projects :36 and create_project :24 are user-scoped
    transcriber/routes/transcripts.py _user_id() :28; _require_recording_owner() :33 guards eight endpoints (:45, :61, :72, :87, :103, :114, :124) — the stash guarded three
    transcriber/routes/ai.py can_access(rec, _user_id(request)) :39

    Landing commits: 6036d57cae feat(transcriber): add transcript editing API (MVA-2173) (#9350)
    introduced _require_recording_owner; e2a6cdb1ee feat(backend): mount transcripts router with
    real storage backing (#9863) (#9955)
    introduced the shared can_access helper.

    Decision: landed, and superseded by a more complete implementation. rescued/stash-2026-06-03-44ddffdb4-tracked
    is disposable; left in place — branch deletion is a separate deliberate act.

  2. mrveiss commented on Aug 25, 2026

    @mrveiss
    OwnerAuthor

    Disposition: LANDED — and it was a security fix, so worth stating precisely what landed

    The stash's three files (transcriber/routes/{ai,projects,transcripts}.py) add per-user ownership
    checks to the transcriber routes: a _user_id(request) helper, and 404 instead of a silent read
    whenever the requesting user does not own the project / recording / segment. That is an IDOR/BOLA
    fix.

    Evidence — the same protection is in origin/Dev_new_gui today, and is broader:

    Base file Protection present
    transcriber/routes/projects.py _user_id() at :17; can_access(project, _user_id(request)) guards get_project :43, update_project :56, delete_project :68; list_projects :36 and create_project :24 are user-scoped
    transcriber/routes/transcripts.py _user_id() :28; _require_recording_owner() :33 guards eight endpoints (:45, :61, :72, :87, :103, :114, :124) — the stash guarded three
    transcriber/routes/ai.py can_access(rec, _user_id(request)) :39

    Landing commits: 6036d57cae feat(transcriber): add transcript editing API (MVA-2173) (#9350)
    introduced _require_recording_owner; e2a6cdb1ee feat(backend): mount transcripts router with
    real storage backing (#9863) (#9955)
    introduced the shared can_access helper.

    Decision: landed, and superseded by a more complete implementation. rescued/stash-2026-06-03-44ddffdb4-tracked
    is disposable; left in place — branch deletion is a separate deliberate act.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions