- 1 - Add: Gitea now creates timestamped database backup bundles under `[backup].PATH`, exposes the backup schedule in the installer, and surfaces the `database_backup` cron task in admin monitoring. - 2 - Add: installed instances now use `.gitea-installed` and `.gitea-recovery.ini` to enter email-gated recovery instead of falling back to public install mode when configuration or database access is broken. - 3 - Mod: the installer recovery flow now covers backup-bundle restore, bundled or manual `app.ini` reuse, uploaded SQL/GZ database restores, and repository-filesystem recovery with source-specific validation, confirmations, and preserved launcher state. - 4 - Fix: recovery now restores bundled `app.ini` snapshots when needed, discovers backup bundles from both the active backup path and persisted `.gitea-recovery.ini` path, and preserves SMTP and other rebuilt settings correctly when `app.ini` is missing or incomplete. - 5 - Fix: recovery validation and restore handling now accept either a selected backup bundle or an uploaded SQL/GZ dump, keep sensitive secrets and existing `LFS_JWT_SECRET` when appropriate, clear SQLite restore targets before import, and complete the post-install handoff without redirect loops. - 6 - Mod: fresh installs now default recovery email authorization to enabled with first-admin fallback, and the install/recovery UI, styling, and EN/RO wording were refined to match the final launcher behavior. Co-Authored-By: petru @ codex (GPT-5) <codex@openai.com> (cherry picked from commit 9879caf2292691b0cb521d12e6fee924b066bae2)
4.0 KiB
Gitea Codex Context
This file is Codex's persistent operating context for this repository.
Related orientation documents:
- Full project change log:
./.codex-history.md - Persistent implementation map:
./.codex-project-map.md - Raw structural baseline:
./.ai-structure.md
Recommended Read Order
./.codex-context.md./.codex-project-map.md- The concrete files involved in the current task
./.codex-history.mdonly through targeted search, tags, or the latest relevant entries
High-Value Project Anchors
- App entry point and default version wiring:
main.go - Web command and server startup:
cmd/web.go - Installed-instance initialization and route mounting:
routers/init.go - Main web router:
routers/web/web.go - Authentication handlers:
routers/web/auth/ - Request context, session, template data, and response helpers:
services/context/ - Domain business logic:
services/ - Persistence, DB infrastructure, and migrations:
models/,models/db/,models/migrations/ - Server-side UI templates:
templates/ - Browser-side JS/CSS/frontend:
web_src/
For detailed request flow, auth flow, extension points, and task-oriented entry points, use ./.codex-project-map.md instead of duplicating them here.
Persistent Workflow Rules
- Update
./.codex-history.mdafter real project code changes. - Do not add Codex-only preference or memory edits to
./.codex-history.md. - Do not reread unchanged context files within the same session unless the current task explicitly depends on them.
- Prefer targeted search in
./.codex-history.mdby keyword, tag, or subsystem before reading larger ranges. - When the user asks for
revert:- first show the latest 10 commits as a numbered list with short descriptions;
- wait for the user's numeric choice before doing anything;
- if the target change is not committed, explain that the safe path is
git restore, notgit revert.
- Revert flows must stay non-destructive by default; prefer
git revertfor committed changes and avoid destructive reset-style actions unless the user explicitly asks for them.
Persistent .codex-history.md Rules
- Numeric IDs are reserved only for real project code changes.
- IDs start at
0and increase sequentially by1. - Use the format
N - [YYYY-MM-DD HH:MM:SS]. - Store the real repository-derived application version, without a
Version:label. - Keep only the final consolidated result of a task; do not keep intermediate attempts or failed correction steps.
- Append to the same task only while the changes are consecutive follow-ups to the same problem.
- If unrelated tasks happened in between, record the new work as a new task even if it returns to the same area.
Persistent Communication Preferences
- After finishing a task, respond briefly and directly unless there are blockers or problems.
- Re-check the rules in this file before and after making changes.
Current Working Notes
-
This workstation has limited CPU and RAM resources; prefer targeted, lower-scope test runs first and avoid unnecessarily heavy concurrent verification unless the task truly requires it.
-
main.godefaultssetting.AppVertodevelopment; derive the real build/version string from the repository when writing./.codex-history.md. -
The repository is predictably split across
cmd/,routers/,services/,models/,templates/, andweb_src/, so changes should normally stay localized to one or two layers plus their tests. -
For custom release maintenance and repo-sync tasks, consult
./.codex-script-notes.mdbefore reanalyzing the large helper scripts. -
New UI-visible functionality in this fork often also requires locale updates, so UI tasks and related history searches should usually consider
options/locale/, especiallylocale_en-US.jsonand any actively maintained translated locale files. -
History rule: all changes for the same
git describeversion must be recorded under the same.codex-history.mdentry; create a new history entry only when the version string changes.