Backend - A run's outcome write sits outside the job's own try: a database blip after a run that succeeded no longer records it as failed (the row waits for the next start's sweep). - An interrupted run keeps what it spent (the sweep sums its quota rows, as finish does). - The Scheduler's ad-hoc row says running while any backfill runs, not only the newest. - recent_runs reads each job's last runs off its index instead of ranking the whole table. - An interval change is stored with its audit row in one transaction, then rescheduled. - One API instance per database is the stated contract (.env.example, jobruns). - Turning full history on for a channel already complete records no run. - Migration 0109 round-trips interrupted and ad-hoc runs; the run words' DB CHECKs are test-held to the enums; the account filter is one helper for the four activity reads. - An audit row says how many of its request's log lines are still kept. Frontend - An "All" period reaches every row still kept (runs and admin actions outlive 90 days). - Back/Forward is followed in place by the server log: a closing dialog no longer turns Live off; a pivot still opens a fresh log. - Runs moved over from the audit log read their one-liner in the reader's language. - Filter choices or accounts that failed to load say so beside the filters, with a retry. - An old server-log link keeps its account, text and range; a remembered retired page opens its tab. - A request whose lines are gone says so instead of linking to an empty list. - The log lines and the history rows share one row frame, and the server log one list frame with the other tabs; an empty list is announced; each day's quota is readable.
74 lines
2.6 KiB
JSON
74 lines
2.6 KiB
JSON
{
|
|
"title": "Activity",
|
|
"tabs": {
|
|
"runs": "Runs",
|
|
"admin": "Admin actions",
|
|
"logs": "Server log",
|
|
"quota": "Quota"
|
|
},
|
|
"intro": {
|
|
"runs": "Every background run, newest first — scheduled, started by an admin, or a user's work on one channel. A row opens to what it did or why it failed, and to the lines it logged.",
|
|
"admin": "An append-only record of admin actions — who changed what, and when. A row opens to its before and after, and to the lines its request logged.",
|
|
"logs": "The server's stored log — lines from the API, the downloader and browsers, kept until the retention period ends. A line opens in place; its request, job or run id keeps only that one's lines."
|
|
},
|
|
"search": "Search…",
|
|
"windowLabel": "Period",
|
|
"windows": {
|
|
"1h": "1 hour",
|
|
"24h": "24 hours",
|
|
"7d": "7 days",
|
|
"30d": "30 days",
|
|
"90d": "90 days",
|
|
"all": "All"
|
|
},
|
|
"account": "Account",
|
|
"any": "Any",
|
|
"noAccount": "No account (background)",
|
|
"older": "Load older",
|
|
"stale": "Couldn't refresh — what you see may be out of date",
|
|
"olderFailed": "Couldn't load the older rows",
|
|
"filtersFailed": "Couldn't load the filter choices: the menus may be missing some.",
|
|
"accountsFailed": "Couldn't load the accounts for the account filter.",
|
|
"runs": {
|
|
"job": "Job",
|
|
"statusLabel": "Filter by status",
|
|
"status": {
|
|
"error": "Failed",
|
|
"interrupted": "Interrupted",
|
|
"skipped": "Skipped",
|
|
"running": "Running",
|
|
"ok": "OK"
|
|
},
|
|
"empty": "No runs match the filters.",
|
|
"count_one": "{{count}} run shown · newest first",
|
|
"count_other": "{{count}} runs shown · newest first",
|
|
"units_one": "{{units}} unit",
|
|
"units_other": "{{units}} units",
|
|
"fields": {
|
|
"started": "Started by",
|
|
"when": "Start → end",
|
|
"target": "Target",
|
|
"quota": "Quota units"
|
|
},
|
|
"logLines_one": "Its {{count}} log line →",
|
|
"logLines_other": "Its {{count}} log lines →",
|
|
"noLogLines": "It logged no lines",
|
|
"jobRuns": "This job's runs →"
|
|
},
|
|
"audit": {
|
|
"action": "Action",
|
|
"target": "Target",
|
|
"requestLines": "Its request's log lines →",
|
|
"noRequestLines": "Its request's log lines are no longer kept",
|
|
"count_one": "{{count}} action shown · newest first",
|
|
"count_other": "{{count}} actions shown · newest first"
|
|
},
|
|
"quota": {
|
|
"daily": "Spend per day",
|
|
"total_one": "Spend over {{window}}: {{units}} unit",
|
|
"total_other": "Spend over {{window}}: {{units}} units",
|
|
"totalAll_one": "Spend over all kept history: {{units}} unit",
|
|
"totalAll_other": "Spend over all kept history: {{units}} units"
|
|
}
|
|
}
|