feat(release): prepare 1.1.0 candidate

This commit is contained in:
Yun Chan 2026-08-29 18:33:45 +09:00
parent 5a34f66981
commit 5205dcdfa9
736 changed files with 115667 additions and 12203 deletions

View file

@ -0,0 +1,50 @@
BEGIN;
-- Workers normally transition queued/running jobs to succeeded, but recovery
-- and import paths may insert an already-succeeded job or attach history_id
-- after the provider result was committed. Every server-owned completion edge
-- must enqueue the same immutable event exactly once.
CREATE OR REPLACE FUNCTION public.enqueue_processing_job_push()
RETURNS trigger
LANGUAGE plpgsql
SECURITY DEFINER
SET search_path = ''
AS $$
BEGIN
IF NEW.kind <> 'transcription'
OR NEW.status <> 'succeeded'
OR NEW.history_id IS NULL THEN
RETURN NEW;
END IF;
IF TG_OP = 'UPDATE'
AND OLD.status IS NOT DISTINCT FROM 'succeeded'
AND OLD.history_id IS NOT DISTINCT FROM NEW.history_id THEN
RETURN NEW;
END IF;
IF EXISTS (
SELECT 1
FROM public.history
WHERE id = NEW.history_id
AND user_id = NEW.user_id
AND status = 'completed'
) THEN
PERFORM public.enqueue_immutable_push_event(
'transcription.completed', NEW.history_id
);
END IF;
RETURN NEW;
END;
$$;
DROP TRIGGER enqueue_processing_job_push_after_success
ON public.processing_jobs;
CREATE TRIGGER enqueue_processing_job_push_after_success
AFTER INSERT OR UPDATE OF status, history_id ON public.processing_jobs
FOR EACH ROW EXECUTE FUNCTION public.enqueue_processing_job_push();
REVOKE ALL ON FUNCTION public.enqueue_processing_job_push()
FROM PUBLIC, anon, authenticated;
COMMIT;