mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
revert(orbit): drop maxPending cap feature, keep suggestion mute
The pending counter desynced from the actual approval list (state.queue holds approved items as history, so the count never decreased after a host approve). The host-pushed pendingApprovalCount workaround didn't hold up under live testing either, so we're rolling the whole cap feature back rather than ship something flaky. What's gone: - OrbitSettings.maxPending + state.pendingApprovalCount - cap branch in applyOutboxSnapshotsToState (now back to mute-only) - maxPending number input in settings popover - pending counter chip in OrbitQueueHead - 'cap-reached' branch in evaluateOrbitSuggestGate / OrbitSuggestGateReason - cap-related toasts in ContextMenu / useOrbitSongRowBehavior - cap-related i18n keys (suggestBlockedCap, settingMaxPending*, pendingCounter*) - cap CSS (.orbit-queue-head__pending, .orbit-settings-pop__number) What stays: per-guest suggestion mute (works correctly) and everything that fed into both features (OrbitState.suggestionBlocked, setOrbitSuggestionBlocked, evaluateOrbitSuggestGate, the participants popover Mic/MicOff toggle, the suggestBlockedMuted toast). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -106,14 +106,6 @@ export interface OrbitState {
|
||||
* before they reach the approval list. Symmetric — host can re-enable.
|
||||
*/
|
||||
suggestionBlocked?: string[];
|
||||
/**
|
||||
* Authoritative count of suggestions actually waiting on host action right
|
||||
* now (`state.queue` minus host-authored, merged, declined). The host
|
||||
* rewrites it every tick — guests can't compute it themselves because the
|
||||
* merged/declined sets live in the host's local store. Older clients that
|
||||
* don't write the field fall back to a `state.queue` count in the UI.
|
||||
*/
|
||||
pendingApprovalCount?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,13 +127,6 @@ export interface OrbitSettings {
|
||||
* field fall back to 15 via `effectiveShuffleIntervalMs`.
|
||||
*/
|
||||
shuffleIntervalMin?: OrbitShuffleIntervalMin;
|
||||
/**
|
||||
* Cap on simultaneously-pending guest suggestions. 0 = unlimited.
|
||||
* When the cap is reached, the host's outbox sweep drops new suggestions
|
||||
* until existing ones are approved or declined; the guest UI surfaces
|
||||
* the count so users know to wait.
|
||||
*/
|
||||
maxPending?: number;
|
||||
}
|
||||
|
||||
export const ORBIT_DEFAULT_SETTINGS: OrbitSettings = {
|
||||
@@ -149,8 +134,6 @@ export const ORBIT_DEFAULT_SETTINGS: OrbitSettings = {
|
||||
autoApprove: false,
|
||||
autoShuffle: true,
|
||||
shuffleIntervalMin: 15,
|
||||
// 0 = unlimited; host opts in via the session-settings popover.
|
||||
maxPending: 0,
|
||||
};
|
||||
|
||||
/** What the guest's outbox-playlist comment holds (heartbeat only, for now). */
|
||||
|
||||
Reference in New Issue
Block a user