Skip to content

Conversation

@samdbmg
Copy link
Member

@samdbmg samdbmg commented Sep 29, 2025

Details

  • Fixes a typo in AppNote 0018 which gave an incorrect path for deleting object instances. Also adds a note about deleting the last instance of an object.
  • Fixes a confusion on modifying Flow Segments: modifying the list of get_urls is handled by POST /objects/{objectId}/instances - modifying key_frame_count requires deleting and recreating the segment, and should only be performed exceptionally.

Jira Issue (if relevant)

Jira URL: N/A (bug report on Slack)

Related PRs

Fixes errors introduced in #144 (but as-yet unreleased)

Submitter PR Checks

(tick as appropriate)

  • PR completes task/fixes bug
  • API version has been incremented if necessary
  • ADR status has been updated, and ADR implementation has been recorded
  • Documentation updated (README, etc.)
  • PR added to Jira Issue (if relevant)
  • Follow-up stories added to Jira

Reviewer PR Checks

(tick as appropriate)

  • PR completes task/fixes bug
  • Design makes sense, and fits with our current code base
  • Code is easy to follow
  • PR size is sensible
  • Commit history is sensible and tidy

Info on PRs

The checks above are guidelines. They don't all have to be ticked, but they should all have been considered.

@samdbmg samdbmg requested a review from a team as a code owner September 29, 2025 13:57
@samdbmg samdbmg marked this pull request as draft September 29, 2025 13:59
Copy link
Contributor

@danjhd danjhd left a comment

Choose a reason for hiding this comment

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

LGTM

@samdbmg samdbmg marked this pull request as ready for review September 29, 2025 14:13
@samdbmg samdbmg requested a review from danjhd September 29, 2025 14:13
Copy link
Contributor

@danjhd danjhd left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@j616 j616 left a comment

Choose a reason for hiding this comment

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

One Q. Otherwise LGTM

If a client needs to modify a Flow Segment, e.g. to correct metadata such as the `key_frame_count` or add additional URLs to `get_urls`, then the client SHOULD first delete the existing Segment and then write a new one.
Clients MAY modify Flow Segments, but this should only be done in exceptional circumstances to correct metadata such as `key_frame_count`, as such operations will likely break the idempotency of Segments.
If a client needs to modify a Flow Segment, then the client SHOULD first delete the existing Segment and then write a new one.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we also add a note, like those we have elsewhere, warning that setting key_frame_count to a value that conflicts with the Object SHOULD be rejected if that object is in use elsewhere? i.e. don't bring references into conflict with each other.

Copy link
Member Author

Choose a reason for hiding this comment

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

Should clients ignore it if the object is re-used? That would seem like the easiest behaviour to implement I suppose

Copy link
Contributor

Choose a reason for hiding this comment

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

I was thinking something like the last para of the main description on https://bbc.github.io/tams/main/index.html#/operations/PUT_flows-flowId . i.e. allow modification if it won't bring anything into conflict. Reject if it will.

Copy link
Member Author

Choose a reason for hiding this comment

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

After discussion, tweaked in 0338ef6 to make expectation clearer

Reworks description that modifying `key_frame_count` can be achieved by
deleting the segment and re-creating if need be, but that the list of
instances can be freely modified.
Makes clear that attempts to modify `key_frame_count` when an object has
been re-used elsewhere is not acceptable.
Also, trivial wording tweak to make documentation clearer.
@samdbmg samdbmg force-pushed the sammg-fix-object-endpoint-confusion branch from 0338ef6 to 742229e Compare October 10, 2025 15:21
@samdbmg samdbmg merged commit 7155c95 into main Oct 10, 2025
8 checks passed
@samdbmg samdbmg deleted the sammg-fix-object-endpoint-confusion branch October 10, 2025 18:26
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.

4 participants