M464 loudness leveling (steps 4–8), APK distribution and security baseline adoptions #136
+1
@@ -91,6 +91,7 @@ data class RequestCreatePayload(
|
||||
* This matches `feedback_offline_first_for_server_writes` — writes
|
||||
* never go fire-and-forget.
|
||||
*/
|
||||
@Suppress("TooManyFunctions") // one enqueue per mutation kind, like the replayer's dispatchers
|
||||
@Singleton
|
||||
class MutationQueue @Inject constructor(
|
||||
private val dao: CachedMutationDao,
|
||||
|
||||
@@ -94,6 +94,8 @@
|
||||
</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
role="switch"
|
||||
aria-checked={normalization.value.boost === 'limiter'}
|
||||
checked={normalization.value.boost === 'limiter'}
|
||||
onchange={(e) =>
|
||||
change({ boost: (e.currentTarget as HTMLInputElement).checked ? 'limiter' : 'headroom' })}
|
||||
|
||||
@@ -31,7 +31,7 @@ describe('NormalizationSetting', () => {
|
||||
await waitFor(() =>
|
||||
expect(putNormalization).toHaveBeenCalledWith({ mode: 'album', target_lufs: -16, boost: 'headroom' })
|
||||
);
|
||||
await fireEvent.click(screen.getByRole('checkbox', { name: /boost quiet tracks/i }));
|
||||
await fireEvent.click(screen.getByRole('switch', { name: /boost quiet tracks/i }));
|
||||
await waitFor(() =>
|
||||
expect(putNormalization).toHaveBeenLastCalledWith({ mode: 'album', target_lufs: -16, boost: 'limiter' })
|
||||
);
|
||||
@@ -60,6 +60,6 @@ describe('NormalizationSetting', () => {
|
||||
render(NormalizationSetting);
|
||||
await waitFor(() => expect(screen.getByRole('radio', { name: 'Off' })).toBeChecked());
|
||||
expect(screen.queryByRole('radio', { name: '-18 LUFS' })).toBeNull();
|
||||
expect(screen.queryByRole('checkbox')).toBeNull();
|
||||
expect(screen.queryByRole('switch')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user