Skip to content

impl(core): editing argument on FileSystemReceiver add, editor-scoped tag replace - #93

Merged
andykais merged 7 commits into
mainfrom
cursor/ingest-receiver-editing-f9da
Oct 13, 2026
Merged

andykais merged 7 commits into
mainfrom
cursor/ingest-receiver-editing-f9da

Conversation

@andykais-ai

@andykais-ai andykais-ai commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • implements an editing argument on FileSystemReceiver.add(ctx, filepath, media_info, tags, series, editing) (new exported ReceiverEditing type: {editor?, overwrite?})
  • improves ingest so editing is passed through unchanged to media.create / media.update / series.update, with no defaults. When a receiver passes nothing, no editing options are sent and the config editing block applies
  • removes the hardcoded {editor: ctx.receiver.name} from the ingest create and series-update paths
  • fixes media.update(id, info, ['my:tag'], {editor: 'foo'}) removing tags from other editors and tags written without an editor. An editor's tag replace now only removes tags owned by that editor, unless overwrite: true is passed
  • changes UpdateEditing.overwrite from default(true) to optional; when an editor is supplied, it behaves as false for both tags and media info fields. Updates without an editor still overwrite everything. The config editing.overwrite default is unchanged
  • fixes filesystem.discover on windows not treating backslash-separated globs like C:\media\*.tif as globs (@std/path isGlob reads \* as an escaped *)

Vision Testing

  • added an editor replace ownership test in edit_log.test.ts: an editor replace keeps other editors' tags and editor-less tags, replaces its own tags, leaves media info fields owned by other editors alone by default, and overwrite: true / no-editor replace still replace everything. Three of these subtests fail against the previous code
  • added ingest editing, ingest editing on created media, and ingest without editing on created media tests in ingest.test.ts, using a custom receiver (these discover with a *.tif glob, which is what exposed the windows glob bug)
  • core CI passes on ubuntu, macos, and windows
  • deno task lint is clean and deno task --cwd packages/web build succeeds
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 13, 2026 21:34
…ut overwriting other editors

- FileSystemReceiver.add accepts an editing argument (editor, overwrite)
- ingest defaults to {editor: receiver.name, overwrite: false} on create and update

Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
async #add_media_file(ctx: plugin.FileSystemReceiverContext, filepath: string, media_info?: inputs.MediaInfo, tags?: inputs.TagList): Promise<AddMediaFileAck> {
async #add_media_file(ctx: plugin.FileSystemReceiverContext, filepath: string, media_info?: inputs.MediaInfo, tags?: inputs.TagList, editing?: plugin.ReceiverEditing): Promise<AddMediaFileAck> {
const update_editing = {
editor: editing?.editor ?? ctx.receiver.name,

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is wrong. Do not default an editor. I want the editing block entirely missing if there are no values passed to the function.

cursoragent and others added 2 commits October 13, 2026 21:42
…out defaults

Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
…s without editing

Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
@cursor cursor Bot changed the title fix(core): ingest receiver editing preserves tags from other editors impl(core): editing argument on FileSystemReceiver add Oct 13, 2026
cursoragent and others added 2 commits October 13, 2026 21:46
…ss overwrite is set

- tags without an editor are no longer removed by an editor's replace
- UpdateEditing.overwrite defaults to false when an editor is supplied

Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
@cursor cursor Bot changed the title impl(core): editing argument on FileSystemReceiver add impl(core): editing argument on FileSystemReceiver add, editor-scoped tag replace Oct 13, 2026
@andykais
andykais marked this pull request as ready for review October 13, 2026 22:22
…stem discover

Co-authored-by: kaisea.rpi <kaisea.rpi@gmail.com>
@andykais
andykais merged commit 6051bf1 into main Oct 13, 2026
8 checks passed
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