mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 12:19:06 +00:00
* llm instructions * vibe dailyco * vibe dailyco * doc update (vibe) * dont show recording ui on call * stub processor (vibe) * stub processor (vibe) self-review * stub processor (vibe) self-review * chore(main): release 0.14.0 (#670) * Add multitrack pipeline * Mixdown audio tracks * Mixdown with pyav filter graph * Trigger multitrack processing for daily recordings * apply platform from envs in priority: non-dry * Use explicit track keys for processing * Align tracks of a multitrack recording * Generate waveforms for the mixed audio * Emit multriack pipeline events * Fix multitrack pipeline track alignment * dailico docs * Enable multitrack reprocessing * modal temp files uniform names, cleanup. remove llm temporary docs * docs cleanup * dont proceed with raw recordings if any of the downloads fail * dry transcription pipelines * remove is_miltitrack * comments * explicit dailyco room name * docs * remove stub data/method * frontend daily/whereby code self-review (no-mistake) * frontend daily/whereby code self-review (no-mistakes) * frontend daily/whereby code self-review (no-mistakes) * consent cleanup for multitrack (no-mistakes) * llm fun * remove extra comments * fix tests * merge migrations * Store participant names * Get participants by meeting session id * pop back main branch migration * s3 paddington (no-mistakes) * comment * pr comments * pr comments * pr comments * platform / meeting cleanup * Use participant names in summary generation * platform assignment to meeting at controller level * pr comment * room playform properly default none * room playform properly default none * restore migration lost * streaming WIP * extract storage / use common storage / proper env vars for storage * fix mocks tests * remove fall back * streaming for multifile * cenrtal storage abstraction (no-mistakes) * remove dead code / vars * Set participant user id for authenticated users * whereby recording name parsing fix * whereby recording name parsing fix * more file stream * storage dry + tests * remove homemade boto3 streaming and use proper boto * update migration guide * webhook creation script - print uuid --------- Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com> Co-authored-by: Mathieu Virbel <mat@meltingrocks.com> Co-authored-by: Sergey Mankovsky <sergey@monadical.com>
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
// for paths that are not supposed to be public
|
|
import { PROTECTED_PAGES } from "./auth";
|
|
import { usePathname } from "next/navigation";
|
|
import { useAuth } from "./AuthProvider";
|
|
import { useEffect } from "react";
|
|
import { featureEnabled } from "./features";
|
|
|
|
const HOME = "/" as const;
|
|
|
|
export const useLoginRequiredPages = () => {
|
|
const pathname = usePathname();
|
|
const isProtected = PROTECTED_PAGES.test(pathname);
|
|
const auth = useAuth();
|
|
const isNotLoggedIn = auth.status === "unauthenticated";
|
|
// safety
|
|
const isLastDestination = pathname === HOME;
|
|
const requireLogin = featureEnabled("requireLogin");
|
|
const shouldRedirect =
|
|
requireLogin && isNotLoggedIn && isProtected && !isLastDestination;
|
|
useEffect(() => {
|
|
if (!shouldRedirect) return;
|
|
// on the backend, the redirect goes straight to the auth provider, but we don't have it because it's hidden inside next-auth middleware
|
|
// so we just "softly" lead the user to the main page
|
|
// warning: if HOME redirects somewhere else, we won't be protected by isLastDestination
|
|
window.location.href = HOME;
|
|
}, [shouldRedirect]);
|
|
// optionally save from blink, since window.location.href takes a bit of time
|
|
return shouldRedirect ? HOME : null;
|
|
};
|