Skip to content

feat: add compound html timerange component - #14

Merged
luwes merged 2 commits into
mainfrom
timerange-html
Sep 18, 2025
Merged

feat: add compound html timerange component#14
luwes merged 2 commits into
mainfrom
timerange-html

Conversation

@luwes

@luwes luwes commented Sep 15, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

state: TState
) => React.ReactElement;

const Context = React.createContext<any | null>(null);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

non-blocking: If there's an easy way to make this optional, that would be 👌. Feel free to e.g. change the args into an "options-style object" if that makes things easier.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

cool yes, that a nice optimization. I'll leave it for a next iteration.


export const useTimeRangeTrackProps = (props: React.PropsWithChildren<{ [k: string]: any }>) => {
const { setTrackRef } = useTimeRangeRootContext();
export const useTimeRangeTrackProps = (props: React.PropsWithChildren<{ [k: string]: any }>, context: any) => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

question(non-blocking) - is this "context" or the context's "value"?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

the context value
const context = React.useContext(Context);

bad naming on my part

@luwes luwes changed the title fix: add context logic to component factory feat: add compound html timerange component Sep 18, 2025
@luwes
luwes marked this pull request as ready for review September 18, 2025 15:57
@luwes
luwes merged commit 017ecdb into main Sep 18, 2025
@luwes
luwes deleted the timerange-html branch September 18, 2025 22:58
@github-actions github-actions Bot mentioned this pull request Oct 24, 2025
@github-actions github-actions Bot mentioned this pull request Feb 26, 2026
cjpillsbury added a commit that referenced this pull request May 21, 2026
Adds the network-resilience feature doc at coarse depth as the cluster
G foundation. Borderline / response-error handling: retry/backoff,
error classification, VRLT-aware response handling, playback-token-
expiry refresh, customer-policy hooks. Tier 1 / Tier 2 framing with
Naive vs Full depth distinctions per phase.

Reframes cluster G: previously framed as "selection resilience" with
multi-CDN as the primary feature. The cluster splits along two axes
now — response-error handling (network-resilience covers this) and
selection-side resilience (multi-cdn-failover / content-steering as
sister consumer features yet to land).

Absorbs:
- selection-retry-backoff candidate (now Tier 1 phase: Generic retry
  with backoff + Error classification + retry budget/circuit-breaker
  in Tier 2)
- Notion epic #12 VRLT (Viewer Rate Limiting Token) as Tier 2 phase
- Notion epic #14 Playback Token Expiry as Tier 2 phase

Six phases total: Generic retry (Tier 1) + Error classification
(Tier 1) + Retry budget/circuit breaker (Tier 2) + VRLT-aware
response (Tier 2) + Playback-token-expiry (Tier 2) + Customer-policy
hooks (Tier 2).

Cross-cutting impact captures: createTrackedFetch composition
(sibling wrapper vs extension), bandwidth-sample exclusion for retry
attempts, retry-policy slot vs per-site config, composition with
multi-cdn-failover (retry vs rotation boundary), circuit-breaker
state ownership, token-refresh hook convergence with DRM license-
refresh, per-fetch-site config (manifest/segment/license/text-
segment), live-stream reload-loop retry semantics.

Open questions left explicit: retry-policy slot, default retry
counts per site, VRLT detection signature shape, token-refresh hook,
bandwidth-sample filtering, circuit-breaker ownership, composition
order with multi-cdn-failover, retry-exhaustion error surfacing,
composition with DRM, composition with content-steering.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cjpillsbury added a commit that referenced this pull request May 21, 2026
Adds the network-resilience feature doc at coarse depth as the cluster
G foundation. Borderline / response-error handling: retry/backoff,
error classification, VRLT-aware response handling, playback-token-
expiry refresh, customer-policy hooks. Tier 1 / Tier 2 framing with
Naive vs Full depth distinctions per phase.

Reframes cluster G: previously framed as "selection resilience" with
multi-CDN as the primary feature. The cluster splits along two axes
now — response-error handling (network-resilience covers this) and
selection-side resilience (multi-cdn-failover / content-steering as
sister consumer features yet to land).

Absorbs:
- selection-retry-backoff candidate (now Tier 1 phase: Generic retry
  with backoff + Error classification + retry budget/circuit-breaker
  in Tier 2)
- Notion epic #12 VRLT (Viewer Rate Limiting Token) as Tier 2 phase
- Notion epic #14 Playback Token Expiry as Tier 2 phase

Six phases total: Generic retry (Tier 1) + Error classification
(Tier 1) + Retry budget/circuit breaker (Tier 2) + VRLT-aware
response (Tier 2) + Playback-token-expiry (Tier 2) + Customer-policy
hooks (Tier 2).

Cross-cutting impact captures: createTrackedFetch composition
(sibling wrapper vs extension), bandwidth-sample exclusion for retry
attempts, retry-policy slot vs per-site config, composition with
multi-cdn-failover (retry vs rotation boundary), circuit-breaker
state ownership, token-refresh hook convergence with DRM license-
refresh, per-fetch-site config (manifest/segment/license/text-
segment), live-stream reload-loop retry semantics.

Open questions left explicit: retry-policy slot, default retry
counts per site, VRLT detection signature shape, token-refresh hook,
bandwidth-sample filtering, circuit-breaker ownership, composition
order with multi-cdn-failover, retry-exhaustion error surfacing,
composition with DRM, composition with content-steering.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

2 participants