Onion Backend

113 documentos

Docs

2

Guides

1

Learnings

12

Plans

7

Reference

6

Rules

21
Troca de e-mail unifica as contas quando o destino já existe rules/accounts/email_change_merges_existing_account.md → Áudio fora da jornada é conteúdo diário livre rules/audios/audio_outside_journey_is_free_daily_content.md → Usuário fora da jornada recebe sempre o áudio atual fora da jornada rules/audios/daily_audio_outside_journey.md → Avanço na jornada por conclusão, no dia seguinte rules/audios/journey_advances_next_day_after_completion.md → Trava por progresso insuficiente na jornada de áudios rules/audios/journey_locked_below_ninety_percent.md → Endpoint retorna a posição atual na jornada de áudio rules/audios/journey_position_endpoint.md → Re-escuta após conclusão não retrocede o usuário na jornada rules/audios/journey_relisten_does_not_regress.md → Novo usuário percorre a sequência da jornada rules/audios/journey_sequence_for_new_user.md → Transição após o último áudio da jornada rules/audios/journey_transition_after_last_audio.md → Trial da campanha é travado quando há usuários cadastrados rules/campaigns/campaign_trial_locked_with_user_trials.md → Progresso de aula persiste direto e de forma sincrona rules/engagements/lesson_progress_direct_synchronous_persist.md → Gate de notificação de hábito libera as ondas de lembrete rules/notifications/habit_notification_gate.md → Model Notification é reservado a envios pontuais rules/notifications/notification_model_point_in_time_only.md → Limite de áudios do trial é sempre igual à duração em dias rules/trials/audio_limit_synced_to_duration.md → Desbloqueio de cursos para usuário em trial rules/trials/trial_course_unlock.md → Régua de emails de trial por percentual consumido rules/trials/trial_journey_emails.md → Desbloqueio de aulas para usuário em trial rules/trials/trial_lesson_unlock.md → Estado do trial exposto no sign-in e no perfil rules/trials/trial_state_in_auth_endpoints.md → UserTrial marca converted_at quando checkout IBFT é aprovado rules/trials/user_trial_converted_at_on_checkout_approval.md → Janela do trial é imutável após a criação rules/trials/user_trial_dates_immutable_in_admin.md → Elegibilidade para cadastro de trial via campanha rules/trials/user_trial_register.md →

Specs

64
Renomear a branch padrão de master para main specs/20260331175408_rename_master_to_main.md → Stack Python no commons specs/20260408094751_python_stack_commons.md → Integração com Datadog specs/20260413000000_datadog_integration.md → Infraestrutura k8s para staging specs/20260414120000_k8s_infra_staging.md → Migrar o deploy de staging para k8s specs/20260417141500_migrate_staging_to_k8s.md → DATABASE_URL readonly por padrão specs/20260419000000_database_url_readonly_default.md → Hábitos default no onboarding specs/20260506120000_default_habits.md → Streak, consistência e totais diários de hábitos specs/20260507160624_habit_streak_consistency.md → Endpoint de consistência por intervalo specs/20260508155907_consistency_range_endpoint.md → Fix: notificação enviada para hábito deletado specs/20260513000000_fix_notification_deleted_habit.md → Configurar TZ nos pods e no banco de staging specs/20260518000000_configure_tz_staging.md → FK do áudio para a notificação agendada specs/20260520111929_audio_notification_fk.md → Fix: deploy no servidor onion-worker specs/20260521000000_fix_deploy_onion_tasks.md → Comentário na reaction de aula specs/20260522090219_reaction_lesson_comment.md → Tópicos de plataforma para notificações specs/20260522145722_notifications_platform_topics.md → Envio segmentado por plataforma specs/20260522172251_send_to_platform_topic.md → Inscrição automática do device nos tópicos FCM padrão specs/20260525000000_auto_subscribe_device_topics.md → Lembretes de hábitos não executados specs/20260525120000_habit_reminder_notifications.md → has_new_lessons considera o progresso do usuário specs/20260527000000_has_new_lessons_user_progress.md → Fix: esgotamento de conexões do banco de staging specs/20260601000000_staging_db_conn_max_age.md → Janela de 10 minutos no envio de notificações de hábitos specs/20260602000000_notification_10min_window.md → Descrição do hábito no dashboard specs/20260603092340_habit_description_in_dashboard.md → Filas dedicadas para checkout e progresso specs/20260604120000_dedicated_queues_checkout_progress.md → CONN_MAX_AGE para reduzir churn de conexões specs/20260605122000_conn_max_age.md → Tratamento resiliente de token FCM expirado specs/20260608113017_expired_fcm_token.md → Progresso com buffer: Redis + flush periódico specs/20260612142912_progress_buffer_redis_flush.md → worker-progress em staging + cleanup de runtime e CELERY_QUEUES specs/20260615085522_staging_worker_progress_checkout_queues.md → Envio direto de push de hábitos e lembretes via FCM em lote specs/20260615095011_habit_push_batch_fcm.md → Cleanup do runtime mode e rename de CELERY_DEFAULT_QUEUE specs/20260615161050_celery_queues_runtime_cleanup.md → Credenciais do Firebase no cluster de staging specs/20260615180230_firebase_credentials_staging.md → Recalcular duração ao trocar o arquivo de áudio specs/20260617095609_recalculate_audio_duration_on_update.md → save_device: expirar push devices duplicados no registro specs/20260618095213_save_device_expire_duplicates.md → Fix: contagem inconsistente do funil de progresso de áudio specs/20260618154500_fix_audio_progress_funnel_counts.md → Varredura de padrão — backend (admin + liberação por aula) specs/20260622174633_varredura_pattern_scan_backend.md → Sync de troca de e-mail — ibft-api → onion-backend specs/20260703114457_email_change_sync.md → Migrar os secrets do onion-backend de SOPS para ward specs/20260706235356_migrate_onion_backend_secrets_to_ward.md → Trilha de cursos specs/20260709175422_trail_courses.md → Persistência direta de progresso com fallback por rate limit specs/20260710112204_progress_direct_persist_rate_limit.md → Migrar o CI de infra do onion-backend para ward/EKS specs/20260710192955_migrate_infra_ci_to_eks.md → Migrar o cache de staging da DO para o AWS ElastiCache specs/20260710235220_migrate_staging_cache_do_to_aws.md → Migrar o banco de staging da DO para o AWS Aurora specs/20260711003900_migrate_staging_db_do_to_aws.md → Fix: migrate job no CI specs/20260721194818_fix_migrate_ci.md → Unsubscribe de tópicos FCM ao expirar dispositivo specs/20260723094615_unsubscribe_topics_on_device_expire.md → Migrar production para o EKS com convergência de dados para a ibft-vpc specs/20260806102829_migrate_production_to_eks.md → Campaign e Tracking Links specs/20260807111328_campaign_and_tracking_links.md → Cadastro de Usuário Trial specs/20260811000000_user_trial_register.md → Objeto `trial` no login e no perfil specs/20260817160340_trial_object_auth_endpoints.md → Bloqueio de aulas fora do trial specs/20260818114553_trial_lesson_gating.md → Campo `unlocked` no curso specs/20260819163343_trial_course_unlock.md → Link de checkout no Trial specs/20260819175102_trial_checkout_url.md → Workers de staging não consomem filas — quorum queues e global QoS specs/20260821160901_staging_quorum_queues_global_qos.md → Simplificar campos do admin de Trial specs/20260824111639_simplify_trial_admin_fields.md → Datas do Trial sem horário no admin specs/20260824135425_trial_dates_without_time.md → Modo "Todas as aulas" do trial libera todas as aulas direto specs/20260824171047_trial_all_mode_unlocks_everything.md → Job diário de emails da régua de trial por percentual consumido specs/20260825095058_trial_journey_emails_job.md → Trial da campanha é travado quando há usuários cadastrados specs/20260826093829_campaign_trial_locked_with_user_trials.md → Reserva dos emails da régua de trial em bloco specs/20260826112801_trial_journey_block_reservation.md → Corrigir race na criação da UserJourney ao aceitar termos specs/20260826142256_journey_creation_race.md → Invalidar cache de hábitos ao criar, atualizar ou deletar hábito specs/20260831000000_habit_cache_week_invalidation.md → Aviso de confirmação ao alterar email do usuário no admin specs/20260902151259_admin_email_change_warning.md → Download do Termo de Uso com dados do usuário no admin specs/20260903144445_user_contract_term_pdf.md → Exportar Comentários das Lições specs/20260909000000_export_lesson_comments.md → Merge de contas na troca de e-mail quando o destino já existe specs/20260915090842_email_change_account_merge.md → Comparativo acesso ativo vs engajados no analytics specs/20260915120000_analytics_with_access_metric.md →