Compare commits

...
4103 Commits
Author SHA1 Message Date
github-actions[bot] 634e32620c Bump versions for v11.78 2026-09-14 11:32:07 +00:00
Lauri Ojansivu f40d29a6e5 Prepare v11.78 release 2026-09-14 14:30:32 +03:00
Lauri Ojansivu cc00713b2c Organize upcoming changes and refresh translation status according to changelog rules 2026-09-14 14:29:59 +03:00
Lauri Ojansivu b232abe1a0 Record dated Basque rule terminology repair and remaining grammar review 2026-09-14 14:27:51 +03:00
Lauri Ojansivu 2a22a42a96 Correct Basque rule archive and restoration terminology 2026-09-14 14:27:31 +03:00
Lauri Ojansivu a6da38e763 Document automatic Git menu merge and translation review progress 2026-09-14 14:26:42 +03:00
Lauri Ojansivu f23a18515a Automate orphan autostash recovery and merge origin in Git menu 2026-09-14 14:26:20 +03:00
Lauri Ojansivu ffde8e84ee Validate Basque rule action and date-field labels 2026-09-14 14:25:29 +03:00
Lauri Ojansivu 39f4f573d8 Document Git menu recovery in upcoming changelog 2026-09-14 14:24:29 +03:00
Lauri Ojansivu f665f7cdaf Guard Git menu operations and report interrupted pull cleanup failures 2026-09-14 14:24:18 +03:00
Lauri Ojansivu ec5a6464fc Merge remote-tracking branch 'origin/main' 2026-09-14 14:23:49 +03:00
Lauri Ojansivu 3ad3491f39 Update dated translation audit and upcoming review progress 2026-09-14 14:23:27 +03:00
Lauri Ojansivu 4c788beef0 Validate Basque date parent-task and standalone rule labels 2026-09-14 14:23:10 +03:00
Lauri Ojansivu 84514bb203 Record dated Basque impersonation translation review 2026-09-14 14:22:21 +03:00
Lauri Ojansivu f29c14def7 Validate Basque impersonation wording against dictionary and handler 2026-09-14 14:21:50 +03:00
Lauri Ojansivu 0443b18e38 Add Frappe responsiveness browser regression and upcoming notes 2026-09-14 14:21:21 +03:00
Lauri Ojansivu 670c203113 Stop Frappe Gantt chrome observer from rewriting identical labels 2026-09-14 14:20:56 +03:00
Lauri Ojansivu fb74726c9e Document full-width board views in upcoming changelog 2026-09-14 14:20:35 +03:00
Lauri Ojansivu fda197bb00 Use full available width for timeline and shared board report views 2026-09-14 14:20:23 +03:00
Lauri Ojansivu 74ecca7814 Record Basque date and webhook translation review progress 2026-09-14 14:19:59 +03:00
Lauri Ojansivu a076987c96 Validate Basque date activities upload outcomes and webhook labels 2026-09-14 14:17:24 +03:00
Lauri Ojansivu e35ba91dfd Update LDAP investigation and language picker changelog 2026-09-14 14:16:25 +03:00
Lauri Ojansivu dad65fb6c5 Verify LDAP issue 6692 through actual bind and user search methods
The latest 11.77 report still shows the undefined-index error fixed locally in 2c5cdd78a. Exercise service-account binding followed by user search with unset and configured filters, and prove failed binding cannot proceed to search. The separately reported oplog observer error is not established as the authentication cause.

Thanks to Nissulya and xet7 !

Fixes #6692,
2026-09-14 14:16:19 +03:00
Lauri Ojansivu c3ce54fa21 Show full-width language picker with separate language and region lines 2026-09-14 14:15:31 +03:00
Lauri Ojansivu 220a6beb69 Record Basque report and storage translation review progress 2026-09-14 14:14:23 +03:00
Lauri Ojansivu ea16ef95e4 Validate Basque team reports and storage migration messages 2026-09-14 14:13:58 +03:00
Lauri Ojansivu 1ee15661a3 Record Basque search terminology repair and review progress 2026-09-14 14:13:28 +03:00
Lauri Ojansivu 9910a2c138 Clarify Basque archived search status and validate operator instructions 2026-09-14 14:12:59 +03:00
Lauri Ojansivu de9da747a7 Record Basque rule and activity translation review progress 2026-09-14 14:12:19 +03:00
Lauri Ojansivu e34b55d698 Validate Basque rule fragments and activity settings 2026-09-14 14:11:54 +03:00
Lauri Ojansivu 251e352245 Record Basque archive translation fixes and review progress 2026-09-14 14:11:22 +03:00
Lauri Ojansivu 629577951a Clarify Basque archive activity terminology and validate instructions 2026-09-14 14:10:57 +03:00
Lauri Ojansivu f7a816eb22 Record Basque activity and Galician label review progress 2026-09-14 14:10:08 +03:00
Lauri Ojansivu 641062f8cd Validate Basque activity messages and Galician session labels 2026-09-14 14:09:46 +03:00
Lauri Ojansivu bceb89d928 Document activity placeholder repair and translation review progress 2026-09-14 14:09:02 +03:00
Lauri Ojansivu 888e0e6bcd Substitute activity message values through current translation API
Pass activity values as sprintf options and discard Spacebars helper metadata so card and sidebar feeds show actual titles and labels instead of literal percent placeholders. Preserve the security-aware viewer and sanitizing. Verify substitution using the real i18next formatter and register browser assertions for both feeds.
2026-09-14 14:08:37 +03:00
Lauri Ojansivu a5e111f910 Validate Galician repository and account translations 2026-09-14 14:07:04 +03:00
Lauri Ojansivu 30abbc9ae2 Record Galician scheduler translation review progress 2026-09-14 14:06:27 +03:00
Lauri Ojansivu d2780f0082 Validate Galician scheduler and migration threshold translations 2026-09-14 14:06:05 +03:00
Lauri Ojansivu 1ca33bf70f Record Galician subtask agreement and migration review progress 2026-09-14 14:05:25 +03:00
Lauri Ojansivu 01fa30d1c3 Fix Galician completed-subtask agreement and review migration steps 2026-09-14 14:04:56 +03:00
Lauri Ojansivu cfeeb65d46 Record Galician storage migration translation review progress 2026-09-14 14:04:10 +03:00
Lauri Ojansivu b71db72ab0 Validate Galician storage migrations and progress labels 2026-09-14 14:03:49 +03:00
Lauri Ojansivu 196b82d78c Record Galician S3 and migration translation review progress 2026-09-14 14:03:14 +03:00
Lauri Ojansivu 9683042c4e Validate Galician S3 settings and migration outcomes 2026-09-14 14:02:45 +03:00
Lauri Ojansivu 86dc493da9 Document historical mirror recovery in upcoming changelog 2026-09-14 14:02:10 +03:00
Lauri Ojansivu 44e3e1fd75 Recover unavailable mirror links from creation-date Wayback history
Bound attachment requests and defer long rate-limit cooldowns while preserving rate-limit state. Recover missing public links from the closest historical capture, retain provenance, and skip optional failures so remaining content synchronization continues.
2026-09-14 14:01:59 +03:00
Lauri Ojansivu f753dedd93 Record Galician migration and backup review progress 2026-09-14 14:00:13 +03:00
Lauri Ojansivu 4e3802901e Validate Galician migration retry and backup translations 2026-09-14 13:59:56 +03:00
Lauri Ojansivu 9e8d8da268 Document staged parallel mirror synchronization in upcoming changelog 2026-09-14 13:59:20 +03:00
Lauri Ojansivu 103e4dface Stage Git and archive sync before parallel destination mirroring
Synchronize Git to all active destinations before collecting source content. Reuse the local archive for concurrent destination processes, show combined per-mirror issue and release counters, and retain separate mirror-named logs. Stop content writes after archive failure and preserve restart checkpoints.
2026-09-14 13:58:58 +03:00
Lauri Ojansivu 587f4ec335 Record Galician received-card and scheduler translation repairs 2026-09-14 13:55:47 +03:00
Lauri Ojansivu cfc2480e54 Fix Galician received-card agreement and validate scheduled job labels 2026-09-14 13:55:27 +03:00
Lauri Ojansivu 927faa7215 Record Galician upload and accessibility review progress 2026-09-14 13:54:27 +03:00
Lauri Ojansivu f51c7439f9 Validate Galician upload and accessibility settings translations 2026-09-14 13:54:09 +03:00
Lauri Ojansivu b5ddb610a8 Update Galician diagnostic review progress 2026-09-14 13:53:41 +03:00
Lauri Ojansivu 8fbc620750 Validate Galician diagnostic and storage labels 2026-09-14 13:53:21 +03:00
Lauri Ojansivu 503ada2fbe Document LDAP optional-filter login repair and verification 2026-09-14 13:52:52 +03:00
Lauri Ojansivu 2c5cdd78a9 Handle unset optional LDAP user search filter
An unset LDAP_USER_SEARCH_FILTER was indexed after service-account binding, causing the reported undefined index TypeError instead of searching users. Preserve configured filters and reject invalid types explicitly.

Thanks to Nissulya and xet7 !

Fixes #6692,
2026-09-14 13:52:37 +03:00
Lauri Ojansivu 5b2ce8f6f3 Record Galician diagnostic and dictionary review progress 2026-09-14 13:51:54 +03:00
Lauri Ojansivu c6c3b90bef Clarify Galician V8 garbage overwrite diagnostic 2026-09-14 13:51:30 +03:00
Lauri Ojansivu 798e86ec68 Record Galician format translation review progress
Update dated evidence and exact counts while preserving unresolved dictionary and browser requirements.

Thanks to xet7 !
2026-09-14 13:48:33 +03:00
Lauri Ojansivu 1adfb3bec3 Validate Galician format instructions and request states
Retain 27 correct values preserving template tokens, space entities, spinner options and closed/resolved distinctions.

Thanks to xet7 !
2026-09-14 13:48:09 +03:00
Lauri Ojansivu 9d307d8518 Record Galician query translation review progress
Update dated evidence and exact counts while preserving remaining grammar and browser requirements.

Thanks to xet7 !
2026-09-14 13:47:29 +03:00
Lauri Ojansivu d2d90abf53 Validate Galician query syntax and troubleshooting instructions
Retain 30 correct values preserving shorthand, descending sort, period predicates and executable diagnostics.

Thanks to xet7 !
2026-09-14 13:47:04 +03:00
Lauri Ojansivu 414e846517 Record Galician entity translation review progress
Update dated evidence and exact counts, preserving remaining language and browser requirements.

Thanks to xet7 !
2026-09-14 13:46:26 +03:00
Lauri Ojansivu c78c7f3c52 Validate Galician entity and search predicate labels
Retain 30 correct values preserving entity names, date sorting and ended versus overdue predicates.

Thanks to xet7 !
2026-09-14 13:45:57 +03:00
Lauri Ojansivu e410234e78 Record Galician reminder translation review progress
Update dated evidence and exact counts, preserving remaining grammar and browser verification.

Thanks to xet7 !
2026-09-14 13:45:23 +03:00
Lauri Ojansivu 92b911aa94 Validate Galician reminders and notification controls
Retain 30 correct values preserving due conditions, exact tokens, read-state scope and weekday names.

Thanks to xet7 !
2026-09-14 13:44:57 +03:00
Lauri Ojansivu fe022ff608 Record Galician date activity translation review
Update dated evidence and exact counts while preserving outstanding grammar and browser validation.

Thanks to xet7 !
2026-09-14 13:44:27 +03:00
Lauri Ojansivu 44ff8c566b Validate Galician date activities and placement labels
Retain 30 correct values preserving authentication settings, date interpolation and opposing placement directions.

Thanks to xet7 !
2026-09-14 13:44:02 +03:00
Lauri Ojansivu cb16fd4d30 Record Galician rule translation review progress
Update dated evidence and exact counts while preserving remaining agreement and browser requirements.

Thanks to xet7 !
2026-09-14 13:43:32 +03:00
Lauri Ojansivu 87b9e45fb1 Validate Galician rule actions and web metadata labels
Retain 30 correct values preserving check/uncheck scope, wildcard meaning, date actions and literal HTML/JSON configuration names.

Thanks to xet7 !
2026-09-14 13:43:09 +03:00
Lauri Ojansivu 9530e99ea9 Record Galician custom-field activity repair progress
Update dated repair evidence and exact counts, retaining remaining grammar and browser verification.

Thanks to xet7 !
2026-09-14 13:42:35 +03:00
Lauri Ojansivu 29f1980b24 Clarify Galician custom-field value clearing activity
Describe removing the card field value rather than deleting its definition. Retain 25 correct rule and activity values, preserve percent placeholders and add positive/negative regression checks.

Thanks to xet7 !
2026-09-14 13:42:06 +03:00
Lauri Ojansivu 7f47bbf7f3 Record Galician permission translation review progress
Update dated evidence and exact counts while preserving unresolved agreement and browser requirements.

Thanks to xet7 !
2026-09-14 13:40:56 +03:00
Lauri Ojansivu dda51a1e5c Validate Galician account permissions and subtask settings
Retain 28 correct values preserving metadata, roles, notification scope and subtask path relationships. Leave received-label agreement open.

Thanks to xet7 !
2026-09-14 13:40:23 +03:00
Lauri Ojansivu 0b154538d3 Document compact release-note sections in Upcoming
Record the requested section whitelist and verification.

Thanks to xet7 !
2026-09-14 13:39:52 +03:00
Lauri Ojansivu f7def463be Restrict release notes to summary security and language updates
Emit only In short, Security, translation language names, thanks and the exact changelog anchor. Keep other details in the changelog and verify security retention, omitted developer entries and version-specific links offline.

Thanks to xet7 !
2026-09-14 13:39:32 +03:00
Lauri Ojansivu 6e9c26d53b Record Galician diagnostic translation review progress
Update dated evidence and exact counts while preserving remaining language and browser requirements.

Thanks to xet7 !
2026-09-14 13:37:55 +03:00
Lauri Ojansivu 6c534f40f6 Validate Galician SMTP and system diagnostic labels
Retain 30 correct values preserving WIP remedies, webhook scope, invitation tokens and diagnostic distinctions.

Thanks to xet7 !
2026-09-14 13:37:22 +03:00
Lauri Ojansivu 55a8bb26ca Record Galician shortcut translation review progress
Update dated evidence and exact counts, preserving outstanding language and browser requirements.

Thanks to xet7 !
2026-09-14 13:36:56 +03:00
Lauri Ojansivu 64a60f1897 Validate Galician shortcuts and custom branding labels
Retain 30 correct values preserving units, limits, shortcut actions and URL configuration distinctions.

Thanks to xet7 !
2026-09-14 13:36:34 +03:00
Lauri Ojansivu 1709b89e7b Record Galician selection translation review progress
Update dated evidence and exact counts while retaining outstanding grammar and browser validation.

Thanks to xet7 !
2026-09-14 13:36:06 +03:00
Lauri Ojansivu 885d65b3b8 Validate Galician selection and board-management labels
Retain 30 correct values preserving selection scope, role restrictions, login-link interpolation and image-only input.

Thanks to xet7 !
2026-09-14 13:35:43 +03:00
Lauri Ojansivu d07cc31d21 Record Galician filter translation review progress
Update dated evidence and exact counts, retaining outstanding grammar and browser requirements.

Thanks to xet7 !
2026-09-14 13:35:14 +03:00
Lauri Ojansivu c45e99b02b Validate Galician filters and import mapping labels
Retain 30 correct values preserving date ranges, list visibility, import formats and existing-user mapping.

Thanks to xet7 !
2026-09-14 13:34:48 +03:00
Lauri Ojansivu 88fa9f5461 Record Galician email translation review progress
Update dated evidence and exact counts, retaining unresolved contextual and browser requirements.

Thanks to xet7 !
2026-09-14 13:33:59 +03:00
Lauri Ojansivu ac0f8696fa Validate Galician account emails and export fields
Retain 29 correct values preserving email purposes, placeholders, export roles and attachment metadata.

Thanks to xet7 !
2026-09-14 13:33:18 +03:00
Lauri Ojansivu d3afacd15f Record Galician custom-field translation review progress
Update dated evidence and exact counts, preserving outstanding grammar and browser validation.

Thanks to xet7 !
2026-09-14 13:32:45 +03:00
Lauri Ojansivu 98c90fd8a6 Validate Galician custom fields and access labels
Retain 30 correct values preserving access restrictions, field types, dropdown alternatives and email interpolation.

Thanks to xet7 !
2026-09-14 13:32:20 +03:00
Lauri Ojansivu 3fb32bc4b5 Record Galician estimation translation review progress
Update dated evidence and exact counts while preserving remaining language and browser validation.

Thanks to xet7 !
2026-09-14 13:31:39 +03:00
Lauri Ojansivu 47fb0f2771 Validate Galician estimation controls and color labels
Retain 30 correct values preserving named features, automatic-width inversion and color distinctions.

Thanks to xet7 !
2026-09-14 13:31:11 +03:00
Lauri Ojansivu 51d025e131 Record Galician calendar translation review progress
Update dated evidence and counts, retaining outstanding language and browser requirements.

Thanks to xet7 !
2026-09-14 13:30:42 +03:00
Lauri Ojansivu e5e09f52c8 Validate Galician calendar and voting labels
Retain 30 correct values preserving date directions, voting scope and permanent deletion warnings.

Thanks to xet7 !
2026-09-14 13:30:19 +03:00
Lauri Ojansivu 31786d7574 Record Galician display translation review progress
Update dated evidence and exact counts while preserving outstanding language and browser validation.

Thanks to xet7 !
2026-09-14 13:29:52 +03:00
Lauri Ojansivu 708478423a Validate Galician display settings and archive controls
Retain 30 correct values preserving units, archive scope, avatar tokens and zoom directions.

Thanks to xet7 !
2026-09-14 13:29:29 +03:00
Lauri Ojansivu 00c917ab39 Record Galician activity translation review progress
Update dated evidence and exact counts, retaining outstanding fluency and browser requirements.

Thanks to xet7 !
2026-09-14 13:29:00 +03:00
Lauri Ojansivu 4b926a60fa Validate Galician activities and workspace controls
Retain 35 correct values preserving activity directions, date tokens, workspace settings and shortcut state inversions.

Thanks to xet7 !
2026-09-14 13:28:34 +03:00
Lauri Ojansivu 829fb2ae9d Record Galician migration execution translation review
Update dated evidence and exact counts; preserve outstanding language and browser verification.

Thanks to xet7 !
2026-09-14 13:28:03 +03:00
Lauri Ojansivu e8766c17b9 Validate Galician migration execution and account messages
Retain 30 correct values preserving background behavior, batch limits, attachment states and account validation.

Thanks to xet7 !
2026-09-14 13:27:41 +03:00
Lauri Ojansivu 81ed6d9899 Document language-only translation release notes
Record summary behavior and offline verification under Upcoming.

Thanks to xet7 !
2026-09-14 13:27:11 +03:00
Lauri Ojansivu 8db16132cb Summarize release-note translations as updated languages
Keep detailed translation entries in the changelog and audit, but list only affected languages in release notes. Require explicit language metadata, preserve other topic details, and anchor release heading extraction. Verify nested detail removal and missing-metadata failure offline.

Thanks to xet7 !
2026-09-14 13:26:55 +03:00
Lauri Ojansivu a187b70013 Record Galician migration translation review progress
Update dated evidence and exact counts while preserving open completion terminology and browser requirements.

Thanks to xet7 !
2026-09-14 13:25:13 +03:00
Lauri Ojansivu ff77543b5c Validate Galician migration scopes and confirmations
Retain 34 correct values preserving archive restrictions, duplicate-list conditions, administrator-only execution and migration progress.

Thanks to xet7 !
2026-09-14 13:24:53 +03:00
Lauri Ojansivu 72abc938dd Record Galician account and scheduling review progress
Update dated exact counts and remaining ambiguous terminology requirements.

Thanks to xet7 !
2026-09-14 13:24:23 +03:00
Lauri Ojansivu 3b524f0712 Validate Galician account states and scheduled board actions
Retain 29 correct values preserving activation, unlock scope and scheduling success versus execution. Leave Complete wording open pending context.

Thanks to xet7 !
2026-09-14 13:23:57 +03:00
Lauri Ojansivu fd170dfc32 Record Galician storage translation review progress
Update dated evidence and resolve visibility-label context while preserving remaining validation scope.

Thanks to xet7 !
2026-09-14 13:23:33 +03:00
Lauri Ojansivu 2f141de75b Validate Galician storage and account-lockout labels
Retain 30 correct values preserving attachment scope, storage names, account states and visibility settings. Resolve card-show-lists context against the settings row and toggle.

Thanks to xet7 !
2026-09-14 13:23:08 +03:00
Lauri Ojansivu 4b82dd70fb Document changelog-only release notes in Upcoming
Record the release-note fix, validation and preserved separate provenance artifacts.

Thanks to xet7 !
2026-09-14 13:22:38 +03:00
Lauri Ojansivu ccfceb7b77 Exclude binary provenance tables from release notes
Generate initial and refreshed release notes solely from the changelog. Retain checksum verification and build provenance artifacts separately. Update build entry points, release instructions and regression guards.

Thanks to xet7 !
2026-09-14 13:22:19 +03:00
Lauri Ojansivu 263da8892d Record Galician predicate translation review progress
Update dated evidence and remaining contextual review requirements.

Thanks to xet7 !
2026-09-14 13:20:49 +03:00
Lauri Ojansivu f22aeb7bcd Validate Galician search predicates and checklist instructions
Retain 39 correct values preserving boolean search logic, deletion constraints, checklist order and legal-notice agreement. Leave card-show-lists context open.

Thanks to xet7 !
2026-09-14 13:20:19 +03:00
Lauri Ojansivu 7672a79147 Record Galician search translation review progress
Update dated review evidence and exact counts while retaining remaining language and browser requirements.

Thanks to xet7 !
2026-09-14 13:19:50 +03:00
Lauri Ojansivu cf1e89bb9e Validate Galician search results and operator instructions
Retain 40 correct values preserving query syntax, role alternatives, date thresholds and result interpolation.

Thanks to xet7 !
2026-09-14 13:19:28 +03:00
Lauri Ojansivu 93ea560109 Record Galician deletion and card-view review progress
Update dated evidence and exact review counts, preserving outstanding grammar and browser validation.

Thanks to xet7 !
2026-09-14 13:18:59 +03:00
Lauri Ojansivu 2cb3f6b13f Validate Galician deletion warnings and personal card views
Retain 34 correct values, preserving irreversible effects, linked-card deletion order, mention placeholders and due-card permission restrictions.

Thanks to xet7 !
2026-09-14 13:18:38 +03:00
Lauri Ojansivu f8bb9f02f7 Record Galician date-trigger repairs and grammar finding
Update dated progress, source commit and remaining contextual agreement requirements.

Thanks to xet7 !
2026-09-14 13:18:14 +03:00
Lauri Ojansivu 54fdfd33ca Repair Galician automation date-trigger meanings
Replace Portuguese date wording and preserve both setting and changing dates. Retain 39 correct automation and HTML-placement values; leave attachment participle agreement open after inspecting assembled controls. Add positive and negative date-trigger regression checks.

Thanks to xet7 !
2026-09-14 13:17:47 +03:00
Lauri Ojansivu 6100709231 Record Galician card settings translation review progress
Update dated review evidence and exact counts while retaining outstanding language and browser validation.

Thanks to xet7 !
2026-09-14 13:16:37 +03:00
Lauri Ojansivu edea4b20e1 Validate Galician card settings and automation labels
Retain 25 correct translations after checking parent relationships, subtask destinations, attachment counts, activity interpolation and automation action scope.

Thanks to xet7 !
2026-09-14 13:16:13 +03:00
Lauri Ojansivu 0a43570fc8 Record Galician visibility translation review progress
Update dated review hash and exact counts, preserving remaining language and browser requirements.

Thanks to xet7 !
2026-09-14 13:14:09 +03:00
Lauri Ojansivu e74cc64642 Validate Galician visibility and deletion warnings
Retain twenty-five correct values, preserving private-only scope, field application distinctions, invitation tokens and irreversible deletion warnings.

Thanks to xet7 !
2026-09-14 13:13:40 +03:00
Lauri Ojansivu 115901a7c8 Record Galician removal and shortcut translation review
Update dated review hash and exact counts while preserving all remaining audit and browser requirements.

Thanks to xet7 !
2026-09-14 13:13:08 +03:00
Lauri Ojansivu 4f0293f5cd Validate Galician removal and card-shortcut labels
Retain twenty-five correct translations, preserving member-removal effects, unsaved-description warnings, thresholds and self-assignment distinctions.

Thanks to xet7 !
2026-09-14 13:12:44 +03:00
Lauri Ojansivu 91c36f1cea Record Galician import-mapping and privacy translation review
Update dated review hash and exact counts while preserving remaining full audit and browser scope.

Thanks to xet7 !
2026-09-14 13:12:13 +03:00
Lauri Ojansivu 7f7db419c7 Validate Galician import mapping and board privacy descriptions
Retain twenty-five correct translations, preserving admin constraints, mapping fallback, notification scope and public versus private access.

Thanks to xet7 !
2026-09-14 13:11:37 +03:00
Lauri Ojansivu b6403e798e Record Galician import-help translation repair
Update dated repair hash and exact counts while preserving remaining full language and browser audit scope.

Thanks to xet7 !
2026-09-14 13:11:10 +03:00
Lauri Ojansivu 316232f694 Preserve Trello navigation labels in Galician import help
Retain Galician prose and twenty-nine correct template, invitation, export and filter labels. Preserve literal JSON properties and interpolation.

Thanks to xet7 !
2026-09-14 13:10:42 +03:00
Lauri Ojansivu 0233b49593 Record Galician role-description translation review
Update dated review hash and exact counts, preserving remaining full language and browser audit scope.

Thanks to xet7 !
2026-09-14 13:10:03 +03:00
Lauri Ojansivu 96367d2134 Validate Galician role descriptions and card controls
Retain twenty-five correct translations, preserving assigned-only visibility, editing restrictions and worker self-assignment scope.

Thanks to xet7 !
2026-09-14 13:09:36 +03:00
Lauri Ojansivu c8adbff586 Record Galician deletion-warning translation review
Update dated review hash and exact counts while preserving remaining audit and browser requirements.

Thanks to xet7 !
2026-09-14 13:08:58 +03:00
Lauri Ojansivu 4c585a2b81 Validate Galician deletion warnings and archive guidance
Retain twenty-five correct values, preserving permanent deletion versus reversible archive behavior and activity-loss warnings.

Thanks to xet7 !
2026-09-14 13:08:36 +03:00
Lauri Ojansivu 646ab17f46 Record Galician board-settings translation review
Update dated review hash and exact counts, preserving full remaining audit and browser scope.

Thanks to xet7 !
2026-09-14 13:08:04 +03:00
Lauri Ojansivu 68277a708d Validate Galician board settings and archive controls
Retain twenty-five correct translations, preserving member and assignee scopes, public/private distinctions and HTML emphasis.

Thanks to xet7 !
2026-09-14 13:07:41 +03:00
Lauri Ojansivu e55898711f Record Galician creation-control translation review
Update dated review hash and exact counts while preserving all unresolved language and browser requirements.

Thanks to xet7 !
2026-09-14 13:07:13 +03:00
Lauri Ojansivu f1add7ab2b Validate Galician creation controls and offline warning
Retain twenty-five correct translations, preserving placement, privilege scope, count agreement and data-loss conditions.

Thanks to xet7 !
2026-09-14 13:06:49 +03:00
Lauri Ojansivu 36b0109fc3 Record Galician membership and movement translation review
Update dated review hash and exact counts while preserving unresolved language and browser verification.

Thanks to xet7 !
2026-09-14 13:06:22 +03:00
Lauri Ojansivu b82f539a41 Validate Galician membership and card-movement activities
Retain twenty-five correct archive, import, movement and checklist values, preserving direction and exact interpolation.

Thanks to xet7 !
2026-09-14 13:05:59 +03:00
Lauri Ojansivu 2998b14bc2 Record Galician activity translation review progress
Update dated review hash and exact counts while preserving uncertain Esperanto findings and full remaining language/browser scope.

Thanks to xet7 !
2026-09-14 13:05:31 +03:00
Lauri Ojansivu 0d2e977d90 Validate Galician card and checklist activity translations
Retain twenty-five correct activity values, preserving action distinctions, object relationships and exact placeholders.

Thanks to xet7 !
2026-09-14 13:05:08 +03:00
Lauri Ojansivu 0b8f090343 Record Esperanto overtime terminology repair and evidence limits
Update dated repair hash and counts, distinguishing work classification from deadline expiry and retaining broader fluency review.

Thanks to xet7 !
2026-09-14 13:04:34 +03:00
Lauri Ojansivu 9b6b1ffe6f Clarify Esperanto overtime work labels
Use consistent overtime-work terminology for manually classified recorded hours, preserving the hours unit and separating this flag from due-date expiry.

Thanks to xet7 !
2026-09-14 13:04:06 +03:00
Lauri Ojansivu 11ac7f8a97 Record Esperanto advanced-filter translation repair
Update dated repair hash, exact counts and parser evidence while preserving wider language and browser review requirements.

Thanks to xet7 !
2026-09-14 13:03:28 +03:00
Lauri Ojansivu 5d94f1b92b Repair Esperanto advanced-filter examples and escaping instructions
Preserve canonical query examples and explain literal special-character escaping. Add positive example and negative malformed-wording coverage.

Thanks to xet7 !
2026-09-14 13:03:02 +03:00
Lauri Ojansivu e520065604 Record confirmed Esperanto scrollbar terminology
Update dated review hash and primary-source evidence, retaining unresolved color and broader audit requirements.

Thanks to xet7 !
2026-09-14 13:02:10 +03:00
Lauri Ojansivu 41fb26dff6 Validate Esperanto scrollbar terminology against computing references
Retain the correct vertical scrollbar translation; primary terminology and LibreOffice documentation confirm rulumskalo.

Thanks to xet7 !
2026-09-14 13:01:46 +03:00
Lauri Ojansivu c91ef98426 Record Esperanto garbage-zapping terminology repair
Update dated repair hash, official API evidence and exact counts while keeping remaining translation review open.

Thanks to xet7 !
2026-09-14 13:01:18 +03:00
Lauri Ojansivu 05217bbb9e Correct Esperanto heap garbage-zapping diagnostic
Describe overwriting heap garbage with a bit pattern rather than zeroing it, matching official Node V8 documentation.

Thanks to xet7 !
2026-09-14 13:00:52 +03:00
Lauri Ojansivu d8fd82d57d Record Esperanto remaining-label review progress
Update dated review hash and exact counts; explicitly preserve nine uncertain Esperanto findings and wider audit scope.

Thanks to xet7 !
2026-09-14 13:00:18 +03:00
Lauri Ojansivu f523001c3e Validate Esperanto account outcomes and remaining basic labels
Retain ten correct labels, preserving account creation success versus failure and login versus logout distinctions.

Thanks to xet7 !
2026-09-14 12:59:51 +03:00
Lauri Ojansivu ccafc4db96 Record Esperanto repository translation review progress
Update dated review hash and counts, preserving all remaining language and browser audit requirements.

Thanks to xet7 !
2026-09-14 12:59:23 +03:00
Lauri Ojansivu 9ba7cfcb80 Validate Esperanto repository and authentication labels
Retain thirty correct values, preserving temporary lockout conditions, required credentials, minimum length and byte units.

Thanks to xet7 !
2026-09-14 12:58:58 +03:00
Lauri Ojansivu 545e1bc9fb Record Esperanto scheduling translation review progress
Update dated review hash and exact counts; group upcoming translation entries and preserve open verification requirements.

Thanks to xet7 !
2026-09-14 12:58:32 +03:00
Lauri Ojansivu 5a398d5acc Validate Esperanto scheduling intervals and diagnostics
Retain thirty correct restoration, resource and scheduling labels, preserving interval quantities, singular/plural agreement and percent units.

Thanks to xet7 !
2026-09-14 12:57:52 +03:00
Lauri Ojansivu 44a6f7e74a Record Esperanto migration-confirmation review progress
Update dated review hash and counts, preserving unresolved meanings and full remaining audit scope.

Thanks to xet7 !
2026-09-14 12:57:26 +03:00
Lauri Ojansivu 07756eecd0 Validate Esperanto migration confirmations and steps
Retain thirty correct warnings and progress labels, preserving operation order, archived versus nonarchived scope and difficult-undo warnings.

Thanks to xet7 !
2026-09-14 12:57:00 +03:00
Lauri Ojansivu ba489652ec Record Esperanto migration-description review progress
Update dated review hash, exact counts and unresolved completion-label evidence without closing remaining audit scope.

Thanks to xet7 !
2026-09-14 12:56:33 +03:00
Lauri Ojansivu 036cbff311 Validate Esperanto migration repair descriptions
Retain nineteen correct restoration and data-integrity labels, preserving field identifiers, board scope and administrator-only permission. Leave Complete state terminology under review.

Thanks to xet7 !
2026-09-14 12:56:08 +03:00
Lauri Ojansivu aa0ae67f83 Record Esperanto storage and migration review progress
Update dated review hash and exact counts while preserving remaining translation and browser requirements.

Thanks to xet7 !
2026-09-14 12:55:32 +03:00
Lauri Ojansivu 460df4ada0 Validate Esperanto storage and migration settings
Retain thirty correct values, preserving conjunctive duplicate-list safety conditions and distinct migration actions and connection outcomes.

Thanks to xet7 !
2026-09-14 12:55:10 +03:00
github-actions[bot] 605c6caf41 Bump versions for v11.77 2026-09-14 09:55:00 +00:00
Lauri Ojansivu 25ed0a5ccb Record Esperanto scheduled-job translation review progress
Update dated review hash and counts, preserving released v11.77 notes and recording new work under Upcoming.

Thanks to xet7 !
2026-09-14 12:54:44 +03:00
Lauri Ojansivu 8b0d7488ad Prepare v11.77 release 2026-09-14 12:53:36 +03:00
Lauri Ojansivu 5946767b1f Validate Esperanto scheduled-job and migration labels
Retain twenty-nine correct administration values, preserving failed versus paused states and success versus failure outcomes. Leave context-dependent Complete under review.

Thanks to xet7 !
2026-09-14 12:53:34 +03:00
Lauri Ojansivu 0f29a984da Record Esperanto account-window translation repair
Update dated local repair hash, exact counts and evidence while preserving remaining language and browser review.

Thanks to xet7 !
2026-09-14 12:53:00 +03:00
Lauri Ojansivu 6eaabcaeaa Clarify Esperanto login-failure time window
Distinguish the time window for failed attempts from an unsuccessful window. Retain twenty-nine correct support, accessibility and account-state labels.

Thanks to xet7 !
2026-09-14 12:52:34 +03:00
Lauri Ojansivu 26013dc670 Record Esperanto attachment translation review progress
Update dated review hash and exact counts, preserving remaining language and browser requirements.

Thanks to xet7 !
2026-09-14 12:51:48 +03:00
Lauri Ojansivu 1439290a60 Validate Esperanto attachment and custom-translation labels
Retain thirty correct storage, upload, authentication and custom-translation strings, preserving byte units and irreversible deletion warnings.

Thanks to xet7 !
2026-09-14 12:51:21 +03:00
Lauri Ojansivu 0a5b46b0fb Record Esperanto RSS repair and technical terminology review
Update dated repair hash, exact counts and dictionary evidence; keep uncertain memory and wider language/browser validation open.

Thanks to xet7 !
2026-09-14 12:50:55 +03:00
Lauri Ojansivu 3e0c49da97 Restore size meaning in Esperanto RSS diagnostic
Clarify resident set size and retain twenty-eight correct memory, legal and checklist labels. Preserve documented native terminology; garbage-zapping wording remains under review.

Thanks to xet7 !
2026-09-14 12:50:28 +03:00
Lauri Ojansivu 4e22307ef9 Document private-only board insertion policy follow-up
Add upcoming changelog entry and dated remediation evidence with the local implementation commit and verification limits.

Thanks to xet7 !
2026-09-14 12:49:47 +03:00
Lauri Ojansivu 749467c802 Enforce private-only policy for trusted board insertions
Apply the instance visibility policy at the shared before-insert hook so copies, imports and lazy helpers cannot create public boards. Keep policy enforcement independent of security logger availability.

Thanks to xet7 !
2026-09-14 12:49:30 +03:00
Lauri Ojansivu 71084bbef2 Record Esperanto request and spinner translation review
Update dated review hash, exact progress counts and evidence without closing remaining language or browser verification.

Thanks to xet7 !
2026-09-14 12:48:16 +03:00
Lauri Ojansivu 59ad2ce12a Validate Esperanto request states and spinner labels
Retain thirty correct separator, swimlane, spinner and request translations, preserving literal space entities and organization deletion constraints.

Thanks to xet7 !
2026-09-14 12:47:57 +03:00
Lauri Ojansivu e62d364229 Record Esperanto search instruction audit progress
Update dated review hash and exact counts, noting shared source formatting separately from translation errors.

Thanks to xet7 !
2026-09-14 12:47:31 +03:00
Lauri Ojansivu bc927c112c Validate Esperanto search instructions and sorting labels
Retain thirty correct translations, preserving query examples, interpolation, integer rules and sorting direction.

Thanks to xet7 !
2026-09-14 12:47:11 +03:00
Lauri Ojansivu 1f08e395f2 Record Esperanto search validation review progress
Update dated commit, exact review counts and evidence while preserving remaining translation scope.

Thanks to xet7 !
2026-09-14 12:46:41 +03:00
Lauri Ojansivu 18cf8b11bb Validate Esperanto search operators and errors
Retain forty correct search display labels, validation errors and pagination translations, preserving positive-integer requirements and exact interpolation.

Thanks to xet7 !
2026-09-14 12:46:23 +03:00
Lauri Ojansivu eb592680b0 Record Esperanto due-card and search audit progress
Update dated review commit and exact counts while preserving the full remaining translation review scope.

Thanks to xet7 !
2026-09-14 12:45:53 +03:00
Lauri Ojansivu 53044af0bb Validate Esperanto due-card and search labels
Retain forty-five correct weekdays, task states, due-card permission descriptions and search labels, preserving negation and interpolation.

Thanks to xet7 !
2026-09-14 12:45:34 +03:00
Lauri Ojansivu 96623d8651 Record Esperanto reminder and notification review progress
Update dated local review hash, exact counts and evidence while keeping all remaining translation verification open.

Thanks to xet7 !
2026-09-14 12:45:11 +03:00
Lauri Ojansivu 35792c787d Validate Esperanto reminders and notification controls
Retain forty correct date activity, placement, deletion warning, assignee and notification translations after direct semantic review.

Thanks to xet7 !
2026-09-14 12:44:52 +03:00
Lauri Ojansivu 11c667884b Record Esperanto completion validation with corrected dictionary provenance
Update dated review counts and preserve remaining language and browser audit requirements.

Thanks to xet7 !
2026-09-14 12:44:26 +03:00
Lauri Ojansivu 5b1ec70e94 Validate Esperanto checklist completion and metadata labels
Use the correct native ReVo komplet entry and retain six checklist state translations plus thirty correct authentication, custom metadata and date labels.

Thanks to xet7 !
2026-09-14 12:44:03 +03:00
Lauri Ojansivu 74114f5856 Update translation audit after Esperanto custom-field review
Record dated repair commit, corrected example coverage and current counts. Preserve open language and browser validation requirements.

Thanks to xet7 !
2026-09-14 12:43:10 +03:00
Lauri Ojansivu 3b44bfb5e9 Clarify Esperanto custom-field value removal
Replace misconfiguration wording with value removal, retain fifty-two valid rule and hierarchy labels, and preserve translated comma-separated example names in review coverage.

Thanks to xet7 !
2026-09-14 12:42:37 +03:00
Lauri Ojansivu adc40ef818 Record Esperanto member and subtask translation repairs
Update dated audit counts, evidence and upcoming changelog with the verified local repair commit. Keep remaining language and browser review open.

Thanks to xet7 !
2026-09-14 12:41:29 +03:00
Lauri Ojansivu fbc39261f7 Repair Esperanto member notification and subtask activity wording
Use a singular member reference and a finite past verb with the established swimlane term. Retain fourteen correct rule and filter translations after semantic review.

Thanks to xet7 !
2026-09-14 12:40:33 +03:00
Lauri Ojansivu 8d3e71f0b3 Record Esperanto webhook and date validation progress
Update dated local review and exact counts in short audit, evidence and upcoming changelog, preserving remaining validation requirements.

Thanks to xet7 !
2026-09-14 12:37:27 +03:00
Lauri Ojansivu e4e614f298 Validate restored Esperanto webhook and date labels
Retain 40 directly reviewed correct values. Preserve webhook direction, field sum meaning, private-only policy, date endpoint distinctions and irreversible notification deletion warning. Existing uncertain terms remain open.

Thanks to xet7 !
2026-09-14 12:37:11 +03:00
Lauri Ojansivu 5a30f3f957 Record Esperanto Unwatch repair and mail review progress
Update dated local hash and exact reconstructed counts in short audit and upcoming changelog; remaining language/browser validation stays open.

Thanks to xet7 !
2026-09-14 12:36:43 +03:00
Lauri Ojansivu 5ef0759877 Repair Esperanto unwatch wording and validate upload and mail labels
Express stopping observation/subscription rather than looking. Retain 37 correct restored shortcut, upload, invitation and SMTP values; keep overtime terminology unresolved. Verify placeholders and both translation ledgers.

Thanks to xet7 !
2026-09-14 12:36:24 +03:00
Lauri Ojansivu 5e2ba642b9 Record Esperanto mapping and selection validation progress
Update dated local review and exact reconstructed counts in short audit, evidence and upcoming changelog. Keep unresolved terminology and browser validation open.

Thanks to xet7 !
2026-09-14 12:35:41 +03:00
Lauri Ojansivu ba7f76e53e Validate restored Esperanto member mapping and selection labels
Retain 40 directly reviewed correct values. Preserve administrator minimum, assigned-only scope, invitation state, image constraints, login links and placeholders. Correct emoji autocomplete wording is distinct from unresolved checklist completion terms.

Thanks to xet7 !
2026-09-14 12:35:23 +03:00
Lauri Ojansivu 65aa56ae29 Record Esperanto sorting and filter validation progress
Record dated local review, exact counts and remaining long-form syntax/language verification in short audit and upcoming changelog.

Thanks to xet7 !
2026-09-14 12:34:55 +03:00
Lauri Ojansivu 5ab78031d9 Validate restored Esperanto sorting and filter labels
Retain 34 directly reviewed correct values, preserving date ranges, absent-field states, manual order, import format meanings and export restrictions. Keep long advanced-filter syntax and earlier uncertain terminology open.

Thanks to xet7 !
2026-09-14 12:34:38 +03:00
Lauri Ojansivu 28a865dcbf Record Esperanto date-format repair and export review progress
Update dated local repair hash, exact reconstructed counts and remaining validation scope in short audit, evidence and upcoming changelog.

Thanks to xet7 !
2026-09-14 12:34:10 +03:00
Lauri Ojansivu 1b2232534d Restore Esperanto date-format notation and validate export guidance
Replace foreign JJJJ/TT abbreviations with canonical YYYY/DD notation in three format labels. Retain 37 correct restored field, email and export values. Verify correction records, placeholders, key order and unchanged acceptances.

Thanks to xet7 !
2026-09-14 12:33:50 +03:00
Lauri Ojansivu 5e779f5303 Record Esperanto role and field validation progress
Keep dated short audit and changelog current with actual local review, reconstructed counts and remaining language/browser validation.

Thanks to xet7 !
2026-09-14 12:33:08 +03:00
Lauri Ojansivu 5ba04c1021 Validate restored Esperanto roles and custom-field labels
Retain 49 directly reviewed correct values. Preserve assigned-card scope, comment/read restrictions, field types and none/unknown states. Keep the lime color term and earlier uncertain findings open.

Thanks to xet7 !
2026-09-14 12:32:50 +03:00
Lauri Ojansivu 232c97fac1 Record Esperanto calendar and voting validation progress
Keep dated local review, exact reconstructed counts and open validation scope current in the short audit and upcoming changelog.

Thanks to xet7 !
2026-09-14 12:32:24 +03:00
Lauri Ojansivu 8be47d3b3d Validate restored Esperanto calendar and voting controls
Retain 50 directly reviewed correct zoom, board-view, archive, voting and avatar labels. Preserve numeric bounds, date directions, visibility meaning, literal product names and question-mark notation.

Thanks to xet7 !
2026-09-14 12:32:07 +03:00
Lauri Ojansivu 6f85909d0d Record Esperanto watch title repair and subtask validation
Update dated short audit, actual local source hash and exact progress. Correct the complex-versus-complete dictionary attribution and keep completion terminology unresolved.

Thanks to xet7 !
2026-09-14 12:31:40 +03:00
Lauri Ojansivu 9ee9d2357d Repair Esperanto watch settings title and validate subtask wording
Use observation terminology for watch settings. Retain 33 correct restored values, including transparent subtask compounds after checking ReVo task vocabulary, and attachment/template/mode controls. Completion wording remains under review.

Thanks to xet7 !
2026-09-14 12:31:18 +03:00
Lauri Ojansivu 34701c8c8a Record Esperanto workspace review and recovered dictionary evidence
Update dated local review progress and exact counts. Record directly fetched ReVo task source without claiming full completion terminology validation.

Thanks to xet7 !
2026-09-14 12:30:27 +03:00
Lauri Ojansivu 6f096bfeb6 Validate restored Esperanto workspace and activity wording
Retain 47 directly reviewed correct values, preserving date distinctions, source/destination order, workspace hierarchy, administrator powers and loading data-loss warnings. Completion terminology remains open.

Thanks to xet7 !
2026-09-14 12:30:01 +03:00
Lauri Ojansivu 195eda9d97 Record Esperanto lockout and storage validation progress
Update dated short audit, evidence and upcoming changelog with actual local review and reconstructed counts. Remaining language and browser validation stays open.

Thanks to xet7 !
2026-09-14 12:29:20 +03:00
Lauri Ojansivu e88feb32ae Validate restored Esperanto lockout and storage translations
Retain 48 directly reviewed correct values. Preserve upload units, ZIP layout instructions, lockout identities, activation polarity, job failure/success distinctions, S3 endpoint examples and placeholders. Uncertain terminology remains open.

Thanks to xet7 !
2026-09-14 12:29:03 +03:00
Lauri Ojansivu 35fd800f54 Record Esperanto template repair and advanced-search review progress
Keep dated short audit and changelog current with actual local commit and verified counts. Record failed completion reference retrieval as unresolved, preserving the broader review scope.

Thanks to xet7 !
2026-09-14 12:28:34 +03:00
Lauri Ojansivu b92bbca3e9 Repair Esperanto template Enter instruction and validate search guidance
Name the Enter key explicitly in string-template item guidance. Retain 52 correct restored search, report, organization and storage values, preserving logical operators, commands and placeholders. Completion and subtask terminology remain under review.

Thanks to xet7 !
2026-09-14 12:28:14 +03:00
Lauri Ojansivu 8b136b4d33 Record Esperanto rule and search validation progress
Keep short audit current with dated local review, reconstructed counts and remaining validation scope.

Thanks to xet7 !
2026-09-14 12:27:21 +03:00
Lauri Ojansivu e2ef875c85 Validate restored Esperanto rule and search instructions
Retain 53 directly reviewed correct rule, card-view and search values. Preserve action polarity, wildcard and comma-separation instructions, operator syntax, HTML tags and placeholders. Uncertain terminology remains in the restored queue.

Thanks to xet7 !
2026-09-14 12:27:04 +03:00
Lauri Ojansivu 1835b5b184 Summarize current translation review and retain detailed evidence
Record the dated Esperanto settings review and exact progress. Shorten Audit.md while preserving accumulated notes in Audit-Evidence.md and keeping all pending, provenance and browser validation requirements open. Verify audit and changelog checks.

Thanks to xet7 !
2026-09-14 12:26:37 +03:00
Lauri Ojansivu b999becb4c Validate restored Esperanto settings and rule actions
Retain 58 directly reviewed correct values. Preserve memory distinctions, custom-field scope, parent relationships, activity placeholders and rule movement directions. Completion, subtask, member-pronoun and overtime terminology remain open.

Thanks to xet7 !
2026-09-14 12:25:30 +03:00
Lauri Ojansivu d35969905d Record Esperanto notification and search translation progress
Update dated audit and upcoming changelog with local source commit, verified counts and remaining validation limits.

Thanks to xet7 !
2026-09-14 12:25:03 +03:00
Lauri Ojansivu ab4da5ab27 Repair Esperanto watch notifications and search-key wording
Preserve observation/subscription semantics and explicitly identify Enter. Retain 61 correct restored role, shortcut, warning and configuration values. Verify placeholders, correction ledger and unchanged values; uncertain member pronoun and overtime labels stay open.

Thanks to xet7 !
2026-09-14 12:24:44 +03:00
Lauri Ojansivu 8c22f98b17 Record Esperanto Enter-key repair and transfer review progress
Record dated local repair commit, exact reconstructed progress and unverified remaining language/browser work.

Thanks to xet7 !
2026-09-14 12:24:04 +03:00
Lauri Ojansivu 620007ebc0 Repair Esperanto Enter-key instruction and validate transfer wording
Name the Enter key explicitly instead of using the direction inwards. Retain 64 correct restored import, export, invitation and deletion values; preserve vendor menu labels, JSON property names and placeholders. Verify correction and unchanged-value ledgers.

Thanks to xet7 !
2026-09-14 12:23:43 +03:00
Lauri Ojansivu 8fa772ae15 Record Esperanto watch repair and board-control validation
Update dated local audit, evidence and upcoming changelog with repair commit and reconstructed progress. Wider translation validation remains open.

Thanks to xet7 !
2026-09-14 12:23:07 +03:00
Lauri Ojansivu 1c4a07cde5 Repair Esperanto automatic-watch wording and validate board controls
Use ongoing observation rather than merely looking at boards. Retain 59 correct restored board/card controls and warnings after direct review. Verify correction ledger, placeholders and unchanged values.

Thanks to xet7 !
2026-09-14 12:22:49 +03:00
Lauri Ojansivu 55dce7200e Document LDAP bind diagnostic repair and remaining investigation
Record local repair and tested limits without claiming the directory authentication failure is resolved.

Thanks to Nissulya and xet7 !
2026-09-14 12:22:06 +03:00
Lauri Ojansivu 5f5822f7d0 Preserve actionable redacted LDAP bind errors
LDAP errors were serialized as empty objects because their name and message are non-enumerable. Preserve diagnostic name, message, code and reason through the existing secret sanitizer. Verify certificate and credential diagnostics plus disabled logging.

Thanks to Nissulya and xet7 !

Refs #6692
2026-09-14 12:21:37 +03:00
Lauri Ojansivu 2f0dbbf370 Record restored Esperanto translation review progress
Record dated local commit and verified counts while issue 6692 is prioritized. Broader translation repairs remain open.

Thanks to xet7 !
2026-09-14 12:19:14 +03:00
Lauri Ojansivu 2092f78608 Validate restored Esperanto activities and card controls
Retain 60 directly reviewed correct values, preserving past-tense activity grammar, accusative objects, movement directions, keyboard toggle polarity and literal placeholders. Completion and subtask terminology remain awaiting closer review.

Thanks to xet7 !
2026-09-14 12:18:55 +03:00
Lauri Ojansivu f82b12f1f8 Record restored Danish storage and monitoring review progress
Update dated local audit evidence and upcoming changelog with reconstructed counts, review commits and four remaining context-dependent Danish labels.

Thanks to xet7 !
2026-09-14 12:18:18 +03:00
Lauri Ojansivu ed9be5431c Validate restored Danish monitoring and account wording
Review remaining restored Danish resource, interval, repository and account labels directly. Preserve correct wording, thresholds, units and identifier constraints; leave four context-dependent labels open.

Thanks to xet7 !
2026-09-14 12:17:54 +03:00
Lauri Ojansivu 9442439179 Validate restored Danish storage and migration translations
Retain 68 correct values after direct review. Preserve technical endpoint examples, region identifiers and migration outcome distinctions. Obsolete migration labels remain in translation scope without claiming the corresponding feature is active.

Thanks to xet7 !
2026-09-14 12:17:35 +03:00
Lauri Ojansivu 761dcbc386 Record Danish control translation validation progress
Update dated audit and upcoming changelog with local review commit, reconstructed counts and remaining uncertainty.

Thanks to xet7 !
2026-09-14 12:17:10 +03:00
Lauri Ojansivu 3eeef49053 Validate restored Danish controls and administrator labels
Retain 63 correct translations after direct review, including shared Danish and English Start, Stop and Support vocabulary. Preserve byte units, ISO week numbering and scheduled-job outcome distinctions. Keep ambiguous free and Complete labels awaiting context validation.

Thanks to xet7 !
2026-09-14 12:16:51 +03:00
Lauri Ojansivu d8212bc9df Record dated Danish translation review progress
Update the short audit, evidence and upcoming changelog with actual local repair commit and reconstructed counts. Translation repairs and broader validation remain open.

Thanks to xet7 !
2026-09-14 12:16:20 +03:00
Lauri Ojansivu cceae079c1 Repair Danish legal notice and malloc diagnostic wording
Review restored Danish values directly, retaining 41 correct translations. Correct singular adjective agreement and preserve the malloc allocation method in the heap diagnostic. Verify correction records and unchanged acceptances.

Thanks to xet7 !
2026-09-14 12:15:35 +03:00
Lauri Ojansivu 8ca8a30ab2 Document consistent organization mirror log paths
Thanks to xet7 !
2026-09-14 12:14:16 +03:00
Lauri Ojansivu a744eb907f Standardize organization mirror log datetime directories
Use the shared log-directory reservation for organization reports and update remaining path examples. Verify report paths with offline organization fixtures.

Thanks to xet7 !
2026-09-14 12:14:08 +03:00
Lauri Ojansivu e0d529d919 Document SubtaskDepositBleed repairs and remaining validation 2026-09-14 12:09:55 +03:00
Lauri Ojansivu c50d7b4ea7 Authorize subtask deposit reads and destination writes
Remove unvalidated deposit and null board IDs from source-card scope. Publish deposit content beneath its own reactive visibility-filtered board cursor, applying destination assignment restrictions and reactive card children. Filter status counts by visible assigned scopes.

Require destination write access before pointer changes and subtask landing structures, and deny client pointer rename bypasses. Summarize blocked writes in Problems. Positive decisions, scope/dispatcher inventory and existing subtask/status suites pass; browser regression syntax-check passes with live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 12:09:35 +03:00
Lauri Ojansivu cb8fb48514 Document LinkedWriteBleed remediation and verification 2026-09-14 12:05:31 +03:00
Lauri Ojansivu 26e9e70304 Prevent linked cards from promoting non-writing source roles
Require source write access for authoritative and DDP link creation, including pointer changes. Treat explicit non-writing source roles as a ceiling on delegated writes, covering legacy self-created links. Match UI permissions and remove the link action from the non-writer menu. Record denied writes in bounded Problems summaries.

Actual shared permission decisions for every role, creation/deny inventory and existing link and role suites pass. Browser regression syntax-check passes; live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 12:05:14 +03:00
Lauri Ojansivu 2d2671ead9 Document InvitationBoardBleed remediation and verification limits 2026-09-14 12:03:13 +03:00
Lauri Ojansivu af93621261 Authorize every board grant before sending registration invitations
Domain-approved inviters must hold an allowed inviter role on each requested board. Site admins retain access to real boards; missing boards fail closed. Validate the complete grant before creating or changing any invitation code or sending mail, and summarize rejected grants in Problems.

Role and grant inventory plus invitation email suites pass. Browser regression syntax-check passes; live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 12:02:59 +03:00
Lauri Ojansivu 41c05a8001 Record standardized build and release log directory format 2026-09-14 12:02:59 +03:00
Lauri Ojansivu 0d6be31986 Standardize build and release log directories on readable datetimes
Use operation/YYYY-MM-DD_HH-MM-SS for Unix and Windows build logs, mirror launcher and data reports, translation push reports, conformance and speed diagnostics. Preserve earlier same-second runs with reserved suffixes. Keep record timestamps in their existing data format.

Path and collision fixtures, build progress and parity, mirror launcher and Transifex suites pass. Shell syntax checks pass; Windows execution was not available. Update the internal release preflight inventory used by parity checks.

Thanks to xet7 !
2026-09-14 12:02:36 +03:00
Lauri Ojansivu 388f3be073 Record Transifex status retry repair in upcoming changelog 2026-09-14 11:57:56 +03:00
Lauri Ojansivu 7f24f80355 Retry transient Transifex upload status failures with progress
The saved 2026-09-14 run abandoned its accepted English upload after a status GET returned 502, preventing all 241 target uploads. Add bounded safe-read retries, throttling delays respecting Retry-After, and visible upload/job/retry progress. Do not resubmit uncertain failed writes.

Offline tests reproduce source-job recovery without duplicate submissions, throttle timing, permanent error behavior, retry bounds and Retry-After parsing. Existing upload, locale retry and pull suites pass; no remote uploads were run.

Thanks to xet7 !
2026-09-14 11:57:44 +03:00
Lauri Ojansivu 541a6d1fb3 Document invitation-profile repair and test-only scanning alert 2026-09-14 11:55:42 +03:00
Lauri Ojansivu 11d2fe037c Use the actual HTML sanitizer in activity viewer tests
Resolve code-scanning alert 540 by removing a regex sanitizer stub. Test malformed script end tags with the existing sanitize-html parser. The reported location is test-only, not an application sanitizer.

Thanks to GitHub CodeQL and xet7 !
2026-09-14 11:55:21 +03:00
Lauri Ojansivu 055cf42d49 Protect server-issued invitations from client profile updates
Reject invitation field writes, array mutations, parent replacement and rename destinations. Inspect actual modifier paths so top-level profile field reporting does not block ordinary preference updates. Record denied invitation changes through bounded Problems summaries.

Profile guard and existing invitation suites pass. Browser regression syntax-check passes; live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:55:21 +03:00
Lauri Ojansivu 77d4e97b10 Document RuleButtonBleed remediation and verification 2026-09-14 11:53:20 +03:00
Lauri Ojansivu 64123a603a Bind manual rule execution to a writable board and its card
Check write capability and authoritative card board before button dispatch and again in the shared action dispatcher. Board buttons without a card remain supported. Record denied contexts in bounded Problems summaries.

Role and boundary decisions plus dispatcher inventory and existing rule suites pass. Browser regression syntax-check passes; live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:53:05 +03:00
Lauri Ojansivu 0ef30cabec Document ManageBoardBleed remediation and verification 2026-09-14 11:51:59 +03:00
Lauri Ojansivu c33e9c3bf9 Require administrator privileges for REST board management
Align board title, card settings and all rule mutations with existing DDP administrator policy. Preserve site-admin access and record refused management attempts in bounded Problems summaries.

Actual guard and endpoint inventory tests pass along with card-settings and rule suites. Browser regression syntax-check passes; live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:51:24 +03:00
Lauri Ojansivu f42ae665a7 Document CommentBoundaryBleed remediation and verification limits 2026-09-14 11:50:06 +03:00
Lauri Ojansivu d7ac619d63 Bind comment inserts to the authorized card board
Reject foreign-card REST and DDP comment inserts and prevent DDP rebinding from bypassing the boundary. Keep card-authoritative legacy comment listing. Add bounded Problems summaries and attack, negative insert inventory and browser regression coverage.

Targeted Node suites pass; browser regression is syntax-checked with live execution pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:49:40 +03:00
Lauri Ojansivu 7c2d39fe4d Document MutationBleed remediation and remaining security review 2026-09-14 11:48:03 +03:00
Lauri Ojansivu 9b1fb5214f Require board write capability for list moves and sibling mutations
Enforce the canonical role policy for both sides of list, swimlane and checklist moves, scoped imports, attachment renames and history writes. Record denied attempts through bounded Problems summaries without allowing logging failures to bypass authorization.

Add role-matrix decisions, the reported moveList attack, sibling guard inventory and a browser regression. Targeted Node suites pass; live browser execution remains pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:47:29 +03:00
Lauri Ojansivu fc34861b04 Document VisibilityBleed remediation and remaining security reports
Add critical upcoming release entry and dated remediation progress. Record passing policy, negative insert inventory and catalog coverage; live browser execution and nine other reports remain pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:43:33 +03:00
Lauri Ojansivu 962debc12d Enforce private-only board visibility across server creation methods
Apply instance visibility policy to direct board creation and card-to-board conversion. Record blocked public overrides with bounded Problems summaries, preserving enforcement if logging fails. Positive policy and negative insert-inventory suites pass; browser regression is syntax-checked but live execution remains pending.

Thanks to Wenhao Wu, Southeast University and xet7 !
2026-09-14 11:43:10 +03:00
Lauri Ojansivu c715235451 Record Danish spinner repair and security-priority checkpoint
Update dated progress with 349 reviewed Danish values and 3,709 restored values still awaiting validation. Keep translation repairs open while prioritizing the requested wekansec21 security findings.

Thanks to xet7 !
2026-09-14 11:40:25 +03:00
Lauri Ojansivu 04df440db8 Restore Danish outward-spinner qualifier and validate controls
Review thirty restored values on 2026-09-14. Restore outward scaling confirmed by spinner CSS and retain twenty-nine correct labels unchanged, preserving sort directions, creator roles, placeholder syntax and ticket states.

Thanks to xet7 !
2026-09-14 11:37:57 +03:00
Lauri Ojansivu a1c51b6997 Record Danish Boolean search translation review progress
Update dated audit and changelog with 319 reviewed Danish values, 496 retained findings and 3,739 restored values awaiting validation. Preserve full remaining repair scope.

Thanks to xet7 !
2026-09-14 11:37:03 +03:00
Lauri Ojansivu c6d3b9e0e4 Validate Danish restored Boolean search instructions
Review thirty complete values on 2026-09-14. Preserve OR versus AND operators, executable examples, title/comment/label matching, pagination and date predicates. Retain correct Danish unchanged; ambiguous export wording remains open.

Thanks to xet7 !
2026-09-14 11:36:43 +03:00
Lauri Ojansivu b649cb7e2a Record Danish search label validation progress
Update dated audit and changelog with 289 reviewed Danish values, 466 retained findings and 3,769 restored values awaiting validation. Preserve pending repairs and ambiguous wording review.

Thanks to xet7 !
2026-09-14 11:36:08 +03:00
Lauri Ojansivu 6531c37d2c Validate Danish restored search labels and result counts
Review thirty complete values on 2026-09-14. Preserve zero/one/multiple result counts, not-found subjects, creator/assignee and created/modified distinctions, time periods and predicates. Ambiguous export wording remains unreviewed.

Thanks to xet7 !
2026-09-14 11:35:46 +03:00
Lauri Ojansivu 10b29f907d Record Danish display validation and ambiguous export wording
Update dated summaries with 259 reviewed Danish values, 436 retained original findings and 3,799 restored values awaiting validation. Keep ambiguous free export label and all remaining review open.

Thanks to xet7 !
2026-09-14 11:35:16 +03:00
Lauri Ojansivu b8b7f8235e Validate Danish restored display and task controls
Review twenty-nine complete values on 2026-09-14. Preserve selected above/below directions, ALL unread actions, technical JSON identifiers and valid shared Danish words. Leave ambiguous export free wording awaiting source-context review.

Thanks to xet7 !
2026-09-14 11:34:56 +03:00
Lauri Ojansivu 7f223493fb Record Danish migration status and account wording review
Update dated audit and current summaries with 230 reviewed Danish values, 407 retained original findings and 3,828 restored values awaiting validation. Keep pending and uncertain review scope intact.

Thanks to xet7 !
2026-09-14 11:34:21 +03:00
Lauri Ojansivu 2250b6716f Validate Danish restored migration status and account warnings
Review thirty full values on 2026-09-14. Preserve background continuation and slower-completion warning, batch range, attachment counters, temporary lockout cause and later retry. Retain valid Danish orange unchanged.

Thanks to xet7 !
2026-09-14 11:33:59 +03:00
Lauri Ojansivu fc58887e3c Record Danish migration translation validation progress
Update dated audit and changelog totals to 200 reviewed Danish values, 377 retained original findings and 3,858 restored values awaiting validation. Preserve all pending repair scope.

Thanks to xet7 !
2026-09-14 11:33:30 +03:00
Lauri Ojansivu 12d02f4dc5 Validate restored Danish migration and S3 instructions
Review thirty full Danish source meanings on 2026-09-14. Preserve duplicate-list AND conditions, conversion order, non-archived recovery, all-archived restoration, difficult-undo warnings and storage scopes. Retain valid wording unchanged without claiming obsolete migrations are active.

Thanks to xet7 !
2026-09-14 11:33:09 +03:00
Lauri Ojansivu a2e12764d2 Record Danish scheduling and storage wording review progress
Synchronize dated audit and changelog with 170 reviewed Danish values, 347 retained original findings and 3,888 restored values awaiting validation. All pending and uncertain language work remains open.

Thanks to xet7 !
2026-09-14 11:32:37 +03:00
Lauri Ojansivu 5fcf0d284c Validate Danish restored scheduling and storage controls
Review thirty complete values on 2026-09-14. Retain correct current-state/inverse-action tooltips, scheduled-job errors, pause/resume distinctions, all-migration stop and storage/authentication descriptions. Remaining review is open.

Thanks to xet7 !
2026-09-14 11:32:17 +03:00
Lauri Ojansivu 0b4d99a3be Record Danish attachment and lockout translation validation
Update dated audit and changelog summaries with 140 reviewed Danish values, 317 retained original findings and 3,918 restored values awaiting validation. Keep pending and uncertain wording review open.

Thanks to xet7 !
2026-09-14 11:31:47 +03:00
Lauri Ojansivu 807ceeee25 Validate Danish restored attachment and lockout controls
Review thirty complete Danish values on 2026-09-14. Retain correct board attachment scopes, upload cancellation, support restrictions, lockout distinctions and unlock actions unchanged. Remaining translations still require review.

Thanks to xet7 !
2026-09-14 11:31:27 +03:00
Lauri Ojansivu f39aade54e Record Danish diagnostic repairs and restored-value review progress
Update dated summaries with two repaired diagnostics and twenty-eight retained values. Record 15,538 corrected findings, 287 retained and 3,948 restored values awaiting validation. Remaining review is open.

Thanks to xet7 !
2026-09-14 11:31:00 +03:00
Lauri Ojansivu e5d7da30e0 Repair Danish heap diagnostic meanings and validate restored controls
Review thirty restored Danish values on 2026-09-14. Correct peak malloc allocation and heap garbage bit-pattern overwriting using Node documentation. Retain twenty-eight correct values unchanged, including deletion constraints and attachment destinations.

Thanks to xet7 !
2026-09-14 11:30:33 +03:00
Lauri Ojansivu 67788fe644 Record Danish search wording validation progress
Update the dated audit and current summaries to eighty reviewed Danish values, 259 retained findings and 3,978 restored values awaiting review. Preserve pending repair scope and distinguish wording review from parser correctness.

Thanks to xet7 !
2026-09-14 11:29:46 +03:00
Lauri Ojansivu eb1f433e25 Validate Danish restored search instructions and errors
Review thirty complete values on 2026-09-14. Preserve correct Danish source correspondence, operator examples, inclusive ages, missing-value and descending-sort syntax, permission-related scopes and exact troubleshooting commands. Independent source/parser behavior remains outside this wording review.

Thanks to xet7 !
2026-09-14 11:29:24 +03:00
Lauri Ojansivu f6114528ce Update audit after second Danish restored-value review
Record dated validation of fifty Danish values in total. Synchronize summaries to 229 retained findings and 4,008 restored values awaiting validation. Remaining repairs remain open.

Thanks to xet7 !
2026-09-14 11:28:57 +03:00
Lauri Ojansivu 9abcbc4245 Validate thirty more restored Danish translations
Review complete Danish instructions and errors on 2026-09-14. Preserve correct no-undo warnings, due-card permission scope, activity locations, search errors and placeholders unchanged. Remaining restored values still need review.

Thanks to xet7 !
2026-09-14 11:28:36 +03:00
Lauri Ojansivu b28f2811d4 Record Danish restored-value validation progress
Update dated summaries after twenty correct Danish translations were retained. Record 199 reviewed original findings and 4,038 restored values awaiting validation; all remaining repairs and uncertain wording remain open.

Thanks to xet7 !
2026-09-14 11:28:09 +03:00
Lauri Ojansivu 1598868213 Validate and retain twenty restored Danish translations
Review complete Danish meanings on 2026-09-14. Preserve correct wording, identifiers, count spacing and left/right directions. Record reviewed values without changing translations or claiming the remaining restored queue complete.

Thanks to xet7 !
2026-09-14 11:27:52 +03:00
Lauri Ojansivu ba6fa5c4d3 Verify placeholder integrity across restored translation findings
Review all 4,058 restored values on 2026-09-14 and add token-inventory regression coverage. No mismatches found. Keep every restored value awaiting language validation; structural validity does not establish fluency.

Thanks to xet7 !
2026-09-14 11:27:03 +03:00
Lauri Ojansivu c63a7fcdff Record Tamazight spent-time and sorting repair progress
Update the dated audit and current changelog summaries with 18,131 correction records. All 308 pending original findings and wider fluent review remain open.

Thanks to xet7 !
2026-09-14 11:25:48 +03:00
Lauri Ojansivu edfed81761 Repair Tamazight spent-time and sorting controls
Replace three additional Arabic/French labels on 2026-09-14, preserving noun-only versus Change actions. Reuse existing spent-time wording and native sorting terminology. Full participle and agreement remain low confidence pending fluent review.

Thanks to xet7 !
2026-09-14 11:25:26 +03:00
Lauri Ojansivu 3e3eb91efb Update translation repair progress after due-date title correction
Record the dated source commit and 18,128 verified correction records. Keep all 308 pending original findings, restored values and uncertain date terminology under review.

Thanks to xet7 !
2026-09-14 11:24:42 +03:00
Lauri Ojansivu db8421e9b4 Repair Tamazight due-date popup title
Replace the additional Arabic Change Due Date title on 2026-09-14. Reuse existing Due Date terminology and the native Change imperative used by neighboring date popups. Wider fluent terminology review remains open.

Thanks to xet7 !
2026-09-14 11:24:19 +03:00
Lauri Ojansivu 74fd190c3d Synchronize current translation repair summaries with verified progress
Correct stale TODO Later and upcoming aggregate totals on 2026-09-14. Record 15,536 corrected original findings, 308 pending, and 18,127 correction records. Preserve historical batch snapshots and all unresolved fluency work.

Thanks to xet7 !
2026-09-14 11:23:29 +03:00
Lauri Ojansivu fb01497bc1 Document Tamazight parent-label repairs and remaining review
Update dated audit progress to 18,127 correction records and 308 pending original findings. Record native terminology sources and the verified display-only semantics; full grammar remains open.

Thanks to xet7 !
2026-09-14 11:22:18 +03:00
Lauri Ojansivu 9b11c99d98 Repair Tamazight parent card and hidden-parent labels
Replace French labels on 2026-09-14. Preserve the display-only meaning of no-parent, using native Hide rather than deleting the relationship. Parent compound and bound-state adaptation remain low confidence pending fluent review.

Thanks to xet7 !
2026-09-14 11:21:57 +03:00
Lauri Ojansivu cfcb759877 Verify and document Tamazight visibility notice repairs
Update the dated audit with 18,125 correction records and 309 pending original findings. Verify source HTML emphasis, removal of Arabic and future-state wording. Keep grammar review explicitly open.

Thanks to xet7 !
2026-09-14 11:21:16 +03:00
Lauri Ojansivu 084d44fab6 Repair Tamazight public and private board notices
Replace Arabic visibility messages on 2026-09-14, preserving future state and HTML emphasis. Feminine agreement and full future construction remain low confidence pending fluent review. All correction records pass structural verification.

Thanks to xet7 !
2026-09-14 11:20:32 +03:00
Lauri Ojansivu 1006a322a6 Update translation audit after Tamazight authorization repair
Record the 2026-09-14 repair commit, 18,123 verified corrections and 310 pending original findings. Keep restored values and low-confidence grammar explicitly open.

Thanks to xet7 !
2026-09-14 11:19:54 +03:00
Lauri Ojansivu 739495cf8b Repair Tamazight page-view authorization error
Replace the Arabic error with native-source-derived permission denial on 2026-09-14. Preserve the restriction to viewing this page. Combined grammar remains low confidence pending fluent review. Verify all 18,123 correction records and placeholder inventories.

Thanks to xet7 !
2026-09-14 11:19:30 +03:00
Lauri Ojansivu bbeb79124d Record additional mixed-language Veps controls for repair
Review local accessibility and parent-card values on 2026-09-14. Record ten additional keys, including a Venda inheritance instruction in the Veps locale, without claiming a fluent replacement or reducing pending counts.

Thanks to xet7 !
2026-09-14 11:18:16 +03:00
Lauri Ojansivu c67a747514 Record complete Veps escape-marker syntax verification in translation audit
Update the audit and upcoming changelog with the standalone escape-marker follow-up. Full Veps prose review remains pending; translation completion counts are unchanged.

Thanks to xet7 !
2026-09-14 11:17:21 +03:00
Lauri Ojansivu cd563cce58 Repair Veps filter standalone escape marker and broaden syntax coverage
On 2026-09-14 compare all escape runs against English, preserving the open full language review. Record dictionary access and authority limits.

Thanks to xet7 !
2026-09-14 11:14:12 +03:00
Lauri Ojansivu f0351b3901 Document changelog link repair in upcoming release notes
Record 14d6a8cd1 and passing shell and changelog checks.

Thanks to xet7 !
2026-09-14 11:12:59 +03:00
Lauri Ojansivu 14d6a8cd14 Repair stale translation changelog links and truthful preflight reporting
Repoint four missing hashes to local commits with matching subjects. Report unresolved links without a contradictory success message, propagate checker failures and treat an unchanged changelog as a successful check.

Thanks to xet7 !
2026-09-14 11:12:47 +03:00
Lauri Ojansivu 368e8ab1b4 Document mirror HTTP attachment crash repair in upcoming changelog
Record 6dd41dd41 and targeted positive and negative regression coverage.

Thanks to xet7 !
2026-09-14 11:11:58 +03:00
Lauri Ojansivu 6dd41dd414 Handle unsupported attachment HTTP statuses without crashing mirror archives
Reject invalid statuses and malformed headers inside the HTTP response callback, close rejected streams and drain bodyless responses. Regression tests cover unsupported statuses, malformed headers and successful downloads.

Thanks to xet7 !
2026-09-14 11:11:45 +03:00
Lauri Ojansivu ad3b67dfa9 Record partial Veps filter syntax repair in audit and upcoming changelog
On 2026-09-14 document d0c247094, passing example checks and the still-open full language review without changing completed-language counts.

Thanks to xet7 !
2026-09-14 11:10:50 +03:00
Lauri Ojansivu d0c2470946 Repair executable examples in Veps filter help without closing language review
On 2026-09-14 restore exact source comparison, escaping and Boolean examples. Positive and negative regression checks preserve the open Veps language queue; Finnish prose remains awaiting repair.

Thanks to xet7 !
2026-09-14 11:10:12 +03:00
Lauri Ojansivu afc5d988be Correct Veps example review against exact decoded JSON
Record single equality sign and doubled escape rather than an absent escape. Directly asserted current JSON on 2026-09-14.

Thanks to xet7 !
2026-09-14 11:09:31 +03:00
Lauri Ojansivu 61cab2cc1f CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 11:09:21 +03:00
Lauri Ojansivu b3fb0e0b7c Identify Veps filter example escape loss and native field terminology
On 2026-09-14 directly inspect locale JSON and native field keys; keep full language review open rather than treating syntax repair as translation completion.

Thanks to xet7 !
2026-09-14 11:09:11 +03:00
Lauri Ojansivu 742f71766b Document Veps translation review requirements and verified control terms
On 2026-09-14 isolate review of Finnish-seeded labels, distinguish native source evidence from full phrase validation and preserve all filter syntax requirements.

Thanks to xet7 !
2026-09-14 11:08:41 +03:00
Lauri Ojansivu b3d4fdbd5d Record native Veps control terminology for remaining translation review
On 2026-09-14 confirm legacy locale identity and native software components while preserving full shortcut and operator-help review.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu 2d0160eeff Verify rendered allocation and context spellings for translation audit
On 2026-09-14 resolve emphatic-letter extraction substitutions while retaining complete diagnostic modifier review and source authority limits.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu 35dded7943 Record inspected heap terminology and diagnostic translation distinctions
On 2026-09-14 verify rendered Heap candidate while preserving all pending diagnostic qualifiers and source authority limits.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu f8d71633a6 Record provisional CLDR calendar evidence in translation audit
On 2026-09-14 verify exact native calendar labels and distinguish provisional Islamic wording from missing native variant display names. Values and progress counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu 7328bf00e8 Update dated translation audit for selection scope repairs
Record 6352fbd5e and upcoming changelog progress, preserving unresolved native-language review.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu 902ff1859b Repair Tamazight board and list selection scopes
On 2026-09-14 preserve only one board versus all cards in this list, including missing All in the Arabic label. Full commands remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu f12f25ef8c Record additional selection translation repairs in dated audit
Update upcoming changelog for 3f72fb6e8, preserving unchanged original queue counts and unresolved native review.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu dc8d40ad05 Align Tamazight select all controls with native selection terminology
On 2026-09-14 preserve selecting all versus removing selection from all. Derived command and action noun remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:28 +03:00
Lauri Ojansivu a2c75b3a87 Clarify obsolete migration strings in translation audit scope
On 2026-09-14 inspect removed migration imports and surviving locale inventory. Preserve repair scope without implying an active feature; distinguish Integrity from Integration evidence.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 8dfda6f0eb Update dated translation audit for storage engine repair
Record afca796a0 and upcoming changelog progress while retaining unresolved native language review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu f3fda75a54 Translate Tamazight MongoDB storage engine label
On 2026-09-14 use visually inspected engine and storage candidates, preserving MongoDB. Cross-variety compound and bound form remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu b2d5d527ce Update translation audit and upcoming changelog for zoom repairs
Record 35eb7e7ab and verified dated counts, retaining unresolved native language review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 72a70be095 Translate Tamazight zoom controls with reviewed dictionary terms
On 2026-09-14 preserve zoom direction, level and exact 50-300% input range. Cross-variety terminology and full phrases remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 0f0fe17c8f Record visually inspected Tamazight zoom control candidates
On 2026-09-14 verify Level and Zoom In/Out letters from rendered dictionary pages, retaining cross-variety adaptation and full input command review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu a249a10b35 Record native notification terminology repairs in translation audit
Update dated progress and upcoming changelog for ca3ba7006; full warning review remains open.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 9bb6154eeb Use native Tamazight muted and notification labels
On 2026-09-14 reuse directly attested native software labels and align notification terminology. Full muted warning remains under review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu cf277e45db Update translation audit for permanent board deletion warning
Record f8a1255dd, dated evidence and verified progress while preserving outstanding language review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 2cb3dad4b4 Translate permanent Tamazight board deletion notice
On 2026-09-14 preserve irreversible deletion and future loss of all lists, cards and actions associated with this board. Full warning and derived agreement remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu db3e1410b2 Record additional import translation repairs and unchanged queue counts
Update dated audit and upcoming changelog for a56e507e9, retaining unresolved language validation.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 883527750f Repair wrong-language Tamazight import labels
On 2026-09-14 replace Kter and Arabic board import labels with native import terminology. Action noun and full command remain low confidence pending native review; these are additional repairs outside the original queue.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 809214006e Correct visually verified dictionary source markers in translation audit
On 2026-09-14 inspected rendered bibliography and authentication/method entries. Correct 105 explanations from extracted MC£ to printed MCΓ, retaining unresolved Moroccan suitability and grammar review. Translation values and progress counts are unchanged.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu f1d99bca43 Update translation audit and upcoming changelog for board analysis repair
Record visual dictionary evidence, unresolved native-language review and verified progress on 2026-09-14.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu c97b1d06b3 Translate Tamazight board structure analysis command
Use visually inspected dictionary letters for Analyze and Structure. Cross-variety terminology, Tifinagh adaptation and complete command remain low confidence pending native review.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 884f97fd47 Record board analysis translation candidates and font limits
2026-09-14: Directly inspect dictionary text for Analysis and Structure. Preserve cross-variety source markers and unresolved legacy-font spellings; leave the complete label pending.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 2b33aaf477 Record dated Tamazight authentication label repairs
2026-09-14: Update audit and Upcoming to 15,529 corrected and 315 pending original findings, with 18,104 correction records. Preserve cross-variety provenance and full-language validation scope.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu b91b63c539 Repair Tamazight authentication method labels
2026-09-14: Replace four French labels, preserving method/type, default and display distinctions. Inspected Authentication candidate is cross-variety MC£; script rendering, bound form and full phrases remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 25df941137 Record dated board icon translation repair
2026-09-14: Update audit and Upcoming progress to 15,526 corrected and 318 pending findings, with 18,100 correction records. Preserve full-language validation scope.

Thanks to xet7 !
2026-09-14 11:08:27 +03:00
Lauri Ojansivu 3534bed868 Repair Tamazight board icon drag and open instructions
2026-09-14: Replace French help, retaining drag/drop reordering versus click-to-open behavior. Native Click/Change and existing dictionary terms support components; full instruction remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 6eb79b5948 Record dated clipboard input method translation repair
2026-09-14: Update audit and Upcoming progress to 15,525 corrected and 319 pending findings, with 18,099 records. Preserve source authority limits and full-language review scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 5f73473161 Repair Tamazight clipboard or drag drop label
2026-09-14: Preserve two alternative input methods and the combined drag/drop action. Dictionary Drag and indexed Place support components; full software adaptation and clipboard borrowing remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 1d24a2f163 Record dated Tamazight clipboard action repairs
2026-09-14: Update audit and Upcoming progress to 15,524 corrected and 320 pending findings, with 18,098 records. Preserve Kabyle provenance and open full-language validation scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 199da35810 Repair Tamazight text and card link clipboard actions
2026-09-14: Replace French and Arabic copy labels, preserving copied object and clipboard destination. Inspected Clipboard candidate is a Kabyle metaphor; borrowing and full command phrases remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 5ec3639818 Record search case translation semantics and evidence limits
2026-09-14: Preserve uppercase/lowercase matching semantics; French typography excerpts and Tifinagh alphabet casing do not establish native software terminology. Leave the full instruction pending.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu a37b573030 Record dated Tamazight Value morphology refinement
2026-09-14: Record indexed Value paradigm correction and unchanged progress counts. Preserve full instruction and wider language validation scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 333250c882 Refine Tamazight value bound form in format help
2026-09-14: Replace derived uzal with indexed IRCAM Value paradigm wazal. Preserve %{value}, substitution meaning and original French provenance. Direct PDF access failed; full instruction remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 713f3bd0cf Record dated Tamazight separator instruction repair
2026-09-14: Update audit and Upcoming progress to 15,522 corrected and 322 pending findings, with 18,096 records. Preserve cross-variety evidence and open language validation scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 2b9ecc10cc Repair Tamazight separator space instruction
2026-09-14: Replace French help, preserving both literal HTML space entities and OR. Inspected cross-variety Separator and Space Character candidates support components; full instruction remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu e26a896506 Record dated Tamazight format help translation repair
2026-09-14: Update audit and Upcoming progress to 15,521 corrected and 323 pending findings, with 18,095 correction records. Preserve indexed evidence and full-language validation limits.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu f87013a7a8 Repair Tamazight format placeholder instruction
2026-09-14: Replace French help with in-place-of-value paraphrase preserving %{value}. Native component usage and indexed Format support wording; bound forms and full software instruction remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 6147d00468 Record parent card translation semantics and terminology limits
2026-09-14: Establish display-only No Parent scope from board schema. Avoid deriving singular parent terminology from lexical amawlan or substituting visual position for the actual relationship. Keep full wording review open.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 28af148d3d Record dated workspace icon translation repair
2026-09-14: Update audit and Upcoming progress to 15,520 corrected and 324 pending findings, with 18,094 records. Retain exact cross-variety provenance and open validation scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu b80086e9f4 Repair Tamazight workspace icon label
2026-09-14: Replace French label and preserve markdown format name. Reuse existing icon and workspace terms; inspected CNAM icon candidate is a starred cross-variety proposal, not normative Moroccan usage. Full wording remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 963bf13ff8 Record dated workspace confirmation translation repair
2026-09-14: Update audit and Upcoming progress to 15,519 corrected and 325 pending findings, with 18,093 correction records. Preserve open language validation scope.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 00a9fd000a Repair Tamazight workspace deletion confirmation
2026-09-14: Replace French checkbox text, preserving confirmation action and workspace deletion scope. Native Verify and Deletion support components; full phrase and workspace adaptation remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:26 +03:00
Lauri Ojansivu 68b6885a69 Correct upload repair accounting to unflagged scope
2026-09-14: Authoritative audit progress shows the three upload statuses were outside the original flagged queue. Preserve 15,518 corrected and 326 pending original findings, with 18,092 correction records.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu c38d13cb74 Record dated Tamazight upload translation repairs
2026-09-14: Update audit and Upcoming progress to 15,521 corrected findings and 323 pending. Preserve full-language validation and provenance scope.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 87836f6b50 Repair Tamazight upload statuses and file plurals
2026-09-14: Replace three French upload statuses and refine two earlier file restriction labels with directly attested Files plural. Preserve progress versus failure and upload versus avatar scope. Full status and permission adaptations remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu fc3a655556 Record dated Tamazight file type translation repairs
2026-09-14: Update audit and Upcoming progress to 15,518 corrected findings and 326 pending. Preserve full-language validation limits and remaining restored/provenance review scope.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 1100ace91d Repair Tamazight permitted file type labels
2026-09-14: Replace two Arabic labels while distinguishing upload and avatar file restrictions. Preserve colons. Native Type, File, Permission and Upload support components; plural and full permission constructions remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu d772ca7ec8 Record dated Tamazight Hide All command refinement
2026-09-14: Record stronger command evidence and unchanged progress counts while preserving the open full-language validation scope.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu e79e80afd7 Refine Tamazight hide all checklist items command
2026-09-14: Use directly attested native Hide command, preserving ALL scope and original Arabic provenance. Checklist compound and full noun phrase still require language validation.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 850c60f516 Record dated Tamazight checked-item visibility repair
2026-09-14: Update audit and Upcoming progress to 15,516 corrected findings and 328 pending. Reference the tested local repair; preserve broader validation and low-confidence grammar scope.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 34fa863e55 Repair Tamazight hide checked checklist items label
2026-09-14: Replace Arabic wording, preserving checked-item scope rather than all checklist items. Native Hide and Check roots support components; derived passive plural and full grammar remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu aad5946b49 Record indexed Tamazight format terminology evidence
2026-09-14: Distinguish the indexed Format noun from unverified full placeholder wording. Preserve literal placeholder and HTML space syntax; leave both repairs pending.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu ca784bed85 Record dated field history scope refinement
2026-09-14: Record ee5f6301f with unchanged counts and remaining language validation.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 2192b0428d Clarify Tamazight field history deletion scope
2026-09-14: Repeat future deletion predicate for field history so it cannot attach to the from-all-cards phrase. Preserve original provenance and counts; full grammar remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 4025c170b9 Record dated field deletion translation repair
2026-09-14: Record 1b8797450, 329 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 0108c21939 Repair Tamazight custom field deletion warning
2026-09-14: Preserve no undo, removal from all cards and destruction of field history. Record native components and low-confidence full warning coordination.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 4e1085d903 Record dated failure window translation repair
2026-09-14: Record 7c0384e5a, 330 pending findings and indexed source access limits.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu beac93aaef Repair Tamazight failure counting window label
2026-09-14: Preserve failure time window in seconds, distinct from lockout duration/count threshold. Record native components and low-confidence time-window and error adaptations.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu a828bbe66d Record dated lockout threshold translation repair
2026-09-14: Record ee8fc5f24, 331 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 4cc989bd52 Repair Tamazight lockout failure threshold label
2026-09-14: Preserve failures before lockout as count threshold. Record indexed native Before and error-to-failure adaptation with remaining low confidence.

Thanks to xet7 !
2026-09-14 11:08:25 +03:00
Lauri Ojansivu 6622d8ca28 Record dated lockout duration translation repair
2026-09-14: Record 5be2812bd, 332 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu d8cdf1d12f Repair Tamazight lockout duration label
2026-09-14: Preserve lockout duration in seconds, distinct from failure window. Record native duration/block components and low-confidence bound noun and plural.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu f7d61b0320 Record dated field unsetting translation repair
2026-09-14: Record e5cb150bc, 333 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 9659de1718 Repair Tamazight custom field unsetting activity
2026-09-14: Preserve removal of card field value rather than board field definition, with exact placeholders. Record native components and low-confidence technical Value adaptation.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu c3c6eca3a9 Record dated custom field activity translation repair
2026-09-14: Record c45999486, 334 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu fbf2ac1114 Repair Tamazight custom field assignment activity
2026-09-14: Preserve active field name to value assignment in card, exact placeholders and quotes. Record native component evidence and low-confidence technical Set adaptation.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu c6b5055ded Condense recent translation research summary
2026-09-14: Combine seven review paragraphs while retaining detailed source evidence, unresolved requirements and unchanged repair counts.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 9335cea7fd Record dated import activity translation repair
2026-09-14: Record e2cdae25d, 335 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 120dff3100 Repair Tamazight import activity direction
2026-09-14: Preserve active import object, destination and source with exact percent placeholders. Record native import noun and low-confidence derived actor and location grammar.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu b0525246b6 Record dated unchecked item translation repairs
2026-09-14: Record 28c88263f, 336 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu b18cfb5d49 Repair Tamazight unchecked item activities
2026-09-14: Preserve active removal of checkmark and exact percent placeholders, distinct from state or item deletion. Record native components and low-confidence mark nominalization and relations.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu e7acf89e9e Record dated checked item translation repairs
2026-09-14: Record dccca19d4, 338 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 32125b9797 Repair Tamazight checked item activities
2026-09-14: Preserve active checkbox checking, checklist/card relations and exact percent placeholders. Record native checkbox evidence and low-confidence actor and full grammar.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu b74b5a4f6d Record dated subtask destination translation repair
2026-09-14: Record 73b5d0eed, 340 pending findings and indexed evidence limits.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 9453634410 Repair Tamazight subtask deposit destination label
2026-09-14: Preserve hierarchical subtasks and this-board destination. Record indexed native Place imperative and failed direct access; full software adaptation remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 9487c3d4c0 Record migration waiting terminology source limits
2026-09-14: Distinguish regional Wait/Hope polysemy and failed direct PDF inspection. Preserve full pending migration progress scope and unchanged counts.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 132d56dfa1 Record WIP comparative source context limits
2026-09-14: Distinguish Vietnamese and aged-man examples from native numeric Higher terminology. Preserve pending WIP guidance and unchanged counts.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu d0d6c63ada Record WIP translation scope from actual controls
2026-09-14: Verify Tasks counts list cards and preserve alternative move-out or higher-WIP remedies. Keep unresolved terminology pending without changing values or counts.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu 4172d4c2db Record search limit source help discrepancy
2026-09-14: Verify zero means no limit in actual parser despite positive-integer English help. Preserve locale source meaning and reject font choice as regional terminology proof.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu e873f3d955 Record integer vocabulary retrieval evidence limits
2026-09-14: A failed PDF fetch cannot prove Integer or Positive entries absent. Preserve pending messages and direct subsequent research toward mathematical vocabulary.

Thanks to xet7 !
2026-09-14 11:08:24 +03:00
Lauri Ojansivu e81b5b416f Record Tamazight search integer terminology review
2026-09-14: Preserve positive integer and per-page scope while recording indexed Number evidence and cross-region source limits. Values and pending counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 4ecccdabcb Record dated imported board agreement refinement
2026-09-14: Record 7525d9271 and preserve unchanged counts and language confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 4f7d7b69cb Refine Tamazight imported board relative agreement
2026-09-14: Remove masculine actor prefix from the passive relative modifying feminine Board. Preserve original correction provenance and counts; derived agreement remains low confidence.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 5c77611d7f Record dated member mapping fallback repair
2026-09-14: Record 77a0023cc, 341 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 2dba939233 Repair Tamazight unmapped member fallback note
2026-09-14: Preserve future assignment of unmapped members to current user. Record native components and low-confidence fallback composition.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu fe203ed673 Clarify Tamazight mapping source provenance
2026-09-14: Distinguish association relative from Continue homograph and retain low confidence for derived mapping imperative. Correct Copy evidence key. Values and original counts unchanged; correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 75059aa5d1 Record dated board member mapping translation repair
2026-09-14: Record a9c0a3a55, 342 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu d54c1674a1 Repair Tamazight imported board member mapping
2026-09-14: Preserve your imported board having some members and mapping selected members to your users. Record native components and low-confidence association and import grammar.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu daf67dea28 Record invitation source retrieval limits
2026-09-14: Independent normalized/indexed URL retrieval fails certificate-chain verification. Record that no PDF was inspected and preserve pending status; other repairs remain actionable.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 2c0c0d531d Record Tamazight invitation evidence review
2026-09-14: Record indexed parallel IRCAM invitation and failed direct fetch. Preserve pending status because Welcome does not prove Invited and the exact native wording remains uninspected.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 1a6f74c431 Record dated card completion translation repair
2026-09-14: Record e091ab50d, passing checks and remaining confidence limits. Original findings counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 2b685ef724 Repair Tamazight card checklist completion activity
2026-09-14: Replace unflagged Kabyle-seeded wording, preserving active completion and all five location placeholders. Record native completion evidence and remaining low-confidence grammar.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu ebf63955c1 Record dated checklist reversal translation repairs
2026-09-14: Record bc0e7f13a, 343 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 6600574f5f Repair Tamazight checklist uncompletion activities
2026-09-14: Preserve active undoing of checklist completion and exact percent placeholders. Native edit reversal supports Undo, while derived actor, completion noun and full checklist wording remain low confidence.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu f39386456c Record dated imported member translation repair
2026-09-14: Record 4ee286985, 345 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu e5116be843 Repair Tamazight imported member user selection
2026-09-14: Preserve selection of your existing user to use as this member. Record native components and low-confidence existence and use-as composition.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 0ae4a1fcca Record dated list archive translation repair
2026-09-14: Record f827f29de, 346 pending findings and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:23 +03:00
Lauri Ojansivu 8e8782eaa8 Repair Tamazight list card archive instructions
2026-09-14: Preserve all cards of this list removed from the board and return from Archive via matching menu labels. Record native components and low-confidence full coordination; archiving remains distinct from permanent deletion.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu eb340b94ee Record dated board import translation repairs
2026-09-14: Record 6800bb1ec and 347 pending findings with native component evidence and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu df83b65435 Repair Tamazight board export import instructions
2026-09-14: Align Menu and Export Board controls with repaired import instructions. Preserve your board, ordered navigation and copying text from the downloaded file. Record native component sources and low-confidence derived morphology and sequence.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu fd0ea8c51e Correct stale translation progress description
2026-09-14: Match TODO Later text to linked leave-board repair 8a9719417, preserving counts and remaining confidence limits.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 61e5f47e9a Record dated leave-board translation repair
2026-09-14: Record 8a9719417 and 348 pending findings, preserving evidence limits and remaining language validation.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 2a486083be Repair Tamazight leave-board membership warning
2026-09-14: Replace wrong-language label and confirmation. Preserve board-title placeholder and future removal of the current user from all cards on this board. Record native components and low-confidence membership adaptation and grammar.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu a04a2dc63f Record dated board deletion translation repair
2026-09-14: Record 4a03ba96c and 349 pending findings with source limits and remaining validation.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu bf88de4003 Repair Tamazight permanent board deletion warning
2026-09-14: Preserve every deleted content category, future inability to recover board contents and unconditional no-undo warning. Record native components and low-confidence grammatical composition.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu bee5f38ef2 Record dated notification translation repair progress
2026-09-14: Record local repair 7caee4baa, 350 pending findings and passing correction checks. Preserve language confidence limits and remaining restored/unflagged validation.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu d256aea927 Repair Tamazight notification deletion confirmation
2026-09-14: Replace French confirmation and align the related notification label. Preserve all notifications and unconditional inability to undo. Native component evidence is recorded; composed confirmation and action agreement remain low confidence. Update the older notification regression to match reviewed terminology.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 1879ec8bf9 Record checklist checkbox translation repair progress
2026-09-14: Record fee3de6db, check/uncheck scopes and remaining language validation. Update audit to 15,493 corrected and 351 pending, including 216 Tamazight. All 18,060 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 31b741b52d Repair Tamazight checklist check and uncheck controls
2026-09-14: Replace three French values preserving Hide checked items, Check ALL items OF A LIST and active Uncheck ALL reversal. Native checkbox/hide/remove components support provisional wording; nominalization, passive and full grammar remain low confidence. All 18,060 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 67e76f8a83 Record migration control translation repair progress
2026-09-14: Record 371ccad6b, operation/scope distinctions and remaining language validation. All 18,057 correction checks and three metadata suites pass; original counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 8188521840 Repair Tamazight migration start and pause controls
2026-09-14: Repair six unflagged values preserving Start/Pause, ALL/singular scope and failed/completed statuses. Native components support provisional wording; migration and derived grammar remain low confidence. Stop remains distinct and awaits review. All 18,057 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 4ab1e95dd9 Record migration label translation repair progress
2026-09-14: Record df6e03f46, scheduling/resume distinctions and remaining language validation. All 18,051 correction checks and three metadata suites pass; original counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 7f4ce06024 Repair Tamazight migration scheduling and resume wording
2026-09-14: Repair four unflagged labels preserving Scheduled plural versus Automatic singular and Resume versus Complete. Native Red Moon/Dialect components support provisional wording; migration adaptation and derived grammar remain low confidence. All 18,051 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 62ae602ab4 Record worker role translation repair progress
2026-09-14: Record cda2d947b, restricted permission scope and remaining language validation. Update audit to 15,490 corrected and 354 pending, including 219 Tamazight. All 18,047 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 021a8fe977 Repair Tamazight worker role permission description
2026-09-14: Replace French preserving ONLY move cards, SELF-assignment and comment permissions. Native components support provisional wording; self-assignment paraphrase and whole grammar remain low confidence. All 18,047 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu f6e2a52f5a Record watcher explanation translation repair progress
2026-09-14: Record c002054d5, preserved notification scope and remaining language validation. Update audit to 15,489 corrected and 355 pending, including 220 Tamazight. All 18,046 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:22 +03:00
Lauri Ojansivu 8114b5a87b Repair Tamazight board watcher explanation
2026-09-14: Replace French while preserving future YOU notification for ANY change on THIS board. Native notification/each/sent-to-you components support provisional wording; feminine plural passive and full grammar remain low confidence. All 18,046 correction checks pass; fluent/browser validation remain open.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 13cd12eb0c Record All predicate repair and reference access limits
2026-09-14: Record 5e5519f2f, exact native evidence and single-token tests. Keep pending date-boundary and uncertain mention wording open; additional IRCAM PDF could not be inspected. All 18,045 correction checks and three metadata suites pass; original counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 3ed703f5a0 Repair Tamazight All search predicate
2026-09-14: Replace Arabic with exact native MediaWiki All, preserving single-token query format. Add exact-value and negative whitespace/colon regression coverage. All 18,045 correction checks pass. Date-boundary wording remains pending.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 8ca9371260 Record swimlane search repair and date boundary review
2026-09-14: Record 9daf257e4, preserved syntax and pending date boundary wording. Update audit to 15,488 corrected and 356 pending, including 221 Tamazight. All 18,044 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 5164786769 Repair Tamazight swimlane title search instruction
2026-09-14: Replace French preserving exact query parameter, cards IN swimlanes and specified title matching. Native Matching/Title/Given components support provisional wording; Swimlane-as-Path, specified adaptation and full grammar remain low confidence. Days-ago-or-less findings remain pending.

All 18,044 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 71b8294156 Record search scope translation repair progress
2026-09-14: Record 3f2d9c726, preserved search scopes and remaining language validation. Update audit to 15,487 corrected and 357 pending, including 222 Tamazight. All 18,043 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu d9570ea4d1 Repair Tamazight search scopes and archive defaults
2026-09-14: Replace three French values preserving default archive exclusion, ALL archived AND unarchived cards, predicate token, and title/description/custom-field scope on THIS board. Native components support provisional wording; passive/plural/full grammar remain low confidence. All 18,043 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu b6667021e0 Record group search translation repair progress
2026-09-14: Record e0f16c497, metasyntax preservation and remaining language validation. Update audit to 15,484 corrected and 360 pending, including 225 Tamazight. All 18,040 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 30973c6c89 Repair Tamazight organization and team search prose
2026-09-14: Replace French prose while preserving exact query metasyntax and cards belonging to a board assigned TO organization/team. Native Given and local group terms support provisional wording; relative passive, assignment adaptation and whole grammar remain low confidence. All 18,040 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 4069c747be Record search role translation repair progress
2026-09-14: Record 129fa829e, syntax preservation and remaining language validation. Update audit to 15,482 corrected and 362 pending, including 227 Tamazight. All 18,038 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 48b3fd33d9 Repair Tamazight assignee and user search instructions
2026-09-14: Replace French while preserving operator tokens, colon, repeated username parameter and emphasis. Assignee-only versus member OR assignee scopes remain distinct. Reuse native Username and existing local role paraphrases; full grammar remains low confidence. All 18,038 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 714b807662 Record card mention translation repair progress
2026-09-14: Record 1493cc244, preserved placeholders and indexed evidence limits. Update audit to 15,480 corrected and 364 pending, including 229 Tamazight. All 18,036 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 2842bbc987 Repair Tamazight card mention activity translation
2026-09-14: Replace French while preserving mentioned YOU, card/comment/list/swimlane/board and all five exact placeholders. Indexed IRCAM mention entry supports a provisional verb; PDF redirects to HTML and full wording remains low confidence. Native Mastodon person-directed activity supports object component only.

All 18,036 correction checks pass; fluent and browser validation remain open.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu a83431635d Record board role translation repair progress
2026-09-14: Record 381d18eb3, permission scopes and remaining low-confidence validation. Update audit to 15,479 corrected and 365 pending, including 230 Tamazight. All 18,035 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 0524017b8e Repair Tamazight board role permission descriptions
2026-09-14: Replace French administrator and Arabic normal-member descriptions and Activities label. Preserve card view/edit, member removal, board settings and activity view permissions, including normal-member inability to change settings. Native UI components support wording; full grammar and activity-log adaptation remain low confidence.

All 18,035 mechanical correction checks pass. Fluent and live browser validation remain open.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu ec6108908b Record Home translation repair and restore instruction review
2026-09-14: Record f903af89d and direct native Home evidence. Preserve unresolved full archive restoration wording and complete audit scope. All 18,032 correction checks and three metadata suites pass; original counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 51f38c9a05 Repair Tamazight Home navigation label
2026-09-14: Replace Arabic with exact native Mastodon Home label, corroborated by MediaWiki Home-page wording. Full archive restoration instruction remains pending; standalone label evidence does not prove header/button wording. All 18,032 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:21 +03:00
Lauri Ojansivu 168ddd4060 Record checkbox instruction translation repair progress
2026-09-14: Record repair 7d1e0ef15, component evidence and low-confidence grammar. Update audit to 15,477 corrected and 367 pending, including 232 Tamazight. All 18,031 correction checks and three metadata suites pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu a7f5c5c871 Repair Tamazight board selection checkbox instruction
2026-09-14: Replace French while preserving checkbox click and board selection. Native MediaWiki supports checkbox and selection components; compound, plural and full instruction remain low confidence. All 18,031 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 8b50e3851a Record failed migration retry translation repair progress
2026-09-14: Document repair 7dcaf17cf, native component evidence and remaining low-confidence language validation. Update original audit counts to 15,476 corrected and 368 pending, including 233 Tamazight.

All 18,030 correction checks and three audit/changelog suites pass. Restored values, unflagged strings and earlier uncertain wording remain in scope. No remote uploads performed.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu db12dfa7a0 Repair Tamazight failed migration retry messages
2026-09-14: Replace three French values while preserving failed migration scope, Retry versus Resume, successful retry notification and no failed migrations to retry.

Native Mastodon and non-fuzzy Dialect support components. Migration adaptation, derived plural/passive grammar and full wording remain low confidence. All 18,030 mechanical correction checks pass; fluent and live browser validation remain open.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu f7492a25da Record scheduled job deletion translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for bc7b01940 with verified inventory and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu f745b5304f Repair Tamazight scheduled job deletion and pause messages
2026-09-14: Preserve Delete versus Pause, this scheduled job confirmation and success versus failure in five unflagged values. Job adaptation and derived grammar remain low confidence.

Validation: 18,027 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 2b6f88d4e8 Record scheduled job translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 7a49eb16b with verified counts and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 496b434235 Repair Tamazight scheduled job labels and status messages
2026-09-14: Preserve Add, active/plural job scope, Resume versus Start and success versus failure. Seven French values repaired; scheduled-job adaptations and derived grammar remain low confidence.

Validation: 18,022 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 8201419bad Record migration resume translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 34a98e0d1 with verified counts and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 93ffecca2c Repair Tamazight migration resume and error status text
2026-09-14: Preserve paused-migration scope, no paused items, successful resumption and all-errors-cleared meaning. Four French findings repaired; derived passives and migration terminology remain low confidence.

Validation: 18,015 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 46f5661cec Record settings translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 10b082127 with verified inventory and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu b8d1e0b6e3 Repair Tamazight settings navigation and save status
2026-09-14: Preserve Team settings, return/save actions and S3 success versus failure in five labels. Success uses completed Saved notification. Derived save noun, passive agreement and full phrases remain low confidence.

Validation: 18,011 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 888a57229d Record star selection translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for c82cef74f, verified correction count and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 9942022321 Repair Tamazight star selection and empty state controls
2026-09-14: Preserve selected boards, star/unstar, all starred items and not-yet-anything meaning in six unflagged values. Passive and negative grammar, star adaptation and swimlane term remain low confidence.

Validation: 18,006 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 5fc27a7f7e Record starred item translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for d6a73fae4, verified counts and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 7e229b64c4 Repair Tamazight starred board and page controls
2026-09-14: Preserve star/unstar, board/page distinctions, top-of-your-boards-list location and count placeholder in nine labels. Star vocabulary reuse and full grammar remain low confidence.

Validation: 18,000 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu bbb7f9ce1f Record due-time translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 9af74b9d0, verified counts and explicit native validation limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu f9534f3667 Repair Tamazight due-time activity text
2026-09-14: Preserve new due time, When/Where labels, previous due value, four-line layout and exact placeholders. Actor past, deadline compound and full grammar remain low confidence.

Validation: 17,991 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu fc57c752f0 Record board information translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 2557151f0, verified counts and remaining native validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:20 +03:00
Lauri Ojansivu 423eb10518 Repair Tamazight board duplicate and information labels
2026-09-14: Preserve duplicate-this confirmation, all-board settings scope and Board/List/Swimlane information tuple. Four wrong-language labels repaired; assembled phrases and swimlane adaptation remain low confidence.

Validation: 17,990 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 7859e80f9d Record template container translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for 6c1388962 with verified counts, source semantics and explicit confidence limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu a6e7d0e549 Repair Tamazight template container and copy controls
2026-09-14: Preserve container distinction and Copy Template to Many Cards versus Copy Checklist from Template. Six French/mixed values repaired. Container adaptation, checklist noun and full grammar remain low confidence.

Validation: 17,986 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 43b7226333 Record template translation terminology repairs
2026-09-14: Update upcoming changelog and audit evidence for 747e1d96e, distinguishing unflagged repairs from original counts and preserving validation limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 8efe266378 Repair Tamazight template labels and save action
2026-09-14: Use directly attested Template component for seven labels, including Save as Template previously using Subject. Preserve Add/Create and card/list/board scopes. Plurals and full phrases remain low confidence.

Validation: 17,980 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 7c4feba4d5 Record translation warning and count repair progress
2026-09-14: Update upcoming changelog and audit evidence for 1f30de7d6 with verified counts and native validation limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu e612c7e7a3 Repair Tamazight translation deletion warning and count
2026-09-14: Preserve deletion confirmation, this/custom scope, no-undo warning and count punctuation. Two Arabic values repaired; derived text plural and full grammar remain low confidence.

Validation: 17,973 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu a5ea88123b Record custom translation control repair progress
2026-09-14: Update upcoming changelog and audit evidence for 67e2d101b, verified counts and remaining language validation. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 17363c5320 Repair Tamazight custom translation controls
2026-09-14: Replace five Arabic labels using non-fuzzy native Translation evidence. Preserve new/edit/delete-this actions, custom scope and question mark. String-to-text adaptation and modifier attachment remain low confidence.

Validation: 17,971 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu fad15cae03 Record archive title translation review progress
2026-09-14: Update upcoming changelog and audit evidence for 148e72446, including original versus unflagged repair counts and language validation limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 0f5c6a7da6 Repair Tamazight archive states and recovery titles
2026-09-14: Preserve archive states, restoration destinations and search placeholder. Repair seven labels; full clauses, passive recovery and provisional swimlane term remain low confidence.

Validation: 17,966 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 630ba02a1a Record archive guidance translation repair progress
2026-09-14: Update upcoming changelog and audit evidence for a2a88d405 with verified counts and explicit language validation limits. Three metadata tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu d354958820 Repair Tamazight archive visibility and recovery guidance
2026-09-14: Preserve post-archive locations, later restoration through Board Settings and activity retention. Seven wrong-language findings repaired; assembled clauses and swimlane terminology remain low confidence.

Validation: 17,959 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 270440bcec Record archive and restore translation scope repairs
2026-09-14: Update upcoming changelog, audit counts and evidence for a9e68b414. Changelog and audit regression tests pass; native validation remains incomplete.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 64905b0d62 Repair Tamazight archive and restore scope controls
2026-09-14: Preserve swimlane movement, all cards in this list and restore-all scope. Full phrases and swimlane terminology remain low confidence. Keep the existing generic Restore alternative.

Validation: 17,952 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu e66ff03e19 Update upcoming changelog and translation audit progress
2026-09-14: Record archive alternative and native control repairs in 14c2b82da, verified counts and remaining language validation. Changelog and audit regression tests pass.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu 185787ca0e Repair Tamazight archive alternative and native controls
2026-09-14: Preserve the list archive alternative and activity retention; replace inherited Kabyle Save and Search controls with attested native labels. The assembled archive hint remains low confidence.

Validation: 17,948 correction checks pass, including placeholders, formatting and newer translation preference.

Thanks to xet7 !
2026-09-14 11:08:19 +03:00
Lauri Ojansivu e49c58fbb9 Record archive activity translation repair progress
2026-09-14: Record dce7f41cd, preserved placeholders and low-confidence clauses. Refresh audit and upcoming changelog; original counts unchanged. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 38cd067136 Repair Tamazight archive activity vocabulary
2026-09-14: Replace inherited Kabyle-leaning archive wording in four activities, preserving objects, nested locations, completed movement and exact placeholders. Latin script alone is not treated as an error. Passive forms, swimlane adaptation and whole clauses remain low confidence.

Validation: 17,945 correction checks pass, preserving translation preference.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 2c3786fdbc Record archive confirmation translation repair progress
2026-09-14: Record 66c5df4fe, preserved intent/placeholders and low-confidence wording. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu bac0f55782 Translate Tamazight archive confirmation and activity
2026-09-14: Replace three French/Arabic values. Preserve confirmation intent, this-board scope, question marks and exact %s placeholder. Native software supports the confirmation frame; derived verbs and full clauses remain low confidence.

Validation: 17,941 correction checks pass, including placeholders and translation preference.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu da914e5a50 Record archive rule translation repair progress
2026-09-14: Record cbc2bf400, preserved action/state scopes and low-confidence grammar. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu e6d350b6d2 Translate Tamazight archive rule actions and states
2026-09-14: Replace seven Arabic/French labels. Preserve Move to versus Restore from Archive, card scope and completed states. Native MediaWiki attests action verbs; full clauses and passive states remain low confidence for native review.

Validation: 17,938 correction checks pass; placeholders and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 9b22e53ea9 Record archive state translation repair progress
2026-09-14: Record 38debcc33, preserved scopes and low-confidence grammar. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu a22c15f1c6 Translate Tamazight archive status and empty states
2026-09-14: Replace seven Arabic/French values. Preserve board/list/card negative scopes, singular this-board moved status, and warning that the list containing this card is archived. Derived forms and full clauses remain low confidence for native review.

Validation: 17,931 correction checks pass, preserving placeholders and translation preference.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 264d77a04d Record direct archive noun provenance review
2026-09-14: Record fbe388603 and distinguish inspected native logo evidence from French body text. Counts unchanged; full labels remain low confidence. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu bee9ec4744 Corroborate Tamazight archive noun from institutional logo
2026-09-14: Inspect the native Archives du Maroc logo embedded on page 1 of a University Mohammed V press release. Add direct lexical provenance to nine archive records; French body text is not native evidence. Full kanban labels remain low confidence.

Validation: all 17,924 correction checks pass; no values or counts changed.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 6234d76bf1 Record archive translation repair progress
2026-09-14: Record 5dca9f38d, indexed evidence limits and low-confidence full phrases. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 90e738a83b Translate Tamazight archive controls
2026-09-14: Replace nine Arabic/French labels with Archive and Move-to-Archive wording, preserving all, board, card, list and selection scopes. Ministry indexed institutional archive terminology supports the noun; direct page access timed out. Full labels remain low confidence for native review.

Validation: 17,924 correction checks pass; placeholders and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 6b27f538db Record assignee recipient translation review
2026-09-14: Record 0488199cf, preserved original provenance and explicit recipient wording. Counts unchanged; grammar remains low confidence. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 0914e764be Clarify Tamazight assignee filter recipient wording
2026-09-14: Refine two earlier filter labels with an explicit To whom recipient and feminine card passive, matching the assignee labels. Preserve No assignee and original French provenance. Relative grammar and responsibility paraphrase remain low confidence for native validation.

Validation: all 17,915 correction checks pass; counts unchanged.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 08757e2a6e Record assignee scope translation repair progress
2026-09-14: Record 2e15e9f7b, preserved scopes and low-confidence grammar. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 012a78b69b Translate Tamazight assignee labels and card scopes
2026-09-14: Replace five French labels. Preserve singular/plural, No assignee and all-cards versus current-card board scope. Responsibility paraphrases, relative clauses and derived forms remain low confidence for native review.

Validation: 17,915 correction checks pass; placeholders and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu fe6a1421fc Record assigned role translation repair progress
2026-09-14: Record 13f8fbd14, preserved capability scopes and low-confidence wording. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu 3843b82af5 Translate Tamazight assigned card permission labels
2026-09-14: Replace six French role labels and descriptions. Preserve assigned-only visibility and distinct normal editing, read cannot edit and comment-only capabilities. Derived forms, assignment paraphrase and complete clauses remain low confidence for native validation.

Validation: 17,910 correction checks pass, including placeholders and translation preference.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu e62b1e0a3b Record filter translation repair progress
2026-09-14: Record 5da9a2084, preserved scopes and low-confidence wording. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:18 +03:00
Lauri Ojansivu a3fbbc9ba1 Translate Tamazight filter controls and status
2026-09-14: Replace seven Arabic/French labels. Preserve member versus assignee, negative scopes, other filters and active-filter edit instruction. Derived forms, responsibility paraphrase and full clauses remain low confidence for native validation.

Validation: 17,904 correction checks pass; placeholders and newer translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu a09730776a Record time tracking translation repair progress
2026-09-14: Record 9f60960f4, preserved scopes, native Hour evidence and low-confidence full phrases. Refresh audit and upcoming changelog. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 3c2b1bbfdf Translate Tamazight time tracking labels
2026-09-14: Replace five Arabic/French labels, preserving spent versus overtime, hours units and card-presence scope. Native CLDR supports Hour; derived forms and full time-tracking paraphrases remain low confidence for native review.

Validation: 17,897 correction checks pass; placeholders and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 7435d38694 Record account and starred label repair progress
2026-09-14: Record 47758fc61, three unflagged repairs, direct native action/noun evidence and low-confidence starred compounds. Original counts unchanged. Correction checks and all three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 11c943dcf7 Repair Tamazight account and starred item labels
2026-09-14: Replace two Arabic labels and repair the unflagged starred-list noun. Create Account is directly attested in native MediaWiki; Lists is directly attested in native Mastodon. Starred compounds remain low confidence for native validation.

Validation: 17,892 correction checks pass, preserving placeholders and newer translation preference.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu e417ffc136 Record membership shortcut translation repair progress
2026-09-14: Record cffc0bd98, distinct scopes and low-confidence assignment adaptation. Refresh audit and upcoming changelog counts. Correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 845c624f0b Translate Tamazight membership and assignment shortcuts
2026-09-14: Replace four Arabic/French labels while preserving membership versus assignment, current-card scope and distinct filters. Assignment paraphrase, derived forms and full clauses remain low confidence for native review.

Validation: 17,889 correction checks pass; source placeholders and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 4658bdab29 Record sidebar translation repair progress
2026-09-14: Record abaa87ed9, action evidence and low-confidence noun paraphrases. Refresh audit counts and upcoming changelog. All correction checks and three summary checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 2eb31cb56d Translate Tamazight sidebar and dialog controls
2026-09-14: Replace six Arabic/French controls. Preserve open, close, and show/hide actions and distinct filter, search and board sidebar scopes. Native software supports action verbs; panel/dialog paraphrases and full grammar remain low confidence for review.

Validation: 17,885 correction checks pass, including tokens, JSON examples and newer translation preference.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu d193ce839c Record autocomplete translation repair progress
2026-09-14: Record e5625d884, native component evidence, provisional compounds and remaining validation scope. Update short audit and upcoming changelog. All correction checks and three summary tests pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 88af035864 Translate Tamazight autocomplete shortcut labels
2026-09-14: Replace two Arabic labels while preserving automatic completion and emoji/member targets. Derive provisional completion wording from native software components; full compounds and reused member terminology remain low confidence for native review.

Validation: 17,879 correction checks pass; placeholders, JSON examples and translation preference preserved.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 8f1aed0ef3 Record Tamazight shortcut translation repair progress
2026-09-14: Record source commit 786d29cfb, native software evidence, low-confidence grammar and remaining validation scope. Refresh audit counts and upcoming changelog. Correction checks and all three summary checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu aa47320106 Translate Tamazight shortcut list action
2026-09-14: Replace Arabic shortcut-list wording using native Dialect keyboard shortcut terminology. Preserve the show-this-list action. Full assembled wording remains low confidence pending language validation.

Validation: 17,877 correction checks pass, including placeholder and translation-preference checks.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu bd96ae179b Record attested Paste translation refinement
2026-09-14: Update audit and upcoming notes with stronger native lexical evidence for two import hints. Preserve full-phrase review scope and original provenance; three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 075e8718de Use attested Tamazight Paste terminology in import hints
2026-09-14: Replace the earlier tentative Paste verb in two hints with a directly attested native Dialect control. Preserve original provenance and format identifiers. Full phrases remain low confidence; all 17,876 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 0078b9c67b Record structured-data import translation progress
2026-09-14: Update audit and upcoming notes with two Tamazight import hint repairs, evidence limits and remaining scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 73bbc6bafc Translate Tamazight structured-data import hints
2026-09-14: Replace two French hints while preserving Paste your valid data here and literal CSV/TSV or JSON. Paste terminology and full phrasing remain low confidence. All 17,876 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu facd5077dd Record stop translation repair progress
2026-09-14: Update audit and upcoming notes with two unflagged Tamazight stop repairs and remaining terminology review. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu b274ed118b Translate Tamazight stop command and migration progress
2026-09-14: Replace French Stop and Stopping text using native app evidence. Preserve command versus progress; derived full clause and lexical pause/stop overlap remain for fluent review. All 17,874 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:17 +03:00
Lauri Ojansivu 5503a1f9b1 Record resume migration translation progress
2026-09-14: Update audit and upcoming notes with the unflagged Tamazight Resume control repair and remaining review limits. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 9e1adc713e Repair Tamazight resume migration control
2026-09-14: Use directly attested native Resume terminology for the migration control, preserving resumption rather than completion. Full phrase remains low confidence; all 17,872 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 3a86582d4b Record migration pause translation progress
2026-09-14: Update audit and upcoming notes with pause-state repairs, evidence limits and remaining review scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu f5862acbda Translate Tamazight migration pause states
2026-09-14: Repair Pausing and Paused using native app pause evidence, retaining progress versus paused state. Derived plural clauses remain low confidence. All 17,871 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu c48e416784 Record migration starting translation progress
2026-09-14: Update audit and upcoming notes with the Tamazight migration progress repair, source evidence limits and remaining scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu e5628a3339 Translate Tamazight migration starting progress
2026-09-14: Replace French progress text using native Start evidence. Preserve ongoing starting, plural migrations and ellipsis; derived passive and full clause remain low confidence. All 17,869 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 01b54285ad Record rule actor translation repair progress
2026-09-14: Update audit and upcoming notes with the unflagged Tamazight rule qualifier repair and remaining review scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 638efa8aef Translate Tamazight rule actor qualifier
2026-09-14: Replace French By qualifier before the rule user field. Complete assembled predicate grammar remains low confidence. All 17,868 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu fdd7668b51 Record logo translation provenance review progress
2026-09-14: Update audit and upcoming notes with clarified dictionary authority for prior Tamazight logo repairs. Preserve remaining review scope; three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu af533b8526 Clarify Tamazight logo dictionary provenance
2026-09-14: Apply the inspected cross-variety dictionary preface to two earlier logo correction records. Preserve independent native caption evidence and low confidence; no values/counts changed. All 17,867 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 8fc830aceb Record original-order translation repairs and evidence limits
2026-09-14: Update audit and upcoming notes with repaired ordering guidance and the dictionary cross-variety preface. Preserve low-confidence review scope; three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 63850d0622 Translate Tamazight original-order checklist guidance
2026-09-14: Replace two Arabic values while retaining original ordering and one item per line. Dictionary preface confirms cross-variety proposals; terminology and full wording remain low confidence. All 17,867 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu f814259071 Record translation conversion review progress
2026-09-14: Update audit and upcoming notes with native evidence limits for the uncertain Tamazight conversion verb. Preserve remaining repair scope; three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 06fc5be68b Record Tamazight conversion verb evidence limits
2026-09-14: Distinguish native Return/date-back usage from the proposed checklist conversion verb. Preserve low confidence and the unresolved original-order constraint; no values or counts changed. All 17,865 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu fcb2702b82 Record each-line checklist translation progress
2026-09-14: Update audit and upcoming notes with the Tamazight guidance repair, evidence limits and remaining scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu b2f402fb79 Translate Tamazight each-line checklist guidance
2026-09-14: Replace Arabic guidance while preserving each line becoming one checklist item. Derived Become and full wording remain low confidence; the original-order variant needs separate review. All 17,865 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu ecba5091df Record checklist text editor translation repair
2026-09-14: Update audit and upcoming notes with the unflagged Tamazight title correction, evidence limits and remaining scope. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 2f7ea0f780 Repair Tamazight checklist text editor title
2026-09-14: Remove the inherited First qualifier absent from English and preserve editing checklist items as text. Native component evidence supports Edit and Items; full phrase remains low confidence. All 17,864 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 05a4b333e7 Record date rule translation repair progress
2026-09-14: Update audit and upcoming notes with two unflagged Tamazight date condition repairs, remaining review limits and verified counts. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 2521b7092a Translate Tamazight start and end date rule conditions
2026-09-14: Replace mixed-language conditions and restore When and Set or Changed alternatives. Preserve distinct start and end dates. Set adaptation and full grammar remain low confidence; all 17,863 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu 2631b7b167 Record checklist line hint translation progress
2026-09-14: Update the audit and upcoming notes with the Tamazight line-to-item repair, source evidence limits and remaining counts. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu e548b250d5 Translate Tamazight checklist line-to-item hint
2026-09-14: Replace Arabic bulk-entry guidance using native textual Line and Text evidence. Preserve one line equals one checklist item. Full wording remains low confidence; all 17,861 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:16 +03:00
Lauri Ojansivu ba0a73ce22 Record checklist rule translation repair progress
2026-09-14: Update upcoming notes and audit counts for four repaired Tamazight rule prefixes and their remaining terminology review. Three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 479fbd178d Translate Tamazight checklist rule condition prefixes
2026-09-14: Replace four French prefixes while distinguishing generic and named checklists and items. Native temporal When evidence supports the prefix; checklist terminology and assembled grammar remain low confidence. All 17,860 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu b5d7beed00 Record custom login logo text translation progress
2026-09-14: Update the translation audit and upcoming release with the repaired Tamazight label, source commit and remaining review counts. All three documentation checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 878bbd2b50 Translate Tamazight text below custom login logo
2026-09-14: Replace the French label with Tamazight using native Text, Below, Logo and Login evidence. Full noun-chain grammar remains low confidence. All 17,856 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 9799227683 Update upcoming release and translation repair progress
2026-09-14: Record custom login logo URL repairs, native terminology evidence and remaining review scope. Changelog and audit progress checks pass. The upcoming release retains the verified wekan22 build repair and Linux arm64 build log.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 3845b24a5d Translate Tamazight custom login logo URLs
2026-09-14: Replace French labels preserving image/link distinction and URL. Logo has directly labelled zgh community caption evidence; normative authority, bound forms and full phrases remain low confidence. All 17,855 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu bb55423501 Record software completion review progress
2026-09-14: Update Audit, TODO Later and Upcoming with 4139001a3 native software evidence and remaining grammar/terminology review. Values/counts unchanged. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu dd797e68b6 Record native transitive software completion evidence
2026-09-14: MediaWiki resetpass_announce directly supports complete login beyond temporal ending/legal supplementation. Past actor form and full checklist grammar remain low confidence. Record login noun and unresolved logo terminology. Values/counts unchanged; 17,853 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu d9365ae9a1 Record custom HTML tag translation repairs
2026-09-14: Record a536b274a, 15,396 corrected originals, 448 pending findings and 17,853 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 29e4bcc1c0 Translate Tamazight custom HTML tag labels
2026-09-14: Replace French labels preserving plural tags, custom scope, HTML and link/meta element identifiers. Technical semantic extensions and full phrases remain low confidence. All 17,853 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 11e5e004ee Record minicard checklist display translation repair
2026-09-14: Record 02cdb84f3, 15,394 corrected originals, 450 pending findings and 17,851 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu b701a697de Translate Tamazight minicard checklist display control
2026-09-14: Replace French Show Checklist at Minicard preserving display action and minicard scope. Proposed checklist/minicard phrases remain low confidence. All 17,851 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu d121156672 Record checklist completion review limits
2026-09-14: Update Audit, TODO Later and Upcoming with 9de9f2c15 source-context evidence and remaining completion-validation requirements. Values/counts unchanged. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu c3c60cd4ca Clarify Tamazight checklist completion evidence
2026-09-14: Record native legal supplementation uses of completion root without treating them as proof of past transitive checklist completion. Preserve existing values, counts and low-confidence status. All 17,850 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu e915076de6 Record finished checklist visibility translation repair
2026-09-14: Record bd511b086, 15,393 corrected originals, 451 pending findings and 17,850 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 292b623e5f Translate Tamazight finished checklist visibility control
2026-09-14: Replace Arabic control preserving Hide and finished-checklist restriction. Derived relative grammar and full phrase remain low confidence for fluent review. All 17,850 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 8a1f9fc1ea Record checklist form translation repairs
2026-09-14: Record a8ac930ee, 15,392 corrected originals, 452 pending findings and 17,849 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu b07cbe95aa Translate Tamazight checklist form close controls
2026-09-14: Replace French controls preserving Close Form rather than executing Add/Edit. Derived addition noun and full checklist phrases remain low confidence. All 17,849 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu b701a9f217 Record completed checklist translation repair
2026-09-14: Record 2544843d6, 15,390 corrected originals, 454 pending findings and 17,847 correction records in Audit, TODO Later and Upcoming. Preserve semantic distinctions and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu e396b633d6 Translate Tamazight completed checklist activity
2026-09-14: Replace French activity preserving checklist completion and two ordered %s tokens. Transitive past-completion adaptation and full phrase remain low confidence. Uncompletion requires active reversal wording, not simple negation. All 17,847 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 556b9cf14d Record checklist activity translation repairs
2026-09-14: Record 0ecbc1189, 15,389 corrected originals, 455 pending findings and 17,846 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:15 +03:00
Lauri Ojansivu 85c8bcdf07 Translate Tamazight checklist add and remove activities
2026-09-14: Replace four Arabic activities preserving checklist versus item, addition/removal and To/From/In relationships. Preserve exact %s order/count and quotes. Full phrases and derived forms remain low confidence. All 17,846 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 9c3eee5091 Record minicard count translation repair
2026-09-14: Record ed9620896 and 17,842 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu aa3f4ce66a Align Tamazight minicard checklist count
2026-09-14: Align count terminology preserving literal (0/0) and explicit minicard scope. Small Card paraphrase and derived grammar remain low confidence for fluent review. All 17,842 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu f72dd937ac Record checklist count translation repair
2026-09-14: Record edd3ae666 and 17,841 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 8c1b29f291 Align Tamazight checklist count terminology
2026-09-14: Use native count and plural element components, preserving literal (0/0). Proposed checklist noun and complete phrase remain low confidence for fluent review. All 17,841 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu c8c5910514 Record checklist rule translation repairs
2026-09-14: Record 0379f9df8 and 17,840 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 177aff81b5 Translate Tamazight checklist rule actions
2026-09-14: Replace three French rule actions preserving Add versus Remove of whole checklist. Proposed checklist term remains low confidence for fluent review. All 17,840 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 6e7eda9828 Record checklist noun translation repairs
2026-09-14: Record 3cd6ae3d6 and 17,837 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu e50b2b72f7 Translate Tamazight checklist noun labels
2026-09-14: Replace six Arabic/French labels preserving singular, plural and Of relation with native list components. Proposed verification noun and full checklist terminology remain low confidence for fluent review. All 17,837 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 35870c7afd Record checklist confirmation translation repairs
2026-09-14: Record b0a3b5308, 15,387 corrected original findings, 457 pending findings and 17,831 correction records in Audit, TODO Later and Upcoming. Preserve full validation scope and confidence limits. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 59845f1cac Translate Tamazight checklist deletion confirmations
2026-09-14: Replace French confirmation questions preserving whole-checklist versus one-item deletion. Native Mastodon supplies question frame and bound singular item. Full checklist wording remains low confidence. All 17,831 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 6dc5481337 Record checklist menu translation repairs
2026-09-14: Record 0dd39bb6b and 17,829 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu efc33e5c10 Translate Tamazight checklist menu actions
2026-09-14: Replace Arabic Add Checklist and French Checklist Actions preserving whole checklist and plural actions. Proposed checklist noun and full grammar remain low confidence. All 17,829 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu d7f6c0f5d6 Record checklist deletion translation repairs
2026-09-14: Record 79be9d37d, 15,385 corrected originals, 459 pending findings and 17,827 correction records in Audit, TODO Later and Upcoming. Preserve native-source limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu a5aea16510 Translate Tamazight checklist deletion headings
2026-09-14: Replace French headings preserving single-item versus whole-checklist deletion and questions. Verification noun and full checklist paraphrase remain low confidence; targeted source review does not attest that noun. All 17,827 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 7ee844d5bb Record checklist action translation repairs
2026-09-14: Record 6435ad6a6, 15,384 corrected originals, 460 pending findings and 17,825 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu d70a159999 Translate Tamazight checklist item actions
2026-09-14: Replace wrong-language Add Item and Hide All Checklist Items, preserving distinct actions and scope. Proposed checklist paraphrase and derived morphology remain low confidence for fluent review. All 17,825 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu edb8e491e1 Record migration status translation repairs
2026-09-14: Record 1824cd778 and 17,823 correction records in Audit, TODO Later and Upcoming. Preserve remaining validation scope and confidence limits. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu f2603e2e74 Align Tamazight migration status terminology
2026-09-14: Align two migration status labels with reviewed native migration spelling, preserving status rather than progress/completion. Full noun chain remains low confidence for fluent review. All 17,823 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 8c074f2634 Record migration authorization translation repair
2026-09-14: Record 5bb209c06, 15,382 corrected original findings, 462 pending findings and 17,821 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and full validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu f0795037b3 Translate Tamazight migration administrator restriction
2026-09-14: Replace French restriction preserving only board administrators and ability to execute plural migrations. Derived grammar and full authorization sentence remain low confidence for fluent review. All 17,821 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 6de23d08e6 Record migration errors translation repair
2026-09-14: Record 66c8bd979 and 17,820 correction records in Audit, TODO Later and Upcoming. Preserve confidence limits and remaining validation scope. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu febec4e317 Translate Tamazight migration errors heading
2026-09-14: Replace French Migration Errors preserving plural errors distinct from warnings. Full software phrase remains low confidence for fluent review. All 17,820 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu c8ae38d24d Record plural migration translation repairs
2026-09-14: Record 41d712523 and 17,819 verified correction records in Audit, TODO Later and Upcoming. Preserve remaining validation scope and confidence limits. Three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 94a68db592 Align Tamazight plural migration and step labels
2026-09-14: Replace French All Migrations and align Migrations and Migration Steps with reviewed native components. Preserve plural and all semantics. Derived migration plural and full software phrases remain low confidence for fluent review. All 17,819 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 33e7c80a06 Record administrator translation repair progress
2026-09-14: Record 443b180a2 and 17,816 verified correction records in the translation audit, TODO Later and Upcoming. Preserve remaining validation scope and confidence limits. All three metadata checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu ba8efb2460 Use native Tamazight administrator role labels
2026-09-14: Replace Arabic administrator labels and align the singular board administrator role with native MediaWiki administrator terminology. Board-qualified phrase remains low confidence for fluent review. All 17,816 correction checks pass, preserving placeholders and newer translations.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 5baf01a119 Record Tamazight migration warning repair progress
2026-09-14: Update audit, TODO Later and Upcoming with c303eb013, 15,381 corrected originals, 463 pending findings and 17,813 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 839088b604 Translate Tamazight migration warnings heading
2026-09-14: Replace French Migration Warnings preserving plural warnings rather than errors or failure. Derived plural and full software-migration phrase remain low confidence for fluent review. All 17,813 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu 4989bf15a4 Record Tamazight migration validation repair progress
2026-09-14: Update audit, TODO Later and Upcoming with 3416af191 and 17,812 correction records. Original counts are unchanged; retain full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:14 +03:00
Lauri Ojansivu eb0c8fdc06 Translate Tamazight migration validation action
2026-09-14: Replace French Validate Migration with native verification imperative, preserving validation rather than running or completion. Verification-to-migration adaptation and complete action remain low confidence for fluent review. All 17,812 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 744c94df6e Record Tamazight step label repair progress
2026-09-14: Update audit, TODO Later and Upcoming with b84a88696 and 17,811 correction records. Original counts are unchanged; retain full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu d8a33d5fcb Translate Tamazight step and current-step labels
2026-09-14: Replace three French step labels preserving singular/plural and Current qualifier. Primary native references corroborate step noun and plural; extension to software phases and full agreement remain low confidence for fluent review. All 17,811 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu ef082a6f63 Record Tamazight migration control repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with 858a00526, 15,380 corrected originals, 464 pending findings and 17,808 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu a2546a352e Translate Tamazight migration run and progress controls
2026-09-14: Replace three French controls/statuses preserving imperative Run, ongoing Running/In Progress, ellipsis and board scope. Passive derivation, software-run terminology and complete phrases remain low confidence for fluent review. All 17,808 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 2ee3028cd6 Record Tamazight completion status repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with 1f72241e3, 15,379 corrected originals, 465 pending findings and 17,805 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 2bdb12f24f Translate Tamazight completion status labels
2026-09-14: Replace four French completion statuses while distinguishing bare completion from successful migration completion. Completed-tense adaptation, standalone grammar and full success phrase remain low confidence for fluent review. Generic Complete action remains under contextual review. All 17,805 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 0e091969f9 Record Tamazight selection and migration necessity repairs
2026-09-14: Update the audit, TODO Later and Upcoming with 94eb1a0c5, 15,378 corrected originals, 466 pending findings and 17,801 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 07e02fe2d6 Translate Tamazight selection and required migration labels
2026-09-14: Replace five French/Arabic labels with native selection and necessity components, preserving entity scope and required/not-required polarity. Full necessity constructions and software-migration wording remain low confidence for fluent review. Select Color follows native MediaWiki wording. All 17,801 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu a3324b43ce Record Tamazight migration label repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with 81fba99d7, 15,376 corrected originals, 468 pending findings and 17,796 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 54febc0b57 Translate Tamazight migration scope and failure labels
2026-09-14: Replace four French migration labels while preserving singular/plural, board/database scope and failed status. Native move noun adapted to software migration, derived plurals and full phrases remain low confidence for fluent review. All 17,796 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu cfed19e3f1 Record Tamazight field control repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with eb3965660, 15,375 corrected originals, 469 pending findings and 17,792 correction records. Preserve full validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu e5ae1e646c Translate Tamazight field control labels
2026-09-14: Replace French checkbox, dropdown list and custom-field filter labels with Tamazight components. Preserve selection, dropdown direction and filtering qualifiers. Full control terminology, bound nouns and derived plurals remain low confidence for fluent review. All 17,792 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 7c2366ec84 Record Tamazight field label repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with 97c1c79fe, 15,374 corrected originals, 470 pending findings and 17,789 correction records. Preserve full validation scope and low-confidence wording. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 2e89b4d91a Translate Tamazight field labels and actions
2026-09-14: Replace four Arabic/French field labels, preserving custom, edit, absence and hierarchical subtask qualifiers. Derived plural, specified/custom adaptation and complete phrases remain low confidence for fluent review. All 17,789 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu dc8cf3d3ec Record Tamazight linked entity repair progress
2026-09-14: Update audit evidence, short progress, TODO Later and Upcoming with af33f6640 and 17,785 correction records. Original counts are unchanged; preserve full language-validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu d82e7ae07d Translate Tamazight linked entity labels
2026-09-14: Repair Linked Subtask, Linked Card and Linked Board labels using native linked/associated wording. Preserve hierarchy and entity distinctions. Full kanban phrases and participle agreement remain low confidence for fluent review. All 17,785 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu eb2520e46a Record Tamazight added activity repair progress
2026-09-14: Update audit evidence, short progress, TODO Later and Upcoming with b26d1ddc1, 15,373 corrected originals, 471 pending findings and 17,782 correction records. Preserve full language-validation scope and confidence limits. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:13 +03:00
Lauri Ojansivu 62bdf5ab93 Translate Tamazight added activity messages
2026-09-14: Replace two Arabic added-activity messages with local Tamazight past-action and destination wording. Preserve all percent placeholders and subtask hierarchy. Full activity grammar, past conjugation and kanban paraphrase remain low confidence for fluent review. All 17,782 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu d23ff15c53 Record Tamazight subtask action repairs
2026-09-14: Update audit evidence, short progress, TODO Later and Upcoming with repair 23c82a5c1, 15,372 corrected originals, 472 pending findings and 17,780 correction records. Preserve broader validation scope and remaining activity/linked-subtask review. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu ef0181cd4d Repair Tamazight subtask action wording
2026-09-14: Repair four subtask actions with explicit hierarchical task wording. Remove Language and With from Add Existing Card as Subtask, preserving Existing and As. Preserve confirmation question and plural Actions. Full paraphrases and morphology remain low confidence for fluent review. All 17,780 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu f26e1da7fa Record Tamazight hierarchical subtask repairs
2026-09-14: Update audit evidence, progress, TODO Later and Upcoming with f13775594, 15,371 corrected originals, 473 pending findings and 17,776 correction records. Retain full language-validation scope and open existing-card action. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 17f7bb4ac2 Translate Tamazight hierarchical subtask labels
2026-09-14: Replace five Arabic/French subtask labels with explicit Task(s) under a Task wording. Preserve hierarchy, singular/plural, settings and deletion question. Full paraphrases, bound noun morphology and kanban terminology remain low confidence for fluent review. Existing-card action repair remains open. All 17,776 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 8ab4387dcf Record Tamazight subtask review progress
2026-09-14: Keep the short audit, TODO Later and Upcoming updated with terminology finding 92f69f58d and its unresolved hierarchical wording. Translation values and counts are unchanged. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 4559d6bacb Record Tamazight subtask terminology error
2026-09-14: Identify the unflagged use of Language in Add Existing Card as Subtask. Record indexed primary references and distinguish Work/Task evidence from the still-unverified hierarchical subtask term. Preserve relation semantics during the upcoming repair. No values or counts changed.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 93de00395e Record Tamazight custom help repair progress
2026-09-14: Update the audit, TODO Later and Upcoming with repair ef6318121, 15,368 corrected originals, 476 pending findings and 17,771 correction records. Preserve broader validation scope and low-confidence wording. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 9ffc165f50 Translate Tamazight custom help link label
2026-09-14: Replace French Custom Help Link URL wording with native link and help components. Preserve URL and the custom qualifier. Full noun-chain grammar, bound link noun and specified/custom adaptation remain low confidence for fluent review. All 17,771 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 3cb39092d3 Record Tamazight domain Users repair progress
2026-09-14: Record local repair 196edd0f8, 17,770 correction records and remaining full validation scope in the audit, TODO Later and Upcoming notes. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu b0379afb88 Repair Tamazight domain Users heading
2026-09-14: Replace cross-dialect imseqdacen with the directly attested Standard Moroccan plural inssmrsn for domain account users. Preserve users rather than board members or people. MediaWiki Kabyle confirms the old form and its zgh translations attest the replacement. All 17,770 correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu a1711a1b65 Record Tamazight Board View translation repairs
2026-09-14: Update Upcoming release notes, TODO Later and the short audit with local repair commit 7a2d1caf4, 17,769 correction records and remaining validation scope. All three changelog and audit-progress checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu e5b85f2419 Translate Tamazight Board View labels
2026-09-14: Replace two Arabic Board View labels with generic view and singular board wording. The adapted full phrase and bound board noun remain low confidence for fluent Standard Moroccan Tamazight review. All 17,769 audited correction checks pass.

Thanks to xet7 !
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 3f676bf498 Record Tamazight New User translation repairs
2026-09-14: record source fb554131b and 17,767 correction records in the audit and upcoming changelog. Original pending count remains 477; full New User phrasing and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 9d571595eb Translate Tamazight New and New User labels
2026-09-14: replace two Arabic labels with native New adjective and singular account-user wording. Complete New User heading remains low confidence for fluent review. All 17,767 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 8e680de9f5 Record Tamazight search instruction translation repair
2026-09-14: record source 15481a394, 15,367 corrected originals, 477 pending findings and 17,765 correction records. Full search sentence and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu b4aa7cd794 Translate Tamazight search text and Enter instruction
2026-09-14: replace French instruction preserving writing search text and pressing Enter. Native components support the wording; key-press adaptation, relative clause and full sentence remain low confidence for fluent review. All 17,765 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 9476c5baf7 Record Tamazight successful unlock translation repair
2026-09-14: record source 4ba8d17d4, 15,366 corrected originals, 478 pending findings and 17,764 correction records. Full success/unblock grammar and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu e82fbbe1ad Translate Tamazight successful user unlock result
2026-09-14: replace French result while preserving success, singular user and removal of login blocking. Positive success construction, removal nominalization and full bound phrase remain low confidence for fluent review. All 17,764 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu ec5a1d1aeb Record Tamazight all locked user translation repairs
2026-09-14: record source d0791c6c4, 15,365 corrected originals, 479 pending findings and 17,763 correction records. Full unblock phrases, passive adaptation and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu eb44e6733a Translate Tamazight all locked user unlock messages
2026-09-14: replace two French confirmation/result messages preserving All Locked Users and question versus completed-result meaning. Full quantified unblock phrases and passive adaptation remain low confidence for fluent review. All 17,763 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 9fa868468d Record Tamazight account unlock translation repairs
2026-09-14: record source 2f4752ff4, 15,363 corrected originals, 481 pending findings and 17,761 correction records. Complete unblock terminology and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 1d3e91be75 Translate Tamazight account unlock actions
2026-09-14: replace three French click, confirmation and all-user unlock labels by expressing removal of login blocking. Preserve this-user versus all-users scope. Full unblock compounds and grammar remain low confidence for fluent review. All 17,761 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 4cce726a49 Record Tamazight board and card reference repairs
2026-09-14: record source 18f7fa766 and 17,758 correction records in the audit and upcoming changelog. Original pending count remains 483; board plural, full phrases and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu 14c0e79c1c Translate Tamazight board and card reference labels
2026-09-14: replace four Arabic labels preserving All versus generic Boards and This Board/Card scope. Board plural morphology and full kanban phrases remain low confidence for fluent review. All 17,758 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:12 +03:00
Lauri Ojansivu f1035c98f8 Record Tamazight card count translation repairs
2026-09-14: record source faa68bf87 and 17,754 correction records in the audit and upcoming changelog. Original pending count remains 483; full numeral phrases and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 53faea649c Translate Tamazight other card count labels
2026-09-14: replace mixed English/Arabic count prose, preserving exact __count__, And/Other and singular/plural Card meaning. Full numeral phrase and counted noun morphology remain low confidence for fluent review. All 17,754 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 56592ee4ef Record Tamazight subworkspace translation repairs
2026-09-14: record source 8dc2224c7, 15,361 corrected originals, 483 pending findings and 17,752 correction records. Update prior subworkspace review status while preserving the new compound and full-phrase confidence limits. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu f2e9cb1498 Translate Tamazight subworkspace add and name labels
2026-09-14: replace two French headings with an explicitly derived subworkspace compound, preserving Add versus Name and hierarchy. New compound, bound form, workspace extension and full phrases remain low confidence for fluent review; indexed prefix evidence does not directly attest the compound. All 17,752 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 2058c8cf5c Record Tamazight text profile and list label repairs
2026-09-14: record source 45650996e and 17,750 correction records in the audit and upcoming changelog. Original pending count remains 485; broader validation stays open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 8fd6e40514 Translate Tamazight text profile and list deletion labels
2026-09-14: replace three Arabic labels with native Text, Profile and Delete List wording supported by MediaWiki and Mastodon. Preserve singular list and question punctuation. All 17,750 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 9f04cb9ed4 Record Bambara calendar terminology review progress
2026-09-14: record direct CLDR evidence 5610dff52 and full calendar terminology limits in the audit and upcoming changelog. Counts remain 485 pending originals and 17,747 correction records. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 9a16d9f590 Document Bambara tabular calendar terminology limits
2026-09-14: directly review current CLDR Bambara date fields and missing localized calendar variant names. Era vocabulary does not establish reference-date Epoch; retain both tabular calendar findings pending full terminology review. No translation values or counts changed.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu ee7e57c12f Record Tamazight start spelling review progress
2026-09-14: record evidence 2219d5358 in the audit and upcoming changelog. Counts remain 485 pending originals and 17,747 correction records; direct PDF, full command and subworkspace review remain open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 045444b838 Document Tamazight start versus share spelling evidence
2026-09-14: expanded indexed conjugation excerpt distinguishes plain bdu Begin/Start from emphatic bdu Share/Divide. Record printed page 94 and direct PDF redirect limits; full command and subworkspace terminology remain under review. No locale values or counts changed. All 17,747 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu ff7b1fdfb7 Record Tamazight Planning Poker start translation repair
2026-09-14: record source f16fae64a, 15,359 corrected original findings, 485 pending findings and 17,747 correction records. Complete command, indexed-only evidence and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 1d48efb925 Translate Tamazight Planning Poker start heading
2026-09-14: replace French start heading, preserving the Planning Poker feature name and distinguishing the action from the Start date noun. Indexed conjugation evidence and full command remain low confidence: the manual currently redirects to HTML and needs direct/fluent review. All 17,747 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 6c9c536934 Record Tamazight workspace menu translation repair
2026-09-14: record source fea294be0, 15,358 corrected original findings, 486 pending findings and 17,746 correction records. Full workspace terminology and broader validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 8db529010c Translate Tamazight workspace menu label
2026-09-14: replace French Workspace menu with native Menu and content-space components. Organizational workspace extension and complete bound phrase remain low confidence for fluent review. All 17,746 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu bf2f8bf10c Record Tamazight card heading translation repairs
2026-09-14: record source ad526816b and 17,745 correction records in the audit and upcoming changelog. Original pending count remains 487; full kanban phrases and broader translation validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 6a211b7fdd Translate Tamazight card type and popup headings
2026-09-14: replace four Arabic Card, Delete Card?, Card Actions and Labels headings, preserving ordinary card type, singular card and plural actions/labels. Full kanban terminology and bound phrases remain low confidence for fluent review. All 17,745 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 82ca5a02ba Record Tamazight search and rule translation repairs
2026-09-14: record source a06565956 and 17,741 correction records in the audit and upcoming changelog. Original pending count remains 487; morphology and broader translation validation stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu a5562c1208 Translate Tamazight search and rule nouns
2026-09-14: replace six Arabic user/member/list labels using reviewed native terminology. Preserve distinct singular object types; the derived free-state Member noun remains low confidence for morphology review. All 17,741 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 9af7d88d71 Record Tamazight date label translation repairs
2026-09-14: record source 82ba97005 and 17,735 correction records in the audit and upcoming changelog. Original pending count remains 487; broader translation validation stays open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 198add194c Translate Tamazight week month and year date labels
2026-09-14: replace three Arabic date predicate labels with exact CLDR native singular date-field names. Preserve date-unit meaning across tooltips, Gantt, calendar navigation and search. All 17,735 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu 9013de7987 Record Tamazight profile and board view translation repairs
2026-09-14: record source aef5ea20a and 17,732 correction records in the audit and upcoming changelog. Original pending count remains 487; broader translation validation stays open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu cbd1047b95 Translate Tamazight profile and board view labels
2026-09-14: replace six Arabic People, Edit Profile, Title, Calendar, Lists and Members labels with native terminology supported by Mastodon, MediaWiki and CLDR. Preserve action, calendar and plural scope. All 17,732 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu c0e2e18191 Record Tamazight edit heading translation repairs
2026-09-14: record source e9f1b33b9 and 17,726 correction records in the audit and upcoming changelog. Original pending count remains 487; full phrase and broader translation review stay open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:11 +03:00
Lauri Ojansivu d2d46ce5e4 Translate Tamazight team user and Planning Poker edit headings
2026-09-14: replace three French headings using native Edit terminology, preserving singular team/user objects and the Planning Poker name. Complete adapted phrases remain low confidence and need fluent review. All 17,726 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:10 +03:00
Lauri Ojansivu b80256cfdd Record Tamazight People translation repair
2026-09-14: update the audit and upcoming changelog with source cf0a2f19b and 17,723 correction records. Original pending findings remain 487; broader translation validation remains open. All three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:10 +03:00
Lauri Ojansivu df6b3a1e7e Translate Tamazight People label
2026-09-14: replace the Arabic People label with the native equivalent documented in Mastodon zgh. Preserve generic people scope rather than users or board members. All 17,723 correction checks pass.

Thanks to xet7.
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 1a5242a1cf Record Tamazight Minguo calendar repair progress
2026-09-14: record source fix 67dbacc28 and update the audit and upcoming changelog to 15,357 corrected original findings, 487 pending findings, and 17,722 correction records. Full calendar naming and the remaining translation review stay open. Correction checks and all three metadata tests pass.

Thanks to xet7.
2026-09-14 11:08:10 +03:00
Lauri Ojansivu d791f67a87 Translate Tamazight Minguo calendar label
2026-09-14: Use the native Calendar noun and preserve the Minguo calendar name from English source, avoiding generic Chinese language/calendar substitution. LOW CONFIDENCE full mixed-script naming needs fluent review. All 17,722 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 9fa44a6b80 Record Tamazight authentication reference review progress
2026-09-14: Update short audit, TODO Later and Upcoming with directly verified authentication source provenance. Locale values and counts remain unchanged; three metadata test entries pass. Full terminology review continues.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 2a099f1e21 Verify Tamazight authentication reference provenance
2026-09-14: Direct dictionary extraction shows authentication terms marked MC£, whereas the search index renders MCF. The bibliography identifies Tuareg sources, so do not accept the candidate as Moroccan attestation. Preserve authentication, method/type, display and default scope; keep findings pending.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 037bac7f07 Record Tamazight title and details repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with two heading repairs and full-phrase review limits. All 17,721 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 329c1dd4df Translate Tamazight board title and card details headings
2026-09-14: Replace two Arabic headings, preserving singular Board Title and plural Details of a singular Card. Native title/details vocabulary is supported; LOW CONFIDENCE complete kanban phrases and bound forms require fluent review. All 17,721 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu cc2587f516 Record Tamazight server and status translation progress
2026-09-14: Update short audit, TODO Later and Upcoming with two software-label repairs and server-heading review limits. All 17,719 correction/rendering checks and three metadata test entries pass; 488 originals and broader validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 989b9c960b Translate Tamazight server error and closed status labels
2026-09-14: Replace two Arabic software labels, preserving Server Error heading and Closed status rather than Close action. Native components support the error heading; LOW CONFIDENCE complete server phrase requires fluent review. All 17,719 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 3802afd8e5 Record Tamazight member settings repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with three member/board label repairs and remaining full-phrase uncertainty. All 17,717 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 5f67771928 Translate Tamazight member and board settings labels
2026-09-14: Replace three Arabic labels, preserving singular Member Settings, singular Board Settings and plural Edit members. Native component terminology is supported; LOW CONFIDENCE complete kanban phrases and bound forms require fluent review. All 17,717 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 0414b9c985 Record Tamazight add label repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with six Add repairs and full-phrase review limits. All 17,714 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu ea0dc67775 Translate Tamazight board card list and member add labels
2026-09-14: Replace six Arabic Add labels and matching popup headings. Preserve distinct objects, singular board/card/list and plural members. Native references support components; LOW CONFIDENCE full kanban commands remain subject to fluent review. All 17,714 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu c33059e3d1 Record Tamazight duration unit repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with minutes/seconds repairs and remaining seconds-plural uncertainty. All 17,708 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 7ee8c65e19 Translate Tamazight minutes and seconds duration labels
2026-09-14: Replace two Arabic duration units, retaining minutes versus seconds and plural scope. Native software reference supports plural minutes; LOW CONFIDENCE derived seconds plural needs fluent morphology review. All 17,708 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 55fb4b7ece Record Tamazight weekday and duration repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with five reference-supported date/time labels. All 17,706 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 0e2a70634e Translate Tamazight weekday and duration labels
2026-09-14: Replace five Arabic labels using full native CLDR weekday names and reference-supported plural days/hours. Preserve weekday identity and duration plural scope. All 17,706 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 3c9d52f1a5 Record Tamazight navigation translation repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with five unflagged interface repairs. All 17,701 correction/rendering checks and three metadata test entries pass; 488 originals and broader language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu aa36776a96 Translate Tamazight navigation confirmation and settings labels
2026-09-14: Replace five Arabic interface labels with native software wording. Preserve Back versus previous-page adjacency, next versus previous, confirmation acknowledgment and generic Settings scope. All 17,701 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 0ba64ecd9f Record Tamazight invitation decline repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with the source-checked invitation rejection action. All 17,696 correction/rendering checks and three metadata test entries pass; 488 originals and wider language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 785db327d7 Translate Tamazight invitation decline action
2026-09-14: Replace the French Decline invitation button using the native request-rejection imperative. Source handlers confirm rejection rather than closing the popup. All 17,696 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 2dde68e7b9 Record Tamazight workspace deletion translation progress
2026-09-14: Update short audit, TODO Later and Upcoming with two deletion repairs and full-phrase review limits. Record 15,356 originals corrected, 488 pending and 17,695 correction records. Correction/rendering and three metadata test entries pass; wider language validation remains open.

Thanks to xet7 !
2026-09-14 11:08:10 +03:00
Lauri Ojansivu 5cde6f4a30 Translate Tamazight workspace confirmation and board deletion
2026-09-14: Replace the French workspace deletion question and Delete Board action. Preserve certainty, singular this-workspace object and deletion rather than archive. LOW CONFIDENCE complete workspace question and kanban board phrase require fluent review. All 17,695 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 3c57ed631e Record Tamazight workspace settings repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with three repairs and remaining full-heading uncertainty. Record 15,355 originals corrected, 489 pending and 17,693 correction records. Correction/rendering and three metadata test entries pass; broader language validation remains open.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 059d46d0a3 Translate Tamazight workspace settings and close labels
2026-09-14: Replace two French Workspace Settings headings and the Arabic Close action. Native software references support settings and close; LOW CONFIDENCE full workspace headings and bound-state terminology remain subject to fluent review. All 17,693 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 9f0b8ac23e Record Tamazight workspace translation repair progress
2026-09-14: Update short audit, TODO Later and Upcoming with five workspace corrections and remaining terminology uncertainty. Record 15,353 originals corrected, 491 pending and 17,690 correction records. Correction/rendering and three metadata test entries pass; wider language validation remains open.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 870da4dd27 Translate Tamazight workspace add edit and name labels
2026-09-14: Replace five French workspace values, retaining add versus edit and singular workspace-name scope. Native institutional usage corroborates the existing space noun. LOW CONFIDENCE WeKan workspace extension, bound form and full labels require fluent review; subworkspace remains separate. All 17,690 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 65fd342d9e Record Tamazight confirmation repair progress
2026-09-14: Update the short audit, TODO Later and Upcoming with the native software confirmation button repair. All 17,685 correction/rendering checks and three metadata test entries pass; 496 originals and wider validation remain open.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 5f37a017d4 Translate Tamazight confirmation button
2026-09-14: Replace the Arabic Confirm label with the native software confirmation-button wording. Keep acknowledgment distinct from invitation acceptance and confirmation questions. All 17,685 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 1ba91f3e70 Record Tamazight page terminology repair progress
2026-09-14: Update the short translation audit, TODO Later and Upcoming with the source-supported singular page label. All 17,684 correction/rendering checks and three metadata test entries pass; 496 originals and wider language validation remain open.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 851bef0f13 Align Tamazight page label with native software terminology
2026-09-14: Use the exact native MediaWiki singular Page noun, retaining scope and avoiding claims about other regional synonyms or full page phrases. All 17,684 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu b19df31eac Record Tamazight Amete Alem calendar repair progress
2026-09-14: Update audit summary, TODO Later and Upcoming with the native Ethiopic base repair and retained era distinction. Record 15,348 originals corrected, 496 pending and 17,683 correction records. Correction/rendering and three metadata test entries pass; complete language validation remains open.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 794c8acdac Translate Tamazight Ethiopic Amete Alem calendar label
2026-09-14: Use the CLDR native Ethiopic calendar base while preserving the Amete Alem era variant name. LOW CONFIDENCE composed mixed-script label remains subject to fluent review. All 17,683 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu a23812c6a3 Record Tamazight email invitation repair progress
2026-09-14: Update the short audit, TODO Later and Upcoming with the email-invitation correction and its remaining dialect uncertainty. All 17,682 correction/rendering checks and three metadata test entries pass; the original pending queue remains 497.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu c2fb2749b1 Translate Tamazight email invitation action
2026-09-14: Replace the remaining French email-invitation button using the existing Invite action and native email term, preserving the email channel. LOW CONFIDENCE invitation verb and full instrumental phrase; renewed Moroccan dialect review remains required following the CNAM provenance correction. All 17,682 correction and rendering checks pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 4baaca8844 Record Silesian terminology review progress
2026-09-14: Update the short translation audit, TODO Later and Upcoming with the reference follow-up. Preserve all 497 pending originals and the wider validation scope. Three changelog and audit-progress test entries pass.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 454dd4291e Document Silesian database terminology evidence
2026-09-14: Corroborate regional human computer-database usage and distinguish it from the Polish article wrapper. Keep the raw-file qualifier and complete label pending; record retrieval limits without treating missing evidence as a language error.

Thanks to xet7 !
2026-09-14 11:08:09 +03:00
Lauri Ojansivu dfcdb6530b Record Tamazight cron severity translation progress
Update dated audit and Upcoming with unflagged repair and 17681 correction records. Explicitly retain terminology review in cron and recovery contexts. Three metadata test entries pass.
2026-09-14 11:08:09 +03:00
Lauri Ojansivu fb65e027b4 Use Tamazight severity terminology in cron error table
Replace French with existing recovery severity wording for identical source. Terminology remains low confidence and needs fluent review in both contexts; local consistency is not linguistic validation. All 17681 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 908e4c3365 Record Tamazight minicard cover translation progress
Update dated audit and Upcoming with three repairs, 17680 correction records and 497 pending originals. Keep full phrase and wider language validation visible. Three metadata test entries pass.
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 57685be530 Translate Tamazight minicard cover image controls
Preserve add, remove from and display on minicard cover distinctions. Local cover sense and full phrases remain low confidence pending fluent review. All 17680 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:09 +03:00
Lauri Ojansivu f73c3209df Record Tamazight avatar upload translation progress
Update dated audit and Upcoming with two unflagged repairs, 17677 correction records and remaining language validation requirements. Three metadata test entries pass.
2026-09-14 11:08:09 +03:00
Lauri Ojansivu 88a9aeef4c Translate Tamazight avatar upload action and completion labels
Preserve imperative upload versus completed upload state using native action vocabulary and local profile-picture terminology. Passive morphology and full phrases remain low confidence pending fluent review. All 17677 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu aa9103128c Record Tamazight avatar popup translation progress
Update dated audit and Upcoming with three unflagged repairs, 17675 correction records and remaining language validation requirements. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu bcc1bd4e82 Translate Tamazight change and delete avatar popup titles
Replace three Arabic and French titles using local profile-picture vocabulary and native actions. Full profile terminology remains low confidence pending fluent review. All 17675 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu aaeb0763f2 Update Tamazight troubleshooting review status
Link dated terminology evidence in audit and Upcoming while keeping unresolved full instructions visible. Three metadata test entries pass; no locale values changed.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu fd1301db02 Record Tamazight server troubleshooting terminology review
Separate native server/error vocabulary from indexed cross-dialect execution and installation terms. Preserve command and installation scope requirements; no locale values or counts changed.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 896fa82923 Record Tamazight named calendar translation progress
Update dated audit and Upcoming with source repair, 17672 correction records and 500 pending originals. Keep full phrase and wider language validation visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu c5202dfd66 Complete Tamazight Dangi and ISO calendar labels
Use native calendar noun while preserving Dangi and exact ISO-8601 names. Full mixed-script composition remains low confidence pending fluent review. All 17672 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu d2afa814fe Record Tamazight Umm al Qura translation progress
Update dated audit and Upcoming with source repair, 17670 correction records and 501 pending originals. Retain provisional CLDR and wider language review requirements. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu f3534ffd4d Translate Tamazight Umm al Qura calendar label
Reuse provisional CLDR Islamic calendar wording and preserve the named Umm al-Qura variant. Complete composition remains low confidence pending fluent review. All 17670 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 7f19014973 Record Tamazight rule list name translation progress
Update dated audit and Upcoming with unflagged repair and 17669 correction records. Keep 502 pending originals and wider language validation visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu c333e96a8a Translate Tamazight rule list name label
Replace French with native name and list vocabulary. Complete kanban noun phrase remains low confidence pending fluent review. All 17669 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 4c622b41a5 Record Tamazight support not yet added translation progress
Update dated audit and Upcoming with source repair, 17668 correction records and 502 pending originals. Keep wider language validation requirements visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 278ca9967c Translate Tamazight support information not yet added notice
Retain support information, not yet and added action using native component vocabulary. Full negative passive phrase remains low confidence pending fluent review. All 17668 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 6c8234559c Record Tamazight account and card translation progress
Update dated audit and Upcoming with three unflagged repairs and 17667 verified correction records. Keep 503 pending originals and broader language validation visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu c6d225f644 Translate Tamazight account and card noun labels
Replace three Arabic labels while preserving plural accounts/cards and singular card distinctions. Derived account plural and technical card terminology remain low confidence pending fluent review. All 17667 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu fd6378c9c5 Record Tamazight CPU count translation repair progress
Update dated audit and Upcoming with repair commit, 17664 correction records and 503 pending originals. Keep broader language validation requirements visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu ffd0a02e24 Repair Tamazight OS CPU count translation
Replace Arabic CPU consumption wording with CPU count using native count vocabulary. Retain conventional OS and CPU abbreviations. Full mixed-script label remains low confidence pending fluent review. All 17664 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 842ca7d7b0 Record Tamazight end date search translation progress
Update dated audit and Upcoming with repair commit and 17663 correction records. Keep 504 pending originals and wider language validation visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu dc56a74b0f Translate Tamazight end date search predicate guidance
Retain exact predicate code and cards with an end date, without implying completed or overdue cards. Full relative construction remains low confidence pending fluent review. All 17663 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 7fd5289296 Record Tamazight card member translation progress
Update dated audit and Upcoming with repaired board/card scope, 17662 correction records and 505 pending originals. Wider language review remains open. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu e5e75d14e5 Translate Tamazight card member instruction and restore board scope
Preserve adding board members to the card or removing them from the card, without implying removal from the board. Full coordinated instruction remains low confidence pending fluent review. All 17662 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 3edda4b48b Record Tamazight cron message translation progress
Update dated audit and Upcoming with repair commit and 17661 correction checks. Keep 506 pending originals and wider fluent review visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 1faf5af987 Translate Tamazight cron error message label
Retain message versus error details distinction using native component vocabulary. Complete software noun phrase remains low confidence pending fluent review. All 17661 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 3588b781e9 Record Tamazight support access translation progress
Update dated audit and Upcoming with 17660 correction records, source commit and 506 pending originals. Retain full phrase and broader language review requirements. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu cff15734b1 Translate Tamazight support authenticated user notice
Preserve support information restricted to logged-in users only. Native components support provisional wording; derived participle and full sentence remain low confidence pending fluent review. All 17660 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu 773473eb03 Record Tamazight support translation repair progress
Update dated audit and Upcoming with four unflagged repairs and 17659 verified correction records. Keep 507 pending original findings and broader language review requirements visible. Three metadata test entries pass.
2026-09-14 11:08:08 +03:00
Lauri Ojansivu cd635c2975 Translate Tamazight support page labels
Replace four Arabic and French support labels with native assistance vocabulary. Preserve title and content distinctions. Full noun phrase composition remains low confidence pending fluent review. All 17659 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu a034738555 Record Tamazight planning poker translation repair progress
Update 2026-09-14 audit and Upcoming with repair commit, 17655 correction checks and 507 pending original findings. Broader fluent review remains required. Three metadata test entries pass.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 464e8064ac Translate Tamazight planning poker delete and vote date titles
Preserve the named estimation technique, this deletion question and change vote end-date action. Full composition remains low confidence pending fluent review. All 17655 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu db9603259f Record Quechua sighting calendar translation progress
Update dated audit and Upcoming with repair commit and 509 pending original findings. Preserve astronomical epoch and broader language review requirements. Three metadata test entries pass.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 02fa748b88 Repair Quechua Saudi Hijri sighting calendar label
Use primary CLDR Quechua calendar and sighting vocabulary, retaining the omitted sighting distinction. Complete composition remains low confidence pending fluent review. Astronomical epoch terminology remains unresolved. All 17653 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu b149c1a4d6 Update Upcoming and translation audit voting repair progress
Record the 2026-09-14 voting repair commit, 17652 verified corrections and unchanged 510 original pending findings. Retain fluent review, restored-value and provenance review limitations. Three metadata test entries pass.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 9d8719dc1f Translate Tamazight card voting controls
Replace four Arabic and French voting labels with consistent Tamazight wording. Preserve question, edit and deletion actions. Election terminology adapted to card voting and complete phrases remain low confidence pending fluent review. All 17652 correction checks pass.

Reviewed 2026-09-14. Thanks to xet7.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 2c36eea6d5 Record Tamazight vote date translation progress
Update audit and upcoming changelog on 2026-09-14 with 510 pending originals. Preserve terminology confidence limits and record passing structural checks.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 5444fd2ff2 Translate Tamazight vote end date popup title
Replace French title on 2026-09-14 while preserving change-date action. Native components support provisional wording; mark election-to-card-voting and complete syntax as low confidence.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 9582fd0b81 Record Tamazight search guidance translation progress
Update audit and upcoming changelog on 2026-09-14 with 511 pending originals. Preserve indexed-source limitations, low-confidence guidance adaptation and broader provenance review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu e37cdd5645 Translate Tamazight search instructions heading
Replace French heading after native vocabulary review on 2026-09-14. Mark institutional directives to usage guidance adaptation as low confidence pending fluent review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 093e5eefde Document Tamazight memory terminology follow-up
Link 2026-09-14 independent usage review in upcoming release notes. Preserve uncertainty and unchanged original pending counts.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 0b608edc68 Review independent Tamazight memory usage evidence
Record direct Moroccan RAM terminology usage on 2026-09-14 for three memory records. Preserve low-confidence flags because website translation provenance and full diagnostics grammar remain unverified. No locale values changed.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu d55d3a60c0 Document corrected translation reference provenance
Record dated 2026-09-14 attribution correction and renewed terminology review in upcoming release notes and TODO Later. Preserve unchanged pending counts and distinguish structural tests from fluency.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu c6ff27201e Correct Tamazight reference provenance assumptions
Review CNAM bibliography on 2026-09-14 and correct source notes in 98 translation records. MC£ denotes Tuareg sources and MC denotes Mokrane Chemim, not Central Moroccan dialect codes. Retain affected terminology for renewed review without altering locale values.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu afb1f9fb34 Record Tamazight due today translation progress
Update audit and upcoming changelog on 2026-09-14. Record 512 pending originals, passing checks and remaining deadline terminology review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu e7e5ef563e Translate Tamazight due today status
Replace French wording on 2026-09-14 while preserving current qualifier and date placeholder. Record deadline terminology and full status syntax as low confidence pending review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu a97a044b0d Record Ewe sighting calendar repair progress
Update audit and upcoming release notes on 2026-09-14 with 513 pending originals. Record restored sighting qualifier, passing structural checks and remaining full-language validation.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu d73bc647f8 Translate Ewe Saudi sighting calendar label
Restore the omitted sighting qualifier and native calendar wording on 2026-09-14. Preserve country identity and mark moon-sighting composition as low confidence pending fluent review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu a03d3e2e70 Document Dzongkha variant reference review
Link dated 2026-09-14 dictionary review in upcoming release notes. Keep unresolved Hijri variants and wider translation validation scope explicit.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 34e1e16d2e Review Dzongkha calendar variant reference limits
Compare directly downloaded publisher and GNU dictionary copies on 2026-09-14. Corroborate Coptic spelling and retain Hijri variants pending legible tabular, epoch and sighting terminology. Record extraction conflicts without treating indexed text as complete validation.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu a74567181e Record Dzongkha calendar translation progress
Update audit and upcoming changelog on 2026-09-14 with 514 pending originals. Record dictionary evidence, extraction limitation, passing checks and remaining fluent review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 3b9b9e677c Translate Dzongkha Coptic calendar label
Replace English-only label using Dzongkha computing dictionary vocabulary on 2026-09-14. Preserve Coptic identity and record full compound spelling as low confidence pending language review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 5ad0aa8405 Record Tamazight announcement translation progress
Update audit and upcoming changelog on 2026-09-14. Record 515 pending originals, one additional unflagged repair, passing checks and remaining language validation.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 3e14cc9601 Translate Tamazight announcement labels
Replace Arabic and French labels using native announcement vocabulary on 2026-09-14. Keep full administrator attribution syntax low confidence and retain separate system-wide active finding for review.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 9f976fba8c Record Tamazight external memory translation review
Update audit and upcoming release notes on 2026-09-14. Record 516 pending originals and unresolved free-memory terminology, with passing structural checks.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu e203ace1de Translate Tamazight external memory diagnostic
Replace French Node memory usage label on 2026-09-14. Preserve external qualifier without implying external storage; mark full mixed-source adaptation low confidence.
2026-09-14 11:08:07 +03:00
Lauri Ojansivu 0a08fd51a3 Record Tamazight card creator translation progress
Update audit and upcoming changelog on 2026-09-14. Record 517 pending originals, verified structural checks and remaining language validation.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu fcb0580de6 Translate Tamazight card creator display setting
Replace French setting text after native vocabulary review on 2026-09-14. Preserve creator ownership and existing terminology, with complete card label adaptation marked low confidence.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 5e2de7e7c9 Record Tamazight total memory repair progress
Update audit summary and upcoming release notes on 2026-09-14. Record 518 pending originals, passing structural checks and remaining fluent language validation.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 636e1aef81 Translate Tamazight total memory diagnostic
Replace Arabic OS total-memory label on 2026-09-14 using native total vocabulary and Moroccan computing terminology. Preserve total versus free memory distinction and mark full adaptation low confidence.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 86833045dd Record Tamazight upload status repair progress
Update audit and upcoming release notes on 2026-09-14 with 519 pending original findings and explicit low-confidence grammar review. Correction and metadata tests pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 9ecbdf30da Translate Tamazight upload completion status
Replace French status text after native vocabulary review on 2026-09-14. Mark positive completion morphology and full status sentence as low confidence pending fluent review.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu a2e5a82cee Record Tamazight email imperative review
Update audit progress and upcoming changelog on 2026-09-14. Record the three refined email commands, passing correction checks, unchanged pending counts and remaining language review.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu dbb9d53098 Refine Tamazight email click commands
Use the native MediaWiki imperative in three email bodies after reference review on 2026-09-14. Preserve placeholders and keep complete email wording under low-confidence language review.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 46fa0e2637 Document Tamazight memory usage repair
Update translation audit progress and upcoming release notes on 2026-09-14. Record 520 remaining original findings and preserve the wider language validation scope.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 6e7ecf2eb2 Repair Tamazight memory usage label dated 2026-09-14
Replace French diagnostics label with native usage and documented computer-memory components. Full nominal adaptation remains low confidence. All 17,637 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu cc7dec1810 Record existing account translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repair and 521 pending originals. Custom-field and complete language review remain open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 746a10ff72 Repair Tamazight existing account prompt dated 2026-09-14
Replace French conditional prompt while preserving already-existing account. Native possession/conditional components support vocabulary; full clause remains low confidence. All 17,636 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 2e6b778f92 Record restore control repair dated 2026-09-14
Update audit, TODO Later and Upcoming with unflagged repair and remaining archive/imperative review. Original pending count remains 522. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 0e4ea74c7f Repair Tamazight restore control dated 2026-09-14
Replace unflagged Arabic Restore with native restoration-root command, recording imperative uncertainty. Archive-specific terminology remains unresolved. All 17,635 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 310def920b Record login error translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repair and 522 pending originals. Full language verification remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 9fbd8467a1 Repair Tamazight login attempt error dated 2026-09-14
Replace French error message while preserving error during attempted login without inventing a password or LDAP cause. Record temporal-clause uncertainty. All 17,634 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 5be4c48fee Record board scan translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repairs and 523 pending originals. Full language verification remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu fd8b479c16 Repair Tamazight board scan labels dated 2026-09-14
Replace French checking labels while preserving separate file-attachment and member-avatar scopes. Record derived action noun and complete ownership uncertainty. All 17,633 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 67e314ccf4 Record native Tamazight opening verb review dated 2026-09-14
Add primary IRCAM transitive and indexed imperative references, distinguishing spelling variation and failed full-document retrieval from verified software phrasing. Keep values and counts unchanged. Audit-progress regression passes.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 7ef2d46405 Record card opening translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repairs and 525 pending originals. Full language verification remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 3856f63a3a Repair Tamazight card opening labels dated 2026-09-14
Replace Arabic open action and many-cards-at-once label. Preserve imperative, multiple cards and one-operation qualifier. Record verb and full-phrase uncertainty. All 17,631 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 78ff1f98cb Record Tamazight field sum review dated 2026-09-14
Keep numeric sum distinct from addition operation, count and financial amount. Record reference limitations and failed full-PDF fetch without changing translation values or counts. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 43dda3e66b Record file size translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked maximum-size repairs and 526 pending originals. Full language verification remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 07f7ea683d Repair Tamazight file size limits dated 2026-09-14
Replace Arabic avatar and upload file-size labels, preserving maximum, byte units and distinct scopes. Record mathematical-term adaptation and composed noun uncertainty. All 17,629 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 1c1908ead2 Record username translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked minimum-length repair and 528 pending original findings. Full language validation remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 7791cbb31b Repair Tamazight username length warning dated 2026-09-14
Replace French warning while preserving required minimum of three characters and username scope. Record full-composition uncertainty. All 17,627 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 17d11135dd Record removal fragment repair dated 2026-09-14
Update audit, TODO Later and Upcoming with unflagged correction and remaining passive/assignee review. Original pending count remains 529. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 35121ef8b2 Repair Tamazight removal source fragment dated 2026-09-14
Replace French Removed from while preserving passive event and source relation. Record finite-passive uncertainty; assignee terminology remains distinct and unresolved. All 17,626 correction regressions pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu d5ce846e44 Record move rule translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repairs and 529 pending originals. Full language verification remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:06 +03:00
Lauri Ojansivu 16ff43bf88 Repair Tamazight card move rule triggers dated 2026-09-14
Replace French move fragments while preserving another-list destination and when-event scope. Record derived passive and agreement uncertainty. All 17,625 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 318899a659 Record card activity translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked move/restore repairs and 530 pending findings. Keep full language validation open. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu c7d630200e Repair Tamazight card move and restore activities dated 2026-09-14
Replace French messages using native move/restore components. Preserve old and new board locations and restore destination, with every placeholder intact. Full phrasing remains low confidence. All 17,623 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu edbcc0e4b7 Record member removal translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked corrections and 532 pending original findings. Preserve broader fluent review scope. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 0e797a3aca Repair Tamazight member removal messages dated 2026-09-14
Replace French activity and Arabic removal control. Preserve member removal from card and all nested location placeholders. Native remove/member components are supported; complete activity wording remains low confidence. All 17,621 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu e857407c3d Record JSON warning translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repair and 533 pending original findings. Preserve full-language and clipboard terminology review scope. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 6a3b81124b Repair Tamazight JSON validity warning dated 2026-09-14
Replace French warning with native text and negative-validity components, retaining JSON format. Complete construction remains low confidence; paste prompts remain open because clipboard terminology was not established. All 17,619 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu e2c23e9e28 Record board avatar translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with source-linked repair, 15,310 corrected originals and 534 pending. Language validation remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu e24b61f139 Repair Tamazight board avatar display label dated 2026-09-14
Replace French display label with native show/member components and existing avatar terminology. Preserve ownership by board members; full wording remains low confidence. All 17,618 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu b9afb0560d Record date translation repairs dated 2026-09-14
Update audit, TODO Later and Upcoming with five source-linked corrections and 535 pending original findings. Keep full language validation open. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 8ca3f1a4a2 Repair Tamazight date editing messages dated 2026-09-14
Replace five French or Arabic popup and activity messages. Preserve start, end and received dates and destination-date/card placeholder roles. Record full-phrase and actor morphology uncertainty. All 17,617 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu ba330e49f8 Record avatar URL translation progress dated 2026-09-14
Update audit, TODO Later and Upcoming with the repair source and 15,306 corrected originals, 538 pending findings. Preserve low-confidence review scope. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 7d86e7a562 Repair Tamazight avatar URL migration labels dated 2026-09-14
Replace two French repair labels using the documented correction verb, retaining URL and existing avatar terminology. Complete wording remains low confidence pending language review. All 17,612 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 68b91c7d2a Record Excel import translation progress dated 2026-09-14
Link the Tamazight popup repair and update audit, TODO Later and Upcoming counts to 15,304 corrected originals and 540 pending. Keep fluent review and restored-value validation open. Changelog and progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 7a77db4e92 Repair Tamazight Excel import popup dated 2026-09-14
Replace French popup title while retaining Excel CSV/TSV names. Record native entry imperative and cached import terminology evidence with import-specific wording still low confidence. All 17,610 correction regressions pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu f4326910b3 Record Fulah calendar terminology review dated 2026-09-14
Distinguish education-guide calendar and grid/table terms from unresolved technical epoch qualifiers. Retain existing values pending complete evidence and refresh Upcoming to cover attachment, maintenance and calendar repairs. Audit-progress and changelog checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu e4c19c6d76 Record Fulah sighting repair progress dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked Saudi sighting fix, provisional-source issues and unresolved epoch/fluency scope. Track 15,303 corrected originals and 541 pending findings. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 8e8198e26d Restore Fulah Saudi calendar moon-sighting qualifier
Replace English label with reference-supported Fulah components and retain moon-sighting distinction. Record provisional CLDR punctuation issue, reject Swedish homograph as evidence and retain full technical-language uncertainty. All 17,609 correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu a25844ff5e Record Fulah CLDR calendar repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked native Adlam names, Latin transcription caveats and remaining Hijri variant scope. Track 15,302 corrected originals and 542 pending findings. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 1582958d23 Use Fulah Adlam CLDR names for Buddhist and Coptic calendars
Transcribe full native calendar names into the Latin ff translation instead of bare English adjectives. Record exact Adlam source and low-confidence cross-script/regional transcription caveats. Three Hijri variant findings remain pending. All 17,608 correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 91b654bb63 Record provisional Bambara calendar wording dated 2026-09-14
Update short audit, TODO Later and Upcoming with explicit lack of canonical native attestation and remaining epoch/fluency scope. Track 15,300 corrected originals and 544 pending findings. Mechanical correction, changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 281bc41b76 Add provisional Bambara Buddhist and Coptic calendar names
Restore calendar noun in two bare English labels using existing Bambara construction and provisional borrowed/proper names. Explicitly record lack of canonical native attestation, low-confidence spelling and composition, and unresolved epoch variants. All 17,606 mechanical correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 62557dc24a Record provisional Tamazight duplicate-list repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked repairs and explicit unresolved technical-meaning/grammar caveats. Track 15,298 corrected originals and 546 pending findings. Mechanical checks do not prove fluency; wider validation remains open. Changelog and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu c288651baa Repair Tamazight duplicate and empty-list deletion labels
Replace four French findings. Preserve duplicate and empty qualifiers using provisional repeat-derived and contains-nothing wording. Avoid private/double lexical ambiguity; record unresolved technical term and grammar explicitly. All 17,604 correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu ffbd7fc60f Record Tamazight URL action repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked URL scope repairs and full language-validation caveats. Track 15,294 corrected originals and 550 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 27d9f69f48 Repair Tamazight file and attachment URL correction actions
Replace two French findings, preserving all-file versus attachment URL scope and correction action. Record exact lexicon references and dialect, acronym and noun-relation caveats. All 17,600 correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 3c98f44636 Record Tamazight migration label repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked missing-list/ID and file-URL repairs. Track 15,292 corrected originals and 552 pending findings. Preserve wider language-validation scope. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 37fdff2d2f Repair Tamazight missing-list and migration correction labels
Replace four French findings, preserving create/fix, missing lists/IDs and file-URL correction scope. Record native and dialect-specific references with derived negative-plural grammar caveats. All 17,598 correction checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu d7f2fb7a80 Record Tamazight upload wording repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with three unflagged source-linked repairs. Keep original pending counts unchanged and retain full language-validation scope. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:05 +03:00
Lauri Ojansivu 62f68966a0 Repair Tamazight attached activity and upload export headers
Preserve both ordered %s tokens, attachment event meaning, upload direction and by-actor versus at-time headers. Record native roots with derived conjugation and dialect caveats. All 17,594 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 4707fc9fb9 Record Tamazight filesystem wording repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked count/filesystem fixes and low-confidence adaptation caveats. Track 15,288 corrected originals and 556 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 0d1adc6879 Repair Tamazight attachment count and filesystem move wording
Replace four French/Arabic messages. Preserve minicard count, singular/all/all-of-board attachment scope and filesystem destination. Record explicit lexicon references with dialect and grammar caveats. All 17,591 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 5751d017aa Record Tamazight attachment message repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with eight source-linked repairs and exact scope caveats. Track 15,284 corrected originals and 560 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu b150142b28 Repair Tamazight attachment activities and bulk-move messages
Replace eight French/mixed-language values. Preserve deleted action, exact %s, when fragment, personal ownership, all versus all-of-board scope and GridFS/S3 destinations. Record dialect and composition caveats. All 17,587 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu c32d4cdce6 Record Tamazight attachment repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked attachment repairs, nine unflagged fixes and explicit dialect caveats. Track 15,278 corrected originals and 566 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 1dc34b1a93 Repair Tamazight attachment labels and action popups
Replace twelve French/Arabic values, preserving singular/plural attachment, distinct actions and GridFS/S3 destinations. Reference explicit Kabyle mail-attachment terminology with dialect, transcription and software-composition caveats. All 17,579 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 5e07b6c8d5 Record Tamazight field visibility repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with field scope, low-confidence grammar and source-linked correction evidence. Track 15,275 corrected originals and 569 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 4dddf82cb2 Repair Tamazight field label and board-admin visibility wording
Preserve field-label/minicard scope and visible-only-to-board-admin restriction. Include the unflagged unclear visibility translation and record native components with low-confidence grammar caveats. All 17,567 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 192686d203 Record Tamazight title repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with current counts and source-linked title repairs. Preserve low-confidence and broader validation scope. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu d648d4e23f Repair Tamazight search, card import and received-date titles
Replace three French findings while preserving all-board scope, Trello import direction and received date distinct from other dates. Record native component references and low-confidence software composition. All 17,565 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu f94bae4479 Record Tamazight group display repairs dated 2026-09-14
Update short audit, TODO Later and Upcoming with source-linked evidence, native display/index distinction and low-confidence grammar caveats. Track 15,271 corrected originals and 573 pending findings. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 36313cda33 Repair Tamazight added-group display labels
Preserve added qualifier, plural team/organization scope and displayed-below relation. Reference native addition and display components without confusing indexed with displayed. Record derived agreement and dialect caveats. All 17,562 correction checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu 4203b96bfa Record Tamazight board-group repair progress dated 2026-09-14
Update the short audit, TODO Later and Upcoming source-linked entry. Track 15,269 corrected originals and 575 pending findings, including 432 Tamazight. Preserve wider validation scope and low-confidence caveats. Changelog format, release placement and audit-progress checks pass.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu ec6e915947 Repair Tamazight board-group removal and creation guidance
Replace four French findings, preserving removal from a board and contact-administrator creation instructions. Record native component references and low-confidence conjugation, dialect and full-phrase caveats. Verify all 17,560 audited corrections, rendering and placeholder invariants.
2026-09-14 11:08:04 +03:00
Lauri Ojansivu fd349e0d37 Record Tamazight deletion warning repairs dated 2026-09-14 2026-09-14 11:08:04 +03:00
Lauri Ojansivu 7a0afb3318 Repair Tamazight group deletion guards and irreversible warnings 2026-09-14 11:08:04 +03:00
Lauri Ojansivu c5be484d0b Record Tamazight team repair progress dated 2026-09-14 2026-09-14 11:08:04 +03:00
Lauri Ojansivu 36f198b383 Repair Tamazight team labels and organization name errors 2026-09-14 11:08:04 +03:00
Lauri Ojansivu ae8df560f5 Record Tamazight email template repair progress dated 2026-09-14 2026-09-14 11:08:04 +03:00
Lauri Ojansivu 97a8210e63 Repair Tamazight email test recipient and template labels 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 8c21b2792b Record Tamazight organization repair progress dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 3ae48d78d2 Repair Tamazight organization labels and missing-name error 2026-09-14 11:08:03 +03:00
Lauri Ojansivu c4863b52a8 Record Tamazight comment repair progress dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu b9f553d2ff Repair Tamazight comment search error and header wording 2026-09-14 11:08:03 +03:00
Lauri Ojansivu cb8a321392 Record Tamazight multi-selection repair progress dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 95c40e770b Repair Tamazight multi-selection label and member actions 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 77c01cbed3 Record Tamazight placement repair progress dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 081b2c8af9 Repair Tamazight card and swimlane placement labels 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 78972dbe30 Record Tamazight calendar navigation review dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 8e39144f60 Repair Tamazight previous and next month navigation labels 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 2e29c11a0e Record Tamazight diagnostic translation review dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu bc8ef464f8 Repair Tamazight selected and diagnostic details labels 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 1a5ab8b5a1 Record Tamazight card display repair progress dated 2026-09-14 2026-09-14 11:08:03 +03:00
Lauri Ojansivu ac49f847d0 Repair Tamazight card sorting and display labels 2026-09-14 11:08:03 +03:00
Lauri Ojansivu 4daac53264 Record Tamazight label repair progress dated 2026-09-14 2026-09-14 11:08:02 +03:00
Lauri Ojansivu ee1845167c Repair Tamazight label actions and minicard text visibility 2026-09-14 11:08:02 +03:00
Lauri Ojansivu ad963fc16b Record wekan22 build verification in Upcoming changelog 2026-09-14 11:08:02 +03:00
Lauri Ojansivu 8532f1d034 Record used-email and username translation progress
Update dated source commit, verified correction inventory and remaining findings in Audit, TODO Later and Upcoming. Preserve the open grammar, fluency and broader validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 16d4a73dee Translate Tamazight used-email warning and username import
Replace Arabic and French while preserving already-used email address versus username import roles. Predicate agreement, derived plural nouns and import imperative remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu cfdb01f83e Record selected-list translation repair progress
Update dated source commit, verified correction inventory and remaining findings in Audit, TODO Later and Upcoming. Keep uncertain spelling and grammar plus wider validation open.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 93c55d1fc9 Translate Tamazight selected-list position labels
Replace French and preserve opposite left/right directions and selected-list scope. Native direction vocabulary is reference-supported; emphatic spelling, bound forms and full phrase agreement remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu d1456d3598 Record board invitation translation repair progress
Update dated source commit, correction inventory and remaining original findings in Audit, TODO Later and Upcoming. Retain the open fluency and broader validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 288a2e7e53 Translate Tamazight board invitation templates and code label
Replace French mail/push templates and Arabic invitation-code label. Preserve inviter, recipient, board membership, cooperation purpose, link, registration code and exact placeholders. Full constructions, dialect and software adaptations remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu b6e01982c1 Record registration invitation translation progress
Refresh dated source commit, exact correction inventory and remaining findings in Audit, TODO Later and Upcoming. Preserve the open full-language validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu fd6e6bcd7b Translate Tamazight registration invitation diagnostics
Replace French sending error and success messages. Preserve registration/account-creation purpose without claiming invitation acceptance. Derived nouns, bound forms, affirmative success and full purpose phrases remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 427efc578f Record invitation translation repair progress
Update dated source commit, exact correction inventory and remaining findings in Audit, TODO Later and Upcoming. Preserve the open dialect, fluency and wider validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 50a4def6a0 Translate Tamazight invitation email template labels
Replace Arabic invitation body/subject labels and Invite action. Preserve invitation versus reception or computer prompt. Dialect adaptation, imperative spelling and full label chains remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 6e6bd1a122 Record activity email label translation progress
Update dated source commit and exact correction inventory in Audit, TODO Later and Upcoming. Keep uncertain terminology and broader language validation open.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu ccd2f80728 Translate Tamazight activity email template labels
Replace Arabic activity and template labels, restore the omitted notification meaning and preserve body versus subject. Activity terminology adaptation, bound forms and full label chains remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 0d889466b5 Record enrollment and verification translation progress
Update dated source commit, exact correction inventory and remaining findings in Audit, TODO Later and Upcoming. Keep uncertain phrases and broader language validation open.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu bc98c07cc4 Translate Tamazight enrollment and verification email bodies
Replace French and preserve distinct service-use versus account-email verification purposes, paragraph layout and user/URL tokens. Service adaptation, nested purpose clauses, verify spelling and borrowed click remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu bfc57173fc Record account email repair progress and group Upcoming translations
Update dated source commit, correction inventory and remaining audit findings. Group the five Upcoming translation entries and refresh their overview. Preserve the open fluency and broader validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 3834d033da Translate Tamazight enrollment subject and password reset email
Replace French while preserving account ownership, password reset purpose, greeting, thanks, paragraphs and site/user/URL tokens. Recipient paraphrase, reset conjugation, borrowed click imperative and full mail composition remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu b1bf1f9d97 Record email translation repair progress
Update dated source commit, correction inventory and remaining findings in Audit, TODO Later and Upcoming. Keep uncertain grammar and broader validation open.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu c55d70403a Translate Tamazight email sending diagnostics
Replace three French failure, attempt-error and SMTP success messages. Preserve negative versus affirmative result and user ownership. Derived sending noun, affirmative success predicate and full sentences remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 2077f32c7f Record lockout scope translation repair progress
Refresh dated Audit, TODO Later and Upcoming notes with the verified correction inventory and remaining findings. Keep full-language validation and uncertain phrasing open.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 193b225205 Translate Tamazight lockout account scopes and multiple operators
Replace three French values. Preserve existing-account correct-username/wrong-password versus nonexistent-username cases and multiple-operator capability. Account predicates, agreement and full phrases remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 724b0d4ce7 Record Tamazight search explanation repair progress
Update the dated audit source commit and correction inventory, refresh TODO Later counts and add Upcoming search translation notes. Preserve the open full-language validation scope.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu eab3486e69 Repair Tamazight search OR and AND explanations
Replace French and correct the mistaken optional interpretation of OR. Preserve any versus all condition scopes, example names and operator tokens. Full logical phrases and return conjugations remain low confidence pending fluent review.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 3e878a9eaa Add post-v11.76 translation repairs to Upcoming
Create Upcoming notes for the rule report and popup source commit after the new release. Refresh TODO Later validation status while leaving published release notes unchanged.
2026-09-14 11:08:02 +03:00
Lauri Ojansivu 56b805a165 Record rule popup translation repair progress
Record the dated source commit and verified correction inventory in Audit, TODO Later and Upcoming. These three unflagged repairs leave the original pending count unchanged; wider language validation remains open.
2026-09-14 11:08:01 +03:00
Lauri Ojansivu 7e3e11edaf Repair Tamazight rule report and popup wording
Replace French report and details and correct rule terminology in import/export. Preserve singular report and plural rules and both transfer actions. Import imperative derivation and full software phrasing remain low confidence pending fluent review.
2026-09-14 11:08:01 +03:00
github-actions[bot] 25a6c30785 Bump versions for v11.76 2026-09-14 01:37:00 +00:00
Lauri Ojansivu 83821962e6 Prepare v11.76 release 2026-09-14 04:35:32 +03:00
Lauri Ojansivu 4daeff9669 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 04:35:22 +03:00
Lauri Ojansivu 75a3b67702 Record rule repair progress and correct release entry placement
Update dated translation audit counts, TODO Later and Upcoming notes. Move five post-release translation entries from v11.75 to Upcoming because that release does not contain their commits. Preserve their descriptions and keep language validation open.
2026-09-14 04:35:17 +03:00
Lauri Ojansivu 207af96963 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 04:35:05 +03:00
Lauri Ojansivu b0b3520cc1 Repair Tamazight rule labels and action terminology
Replace French and Arabic values and distinguish the IRCAM rule noun from regular. Preserve singular and plural roles, board ownership and rule-title input. Software adaptation and complete phrases remain low confidence pending fluent review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 3a5ddd1c87 Record custom HTML translation repair progress
Update the dated source commit, verified correction inventory and remaining findings in Audit, TODO Later and Upcoming notes. Preserve the open language-validation scope.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 4901ec2980 Translate Tamazight custom HTML insertion actions
Replace French while preserving opening and closing body tags and opposite insertion directions. Custom qualifier adaptation and full phrase composition remain low confidence pending fluent review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 4b661a5bd0 Record start and end translation repair progress
Update dated source commit and exact correction inventory in the audit, TODO Later status and Upcoming notes. Keep uncertain phrasing and wider validation explicitly open.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 9143606500 Translate Tamazight start and end time messages
Replace seven French and Arabic labels and activity fragments using native start and expiration components. Preserve old versus new time placeholders. Generic calendar adaptation and full activity composition remain low confidence pending fluent review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu ed0b853623 Update translation audit after received-time repairs
Record the dated source commit, verified correction inventory and remaining original findings. Refresh the TODO Later status and Upcoming translation notes while retaining the open fluency and wider validation scope.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 44c26d4c9c Translate Tamazight received-time activities
Replace French in both received-time activity fragments. Preserve current and previous time placeholders and destination direction. Reception terminology from the mixed-source computing lexicon and full phrase composition are low confidence pending fluent review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu a6f136a8df Document successful rebuild of the wekan22 failure
Identify the saved v11.75 missing-Moment error as already repaired. Record the fresh Linux arm64 Meteor bundle build and passing assignee, calendar and release-preflight regressions in Upcoming notes. Keep translation audit progress unchanged during build verification.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 2f572cf139 Record Tamazight operator diagnostic repair progress 2026-09-14 04:35:00 +03:00
Lauri Ojansivu e40b678fd9 Repair Tamazight operator and expected-number diagnostics
Preserve operator classification and required versus received value, retaining format tokens exactly. Mathematical terminology adaptation, derived forms and full diagnostic phrasing remain low confidence pending review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu 8c7b177128 Record Tamazight visibility and sorting translation progress 2026-09-14 04:35:00 +03:00
Lauri Ojansivu 105e51ebf3 Translate Tamazight visibility and descending-sort search help
Preserve public/private board scope and literal descending-sort prefix. Moroccan references support visibility terms; complete phrases and prefix composition remain low confidence pending review.
2026-09-14 04:35:00 +03:00
Lauri Ojansivu ab5b085052 Record Tamazight status and validation translation progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 85d88589f4 Repair Tamazight status help and validation labels
Replace French and Arabic while preserving status choices, date versus time validation and exact format tokens. Derived forms and complete diagnostics remain low confidence pending review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu fd1e46de59 Record Tamazight comment and label search repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 50c35f1fb0 Translate Tamazight comment and label search help
Preserve comment containment, color-or-name alternatives, expanded and abbreviated operator syntax. Derived terminology and full phrase composition remain low confidence pending review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 4bd5565b67 Record Tamazight scoped search translation progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 1c80a78ea4 Translate Tamazight creator label and scoped search instructions
Preserve member versus creator and board versus list title matching, retaining executable operator tokens. Complete relative clauses, plural and possessive agreement remain low confidence pending fluent review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 754713e406 Record Tamazight time and due-date repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 0f4d5adc3a Repair Tamazight time labels and due-date activity wording
Replace Arabic and French, distinguish now from today and preserve due-date destination/card placeholder order. Composed diagnostics, conjugation and inherited due-date terminology remain low confidence pending review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu dafa3a9a84 Record Tamazight ordering and export repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 1f3156f934 Repair Tamazight creation-date sorting and export messages
Replace French and mixed-script text while preserving sort direction, card versus board scope, export restrictions and literal format names. Complete noun and capability phrasing remains low confidence pending fluent review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 0d82edf247 Record account prompt translation repairs and color review limits 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 93c1fe9ef9 Translate Tamazight account creation and existing-account prompts
Preserve completed account creation, availability of sign-in and the existing-account question using native MediaWiki components. Complete capability and affirmative possession phrasing remains low confidence pending fluent review.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 02d7f2439c Refresh upcoming release summary and translation audit totals 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 6d5c26c456 Record Tamazight Enter instruction repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu e07e742d2c Translate Tamazight Enter instructions for custom fields
Replace French options/items instructions, keeping Enter as the physical key and preserving action scopes. Complete keyboard phrasing and inherited item terminology remain low confidence. All 17,413 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu f4a69c3d92 Record Tamazight week and display repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 62daaf0331 Translate Tamazight week and All Boards display settings
Preserve ISO week-of-year, selectable first weekday and All Boards page display distinctions with native components. Full genitive and selection phrases remain low confidence. All 17,411 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 7ce014fb53 Record Tamazight sorting repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu e0b706b0ad Translate Tamazight sorting label and invalid-sort error
Replace Arabic/French using directly attested native sort terminology, preserving the format token and invalid-sort meaning. Full diagnostic composition remains low confidence. All 17,408 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu fe502f2151 Record Tamazight comment permission repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 07f665ef0b Translate Tamazight comment and read-only permissions
Repair Arabic/French role descriptions while preserving posting, comment visibility and read-only viewing/edit restrictions. Full capability conjugations and role composition remain low confidence. All 17,406 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 133c365262 Record Tamazight access requirement repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 1eca0d45b2 Translate Tamazight board access requirements
Replace French permission and board-role errors, retaining signed-in users, board membership and board administrator distinctions. Full conjugation and role/genitive composition remain low confidence. All 17,403 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 9218a4a9d2 Record Tamazight bulk-card sample repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu a72de52465 Translate Tamazight bulk-card JSON sample values
Replace French in six sample values while retaining JSON property names, three-card order and first/second/last identification. Full card genitives and derived feminine agreement remain low confidence. All 17,400 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu a142fbd341 Group upcoming translation repairs and refresh release overview 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 2ad42c8e63 Record Tamazight card-order repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu e8e35db559 Translate Tamazight top and bottom card-order commands
Repair six French labels with consistent first/last place wording, preserving add/move and own/selected list distinctions. Native components are reference-supported; full software phrases and possessive composition remain low confidence. All 17,399 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu 0cf6c33882 Record Tamazight deletion and member repair progress 2026-09-14 04:34:59 +03:00
Lauri Ojansivu 8682dbae5a Repair Tamazight deletion and board-member removal labels
Use native Tifinagh deletion wording, translate custom-field confirmation and member-removal activity, and preserve member/board placeholders. Full custom-field and activity composition remain low confidence. All 17,393 correction checks pass.
2026-09-14 04:34:59 +03:00
Lauri Ojansivu b49cce0dc7 Record Tamazight Subject and member repair progress 2026-09-14 04:34:58 +03:00
Lauri Ojansivu 004796543a Repair Tamazight email subject and current-card members labels
Use a directly attested native Subject label and compose scoped current-card member wording. Full card/board composition remains low confidence. All 17,390 correction checks pass, including exact placeholder and newer-translation preference coverage.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 5453d352a7 Record Tamazight email permission repair progress
Update dated audit and Upcoming notes to 15,167 corrected originals and 677 pending findings. Retain full-phrase confidence limits and remaining validation scope.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu bfad1aa765 Translate Tamazight email-change permission
Replace Arabic using native MediaWiki permission, change and email components. Complete composition remains low confidence pending fluent review. Verify all 17,388 correction records, placeholders, rendering and newer-translation preference.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu b199c07565 Document upcoming build and release preflight fixes
Record successful Linux arm64 bundle compilation, regression coverage and remaining browser/platform verification limits. Document the read-only Upcoming notes check.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 6f6e78a9a0 Fix assignee bundle dependency and require upcoming release notes
Use existing native date formatting instead of the removed Moment dependency. Check real Upcoming entries before release tool installation or mutations, including explicit version overrides. Cover missing, empty and duplicate notes with read-only regression tests.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu dcccb718f3 Record mail-subject translation repairs and remaining language review 2026-09-14 04:34:58 +03:00
Lauri Ojansivu 289231a7c6 Translate Tamazight password-reset and email-verification subjects
Replace French with native component wording and preserve the site-name placeholder. Full email phrasing, possessive attachment and verification verb dialect spelling remain low confidence.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 7e39fc89c1 Record dropdown translation repairs and selected-card color scope 2026-09-14 04:34:58 +03:00
Lauri Ojansivu f85bbbf5b5 Translate Tamazight dropdown choices and selection-color title
Replace French labels while keeping unknown distinct from none and selection color distinct from label creation. Complete phrases, derived noun forms and dropdown-option sense remain low confidence.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 5d0967f7db Record field-scope translation repairs and remaining review 2026-09-14 04:34:58 +03:00
Lauri Ojansivu 614ba7687d Translate Tamazight field display and card-scope settings
Replace French field settings and the Arabic change-date popup title. Preserve new-card versus all-card scope. Full phrases, software-field usage and derived card forms remain low confidence.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 5a64686d7a Record field translation repairs and software terminology caveats 2026-09-14 04:34:58 +03:00
Lauri Ojansivu 9639aabe34 Translate Tamazight create-edit and date-field labels
Replace Arabic and French with native create/edit/date vocabulary and IRCAM-attested field terminology. Keep button and popup creation wording consistent. Full software-field phrasing and bound date composition remain low confidence.
2026-09-14 04:34:58 +03:00
Lauri Ojansivu 149aa75c4b Record notification translation repairs and remaining language review 2026-09-14 04:34:58 +03:00
Lauri Ojansivu 520b0d8f80 Repair Tamazight notification controls and unread-comment noun
Replace French notification labels and the incorrect image noun in the unread-comments tooltip. Preserve opposite read/unread states. Full command phrasing and inherited passive-read inflection remain low confidence despite reference-supported component vocabulary.
2026-09-14 04:34:58 +03:00
github-actions[bot] e556118a99 Bump versions for v11.75 2026-09-14 00:45:24 +00:00
Lauri Ojansivu 9c02d84414 Record member-removal and error terminology repair progress 2026-09-14 03:43:38 +03:00
Lauri Ojansivu 6e2824a6ed CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 03:43:37 +03:00
Lauri Ojansivu 8b34511fe8 Translate Tamazight member-removal and error-clearing labels
Replace four French values. Native sources attest remove, all, member and error components, including the error plural in the CNDH Amazigh memorandum. Full command phrasing, card compounds and software-error usage remain low confidence.
2026-09-14 03:43:10 +03:00
Lauri Ojansivu 9278de5931 Record member-selection and card-list translation repair progress 2026-09-14 03:41:09 +03:00
Lauri Ojansivu c60ea35b7d Translate Tamazight member selection and card-list controls
Replace three French labels while preserving import-member selection, full-card list display and per-list card counts. Native component vocabulary is reference-supported; complete phrases, derived bound forms and kanban card terminology remain low confidence.
2026-09-14 03:40:47 +03:00
Lauri Ojansivu 8ec1e97396 Record search-link translation repairs and current audit scope 2026-09-14 03:39:36 +03:00
Lauri Ojansivu 4f37e7278d Translate Tamazight search-link and board-renaming labels
Use native MediaWiki link, search and rename components. Full search-link demonstrative phrasing and board genitive wording remain low confidence and need fluent review. Preserve the search-link purpose and board target.
2026-09-14 03:39:08 +03:00
Lauri Ojansivu 650ceed585 Prepare v11.75 release 2026-09-14 03:38:56 +03:00
Lauri Ojansivu a6a7bb8d5a Update upcoming release summary and translation audit progress 2026-09-14 03:38:02 +03:00
Lauri Ojansivu 70784cac08 Record membership translation repairs and remaining scope 2026-09-14 03:35:08 +03:00
Lauri Ojansivu 4ca8e5d1b6 Translate Tamazight member and board-members labels
Use the native plural member noun while preserving board membership scope. The complete all-board-members compound and kanban board terminology remain low confidence for fluent review.

Thanks to xet7 !
2026-09-14 03:34:48 +03:00
Lauri Ojansivu e6a58ef63d CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 03:34:40 +03:00
Lauri Ojansivu f0b85220ea Document security-aware activity rendering and audit status 2026-09-14 03:34:39 +03:00
Lauri Ojansivu e5937d5314 Render activity values with the shared security-aware viewer
Apply Markdown, emojis and permitted HTML to card and sidebar activity values. Sanitize completed sentences and honor plain-link mode, retaining existing source URL guards and avoiding nested navigation anchors. Add positive, negative and browser regression coverage.

Thanks to xet7 !
2026-09-14 03:34:39 +03:00
Lauri Ojansivu a95bc74bff Record text-editing repair and checklist dialect review 2026-09-14 03:34:39 +03:00
Lauri Ojansivu 0b8895ab82 Repair Tamazight checklist text-editing label
Remove an extraneous first qualifier and use native edit/text components. Full as-text phrasing and bound spelling remain low confidence; candidate checklist control vocabulary is marked Kabyle and is not established as Moroccan usage.

Thanks to xet7 !
2026-09-14 03:34:39 +03:00
Lauri Ojansivu 3a2f8b041e Record description repairs in new upcoming release 2026-09-14 03:34:39 +03:00
Lauri Ojansivu 4dd56bc53a Translate Tamazight detailed-description and all-users choices
Replace French and Arabic using native component terms. Full description-with-more-details composition remains low confidence; all-users view usage also needs fluent review.

Thanks to xet7 !
2026-09-14 03:34:39 +03:00
Lauri Ojansivu 1a48f2bd90 Record weekly due-date translation repairs 2026-09-14 03:34:39 +03:00
github-actions[bot] 3e06727607 Bump versions for v11.74 2026-09-14 00:28:56 +00:00
Lauri Ojansivu 68241210c0 Prepare v11.74 release 2026-09-14 03:27:31 +03:00
Lauri Ojansivu 9c2d625d56 Translate Tamazight missing and weekly due-date filters
Preserve no-date and calendar-week scope using reference-supported components. Full deadline wording, next-week agreement and bound-state morphology remain low confidence for fluent review.

Thanks to xet7 !
2026-09-14 03:27:30 +03:00
Lauri Ojansivu 26fe8826c8 Added Meteor Skills.
Thanks to Meteor developers.
2026-09-14 03:26:52 +03:00
Lauri Ojansivu b06b76603e Record due-date translation repairs and remaining validation 2026-09-14 03:26:37 +03:00
Lauri Ojansivu 47796391ac Translate Tamazight due date and relative date filter labels
Use CLDR today/tomorrow terms and reference-supported date components. Complete due-date terminology adaptation remains low confidence for fluent review; preserve the distinction from completed cards.

Thanks to xet7 !
2026-09-14 03:26:19 +03:00
Lauri Ojansivu 02185026e4 Record avatar translation repairs and validation caveats 2026-09-14 03:25:06 +03:00
Lauri Ojansivu 66cba71ec4 Translate Tamazight avatar change and deletion confirmation
Replace Arabic and French with profile-picture controls. Native component terms and confirmation frame support the repairs; full compounds, bound state and demonstrative placement remain low confidence for fluent review.

Thanks to xet7 !
2026-09-14 03:24:47 +03:00
Lauri Ojansivu 51e8bfa693 Record filter and locked-user translation repairs 2026-09-14 03:23:46 +03:00
Lauri Ojansivu f25f84aded Translate Tamazight filter and empty locked-user status
Replace French while preserving cards-or-lists scope and the current-time qualifier. Native component terms support the repairs; composed phrases and kanban card morphology remain low confidence for fluent review.

Thanks to xet7 !
2026-09-14 03:23:27 +03:00
Lauri Ojansivu 1e9ecf1a28 Record title-filter translation repairs and remaining validation 2026-09-14 03:22:33 +03:00
Lauri Ojansivu 5ce0c18aad Translate Tamazight list and card title filter labels
Replace three French labels using native filter, title and list component terms. Preserve command and heading distinctions. Full title-filter phrases, card bound state and filter noun morphology remain low confidence for fluent review.

Thanks to xet7 !
2026-09-14 03:22:16 +03:00
Lauri Ojansivu 8cdb6d9748 Document membership-only global search in upcoming changelog 2026-09-14 03:21:34 +03:00
Lauri Ojansivu 4c59f03725 Restrict Search All Boards to active board memberships
Apply membership-only scope to search selectors and pagination while retaining public discovery for other callers. Add regression coverage for shared access and public boards.

Thanks to xet7 !
2026-09-14 03:21:22 +03:00
Lauri Ojansivu a92cac17fc Record minicard visibility translation repairs and remaining scope 2026-09-14 03:16:16 +03:00
Lauri Ojansivu c718b0ebea Translate Tamazight minicard list visibility controls 2026-09-14 03:16:01 +03:00
Lauri Ojansivu 7703c2069e Record description and minicard translation repairs 2026-09-14 03:15:27 +03:00
Lauri Ojansivu 506a188a2c Translate Tamazight description and minicard display controls 2026-09-14 03:15:11 +03:00
Lauri Ojansivu ab46d91882 Record minicard heading repairs and remaining language validation 2026-09-14 03:14:39 +03:00
Lauri Ojansivu 18bbe07e42 Translate matching Tamazight minicard settings headings 2026-09-14 03:14:25 +03:00
Lauri Ojansivu 8e586d9d71 Record settings label repairs and remaining audit validation 2026-09-14 03:13:41 +03:00
Lauri Ojansivu 9f0c7828b0 Translate Tamazight settings labels with native terminology 2026-09-14 03:13:27 +03:00
Lauri Ojansivu 8935b9b632 Record native morphology refinements and remaining validation 2026-09-14 03:12:58 +03:00
Lauri Ojansivu 81f4873050 Refine Tamazight blocked-user and confirmation morphology from native UI 2026-09-14 03:12:44 +03:00
Lauri Ojansivu 91956208fb Document movable Board View Settings and regression verification 2026-09-14 03:12:12 +03:00
Lauri Ojansivu 3b74d2c3c2 Keep Board View Settings visible and allow title drag and resize 2026-09-14 03:11:53 +03:00
Lauri Ojansivu 20e32a6598 Record loading repair provenance and remaining translation progress 2026-09-14 03:10:23 +03:00
Lauri Ojansivu fe590a6092 Pin the historical native loading reference accurately 2026-09-14 03:10:08 +03:00
Lauri Ojansivu 3d190b2868 Translate Tamazight loading and wait message from native UI wording 2026-09-14 03:09:49 +03:00
Lauri Ojansivu 0e6360c4d9 Record generic failure repair and remaining translation audit 2026-09-14 03:09:13 +03:00
Lauri Ojansivu 52c833e181 Translate Tamazight generic failure without adding a cause 2026-09-14 03:08:59 +03:00
Lauri Ojansivu 6858916e9c Record native credential-error repair and audit progress 2026-09-14 03:08:21 +03:00
Lauri Ojansivu 13dc65f612 Use native Tamazight invalid-credentials wording 2026-09-14 03:08:07 +03:00
Lauri Ojansivu 7ac515ccc8 Record Tamazight filter criteria repairs and validation caveats 2026-09-14 03:07:24 +03:00
Lauri Ojansivu 448d33abb0 Translate Tamazight date and label filter criteria 2026-09-14 03:07:11 +03:00
Lauri Ojansivu 977f06b565 Record Tamazight filter repairs and remaining translation scope 2026-09-14 03:06:42 +03:00
Lauri Ojansivu 883fcb85cd Translate Tamazight user display and clear-filter controls 2026-09-14 03:06:28 +03:00
Lauri Ojansivu fb1cc5666f Record deletion phrase repairs and remaining translation review 2026-09-14 03:05:58 +03:00
Lauri Ojansivu ad3a4f2dc7 Translate Tamazight comment confirmation and self-account deletion 2026-09-14 03:05:42 +03:00
Lauri Ojansivu 9bfd345e58 Record Tamazight deletion repairs and remaining validation 2026-09-14 03:05:09 +03:00
Lauri Ojansivu fef3c7e461 Repair Tamazight label removal and comment deletion text 2026-09-14 03:04:53 +03:00
Lauri Ojansivu 363966ad50 Update translation audit progress and lockout wording caveats 2026-09-14 03:04:17 +03:00
Lauri Ojansivu 8fc453f504 Repair Tamazight login-lockout status and user filter labels 2026-09-14 03:03:58 +03:00
Lauri Ojansivu f01e18ae43 Record Tamazight metadata repairs and remaining translation scope 2026-09-14 03:03:21 +03:00
Lauri Ojansivu fe2a8097e0 Repair Tamazight attachment export size and type labels 2026-09-14 03:03:08 +03:00
Lauri Ojansivu f8007230e9 Document regional language flags and RTL regression coverage 2026-09-14 03:02:22 +03:00
Lauri Ojansivu c8d17877e4 Place regional flags inside language labels and reverse RTL layout 2026-09-14 03:02:03 +03:00
Lauri Ojansivu 47a4b34303 Update translation audit after Tamazight activity repairs
Record dated source commit c6ee67cb1, four repaired original findings, filename refinement, 17313 correction records and 718 pending originals. Preserve explicit linguistic caveats and the full remaining validation scope. Audit and changelog checks pass.

Thanks to xet7 !
2026-09-14 02:56:56 +03:00
Lauri Ojansivu c6ee67cb11 Repair Tamazight label activity messages and refine filename wording
Replace four French add/remove-label activity messages with native tag and directional terminology, preserving label/card placeholder roles. Active addition inflection, default actor form and complete activity clauses remain low confidence pending fluent review. Refine the existing filename correction with directly attested upload-form wording and preserve its original before value. All 17313 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 02:56:29 +03:00
Lauri Ojansivu 0d4bda0857 Update audit progress after Tamazight label and lookup repairs
Record source commit 1d4ad977d dated 2026-09-14, six repairs including three unflagged values, 17309 correction records and 722 pending originals. Preserve full language-validation scope and explicit low-confidence terminology caveats. Audit and changelog checks pass.

Thanks to xet7 !
2026-09-14 02:54:58 +03:00
Lauri Ojansivu 1d4ad977d7 Repair Tamazight label text and lookup errors
Replace Arabic label/create-label/no-results text and French username/label/color lookup errors with native terminology and reference-supported clauses. Preserve all percent placeholders and distinguish missing username, named label and label color. Composed errors, create-label usage and color/tag morphology remain low confidence pending fluent review. All 17309 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 02:54:33 +03:00
Lauri Ojansivu 47951fd81a Update translation audit after Tamazight credential repairs
Record dated source commit e335ef034, 17303 correction records, 15119 resolved originals and 725 pending originals. Distinguish two unflagged label repairs and retain low-confidence credential composition and the broader validation scope. Correct the current largest-queue summary and update Upcoming.

Thanks to xet7 !
2026-09-14 02:52:41 +03:00
Lauri Ojansivu e335ef034a Repair Tamazight password confirmation and recovery messages
Replace French password confirmation and forgotten-password labels with native MediaWiki wording. Compose the username/password-required error from attested obligation and credential terms; the complete composition is low confidence pending fluent review. Preserve existing correct translations, key order and placeholders. All 17303 correction/rendering checks pass.

Thanks to xet7 !
2026-09-14 02:51:57 +03:00
Lauri Ojansivu 3589309a39 Record report viewer policies and avatar fallback verification
Update Upcoming and title rendering documentation with cumulative-flow and Control chart security policies. Record authenticated legacy avatar prefix fallback, passed focused checks, unrun live browser tests and the unresolved production attachment 404. Keep translation audit counts unchanged.

Thanks to xet7 !
2026-09-14 02:50:12 +03:00
Lauri Ojansivu ca8d599787 Cover Control chart titles under all viewer policies
Explicitly verify cumulative-flow and Control chart wrappers use the shared viewer. Add completed-card browser fixtures for Control chart and check report headings and card titles with formatted, plain-link and literal-source policies.

Thanks to xet7 !
2026-09-14 02:49:51 +03:00
Lauri Ojansivu 5ca16f32ed Apply shared title viewer to cumulative flow and report charts
Render chart headings and report table headers and cells through the shared security-aware viewer. Use rendered text and emoji for canvas labels and dataset titles, capturing them before afterFlush so policy changes remain reactive. Extend title adapter, chart context and cumulative-flow browser policy coverage.

Thanks to xet7 !
2026-09-14 02:48:52 +03:00
Lauri Ojansivu c2a3909281 Restore authenticated legacy avatars through prefix routes
The early universal file handler returned 404 for CollectionFS avatars before the legacy fallback handler could run, including versioned Meteor-Files URLs. Read legacy avatar metadata and streams only after authenticating the request, retain safe response headers, close conditional-request streams and preserve missing-file responses. Add positive and negative runtime coverage and a browser image regression.

Thanks to xet7 !
2026-09-14 02:48:27 +03:00
Lauri Ojansivu 02609d1c38 Document board title policies and regression coverage
Record shared viewer behavior for timeline and Gantt task titles, both Admin Panel plain-text policies, SVG label limitations and the remaining live browser verification.

Thanks to xet7 !
2026-09-14 02:46:54 +03:00
Lauri Ojansivu 457614a2ac Use security-aware title viewers in timeline and Gantt views
Render remaining board titles through the shared Markdown and emoji viewer, including DHTMLX task names. Escape rendered text in Frappe SVG labels and use formatted titles in chart popups. Observe settings when charts refresh. Import routing and date dependencies explicitly in the assignee view to prevent ReferenceErrors. Add runtime helper, compiler and browser regression coverage.

Thanks to xet7 !
2026-09-14 02:45:46 +03:00
Lauri Ojansivu 7f5e8d54d8 Record account translation repairs and current audit progress
Thanks to xet7 !
2026-09-14 02:39:39 +03:00
Lauri Ojansivu acafc79512 Repair Tamazight account creation command and user error
Use the native create-account command and compose the not-created user error from attested wording. Keep the complete error sentence explicitly low confidence pending fluent review.

Thanks to xet7 !
2026-09-14 02:39:16 +03:00
Lauri Ojansivu 1ed3cf629a Document Time view plain-link security behavior
Thanks to xet7 !
2026-09-14 02:38:43 +03:00
Lauri Ojansivu a7b333dad7 Cover Time view plain-link security setting in both modes
Verify the shared viewer passes the existing renderLinksAsPlainText setting to the sanitizer. Register browser tests retaining Markdown and emojis while changing link clickability; restore global settings after each test.

Thanks to xet7 !
2026-09-14 02:38:26 +03:00
Lauri Ojansivu 66aa0ef496 Record Tamazight account failure repair and remaining audit work
Thanks to xet7 !
2026-09-14 02:38:26 +03:00
Lauri Ojansivu b5db9509e4 Translate Tamazight account creation failure message
Use the native MediaWiki failed-account-creation clause without its upstream error-detail suffix, matching the WeKan source.

Thanks to xet7 !
2026-09-14 02:37:37 +03:00
Lauri Ojansivu 54314c287b Record Tamazight field-type repairs and remaining validation
Thanks to xet7 !
2026-09-14 02:37:02 +03:00
Lauri Ojansivu 9443ef3ae8 Repair Tamazight text and number field-type labels
Replace Arabic labels with native text and number terminology. Keep the numeric noun adaptation explicitly low confidence for fluent review.

Thanks to xet7 !
2026-09-14 02:36:40 +03:00
Lauri Ojansivu 29c9a31fb4 Document Time view viewer behavior and security setting coverage
Thanks to xet7 !
2026-09-14 02:36:00 +03:00
Lauri Ojansivu dc08557113 Render Time view card titles with the security-aware viewer
Reuse the shared Markdown and emoji viewer, including Admin Panel plain-text security mode. Keep overtime status outside user-authored Markdown. Add normal and plain-text browser regressions.

Thanks to xet7 !
2026-09-14 02:35:45 +03:00
Lauri Ojansivu c1e092b9e2 Record Tamazight calendar and export repair progress
Thanks to xet7 !
2026-09-14 02:34:31 +03:00
Lauri Ojansivu f0d42d57f1 Repair Tamazight Persian calendar and Excel export wording
Use the CLDR Persian language name and compose the Excel card-export command from attested terms, preserving the existing card noun. Record low confidence for the complete export phrase.

Thanks to xet7 !
2026-09-14 02:34:08 +03:00
Lauri Ojansivu 011e15c48c Update audit progress and caveats for Tamazight existence repairs
Thanks to xet7 !
2026-09-14 02:33:32 +03:00
Lauri Ojansivu f31ff3c1fc Repair Tamazight user existence messages
Compose native user-exists and user-does-not-exist labels from attested MediaWiki nouns and existence forms. Keep both full sentences explicitly low confidence pending fluent validation; preserve their opposite meanings.

Thanks to xet7 !
2026-09-14 02:33:14 +03:00
Lauri Ojansivu 3bc4cd3dd6 Record additional Tamazight translation repairs and verification
Thanks to xet7 !
2026-09-14 02:32:33 +03:00
Lauri Ojansivu ab785976f7 Repair Tamazight template file preview and watch labels
Replace thirteen French and Arabic interface values using matching native MediaWiki terminology. Preserve existing valid Tamazight alternatives and record exact before/after values.

Thanks to xet7 !
2026-09-14 02:32:14 +03:00
Lauri Ojansivu 05153a23fb Document calendar direction compatibility fix and validation
Thanks to xet7 !
2026-09-14 02:31:23 +03:00
Lauri Ojansivu ef12548a98 Use FullCalendar 5 direction option in board calendars
Replace the rejected legacy isRTL option in single-board and multi-board calendars. Verify both directions and absence of the old option; add browser coverage for rendered direction and console warnings.

Thanks to xet7 !
2026-09-14 02:31:05 +03:00
Lauri Ojansivu 306a077094 Update translation audit after Tamazight email repair
Record the dated translation commit, passing correction checks and 732 pending original findings. Preserve wider language-validation caveats.

Thanks to xet7 !
2026-09-14 02:30:11 +03:00
Lauri Ojansivu e56bc53e3e Translate Tamazight invalid email validation message
Replace the French label with the exact native MediaWiki invalid-email-address message. Existing correction regressions verify rendering, placeholders and preference for newer correct translations.

Thanks to xet7 !
2026-09-14 02:29:51 +03:00
Lauri Ojansivu 5dfaa4597f Record Silesian database terminology evidence and current audit count
Native MediaWiki messages attest shared database and file terminology. Keep the complete raw-file label pending until its remaining wording is validated. Correct the stale Tamazight TODO count to 590.

Thanks to xet7 !
2026-09-14 02:29:07 +03:00
Lauri Ojansivu 1e80beb4d5 Update translation audit after Greenlandic qualifier repair
Record 15,111 corrected originals, 733 pending and 17,277 correction records. Preserve unconfirmed reference and fluent-review caveats. Audit/changelog suites pass.
2026-09-14 02:25:52 +03:00
Lauri Ojansivu b373e07346 Repair Greenlandic Jalali Persian qualifier
Use CLDR Greenlandic persiskisut while preserving Jalali proper name. Record unconfirmed reference status and remaining fluent technical review. All 17,277 correction/rendering checks pass.
2026-09-14 02:25:26 +03:00
Lauri Ojansivu 4869be1059 Update audit with Manx calendar reference gaps
Record dated terminology review without changing repair counts. Three Manx originals and broader linguistic validation remain open. Correction and audit/changelog tests pass.
2026-09-14 02:24:38 +03:00
Lauri Ojansivu 669be88959 Record Manx calendar terminology reference gaps
Current CLDR supplies no calendar display names. Keep pending Coptic and full tabular/epoch terminology open, including fluent review of composed sighting wording. No values or counts changed. All correction checks pass.
2026-09-14 02:24:17 +03:00
Lauri Ojansivu 2161007ffe Update translation audit after Quechua crimson repair
Record dated repair, 17,276 correction records and twelve remaining palette wrappers. Preserve exact-hue/dialect caveats and unchanged 734 pending originals. Audit/changelog suites pass.
2026-09-14 02:23:35 +03:00
Lauri Ojansivu 114c5d9928 Repair Quechua crimson palette wording
Use dictionary-attested crimson adjective sani with native spelling sañi. Record polysemy and unresolved exact dialect/hue validation. Preserve distinct red/purple labels. All 17,276 correction/rendering checks pass.
2026-09-14 02:23:13 +03:00
Lauri Ojansivu b93a7ae273 Update translation audit after Quechua sky blue repair
Record dated repair, 17,275 correction records and thirteen remaining palette wrappers. Original pending count remains 734; broader linguistic validation stays open. Audit/changelog suites pass.
2026-09-14 02:22:41 +03:00
Lauri Ojansivu c149ce5160 Repair Quechua sky blue palette label
Use directly attested sky-blue adjective qhusi instead of English in unrelated message wrapper. Keep blue and pale-turquoise variants distinct. All 17,275 correction/rendering checks pass.
2026-09-14 02:22:18 +03:00
Lauri Ojansivu 3e593e5d6a Update translation audit after Quechua orange repair
Record dated repair, 17,274 corrections and remaining fourteen palette wrappers. Original pending count remains 734; broader validation remains open. Audit/changelog regressions pass.
2026-09-14 02:21:45 +03:00
Lauri Ojansivu f6dd287e0a Repair Quechua orange color label
Use directly attested orange-colored adjective killmu instead of English wrapped in unrelated message wording. Preserve distinction from yellow. All 17,274 correction/rendering checks pass.
2026-09-14 02:21:23 +03:00
Lauri Ojansivu 9664fdf81f Update translation audit with Tamazight calendar reference review
Record dated provisional naming and missing technical variant terms without changing counts or claiming completed repairs. Correction and audit/changelog checks pass.
2026-09-14 02:20:41 +03:00
Lauri Ojansivu dd2aaa19a6 Record provisional Tamazight Islamic calendar terminology
Review current CLDR calendar names and identify absent Buddhist and Hijri variant terminology. Keep existing values pending technical and fluent review; no translation values or counts changed. All 17,273 correction checks pass.
2026-09-14 02:20:22 +03:00
Lauri Ojansivu 8629f54c9b Record Tamazight upload repair and pending terminology review
Update dated audit with 17,273 correction records, unchanged 734 pending originals and unresolved email/import research. Audit and changelog suites pass; broader validation remains open.
2026-09-14 02:19:51 +03:00
Lauri Ojansivu 9dcd0aaa55 Repair French Tamazight upload label
Use native Upload file command distinct from Download. All 17,273 correction/rendering checks pass. Broader translation validation remains open.
2026-09-14 02:19:26 +03:00
Lauri Ojansivu 82a0164b01 Update audit after Tamazight user settings repair
Record dated repair and low-confidence heading review. Track 15,110 corrected originals, 734 pending and 17,272 correction records. Audit/changelog suites pass; broader validation stays open.
2026-09-14 02:18:38 +03:00
Lauri Ojansivu ee60f87d2c Repair French Tamazight user settings heading
Compose native preference and user terminology; retain explicit low-confidence grammar and UI terminology review. All 17,272 correction/rendering checks pass.
2026-09-14 02:18:17 +03:00
Lauri Ojansivu 2ff89485dd Update audit after Tamazight username label repair
Record dated repair, 15,109 corrected originals, 735 pending and 17,271 correction records. Preserve low-confidence composition caveats. Audit and changelog suites pass.
2026-09-14 02:17:44 +03:00
Lauri Ojansivu 5babc392fb Repair Tamazight username change setting label
Replace French with native change and username terminology matching the English source. Full composed label remains low confidence. All 17,271 correction/rendering checks pass.
2026-09-14 02:17:20 +03:00
Lauri Ojansivu e1d09b7a62 Update translation audit after comment prompt repair
Record 15,108 corrected originals, 736 pending and 17,270 exact corrections. Preserve low-confidence full-prompt review and broader validation scope. Audit and changelog tests pass.
2026-09-14 02:16:48 +03:00
Lauri Ojansivu 852beaa448 Repair French Tamazight comment deletion prompt
Compose native delete command and comment noun with question marking. Full prompt grammar remains low confidence and requires fluent review. All 17,270 correction/rendering checks pass.
2026-09-14 02:16:24 +03:00
Lauri Ojansivu ecca3aafdc Record Tamazight removal and filter translation repairs
Update dated audit and changelog with four unflagged repairs and 17,269 correction records. Original pending count remains 737. Report regressions pass; broader validation remains open.
2026-09-14 02:15:46 +03:00
Lauri Ojansivu 0b006e44d9 Repair Tamazight remove filter reset and user labels
Replace four Arabic labels with matching native UI terms. All 17,269 correction/rendering checks pass, preserving correct translations and placeholders. Broader linguistic validation remains open.
2026-09-14 02:15:25 +03:00
Lauri Ojansivu ccd9a29bb4 Record progress of Tamazight control wording repairs
Update dated audit and changelog with eleven unflagged repairs and 17,265 exact correction records. Original pending count stays 737. Audit and changelog regression suites pass; broader validation remains open.
2026-09-14 02:14:53 +03:00
Lauri Ojansivu d2923884d5 Repair Tamazight collapse rename and comment controls
Replace eleven Arabic labels with matching native UI terminology, preserving consistent popup headings and controls. All correction/rendering checks pass; broader linguistic validation remains unfinished.
2026-09-14 02:14:29 +03:00
Lauri Ojansivu b7ec8196eb Update audit after twelve Tamazight UI repairs
Record dated repair commit and 17,254 exact corrections. Original pending count remains 737; wider language validation stays open. Audit and changelog regression suites pass.
2026-09-14 02:13:56 +03:00
Lauri Ojansivu ebee06d86c Repair Tamazight account date and history UI labels
Replace twelve Arabic labels with matching native UI terminology, including distinct Date and History nouns and login/logout commands. Preserve correct translations. Correction and rendering regressions pass; broader linguistic validation remains open.
2026-09-14 02:13:33 +03:00
Lauri Ojansivu bd07621281 Record Tamazight action and error translation progress
Update dated repair summary and exact correction inventory. Original pending count stays 737; restored and low-confidence validation remains open. All audit and changelog regression suites pass.
2026-09-14 02:12:59 +03:00
Lauri Ojansivu b692ef9f48 Repair wrong-language Tamazight action and error labels
Use exact native MediaWiki equivalents for Actions, Create, Download and Error. All 17,242 correction/rendering checks pass; existing correct translations and placeholders are preserved. Wider linguistic review remains open.
2026-09-14 02:12:37 +03:00
Lauri Ojansivu 91b5e73351 Update translation progress after Tamazight UI repairs
Record two repairs outside the original finding inventory and unchanged 737 pending originals. Correction/rendering and audit/changelog regressions pass; broader linguistic review stays open.
2026-09-14 02:11:58 +03:00
Lauri Ojansivu 5f3cfb6086 Repair French help and next labels in Tamazight
Use matching native MediaWiki UI terms. Preserve valid Latin-script labels and newer translations. All 17,238 correction and rendering checks pass. Broader language validation remains unfinished.
2026-09-14 02:11:39 +03:00
Lauri Ojansivu e69c5d6e86 Update translation audit with Kashmiri reference gaps
Record dated reference review and unresolved full calendar qualifiers without changing repair counts or claiming linguistic completion. Correction inventory and all three audit/changelog regression suites pass.
2026-09-14 02:10:51 +03:00
Lauri Ojansivu 0db69cf6c7 Record provisional Kashmiri calendar names and unresolved epoch qualifiers
Keep existing wording during reference review. Unicode CLDR marks Islamic and civil labels provisional and supplies neither Saudi sighting nor astronomical tabular variant names. Full qualifiers require further Kashmiri technical terminology research. All 17,236 correction checks pass; no translation values changed.
2026-09-14 02:10:32 +03:00
Lauri Ojansivu 2c09ab6fd7 Record Cherokee variant repairs and remaining validation 2026-09-14 02:07:29 +03:00
Lauri Ojansivu e07d2be5f5 Repair Cherokee Hijri variant labels
Use exact native-script Unicode locale names for Saudi sighting and tabular variants. Verify variant distinctions and all 17,236 correction records. Keep compact epoch wording and broader linguistic validation open.
2026-09-14 02:07:06 +03:00
Lauri Ojansivu ba1df40778 Record Quechua metallic color repairs and linguistic review scope 2026-09-14 02:06:19 +03:00
Lauri Ojansivu 190fd16a2a Repair Quechua metallic color labels
Replace English gold and silver wrapped in unrelated prose with composed material-color wording. Record composition and palette adaptation as low confidence for technical review. All 17,234 correction checks pass.
2026-09-14 02:05:57 +03:00
Lauri Ojansivu a75c3309cf Record Quechua gray and purple repairs and remaining reviews 2026-09-14 02:04:36 +03:00
Lauri Ojansivu 89c0eb4669 Repair Quechua gray and purple labels
Use attested color adjectives and preserve their distinction from blue. Keep silver metal-to-color adaptation and wider palette validation unresolved. All 17,232 correction checks pass.
2026-09-14 02:04:14 +03:00
Lauri Ojansivu 7686dafb7c Record further Quechua color repairs and remaining reviews 2026-09-14 02:03:34 +03:00
Lauri Ojansivu 158f181524 Repair Quechua blue green and yellow labels
Use dictionary-attested standalone adjectives and verify six distinct repaired basic colors. Preserve unresolved orange and shade terminology for further research. All 17,230 correction records pass.
2026-09-14 02:03:10 +03:00
Lauri Ojansivu 56187787e3 Record Quechua color repairs and remaining audit scope 2026-09-14 02:02:28 +03:00
Lauri Ojansivu b7b810c1b0 Repair Quechua black red and white labels
Replace English color names wrapped in unrelated prose with dictionary-attested standalone adjectives. Verify distinct colors and all 17,227 exact correction records. Original calendar findings and wider validation remain open.
2026-09-14 02:02:05 +03:00
Lauri Ojansivu 05c58e2378 Record Tamazight notification repair and remaining work 2026-09-14 02:01:13 +03:00
Lauri Ojansivu 4cd6294947 Repair Tamazight delete-all-notifications action
Preserve all-notifications scope using existing terminology and reference-supported delete and all words. Track composed regional and technical wording as low confidence. All 17,224 exact correction checks pass.
2026-09-14 02:00:48 +03:00
Lauri Ojansivu 41d9ac8a7f Record Tamazight account repairs and pending validation 2026-09-14 01:59:50 +03:00
Lauri Ojansivu 123d7a531f Repair Tamazight core account translations
Replace seven Arabic and French labels with matching Standard Moroccan Tamazight reference wording. Verify native script, distinct login and logout, and all 17,223 exact correction records. Preserve correct local translations and keep wider validation open.
2026-09-14 01:59:28 +03:00
Lauri Ojansivu 2388dc73ca Record Aromanian color repair and remaining review 2026-09-14 01:58:32 +03:00
Lauri Ojansivu 02ef178a51 Repair Aromanian indigo color label
Use lulachi, explicitly attested as indigo in the publisher linguistic paper. Preserve lowercase color labeling and distinguish blue. Magenta and broader dialect and technical wording validation remain open. All 17,216 correction checks pass.
2026-09-14 01:58:11 +03:00
Lauri Ojansivu 6fc8359fb4 Record Bambara calendar repair and remaining audit work 2026-09-14 01:57:03 +03:00
Lauri Ojansivu 160e02ae3d Repair Bambara Hebrew calendar label
Use reference-attested Jewish terminology with the existing calendar construction. Record the composed name as low confidence pending fluent technical review. All 17,215 exact correction checks pass.
2026-09-14 01:56:41 +03:00
Lauri Ojansivu 95eae66686 Record Sakha sighting repair and remaining translation validation 2026-09-14 01:55:31 +03:00
Lauri Ojansivu 2ec5ad0e3f Repair Sakha Saudi sighting calendar label
Preserve Saudi Arabia and moon-observation qualifiers using native reference terms. Record low-confidence phrase composition and crescent-sighting adaptation for further review. Verify all 17,214 correction records and calendar variant distinctions.
2026-09-14 01:55:05 +03:00
Lauri Ojansivu 2470aabf95 Record Sakha astronomical-calendar repair and remaining sighting review
Refresh dated audit and Upcoming with passing checks and remaining technical validation. Thanks to xet7.
2026-09-14 01:51:35 +03:00
Lauri Ojansivu 36f57a4b74 Repair Sakha tabular Hijri astronomical-epoch label
Use native-reference astronomy wording and existing table/CLDR calendar-era terms, preserving both qualifiers and distinction from civil. Correction/rendering checks pass. Low confidence: noun composition and era-to-epoch adaptation need fluent technical review.

Thanks to xet7.
2026-09-14 01:51:16 +03:00
Lauri Ojansivu d155f89793 Record Sakha civil calendar repair and remaining variants
Refresh dated audit and Upcoming with passing checks and outstanding technical validation. Thanks to xet7.
2026-09-14 01:50:39 +03:00
Lauri Ojansivu bceecefb8c Repair Sakha civil Hijri calendar label
Replace English with reference-based calendar, table, civil and era wording. Preserve both qualifiers and the existing base. Correction/rendering checks pass. Low confidence: phrase composition and the era-to-epoch adaptation need fluent technical review. Other two variants remain unresolved.

Thanks to xet7.
2026-09-14 01:50:19 +03:00
Lauri Ojansivu d259217b38 Record Tongan astronomical-epoch refinement and review scope
Keep dated audit and Upcoming current without inflating repair counts or claiming fluent validation complete. Thanks to xet7.
2026-09-14 01:48:47 +03:00
Lauri Ojansivu 335a9bcd31 Restore astronomical-epoch meaning in Tongan tabular Hijri label
Refine the existing provisional repair using the lexicon epoch term and CLDR astronomical adjective. Preserve original correction provenance and distinguish calendar variants. All correction/rendering checks pass. Low confidence: the calendar base is CLDR-unconfirmed and phrase composition needs fluent technical review.

Thanks to xet7.
2026-09-14 01:48:27 +03:00
Lauri Ojansivu d566241d4a Record provisional Tongan calendar repair and unfinished epoch wording
Update dated progress without claiming the remaining linguistic validation complete. Thanks to xet7.
2026-09-14 01:46:45 +03:00
Lauri Ojansivu de0d3d8211 Replace English Tongan tabular Hijri calendar label with CLDR wording
Use the exact provisional non-core CLDR display name and retain distinctions from civil and sighting variants. Correction/rendering checks pass. Low confidence: the CLDR value is unconfirmed and an explicit astronomical-epoch qualifier still needs language research and fluent review.

Thanks to xet7.
2026-09-14 01:46:26 +03:00
Lauri Ojansivu c5f9faf4e3 Record dated Veps morphology validation in Upcoming
Link the local validation commit and retain unresolved technical terminology and pending counts. Thanks to xet7.
2026-09-14 01:45:12 +03:00
Lauri Ojansivu e4e3aa5908 Validate Veps zoom imperative forms against inflection references
Confirm the transitive increase/decrease commands from Veps inflection tables and distinguish intransitive forms. Preserve technical usage review and unresolved keyboard findings. All correction/rendering checks pass; counts are unchanged.

Thanks to xet7.
2026-09-14 01:44:58 +03:00
Lauri Ojansivu 796f74fe57 Record Veps zoom-scale repairs and outstanding technical review
Refresh dated audit and Upcoming with verified correction counts and remaining work. Thanks to xet7.
2026-09-14 01:43:41 +03:00
Lauri Ojansivu bc84ca78bc Repair Veps zoom scale label and percentage prompt
Replace two Finnish values with dictionary-based scale terminology and existing Veps prompt wording. Preserve the exact 50-300% range. Correction/rendering and placeholder checks pass. Low confidence: screen-zoom adaptation of the map-scale term and prompt inflection need fluent technical review.

Thanks to xet7.
2026-09-14 01:43:23 +03:00
Lauri Ojansivu 77c3214129 Record Veps zoom repair progress and remaining validation
Update dated audit and Upcoming with two unflagged repairs, unchanged original queue and passing verification. Thanks to xet7.
2026-09-14 01:42:46 +03:00
Lauri Ojansivu 85de9ea7db Repair Veps zoom-in and zoom-out actions
Replace two unflagged Finnish labels with distinct dictionary-based increase and decrease actions. Preserve zoom behavior and limits. Exact correction/rendering and token checks pass. Low confidence: technical usage and imperative forms need fluent review.

Thanks to xet7.
2026-09-14 01:42:29 +03:00
Lauri Ojansivu 9a16355771 Record Veps storage-engine translation repair and audit counts
Update dated progress and Upcoming with the local fix, passing correction checks and outstanding fluent technical review. Thanks to xet7.
2026-09-14 01:41:55 +03:00
Lauri Ojansivu 55c1973661 Replace Finnish MongoDB storage-engine label in Veps
Use dictionary-attested storage and engine words, preserving MongoDB. Exact correction, rendering and placeholder regressions pass. Low confidence: the composed technical label needs fluent review.

Thanks to xet7.
2026-09-14 01:41:36 +03:00
Lauri Ojansivu 82796edf06 Record Veps search repairs and translated overdue parser verification
Update dated translation progress to 15,095 corrected and 749 pending original findings. Record 17,205 verified correction records and the pending live browser and fluent-language checks. Thanks to xet7.
2026-09-14 01:40:58 +03:00
Lauri Ojansivu da63007903 Document missing-parent mirror recovery and final log reporting
Record the tested mirror fixes under Upcoming. Thanks to xet7.
2026-09-14 01:40:19 +03:00
Lauri Ojansivu b53d81cea0 Recover missing mirror comment parents and print final log paths
Fetch missing parent issues and pull metadata through the existing rate-limited API client. Preserve page checkpoints on failure and retry missing pull metadata after interruption. Report logs after menu sync/check operations and command exit while retaining exit status. Offline collector, menu and shell launcher regressions pass.

Thanks to xet7.
2026-09-14 01:40:05 +03:00
Lauri Ojansivu 6b0bf168e0 Repair Veps search help and recognize localized overdue predicates
Replace Finnish search explanations and the overdue keyword, preserving placeholders, examples and day bounds. Fix Query to use the translated overdue predicate map while retaining its existing English alias. Actual parser and all correction regressions pass. Add and syntax-check a browser regression; isolated live browser execution remains pending. Composed operator/date-bound language needs fluent review.

Thanks to xet7.
2026-09-14 01:36:46 +03:00
Lauri Ojansivu 55cb7eeee0 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-14 01:35:59 +03:00
Lauri Ojansivu 51e7efcd87 Record Veps recovery and migration-step translation progress
Refresh dated audit evidence and upcoming changelog with verified labels, remaining findings and language-review limitations.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu a2929974e8 Repair Veps recovery labels and migration step names
Replace four Finnish labels, preserving per-swimlane and ensure-if-missing scope and distinguishing lost cards from restored items. Production rendering and all correction checks pass. Expanded ensure clauses and case agreement have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu 748f15e4d1 Record Veps conversion and migration progress repairs
Refresh dated audit evidence and upcoming changelog with verified explanations, remaining findings and explicit language-review limitations.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu 83361230df Repair Veps board conversion and migration progress messages
Replace four Finnish explanations, preserving one-time scope, continued board use, performance improvement, brief duration and background continuation after browser closure. Production rendering and all correction checks pass. Technical performance/structure clause composition has low confidence and needs fluent review.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu e50159cea9 Record Veps duplicate-list warning translation progress
Update dated audit evidence and upcoming changelog with verified safety conditions, remaining findings and language-review limitations.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu 08d1f9e9b3 Repair Veps duplicate-list safety warnings
Replace three Finnish warnings, preserving empty-list and populated-same-name-duplicate conditions, initial shared-list conversion and redundant-only deletion. Read the migration implementation and verify production rendering and all correction invariants. Composed clauses and case agreement have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu 951b7c09d2 Record Veps migration integrity translation progress
Refresh dated audit evidence and upcoming changelog with verified messages, remaining findings and language-review limitations.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu ef7d530e93 Repair Veps migration integrity explanations
Replace six Finnish migration/settings values, preserving list ordering, card positions, swimlane structure, independent execution and brief duration. Production rendering and all correction checks pass; composed purpose clauses and case agreement need fluent review.

Thanks to xet7.
2026-09-14 01:35:55 +03:00
Lauri Ojansivu 8e3aa7d3d2 Record Veps board-migration translation progress
Refresh the dated audit and upcoming changelog with verified migration labels, remaining findings and explicit language-review limitations.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu c6eaeb9cea Repair Veps board-structure migration controls
Replace five Finnish values, preserving comprehensive migration scope, analysis, missing/corrupt list alternatives and continuation confirmation. Production rendering and all correction checks pass. Technical structure terminology and absent-list clause composition have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 10eb3682b1 Record Veps wait-animation translation progress
Update the dated audit and upcoming changelog with verified labels, remaining findings and explicit terminology-review caveats.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 66cd9b69e9 Repair Veps wait-spinner descriptions
Replace nine Finnish wait-animation labels while preserving all animation distinctions and identifiers. Production rendering and all correction checks pass. The technical cube loan and composed wait-indicator terminology have low confidence and require fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 25bbbbc0f3 Record Veps spent-time repair progress and shorten review summary
Refresh the dated audit and upcoming changelog. Condense review categories while retaining all per-key confidence caveats in the correction ledger and source commits.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 182983fe27 Repair Veps spent-time card and hours labels
Replace Finnish spent-time values, retaining the distinction between boards with tracked-time cards and the hours field. Production rendering and all correction checks pass. The composed tracked-time-card phrase has low confidence and needs fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu a42492bfa8 Record Veps device-mode and PDF translation progress
Refresh dated evidence and upcoming changelog with verified controls, remaining findings and language-review limitations.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 27e76175d7 Repair Veps device modes and PDF preview fallback
Replace four Finnish values while preserving distinct mobile/desktop modes and the alternative download action. Production rendering and all correction checks pass. Mobile-device compounds and PDF-preview inflection have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu e10aafdfae Record Veps announcement and repository translation progress
Refresh the dated audit and upcoming changelog with verified controls, remaining findings and explicit terminology-review limitations.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 2c1b453edc Repair Veps announcement and repository controls
Replace ten Finnish values, preserving system-wide and administrator announcement distinctions, create/upload/update/sign-in actions and the existing repository noun. All correction and production-rendering checks pass. Repository inflection and the system-wide qualifier have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu c8a577f741 Record mirror security review and verified hardening
Update the upcoming changelog and audit progress with saved alert findings, twenty-five passing mirror regressions and native Windows/CodeQL verification limits.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 3a86fc7e34 Harden mirror host validation and shell-free command dispatch
Review saved scanning alerts 537 and 539. Make exact archive-host validation explicit, restrict executable dispatch and run Windows targets through the existing Node engine without cmd.exe command strings. Preserve preview flags and all archive/resume behavior. Twenty-five focused mirror test entries pass; native Windows and remote CodeQL rescanning remain unverified.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu b3dc5f6ee5 Record Veps timing and shortcut translation refinement
Update the dated audit and upcoming changelog with verified repairs, the earlier pronoun correction and remaining language-validation work.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu c0bd1cecb5 Repair Veps remaining-time label and assigned-card pronoun
Replace the Finnish timing label and refine an earlier shortcut correction from assigned to you to assigned to me. Preserve the original before-value in the correction ledger. Production rendering and all correction checks pass; timing participle composition needs fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 05fcb2e76c Record verified Veps drag and sidebar translation progress
Refresh dated repair evidence, remaining findings and explicit fluent-review limitations in the audit and upcoming changelog.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu db9a1e001b Repair Veps drag instructions and sidebar controls
Replace eight Finnish/Venda instructions, preserving click, drag, drop, resize, opening and closing distinctions and workspace placeholders. All correction and production-rendering checks pass. Icon inflection and desktop drag-handle compounds have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 32e41d165c Record Veps workspace translation progress
Update the dated audit and upcoming changelog with the verified workspace batch, remaining findings and explicit language-review limitations.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu f72f222543 Repair Veps workspace controls and submenu labels
Replace thirteen Finnish values, preserving workspace/subworkspace distinctions, markdown notation and the existing Veps deletion question. Verify production rendering and all correction invariants. Composed subworkspace and technical icon terminology have low confidence and need fluent review.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 116f4ecadf Add Meteor skills audit to upcoming changelog
Summarize the source review and distinguish open improvements from completed fixes.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu ab05c974d1 Document Meteor skills source audit and remaining improvements
Record confirmed search, browser-policy and popup findings, existing safeguards and the limits of focused verification.

Thanks to xet7.
2026-09-14 01:35:54 +03:00
Lauri Ojansivu 0a7d5c394e Record subtask translation repairs and remaining language reviews 2026-09-14 01:35:54 +03:00
Lauri Ojansivu fe8a520764 Repair Veps subtask destination and action controls
Replace nine Finnish values, preserving board/list destinations, matching-card absence, deletion confirmation and the board placeholder. Verify actual rendering and retain the existing subtask heading. Composed destination and matching-card grammar need fluent review.

Thanks to xet7 !
2026-09-14 01:35:54 +03:00
Lauri Ojansivu fb4256912b Record mention notification repair and remaining translation validation 2026-09-14 01:35:53 +03:00
Lauri Ojansivu 8a1c76264f Repair Veps card mention notification
Replace Finnish prose using attested naming vocabulary and existing card/list/swimlane/board location phrases. Verify actual rendering with all five placeholders. Mention adaptation and composed notification grammar have low confidence and need fluent review.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu 9a9a12c6a4 Record wildcard guidance repairs and remaining audit counts 2026-09-14 01:35:53 +03:00
Lauri Ojansivu 28f37f0ab0 Repair Veps wildcard and board-shortcut guidance
Translate empty-field matching and starring a board to add its navigation link. Verify actual rendering and preserve tokens and existing star hint. Composed wildcard grammar and navigation-bar terminology need fluent review.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu d59f442476 Record Ewe civil-calendar repair and remaining language research 2026-09-14 01:35:53 +03:00
Lauri Ojansivu 60d14076a2 Localize Ewe civil Hijri calendar name
Use Unicode CLDR Ewe islamic-civil terminology and verify actual locale rendering, preserving source tokens. CLDR marks the name provisional; native validation remains required.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu 1fee87fc8f Record Fulah and Bambara calendar qualifier repairs 2026-09-14 01:35:53 +03:00
Lauri Ojansivu ff742c4146 Localize Persian calendar qualifiers in Fulah and Bambara
Use Unicode CLDR Persian language names and existing calendar nouns while preserving Jalali identity and distinction from Hijri. Verify actual locale rendering and token inventories. Technical calendar-name composition needs native review.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu dab830e94a Record action-choice repairs and outstanding translation reviews 2026-09-14 01:35:53 +03:00
Lauri Ojansivu 25dbf64093 Repair Veps multi-selection action choice translations
Replace four Finnish values in label and member action popups. Preserve existing correct assignment and label-removal wording and verify rendering. Composed title grammar needs fluent review; apparent reversed member handlers remain a separate review item.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu 1cd9370b12 Record Neapolitan item repairs and remaining translation reviews 2026-09-14 01:35:53 +03:00
Lauri Ojansivu 62c011b86b Repair Neapolitan rule item label and list example
Use dictionary-attested alimento, keeping all three comma-separated entries and numeric suffixes. Verify production rendering and token preservation. Technical checklist use needs native review.

Thanks to xet7 !
2026-09-14 01:35:53 +03:00
Lauri Ojansivu 4848654ef0 Record dated board-view repairs and remaining translation validation 2026-09-14 01:35:53 +03:00
github-actions[bot] e31410b330 Bump versions for v11.73 2026-09-13 21:57:44 +00:00
Lauri Ojansivu 4cc67232fe Prepare v11.73 release 2026-09-14 00:56:14 +03:00
Lauri Ojansivu 19d4abdf75 Repair Veps board-view labels and current-time action
Replace nine Finnish or Venda labels, preserving single versus multiple-board calendars, existing list and time terminology and Gantt proper names. Verify production rendering. Composed view-name grammar and collapse terminology have low confidence and require fluent review.

Thanks to xet7 !
2026-09-14 00:55:57 +03:00
Lauri Ojansivu df3efbbbc5 Record dated file-storage translation repairs and remaining audit work 2026-09-14 00:55:04 +03:00
Lauri Ojansivu fcb7fdaf9c Repair Veps file-storage and invalid-filename guidance
Replace five Finnish values while retaining avatar storage, writable and base-directory paths, and upload-or-rename cancellation. Verify production rendering and preserve existing attachment-path wording. Base-folder terminology and cancellation grammar have low confidence and require fluent review.

Thanks to xet7 !
2026-09-14 00:54:43 +03:00
Lauri Ojansivu 63c64af1f4 Record notification translation repairs and remaining review counts 2026-09-14 00:53:39 +03:00
Lauri Ojansivu 1b5fb61c8d Repair Veps notification read-state controls
Replace four Finnish values while retaining unread filtering, read/unread marking and read-only deletion. Preserve the existing correct unread-comment phrase and verify production rendering. Unread participle inflection and composed notification grammar have low confidence and need fluent review.

Thanks to xet7 !
2026-09-14 00:53:20 +03:00
Lauri Ojansivu 653946f276 Record dated Veps memory translation repairs and remaining audit work 2026-09-14 00:52:04 +03:00
Lauri Ojansivu 4824585987 Repair Veps Node memory usage labels
Replace Finnish labels with Veps and distinguish resident RAM, allocated heap, actual heap use and external memory. Verify production rendering and preserve all source tokens. Composed technical grammar has low confidence and needs fluent review.

Thanks to xet7 !
2026-09-14 00:51:43 +03:00
Lauri Ojansivu 9795d88f72 Document first-user CSS and unrequested 2FA prompt repairs
Record successful Meteor compilation, Node regressions and Chromium/Firefox verification against an empty database. Changelog checks pass.

Thanks to xet7.
2026-09-14 00:47:55 +03:00
Lauri Ojansivu cc2833cd0e Restore app CSS and hide unrequested two-factor challenges
Override Meteor's native CSS module type for the existing style-loader/css-loader pipeline. Initialize the second-factor form with a literal native hidden attribute and toggle it only on the existing challenge/cancel paths.

Meteor bundle compilation, four Node test entries and Chromium/Firefox checks pass against an isolated database with zero users. Signed-out sign-in and sign-up remain styled without an unsolicited challenge, even if its hide class is removed.

Thanks to xet7.
2026-09-14 00:47:27 +03:00
Lauri Ojansivu 0602302196 Record dated archive translation repairs and remaining review work
Update Audit.md and TODO Later with 803 pending original findings, exact repair counts and low-confidence warning terminology. Metadata checks pass.

Thanks to xet7.
2026-09-14 00:42:10 +03:00
Lauri Ojansivu 181585ce66 Repair Veps archive actions and linked-deletion warnings
Replace thirteen Finnish values while preserving restoration guidance, archive destinations, deletion order and linkedId sentence fragments. Keep the existing correct archive label unchanged.

Composed warning grammar and home-header/button terminology remain low confidence. All 17,090 correction/rendering regressions pass.

Thanks to xet7.
2026-09-14 00:41:47 +03:00
Lauri Ojansivu bda93e7d89 Record dated Veps clipboard repairs and outstanding audit work
Refresh Audit.md and TODO Later with exact correction totals, 806 pending original findings and uncertain confirmation grammar. Changelog and audit metadata checks pass.

Thanks to xet7.
2026-09-14 00:40:30 +03:00
Lauri Ojansivu d41db1a2c1 Repair Veps clipboard and unsaved-description messages
Replace seven Finnish values with attested clipboard terminology and dictionary-supported copy/paste and description wording. Preserve image-only pasting, before-closing unsaved conditions and the overwrite question. Existing correct clipboard text remains unchanged.

Composed confirmation grammar and inflection remain low confidence. All 17,077 correction/rendering regressions pass.

Thanks to xet7.
2026-09-14 00:40:05 +03:00
Lauri Ojansivu 5ad13848b4 Record Veps search repairs and current audit progress
Update dated repair commits, remaining findings and uncertain-language review scope. Distinguish parser/rendering tests from outstanding database-result and live browser verification. Metadata checks pass.

Thanks to xet7.
2026-09-14 00:38:33 +03:00
Lauri Ojansivu 3ab93c5551 Repair Veps Boolean-search explanations and examples
Preserve ANY condition for repeated operators versus ALL conditions for differing operators. Dictionary-supported Veps prose and sample values replace Finnish; composed logical grammar remains low confidence.

Actual parser grouping and all 17,070 correction regressions pass.

Thanks to xet7.
2026-09-14 00:37:57 +03:00
Lauri Ojansivu 2879c13215 Repair Veps presence-search keywords and instructions
Translate ten Finnish values with single-word parser keywords and a working negative due-date example. Preserve all field placeholders and presence/absence meanings. Composed instructional grammar is low confidence and requires fluent review.

Actual Query presence/absence checks and invalid-field rejection pass, alongside all 17,068 correction regressions.

Thanks to xet7.
2026-09-14 00:36:54 +03:00
Lauri Ojansivu d646be0b78 Record dated Veps scheduling repairs and remaining audit work
Refresh Audit.md and TODO Later with 817 pending original findings, exact correction totals and low-confidence grammar requiring review. Changelog and audit metadata checks pass.

Thanks to xet7.
2026-09-14 00:35:18 +03:00
Lauri Ojansivu 036ea09e2f Repair Veps board scheduling messages and cleanup labels
Replace sixteen Finnish values, preserving scheduling failures versus operation failures, successful scheduling and coming-soon functionality. Reuse existing job and backup terminology with dictionary-supported cleanup wording.

Composed scheduling syntax and backup/archive inflection are low confidence and require fluent review. All 17,058 correction records pass runtime rendering, placeholders, key order and human-preference regressions.

Thanks to xet7.
2026-09-14 00:34:59 +03:00
Lauri Ojansivu 109775e8d8 Update translation audit progress and remaining review summary
Record dated Veps heap repairs, 829 remaining original findings and low-confidence terminology. Refresh TODO Later counts and distinguish historical full-suite verification from current correction checks.

Thanks to xet7.
2026-09-14 00:33:28 +03:00
Lauri Ojansivu e7b7cc7605 Repair Veps heap metric labels and allocation meanings
Replace eleven Finnish memory labels with Veps terminology; distinguish peak malloc allocation from erroneous memory and the V8 debug overwrite flag from garbage collection. Preserve metric distinctions and identifiers.

Technical compounds and inflection are low confidence and require fluent review. Runtime rendering, token, key-order and human-preference regressions pass for 17,042 correction records.

Thanks to xet7.
2026-09-14 00:33:02 +03:00
Lauri Ojansivu 366316395d Record successful development and release build verification
Document completion log paths, read-only manifest repair and successful Linux arm64 builds with release startup validation. Keep translation audit status unchanged. Changelog and audit metadata checks pass.

Thanks to xet7.
2026-09-14 00:31:13 +03:00
Lauri Ojansivu 3fedee2b91 Report completed build logs and prepare read-only server manifests
Print development and release log paths at completion on shell and Windows builds. Match the release workflow by making Meteor's server package manifest writable before updating node-gyp and installing dependencies.

Add completion/failure and read-only-manifest regressions. Development compilation and release startup smoke check pass on Linux arm64; 13 targeted test entries pass. Native Windows execution is unavailable.

Thanks to xet7.
2026-09-14 00:30:44 +03:00
Lauri Ojansivu 955ce9337a Record Veps consent notification repairs and remaining audit work 2026-09-14 00:22:08 +03:00
Lauri Ojansivu 5fbd310063 Repair Veps consent notice and notification subscription wording
Replace eight Finnish values, resolving six original findings and two unflagged watch labels. Preserve combined consent text, never-notified state, creator OR member and watch subscriptions. Runtime checks pass. Legal argument case and composed technical grammar remain low confidence pending fluent review.
2026-09-14 00:21:53 +03:00
Lauri Ojansivu 45b21732cd Record Veps tooltip repairs and remaining translation audit work 2026-09-14 00:19:52 +03:00
Lauri Ojansivu e71dd2d4f4 Repair Veps starring and automatic list width tooltips
Replace six original Finnish findings. Preserve star/unstar, board-list top placement and opposite enabled/disabled actions. Dictionary and runtime checks pass; composed morphology remains low confidence pending fluent review.
2026-09-14 00:19:37 +03:00
Lauri Ojansivu 424ecf71ec Record Veps monitoring translation repairs and remaining audit progress 2026-09-14 00:18:33 +03:00
Lauri Ojansivu c2a8c9b2e9 Repair Veps monitoring reconnect and server error instructions
Replace seven Finnish values, resolving four original findings and three unflagged monitoring labels. Preserve separate export/refresh failures, reconnect retry and server-generated error meaning; retain exact Snap/Docker command text. Runtime checks pass. Technical grammar remains low confidence pending fluent review.
2026-09-14 00:18:16 +03:00
Lauri Ojansivu 752208c61d Record Veps operator instruction repairs and remaining audit work 2026-09-14 00:17:12 +03:00
Lauri Ojansivu 50337aea33 Repair Veps label status sort and limit search instructions
Replace eight Finnish values, resolving five original findings and three unflagged errors. Preserve color-or-name matching, positive per-page limits, status choices and descending minus syntax. Localize user shorthand and fix unmatched label emphasis. Production Query and renderer checks pass; composed grammar remains low confidence pending fluent review.
2026-09-14 00:16:57 +03:00
Lauri Ojansivu 5eccd7fb80 Record Veps date search repairs and remaining translation audit work 2026-09-14 00:15:08 +03:00
Lauri Ojansivu 68a54ec5bb Repair Veps date search periods sorting and case instructions
Replace twelve Finnish values, resolving four original findings and eight unflagged errors. Preserve date bounds, signed integers, period placeholders and case-insensitivity wording. Production Query verifies localized date-sort predicates and invalid date operands; runtime checks preserve period interpolation. Technical grammar remains low confidence pending fluent review.
2026-09-14 00:14:53 +03:00
Lauri Ojansivu 8bea799877 Record Veps system metric repairs and translation audit progress 2026-09-14 00:13:24 +03:00
Lauri Ojansivu 53775ffba8 Repair Veps operating system and memory metric translations
Replace ten Finnish values, resolving eight original findings and two unflagged labels. Preserve OS/CPU identifiers and distinct architecture, platform, release, free/total memory, load average, CPU count and uptime metrics. Runtime checks pass; technical adaptations remain low confidence pending fluent review.
2026-09-14 00:13:08 +03:00
Lauri Ojansivu b834ebd5a9 Record Veps customization repairs and remaining translation audit work 2026-09-14 00:12:12 +03:00
Lauri Ojansivu fc6c780dcf Repair Veps customization labels and top-left logo direction
Replace fifteen original Finnish findings. Correct right-versus-left logo placement, preserve URL/HTML/JSON and assetlinks.json literals, head/link/meta distinctions and default height 27. Runtime and positive/negative terminology checks pass. Adapted technical loans and composed morphology remain low confidence pending fluent review.
2026-09-14 00:11:57 +03:00
Lauri Ojansivu aad756cd79 Record Veps board warning repairs and remaining translation findings 2026-09-14 00:10:19 +03:00
Lauri Ojansivu 8002bb1395 Repair Veps board confirmations and Excel disk space warning
Replace seven Finnish values, resolving five original findings and two unflagged action labels. Preserve board title interpolation, removal from every board card, duplication and insufficient available disk space. Runtime and positive/negative wording checks pass. Technical morphology remains low confidence pending fluent review.
2026-09-14 00:10:06 +03:00
Lauri Ojansivu f494c6e4fe Record Veps export translation repairs and remaining audit progress 2026-09-14 00:08:38 +03:00
Lauri Ojansivu 852c7d8ef9 Repair Veps export fields owner and checklist line instructions
Replace six Finnish values, resolving five original findings and one unflagged owner label. Preserve four distinct people roles, three board-location fields, one checklist item per text line and original order. Runtime checks pass; composed technical morphology remains low confidence pending fluent review.
2026-09-14 00:08:23 +03:00
Lauri Ojansivu e55659070c Record Veps card translation repairs and remaining original findings 2026-09-14 00:07:12 +03:00
Lauri Ojansivu 2011620376 Use dictionary-attested Veps numbered-item term for card sorting 2026-09-14 00:06:57 +03:00
Lauri Ojansivu 2d7a83106c Repair Veps card copy sorting and member permission translations
Replace nine originally flagged Finnish values. Preserve literal JSON fields and first/second/last examples, minicard placement, checklist template source, settings prohibition and at least one administrator. Runtime and JSON regression checks pass. Composed technical morphology remains low confidence pending fluent review.
2026-09-14 00:06:41 +03:00
Lauri Ojansivu 5247d70b9f Record Veps search validation repairs and remaining audit progress 2026-09-14 00:05:17 +03:00
Lauri Ojansivu 1a44f6accc Repair Veps search validation errors and limit operator
Replace eight Finnish values, resolving six original findings and two unflagged errors. Preserve placeholders and separate number, sorting, status, existence, debug and limit meanings. Verify runtime rendering and positive/negative production Query limit behavior. Technical morphology remains low confidence pending fluent review.
2026-09-14 00:05:03 +03:00
Lauri Ojansivu 8466ebde6f Update September 14 translation audit progress after Veps search repairs 2026-09-14 00:03:59 +03:00
Lauri Ojansivu 69582cb2c1 Repair Veps user creator and ended-status search translations
Replace ten Finnish values, resolving five original findings and five unflagged errors. Preserve member OR assignee, creator distinction, end-date status and default archive exclusion. Verify localized terms through production Query and runtime rendering. Composed technical grammar remains low confidence pending fluent review.
2026-09-14 00:03:44 +03:00
Lauri Ojansivu 2f5b14ad20 Record unified logging layout and verification on September 14 2026-09-14 00:02:44 +03:00
Lauri Ojansivu 5f8f22f8c3 Unify shell and Windows log directories by operation date and time 2026-09-14 00:02:30 +03:00
Lauri Ojansivu eb5cb92bcc Document separate date and time directories for build logs 2026-09-13 23:59:05 +03:00
Lauri Ojansivu 0fdda91dec Separate repeated build logs into date and time directories 2026-09-13 23:58:51 +03:00
Lauri Ojansivu 63018cc5a3 Record Veps search translation repairs and remaining audit work 2026-09-13 23:58:00 +03:00
Lauri Ojansivu 1fe3558be7 Repair Veps search operators and entity instructions
Replace eleven Finnish or mixed-language values, resolving six original findings and five unflagged errors. Preserve all placeholders and test five localized operators through production Query with quoted values. Use a single-word assignee operator because the parser rejects spaces. Technical case and relative-clause wording need fluent review.
2026-09-13 23:57:45 +03:00
Lauri Ojansivu d4704b11bc Document daily build log locations and successful development build 2026-09-13 23:56:11 +03:00
Lauri Ojansivu 002e6faa76 Log development and release builds by build type and day 2026-09-13 23:55:57 +03:00
Lauri Ojansivu f4fdcfa7bc Record Veps scheduled-job translation repairs and audit progress 2026-09-13 23:54:11 +03:00
Lauri Ojansivu d8b2356420 Correct dictionary inflection of Veps scheduled job objects 2026-09-13 23:53:57 +03:00
Lauri Ojansivu f64d43aec4 Repair Veps scheduled job actions and outcome notifications
Replace eleven Finnish values, resolving ten original findings and one unflagged value. Preserve assigned-time job meaning, deletion confirmation, active jobs, and delete/pause/resume/start success versus failure. Composed scheduling terminology and morphology need fluent-speaker review.
2026-09-13 23:53:35 +03:00
Lauri Ojansivu 1e69b1d76e Update translation audit progress after Veps migration warning repair 2026-09-13 23:52:29 +03:00
Lauri Ojansivu 34708699c2 Repair Veps migration steps and preserve the browser warning
Replace ten Finnish values, including one original flagged warning. Preserve restore targets, validation and continued background processing with potentially longer completion. Composed technical grammar is low confidence pending fluent-speaker review.
2026-09-13 23:52:14 +03:00
Lauri Ojansivu 187c7b9db4 Record dated Veps migration translation repairs and remaining audit work 2026-09-13 23:50:56 +03:00
Lauri Ojansivu 782cd2fc7a Repair Veps migration controls and status labels
Replace eleven unflagged Finnish values with Veps dictionary terminology. Preserve distinct pause, resume and stop actions and consistent detail/status labels. Composed technical wording remains low confidence pending fluent-speaker review.
2026-09-13 23:50:43 +03:00
Lauri Ojansivu 349dab2bd1 Record incremental mirror resume and build resolver diagnostics verification 2026-09-13 23:49:33 +03:00
Lauri Ojansivu 7af015a56b Persist GitHub mirror data incrementally and resume interrupted synchronization 2026-09-13 23:49:16 +03:00
Lauri Ojansivu df4c049d52 Show module resolution and captured dependency command output during builds 2026-09-13 23:49:12 +03:00
Lauri Ojansivu 915971a89c Expose exact build commands and verbose npm and Meteor diagnostics
Correct the npm-update stage to describe its application compilation for Meteor plugin dependencies. Enable verbose npm logging, foreground lifecycle scripts, Meteor timing diagnostics and supported verbose bundle compilation. Preserve unbuffered stdout/stderr and test command output plus supported options.

Thanks to xet7 !
2026-09-13 23:42:18 +03:00
Lauri Ojansivu 5ff0e5d5d7 Record Veps comment repair progress and the archive-saving interruption
Thanks to xet7 !
2026-09-13 23:33:57 +03:00
Lauri Ojansivu a0048dafd0 Repair Veps comment labels and localized comment searches
Use existing Veps comment terminology for counts, minicards, unread/absent states, roles and search instructions. Preserve sprintf and interpolation tokens. Verify actual production Query parsing with the apostrophe-containing operator, quoted multiword values and unknown-operator rejection. Composed relative-clause/count/case grammar is low confidence and needs fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:33:36 +03:00
Lauri Ojansivu 3bafb2f87c Update translation audit after Veps permission and import error repairs
Thanks to xet7 !
2026-09-13 23:31:56 +03:00
Lauri Ojansivu 3f9517869d Repair Veps permissions, authentication and import validation messages
Replace Finnish and Venda values with consistent Veps messages. Preserve administrator/member requirements, username-or-password errors, comma/Tab delimiters, self-invitation restrictions and domain ownership. Align the invitation-code label with existing registration emails. All exact correction and runtime checks pass. Composed import-schema, login-event, domain ownership and case grammar are low confidence and need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:31:39 +03:00
Lauri Ojansivu 41d715fe4c Record translation audit progress after Veps deletion warning repairs
Thanks to xet7 !
2026-09-13 23:29:57 +03:00
Lauri Ojansivu 21ca9ac3a4 Repair Veps deletion confirmations and irreversible-loss warnings
Replace Finnish warnings for cards, labels, board contents, accounts, comments, checklists, checklist items and subtasks. Preserve permanent deletion, history/activity loss and inability to restore or reopen. Verify positive targets and negative target distinctions with runtime translations. Composed board-content wording, account loan inflection and definite-object grammar are low confidence and need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:29:33 +03:00
Lauri Ojansivu b89d0131d4 Update translation audit progress after Veps visibility repairs
Thanks to xet7 !
2026-09-13 23:28:27 +03:00
Lauri Ojansivu 7001474778 Repair Veps board visibility descriptions and search predicates
Replace Finnish and Venda values with Veps private/public labels, permission descriptions and custom/default visibility controls. Preserve HTML, URLs and query token semantics; verify the production Query parser against the repaired locale. Composed visibility/search-engine wording and case grammar are low confidence and need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:28:07 +03:00
Lauri Ojansivu 5dc62ed733 Document build progress reporting in the upcoming changelog
Thanks to xet7 !
2026-09-13 23:27:19 +03:00
Lauri Ojansivu 9aae0ee309 Show immediate build stages and periodic progress for quiet commands
Stream stage announcements, elapsed status and exit codes into the build log. Stop after required cache cleanup or dependency installation failures. Verify quiet command progress and failure propagation with offline fixtures.

Thanks to xet7 !
2026-09-13 23:27:05 +03:00
Lauri Ojansivu 3fc3d64a7c Document header collapse placement in Upcoming release
Record the Home-collapse-title ordering, passing header regressions and registered browser coverage with runtime limitations.

Thanks to xet7 !
2026-09-13 23:20:30 +03:00
Lauri Ojansivu 8cfee93830 Move header collapse control beside Home
Place the existing collapse control immediately after Home and before the page or board title. Preserve per-session collapse behavior and themed layout. Update header ordering guards and add desktop/narrow-layout browser coverage for position and retained Home/title visibility.

Five header suites pass. Browser regression syntax-checks and registers; runtime execution requires a running WeKan server, which is unavailable locally.

Thanks to xet7 !
2026-09-13 23:20:09 +03:00
Lauri Ojansivu f135b173b2 Record Veps WIP repairs and remaining audit work
Update dated fix hash, audit summary, TODO Later counts and Upcoming release notes. Three original findings and ten related errors repaired; 963 original findings remain.

Thanks to xet7 !
2026-09-13 23:18:47 +03:00
Lauri Ojansivu c847829daa Repair Veps WIP limit and group controls
Replace thirteen Finnish values and mislabeled group controls. Preserve enable/edit/set/soft/invalid distinctions, maximum task count, strict higher-than warning, move-out or higher-limit remedies, optional names and swimlane selection/application.

Low confidence: composed WIP labels and count/remediation grammar need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:18:11 +03:00
Lauri Ojansivu 0e643d78c1 Record Veps migration status repairs and audit progress
Update dated fix hash, audit summary, TODO Later counts and Upcoming release notes. Seven original findings and two related errors repaired; 966 original findings remain.

Thanks to xet7 !
2026-09-13 23:16:33 +03:00
Lauri Ojansivu 6cc4055afa Repair Veps migration retry and resume status text
Replace nine Finnish values; distinguish failed-only retries, paused-only continuation, empty queues, successful action responses, errors and warnings. Preserve existing native status translations and verify actual locale rendering.

Low confidence: composed failure-status grammar and plural/case forms require fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:16:14 +03:00
Lauri Ojansivu e053ba9e62 Record Veps recovery repairs and remaining audit work
Update dated fix hash, audit summary, TODO Later counts and Upcoming release notes. Eleven original findings and one related error repaired; 973 original findings remain.

Thanks to xet7 !
2026-09-13 23:14:23 +03:00
Lauri Ojansivu eef7868928 Repair Veps archive and recovery translations
Replace twelve Finnish values. Preserve later recovery, retained activity, all archived versus non-archived lost-item scope, exact identifier names, automatic repair and cannot-easily-undo wording. Add actual rendering and negative scope regressions.

Low confidence: composed recovery grammar and plural/case forms require fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:13:59 +03:00
Lauri Ojansivu 837555faf2 Record Veps webhook repairs and remaining terminology review
Update dated fix hash, audit summary, TODO Later counts and Upcoming release notes. Five original findings and six related errors repaired; 984 original findings remain.

Thanks to xet7 !
2026-09-13 23:11:49 +03:00
Lauri Ojansivu 9b968a7a6b Repair Veps webhook labels and creation guidance
Replace eleven Finnish values, including related shortcut actions and unflagged labels. Preserve optional authentication, outbound/two-way/global semantics, disabling versus deletion, organization/team guidance and personal versus assigned-card filtering.

Low confidence: composed Veps labels and contact guidance need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:11:29 +03:00
Lauri Ojansivu a99cbd079d Record Veps warning repairs and audit progress
Update dated fix hash, audit summary, TODO Later counts and Upcoming release notes. Four original findings resolved; 989 remain alongside restored and unflagged validation.

Thanks to xet7 !
2026-09-13 23:09:16 +03:00
Lauri Ojansivu 1d93c1a864 Repair Veps search and permission warnings
Replace four Finnish values and verify the literal Enter key, worker-only move/self-assignment/comment permissions, unsaved description state and irreversible loss of all swimlane actions.

Low confidence: composed Veps grammar and inflections require fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:08:57 +03:00
Lauri Ojansivu ede6176aa6 Record Veps notification repairs and remaining audit work
Update dated fix hash, audit and TODO Later counts, and Upcoming release summary. Six original findings resolved; 993 remain, alongside restored and unflagged validation.

Thanks to xet7 !
2026-09-13 23:07:29 +03:00
Lauri Ojansivu bd1b57aacb Repair Veps notification and archive help translations
Replace six Finnish values, preserve creator-or-member and board notification scope, signed-in-only support, archive location and swimlane name formatting. Verify actual locale rendering and negative scope checks.

Low confidence: composed Veps grammar and inflections need fluent-speaker review.

Thanks to xet7 !
2026-09-13 23:07:08 +03:00
Lauri Ojansivu e289c28e28 Record Veps storage repairs and remaining translation reviews 2026-09-13 23:03:00 +03:00
Lauri Ojansivu bc06fade8b Repair Veps board attachment and migration control text 2026-09-13 23:02:40 +03:00
Lauri Ojansivu c90a1569aa Record Veps organization repairs and remaining audit work 2026-09-13 23:00:31 +03:00
Lauri Ojansivu 15547544bc Repair Veps organization and team management translations 2026-09-13 23:00:09 +03:00
Lauri Ojansivu 33cf1a0448 Record Veps window repairs and remaining translation reviews 2026-09-13 22:57:48 +03:00
Lauri Ojansivu d67d506b55 Repair Veps card window template and loading instructions 2026-09-13 22:57:29 +03:00
Lauri Ojansivu 9e5024877b Record Veps voting repairs and remaining translation work 2026-09-13 22:55:30 +03:00
Lauri Ojansivu 67fb504d5d Repair Veps voting cover and custom translation controls 2026-09-13 22:55:11 +03:00
Lauri Ojansivu 5a250db062 Record Veps login repair progress and remaining reviews 2026-09-13 22:53:41 +03:00
Lauri Ojansivu b233c7fdaa Repair Veps login protection and lockout settings 2026-09-13 22:53:21 +03:00
Lauri Ojansivu 956c8f619c Record Veps account repair progress and remaining audit work 2026-09-13 22:51:39 +03:00
Lauri Ojansivu 3a4196abb9 Repair Veps account emails and notification deletion text 2026-09-13 22:51:14 +03:00
Lauri Ojansivu 17fe54a555 Record Veps rule repairs and remaining translation reviews 2026-09-13 22:49:24 +03:00
Lauri Ojansivu 320a8ae1ac Repair Veps rule trigger fragments and action labels 2026-09-13 22:49:05 +03:00
Lauri Ojansivu 49d37b087c Record Veps archive and rule translation repair progress 2026-09-13 22:46:49 +03:00
Lauri Ojansivu 627b943788 Repair Veps archive warnings and checklist rule controls 2026-09-13 22:46:23 +03:00
Lauri Ojansivu 1aea1d7f2e Record Veps selection repairs and translation audit progress 2026-09-13 22:44:27 +03:00
Lauri Ojansivu 40f27e1fd0 Repair Veps placement filters and sidebar controls 2026-09-13 22:44:03 +03:00
Lauri Ojansivu 9a8c98c826 Record Veps display repairs and remaining translation work 2026-09-13 22:42:30 +03:00
Lauri Ojansivu 99f4f8f491 Repair Veps display counts and swimlane height validation 2026-09-13 22:42:05 +03:00
Lauri Ojansivu 9e69075fd0 Document mirror progress and timestamped console logs 2026-09-13 22:41:01 +03:00
Lauri Ojansivu 5d1f23c898 Log mirror launcher output to timestamped run directories 2026-09-13 22:40:33 +03:00
Lauri Ojansivu 9e331e4098 Show immediate streaming progress during mirror synchronization 2026-09-13 22:40:10 +03:00
Lauri Ojansivu 982b26c25a Record Veps import repairs and remaining audit work
Update dated source hash and maintained totals to 14,745 corrected, 1,099 pending and 16,535 exact records, with 358 Veps findings remaining. Record mapping and shortcut semantics, passing checks and outstanding broader language validation.

Thanks to xet7 !
2026-09-13 22:35:07 +03:00
Lauri Ojansivu 08a24ea921 Repair Veps import guidance and member shortcuts
Replace 25 Finnish import, invitation, account-state, autocomplete and navigation values. Preserve ZIP attachment directories, CSV/TSV separators, existing-user mapping and the unmapped-member current-user fallback. Correct the assignee shortcut to add/remove assignment while retaining 1-9 and board-addition order. Keep conditional import-error guidance and match WeKan navigation labels while preserving Trello interface literals.

All exact correction records and actual positive/negative rendering checks pass. Composed technical UI wording has low-confidence inflection and needs fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:34:48 +03:00
Lauri Ojansivu 946d1fce7b Record Veps permission repairs and audit progress
Update the dated source commit and maintained totals to 14,723 corrected, 1,121 pending and 16,510 exact records, with 380 Veps findings remaining. Record passive-form refinements, permission fidelity and passing rendering checks; retain broader language validation work.

Thanks to xet7 !
2026-09-13 22:30:37 +03:00
Lauri Ojansivu 834beb172b Repair Veps member permissions and defined participles
Repair/refine 43 role, member, assignee, selection and related UI values: 26 new records and 17 refinements. Preserve read/comment/normal permissions and assigned-only current-user visibility, board/card scopes, add versus assign, all-card removal plus notification and numeric selection ranges. Replace every malformed märitadud occurrence with the reference-confirmed märitud while retaining original before records.

All correction records and actual positive/negative placeholder rendering checks pass. Composed role and UI phrasing has low confidence and needs fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:30:11 +03:00
Lauri Ojansivu cc8db880a4 Record Veps list and checklist repair progress
Update the dated source hash and maintained summaries to 14,705 corrected, 1,139 pending and 16,484 exact records, with 398 Veps findings remaining. Document item-stem refinements and passing actual rendering checks without claiming broader language validation is finished.

Thanks to xet7 !
2026-09-13 22:27:08 +03:00
Lauri Ojansivu 3018d5c4b8 Repair Veps list controls and checklist item inflections
Repair/refine 39 list/card/custom-field/checklist/archive controls: 36 new records and three item-stem refinements preserving original before values. Keep top/bottom and current/selected-list rules distinct, retain checked/all/completed meanings and preserve archive recovery, activity history and irreversible deletion warnings. Match navigation instructions to translated menu/archive headings.

All correction records and positive/negative actual rendering checks pass. Composed kanban wording and UI inflections have low confidence and need fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:26:48 +03:00
Lauri Ojansivu 9c0b9d5e8f Record Veps filter repairs and current translation audit totals
Update the dated source hash, summary and TODO Later to 14,675 corrected, 1,169 pending and 16,448 exact records. Keep 428 Veps findings and broader restored/unflagged and fluent-speaker reviews explicit.

Thanks to xet7 !
2026-09-13 22:22:53 +03:00
Lauri Ojansivu ffd5896916 Repair Veps date filters and due-card view labels
Replace Finnish/Venda filters, countdowns, export date fields, sorting and due-card view text. Repair received-date wording that used the word for a statement and the malformed past deadline adjective. Retain correct Minä. Preserve this/next week, tomorrow, countdown arguments, five export date types and incomplete-card/board-permission conditions.

Actual locale rendering, positive/negative semantics and all correction records pass. Composed UI inflections have low confidence and need fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:22:29 +03:00
Lauri Ojansivu 613a75f41e Refresh TODO Later translation resume status
Correct the remaining Veps count and latest translation source hash. Distinguish the passing 1,015-suite Node run from the later passing date correction/rendering checks.

Thanks to xet7 !
2026-09-13 22:19:44 +03:00
Lauri Ojansivu e8ffcd4357 Update audit progress for Veps date and reminder repairs
Record the dated repair commit and passing correction/rendering checks. Update current totals to 14,670 corrected, 1,174 pending and 16,427 exact records, with 433 Veps findings remaining. Preserve the outstanding restored/unflagged and fluent-speaker reviews.

Thanks to xet7 !
2026-09-13 22:19:19 +03:00
Lauri Ojansivu 9889016d78 Repair Veps date activity and reminder translations
Replace 39 Finnish or mixed Finnish/Venda date controls, rule labels, date activities and reminders with Veps reference vocabulary. Preserve received/start/due/end distinctions, set-or-change rule semantics, old/new time values, exact placeholders and approaching/current/overdue reminder states. Test actual i18next underscore and sprintf argument rendering with negative wrong-language checks.

Composed date and reminder phrasing has low-confidence inflection and needs fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:18:58 +03:00
Lauri Ojansivu 93d1bcb234 Document Meteor 3.6 beta and Rspack 2.2 upgrade
Link the committed toolchain upgrade from Upcoming, record Docker and lockfile consistency and passing Node checks, and retain the pending full Meteor bundle verification. Update the translation audit interruption summary without changing repair counts.

Thanks to xet7 !
2026-09-13 22:16:48 +03:00
Lauri Ojansivu 35082f7d71 Upgrade Meteor to 3.6 beta and Rspack to 2.2
Commit Meteor 3.6-beta.0 release and package pins, the matching Docker Meteor metadata, @meteorjs/rspack 3.0.0-beta.1, Rspack CLI/core/dev-server 2.2 and the explicit SWC compiler. Update the npm lockfile consistently with the development dependencies and pin existing account packages.

All 1,015 Node suites and the parser compilation and version consistency regressions pass. Full Meteor bundle verification remains pending at local tool startup.

Thanks to xet7 !
2026-09-13 22:16:30 +03:00
Lauri Ojansivu 705fe8d461 Record Veps activity label repairs and remaining audit work
Update the dated translation source hash and 16,388 correction record total. Keep the 1,193 pending original findings and 452 Veps findings unchanged because this batch repaired unflagged values. Record passing targeted checks and low-confidence wording review.

Thanks to xet7 !
2026-09-13 22:14:36 +03:00
Lauri Ojansivu 6d8c63866b Repair Veps activity and notification labels
Replace Finnish activity labels with native Veps action and notification vocabulary. Preserve exact before/after records and exercise actual locale rendering with a negative Finnish regression. The composed notification label has low-confidence inflection and needs fluent-speaker review.

Thanks to xet7 !
2026-09-13 22:14:18 +03:00
Lauri Ojansivu 46d6e521dd Record Meteor parser repairs and latest translation upload report
Document the parser source commit, seven runtime/build regressions and 1,015 passing Node suites. Preserve pending full Meteor bundle verification and translation repair counts. Record the latest maintainer-run upload report with 237 successes, five unsupported codes and an informational catalogue list.

Thanks to xet7 !
2026-09-13 22:13:14 +03:00
Lauri Ojansivu 6cd1938799 Use Meteor Express parsers for Rspack 2 builds
Remove the undeclared body-parser import while preserving JSON and URL-encoded parsing, the 50MB limit and simple form decoding. Exercise real HTTP requests, malformed and oversized JSON, compression and Rspack compilation. Permit the canonical Meteor prerelease in the website manifest regression while rejecting stale Docker metadata.

Thanks to xet7 !
2026-09-13 22:11:23 +03:00
Lauri Ojansivu bdea2a0ed1 Record Veps activity and grammar repair progress
Update dated Audit and Upcoming with source commit, attested added participle refinements, 14,651 corrected findings, 1,193 pending and 16,386 exact correction records. Refresh TODO Later and retain remaining translation review status.

Thanks to xet7 !
2026-09-13 22:04:07 +03:00
Lauri Ojansivu ad1ebcca99 Repair Veps checklist activity and added participles
Repair thirty-two values: twenty-three new correction records and nine refinements preserving original before values. Resolve sixteen original findings. Translate checklist/custom-field/comment activities and rule triggers, correcting all ližadud occurrences to dictionary/inflection-table and native MediaWiki ližatud. Preserve checkbox versus completion, reopening, add/remove context and field clearing versus deletion. Exact correction, underscore and sprintf argument-order regressions pass. Low confidence: composed kanban terminology and remaining UI inflections need fluent review.

Thanks to xet7 !
2026-09-13 22:03:31 +03:00
Lauri Ojansivu 4654c660d7 Record Veps custom field translation progress
Update dated Audit and Upcoming with the source commit, verified literal placeholders/entities, 14,635 corrected original findings, 1,209 pending and 16,363 exact correction records. Refresh TODO Later and retain outstanding fluent/restored-value review status.

Thanks to xet7 !
2026-09-13 22:01:04 +03:00
Lauri Ojansivu f244017394 Repair Veps custom field labels and template help
Replace twenty-three Finnish/Venda values with dictionary-backed Veps, resolving ten original findings. Preserve field types, multi-select, value/activity contexts and all-card irreversible deletion with history loss. Restore literal %{value}, preserve HTML space entities, and make generic/custom-field date labels consistent. Exact corrections, actual i18next interpolation, source tokens, entities and key order pass. Low confidence: composed custom-field/control terminology and UI inflections need fluent review.

Thanks to xet7 !
2026-09-13 22:00:43 +03:00
Lauri Ojansivu 8f2a8a3cf0 Record Veps checklist repair progress in Upcoming
Update the dated audit and source commit, Upcoming summary and TODO Later counts: 14,625 corrected findings, 1,219 pending and 16,340 exact correction records. Record passing targeted checks and remaining fluent/restored-value reviews.

Thanks to xet7 !
2026-09-13 21:58:27 +03:00
Lauri Ojansivu 9955ad8166 Repair Veps checklist controls and activity messages
Replace twenty-one Finnish, Venda and mixed values using dictionary and native MediaWiki evidence, resolving ten original findings. Preserve add/remove, check/uncheck, completion/reopening, subtask and board context, exact __checkList__ case, and (0/0) counters. Exact corrections, actual i18next interpolation, tokens and key order pass. Low confidence: composed kanban checklist/subtask terminology and UI inflection require fluent review.

Thanks to xet7 !
2026-09-13 21:58:04 +03:00
Lauri Ojansivu 534ef85aa0 Record Veps activity translation repairs in Upcoming
Update dated Audit and Upcoming with the source commit, thirty-two repairs, passing interpolation and correction regressions, 14,615 corrected findings, 1,229 pending and 16,319 correction records. Refresh TODO Later and preserve outstanding fluent/restored-value review status.

Thanks to xet7 !
2026-09-13 21:56:10 +03:00
Lauri Ojansivu 5ff1e475d7 Repair Veps card and activity notification translations
Repair thirty-two values with dictionary-backed Veps, resolving twenty-two original findings. Preserve labels, attachments, comments, membership, archiving, imports, restoration and card move contexts/source destinations. Compose the swimlane metaphor from attested ujund and šoid and repair the unsupported seeded stem in deletion messages. Verify actual i18next rendering with production underscore interpolation, aliases, exact corrections, tokens and key order. Low confidence: kanban metaphors, compounds and UI inflections require fluent review.

Thanks to xet7 !
2026-09-13 21:55:47 +03:00
Lauri Ojansivu 3026212983 Record Veps migration settings repair progress
Update the dated audit, source commit, Upcoming entry and TODO Later counts: 14,593 corrected findings, 1,251 pending and 16,287 exact correction records. Record passing targeted checks and remaining fluent/restored-value reviews.

Thanks to xet7 !
2026-09-13 21:53:21 +03:00
Lauri Ojansivu 0cef80395e Repair Veps migration limits and log translations
Replace ten Finnish settings values with Veps using dictionary and native MediaWiki evidence. Preserve attachment batch counts, CPU percentage pause threshold, millisecond delay and all numeric ranges. Add actual i18next rendering and negative wrong-language/range regression checks. All 16,287 correction records verify. Low confidence: technical batch terminology, millisecond inflection and composed UI grammar require fluent review.

Thanks to xet7 !
2026-09-13 21:53:00 +03:00
Lauri Ojansivu a297ff7fe1 Update Upcoming and audit with Veps migration repairs
Record the dated source commit, passing translation/rendering and changelog checks, 14,590 corrected findings, 1,254 pending and 16,277 exact correction records. Refresh stale TODO Later counts and identify the remaining Veps and Standard Moroccan Tamazight queues. Fluent and restored-value reviews remain outstanding.

Thanks to xet7 !
2026-09-13 21:51:41 +03:00
Lauri Ojansivu de29190132 Repair Veps migration controls and status translations
Replace fifteen Finnish values using Veps dictionary and native MediaWiki evidence. Preserve all-migration scope, pause versus stop, start versus resume, completion and failure outcomes. Use the existing migracii technical term rather than physical file transfer. Low confidence: loan inflection and composed UI grammar need fluent review. Exact corrections, actual i18next rendering, placeholders, JSON examples and key order pass regression checks.

Thanks to xet7 !
2026-09-13 21:51:02 +03:00
Lauri Ojansivu be43151017 Record Veps S3 translation repair progress
Update the dated audit, source commit and Upcoming summary: 14,583 corrected original findings, 1,261 pending and 16,262 exact correction records. Record remaining fluent-review work and passing regression checks.

Thanks to xet7 !
2026-09-13 21:49:35 +03:00
Lauri Ojansivu 113208d773 Repair Veps S3 credential and connection translations
Replace eleven Finnish values with dictionary-backed Veps. Distinguish access keys from secret keys, successful and failed connections, object-storage bucket names and MongoDB GridFS storage. Preserve endpoint URL examples. Low confidence: composed authentication terminology, technical loans and inflection need fluent review. Exact corrections and actual i18next rendering regressions pass, alongside source token and key-order checks.

Thanks to xet7 !
2026-09-13 21:49:10 +03:00
Lauri Ojansivu c03f2c687e Record resumed Veps network translation repairs and audit progress
Thanks to xet7.
2026-09-13 21:45:56 +03:00
Lauri Ojansivu 5cf370063b Repair Veps SMTP and S3 network settings translations
Replace 18 Finnish labels and descriptions, resolving seven original findings. Preserve protocol identifiers, secret credentials, literal region codes and storage distinctions; repair STMP to SMTP. Use reviewed dictionary and native MediaWiki terminology. Network loan words and composed authentication/UI grammar remain low confidence for fluent review. Exact token, key-order, ledger and actual i18next rendering regressions pass.

Thanks to xet7.
2026-09-13 21:45:34 +03:00
Lauri Ojansivu c396860b7b Record organization mirror changes and verification in Upcoming
Link the implementation commit from Upcoming and record organization namespaces, static comment archives, enabled wiki/project handling and shared rate-limit behavior. Keep translation repair counts unchanged and record the mirror interruption outcome and remaining WebKit environment limitation.

Thanks to xet7.
2026-09-13 21:43:51 +03:00
Lauri Ojansivu 02383540a5 Mirror configured organizations with linked files and offline indexes
Add organization management and per-destination namespaces to the shared Unix and Windows mirror menu. Discover all accessible repositories, create missing mirrors, retain PR conversations when issues are disabled, and copy enabled wiki history and portable Projects V2 data.

Archive linked media, files and webpage HTML per comment under host/organization/repository directories. Preserve old versions, generate static HTML and CSV catalogues, and support offline rebuilding from CSV. Attach archived files to corresponding destination comments where supported.

Honor GitHub and destination rate-limit headers, persistent cooldowns and bounded retries. Public GitHub REST reads fall back without a token. Add offline regressions and a static browser test; 1,014 Node suites pass, with final targeted checks passing. Chromium and Firefox static checks pass; local WebKit requires unavailable ICU 74.

Thanks to xet7.
2026-09-13 21:43:19 +03:00
Lauri Ojansivu 1e3552a1f8 Record Veps attachment repairs and current translation audit counts
Record the dated local source commit, twenty repairs and tested destination/deletion distinctions in the short audit summary and upcoming changelog. Update TODO Later to 14,574 corrected original findings, 1,270 pending and 16,233 correction records. Keep low-confidence language and restored-value reviews outstanding. Correction, audit-progress and changelog regressions pass.

Thanks to xet7 !
2026-09-13 21:02:05 +03:00
Lauri Ojansivu dbf214bda2 Repair Veps attachment storage, migration and permanent deletion messages
Replace twenty Finnish values with Veps backed by the Russian–Veps dictionary and native MediaWiki terminology. Preserve filesystem, MongoDB GridFS and S3 destinations, single-versus-all attachment scope, AWS/MinIO identifiers, save success/failure and permanent deletion with no undo. Use native Sirdä for moving files, distinct from navigation Sirte. Exact correction, placeholder, key-order and actual i18next rendering regressions pass. Low confidence: composed filesystem terminology, base-path compound päte, attachment participle and technical UI grammar need fluent review.

Thanks to xet7 !
2026-09-13 21:01:40 +03:00
Lauri Ojansivu 1e82c54ee6 Record resumed Veps list repairs and current translation audit progress
Record the dated source commit and verified list-control repairs in the short translation audit and upcoming changelog. Update TODO Later to 14,555 corrected original findings, 1,289 pending and 16,213 exact correction records. Preserve the outstanding restored-value and fluent-language review scope. Correction, progress and changelog format regressions pass.

Thanks to xet7 !
2026-09-13 20:59:38 +03:00
Lauri Ojansivu 198f7a0f56 Repair Veps list position, sorting and duplicate cleanup controls
Replace twelve Finnish list-control values with Veps vocabulary checked against the Russian–Veps dictionary and native MediaWiki translations. Preserve selected-list left/right positions and distinguish empty-only duplicate cleanup from all duplicate cleanup. Exact correction, placeholder, key-order and actual i18next rendering regressions pass. Low confidence: composed UI grammar and the derived plural genitive lugetišiden need fluent review.

Thanks to xet7 !
2026-09-13 20:59:08 +03:00
Lauri Ojansivu 22ce54de6d Use descriptive links for mirror follow-up changes in the changelog
Keep commit hashes in link targets and show readable attachment and retry descriptions in the upcoming release. Changelog format regressions pass.

Thanks to xet7 !
2026-09-13 20:56:53 +03:00
Lauri Ojansivu 1717fe13d3 Record mirror menu changes and passing Node verification
Document the six-action saved mirror menu, selectable sources, native attachment links and archive retry behavior in the upcoming changelog. Record 1,011 passing Node suites and keep the translation audit summary current at 14,545 corrected findings, 1,299 pending findings and 16,201 correction records. Translation repairs are ready to continue after the mirror work.

Thanks to xet7 !
2026-09-13 20:56:44 +03:00
Lauri Ojansivu 63f41589d8 Continue mirror destinations after reporting local archive failures
Preserve the existing launcher retry behavior: failed source inventory stops synchronization, but a local archive failure records an overall failure and still attempts supported data on every selected destination. Extend the injected-command regression to verify all targets run without live remote writes.

Thanks to xet7 !
2026-09-13 20:56:19 +03:00
Lauri Ojansivu 083a28c4f3 Preserve native attachment links when selecting a different mirror source
Resolve relative GitLab, Codeberg and SourceForge attachment paths against the original forge in destination text and persistent archive discovery. Recognize current GitLab project upload URLs, preserve original JSON metadata and exclude arbitrary websites from downloads. Offline link and archive regressions pass.

Thanks to xet7 !
2026-09-13 20:55:44 +03:00
Lauri Ojansivu 675ca5d954 Add saved mirror menu, configurable sources and read-only checks
Default to GitHub as source and GitLab, Codeberg and SourceForge as mirrors. Share the six-action menu across Unix and Windows, save source and active destinations in .tools/mirror/settings.txt, and delegate synchronization to individual forge launchers. Support native source inventories and GitHub destinations, preserve original provenance and isolate source archives. Compare Git ancestry and inventory missing metadata without remote writes in check mode. Verify menu interaction, adapters, retries, settings validation and archive isolation with offline fixtures.

Thanks to xet7 !
2026-09-13 20:54:13 +03:00
Lauri Ojansivu b575e7f4e9 Record Veps activity repair progress before mirror menu work
Update dated translation source commit and verified correction counts; preserve outstanding low-confidence and restored-value validation.

Thanks to xet7 !
2026-09-13 20:39:53 +03:00
Lauri Ojansivu ba375ac7d6 Repair Veps activity messages and list, label and attachment terminology
Replace 27 Finnish activity and core labels using native Veps dictionary vocabulary. Preserve placeholder order and source/destination roles and verify real i18next sprintf rendering. Low confidence: composed kanban grammar, derived participles and list plural need fluent review.

Thanks to xet7 !
2026-09-13 20:39:14 +03:00
Lauri Ojansivu f1a05859f6 Record checked Veps calendar vocabulary and audit progress
Document dated local calendar fix commits, native dictionary sources and verified page references. Refresh totals to 14533 corrected original findings, 1311 pending and 16174 exact repairs. Explicitly retain low-confidence technical composition and Coptic-name review, restored translation validation and browser work.

Thanks to xet7 !
2026-09-13 20:35:45 +03:00
Lauri Ojansivu b7eca83d98 Use attested Veps time-reckoning and lunar terms in calendar labels
Refine the new Hijri labels from the complete dictionary: describe the epoch as aiganlugun augotiž, the origin of time reckoning, and use the genitive of kudmaine for moon observation. Correct the vocabulary provenance in the existing four repair records. Preserve distinct civil and astronomical variants and mark composed technical wording for fluent review.

Thanks to xet7 !
2026-09-13 20:34:50 +03:00
Lauri Ojansivu c6204ffd4f Translate remaining Veps Coptic and Hijri calendar labels
Replace English labels with Veps, retaining tabular civil and astronomical epoch distinctions and Saudi lunar observation. Use native vocabulary from the 2007 Zaiceva/Mullonen Russian-Veps dictionary and the Veps Saudi Arabia article. Record four exact repairs and add positive terminology and negative English/variant-collision regressions.

Low confidence: composed technical labels, the epoch-origin phrasing and adapted Coptic proper name need fluent Veps review.

Thanks to xet7 !
2026-09-13 20:33:50 +03:00
Lauri Ojansivu c155dc0392 Update translation audit after Veps account-message repairs
Record the 2026-09-13 source commit, native vocabulary evidence and low-confidence composed wording. Refresh original finding counts to 14529 corrected and 1315 pending, with 16170 exact corrections. Distinguish the latest targeted checks from the preceding full Node run.

Thanks to xet7 !
2026-09-13 20:29:20 +03:00
Lauri Ojansivu 6d071f6cb8 Repair Veps username minimum and SMTP test action
Replace Finnish username-length and self-addressed test-email strings using attested native Veps vocabulary. Preserve the inclusive minimum of three characters and the personal recipient. Also replace the Finnish text noun with native Veps Tekst. Record exact corrections and add vocabulary and minimum-boundary regressions.

Low confidence: composed username warning and test-email compound need fluent Veps review. Vocabulary source: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/vep.json

Thanks to xet7 !
2026-09-13 20:28:44 +03:00
Lauri Ojansivu 2192a8be8f Record mirror archiving and translation repair verification
Document per-target mirror synchronization, persistent issue/pull/release file retention and the Veps export-title repair with source commit references. Refresh the translation correction count and latest local fix. Record 1010 passing Node suites and preserve the outstanding Chromium board-export and language review work.

Thanks to xet7 !
2026-09-13 20:26:34 +03:00
Lauri Ojansivu e2338530cb Archive mirror issue, pull request and release files without deletion
Keep complete source files under .tools/mirror/issues/<number>, pulls/<number> and releases/<version>. Persist metadata, comments, reviews, patches, GitHub-hosted attachments, binaries and source archives. Rename removed or changed versions with old-YYYY-MM-DD_HH-MM-SS prefixes; preserve existing copies on download failures and retry on later runs.

Archive once before per-target synchronization, reuse verified release files and guard concurrent archive writers. Preserve destination main commits through the existing merge fallback without force or ref deletion. Exclude disabled GitHub Discussions, projects and wiki. Document the design and verify retention, retries, API pagination and launcher behavior with offline fixtures.

Thanks to xet7 !
2026-09-13 20:25:17 +03:00
Lauri Ojansivu a574de0e1a Repair the Veps chart export popup title
Replace an unflagged Zulu-seeded title with native Veps Ve, matching the repaired export command and MediaWiki export terminology. Record the exact correction and extend the chart-title regression. This resolves the remaining failure found by the full Node suite run.
2026-09-13 20:05:29 +03:00
Lauri Ojansivu b1983adbb6 Synchronize missing GitHub data to active WeKan mirrors
Repair Tools menu dispatch and run separate GitLab, Codeberg and SourceForge launchers through a shared engine on Unix and Windows. Read one paginated GitHub snapshot for all mirrors, match issue/comment provenance and release tags, and retry missing conversations and binary assets after partial runs. Preserve destination text and copy Git branches/tags without force or deletions. SourceForge uses Tracker tickets and SFTP release files; projects and wiki are excluded. Add offline API, retry, pagination, multipart upload and launcher regressions plus setup/scope documentation.
2026-09-13 20:05:29 +03:00
Lauri Ojansivu afa0b550c5 Update audit progress for Veps account email repairs 2026-09-13 19:44:38 +03:00
Lauri Ojansivu 88220b7a04 Repair foreign Veps account and SMTP email messages
Replace Finnish/Venda account creation, password reset, address verification, email invitation action and SMTP success text. Preserve site tokens and the addressed user. Native software/dictionary vocabulary checked; low confidence: composed subject and success grammar requires fluent review. Invitation subject noun remains under investigation.

Thanks to xet7 !
2026-09-13 19:44:25 +03:00
Lauri Ojansivu 78b73f781d Record Veps avatar translation fixes and remaining reviews 2026-09-13 19:43:00 +03:00
Lauri Ojansivu 96b75531ab Repair Finnish Veps avatar controls and size warnings
Compose native user-image wording for avatar change/delete/upload states, allowed types and maximum sizes. Preserve the size placeholder, byte unit and deletion confirmation. Low confidence: composed avatar phrasing and byte-unit inflection require fluent review.

Thanks to xet7 !
2026-09-13 19:42:45 +03:00
Lauri Ojansivu d215230737 Record cross-platform mirror tooling and SourceForge changes 2026-09-13 19:41:41 +03:00
Lauri Ojansivu e8be344041 Install complete tooling for active mirrors across platforms
Install Git, SSH/SCP/SFTP, curl, jq, Node and Go prerequisites with native Debian/Ubuntu, Fedora, Brew and Windows package mappings. Use native Go builds for missing forge CLIs, verified current Go archive bootstrap for older Unix toolchains, repository-local binaries and refreshed PATH. Report remaining missing tools and failure status without stopping later attempts. Add SourceForge to the Windows mirror targets. Offline Unix, PowerShell, architecture, checksum and menu regressions pass; no remote mirroring, uploads or publishing ran.

Thanks to xet7 !
2026-09-13 19:41:25 +03:00
Lauri Ojansivu 963539e955 Update translation audit for Veps email and status repairs 2026-09-13 19:33:55 +03:00
Lauri Ojansivu 812c2437a2 Repair Finnish Veps email and active status controls
Use native Veps software vocabulary for email addresses, send/sent/error states and active/inactive filters. Restore the plural address label, retain SMTP and preserve opposing states. Low confidence: composed SMTP test subject needs fluent review.

Thanks to xet7 !
2026-09-13 19:33:41 +03:00
Lauri Ojansivu a3588fa706 Document Forge and Tea installer fixes in upcoming changelog 2026-09-13 19:32:44 +03:00
Lauri Ojansivu 23eda3ea3a Fix Forge CLI installation and use maintained Tea module
Install Forge from cmd/forge instead of its library root and Tea from gitea.dev/tea instead of the obsolete code.gitea.io module. Apply paths on Unix and Windows. Report Unix Tea/Forge Go failures with nonzero status while continuing later tools. Offline regression covers Fedora detection, skips, paths and failure continuation; no packages or remote writes ran.

Thanks to xet7 !
2026-09-13 19:32:33 +03:00
Lauri Ojansivu baa958b871 Record Veps upload translation repairs and confidence limits 2026-09-13 19:30:54 +03:00
Lauri Ojansivu 22e513df92 Repair Finnish Veps upload and email status labels
Use native software vocabulary for ongoing uploads, failure, completion and upload limits. Preserve bytes and allowed file types. Low confidence: composed type and byte-unit inflections need fluent review.

Thanks to xet7 !
2026-09-13 19:30:41 +03:00
Lauri Ojansivu 53eb604ae9 Record Veps permission translation repairs and remaining reviews 2026-09-13 19:29:50 +03:00
Lauri Ojansivu e6b39cc685 Repair Veps rename permissions and filter controls
Replace seven Finnish labels using native software terminology and dictionary forms. Preserve Username Change source meaning, permission actions and clearing all filters. Low confidence: composed permission and no-errors grammar needs fluent review.

Thanks to xet7 !
2026-09-13 19:29:38 +03:00
Lauri Ojansivu fd5cfc4294 Update audit progress for Veps action translation repairs 2026-09-13 19:28:29 +03:00
Lauri Ojansivu 22c70a8537 Repair foreign Veps change, close and import/export actions
Use attested native Veps software commands, including rename. Preserve distinct import/export and close/delete actions with vocabulary and rejected seed regression coverage.

Thanks to xet7 !
2026-09-13 19:28:16 +03:00
Lauri Ojansivu e14d1dbbf8 Record Transifex missing-language retry verification 2026-09-13 19:27:19 +03:00
Lauri Ojansivu ad294f7073 Verify retries when Transifex adds missing language support
Exercise all five unsupported language codes across failed registration, newly supported registration with full uploads, and subsequent uploads without duplicate additions. Document fresh project discovery, no persisted failure skip list, and mapping changes when catalogue codes differ.

Thanks to xet7 !
2026-09-13 19:27:09 +03:00
Lauri Ojansivu 05d8e5e383 Record Veps navigation translation repairs and verification 2026-09-13 19:26:42 +03:00
Lauri Ojansivu a14b0ffc47 Repair Finnish labels in Veps navigation and errors
Use native MediaWiki Veps labels for Back, Done, Error, Version and Create. Verify the distinct plural errors label against Veps dictionary declension. Preserve placeholders and existing correct labels.

Thanks to xet7 !
2026-09-13 19:26:22 +03:00
Lauri Ojansivu d50cd10de6 Record dated Veps interval translation repairs and confidence limits 2026-09-13 19:22:34 +03:00
Lauri Ojansivu 47150ef05c Replace Finnish Veps recurring interval labels with reviewed vocabulary 2026-09-13 19:22:21 +03:00
Lauri Ojansivu d35221afee Record dated Veps time unit translation repairs 2026-09-13 19:21:19 +03:00
Lauri Ojansivu c938208a87 Repair Veps time units and lockout duration label 2026-09-13 19:20:58 +03:00
Lauri Ojansivu 76e09f2d25 Record dated Veps notification translation repairs 2026-09-13 19:19:48 +03:00
Lauri Ojansivu 45045afae2 Repair Veps notification deletion and description labels 2026-09-13 19:19:33 +03:00
Lauri Ojansivu 7c1270f755 Record dated Veps navigation and file translation repairs 2026-09-13 19:18:36 +03:00
Lauri Ojansivu 5f011f2197 Repair Veps navigation and file control labels 2026-09-13 19:18:21 +03:00
Lauri Ojansivu 0cdd509553 Record dated Veps authentication vocabulary repairs 2026-09-13 19:17:38 +03:00
Lauri Ojansivu ab9562badb Repair Veps authentication email and confirmation labels 2026-09-13 19:17:25 +03:00
Lauri Ojansivu f03b76e4df Record dated Veps unlock prompt translation repairs 2026-09-13 19:16:40 +03:00
Lauri Ojansivu 03773df046 Repair Veps unlock confirmation prompts and unlock all action 2026-09-13 19:16:24 +03:00
Lauri Ojansivu d13a092327 Record dated Veps lockout translation repairs and pending reviews 2026-09-13 19:15:41 +03:00
Lauri Ojansivu 90b6e57bb6 Repair Veps known unknown and locked user messages 2026-09-13 19:15:01 +03:00
Lauri Ojansivu c1da9053ef Record dated Veps account translation repairs and review limits 2026-09-13 19:13:49 +03:00
Lauri Ojansivu 1ca7941c2d Repair Veps password forms and account messages 2026-09-13 19:13:33 +03:00
Lauri Ojansivu 242a47df89 Record dated Veps core vocabulary repairs and audit progress 2026-09-13 19:12:40 +03:00
Lauri Ojansivu 29ee41f458 Repair Veps settings password and core action labels 2026-09-13 19:12:27 +03:00
Lauri Ojansivu ae988365a1 Record dated Veps year warning repair and confidence limits 2026-09-13 19:11:04 +03:00
Lauri Ojansivu 247ae2a9a2 Replace Zulu Veps year warning with low confidence native composition 2026-09-13 19:10:51 +03:00
Lauri Ojansivu d60d874ae1 Record dated Veps date repairs and inspected Transifex upload report 2026-09-13 19:09:48 +03:00
Lauri Ojansivu 8b01dc1360 Repair Veps date format labels and invalid time warning 2026-09-13 19:09:27 +03:00
Lauri Ojansivu b883049244 Record dated Veps national calendar translation repairs 2026-09-13 19:08:28 +03:00
Lauri Ojansivu aca7cfe2c5 Repair Veps Indian national and Minguo calendar labels 2026-09-13 19:08:11 +03:00
Lauri Ojansivu 7a160a4245 Record dated Veps Buddhist and Hijri translation progress 2026-09-13 19:07:26 +03:00
Lauri Ojansivu d26e32c147 Repair Veps Buddhist and named Hijri calendar labels 2026-09-13 19:07:12 +03:00
Lauri Ojansivu 015a7c2e50 Record dated Veps Hebrew and Amete Alem repairs 2026-09-13 19:06:26 +03:00
Lauri Ojansivu c522b5653d Repair Veps Hebrew and Amete Alem calendar labels 2026-09-13 19:06:12 +03:00
Lauri Ojansivu 4cb4756c63 Record dated Veps command repairs and ongoing translation audit 2026-09-13 19:05:12 +03:00
Lauri Ojansivu 0f3be94581 Repair Veps search and edit commands 2026-09-13 19:05:00 +03:00
Lauri Ojansivu 82b533a849 Record dated Veps calendar translation repairs and remaining audit work 2026-09-13 19:03:37 +03:00
Lauri Ojansivu 94b5e33efe Repair Veps Ethiopic and Dangi calendar labels 2026-09-13 19:03:22 +03:00
Lauri Ojansivu f6fc0024df Record dated Veps repairs and partial Transifex rerun status 2026-09-13 19:02:11 +03:00
Lauri Ojansivu d75133d578 Repair Veps color year and calendar event name labels 2026-09-13 19:01:51 +03:00
Lauri Ojansivu bea22eec49 Record successful Guarani upload and continuing Manx catalogue failure 2026-09-13 19:00:34 +03:00
Lauri Ojansivu e2366efd66 Record dated Tamazight calendar name repair progress 2026-09-13 18:57:07 +03:00
Lauri Ojansivu 70714dce45 Repair Tamazight Islamic Chinese and Japanese calendar names
Use attested native calendar and country vocabulary instead of English seeds. Exact Islamic name follows Unicode CLDR; composed Chinese and Japanese names need fluent review. Positive and distinct-calendar regressions pass with full correction ledger.
2026-09-13 18:56:53 +03:00
Lauri Ojansivu 396f11d653 Record dated Tamazight date vocabulary repairs 2026-09-13 18:55:59 +03:00
Lauri Ojansivu 0f53712473 Repair Arabic and French Tamazight date interface labels
Use Unicode CLDR native Tifinagh vocabulary for Calendar, Time, Today, Day, Week and Month. Preserve existing correct calendar values and verify exact vocabulary and script in the full correction ledger.
2026-09-13 18:55:46 +03:00
Lauri Ojansivu 4ebdc4196f Record dated Tamazight core label repairs and broader review scope 2026-09-13 18:55:02 +03:00
Lauri Ojansivu 56c02baca5 Replace Arabic Tamazight title and language labels with native Tifinagh
Use IRCAM-attested Standard Moroccan Tamazight labels for Title and Language. Preserve correct-language translations elsewhere and add positive vocabulary and negative Arabic-script checks.
2026-09-13 18:54:49 +03:00
Lauri Ojansivu 41bc69317d Record dated Veps diagnostic repairs and pending audit work 2026-09-13 18:53:54 +03:00
Lauri Ojansivu 389dc28e5a Repair Veps user and board not-found diagnostics
Replace Finnish seeded diagnostics with attested Veps user, name, board and passive find vocabulary. Preserve quoted format placeholders. Composed technical wording needs fluent review; exact correction and positive/negative vocabulary tests pass.
2026-09-13 18:53:39 +03:00
Lauri Ojansivu 3af563612e Update dated Veps organization repair progress 2026-09-13 18:53:03 +03:00
Lauri Ojansivu 42f9317348 Repair Finnish organization labels in Veps
Use dictionary-attested organization noun sebr, plural sebrad, genitive plural sebroiden and passive löutud. Preserve diagnostic placeholders and record exact corrections. Composed diagnostic wording needs fluent review; vocabulary and token regression checks pass.
2026-09-13 18:52:51 +03:00
Lauri Ojansivu d2ab907c53 Record dated Sakha and Veps calendar repair progress 2026-09-13 18:51:47 +03:00
Lauri Ojansivu 70bf60d308 Repair Sakha and Veps Persian and Coptic calendar labels
Use attested native Persian and Coptic names with existing calendar vocabulary, retaining Jalali as a proper name. Composed calendar names need fluent review. Positive and negative vocabulary checks pass with exact correction provenance.
2026-09-13 18:51:33 +03:00
Lauri Ojansivu 72e98efe55 Record dated Kashmiri calendar correction and remaining findings 2026-09-13 18:50:25 +03:00
Lauri Ojansivu 48e6eef90a Use attested Kashmiri civil calendar display name
Replace English Islamic civil with the localized Unicode CLDR Kashmiri name. Check exact native vocabulary and that the civil variant remains distinct from the general Hijri calendar. Other two Kashmiri Hijri findings remain pending.
2026-09-13 18:50:13 +03:00
Lauri Ojansivu b0086a7d80 Record Tibetan calendar repair date and remaining audit work 2026-09-13 18:49:28 +03:00
Lauri Ojansivu 3d8f207336 Repair Tibetan calendar names and distinguish Hijri variants
Replace English and Italian calendar seeds with Tibetan labels, preserving Jalali, Hijri and ISO identifiers. Distinguish tabular epochs and lunar sighting with dictionary-supported vocabulary. Technical compositions and transliterations have low confidence and need fluent review. Correction tests pass; Member Settings UI coverage is added and syntax-checked, browser execution pending.
2026-09-13 18:48:52 +03:00
Lauri Ojansivu 711dbe5143 Record upload support reporting and maintainer supplied run outcome 2026-09-13 18:47:35 +03:00
Lauri Ojansivu 637dbebd66 Report translation upload outcomes and Transifex language support
List successful uploads, failures with reasons, supported retry targets, unsupported local codes and additional catalogue targets requiring local translations. Inspect paginated catalogue read-only, distinguish unavailable support checks, and document requests for new global languages. Verify all reporting offline.
2026-09-13 18:47:22 +03:00
Lauri Ojansivu 5e5e562822 Record dated Veps label repairs and remaining audit counts 2026-09-13 18:45:40 +03:00
Lauri Ojansivu a98ae04742 Replace Finnish Veps alphabetical title sorting label
Use attested native words Nimi and kirjamišt. Compact parenthetical sorting wording has low confidence and needs fluent review. Add exact correction and vocabulary checks.
2026-09-13 18:45:13 +03:00
Lauri Ojansivu d656d86c06 Repair Veps field labels and board action imperative
Use native Kelʹ, Lugu and Nimi instead of Finnish seed labels. Correct Painda to the dictionary imperative Paina in existing default-board instructions. Preserve exact correction provenance and add vocabulary regression checks.
2026-09-13 18:44:29 +03:00
Lauri Ojansivu e2ef0449a0 Update dated translation repair progress and Chinese upload notes 2026-09-13 18:43:45 +03:00
Lauri Ojansivu b9f5fbb928 Repair Finnish seed text in Veps time and basic interface labels
Use dictionary-attested Aig, Uzʹ and Tämbei for Time, New and Today. Preserve source keys and record exact corrections with positive and negative vocabulary checks.
2026-09-13 18:43:30 +03:00
Lauri Ojansivu c2a9168c46 Use supported hyphenated Chinese script code for Transifex
Map zh-Hans to zh-Hans rather than invalid zh_Hans. Verify mapping and loader round trips offline and document unsupported Wolaytta registration.
2026-09-13 18:43:13 +03:00
Lauri Ojansivu 71794dabc4 Record translation status logging and completed test run results 2026-09-13 18:41:59 +03:00
Lauri Ojansivu 196c0addcf Save translation upload terminal status to timestamped logs
Mirror stdout and stderr to local-time status logs, including dry runs and failures, while preserving exit status. Document unsupported Tigre registration and verify logging offline.
2026-09-13 18:41:45 +03:00
Lauri Ojansivu f8c55e91b2 Record browser startup verification and remaining Uzbek Arabic review
Document 37ae64fa8, passing actual startup tests and pending browser execution. Keep the newly observed Uzbek Arabic script issue in the audit. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:37:56 +03:00
Lauri Ojansivu 37ae64fa8c Complete Cantonese Wu and Macau browser language fallbacks
Resolve yue and wuu to their existing registered variants, and zh-MO to Traditional Chinese. Exercise actual startup autoruns, delayed profile preference, browser languagechange and absence of profile writes. Browser-language checks pass. Arabic Uzbek vocabulary/script remains a separate translation review.

Thanks to xet7 !
2026-09-13 18:37:41 +03:00
Lauri Ojansivu 57651f1281 Record Russian upload mapping repair in dated audit and Upcoming
Document e6aed7a8c, passing offline checks and unsupported Aromanian catalogue status. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:36:47 +03:00
Lauri Ojansivu e6aed7a8cd Fix Russian Russia Transifex upload mapping
Map ru-RU to supported ru_RU and report its file alias instead of uploading twice. Keep unsupported Aromanian failures visible rather than mapping to Romanian. Offline upload and loader tests pass; no uploads were run.

Thanks to xet7 !
2026-09-13 18:36:34 +03:00
Lauri Ojansivu 8a666b646b Document browser locale fallback and correct browser test fixture identity
Record 1666a2012 and 0c0adb48b, saved preference precedence and pending UI execution. Use the existing fixture user.id in browser coverage. Locale, audit-progress, changelog-format and browser syntax checks pass.

Thanks to xet7 !
2026-09-13 18:36:08 +03:00
Lauri Ojansivu 1666a2012b Resolve ordered browser languages when no profile language is saved
Match all browser preferences using existing locale identifiers and explicit standard-to-legacy aliases, including Veps, Venetian, Latin American Spanish and Uzbek scripts. Prefer supported saved profile choices and fall back to English. Respond to browser languagechange without writing a profile choice. Checks cover all 245 locales and alias/error cases. Browser regression added and syntax-checked; execution pending.

Thanks to xet7 !
2026-09-13 18:35:42 +03:00
Lauri Ojansivu 0c0adb48b9 Fix Portuguese Portugal upload code and document local alias boundaries
Map pt-PT to pt_PT and upload the shared target once. Verify that canonical alias targets are registered and loaded while retaining local variant wording. Offline upload and language-loader checks pass; no uploads were run.

Thanks to xet7 !
2026-09-13 18:35:42 +03:00
Lauri Ojansivu 38e7cf81a4 Record dated Acehnese credential repairs and uncertain vocabulary reviews
Document c6e76522d and 16,007 exact correction records, preserving unresolved language reviews. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:33:56 +03:00
Lauri Ojansivu c6e76522d1 Repair Acehnese service-account wording in GCS credentials controls
Replace Indonesian layanan with attested Acehnese peulayanan in the remaining flagged label and two related instructions. Preserve literal Google Cloud menu labels and JSON. Composed technical wording is low confidence; wider mixed-language review remains. Positive and negative correction checks pass.

Thanks to xet7 !
2026-09-13 18:33:44 +03:00
Lauri Ojansivu b1a4cd5059 Document language popup flags upload repairs and dated audit progress
Record 8549b6c4c, cb6830505 and d5363a26b, passing local checks and pending browser verification. Preserve remaining translation findings. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:32:17 +03:00
Lauri Ojansivu 8549b6c4c6 Show country and language flags for every regional popup locale
Verify all 245 registered popup locales and every translation file. Resolve regional flags from base languages with explicit legacy and script exceptions; preserve country-before-language order in RTL interfaces. Unit wiring and actual-helper checks pass. Add and syntax-check browser coverage; browser execution remains pending.

Thanks to xet7 !
2026-09-13 18:31:56 +03:00
Lauri Ojansivu cb68305053 Fix French Khmer and Guarani Transifex language identifiers
Use supported fr_BE, fr_CA, km_KH and gug_PY codes. Collapse the Khmer file alias to one target. Keep unsupported Manx and Ladin failures visible; Ladino is a different language. Offline upload regressions pass; no uploads were run.

Thanks to xet7 !
2026-09-13 18:31:49 +03:00
Lauri Ojansivu d5363a26bf Repair Veps board and username controls and unlock instruction
Replace three unflagged Finnish labels and one flagged account instruction with dictionary-based Veps. Preserve valid shared Nimi. Composed username and purpose-clause wording is low confidence; correction regression checks pass.

Thanks to xet7 !
2026-09-13 18:29:51 +03:00
Lauri Ojansivu 13ed1e3ea9 Record completed Colombian Spanish alias review in translation audit
Document 6db460891, preserve valid alternatives and update the correction inventory to 16,000 records. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:28:58 +03:00
Lauri Ojansivu 6db4608913 Repair Colombian Spanish calendar and duration labels after alias review
Restore Gregorian and ISO week detail in both calendar labels and use Tiempo for the alias time-spent board view. Preserve seven valid Spanish wording alternatives. Translation correction regressions pass.

Thanks to xet7 !
2026-09-13 18:28:46 +03:00
Lauri Ojansivu 1debaff9e8 Document Colombian Spanish upload fix and remaining alias review
Record 27a566a0d under Upcoming and in the dated translation audit. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:27:58 +03:00
Lauri Ojansivu 27a566a0d5 Fix Colombian Spanish Transifex mapping and duplicate target uploads
Map es-CO to supported es_CO and prefer explicit local mappings when a legacy alias shares the remote code. Report skipped aliases rather than overwriting one target twice. Offline force-upload tests pass; no remote upload was run. Nine local alias differences still need reconciliation.

Thanks to xet7 !
2026-09-13 18:27:46 +03:00
Lauri Ojansivu 46a8b785f8 Update dated translation audit after Veps calendar label repairs
Record 462f3bb78, 14,472 corrected findings, 1,372 pending and 15,997 exact repair records. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:26:28 +03:00
Lauri Ojansivu 462f3bb780 Translate Chinese and Japanese calendar labels into Veps
Use dictionary-attested country genitives Kitain and Japonijan with the published Veps calendar noun. Positive and negative language regressions pass; composed terminology remains subject to fluent-speaker review.

Thanks to xet7 !
2026-09-13 18:26:17 +03:00
Lauri Ojansivu 893daece12 Record dated Veps error and week translation repairs
Document 4a06f2abd and the current audit totals, retaining outstanding language review. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:25:10 +03:00
Lauri Ojansivu 4a06f2abdf Repair Veps existence errors and week display text
Replace four Finnish-seeded findings with dictionary-based Veps text. Preserve the distinction between missing and uncreated users and retain ISO 8601. Composed technical wording is low confidence; fluent-speaker review remains necessary. Translation correction regressions pass.

Thanks to xet7 !
2026-09-13 18:25:01 +03:00
Lauri Ojansivu f079c5022a Update dated translation audit after Veps lockout repairs
Record 643cabc3c, low-confidence language review and current totals: 14,466 corrected original findings, 1,378 pending and 15,991 exact correction records. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:24:03 +03:00
Lauri Ojansivu 643cabc3c8 Repair Finnish-seeded Veps locked-user messages
Use attested Veps vocabulary for showing only locked users and confirming all users were unlocked. Preserve the distinction in positive and negative regression checks. Composed plural and technical account wording is low confidence and needs fluent-speaker review; correction suite passes.

Thanks to xet7 !
2026-09-13 18:23:53 +03:00
Lauri Ojansivu f289f65d75 Record Veps action-label repairs and dated translation audit progress
Document a5577d919 and the 15,989 exact correction records. Original Veps findings and restored translations remain outstanding. Audit-progress and changelog-format checks pass.

Thanks to xet7 !
2026-09-13 18:22:35 +03:00
Lauri Ojansivu a5577d9196 Replace Finnish Veps add labels with attested imperative and participle
Use Ližada for Add and Ližatud for Added, following the dictionary conjugation of ližata. Record exact repairs and positive/negative language regression checks. Translation correction suite passes; wider Veps findings remain under review.

Thanks to xet7 !
2026-09-13 18:22:24 +03:00
Lauri Ojansivu c7704b880a Record Veps basic color repair progress
Reference dated fix 56f8ce913 and record 15,987 correction records. Original pending findings remain 1,380; preserve specialized shade and wider language review requirements.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:18:56 +03:00
Lauri Ojansivu 56f8ce913c Repair Finnish-seeded Veps basic color labels
Replace eight unflagged Finnish color names with attested Veps vocabulary from the Veps word list. Add positive/negative vocabulary regression checks; specialized shades remain queued for semantic review.

Validation: complete correction-ledger suite passes for exact values, placeholders, JSON examples, key order and merge preservation.

Thanks to xet7 !
2026-09-13 18:18:49 +03:00
Lauri Ojansivu 439c017a25 Record Veps counted-duration validation progress
Reference dated validation commit and distinguish verified duration inflection from remaining compound-selector and broader grammar reviews.

Validation: audit-progress exact-value and summary checks pass.

Thanks to xet7 !
2026-09-13 18:18:06 +03:00
Lauri Ojansivu 10d3b35154 Validate Veps duration inflection and prevent Finnish regression
Read actual uptime composition and verify päiväd is also the Veps singular partitive, compatible with the counted-duration context. Clarify correction provenance and add positive/negative language-vocabulary assertions for repaired date units.

Validation: full correction-ledger suite passes; broader Veps grammar review remains outstanding.

Thanks to xet7 !
2026-09-13 18:18:06 +03:00
Lauri Ojansivu 393e1ad71b Record Veps calendar selector repair progress
Reference dated fix ffbf2ef72 and record 14,464 corrected findings, 1,380 pending findings and 15,979 correction records. Preserve low-confidence compound terminology and wider review requirements.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:17:23 +03:00
Lauri Ojansivu ffbf2ef727 Repair Veps calendar selector vocabulary
Replace Finnish calendar and Turkic-seeded selector text with Veps. Confirm kalendar' in actual Veps newspaper and corpus usage. Compound selector wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:17:17 +03:00
Lauri Ojansivu b4372aad93 Record initial Veps date-unit repair progress
Reference dated local fix b077128b2 and record 15,977 correction records. Original pending findings remain 1,381; preserve composed-UI inflection and wider linguistic review requirements.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:16:37 +03:00
Lauri Ojansivu b077128b27 Repair basic Veps date-unit vocabulary
Replace four unflagged Finnish-seeded date-unit values with Veps vocabulary from the Veps Wikibooks word list. Preserve singular/plural distinction. Composed-UI inflection remains a low-confidence review item.

Validation: full correction-ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:16:31 +03:00
Lauri Ojansivu e8ef8c6946 Record evidence-backed Corsican translation review
Reference dated review ad209a3cb, record 179 retained findings and 1,381 pending findings, and preserve remaining linguistic validation scope.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:15:34 +03:00
Lauri Ojansivu ad209a3cba Validate and retain Corsican reactivity terminology
Review the flagged reactivity label against actual Corsican Assembly and native Corsican usage. Reattività is attested Corsican; identical Italian spelling does not justify overwriting compatible wording. Preserve the configuration variable and record the evidence-backed retention.

Validation: audit-progress exact-value classification passes.

Thanks to xet7 !
2026-09-13 18:15:28 +03:00
Lauri Ojansivu 33fcd0e3ed Record corrected Klingon retained-value review
Reference dated fix 1c53f96ad, correct the broader German-seed review summary and record 15,973 correction records. Original pending findings remain 1,382; restored and unflagged linguistic review continues.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:14:52 +03:00
Lauri Ojansivu 1c53f96ad4 Correct mistaken Klingon Cron retention review
The retained value was German Zeitplan, not the tool name described by its review. Replace it with Cron, remove the erroneous review and record the exact correction. Add positive and negative regression assertions for the technical name.

Validation: Klingon semantic and complete correction-ledger suites pass.

Thanks to xet7 !
2026-09-13 18:14:46 +03:00
Lauri Ojansivu e9a1aa6a78 Record completion of original Venetian audit repairs
Reference dated fix 003a34cf3 and record all 429 original Venetian findings repaired, 14,463 total corrected findings, 1,382 pending findings and 15,972 correction records. Retain restored-value and low-confidence linguistic review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:13:49 +03:00
Lauri Ojansivu 003a34cf32 Repair remaining original Venetian audit findings
Replace thirty Italian/English-seeded Venetian display, SMTP, WIP and calendar labels. Preserve private-only access, irreversible vote loss, task movement direction and calendar identities. Direct wording and specialized calendar terminology remain low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass. Original Venetian queue is empty; restored and unflagged values still require review.

Thanks to xet7 !
2026-09-13 18:13:37 +03:00
Lauri Ojansivu f9f8e660f2 Record Venetian rule and shortcut repair progress
Reference dated fix 82a9ae61b and record 14,433 corrected findings, 1,412 pending findings and 15,942 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:12:47 +03:00
Lauri Ojansivu 82a9ae61b5 Repair Venetian rule and keyboard shortcut translations
Replace fifteen Italian-seeded rule and shortcut values. Preserve uncheck action, comma-separated example, maximum task limit and current-user assigned-card filter. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:12:40 +03:00
Lauri Ojansivu 9f90b8ffd1 Updated git mirror script.
Thanks to xet7 !
2026-09-13 18:12:19 +03:00
Lauri Ojansivu 807de4505c Record Venetian query validation repair progress
Reference dated fix 8a615aa40 and record 14,418 corrected findings, 1,427 pending findings and 15,927 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:12:02 +03:00
Lauri Ojansivu 8a615aa409 Repair Venetian query validation and help messages
Replace fifteen Italian-seeded validation and help values. Preserve positive-integer limit, source placeholders, login-link HTML, blank-field wildcard and image-only restriction. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:11:56 +03:00
Lauri Ojansivu efeb7662d6 Record Venetian selection repair progress
Reference dated fix 9054d1ee2 and record 14,403 corrected findings, 1,442 pending findings and 15,912 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:11:12 +03:00
Lauri Ojansivu 9054d1ee2a Repair Venetian selection and notification translations
Replace fifteen Italian-seeded values. Preserve byte units, archive entity distinctions, invitation acceptance and watched-item notification scope. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:11:01 +03:00
Lauri Ojansivu 0bd7df8f70 Record Venetian import and list repair progress
Reference dated local fix 73c8cb4b0 and record 14,388 corrected findings, 1,457 pending findings and 15,897 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:10:22 +03:00
Lauri Ojansivu 73c8cb4b00 Repair Venetian import mapping and list warnings
Replace twenty Italian-seeded controls. Preserve unmapped-member fallback, keyboard enabled/disabled states, last-admin guard, label text visibility and irreversible label/list loss. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:10:16 +03:00
Lauri Ojansivu 6dd3395c61 Record Venetian search scope repair progress
Reference dated fix 3a139c82a and record 14,368 corrected findings, 1,477 pending findings and 15,877 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:09:33 +03:00
Lauri Ojansivu 3a139c82ae Repair Venetian search scope and modified-date help
Replace twelve Italian-seeded help and control values. Correct modified-date direction to days ago or less, preserve member/assignee union and private/public-only scope, and translate checked items as checklist entries. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:09:28 +03:00
Lauri Ojansivu c6dc324ef1 Record Venetian operator help repair progress
Reference dated fix 3e91ec423 and record 14,356 corrected findings, 1,489 pending findings and 15,865 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:08:49 +03:00
Lauri Ojansivu 3e91ec4239 Repair Venetian search operator help and date direction
Replace sixteen Italian-seeded filter and operator-help values. Preserve query syntax, OR behavior, case insensitivity and negated-field meaning; correct created-date direction to days ago or less. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:08:43 +03:00
Lauri Ojansivu c1a4c0ffb5 Record Venetian validation and access repair progress
Reference dated fix 0bb0c863e and record 14,340 corrected findings, 1,505 pending findings and 15,849 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:07:58 +03:00
Lauri Ojansivu 0bb0c863ef Repair Venetian import validation and access errors
Replace fifteen Italian-seeded validation and control values. Preserve CSV/TSV separators, malformed/schema distinction, authorization denial, uniqueness errors and self-invitation prohibition. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:07:52 +03:00
Lauri Ojansivu 6893a68994 Record Venetian account email repair progress
Reference dated fix d21f4d87d and record 14,325 corrected findings, 1,520 pending findings and 15,834 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:07:12 +03:00
Lauri Ojansivu d21f4d87d9 Repair Venetian account email and date messages
Replace twelve Italian-seeded messages with Venetian. Preserve reset, verify and enrollment distinctions, URL/user/site placeholders and email line breaks; remove mixed-language reset subject. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:07:05 +03:00
Lauri Ojansivu 247a32d539 Record Venetian settings and prerequisite repair progress
Reference dated fix 4171503bc and record 14,313 corrected findings, 1,532 pending findings and 15,822 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:06:14 +03:00
Lauri Ojansivu 4171503bcb Repair Venetian settings and deletion prerequisite messages
Replace sixteen Italian-seeded settings and warning values. Preserve default 27, linked-card deletion prerequisites, organization membership guard, irreversible deletion and permitted incomplete due-card scope. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:06:09 +03:00
Lauri Ojansivu 584283e2b5 Record Venetian comment and configuration repair progress
Reference dated fix d2f9dad02 and record 14,297 corrected findings, 1,548 pending findings and 15,806 correction records. Preserve outstanding linguistic and restored-value review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:05:29 +03:00
Lauri Ojansivu d2f9dad023 Repair Venetian comment and custom-field controls
Replace twenty Italian-seeded labels. Preserve comment-only role, singular not-found meaning, irreversible custom-field history loss and image/link URL distinction. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:05:23 +03:00
Lauri Ojansivu 03ce9857e1 Record Venetian administration repair progress
Reference dated local fix 7a48f1a32 and record 14,277 corrected findings, 1,568 pending findings and 15,786 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:04:36 +03:00
Lauri Ojansivu 7a48f1a323 Repair Venetian administration and archive translations
Replace twenty Italian-seeded admin, archive and upload messages with Venetian. Preserve active/inactive state meanings, offline data-loss warning, HTML tags and size placeholders. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:04:31 +03:00
Lauri Ojansivu 3ef2392b9c Record Venetian date activity repair progress
Reference dated fix d653f9771 and record 14,257 corrected findings, 1,588 pending findings and 15,766 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:03:34 +03:00
Lauri Ojansivu d653f9771b Repair Venetian date and custom-field activity translations
Replace twelve Italian-seeded activity and background labels. Restore completed/uncompleted and set/unset action meanings, preserving ordered percent placeholders and source/destination movement. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:03:29 +03:00
Lauri Ojansivu 9f7ed8936e Record Venetian lockout and reminder repair progress
Reference dated fix 7615e1916 and record 14,245 corrected findings, 1,600 pending findings and 15,754 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:02:52 +03:00
Lauri Ojansivu 7615e19169 Repair Venetian lockout and due-reminder translations
Replace fifteen Italian-seeded accessibility, lockout and reminder messages with Venetian. Preserve timing units, old/new time placeholders and approaching/current/past deadline distinctions. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:02:46 +03:00
Lauri Ojansivu b09798c2e9 Record Venetian date and display repair progress
Reference dated local fix a617c4300 and record 14,230 corrected findings, 1,615 pending findings and 15,739 correction records. Preserve outstanding linguistic and restored-value reviews.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:01:33 +03:00
Lauri Ojansivu a617c43006 Repair Venetian date, display and worker-role translations
Replace twenty Italian-seeded labels with Venetian. Preserve positive-integer validation, keyboard range, worker-only capabilities, notification scope and Node/MongoDB identities. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:01:28 +03:00
Lauri Ojansivu 4e383fcaca Record Venetian rule and membership repair progress
Reference dated fix ed63d39a8 and record 14,210 corrected findings, 1,635 pending findings and 15,719 correction records. Preserve outstanding linguistic and restored-value validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 18:00:45 +03:00
Lauri Ojansivu ed63d39a8f Repair Venetian rule and membership controls
Replace twenty Italian-seeded labels with Venetian. Preserve top/bottom placement, add/assign distinction, removal notification, source placeholders and display threshold. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 18:00:38 +03:00
Lauri Ojansivu 52a84fa79b Record Venetian membership and list repair progress
Reference dated fix a35ca4249 and record 14,190 corrected findings, 1,655 pending findings and 15,699 correction records. Preserve outstanding language and restored-value review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:59:59 +03:00
Lauri Ojansivu a35ca42492 Repair Venetian membership and list behavior translations
Replace twenty Italian-seeded messages with Venetian. Preserve private/public edit restrictions, archive recovery, notification behavior, newline/comma semantics and invitation placeholders. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:59:54 +03:00
Lauri Ojansivu cc9d96d7c8 Record Venetian search and import repair progress
Reference dated local fix a5a956ca3 and record 14,170 corrected findings, 1,675 pending findings and 15,679 correction records. Retain outstanding linguistic and restored-value review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:59:07 +03:00
Lauri Ojansivu a5a956ca3f Repair Venetian search and import instructions
Replace twelve Italian-seeded help and display values. Preserve literal search examples, predicate placeholders, descending minus sign, file formats and external menu labels. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger checks pass for tokens, JSON examples, key order and merge preservation.

Thanks to xet7 !
2026-09-13 17:59:01 +03:00
Lauri Ojansivu 7d04c3c644 Record Venetian invitation and permission repair progress
Reference dated fix 8d669c209 and record 14,158 corrected findings, 1,687 pending findings and 15,667 correction records. Preserve outstanding linguistic and restored-value reviews.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:58:17 +03:00
Lauri Ojansivu 8d669c209d Repair Venetian invitations and board permission messages
Replace sixteen Italian-seeded labels and invitation messages with Venetian. Preserve member/admin requirements, deletion ordering, irreversible warnings and email placeholders/newlines. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:58:11 +03:00
Lauri Ojansivu 761b3e1d56 Record Venetian board and card repair progress
Reference dated fix e8f9a898b and record 14,142 corrected findings, 1,703 pending findings and 15,651 correction records. Preserve outstanding linguistic and restored-value review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:57:28 +03:00
Lauri Ojansivu e8f9a898b5 Repair twenty-five Venetian board and card controls
Replace Italian-seeded card warnings, board controls and copy instructions with Venetian. Preserve no-undo and recovery meanings, star/unstar distinctions, interpolation tokens and JSON property names. Direct wording remains low confidence pending fluent-speaker review.

Validation: all correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:57:23 +03:00
Lauri Ojansivu 2bb51d34fb Record Venetian advanced filter repair progress
Reference dated fix 2bb366f9a and record 14,117 corrected findings, 1,728 pending findings and 15,626 correction records. Document exact filter-example regression coverage and outstanding linguistic review.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:56:38 +03:00
Lauri Ojansivu 2bb366f9ab Repair Venetian advanced filter instructions and escaping
Translate Italian filter prose to Venetian and restore exact executable examples, operator spacing, quote delimiters and single backslashes. Extend existing regression coverage to Venetian and the escaped apostrophe example. Direct prose remains low confidence pending fluent-speaker review.

Validation: all correction ledger checks and exact filter examples pass.

Thanks to xet7 !
2026-09-13 17:56:31 +03:00
Lauri Ojansivu bf869242bc Record Venetian archive and visibility repair progress
Reference dated fix 6d05bb764 and record 14,116 corrected findings, 1,729 pending findings and 15,625 correction records. Preserve outstanding language and advanced-filter reviews.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:55:50 +03:00
Lauri Ojansivu 6d05bb7644 Repair Venetian board visibility and archive translations
Replace nineteen Italian-seeded labels with Venetian. Preserve irreversible deletion warnings, logged-in access semantics, HTML tags and GridFS identity. Direct wording remains low confidence pending fluent-speaker review. Advanced filter instructions remain queued for separate literal-syntax repair.

Validation: correction ledger token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:55:45 +03:00
Lauri Ojansivu dd139222f0 Record Venetian checklist and removal repair progress
Reference dated fix 2acd6cc83 and record 14,097 corrected findings, 1,748 pending findings and 15,606 correction records, with linguistic review still outstanding.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:54:48 +03:00
Lauri Ojansivu 2acd6cc835 Repair Venetian removal and checklist activity messages
Replace twenty-five Italian-seeded activity and insertion labels. Preserve checked/unchecked and complete/incomplete meanings, source placeholders and top/bottom placement; remove the erroneous digit before the subtask placeholder. Direct wording remains low confidence pending fluent-speaker review.

Validation: correction inventory token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:54:44 +03:00
Lauri Ojansivu 9f908a7ef4 Record Venetian activity translation progress
Reference dated local fix 65f266e36 and record 14,072 corrected findings, 1,773 pending findings and 15,581 exact correction records. Preserve outstanding linguistic validation.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:54:00 +03:00
Lauri Ojansivu 65f266e36d Repair twenty-five Venetian activity translations
Replace Italian-seeded activity messages with Venetian while preserving event distinctions, source/destination hierarchy and every interpolation token. Direct kanban wording is low confidence and awaits fluent-speaker review.

Validation: correction ledger checks pass for tokens, JSON examples, key order and merge preservation.

Thanks to xet7 !
2026-09-13 17:53:55 +03:00
Lauri Ojansivu 403d45c0ee Record Venetian repair progress and clarify locale identities
Reference dated translation fix 88c871b27. Record 14,047 corrected findings, 1,798 pending findings and 15,556 correction records; distinguish Venetian and Veps from Venda using the language registry.

Validation: audit progress and changelog format pass.

Thanks to xet7 !
2026-09-13 17:53:12 +03:00
Lauri Ojansivu 88c871b279 Repair Venetian account and lockout translations
Replace thirteen Italian-seeded account controls with Venetian. Preserve username/password error distinctions and lockout protection. Direct wording is low confidence and awaits fluent-speaker review; consult Venetian WordPress language-team orthography.

Validation: correction inventory token, JSON example, key-order and merge-preservation checks pass.

Thanks to xet7 !
2026-09-13 17:53:06 +03:00
Lauri Ojansivu b8a7caf476 Record completion of original main Venda audit repairs
Reference dated local fix 180ca33c5 and record 14,034 corrected findings, 1,811 pending findings and 15,543 correction records. Keep restored-value and fluent-speaker validation outstanding.

Validation: audit progress and changelog format pass.

Thanks to xet7 !
2026-09-13 17:52:11 +03:00
Lauri Ojansivu 180ca33c5d Repair Venda warnings, permissions and calendar labels
Replace 39 Zulu-seeded messages and 18 calendar labels, including three unflagged Afrikaans values, with Tshivenda. Preserve no-undo warnings, private-only access, numeric validation and calendar identities. Low-confidence wording and specialized calendar terminology await fluent-speaker review.

Validation: correction inventory passes token, JSON example, key-order and merge-preservation checks. All original main Venda audit findings are repaired; broader and restored-value review remains outstanding.

Thanks to xet7 !
2026-09-13 17:52:06 +03:00
Lauri Ojansivu f9d6735f85 Record Venda shortcut and display repair progress
Update dated audit summary and TODO Later with 13,980 corrected findings, 1,865 pending findings and 15,486 exact correction records. Reference local fix 77bf80f43 and retain fluent-speaker validation requirements.

Validation: audit-progress and changelog-format suites pass.

Thanks to xet7 !
2026-09-13 17:50:53 +03:00
Lauri Ojansivu 77bf80f435 Repair thirty Venda display and shortcut translations
Replace Zulu-seeded shortcut, visibility, SMTP and migration labels with Tshivenda. Preserve display thresholds, ISO 8601 and technical protocol names. Direct wording is low confidence and awaits fluent-speaker review.

Validation: all 15,486 correction records pass placeholder, JSON example, key-order and merge-preservation checks.

Thanks to xet7 !
2026-09-13 17:50:44 +03:00
Lauri Ojansivu fbdcc25f38 Record Venda storage and configuration translation progress
Record dated fix 35f909774, 13,950 corrected original findings, 1,895 pending and 15,456 exact corrections. Keep remaining review and verification scope open.

Thanks to xet7 !
2026-09-13 17:47:01 +03:00
Lauri Ojansivu 35f9097741 Repair thirty Venda S3 and configuration labels
Replace Zulu-seeded storage, search and size controls with Tshivenda. Preserve S3 URL and region examples, SSL/TLS names and literal server troubleshooting commands. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:46:50 +03:00
Lauri Ojansivu 798d571345 Record Venda rule and migration confirmation repair progress
Record dated fix 4c42a6808, 13,920 corrected original findings, 1,925 pending and 15,426 exact corrections. Keep remaining language review and full audit scope open.

Thanks to xet7 !
2026-09-13 17:46:10 +03:00
Lauri Ojansivu 4c42a68088 Repair thirty Venda rule and migration confirmation labels
Replace Zulu-seeded rule, rescue-dialog and migration confirmation prose with Tshivenda. Preserve literal IDs, keyboard ranges, full restore scope and irreversible or difficult-to-undo warnings. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:45:56 +03:00
Lauri Ojansivu bfb9db0f7a Record Venda notification and query-validation repair progress
Record dated fix 0f8751df8, 13,890 corrected original findings, 1,955 pending and 15,396 exact corrections. Keep remaining audit and verification scope open.

Thanks to xet7 !
2026-09-13 17:43:33 +03:00
Lauri Ojansivu 0f8751df86 Repair thirty Venda notification and search validation labels
Replace Zulu-seeded selection, notification, checklist ordering and query validation prose with Tshivenda. Preserve exact tokens, HTML links, positive limits and muted notification meaning. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:43:23 +03:00
Lauri Ojansivu e68cbefd4b Record Venda migration and monitoring repair progress
Record dated fix cc2eaa2bd, 13,860 corrected original findings, 1,985 pending and 15,366 exact corrections. Keep outstanding review and full audit scope open.

Thanks to xet7 !
2026-09-13 17:42:45 +03:00
Lauri Ojansivu cc2eaa2bd3 Repair thirty Venda migration and monitoring messages
Replace Zulu-seeded migration outcomes, thresholds, background execution and monitoring labels with Tshivenda. Preserve numeric limits and administrator-only scope. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:42:35 +03:00
Lauri Ojansivu 018eb0e353 Record Venda validation and list translation progress
Record dated fix 28f1db700, 13,830 corrected original findings, 2,015 pending and 15,336 exact corrections. Preserve remaining review and full audit scope.

Thanks to xet7 !
2026-09-13 17:41:36 +03:00
Lauri Ojansivu 28f1db7005 Repair twenty-five Venda validation and list controls
Replace Zulu-seeded validation, keyboard, labels and list messages with Tshivenda. Preserve source tokens, year example, minimum-admin constraint and irreversible list loss warning. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:41:27 +03:00
Lauri Ojansivu 255e04e06e Record Venda import and checklist translation progress
Record dated fix 1baefe89e, 13,805 corrected original findings, 2,040 pending and 15,311 exact corrections. Keep remaining review and full verification scope open.

Thanks to xet7 !
2026-09-13 17:40:42 +03:00
Lauri Ojansivu 1baefe89ee Repair twenty-five Venda import and checklist controls
Replace Zulu-seeded import, member mapping, checklist display and storage labels with Tshivenda. Preserve formats, source tokens, selected-parts-only import and unmapped-member defaults. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:40:33 +03:00
Lauri Ojansivu a684342f95 Record Venda export and search-option translation progress
Record dated fix bff84678e, 13,780 corrected original findings, 2,065 pending and 15,286 exact corrections. Keep remaining review and full audit scope open.

Thanks to xet7 !
2026-09-13 17:39:50 +03:00
Lauri Ojansivu bff84678e8 Repair twenty-five Venda export and search option translations
Replace Zulu-seeded export fields, filesystem fixes and search instructions with Tshivenda. Preserve placeholders, literal search syntax, date/people fields and positive/negative integer meanings. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:39:40 +03:00
Lauri Ojansivu c216066da7 Record Venda email and authorization translation progress
Record dated fix 1436d81f2, 13,755 corrected original findings, 2,090 pending and 15,261 exact corrections. Keep outstanding language review and full verification scope open.

Thanks to xet7 !
2026-09-13 17:38:52 +03:00
Lauri Ojansivu 1436d81f25 Repair twenty-five Venda email and authorization messages
Replace Zulu-seeded verification emails, format errors and permission requirements with Tshivenda. Preserve source tokens, mail line breaks, WIP/JSON/CSV/TSV names and zoom bounds. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:38:40 +03:00
Lauri Ojansivu 7a95ede026 Record Venda date and account-email translation progress
Record dated fix 3e7746666, 13,730 corrected original findings, 2,115 pending and 15,236 exact corrections. Keep remaining review and full verification scope open.

Thanks to xet7 !
2026-09-13 17:38:00 +03:00
Lauri Ojansivu 3e7746666a Repair twenty-five Venda dates and account-email translations
Replace Zulu-seeded date controls, subtasks and account emails with Tshivenda. Preserve source placeholders, mail line breaks, SMTP/Planning Poker names and distinct time fields. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:37:50 +03:00
Lauri Ojansivu c2c78b881d Record Venda branding and deletion translation progress
Record dated fix 59286c27f, 13,705 corrected original findings, 2,140 pending and 15,211 exact corrections. Keep remaining validation and full audit scope open.

Thanks to xet7 !
2026-09-13 17:37:14 +03:00
Lauri Ojansivu 59286c27f7 Repair twenty-five Venda branding and deletion settings labels
Replace Zulu-seeded custom branding, default settings and destructive confirmations with Tshivenda. Preserve source tokens, numeric defaults, no-undo warnings and organization/team deletion blockers. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:37:04 +03:00
Lauri Ojansivu afa2a06aba Record Venda scheduling and custom-content translation progress
Record dated fix 0cbfa4f87, 13,680 corrected original findings, 2,165 pending and 15,186 exact corrections. Keep remaining review and broader audit scope open.

Thanks to xet7 !
2026-09-13 17:36:24 +03:00
Lauri Ojansivu 0cbfa4f87c Repair twenty-five Venda scheduling and custom-content labels
Replace Zulu-seeded scheduled-job outcomes and custom HTML/JSON controls with Tshivenda. Preserve %{value}, HTML entities, assetlinks.json and success/failure versus pause/resume distinctions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:36:14 +03:00
Lauri Ojansivu 7e700f14ab Record Venda checklist and interface repair progress
Record dated fix ba8229423, 13,655 corrected original findings, 2,190 pending and 15,161 exact corrections. Keep outstanding verification and wider audit scope open.

Thanks to xet7 !
2026-09-13 17:35:33 +03:00
Lauri Ojansivu ba8229423f Repair twenty-five Venda checklist and board interface labels
Replace Zulu-seeded checklist, star, auto-width and template controls with Tshivenda. Preserve enable/disable meanings and source tokens; use lutombo for blue, supported by https://www.justice.gov.za/constitution/SAConstitution-web-ven.pdf . Other wording remains low confidence and open to fluent review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:35:22 +03:00
Lauri Ojansivu 5aba221ce6 Record Venda board-management translation progress
Record dated fix 779dcb02b, 13,630 corrected original findings, 2,215 pending and 15,136 exact corrections. Keep remaining audit and verification scope open.

Thanks to xet7 !
2026-09-13 17:34:36 +03:00
Lauri Ojansivu 779dcb02b9 Repair twenty-five Venda board-management translations
Replace Zulu-seeded background, backup, cleanup, visibility and card settings labels with Tshivenda. Preserve source tokens, HTML emphasis and permanent loss warnings. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:34:27 +03:00
Lauri Ojansivu 334855286d Record Venda archive and settings translation progress
Record dated fix a89ed3821, 13,605 corrected original findings, 2,240 pending and 15,111 exact corrections. Keep remaining review and full audit scope open.

Thanks to xet7 !
2026-09-13 17:33:50 +03:00
Lauri Ojansivu a89ed3821c Repair twenty-five Venda archive and storage settings labels
Replace Zulu-seeded archive, attachment settings, automation and avatar labels with Tshivenda. Preserve the avatar size token, URL scheme instructions and archive scheduling success/failure distinctions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:33:38 +03:00
Lauri Ojansivu 45e367a2e6 Record Venda filter and workspace repair progress
Record dated fix b110191f1, 13,580 corrected original findings, 2,265 pending and 15,086 exact corrections. Preserve remaining review and full audit scope.

Thanks to xet7 !
2026-09-13 17:33:00 +03:00
Lauri Ojansivu b110191f1b Repair sixteen Venda filter and workspace translations
Replace Zulu-seeded advanced-filter help, workspace controls, uploads and offline loading prose with Tshivenda. Preserve executable examples, placeholders and the refresh data-loss warning. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:32:51 +03:00
Lauri Ojansivu d53717154d Record Venda activity and administrator translation progress
Record dated fix 4b6da7008, 13,564 corrected original findings, 2,281 pending and 15,070 exact corrections. Keep remaining review and verification scope open.

Thanks to xet7 !
2026-09-13 17:32:11 +03:00
Lauri Ojansivu 4b6da70089 Repair twenty-four Venda activity and administrator controls
Replace Zulu-seeded import, movement, custom-field, workspace and administrator labels with Tshivenda. Preserve interpolation counts, HTML tags and active/inactive state distinctions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:32:02 +03:00
Lauri Ojansivu be6a20676f Record Venda reminder and checklist translation progress
Record dated fix af9aa74b0, 13,540 corrected original findings, 2,305 pending and 15,046 exact corrections. Keep outstanding verification and wider audit scope open.

Thanks to xet7 !
2026-09-13 17:31:27 +03:00
Lauri Ojansivu af9aa74b0a Repair twenty Venda reminder and checklist activity messages
Replace Zulu-seeded reminders, list creation and checklist activities with Tshivenda. Preserve source placeholders, due-soon/now/past distinctions and completed versus incomplete states. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:31:15 +03:00
Lauri Ojansivu b7a5184d66 Record Venda account-lockout translation progress
Record dated fix 77997ecb9, 13,520 corrected original findings, 2,325 pending and 15,026 exact corrections. Keep outstanding language review and full audit scope open.

Thanks to xet7 !
2026-09-13 17:30:32 +03:00
Lauri Ojansivu 77997ecb98 Repair twenty Venda account-lockout and date activity messages
Replace Zulu-seeded lockout controls and dated activities with Tshivenda. Distinguish locked/unlocked and known/unknown states; retain source time and card placeholders. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:30:23 +03:00
Lauri Ojansivu 6f9f9c944e Record Venda diagnostic and account translation progress
Record dated fix 2f7658de8, 13,500 corrected original findings, 2,345 pending and 15,006 exact corrections. Keep remaining review and verification scope open.

Thanks to xet7 !
2026-09-13 17:29:44 +03:00
Lauri Ojansivu 2f7658de88 Repair twenty-five Venda diagnostics, dates and account labels
Replace Zulu-seeded runtime, date-field, accessibility and account prose with Tshivenda. Keep Node heap and RSS terms, temporary lockout and received/start/due/end distinctions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:29:34 +03:00
Lauri Ojansivu a196fb9e78 Record Venda permission and diagnostic translation progress
Record dated fix 6ced21a16, 13,475 corrected original findings, 2,370 pending and 14,981 exact corrections. Preserve remaining audit and verification scope.

Thanks to xet7 !
2026-09-13 17:28:58 +03:00
Lauri Ojansivu 6ced21a163 Repair twenty Venda permissions and runtime diagnostic labels
Replace Zulu-seeded archive, trigger, shortcut, worker permission and Node/MongoDB diagnostic prose with Tshivenda. Preserve keyboard ranges and literal technical names. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:28:48 +03:00
Lauri Ojansivu 8939d6fa33 Record Venda migration and display translation progress
Record dated fix 48739c6ac, 13,455 corrected original findings, 2,390 pending and 14,961 exact corrections. Keep remaining review and verification work open.

Thanks to xet7 !
2026-09-13 17:28:12 +03:00
Lauri Ojansivu 48739c6ac3 Repair twenty-two Venda migration and display controls
Replace Zulu-seeded read-only, lost-card migration and display prose with Tshivenda. Preserve exact identifiers, source placeholders, migration scope and non-archived-only conditions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:28:01 +03:00
Lauri Ojansivu 5e017f111b Record Venda privacy and rule-action repair progress
Record dated fix 846fd29ad, 13,433 corrected original findings, 2,412 pending and 14,939 exact corrections. Keep outstanding validation and remaining audit work open.

Thanks to xet7 !
2026-09-13 17:27:17 +03:00
Lauri Ojansivu 846fd29ad6 Repair fifteen Venda privacy and rule-action translations
Replace Zulu-seeded card windows, privacy descriptions, invitations and rule actions with Tshivenda. Preserve source tokens, public visibility versus edit permission and top/bottom placement directions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:27:02 +03:00
Lauri Ojansivu 10bdbe155c Record Venda movement and permission translation progress
Record dated fix bdcb23fd5, 13,418 corrected original findings, 2,427 pending and 14,924 exact corrections. Preserve outstanding review and full audit scope.

Thanks to xet7 !
2026-09-13 17:26:27 +03:00
Lauri Ojansivu bdcb23fd58 Repair fifteen Venda movement and permission descriptions
Replace Zulu-seeded list movement, storage, notifications and user-role explanations with Tshivenda. Preserve the imported-role permission ceiling and restricted-user capabilities. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:26:18 +03:00
Lauri Ojansivu a6898fd859 Record Venda scope, import and archive translation progress
Record dated fix 67b6d548a, 13,403 corrected original findings, 2,442 pending and 14,909 exact corrections. Keep remaining language and runtime verification scope open.

Thanks to xet7 !
2026-09-13 17:25:43 +03:00
Lauri Ojansivu 67b6d548a1 Repair eighteen Venda search scope and import controls
Replace Zulu-seeded privacy-scope, home-board, import and archive text with Tshivenda. Preserve placeholders, literal vendor navigation labels, restoration and permanent deletion distinctions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:25:31 +03:00
Lauri Ojansivu e27ab9d1bf Record further Venda search-help repair progress
Record dated fix 41fd76d6a, 13,385 corrected original findings, 2,460 pending and 14,891 exact corrections. Keep outstanding validation and broader audit scope open.

Thanks to xet7 !
2026-09-13 17:24:45 +03:00
Lauri Ojansivu 41fd76d6ab Repair twelve further Venda search-help translations
Replace Zulu-seeded operator and archive-status explanations with Tshivenda. Preserve literal examples, angle-bracket arguments, all source placeholders and has-field negation. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:24:36 +03:00
Lauri Ojansivu 3a0e6b73e0 Record Venda search-help translation progress
Record dated fix 629fb613d, 13,373 corrected original findings, 2,472 pending and 14,879 exact corrections. Preserve remaining review and verification work.

Thanks to xet7 !
2026-09-13 17:23:58 +03:00
Lauri Ojansivu 629fb613d6 Repair ten Venda search-help translations
Replace Zulu-seeded query instructions and operator help with Tshivenda. Keep literal examples, angle-bracket arguments and source placeholders unchanged. Explain OR versus AND distinctly. Low-confidence prose remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:23:49 +03:00
Lauri Ojansivu 0d5d2873f6 Record Venda invitation and export translation progress
Record dated fix 6ecc8171b, 13,363 corrected original findings, 2,482 pending and 14,869 exact corrections. Preserve remaining review and verification scope.

Thanks to xet7 !
2026-09-13 17:23:12 +03:00
Lauri Ojansivu 6ecc8171bb Repair ten Venda invitation and card-export translations
Replace Zulu-seeded invitation emails, due-card visibility, export and filtering prose with Tshivenda. Preserve invitation placeholders, email line breaks and permission boundaries. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:23:02 +03:00
Lauri Ojansivu ac7bcde378 Record Venda copy and deletion warning audit progress
Record dated fix c59c09783, 13,353 corrected original findings, 2,492 pending and 14,859 exact corrections. Keep remaining review and verification work open.

Thanks to xet7 !
2026-09-13 17:22:27 +03:00
Lauri Ojansivu c59c097837 Repair fifteen Venda copy controls and deletion warnings
Replace Zulu-seeded copy, conversion and deletion prose with Tshivenda. Preserve placeholders, irreversible loss warnings and the AND condition requiring an empty duplicate plus a populated namesake list. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:22:18 +03:00
Lauri Ojansivu 5912337a50 Record Venda board and card warning repair progress
Record dated fix b2b1752c8, 13,338 corrected original findings, 2,507 pending and 14,844 correction records. Keep language validation and wider audit work open.

Thanks to xet7 !
2026-09-13 17:21:34 +03:00
Lauri Ojansivu b2b1752c80 Repair twenty Venda board and card warnings and controls
Replace Zulu-seeded board movement, assignment, archive and deletion prose with Tshivenda. Preserve placeholders, permanent loss warnings and restricted commenting permissions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:21:25 +03:00
Lauri Ojansivu e637be0a64 Record Venda activity and attachment translation progress
Record dated fix 6a68c0e37, 13,318 corrected original findings, 2,527 pending and 14,824 exact corrections. Retain outstanding language review and broader audit work.

Thanks to xet7 !
2026-09-13 17:20:41 +03:00
Lauri Ojansivu 6a68c0e373 Repair twenty Venda activity and attachment controls
Replace Zulu-seeded activity, card placement, archive and attachment messages with Tshivenda. Preserve placeholders, administrator capabilities and the permanent deletion/no-undo warning. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:20:30 +03:00
Lauri Ojansivu 3a4d689196 Record Venda movement and removal translation progress
Record dated fix f92cfa5b1 and counts of 13,298 corrected original findings, 2,547 pending and 14,804 correction records. Keep remaining verification and full audit scope open.

Thanks to xet7 !
2026-09-13 17:19:58 +03:00
Lauri Ojansivu f92cfa5b1f Repair sixteen Venda movement and removal activity messages
Replace Zulu-seeded messages directly with Tshivenda. Preserve old and new board, list and lane placeholders, exact checkList token case and percent token counts. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:19:49 +03:00
Lauri Ojansivu 7d58e0d1a4 Update audit progress after further Venda activity repairs
Record dated fix 18429316a, 13,282 corrected original findings, 2,563 pending and 14,788 exact correction records. Preserve remaining validation and repair scope.

Thanks to xet7 !
2026-09-13 17:19:05 +03:00
Lauri Ojansivu 18429316ab Replace fifteen further Zulu-seeded Venda activity messages
Write Tshivenda archive, checklist, comment, import, membership and card movement messages with source placeholders intact. Completed imports remain completed actions. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:18:55 +03:00
Lauri Ojansivu 74ffe39f76 Record resumed Venda repairs and current translation progress
Record dated fix 2c5e765a0, 13,267 corrected original findings, 2,578 pending and 14,773 exact corrections. Preserve outstanding fluent validation and wider repair scope.

Thanks to xet7 !
2026-09-13 17:18:12 +03:00
Lauri Ojansivu 2c5e765a02 Replace ten Zulu-seeded Venda activity translations
Write Tshivenda activity prose for attachment, membership, checklist, label and archive actions with all source placeholders intact. Vocabulary is informed by available Tshivenda wordlists and existing kanban context; wording is low confidence and remains open to fluent-speaker review.

Validation: audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:18:02 +03:00
Lauri Ojansivu c076717d28 Update Luganda and Fijian calendar audit progress
Record dated fix 9b78486c5 and 13,257 corrected original findings, 2,588 pending and 14,763 correction records. Keep remaining verification and broader audit work open.

Thanks to xet7 !
2026-09-13 17:17:19 +03:00
Lauri Ojansivu 9b78486c52 Repair six Luganda and Fijian calendar labels
Replace English Coptic and tabular Hijri labels using existing locale calendar terminology. Preserve civil versus astronomical epoch distinctions. Specialized wording is low confidence and remains open to fluent-speaker review.

Validation: audited correction regressions verify placeholders, examples, key order and newer translation protection.

Thanks to xet7 !
2026-09-13 17:17:03 +03:00
Lauri Ojansivu 8a4329fbd1 Record Swati, Northern Sotho and Tsonga calendar repair progress
Record dated fix e077f92b9 and 13,251 corrected original findings, 2,594 pending and 14,757 correction records. Keep broader language validation and browser checks open.

Thanks to xet7 !
2026-09-13 17:16:31 +03:00
Lauri Ojansivu e077f92b96 Repair ten Swati, Northern Sotho and Tsonga calendar labels
Replace English Coptic, Buddhist and tabular Hijri labels using existing locale terminology. Retain civil versus astronomical epoch distinctions. Specialized wording is low confidence and remains open to fluent-speaker review.

Validation: audited correction regressions preserve placeholders, examples, formatting and key order.

Thanks to xet7 !
2026-09-13 17:16:20 +03:00
Lauri Ojansivu 632d34160d Record Kirundi and Ndebele calendar repair progress
Record dated fix 2a750c70c, 13,241 corrected original findings, 2,604 pending and 14,747 exact corrections. Preserve remaining language-validation and browser-verification work.

Thanks to xet7 !
2026-09-13 17:15:47 +03:00
Lauri Ojansivu 2a750c70c0 Repair eight Kirundi and Ndebele calendar labels
Replace English Buddhist, Coptic and tabular Hijri labels with locale wording. Keep civil and astronomical epoch variants distinct. Specialized translations are low confidence and remain open to fluent-speaker review.

Validation: audited correction regressions verify placeholders, examples, order and newer translation protection.

Thanks to xet7 !
2026-09-13 17:15:33 +03:00
Lauri Ojansivu 9e7129dd54 Update audit progress for Setswana and Sesotho calendar repairs
Record dated fix 205a2317a and counts of 13,233 corrected original findings, 2,612 pending and 14,739 correction records. Preserve remaining language validation and audit scope.

Thanks to xet7 !
2026-09-13 17:15:05 +03:00
Lauri Ojansivu 205a2317ae Repair Setswana and Sesotho calendar labels
Replace English Coptic labels in Setswana and Sesotho and the English civil Hijri label in Sesotho using existing locale calendar terminology. Specialized wording is low confidence and remains open to fluent-speaker review.

Validation: audited correction regressions verify placeholders, examples, formatting and key order.

Thanks to xet7 !
2026-09-13 17:14:55 +03:00
Lauri Ojansivu 0f30bf0442 Record Aymara calendar repairs and current audit counts
Record dated fix 1b930ff38, 13,230 corrected original findings, 2,615 pending and 14,736 exact correction records. Keep specialized language validation and broader audit work open.

Thanks to xet7 !
2026-09-13 17:14:20 +03:00
Lauri Ojansivu 1b930ff380 Repair three Aymara Hijri calendar labels
Replace English labels with Aymara using existing pachachimpu terminology. Distinguish civil and astronomical tabular epochs from Saudi moon sighting. Specialized wording is low confidence and remains open to fluent-speaker review.

Validation: audited correction regressions preserve tokens, examples and key order.

Thanks to xet7 !
2026-09-13 17:14:05 +03:00
Lauri Ojansivu cbfba243ff Record completed Klingon German-seed review and remaining audit scope
Record dated fix 1044eebc9 and 14,733 corrections. All 829 broader German-identical Klingon candidates are reviewed: 828 repairs and one retained technical name. Fluent review, browser verification and the original multi-language audit remain open.

Thanks to xet7 !
2026-09-13 17:13:20 +03:00
Lauri Ojansivu 1044eebc97 Repair 37 Klingon search keywords and verify localized parsing
Replace remaining German-seeded operator and predicate keywords with whitespace-free Klingon terms supported by the apostrophe-aware parser. Exercise actual locale values through Query for user, member, assignee, creator, board, swimlane, list, title, description, attachment and checklist searches.

Low-confidence Klingon wording remains open to fluent-speaker review. Audited corrections, tokens and localized parser regressions pass; browser verification remains pending.

Thanks to xet7 !
2026-09-13 17:13:09 +03:00
Lauri Ojansivu 91fc5ccb91 Record localized search parser support and remaining verification
Link 0026390bb and distinguish passing runtime regressions from pending keyword replacements and browser verification.

Thanks to xet7 !
2026-09-13 17:12:20 +03:00
Lauri Ojansivu 0026390bba Accept apostrophes in localized search operator names
Allow straight and curly apostrophes in operator names so Klingon and other apostrophe-bearing localized keywords can be parsed. Keep quoted value parsing and unknown-operator errors unchanged.

Validation: actual Query runtime tests cover localized names, quoted values, normal operators, plain quoted text and unknown names; card-number search regressions pass.

Thanks to xet7 !
2026-09-13 17:11:59 +03:00
Lauri Ojansivu a4b53d2466 Update translation audit after storage repairs and technical-name review
Record dated fix a24ba752c and 14,696 corrections. The broader Klingon queue now consists of 37 search keyword values; 791 were repaired and one technical name retained.

Thanks to xet7 !
2026-09-13 17:11:19 +03:00
Lauri Ojansivu a24ba752c7 Repair 38 Klingon storage labels and retain the Cron tool name
Translate remaining German-seeded storage, scheduling and progress controls directly with placeholders intact. Record Cron as a reviewed technical name rather than replacing its shared spelling. Low-confidence Klingon prose remains open to fluent-speaker review.

Validation: audited correction and Klingon regressions pass.

Thanks to xet7 !
2026-09-13 17:11:09 +03:00
Lauri Ojansivu 5987576f0e Record latest Klingon scheduling repairs in audit progress
Record dated fix 0db60bab0, 14,658 correction records and 76 remaining broader Klingon findings. Retain unresolved original audit findings and search parser support requirement.

Thanks to xet7 !
2026-09-13 17:10:24 +03:00
Lauri Ojansivu 0db60bab00 Repair 50 Klingon scheduling and migration translations
Replace German-seeded scheduled-job, migration, filesystem and progress labels directly with Klingon. Preserve product names and interpolation tokens. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction and Klingon regressions pass.

Thanks to xet7 !
2026-09-13 17:10:13 +03:00
Lauri Ojansivu ee9703f23b Document incremental Fossil imports and latest translation repairs
Link the incremental import implementation and its real Fossil regression. Update dated translation progress for c950c236e to 14,608 correction records and 126 broader Klingon findings remaining.

Thanks to xet7 !
2026-09-13 17:09:28 +03:00
Lauri Ojansivu 69e4d836cf Extend existing Fossil repositories with incremental Git imports
Use fossil import --incremental when the destination exists, retaining existing history without force overwrite. Re-export selected Git namespaces so repositories created by previous script versions also update without requiring marks files.

Validation: real Fossil 2.28 imports a newly committed Git change, retains old commits and avoids duplicates on a third run. Mock failure and namespace regression checks and Bash syntax pass.

Thanks to xet7 !
2026-09-13 17:09:17 +03:00
Lauri Ojansivu c950c236ee Repair 50 Klingon account, accessibility and storage labels
Replace German-seeded account lockout, accessibility, migration and S3 storage text directly with Klingon. Keep product names and protocol syntax; preserve source interpolation tokens. Low-confidence prose remains open to fluent-speaker review.

Validation: audited correction and Klingon regressions pass.

Thanks to xet7 !
2026-09-13 17:08:44 +03:00
Lauri Ojansivu 4f1821e35f Update audit after 50 further Klingon control repairs
Record dated fix 4e1e31327, 14,558 exact corrections and 176 remaining broader Klingon findings. Original pending evidence and the apostrophe parser requirement remain unresolved.

Thanks to xet7 !
2026-09-13 17:08:15 +03:00
Lauri Ojansivu 4e1e31327b Repair 50 Klingon attachment, checklist and status labels
Replace German-seeded status, spinner, checklist, attachment and progress controls directly with Klingon. Preserve source placeholders and retain literal URL and Cc syntax. Low-confidence wording remains open to fluent-speaker review.

Validation: audited correction and Klingon regression checks pass.

Thanks to xet7 !
2026-09-13 17:08:05 +03:00
Lauri Ojansivu 10a8b3281d Update translation repair counts and record search parser constraint
Record dated fix 8a5473c35, 14,508 correction records and 226 remaining broader Klingon values. Track required apostrophe support for translated query operator names.

Thanks to xet7 !
2026-09-13 17:07:37 +03:00
Lauri Ojansivu 8a5473c35c Repair 40 Klingon search-help and report translations
Replace German-seeded search help, report headings, card sorting and swimlane controls; preserve source placeholders. Direct wording is low confidence and remains open to fluent-speaker review. Localized operator names require a separate apostrophe parser fix before replacement.

Validation: audited correction and Klingon regression checks pass.

Thanks to xet7 !
2026-09-13 17:07:27 +03:00
Lauri Ojansivu 4427bca2a8 Record Klingon calendar repairs and protect Gregorian weekday mapping
Update dated audit progress to 14,468 corrections and 266 remaining broader Klingon findings. Add a regression distinguishing Sunday from the alternate Saturday name.

Thanks to xet7 !
2026-09-13 17:06:51 +03:00
Lauri Ojansivu 669d7f01dd Repair 43 Klingon calendar and card-view translations
Replace German-seeded weekday labels, card-view headings, sorting labels and search result counts. Use the Klingon Language Institute Gregorian weekday mapping, including jaj wa' for Sunday; preserve interpolation tokens.

Source: https://www.kli.org/duolingo/say-when-an-event-was-2/

Other prose is low confidence and remains open to fluent-speaker review. Audited correction and Klingon regression checks pass.

Thanks to xet7 !
2026-09-13 17:06:36 +03:00
Lauri Ojansivu 0af4db4142 Update audit progress after 40 further Klingon repairs
Record the dated repair commit b7acf3047 and correction inventory of 14,425 values. Keep the broader Klingon review queue at 309 and distinguish it from the original 2,618 pending findings.

Thanks to xet7 !
2026-09-13 17:06:00 +03:00
Lauri Ojansivu b7acf30478 Repair 40 Klingon automation and member-control translations
Replace remaining German-seeded checklist actions, swimlane controls, assignee labels and user-management headings directly with Klingon. Preserve source placeholders and record exact before/after values. Wording is low confidence and remains open to fluent-speaker review.

Validation: Klingon translation and audited correction regressions pass.

Thanks to xet7 !
2026-09-13 17:05:48 +03:00
Lauri Ojansivu 01ec5d7aff Document executable release scripts in Upcoming changelog
Record commit 2a5a53cf6, list the five permission changes and their syntax and regression validation.

Thanks to xet7 !
2026-09-13 17:05:22 +03:00
Lauri Ojansivu 2a5a53cf64 Make five release scripts executable
Set executable permissions on apt-install.sh, delete-tag.sh, fetch.sh, fossil.sh and npm-retry.sh so they can be invoked directly. Script contents are unchanged.

Validation: Bash syntax checks and npm retry and Fossil export regression suites pass.

Thanks to xet7 !
2026-09-13 17:05:13 +03:00
Lauri Ojansivu 751310d469 Keep audit status current after 841 resumed Klingon repairs 2026-09-13 17:01:32 +03:00
Lauri Ojansivu 25e8bc4925 Repair 160 Klingon automation, notification and diagnostic labels
Replace reviewed German-seeded labels directly, preserve dynamic tokens and runtime names, and distinguish completed versus incomplete states and top versus bottom positions. Recorded corrections and Klingon regression checks pass. Low-confidence prose remains marked for fluent-speaker review.

Thanks to xet7 !
2026-09-13 17:01:32 +03:00
Lauri Ojansivu 7adcaadc1a Update resumed translation progress and record Fossil verification 2026-09-13 16:59:37 +03:00
Lauri Ojansivu fcd6936103 Repair 160 further Klingon date, filtering and member-control translations
Replace reviewed German text, distinguishing assignees from creators, archive from delete, start from due dates, and tracking from notification suppression. Preserve tokens and file formats. Recorded-correction, warning and Klingon regression checks pass. Low-confidence wording remains marked for fluent-speaker review.

Thanks to xet7 !
2026-09-13 16:59:36 +03:00
Lauri Ojansivu 35888eedf2 Expose local Fossil export and UI in both build menus
Resolve the UI repository from the script or a supplied filename, keep temporary files under the repository, and report missing files or tools clearly. Add matching menu and command-line entries on Unix and Windows, documentation, and mocked UI path checks. Menu parity and a real Fossil 2.28 history import pass.

Thanks to xet7 !
2026-09-13 16:59:04 +03:00
Lauri Ojansivu d51ea2b92a Exclude internal tree refs from local Git-to-Fossil exports
Export branch, tag and remote-branch namespaces explicitly instead of all refs. Resolve paths from the script, handle destinations with spaces, preserve existing repositories and propagate Git or Fossil failures. Reproduce the reported warning with real Git and verify a real Fossil 2.28 import preserves history and the release tag.

Thanks to xet7 !
2026-09-13 16:57:04 +03:00
Lauri Ojansivu 880c83938c Track the broader Klingon audit and its latest repair commit 2026-09-13 16:53:29 +03:00
Lauri Ojansivu 9bb5614366 Repair 160 additional German-seeded Klingon interface values
Review common board, workspace, vote and archive controls beyond the original audit queue. Preserve all source tokens and use explicit color references to distinguish hues sharing Klingon color terminology. Regression checks for correction records, warning states, JSON and placeholder inventories pass. Low-confidence language remains marked for fluent-speaker validation.

Thanks to xet7 !
2026-09-13 16:53:29 +03:00
Lauri Ojansivu 9961abbcc0 Document the private preference field that prevents impersonation profile collisions 2026-09-13 16:51:36 +03:00
Lauri Ojansivu 236095a4a4 Publish the current-user board preference independently of DDP profile merges
Meteor merges top-level profile objects by publication precedence. Publish the private boardViewPreference field reactively so a narrow or empty profile cannot hide it during impersonation. Preserve pending choices until the private preference catches up, and route the remaining calendar helper through the same resolver. Cover preference precedence, updates, unsets, deletion, observer cleanup and the real impersonation browser path.

Thanks to gleneindre and xet7 !

Fixes #6691,
2026-09-13 16:51:19 +03:00
Lauri Ojansivu 390d035a86 Record the completed original Klingon queue and broader locale review 2026-09-13 16:48:40 +03:00
Lauri Ojansivu 4c763c8c9f Finish the 361 originally flagged Klingon translation repairs
Repair the final 81 flagged strings, including calendar-system labels, storage authentication help and destructive warnings. Preserve calendar epoch and observation distinctions, invitation tokens and diagnostic commands. Placeholder and correction regressions pass. Low-confidence Klingon wording still needs fluent-speaker review; the broader locale audit continues.

Thanks to xet7 !
2026-09-13 16:48:40 +03:00
Lauri Ojansivu dfdecc6f53 Update audit progress after 280 Klingon repairs and record the awaited identity switch 2026-09-13 16:47:00 +03:00
Lauri Ojansivu d0fea765fb Repair 100 Klingon invitation, storage and interface translations
Preserve invitation tokens, search syntax, HTML structure, URL and product names, file-format properties and upload limits. Recorded-correction and Klingon regressions pass. Klingon wording remains low confidence pending fluent-speaker review.

Thanks to xet7 !
2026-09-13 16:46:59 +03:00
Lauri Ojansivu afb00d5fe7 Synchronize the impersonation regression with its deferred switch promise 2026-09-13 16:45:03 +03:00
Lauri Ojansivu 1c47bcc4ac Await the Meteor 3 subscription transition during admin impersonation
Finish setUserId before returning to the client, so subscription recreation cannot race the client identity change. Add a deferred-promise regression and verify switch failures propagate.

Thanks to gleneindre and xet7 !

Fixes #6691,
2026-09-13 16:44:49 +03:00
Lauri Ojansivu c5305eed52 Record progress after 180 resumed Klingon translation repairs 2026-09-13 16:43:03 +03:00
Lauri Ojansivu ee4d2756f3 Repair another 90 Klingon warning, permission and diagnostic translations
Replace wrong-language text directly while preserving placeholders, archive-versus-delete behavior, migration constraints and memory-metric distinctions. Klingon wording is low confidence; fluent-speaker validation remains outstanding. Recorded-correction and Klingon regression checks pass.

Thanks to xet7 !
2026-09-13 16:43:02 +03:00
Lauri Ojansivu f1411d69eb Retain the audit latest-fix marker while recording resumed repairs 2026-09-13 16:41:23 +03:00
Lauri Ojansivu c18771a1df Keep resumed audit progress and issue notes within changelog format 2026-09-13 16:41:12 +03:00
Lauri Ojansivu 17ca32a0da Repair 90 wrong-language Klingon security, activity and search translations
Keep placeholders, JSON properties and literal query examples intact. Add regression checks for destructive warnings, security states and translation records. Update the resumed audit counts. Klingon prose is low confidence and needs fluent-speaker validation.

Thanks to xet7 !
2026-09-13 16:40:32 +03:00
Lauri Ojansivu 20a46ff5ea Resume translation review and record issue 6691 regression coverage 2026-09-13 16:37:58 +03:00
Lauri Ojansivu 4a6738330a Keep swimlane scopes consistent for partial and impersonated user profiles
Resolve missing or invalid profile board views through the browser preference and Swimlanes default without reloading. Publish the authenticated user board-view preference privately, including after impersonation. Add fallback, selector-scope, publication-isolation and browser regressions.

Thanks to gleneindre and xet7 !

Fixes #6691,
2026-09-13 16:37:27 +03:00
Lauri Ojansivu 7e066fa676 Record complete matrix and harden prefixed refresh checks
Thanks to xet7 !
2026-09-13 16:33:01 +03:00
Lauri Ojansivu 2f1f1beacb Give template titles sole autofocus and wait for refreshed identity
Remove competing autofocus from the template search field and require the actual title field to retain entered text. Wait for the expected Meteor user in the browser across refresh initialization. The refresh regression passes ten WebKit repetitions without retries.

Thanks to xet7 !
2026-09-13 16:31:23 +03:00
Lauri Ojansivu 8bdd2aa4e9 Verify prefixed cookie preferences and logout in all browsers
Extend the URL-prefix regression with preference-preserving reload, actual logout, empty-cookie refresh and invalid-cookie rejection. All three browser checks pass against the current compiled source.

Thanks to xet7 !
2026-09-13 16:08:23 +03:00
Lauri Ojansivu d64a6c521b Summarize current 999-suite and prefixed browser verification
Thanks to xet7 !
2026-09-13 16:05:18 +03:00
Lauri Ojansivu 64e5023a28 Record cookie switching repair before final verification
Thanks to xet7 !
2026-09-13 16:00:48 +03:00
Lauri Ojansivu d8c3a3bb55 Wait for replacement cookie when switching browser test users
Thanks to xet7 !
2026-09-13 16:00:24 +03:00
Lauri Ojansivu 0f4d6a1660 Document prefixed cookie sessions and verification progress
Thanks to xet7 !
2026-09-13 15:58:28 +03:00
Lauri Ojansivu 4cf165ee4f Provide standard URL parsing in cookie fixture regression
Thanks to xet7 !
2026-09-13 15:57:32 +03:00
Lauri Ojansivu 2c5d483a76 Keep native cookie sessions working behind a URL prefix
Use same-origin cookie endpoints under the configured ROOT_URL path for prefixed deployments. Preserve native server validation, HttpOnly cookies, memory-only credentials and root deployment behavior. Keep browser fixture navigation under its base path.

Thanks to xet7 !
2026-09-13 15:57:23 +03:00
Lauri Ojansivu 45e654b371 Record Firefox filter-reset repair and rerun progress
Thanks to xet7 !
2026-09-13 15:47:59 +03:00
Lauri Ojansivu 9ed2fc5400 Prevent navigation when clearing board filters
Cancel the header reset link default action before resetting the filter. Require the reset control and assert the document and board remain mounted while the label query is removed.

Thanks to xet7 !
2026-09-13 15:47:06 +03:00
Lauri Ojansivu 9116303d27 Record cookie fixture and browser verification repairs
Thanks to xet7 !
2026-09-13 15:32:05 +03:00
Lauri Ojansivu 00073c3f5f Wait for cookie resume and verify voting and board actions
Avoid a second token login while cookie retrieval is still pending. Exercise voting persistence, board title editing and the member archive menu through the current UI.

Thanks to xet7 !
2026-09-13 15:31:52 +03:00
Lauri Ojansivu 7d74f78e30 Record current Node and compiled browser verification in the paused audit 2026-09-13 15:21:25 +03:00
Lauri Ojansivu fdf50e9038 Record template and calendar repairs with current verification progress 2026-09-13 15:14:01 +03:00
Lauri Ojansivu 535ed5f4e9 Verify template instantiation honors the list top position 2026-09-13 15:13:28 +03:00
Lauri Ojansivu 8c96ac84f4 Import filter and routing APIs in the multi-board calendar 2026-09-13 15:13:09 +03:00
Lauri Ojansivu 1e328a98de Copy rendered template cards without submitting runtime ID caches 2026-09-13 15:11:56 +03:00
Lauri Ojansivu cb54293f98 Document restored checklist close control coverage 2026-09-13 15:05:55 +03:00
Lauri Ojansivu ddb43f09fe Run checklist close guards on an active card route 2026-09-13 15:02:41 +03:00
Lauri Ojansivu 367de94363 Document current Chrome discovery regression coverage 2026-09-13 14:58:16 +03:00
Lauri Ojansivu 98d473caf1 Find ARM64 Chrome in current Playwright images 2026-09-13 14:58:04 +03:00
Lauri Ojansivu 6ff547c5da Document test server process ownership regression checks 2026-09-13 14:53:27 +03:00
Lauri Ojansivu ebd45deb13 Record actual test server processes for reliable cleanup 2026-09-13 14:53:27 +03:00
Lauri Ojansivu 2195413d28 Document board query navigation repair and regression coverage 2026-09-13 14:51:35 +03:00
Lauri Ojansivu 9b2ff6136c Verify filter URL updates preserve the board and sidebar 2026-09-13 14:50:55 +03:00
Lauri Ojansivu c1714d26ea Keep the board mounted when filter query parameters change 2026-09-13 14:50:43 +03:00
Lauri Ojansivu 77988d4a66 Document database coverage and registered vet regression checks 2026-09-13 14:43:23 +03:00
Lauri Ojansivu db6a92336f Fail database conformance when a backend or source build cannot run 2026-09-13 14:43:07 +03:00
Lauri Ojansivu 56b8e5a273 Document calendar theme and browser availability regressions 2026-09-13 14:40:15 +03:00
Lauri Ojansivu 0cf8f15403 Verify calendar labels only for options supported by each browser 2026-09-13 14:39:31 +03:00
Lauri Ojansivu 3b84364483 Theme calendar navigation and day buttons with the same rules as Save 2026-09-13 14:37:08 +03:00
Lauri Ojansivu 1040816169 Record EVERYTHING test repairs and ongoing matrix verification 2026-09-13 14:33:09 +03:00
Lauri Ojansivu 37043149f5 Apply selected month views to the multi-board calendar and document grid alignment 2026-09-13 14:31:56 +03:00
Lauri Ojansivu 71b77aedad Align selected-calendar month grids with the configured week start 2026-09-13 14:30:53 +03:00
Lauri Ojansivu 9c7c14d3ff Use actual selected-calendar month ranges in grid and list views 2026-09-13 14:29:42 +03:00
Lauri Ojansivu c667aab276 Use current test dependencies for every browser route and seed timer defaults 2026-09-13 14:25:44 +03:00
Lauri Ojansivu 39b3be22e5 Seed enabled card section defaults in browser fixtures 2026-09-13 14:24:26 +03:00
Lauri Ojansivu 1d3c9b5cc0 Exercise visible calendar controls instead of hidden date fields in browser tests 2026-09-13 14:23:02 +03:00
Lauri Ojansivu 51a7f12892 Keep reactive filter clicks inside the sidebar and align browser regression fixtures 2026-09-13 14:21:31 +03:00
Lauri Ojansivu 9e0f75f5a7 Refresh browser test dependencies and repair the attachment viewer regression selector 2026-09-13 14:18:36 +03:00
Lauri Ojansivu cb9b689a6e Protect launcher ancestors during EVERYTHING process cleanup
Exclude launcher and ancestor PIDs before expanding abandoned test process trees. A shell command containing the test invocation must not terminate its own parent. Regression checks preserve cleanup of unrelated old tests without signalling real processes.
2026-09-13 14:10:48 +03:00
Lauri Ojansivu 43f2e2be3e Record passing Node regression run and retained translation pause 2026-09-13 14:07:41 +03:00
Lauri Ojansivu c3d87894ca Cover RTL date popup positioning and dragging in browser regression 2026-09-13 14:06:47 +03:00
Lauri Ojansivu 8ae15efffb Fix Node suite failures after calendar and translation updates
Restore backend configuration parity, resolve static calendar enum imports in OpenAPI generation, and parse Unicode property escapes without executing JavaScript. Preserve logical popup anchors and physical dragging. Protect reviewed source terms during filling, restore native examples and labels, and update stale guards while retaining the explicit unresolved Sardinian review. Add enum, dragging and filling regression coverage.
2026-09-13 14:06:01 +03:00
Lauri Ojansivu bc3a7f832f Pause translation repairs and summarize unreleased changes
Record the dated pause and remaining translation validation in the short audit and TODO Later. Group all unreleased calendar, OAuth2, translation and maintainer-tool changes since v11.72, including Playwright and repository mirror updates. Preserve released sections and record the full coverage audit and outstanding checks.
2026-09-13 13:58:03 +03:00
Lauri Ojansivu 1843fc94ef Record account translation repair progress 2026-09-13 13:52:07 +03:00
Lauri Ojansivu f6e2f742c2 Translate Klingon account and administrator messages
Preserve activation states, opposite click actions, required administrator and team creation contact. Complete software wording is low confidence and requires fluent-speaker review.
2026-09-13 13:51:57 +03:00
Lauri Ojansivu 1a0a08f6ca Record keyboard shortcut translation progress 2026-09-13 13:51:20 +03:00
Lauri Ojansivu 8d60a52c14 Translate Klingon keyboard shortcut messages
Preserve enabled and disabled states and the opposite click actions. Keyboard noun is attested; assembled shortcut wording is low confidence and requires fluent-speaker review.
2026-09-13 13:51:12 +03:00
Lauri Ojansivu 2531114b9d Record checklist text conversion translation progress 2026-09-13 13:50:38 +03:00
Lauri Ojansivu d9d99266b2 Translate Klingon checklist text conversion instructions
Preserve conversion of each text line into one checklist item and the original-order variant. Text-line terminology and assembled phrases are low confidence and need fluent-speaker review.
2026-09-13 13:50:30 +03:00
Lauri Ojansivu 4d2ce9c168 Record checklist visibility translation progress 2026-09-13 13:49:57 +03:00
Lauri Ojansivu edb82b7e1c Translate Klingon checklist visibility and list cleanup messages
Preserve all versus completed checklist items and duplicate-empty list conditions. Complete software phrasing is low confidence and requires fluent-speaker review.
2026-09-13 13:49:50 +03:00
Lauri Ojansivu 14804a511d Record upload translation repair progress 2026-09-13 13:49:13 +03:00
Lauri Ojansivu db6080e2c7 Translate Klingon upload and loading messages
Replace nine foreign-language transfer labels and status messages. Preserve ongoing, failed and completed states. Software terminology is low confidence and requires fluent-speaker review.
2026-09-13 13:49:04 +03:00
Lauri Ojansivu bbeefbe9be Record monitoring translation repair progress 2026-09-13 13:48:28 +03:00
Lauri Ojansivu 8a1c22bf1d Translate Klingon monitoring and refresh messages
Replace four German monitoring and refresh strings with Klingon. Software metaphors and complete wording are low confidence and require fluent-speaker review.
2026-09-13 13:48:27 +03:00
Lauri Ojansivu 797103d735 Shorten translation audit progress summary 2026-09-13 13:47:43 +03:00
Lauri Ojansivu 29408a8634 Update WeKan repo mirror script.
Thanks to providers of mirrors !
2026-09-13 13:45:48 +03:00
Lauri Ojansivu 507ea11e5d Record Klingon movement activity translation progress 2026-09-13 13:42:18 +03:00
Lauri Ojansivu 8dcef884a5 Translate Klingon movement and membership activity fragments
Preserve movement and import argument order, source/destination roles, creation, addition and joining. Verify substitutions against activity templates. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:42:10 +03:00
Lauri Ojansivu 2b90cdcd6e Record Klingon description translation progress 2026-09-13 13:41:08 +03:00
Lauri Ojansivu 267f3a4be1 Translate Klingon description and duplicate-list controls
Preserve additional description detail, unsaved description and deletion of duplicate empty lists. Reuse repaired description terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:41:00 +03:00
Lauri Ojansivu e9ae623464 Record Klingon authorization translation progress 2026-09-13 13:39:57 +03:00
Lauri Ojansivu 499144d2c5 Translate Klingon authorization and invitation errors
Preserve board role requirements, page-view permission, self-invitation prevention and invitation-code/schema checks. Reuse repaired terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:39:51 +03:00
Lauri Ojansivu 35e88ea9dc Record Klingon validation error translation progress 2026-09-13 13:38:47 +03:00
Lauri Ojansivu 0bb208c5ea Translate Klingon existence and validation errors
Preserve object identity, duplicate organization/team names, account creation, login attempt and malformed JSON meanings. Reuse repaired terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:38:38 +03:00
Lauri Ojansivu 79dda703b1 Record Klingon checklist completion translation progress 2026-09-13 13:37:41 +03:00
Lauri Ojansivu 7a636ea2e4 Translate Klingon checklist completion messages
Preserve completed and incomplete status, deletion confirmation, placeholder roles and comma-separated checklist instructions. Reuse existing checklist terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:37:34 +03:00
Lauri Ojansivu 4051054c58 Record Klingon organization translation progress 2026-09-13 13:36:40 +03:00
Lauri Ojansivu 3325e7d2be Translate Klingon organization and team controls
Preserve organization/team counts, edit titles and contact-administrator instruction. Reuse repaired terminology and source count-label spacing. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:36:31 +03:00
Lauri Ojansivu ed1cffe71c Record Klingon migration translation progress 2026-09-13 13:35:24 +03:00
Lauri Ojansivu 613b7dd9e0 Translate Klingon migration state messages
Preserve migration operation distinctions, success and failure, completion and stopping all migrations. Use descriptive data-changing task terminology. Assembled technical wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:35:16 +03:00
Lauri Ojansivu a0952334c2 Record Klingon scheduled-job translation progress 2026-09-13 13:34:22 +03:00
Lauri Ojansivu 6b0457aada Translate Klingon scheduled-job state controls
Preserve pause, resume and start distinctions, operation success or failure, and deletion confirmation. Reuse scheduled-task terminology and attested verbs. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:34:12 +03:00
Lauri Ojansivu d79fa90630 Record Klingon date activity translation progress 2026-09-13 13:32:55 +03:00
Lauri Ojansivu e00ede77d2 Translate Klingon date activities and restore format notation
Preserve formatted-date then card-link substitution order and distinguish start, received, due and end dates. Restore exact technical format labels. Assembled date wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:32:47 +03:00
Lauri Ojansivu 44654feb0d Record Klingon checklist activity translation progress 2026-09-13 13:31:52 +03:00
Lauri Ojansivu f2923f46d8 Translate Klingon checklist and custom-field activities
Preserve checklist item addition/removal and field-name/card-link substitution order. Describe custom-field unsetting as removing stored data, matching the card update hook. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:31:44 +03:00
Lauri Ojansivu 2d14d171b3 Record Klingon watching translation progress 2026-09-13 13:30:43 +03:00
Lauri Ojansivu 3234e9062c Translate Klingon watching and activity notification messages
Preserve watching scope, administrator disabling, creation-time watching and change notifications. Keep attachment deletion distinct from checklist removal. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:30:37 +03:00
Lauri Ojansivu 6769158b7b Record Klingon export translation progress 2026-09-13 13:29:37 +03:00
Lauri Ojansivu af9c8bc7bf Translate Klingon Excel and monitoring export controls
Preserve export format, field inclusion, board/card identity and export inability or failure. Reuse repaired export terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:29:30 +03:00
Lauri Ojansivu a6d5317841 Record Klingon add and remove translation progress 2026-09-13 13:28:36 +03:00
Lauri Ojansivu 5c36b83811 Translate Klingon add and remove controls
Preserve list placement, checklist and scheduled-job addition, cover-image changes and team/organization removal confirmations. Reuse repaired terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:28:30 +03:00
Lauri Ojansivu 91d3eca6ce Record Klingon account validation translation progress 2026-09-13 13:27:39 +03:00
Lauri Ojansivu 433fb2dce7 Translate Klingon account validation and name labels
Preserve duplicate account fields, required credentials and minimum three username characters with additional characters allowed. Reuse repaired terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:27:31 +03:00
Lauri Ojansivu 7e54745850 Record Klingon SMTP translation progress 2026-09-13 13:26:36 +03:00
Lauri Ojansivu b86fef0276 Translate Klingon SMTP settings descriptions and labels
Preserve host address, outbound connection port, TLS enabling and username meanings. Keep protocol identifiers recognizable. Assembled technical wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:26:25 +03:00
Lauri Ojansivu 192738ba25 Record Klingon account email translation progress 2026-09-13 13:25:39 +03:00
Lauri Ojansivu 15ef356a37 Translate Klingon account email bodies and subjects
Preserve enrollment, reset and verification actions, exact placeholders and paragraph breaks. Reuse password and message terminology with descriptive link/address metaphors. Assembled wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:25:33 +03:00
Lauri Ojansivu 0b8259eed1 Record Klingon email translation progress 2026-09-13 13:24:25 +03:00
Lauri Ojansivu 8c5b09b8bf Translate Klingon storage confirmation and email messages
Preserve S3 save completion, test-email recipient, invitation actor and account enrollment site. Reuse repaired terminology and exact source placeholders. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:24:17 +03:00
Lauri Ojansivu e63b3ad317 Record Klingon list action translation progress 2026-09-13 13:23:21 +03:00
Lauri Ojansivu c619e961d5 Translate Klingon list and card action controls
Preserve all-card list scope, single additions and Trello import source. Reuse repaired movement, selection and import terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:23:14 +03:00
Lauri Ojansivu 5686c3ae0d Record Klingon permission translation progress 2026-09-13 13:22:27 +03:00
Lauri Ojansivu b6f4a1e7fe Translate Klingon read and comment permissions
Preserve assigned-card visibility, comment-only and read-only capabilities, editing restrictions and hidden comments. Reuse repaired terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:22:19 +03:00
Lauri Ojansivu 8e34b2956b Record Klingon lookup translation progress 2026-09-13 13:21:28 +03:00
Lauri Ojansivu ef6450570b Translate Klingon lookup and save failure messages
Preserve lookup identities, comment containment, scheduled-job deletion and S3 configuration saving. Reuse repaired terminology and source percent tokens. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:21:22 +03:00
Lauri Ojansivu 9b8a0eb5ac Record Klingon starred-board translation progress 2026-09-13 13:20:37 +03:00
Lauri Ojansivu 51735012ea Translate Klingon starred-board controls
Preserve star-marker actions, count and top-of-list display. Replace German labels using a descriptive star-label metaphor. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:20:30 +03:00
Lauri Ojansivu 2ccb3f6c62 Record Klingon card window translation progress 2026-09-13 13:19:30 +03:00
Lauri Ojansivu c48c9984cc Translate Klingon card window and checklist form controls
Preserve multiple-card window behavior, add/edit form closure and the missing-board placeholder. Reuse existing terminology with descriptive software window and form metaphors. Assembled wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:19:22 +03:00
Lauri Ojansivu df3b0eac40 Record Klingon permanent deletion translation progress 2026-09-13 13:18:18 +03:00
Lauri Ojansivu 1b41036ba3 Translate Klingon permanent deletion warnings
Preserve permanent deletion, label history loss, card activity loss and all-notification confirmation. Reuse descriptive original-state restoration wording. Assembled software phrasing is low confidence and needs fluent-speaker validation.
2026-09-13 13:18:09 +03:00
Lauri Ojansivu 0b5f0e303d Record Klingon deletion warning translation progress 2026-09-13 13:17:13 +03:00
Lauri Ojansivu 69b5875476 Translate Klingon card membership and deletion warnings
Preserve member addition/removal, comment counts, irreversible deletion confirmations and existing-user restrictions. Describe restoring the original state for undo warnings. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:17:07 +03:00
Lauri Ojansivu 84d37ee41b Record Klingon label translation progress 2026-09-13 13:16:13 +03:00
Lauri Ojansivu 999a94f737 Translate Klingon label and membership display controls
Preserve label actions and label/card substitution order, plus added-team and organization display position. Reuse existing terminology and plural indefinite agreement. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:16:07 +03:00
Lauri Ojansivu fef0278d97 Record Klingon visibility translation progress 2026-09-13 13:15:05 +03:00
Lauri Ojansivu cecb82598b Translate Klingon visibility and week-number controls
Preserve each control scope and the ISO 8601 reference. Reuse existing card, list, member and image terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:15:01 +03:00
Lauri Ojansivu 1cf23b6043 Record Klingon search translation progress 2026-09-13 13:14:21 +03:00
Lauri Ojansivu bd275b310b Translate Klingon search sorting instructions and errors
Preserve executable sorting syntax, descending order and number/value placeholder roles. Replace four German search messages. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:14:16 +03:00
Lauri Ojansivu 28e6bae16f Record Klingon attachment translation progress 2026-09-13 13:13:22 +03:00
Lauri Ojansivu 1172b87517 Translate Klingon attachment storage controls
Preserve storage destinations and singular, board-wide and global movement scopes. Reuse attachment terminology and retain technical backend names. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:13:15 +03:00
Lauri Ojansivu a71b775d1b Record Klingon filter translation progress 2026-09-13 13:12:05 +03:00
Lauri Ojansivu 6c03603472 Translate Klingon filter status and personal card controls
Preserve filter criteria, click-to-edit instructions, assignment to me and personal ownership. Clearing removes filter criteria. Assembled software phrasing is low confidence and needs fluent-speaker validation.
2026-09-13 13:11:57 +03:00
Lauri Ojansivu 8948f97bd3 Record Klingon subtask and sorting translation progress 2026-09-13 13:11:03 +03:00
Lauri Ojansivu ba42d1014d Translate Klingon subtask destinations and export controls
Replace five audited German controls, preserving destination, confirmation and inability to export. Correct plural indefinite-subject agreement in both numeric card-sorting labels according to Klingon Language Institute guidance. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:10:58 +03:00
Lauri Ojansivu 95c1529827 Record Klingon comment translation progress 2026-09-13 13:09:56 +03:00
Lauri Ojansivu 494ed5d0f6 Translate Klingon comment activities and controls
Reuse existing small-message terminology for comments and preserve addition, editing and deletion distinctions. Verify comment text substitution against the activity template. Assembled wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:09:49 +03:00
Lauri Ojansivu ca4709d295 Record Klingon import and movement translation progress 2026-09-13 13:08:50 +03:00
Lauri Ojansivu 2aa937a036 Translate Klingon import and card movement activities
Preserve import destinations and every old/new movement context placeholder; align duplicate label-removal wording. The import metaphor and assembled movement phrases are low confidence and need fluent-speaker validation.
2026-09-13 13:08:42 +03:00
Lauri Ojansivu a79c09426d Record Klingon membership translation progress 2026-09-13 13:07:30 +03:00
Lauri Ojansivu ce33d3d37f Translate Klingon membership and checklist removal activities
Preserve member addition versus removal and the exact checklist placeholder capitalization. Reuse card and checklist terminology. Assembled software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:07:25 +03:00
Lauri Ojansivu bc44429ddd Record Klingon activity translation progress 2026-09-13 13:06:29 +03:00
Lauri Ojansivu ff1d126b60 Translate Klingon addition and removal activities
Replace nine German activity messages while preserving placeholder roles, board context, and addition versus deletion or removal. Reuse existing card, checklist, attachment and label terms. Assembled wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:06:24 +03:00
Lauri Ojansivu 3b40f7ea45 Record Klingon account and login translation progress 2026-09-13 13:05:27 +03:00
Lauri Ojansivu bf9b04829b Translate Klingon account creation and login controls
Preserve existing-account prompts, account creation success and failure, and the ability to log in after creation. Reuse the account borrowing. Software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:05:17 +03:00
Lauri Ojansivu 800ad5e7d6 Record Klingon notification and account translation progress 2026-09-13 13:04:20 +03:00
Lauri Ojansivu 4613a63b77 Translate Klingon account self-deletion permission
Preserve permission for the user to delete their own account. The account borrowing follows existing controls; the assembled wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:04:16 +03:00
Lauri Ojansivu e981bc8a49 Translate Klingon notification controls
Replace German and French notification labels and retain deletion of all notification messages. Descriptive software wording is low confidence and needs fluent-speaker validation.
2026-09-13 13:03:54 +03:00
Lauri Ojansivu e2dab89295 Record Klingon filter translation progress 2026-09-13 13:01:13 +03:00
Lauri Ojansivu d864cbce86 Translate Klingon filter and subtask-field controls
Preserve filter criteria and object distinctions. Full software wording remains low confidence and requires fluent-speaker validation.
2026-09-13 13:00:58 +03:00
Lauri Ojansivu 74188d1cf8 Record Klingon alphabetical-label translation progress 2026-09-13 13:00:27 +03:00
Lauri Ojansivu 1b3e0dfa1a Translate Klingon title and alphabetical-order labels 2026-09-13 13:00:18 +03:00
Lauri Ojansivu 8104312987 Record Klingon sorting translation progress 2026-09-13 12:59:28 +03:00
Lauri Ojansivu 1d30021614 Correct subject prefix in Klingon sort shortcut 2026-09-13 12:59:18 +03:00
Lauri Ojansivu 6b5b0a722f Translate Klingon sorting controls
Use the attested sorting verb with list items as its object. Full UI phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:59:03 +03:00
Lauri Ojansivu f37e6ef066 Record Klingon layout translation progress 2026-09-13 12:58:15 +03:00
Lauri Ojansivu ec011c3622 Translate Klingon swimlane layout controls
Replace three flagged German controls using descriptive height wording and preserve add-below direction. Full phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:58:07 +03:00
Lauri Ojansivu e81ae90cf1 Record Klingon sidebar translation progress 2026-09-13 12:57:22 +03:00
Lauri Ojansivu 9390995857 Translate Klingon sidebar shortcut labels
Replace three flagged German labels and distinguish search, board and filter panels. Software descriptions remain low confidence and require fluent-speaker validation.
2026-09-13 12:57:12 +03:00
Lauri Ojansivu e600fc07ae Record Klingon selection translation progress 2026-09-13 12:56:37 +03:00
Lauri Ojansivu 9204275316 Translate Klingon selection and read controls
Replace three flagged German controls using existing vocabulary. Full constructions remain low confidence and require fluent-speaker validation.
2026-09-13 12:56:27 +03:00
Lauri Ojansivu 7bea1b0724 Record Klingon formatting translation progress 2026-09-13 12:55:43 +03:00
Lauri Ojansivu 24d6321d9e Translate Klingon formatting and card display labels
Replace three flagged German strings while retaining markdown. Descriptive software terminology and full phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:55:34 +03:00
Lauri Ojansivu 7a79b46778 Record Klingon transfer translation progress 2026-09-13 12:54:59 +03:00
Lauri Ojansivu b8aa21bbe5 Translate Klingon export and transfer failures
Replace three flagged German labels while retaining PDF and S3. Full software phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:54:49 +03:00
Lauri Ojansivu b3ea285f0d Record Klingon checklist-item translation progress 2026-09-13 12:54:13 +03:00
Lauri Ojansivu 1cf58d4d52 Translate Klingon checklist-item controls and example
Replace three flagged German strings while preserving the deletion question and comma-separated example. Full phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:54:03 +03:00
Lauri Ojansivu e1509f89bd Clarify checklist repair batch count 2026-09-13 12:53:28 +03:00
Lauri Ojansivu 7d9bf4692b Record Klingon checklist translation progress 2026-09-13 12:53:22 +03:00
Lauri Ojansivu 10a847efb9 Translate Klingon checklist labels and activity
Replace four labels using existing checklist wording and preserve the activity destination placeholder. Descriptive terminology and full phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:53:13 +03:00
Lauri Ojansivu 71bc1a74d1 Record Klingon field-control translation progress 2026-09-13 12:52:39 +03:00
Lauri Ojansivu cbaca1079e Translate Klingon custom-field controls
Replace four flagged German controls while preserving deletion, display, all-card and new-card distinctions. Full phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:52:29 +03:00
Lauri Ojansivu 870212c7c8 Record Klingon custom-field translation progress 2026-09-13 12:51:57 +03:00
Lauri Ojansivu 12552afa83 Translate Klingon custom-field labels
Use descriptive user-configured data-field wording consistently across four labels. Software terminology and full clauses remain low confidence and require fluent-speaker validation.
2026-09-13 12:51:47 +03:00
Lauri Ojansivu ea8327b613 Record Klingon missing-item translation progress 2026-09-13 12:51:07 +03:00
Lauri Ojansivu 5f24d549a4 Translate Klingon missing-item messages and team labels
Replace five German/French labels and preserve the missing-name placeholder roles. Assembled software phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:50:58 +03:00
Lauri Ojansivu beaeecf1ae Record Klingon subtask translation repair progress 2026-09-13 12:50:18 +03:00
Lauri Ojansivu 3c57568240 Translate Klingon subtask labels consistently
Replace six German labels, preserving the deletion question. Software hierarchy terminology and assembled phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:50:02 +03:00
Lauri Ojansivu 153d06b7f9 Record Klingon activity translation repair progress 2026-09-13 12:49:21 +03:00
Lauri Ojansivu b318e634a9 Translate Klingon attachment and membership activity messages
Replace four flagged German messages and preserve placeholder roles. Software constructions and the subtask term remain low confidence and require fluent-speaker validation.
2026-09-13 12:49:12 +03:00
Lauri Ojansivu 1b93a3a76b Record Klingon display translation repair progress 2026-09-13 12:48:38 +03:00
Lauri Ojansivu 76323796cd Translate Klingon background and list display actions
Replace five flagged German labels using existing vocabulary. Assembled UI phrases are low confidence and require fluent-speaker validation.
2026-09-13 12:48:29 +03:00
Lauri Ojansivu 9a12a984de Record Klingon card and attachment translation progress 2026-09-13 12:47:55 +03:00
Lauri Ojansivu 033c374e5e Translate Klingon card and attachment settings
Replace seven German labels using existing card and attachment terms. Software compounds and full phrases remain low confidence and need fluent-speaker validation.
2026-09-13 12:47:46 +03:00
Lauri Ojansivu a0695653ee Record Klingon settings translation progress 2026-09-13 12:47:06 +03:00
Lauri Ojansivu fcf9be87d6 Translate Klingon settings labels consistently
Replace ten German labels with direct configuration-data wording, retaining S3 and existing workspace, board and organization terms. Full phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:46:57 +03:00
Lauri Ojansivu 2104d8b6db Record Klingon webhook translation progress 2026-09-13 12:46:24 +03:00
Lauri Ojansivu 7a875b0d23 Translate Klingon webhook action and direction labels
Replace German labels and a French title, retaining the webhook technical term. Assembled phrases and borrowing inflection are low confidence and require fluent-speaker validation.
2026-09-13 12:46:15 +03:00
Lauri Ojansivu afccdd3b65 Record Klingon password translation repairs 2026-09-13 12:45:42 +03:00
Lauri Ojansivu 51a648ed2b Translate Klingon password and diagnostic labels
Replace six German labels, including unflagged password strings. Assembled software phrases remain low confidence and require fluent-speaker validation.
2026-09-13 12:45:33 +03:00
Lauri Ojansivu 8a945fb24b Update audit after Klingon account translation repairs 2026-09-13 12:45:02 +03:00
Lauri Ojansivu b3d5fa6988 Replace German account and error labels in Klingon
Translate username change, password mismatch and generic failure directly. Assembled software phrases are low confidence and require fluent-speaker validation.
2026-09-13 12:44:53 +03:00
Lauri Ojansivu aa90523be1 Record Sesotho calendar repair progress 2026-09-13 12:44:02 +03:00
Lauri Ojansivu 50d414c190 Translate Sesotho astronomical Hijri calendar label
Keep the tabular calculation and astronomical starting-date distinctions. Assembled phrase requires native-speaker validation and is recorded as low confidence.
2026-09-13 12:43:54 +03:00
Lauri Ojansivu 8c5fe2f47d Record Setswana calendar repair progress 2026-09-13 12:43:16 +03:00
Lauri Ojansivu d99b024294 Translate Setswana tabular Hijri calendar labels
Preserve civil versus astronomical starting-date distinctions. Full phrases and calendar-domain terminology require native-speaker review and are recorded as low confidence.
2026-09-13 12:43:08 +03:00
Lauri Ojansivu 1a3c1b293c Record Chichewa calendar translation progress 2026-09-13 12:42:26 +03:00
Lauri Ojansivu 2044c8a266 Translate Chichewa civil Hijri calendar label
Reuse existing calendar terminology. The civil-domain wording is low confidence and requires native-speaker validation.
2026-09-13 12:42:17 +03:00
Lauri Ojansivu c227bd4625 Update audit after Northern Sami calendar repairs 2026-09-13 12:41:36 +03:00
Lauri Ojansivu cb71629e40 Translate Northern Sami Hijri calendar variants
Replace three English labels while preserving the calendar distinctions. Full phrases and the starting-date compound need native-speaker validation and are recorded as low confidence.
2026-09-13 12:41:25 +03:00
Lauri Ojansivu 8ddd841d7e Record Sardinian translation repair progress 2026-09-13 12:40:31 +03:00
Lauri Ojansivu 8d8072ad78 Correct Sardinian workspace and remaining time labels 2026-09-13 12:40:20 +03:00
Lauri Ojansivu 3b00c7b120 Review Sardinian computer terminology and refresh audit progress 2026-09-13 12:39:28 +03:00
Lauri Ojansivu 1a7c147983 Record Sardinian chart translation repair progress 2026-09-13 12:36:58 +03:00
Lauri Ojansivu f42bab7f5b Localize Sardinian work progress chart labels
Use existing work, remaining and completed terminology, retaining chart identifiers. Assembled labels need native-speaker validation.
2026-09-13 12:36:57 +03:00
Lauri Ojansivu fa2f08edbd Record Cornish flagged queue progress and validation limits 2026-09-13 12:36:10 +03:00
Lauri Ojansivu 2b2f08df94 Repair Cornish Hijri calendar variant labels
Restore tabular and civil versus astronomical starting-date distinctions. Technical phrasing remains low confidence and needs native validation.
2026-09-13 12:36:09 +03:00
Lauri Ojansivu 51e7545256 Record Cornish Coptic translation repair progress 2026-09-13 12:35:28 +03:00
Lauri Ojansivu 95236d91aa Translate Cornish Coptic calendar label
Follow existing calendar and adjective terminology. Coptic adjective is low confidence and requires native-speaker validation.
2026-09-13 12:35:27 +03:00
Lauri Ojansivu 8852a58270 Record Hawaiian flagged queue progress and validation limits 2026-09-13 12:34:41 +03:00
Lauri Ojansivu 890d04d343 Repair Hawaiian calendar translation labels
Restore omitted tabular, epoch and sighting distinctions. Scientific noun combinations and Coptic rendering remain low confidence.
2026-09-13 12:34:40 +03:00
Lauri Ojansivu 0c0f3b0bf5 Record Kashubian flagged queue progress and validation limits 2026-09-13 12:33:54 +03:00
Lauri Ojansivu 3add87fdab Repair Kashubian Hijri calendar variant labels
Restore tabular, epoch and sighting distinctions. Assembled scientific wording remains low confidence and needs native-speaker validation.
2026-09-13 12:33:53 +03:00
Lauri Ojansivu 87b0ffb21b Record Kashubian calendar translation repair progress 2026-09-13 12:33:15 +03:00
Lauri Ojansivu bc2f3ba1bf Translate four Kashubian calendar labels
Replace English names following existing calendar terminology; preserve Amete Alem. Adjective renderings remain low confidence and need native validation.
2026-09-13 12:33:14 +03:00
Lauri Ojansivu acdf35b01b Record Buryat flagged queue progress and validation limits 2026-09-13 12:32:12 +03:00
Lauri Ojansivu 3678e27372 Repair Buryat Hijri calendar variant translations
Restore omitted tabular, epoch and sighting distinctions. Direct scientific wording and name renderings remain low confidence and need native review.
2026-09-13 12:32:12 +03:00
Lauri Ojansivu 392458188d Record Buryat calendar translation repair progress 2026-09-13 12:31:23 +03:00
Lauri Ojansivu 8f95ba52f1 Repair four Buryat calendar translation labels
Replace Turkish and English text with direct Buryat wording following local calendar terminology. Name renderings and assembled phrases remain low confidence.
2026-09-13 12:31:22 +03:00
Lauri Ojansivu 7c0249def4 Record Volapük flagged queue progress and validation limits 2026-09-13 12:30:43 +03:00
Lauri Ojansivu bdaa51d424 Repair Volapük Hijri sighting calendar label
Restore sighting distinction with dictionary-supported observation term. Country proper name retained; complete phrase needs native validation.
2026-09-13 12:30:42 +03:00
Lauri Ojansivu 4dfb0318c6 Record scrollbar translation repair progress 2026-09-13 12:29:57 +03:00
Lauri Ojansivu d7168ebc6e Translate vertical scrollbar option into Volapük
Replace French label with descriptive dictionary-based wording. Scrollbar adaptation remains low confidence and needs native review.
2026-09-13 12:29:56 +03:00
Lauri Ojansivu 009e683df3 Record advanced filter translation repair progress 2026-09-13 12:29:13 +03:00
Lauri Ojansivu 3d3468ad36 Translate Volapük advanced filter help and repair escapes
Preserve operators, regex and literal examples, correcting doubled backslashes. Assembled prose remains low confidence and requires native review.
2026-09-13 12:29:13 +03:00
Lauri Ojansivu 5c841d7802 Record display mode translation repair progress 2026-09-13 12:28:21 +03:00
Lauri Ojansivu ac31895246 Repair Volapük display mode translations
Replace three French labels consistently, including two unflagged strings. Assembled wording and software borrowings remain low confidence.
2026-09-13 12:28:20 +03:00
Lauri Ojansivu 5017e75925 Record Japanese calendar translation repair progress 2026-09-13 12:27:45 +03:00
Lauri Ojansivu 9866ec1098 Translate Japanese calendar label into Volapük
Use attested Yapänik adjective; failed dictionary lookup did not establish invalidity. Full label needs native-speaker validation.
2026-09-13 12:27:45 +03:00
Lauri Ojansivu 156b0e1105 Update audit progress for Hijri variant translations 2026-09-13 12:27:09 +03:00
Lauri Ojansivu 22d2f5fe93 Repair Volapük Hijri calendar variant labels
Restore tabular and civil versus astronomical epoch distinctions. Preserve proper variant names. Assembled technical labels remain low confidence.
2026-09-13 12:27:08 +03:00
Lauri Ojansivu 9ddb860233 Update audit for recovery and repository translation repairs 2026-09-13 12:26:27 +03:00
Lauri Ojansivu 4b75fe8dfa Repair Volapük recovery and repository translations
Replace nine French labels, including related unflagged strings. Repository borrowing and orphan metaphor remain low confidence; native review required.
2026-09-13 12:26:26 +03:00
Lauri Ojansivu 7212c942ba Record Buddhist Coptic and Minguo translation progress 2026-09-13 12:25:49 +03:00
Lauri Ojansivu 8fe98ec4f8 Translate Volapük Buddhist Coptic and Minguo calendars
Use attested Buddhist adjective and Copt noun; preserve Minguo calendar name. Assembled labels need native-speaker validation.
2026-09-13 12:25:48 +03:00
Lauri Ojansivu f487627459 Record drag handle and storage translation progress 2026-09-13 12:25:15 +03:00
Lauri Ojansivu 1eecc60b82 Repair Volapük drag handle and storage engine labels
Replace French text with dictionary-based software wording. Handle adaptation and technical borrowings remain low confidence.
2026-09-13 12:25:14 +03:00
Lauri Ojansivu a44f78c6c5 Update translation audit for calendar country labels 2026-09-13 12:24:23 +03:00
Lauri Ojansivu 04f0ca1050 Translate Volapük Ethiopian and Indian calendar labels
Use dictionary-attested country adjectives and national terminology. Preserve Amete Alem variant name; full phrases still need native-speaker review.
2026-09-13 12:24:22 +03:00
Lauri Ojansivu 36f8ddd5a7 Record remaining Node memory translation repairs 2026-09-13 12:23:42 +03:00
Lauri Ojansivu c6df696612 Repair remaining Volapük Node memory statistic labels
Replace eleven French labels while retaining technical metric names and distinctions. Assembled software phrasing remains low confidence and needs native-speaker review.
2026-09-13 12:23:41 +03:00
Lauri Ojansivu 24207d3d7c Update audit progress for Node memory translations 2026-09-13 12:22:41 +03:00
Lauri Ojansivu ef1d595d3f Repair four Volapük Node memory statistic labels
Preserve total size, size limit, external memory and actual usage distinctions. Dictionary-based technical phrasing remains low confidence.
2026-09-13 12:22:40 +03:00
Lauri Ojansivu 4a50fcb0a0 Record database and upload translation repair progress 2026-09-13 12:22:04 +03:00
Lauri Ojansivu bec13dc5a3 Repair Volapük database migrations and upload labels
Replace French database label and an unflagged Esperanto upload action. Existing migration borrowing remains low confidence.
2026-09-13 12:22:03 +03:00
Lauri Ojansivu 0bde0bb5b2 Update translation audit progress for spinner repairs 2026-09-13 12:21:20 +03:00
Lauri Ojansivu 0db24a3eaf Repair Volapük wait-spinner labels
Replace four French labels while retaining selectable animation identifiers. Dictionary-based software wording remains low confidence and needs native-speaker review.
2026-09-13 12:21:14 +03:00
Lauri Ojansivu e1ca080c06 Record comment-role translation repair progress 2026-09-13 12:18:11 +03:00
Lauri Ojansivu 18ecbef828 Repair Volapük comment-role and URL scheme labels
Preserve comment-only versus assigned-card scope, optional authentication token and one automatically clickable URL scheme per line. Assembled wording remains low confidence pending native review.
2026-09-13 12:18:07 +03:00
Lauri Ojansivu b326ad49d0 Record calendar-label translation repair progress 2026-09-13 12:17:00 +03:00
Lauri Ojansivu b1c2a92ae1 Repair initial Volapük calendar labels
Preserve calendar identities, Dangi proper name and Gregorian calendar with ISO 8601 weeks. Assembled labels remain low confidence pending native review.
2026-09-13 12:16:52 +03:00
Lauri Ojansivu f2435588c5 Record path and warning translation repair progress 2026-09-13 12:15:48 +03:00
Lauri Ojansivu 6356c67b36 Repair Volapük path preview and limit warnings
Preserve full parent hierarchy positions, PDF download alternative, permanent vote deletion and user-defined WIP limit comparison. Assembled wording remains low confidence pending native review.
2026-09-13 12:15:39 +03:00
Lauri Ojansivu 1410349fa8 Record legal-notice translation repair progress 2026-09-13 12:14:39 +03:00
Lauri Ojansivu 5e9f4148c7 Repair Volapük joined legal-notice acceptance text
Preserve continuing and accepting our notice in the combined span/link sentence and custom page URL meaning. Assembled wording remains low confidence pending native review.
2026-09-13 12:14:32 +03:00
Lauri Ojansivu fef9bae41a Record accessibility translation repair progress 2026-09-13 12:13:42 +03:00
Lauri Ojansivu c6a343b518 Repair Volapük accessibility page labels
Use consistent attested accessibility vocabulary and preserve heading title content enablement and missing-information distinctions. Software adaptation remains low confidence pending native review.
2026-09-13 12:13:38 +03:00
Lauri Ojansivu 051e5aabd9 Record authentication translation repair progress 2026-09-13 12:12:52 +03:00
Lauri Ojansivu b3f8c895a1 Repair Volapük authentication-method labels
Use consistent identity-checking terminology and preserve generic display and default-selector functions. Assembled software wording remains low confidence pending native review.
2026-09-13 12:12:48 +03:00
Lauri Ojansivu febbd6472f Record action and reminder translation repair progress 2026-09-13 12:12:05 +03:00
Lauri Ojansivu a612b220da Repair Volapük action reminder and sum labels
Preserve label/member action distinctions, first due-reminder placeholders, wish-list example and numeric sum at list top. Assembled wording remains low confidence pending native review.
2026-09-13 12:11:59 +03:00
Lauri Ojansivu 1707a99e58 Record clipboard translation repair progress 2026-09-13 12:11:05 +03:00
Lauri Ojansivu 88ef9a9e5d Repair Volapük clipboard and autocomplete labels
Use consistent descriptive clipboard wording and preserve card-link/link/text distinctions, drag/drop and emoji/member completion. Assembled software terms remain low confidence pending native review.
2026-09-13 12:11:00 +03:00
Lauri Ojansivu 58b991b14f Record search error translation repair progress 2026-09-13 12:10:16 +03:00
Lauri Ojansivu 9e476cb99b Repair Volapük search operator error messages
Preserve exact operator/value placeholders, expected-number and received-value roles, and existence-check versus debug-predicate errors. Technical wording remains low confidence pending native review.
2026-09-13 12:10:11 +03:00
Lauri Ojansivu 2512b12b18 Record retained migration-label translation progress 2026-09-13 12:09:19 +03:00
Lauri Ojansivu 7ee8552e2c Repair Volapük retained migration-step labels
Preserve analysis validation conversion update finalization and separate recovery targets. Obsolete migration workflows remain removed; assembled wording remains low confidence pending native review.
2026-09-13 12:09:14 +03:00
Lauri Ojansivu 59793642f1 Record support and tracking translation repair progress 2026-09-13 12:08:22 +03:00
Lauri Ojansivu 61da5551c5 Repair Volapük support tracking and card-control messages
Preserve permanent deletion, private-only visibility, label add/remove behavior, creator/member tracking, unsaved description and week-start semantics. Assembled wording remains low confidence pending native review.
2026-09-13 12:08:18 +03:00
Lauri Ojansivu e36360520b Record logo and zoom translation repair progress 2026-09-13 12:07:32 +03:00
Lauri Ojansivu f1202a96d6 Repair Volapük logo OIDC and zoom settings
Preserve top-left position, distinct image/link URLs, default height 27, OIDC identity and zoom range 50-300%. Assembled wording remains low confidence pending native review.
2026-09-13 12:07:26 +03:00
Lauri Ojansivu d462722ac4 Record custom page translation repair progress 2026-09-13 12:06:39 +03:00
Lauri Ojansivu cbde57c3a8 Repair Volapük custom page and manifest settings
Preserve technical filenames, HTML element names, JSON/HTML types and URL labels. Assembled wording and technical adaptations remain low confidence pending native review.
2026-09-13 12:06:33 +03:00
Lauri Ojansivu 14be1f9cac Record description recovery translation repair progress 2026-09-13 12:05:48 +03:00
Lauri Ojansivu 7fff9b4459 Repair Volapük description recovery and input help
Preserve description replacement choice, unsaved-before-close scope, label numbers, upload/rename cancellation, Enter and exact template placeholder. Assembled wording remains low confidence pending native review.
2026-09-13 12:05:43 +03:00
Lauri Ojansivu 440ef09931 Record SMTP translation repair progress 2026-09-13 12:04:56 +03:00
Lauri Ojansivu 3be81305ac Repair Volapük SMTP and troubleshooting messages
Preserve SMTP/TLS identifiers, outgoing-port semantics, exact snap and Docker diagnostic commands and source line breaks. Assembled wording remains low confidence pending native review.
2026-09-13 12:04:52 +03:00
Lauri Ojansivu fc5c4c6a67 Record legacy recovery translation repair progress 2026-09-13 12:04:02 +03:00
Lauri Ojansivu f5a7da3849 Repair Volapük legacy recovery-migration translations
Preserve technical IDs and recovery-column name, non-archived scope, automatic repair and difficult-to-undo warning. Removed migrations remain removed. Assembled wording remains low confidence pending native review.
2026-09-13 12:03:58 +03:00
Lauri Ojansivu 0ee6f73ed8 Record role and setting translation repair progress 2026-09-13 12:02:57 +03:00
Lauri Ojansivu dd192c23cd Repair Volapük role descriptions and list-setting labels
Preserve read-only and assigned-card limits, normal role identity, invitation sender/recipient placeholder, assigned-card filtering, height and maximum-task settings. Assembled wording remains low confidence pending native review.
2026-09-13 12:02:53 +03:00
Lauri Ojansivu 002dee3070 Record duplicate-list translation repair progress 2026-09-13 12:02:10 +03:00
Lauri Ojansivu ddda83b5d2 Repair Volapük duplicate-list deletion warnings
Preserve empty-list and same-title populated-duplicate conditions, conversion before deletion, and distinct sidebar confirmation. Assembled wording remains low confidence pending native review.
2026-09-13 12:02:06 +03:00
Lauri Ojansivu 65c430e851 Update concise audit for selection and keyboard repairs 2026-09-13 12:01:17 +03:00
Lauri Ojansivu 7168d9f1f1 Repair Volapük selection and keyboard-control messages
Preserve paired keyboard actions, all-read/all-unread notification states, checkbox board selection and label/member bulk controls. Descriptive software wording remains low confidence pending native review.
2026-09-13 12:01:12 +03:00
Lauri Ojansivu 7b1fd3de78 Record account and invitation translation repair progress 2026-09-13 12:00:26 +03:00
Lauri Ojansivu 5e591c43a7 Repair Volapük account invitation and display messages
Preserve invitation success and failure, permission and existing-account conditions, possible private-page access after login, and sign-in HTML/URL placeholder. Assembled wording remains low confidence pending native review.
2026-09-13 12:00:20 +03:00
Lauri Ojansivu 837b0f44d0 Update concise audit progress for date and email repairs 2026-09-13 11:59:26 +03:00
Lauri Ojansivu 2cf52d6f29 Repair Volapük date-popup titles and email messages
Preserve start, receipt, due, end and voting-end distinctions, Planning Poker name, invitation sender/recipient roles and successful email semantics. Assembled wording remains low confidence pending native review.
2026-09-13 11:59:20 +03:00
Lauri Ojansivu 962a5daa10 Record latest translation repairs in concise audit summary 2026-09-13 11:58:32 +03:00
Lauri Ojansivu c370b985ef Repair Volapük automatic-width and reconnect messages
Preserve opposite width-control states and actions, the avatar size upper bound, and reconnect semantics. Assembled wording remains low confidence pending native review.
2026-09-13 11:58:29 +03:00
Lauri Ojansivu 183fa9ab85 Update concise translation audit progress summary 2026-09-13 11:57:40 +03:00
Lauri Ojansivu 62cd464dcd Repair Volapük copy-card format and creation sorting
Preserve literal JSON property names, three example cards, and opposite creation-date sort directions. Assembled software wording remains low confidence pending native review.
2026-09-13 11:57:28 +03:00
Lauri Ojansivu fab52e82aa Record scheduled job translation repair progress 2026-09-13 11:54:35 +03:00
Lauri Ojansivu a797a67231 Repair Volapük scheduled job and migration status messages
Preserve start and resume distinctions, retry initiation, failed and paused eligibility and clearing all errors. Assembled software wording remains low confidence pending native review.
2026-09-13 11:54:31 +03:00
Lauri Ojansivu 59ea4b8781 Record administration label translation repair progress 2026-09-13 11:53:33 +03:00
Lauri Ojansivu 44f3d30f5f Repair Volapük card and workspace administration labels
Preserve card hierarchy, custom fields, member assignment and numeric minicard sorting. Software adaptations remain low confidence pending native review.
2026-09-13 11:53:28 +03:00
Lauri Ojansivu 828d3fc3b6 Record date activity translation repair progress 2026-09-13 11:52:35 +03:00
Lauri Ojansivu 7581e0a69d Repair Volapük date activities and account notices
Preserve old and new time roles and received-date versus card-link arguments. Derived receipt and assembled software wording remain low confidence pending native review.
2026-09-13 11:52:30 +03:00
Lauri Ojansivu 06be8cb92a Record member mapping translation repair progress 2026-09-13 11:51:42 +03:00
Lauri Ojansivu 6047a6f848 Repair Volapük member mapping and assignment guidance
Preserve imported-member roles without permission escalation, domain membership and numbered assignee toggles. Technical borrowings and assembled software wording remain low confidence pending native review.
2026-09-13 11:51:36 +03:00
Lauri Ojansivu 1b84ea2081 Record file migration translation repair progress 2026-09-13 11:50:46 +03:00
Lauri Ojansivu cfff5956f7 Repair Volapük file and avatar migration descriptions
Preserve attachment versus member-avatar scope, storage backend, broken references and continuation questions. Technical borrowings and assembled software wording remain low confidence pending native review.
2026-09-13 11:50:42 +03:00
Lauri Ojansivu 3a5e8f8f8c Record loading warning translation repair progress 2026-09-13 11:49:35 +03:00
Lauri Ojansivu c923f1652d Repair Volapük loading warning and scheduled job label
Preserve refresh data-loss warning, server check, scheduled action and planning poker deletion question. Reload derivation and assembled software wording remain low confidence pending native review.
2026-09-13 11:49:31 +03:00
Lauri Ojansivu ed9fd887e3 Record migration confirmation translation repair progress 2026-09-13 11:48:49 +03:00
Lauri Ojansivu c9f8355ba5 Repair Volapük migration confirmations and stages
Preserve integrity repair and missing-list scopes, duration caution and continuation questions. Migration borrowing and assembled software wording remain low confidence pending native review.
2026-09-13 11:48:45 +03:00
Lauri Ojansivu 77b6e867db Record visibility translation repair progress 2026-09-13 11:48:04 +03:00
Lauri Ojansivu 437791daec Repair Volapük visibility search and support descriptions
Preserve viewing and editing permissions, public search discovery, search fields, username length and login requirement. Assembled software wording remains low confidence pending native review.
2026-09-13 11:47:59 +03:00
Lauri Ojansivu 32cc1b3318 Record invitation and WIP translation repair progress 2026-09-13 11:46:57 +03:00
Lauri Ojansivu 582aaa8824 Repair Volapük invitations favorites and WIP guidance
Preserve source invitation tokens and newlines, member-search scope, favorite position and alternative WIP remedies. Assembled software wording remains low confidence pending native review.
2026-09-13 11:46:53 +03:00
Lauri Ojansivu f4b5bd6459 Record notification translation repair progress 2026-09-13 11:45:49 +03:00
Lauri Ojansivu d2c304e7b4 Repair Volapük watch and notification settings
Use established software watch terminology and preserve board/list/card scope, participation updates and default-off disable behavior. Assembled phrases remain low confidence pending native review.
2026-09-13 11:45:44 +03:00
Lauri Ojansivu fff4e332db Record board navigation translation repair progress 2026-09-13 11:44:44 +03:00
Lauri Ojansivu 2a58d65e8d Repair Volapük board navigation and favorite controls
Preserve drag sorting, click-to-open and opposite star actions. Software adaptation and assembled wording remain low confidence pending native review.
2026-09-13 11:44:37 +03:00
Lauri Ojansivu e102b8d20d Record card access translation repair progress 2026-09-13 11:43:41 +03:00
Lauri Ojansivu a35d26ba00 Repair Volapük assigned-card and worker access descriptions
Preserve assigned-only visibility, comment permissions, worker self-assignment and the last-administrator requirement. Role borrowing and assembled software wording remain low confidence pending native review.
2026-09-13 11:43:35 +03:00
Lauri Ojansivu 098b0e2eb1 Record account activation translation repair progress 2026-09-13 11:42:39 +03:00
Lauri Ojansivu 48c03ed5d7 Repair Volapük account activation tooltips
Preserve opposite login activation actions from loginDisabled state. Assembled software phrases remain low confidence pending native review.
2026-09-13 11:42:35 +03:00
Lauri Ojansivu a5d9f8c31d Record board migration translation repair progress 2026-09-13 11:41:47 +03:00
Lauri Ojansivu 2b361a90b4 Repair Volapük board migration descriptions
Preserve administrator restriction, individual execution, missing or damaged lists and list/card/swimlane repair scope. Migration borrowing and assembled software phrases remain low confidence pending native review.
2026-09-13 11:41:44 +03:00
Lauri Ojansivu 844dcaa5a9 Update card and membership translation repair progress 2026-09-13 11:40:42 +03:00
Lauri Ojansivu 6c3cb26ef5 Repair Volapük invitation and role descriptions
Preserve notification scope, checklist line mapping and card editing without settings permissions. Assembled software wording remains low confidence pending native review.
2026-09-13 11:40:35 +03:00
Lauri Ojansivu 68667acf82 Repair Volapük card and checklist action labels
Preserve card and subtask conversion distinction and add-action objects. Reuse local checklist terminology; derived software wording remains low confidence pending native review.
2026-09-13 11:39:57 +03:00
Lauri Ojansivu dd1abd41a8 Record custom translation control repair progress 2026-09-13 11:39:18 +03:00
Lauri Ojansivu 720cd85dd2 Repair Volapük custom translation management controls
Replace French controls and Esperanto terminology, preserving custom-string scope, count and deletion question. Assembled software phrases remain low confidence pending native review.
2026-09-13 11:39:14 +03:00
Lauri Ojansivu 6b0a6bb1e5 Update dated translation repair progress 2026-09-13 11:38:39 +03:00
Lauri Ojansivu d0d49e3ad9 Repair Volapük linked-card and translation deletion wording
Preserve linked-card deletion order and the appended linkedId warning fragment. Replace foreign labels and malformed subtask wording. Derived software terms and assembled phrases remain low confidence pending native review.
2026-09-13 11:38:34 +03:00
Lauri Ojansivu 2535f92f06 Shorten translation audit progress summary 2026-09-13 11:37:43 +03:00
Lauri Ojansivu 31a6873e47 Record translation audit progress after membership instruction repairs 2026-09-13 11:34:57 +03:00
Lauri Ojansivu 9babfce9b4 Repair Volapük board membership and invitation instructions 2026-09-13 11:34:57 +03:00
Lauri Ojansivu 12a6919eb4 Record translation audit progress after time tracking repairs 2026-09-13 11:33:47 +03:00
Lauri Ojansivu 263c227370 Repair Volapük time tracking labels and board summaries 2026-09-13 11:33:46 +03:00
Lauri Ojansivu b96ed5dd8b Record translation audit progress after due date repairs 2026-09-13 11:32:44 +03:00
Lauri Ojansivu 07658b2e65 Repair Volapük due date search and reminder messages 2026-09-13 11:32:43 +03:00
Lauri Ojansivu 01054d9e8a Record translation audit progress after assignment repairs 2026-09-13 11:31:36 +03:00
Lauri Ojansivu d291c9cb62 Repair Volapük assignee labels and assignment search help 2026-09-13 11:31:35 +03:00
Lauri Ojansivu 5385209b68 Record translation audit progress after search explanation repairs 2026-09-13 11:30:46 +03:00
Lauri Ojansivu 4574aa632e Repair Volapük search syntax and combination explanations 2026-09-13 11:30:45 +03:00
Lauri Ojansivu cc1baa5651 Record translation audit progress after search operator repairs 2026-09-13 11:29:02 +03:00
Lauri Ojansivu 55b125b403 Repair Volapük search operator help and examples 2026-09-13 11:29:01 +03:00
Lauri Ojansivu d4db0a067a Record translation audit progress after path and separator repairs 2026-09-13 11:27:58 +03:00
Lauri Ojansivu d99c198f5b Repair Volapük import path and separator messages 2026-09-13 11:27:58 +03:00
Lauri Ojansivu 7406bb0f69 Record translation audit progress after import format repairs 2026-09-13 11:26:59 +03:00
Lauri Ojansivu 362182f5a6 Repair Volapük ZIP and CSV import descriptions 2026-09-13 11:26:58 +03:00
Lauri Ojansivu 21497469b9 Record translation audit progress after export instruction repairs 2026-09-13 11:25:40 +03:00
Lauri Ojansivu caec821998 Repair Volapük board export and import navigation 2026-09-13 11:25:39 +03:00
Lauri Ojansivu 26813b83ac Record translation audit progress after import mapping repairs 2026-09-13 11:24:34 +03:00
Lauri Ojansivu 3f06b5f96f Repair Volapük import member mapping instructions 2026-09-13 11:24:33 +03:00
Lauri Ojansivu b13c3b74cf Record translation audit progress after swimlane control repairs 2026-09-13 11:23:33 +03:00
Lauri Ojansivu b73722e80d Repair Volapük swimlane controls and warnings 2026-09-13 11:23:32 +03:00
Lauri Ojansivu 78d3afdbe2 Record translation audit progress after card activity repairs 2026-09-13 11:22:39 +03:00
Lauri Ojansivu 15d98e2bed Repair Volapük comment and card activity translations 2026-09-13 11:22:38 +03:00
Lauri Ojansivu 9c704cf9c5 Record translation audit progress after swimlane repairs 2026-09-13 11:21:34 +03:00
Lauri Ojansivu 75ccb4973d Repair Volapük swimlane terminology and activity messages 2026-09-13 11:21:29 +03:00
Lauri Ojansivu f2aa96252c Record translation audit progress after account protection repairs 2026-09-13 11:19:38 +03:00
Lauri Ojansivu ad8f23e9dd Repair Volapük account protection descriptions and failure window 2026-09-13 11:19:38 +03:00
Lauri Ojansivu bfc91dd590 Update translation audit progress after board description repairs 2026-09-13 11:18:39 +03:00
Lauri Ojansivu bbec32d474 Repair Volapük board permissions and custom HTML descriptions 2026-09-13 11:18:35 +03:00
Lauri Ojansivu 78b9cc50df Record translation audit progress after migration label repairs 2026-09-13 11:17:33 +03:00
Lauri Ojansivu 6960d838bc Repair Volapük migration progress labels and instructions 2026-09-13 11:17:28 +03:00
Lauri Ojansivu 257a11265c Update translation audit progress after migration status repairs 2026-09-13 11:16:33 +03:00
Lauri Ojansivu 9ada654b6e Repair French migration status messages in Volapük 2026-09-13 11:16:27 +03:00
Lauri Ojansivu 6757591a24 Shorten translation audit progress summary 2026-09-13 11:15:46 +03:00
Lauri Ojansivu 97c5baebb3 Update translation audit after login setting repairs 2026-09-13 11:12:43 +03:00
Lauri Ojansivu e3b8a6ad92 Repair Volapük custom login logo and shortcut settings 2026-09-13 11:12:33 +03:00
Lauri Ojansivu 426aa588b7 Update translation audit after subtask repairs 2026-09-13 11:11:52 +03:00
Lauri Ojansivu 01eed29328 Repair Volapük subtask interface translations 2026-09-13 11:11:41 +03:00
Lauri Ojansivu 50620e5563 Update translation audit after visibility setting repairs 2026-09-13 11:11:06 +03:00
Lauri Ojansivu dd979bad0d Repair Volapük card visibility settings 2026-09-13 11:10:56 +03:00
Lauri Ojansivu 1dab98b804 Update translation audit after rule trigger repairs 2026-09-13 11:10:24 +03:00
Lauri Ojansivu 6b1eb02ebe Repair Volapük rule trigger fragments and matching note 2026-09-13 11:10:10 +03:00
Lauri Ojansivu 6986197205 Update translation audit after shortcut label repairs 2026-09-13 11:09:17 +03:00
Lauri Ojansivu 873d107268 Repair Volapük keyboard shortcut and dialog labels 2026-09-13 11:09:06 +03:00
Lauri Ojansivu 81239a0c0b Update translation audit after import prompt repairs 2026-09-13 11:08:35 +03:00
Lauri Ojansivu 85a282681e Repair Volapük import prompts and export date label 2026-09-13 11:08:25 +03:00
Lauri Ojansivu 15d25223f8 Update translation audit after export and import repairs 2026-09-13 11:07:39 +03:00
Lauri Ojansivu 30ffe4beae Repair Volapük export and import labels 2026-09-13 11:07:28 +03:00
Lauri Ojansivu 459a53cb45 Update translation audit after invitation status repairs 2026-09-13 11:06:52 +03:00
Lauri Ojansivu 8084254dc7 Repair Volapük invitation status and account permission messages 2026-09-13 11:06:42 +03:00
Lauri Ojansivu 292e83ab84 Update translation audit after date activity repairs 2026-09-13 11:05:54 +03:00
Lauri Ojansivu 97f0ce2fc7 Repair Volapük date change activity messages 2026-09-13 11:05:44 +03:00
Lauri Ojansivu 43752e9a5a Update translation audit after due date filter repairs 2026-09-13 11:05:10 +03:00
Lauri Ojansivu 6a57bac4d0 Repair Volapük due date filters and remaining time labels 2026-09-13 11:05:01 +03:00
Lauri Ojansivu d102ea8b3c Update translation audit after migration label repairs 2026-09-13 11:04:29 +03:00
Lauri Ojansivu 0c955d8147 Repair Volapük migration action labels 2026-09-13 11:04:19 +03:00
Lauri Ojansivu ace9b10215 Update translation audit after workspace label repairs 2026-09-13 11:03:47 +03:00
Lauri Ojansivu b466daf430 Repair Volapük subworkspace and icon labels 2026-09-13 11:03:38 +03:00
Lauri Ojansivu 9d30485e09 Update translation audit after upload limit repairs 2026-09-13 11:02:58 +03:00
Lauri Ojansivu d2f1b9508f Repair Volapük upload limits and test email labels 2026-09-13 11:02:48 +03:00
Lauri Ojansivu deb0d0d0bc Update translation audit after positioning label repairs 2026-09-13 11:02:18 +03:00
Lauri Ojansivu 15ae8dfd9b Repair Volapük positioning and member labels 2026-09-13 11:02:08 +03:00
Lauri Ojansivu bd8f5f8497 Update translation audit after menu label repairs 2026-09-13 11:01:29 +03:00
Lauri Ojansivu 9c34b50dfa Repair Volapük menu and account labels 2026-09-13 11:01:20 +03:00
Lauri Ojansivu 802cfc55b6 Update translation audit after filter interface repairs 2026-09-13 11:00:45 +03:00
Lauri Ojansivu 267cf60c5c Repair Volapük filter interface labels 2026-09-13 11:00:34 +03:00
Lauri Ojansivu 712cfb8a2e Update translation audit after history-loss warning repairs 2026-09-13 11:00:06 +03:00
Lauri Ojansivu 307e1c8d05 Repair Volapük history and permanent deletion warnings 2026-09-13 10:59:57 +03:00
Lauri Ojansivu 798d923ed4 Update translation audit after restoration and membership repairs 2026-09-13 10:58:56 +03:00
Lauri Ojansivu 0112eb12a7 Repair Volapük archive restoration and membership messages 2026-09-13 10:58:46 +03:00
Lauri Ojansivu d3b0724c95 Update translation audit after archive warning repairs 2026-09-13 10:58:07 +03:00
Lauri Ojansivu ed8f25c7e4 Repair Volapük deletion and archive warnings 2026-09-13 10:57:58 +03:00
Lauri Ojansivu b4c73df015 Update translation audit after comment and attachment repairs 2026-09-13 10:57:13 +03:00
Lauri Ojansivu 77430c3367 Repair Volapük attachment and comment messages 2026-09-13 10:57:04 +03:00
Lauri Ojansivu e37c5d8190 Update translation audit after board activity repairs 2026-09-13 10:56:28 +03:00
Lauri Ojansivu b7e4c491ba Repair Volapük board activity translations 2026-09-13 10:56:19 +03:00
Lauri Ojansivu f8cd104113 Update translation audit after temporary lockout repairs 2026-09-13 10:55:40 +03:00
Lauri Ojansivu fa798e56db Repair Volapük login and temporary lockout messages 2026-09-13 10:55:31 +03:00
Lauri Ojansivu 0f57d684bc Update translation audit after login protection repairs 2026-09-13 10:54:54 +03:00
Lauri Ojansivu 98d69b5ad5 Repair Volapük login protection labels 2026-09-13 10:54:45 +03:00
Lauri Ojansivu 6d448bd3dc Update translation audit after account label repairs 2026-09-13 10:53:57 +03:00
Lauri Ojansivu 2b043dbb1c Repair Volapük account unlock and deletion labels 2026-09-13 10:53:48 +03:00
Lauri Ojansivu c2eb496095 Update translation audit after search warning repairs 2026-09-13 10:53:14 +03:00
Lauri Ojansivu 0a825156ec Repair Volapük search validation warnings 2026-09-13 10:53:06 +03:00
Lauri Ojansivu a82b25e09c Shorten translation audit progress summary 2026-09-13 10:52:36 +03:00
Lauri Ojansivu 79c8d73b91 Refresh audit summary after search-help repairs 2026-09-13 10:49:51 +03:00
Lauri Ojansivu 1e2fedf851 Repair Volapük search operator help
Preserve operator tokens and example identifiers while replacing French explanations for board, list, creator, member and comment searches. Assembled relative clauses remain low confidence.
2026-09-13 10:49:50 +03:00
Lauri Ojansivu 6e0595fbd5 Refresh short audit summary after search descriptions 2026-09-13 10:48:56 +03:00
Lauri Ojansivu e506e71341 Repair Volapük search and predicate descriptions
Preserve predicate code tokens and private, public and archive scope. Dictionary-based software senses and assembled grammar remain low confidence.
2026-09-13 10:48:55 +03:00
Lauri Ojansivu 3517f2974f Refresh audit summary after checklist form repairs 2026-09-13 10:47:48 +03:00
Lauri Ojansivu c1849955b1 Repair Volapük checklist form instructions
Preserve add/edit and checklist/item distinctions, original-order option and comma-separated input instructions. Dictionary-based software senses and assembled grammar remain low confidence.
2026-09-13 10:47:47 +03:00
Lauri Ojansivu c16b4ef943 Refresh audit summary after list-control repairs 2026-09-13 10:46:40 +03:00
Lauri Ojansivu 02378e77c0 Repair Volapük list controls and rename activity
Remove stray digit before the list-name placeholder and preserve archive, filter and card/minicard display meanings. Dictionary-based software senses and assembled grammar remain low confidence.
2026-09-13 10:46:40 +03:00
Lauri Ojansivu 47a16f1892 Refresh short audit summary after invitation repairs 2026-09-13 10:45:46 +03:00
Lauri Ojansivu 4cad8f842d Repair Volapük invitation messages
Preserve inviter, recipient, board and URL tokens and paragraph formatting. Keep invitation and collaboration meanings. Assembled prose and board-membership grammar remain low confidence.
2026-09-13 10:45:45 +03:00
Lauri Ojansivu 79ff74830c Refresh audit summary after email body repairs 2026-09-13 10:44:41 +03:00
Lauri Ojansivu 5f15aeb464 Repair Volapük account and password email bodies
Preserve recipient and URL placeholders and paragraph formatting in enrollment, password-reset and email-verification instructions. Assembled prose remains low confidence.
2026-09-13 10:44:40 +03:00
Lauri Ojansivu 47932f61db Refresh audit progress after email status repairs 2026-09-13 10:43:31 +03:00
Lauri Ojansivu 8065fe4a90 Repair Volapük email status and account subjects
Use primary Volapük email and sign-in terminology. Preserve site placeholders and reset, verification, failure and account-creation meanings. Assembled grammar remains low confidence.
2026-09-13 10:43:30 +03:00
Lauri Ojansivu e0cfecb423 Refresh short audit summary after sign-in wording repairs 2026-09-13 10:42:44 +03:00
Lauri Ojansivu 65fe8db602 Repair Volapük credentials and email address wording
Use primary Volapük sign-in terminology for passwords, username validation and mismatch warnings. Preserve required and already-used meanings. Assembled phrases remain low confidence.
2026-09-13 10:42:32 +03:00
Lauri Ojansivu 9f4d617842 Refresh audit progress after member-control repairs 2026-09-13 10:41:03 +03:00
Lauri Ojansivu bfb8941d7b Repair Volapük member controls and username wording
Replace French and Esperanto titles and warnings. Preserve lookup placeholders, no-undo warning and organization board-removal meaning. Software adaptations and assembled grammar remain low confidence.
2026-09-13 10:41:02 +03:00
Lauri Ojansivu 4cdf90a78e Refresh translation audit summary after organization repairs 2026-09-13 10:40:13 +03:00
Lauri Ojansivu 2a34de3a70 Repair Volapük organization labels and warnings
Replace French organization text, preserving lookup placeholders, count separator and irreversible deletion wording. Dictionary-based organization software sense and assembled grammar remain low confidence.
2026-09-13 10:40:12 +03:00
Lauri Ojansivu 2364498b62 Refresh short audit summary after image label repairs 2026-09-13 10:39:18 +03:00
Lauri Ojansivu f3b8377d2e Repair Volapük background and cover image labels
Preserve board background, minicard cover and selection-colour meanings. Dictionary-based software senses and assembled grammar remain low confidence.
2026-09-13 10:39:17 +03:00
Lauri Ojansivu d1a6426721 Refresh audit summary after attachment storage repairs 2026-09-13 10:38:24 +03:00
Lauri Ojansivu 383db41dac Repair Volapük attachment storage action labels
Preserve singular, all-board and global attachment scope and filesystem, GridFS and S3 destinations. Dictionary-based filesystem phrase and assembled grammar remain low confidence.
2026-09-13 10:38:23 +03:00
Lauri Ojansivu 2da7423a67 Refresh audit summary after board label repairs 2026-09-13 10:37:34 +03:00
Lauri Ojansivu 4af40676c7 Repair Volapük board settings and count labels
Preserve all-board settings, all-member scope and per-list card counts. Keep the people-count separator. Dictionary-based software senses and assembled grammar remain low confidence.
2026-09-13 10:37:33 +03:00
Lauri Ojansivu f5f4d7a4e7 Refresh short audit summary after template repairs 2026-09-13 10:36:36 +03:00
Lauri Ojansivu 7885238681 Repair Volapük template containers and copy labels
Use checked template and container vocabulary consistently across card, list and board labels. Preserve many-card copy scope. Software adaptations and assembled phrases remain low confidence.
2026-09-13 10:36:35 +03:00
Lauri Ojansivu 3fdf16da2e Update translation audit summary after checklist repairs 2026-09-13 10:35:48 +03:00
Lauri Ojansivu 3b76f621a3 Repair Volapük checklist controls and template labels
Replace French labels using dictionary vocabulary, including the computer-specific template term. Preserve completed and marked-item filtering distinctions. Derived compounds and assembled grammar remain low confidence.
2026-09-13 10:35:47 +03:00
Lauri Ojansivu 6ec17dd0af Refresh translation audit progress after warning repairs 2026-09-13 10:34:42 +03:00
Lauri Ojansivu a8546de953 Repair Volapük deletion and removal warnings
Preserve team membership blocker, irreversible deletion warnings and the distinction between deleting a team and removing its board assignment. Dictionary-based assembled phrases and software vocabulary remain low confidence.
2026-09-13 10:34:41 +03:00
Lauri Ojansivu 8de5922714 Update short translation audit summary after team repairs 2026-09-13 10:33:30 +03:00
Lauri Ojansivu 84f521f327 Repair Volapük team labels and warnings
Replace French and Esperanto team text using dictionary vocabulary. Preserve lookup placeholders and the team-count separator. Assembled grammar and software senses remain low confidence.
2026-09-13 10:33:20 +03:00
Lauri Ojansivu a98de5e6ae Update translation audit progress for display repairs 2026-09-13 10:30:13 +03:00
Lauri Ojansivu 369dab63c8 Repair Volapük card and minicard display labels
Replace six French labels; preserve display destinations and all versus new card scope. Software senses and full phrases remain low confidence pending native review.
2026-09-13 10:29:56 +03:00
Lauri Ojansivu b11b5bdd7f Update translation audit progress for account lock repairs 2026-09-13 10:29:20 +03:00
Lauri Ojansivu e402be0f5a Repair Volapük account lock status translations
Replace four French labels; retain unlocking action and locked-users-only scope. Account terminology and assembled grammar remain low confidence pending native review.
2026-09-13 10:29:04 +03:00
Lauri Ojansivu eac2a8eee8 Update translation audit progress for notification repairs 2026-09-13 10:28:29 +03:00
Lauri Ojansivu 641a3d7ece Repair Volapük notification and card action labels
Replace six French labels using dictionary vocabulary and consistent local terminology. Preserve action scopes; derived compounds and full grammar remain low confidence pending native review.
2026-09-13 10:28:14 +03:00
Lauri Ojansivu f1106717bf Update translation audit progress for archive repairs 2026-09-13 10:27:24 +03:00
Lauri Ojansivu c15c3dbe85 Repair Volapük archive and restoration action labels
Replace five French values and express restoration as undoing archiving. Preserve action direction and placeholders; full grammar remains low confidence pending native review.
2026-09-13 10:27:10 +03:00
Lauri Ojansivu 3f915e4b67 Update translation audit progress for card action repairs 2026-09-13 10:26:34 +03:00
Lauri Ojansivu e3425046c4 Repair Volapük card positioning rule actions
Replace five French values; retain own-list distinction, top/bottom positions and all-member removal scope. Complete UI phrases remain low confidence pending native review.
2026-09-13 10:26:22 +03:00
Lauri Ojansivu d145cefa79 Update translation audit progress for rule action repairs 2026-09-13 10:25:15 +03:00
Lauri Ojansivu 2edb89c82a Repair Volapük rule title and item marking action labels
Replace three French values; retain all-items scope and unchecking reversal. Assembled software terminology and grammar remain low confidence pending native review.
2026-09-13 10:25:02 +03:00
Lauri Ojansivu 83358c432d Update translation audit progress for custom field repairs 2026-09-13 10:24:20 +03:00
Lauri Ojansivu 8f0591d974 Repair Volapük custom field labels and activities
Replace five French values while preserving user-defined field distinction and source placeholders. Software terminology and assembled grammar remain low confidence pending native review.
2026-09-13 10:24:04 +03:00
Lauri Ojansivu 42b647a513 Update translation audit progress for attachment repairs 2026-09-13 10:23:04 +03:00
Lauri Ojansivu 07cd633dcd Repair Volapük attachment labels and label color error
Replace five French values using dictionary vocabulary; preserve error meaning and placeholders. Derived attachment noun and full grammar remain low confidence pending native review.
2026-09-13 10:22:49 +03:00
Lauri Ojansivu 8cc4db273d Record terminology review of Volapük settings repairs 2026-09-13 10:22:16 +03:00
Lauri Ojansivu 43c13e40ac Refine Volapük settings translations from computer terminology
Use dictionary-attested computer settings term väls in three previously repaired labels. Preserve original provenance records; complete phrases and workspace compound still need native review.
2026-09-13 10:22:02 +03:00
Lauri Ojansivu 1cafa51b3c Update translation audit progress for label repairs 2026-09-13 10:21:24 +03:00
Lauri Ojansivu 847e92f8bd Repair Volapük label activity translations
Replace five foreign-language values using attested label vocabulary. Preserve quoted names and placeholder order; assembled UI grammar remains low confidence pending native review.
2026-09-13 10:21:12 +03:00
Lauri Ojansivu 01bae35d39 Update translation audit progress for item marking repairs 2026-09-13 10:20:16 +03:00
Lauri Ojansivu e75890a85f Repair Volapük checklist item marking activities
Replace four French messages and preserve checking reversal and placeholder order. Derived nouns and complete grammar remain low confidence pending native review.
2026-09-13 10:20:04 +03:00
Lauri Ojansivu b52bdbd07a Update translation audit progress for completion repairs 2026-09-13 10:19:20 +03:00
Lauri Ojansivu 09c4b6fadb Repair Volapük checklist completion activity messages
Replace three French messages; preserve completion reversal and placeholder order. Assembled grammar remains low confidence pending native review.
2026-09-13 10:19:04 +03:00
Lauri Ojansivu 055ed12cd4 Update translation audit progress for checklist repairs 2026-09-13 10:18:30 +03:00
Lauri Ojansivu d27c628848 Repair Volapük checklist addition and removal messages
Replace six checklist labels and activities; preserve item distinction and placeholder order. Checklist compound and complete grammar remain low confidence pending native review.
2026-09-13 10:18:16 +03:00
Lauri Ojansivu af23e5acef Update translation audit progress for movement repairs 2026-09-13 10:17:42 +03:00
Lauri Ojansivu 1dbaf4ffe6 Repair Volapük movement and membership activity labels
Replace five French messages while preserving placeholder order. Assembled membership constructions and complete UI grammar remain low confidence pending native review.
2026-09-13 10:17:31 +03:00
Lauri Ojansivu 1716eb5007 Update translation audit progress for activity repairs 2026-09-13 10:17:01 +03:00
Lauri Ojansivu 05e6767b8e Repair Volapük import and comment activity messages
Replace six French messages and preserve placeholder order. Assembled grammar and data-import terminology remain low confidence pending native review.
2026-09-13 10:16:40 +03:00
Lauri Ojansivu 21844edf58 Update translation audit progress for settings repairs 2026-09-13 10:16:07 +03:00
Lauri Ojansivu a5a2148691 Repair Volapük workspace and user settings labels
Replace four French labels and align workspace wording with repaired actions. Software-settings terminology and assembled phrases remain low confidence pending native review.
2026-09-13 10:15:45 +03:00
Lauri Ojansivu 241a4caf82 Update translation audit progress for URL label repairs 2026-09-13 10:15:07 +03:00
Lauri Ojansivu bab97498d6 Repair Volapük URL correction labels
Replace three French labels using dictionary vocabulary while retaining technical identifiers. Assembled phrases remain low confidence pending native review.
2026-09-13 10:14:55 +03:00
Lauri Ojansivu ffe3f97fd3 Update translation audit progress for duplicate list repairs 2026-09-13 10:14:18 +03:00
Lauri Ojansivu a1efb39a12 Repair Volapük duplicate list deletion labels
Replace four French labels and retain empty-list qualifiers. Software duplicate terminology and assembled phrases remain low confidence pending speaker review.
2026-09-13 10:14:06 +03:00
Lauri Ojansivu 041a141f84 Update translation audit progress for username repairs 2026-09-13 10:13:30 +03:00
Lauri Ojansivu 9db61a2a75 Repair Volapük removal and username labels
Replace five French labels using dictionary vocabulary. Data import sense, compounds and assembled UI phrases remain low confidence pending native review.
2026-09-13 10:13:03 +03:00
Lauri Ojansivu d27daafc33 Update translation audit progress for workspace repairs 2026-09-13 10:12:19 +03:00
Lauri Ojansivu efabf483ad Repair Volapük workspace and system report labels
Replace seven French labels using dictionary vocabulary. Workspace compound and complete software phrases remain low confidence pending native review.
2026-09-13 10:12:11 +03:00
Lauri Ojansivu 1289198bbb Update translation audit progress for Volapük repairs 2026-09-13 10:11:21 +03:00
Lauri Ojansivu 2a54a4a70f Repair Volapük field and member selection labels
Replace four French labels using dictionary vocabulary. Assembled UI phrases and software-field terminology remain low confidence pending speaker review.
2026-09-13 10:11:10 +03:00
Lauri Ojansivu f037ac356e Refresh translation audit after Northern Sami Hebrew repair 2026-09-13 10:07:40 +03:00
Lauri Ojansivu a88086f073 Repair Northern Sami Hebrew calendar label
Adapt documented Hebrew terminology. Stem adaptation and assembled label remain low confidence.
2026-09-13 10:07:35 +03:00
Lauri Ojansivu 9ce7d36d89 Refresh translation audit after Northern Sami Coptic repair 2026-09-13 10:06:55 +03:00
Lauri Ojansivu b135afe465 Repair Northern Sami Coptic calendar label
Use indexed national library adjective terminology. Full page returned 403; assembled wording remains low confidence.
2026-09-13 10:06:51 +03:00
Lauri Ojansivu 610b79c360 Refresh translation audit after Northern Sami repair 2026-09-13 10:06:07 +03:00
Lauri Ojansivu 4c24a8fa83 Repair Northern Sami Indian national calendar label
Use documented national and calendar terminology. Assembled wording remains low confidence.
2026-09-13 10:06:02 +03:00
Lauri Ojansivu 7c35c15736 Refresh translation audit after Dzongkha national calendar repair 2026-09-13 10:05:08 +03:00
Lauri Ojansivu 3e6c178040 Repair Dzongkha Indian national calendar label
Use official national terminology. Assembled phrase remains low confidence.
2026-09-13 10:04:59 +03:00
Lauri Ojansivu ba85983f8c Record Tigre calendar vocabulary review evidence 2026-09-13 10:03:44 +03:00
Lauri Ojansivu e9876efd76 Refresh translation audit after Dzongkha Jalali repair 2026-09-13 10:03:09 +03:00
Lauri Ojansivu 3685fe80df Repair Dzongkha Jalali calendar designation
Use CLDR calendar and Persian terminology while preserving Jalali. Adapted wording remains low confidence.
2026-09-13 10:03:03 +03:00
Lauri Ojansivu 781cdce232 Refresh translation audit after Cherokee completion repair 2026-09-13 10:01:59 +03:00
Lauri Ojansivu d12d7e7ceb Correct Cherokee Pomodoro completion terminology
Replace amateur wording with indexed completed terminology and preserve the count token. Rendering and counted grammar remain low confidence.
2026-09-13 10:01:54 +03:00
Lauri Ojansivu 2b685a5555 Refresh translation audit after Cherokee start repair 2026-09-13 10:01:13 +03:00
Lauri Ojansivu 2995108cef Repair Cherokee Pomodoro start terminology
Use attested Start terminology in syllabary. Rendering and button wording remain low confidence.
2026-09-13 10:01:08 +03:00
Lauri Ojansivu 1ea1da7342 Refresh translation audit after Cherokee rest repair 2026-09-13 10:00:35 +03:00
Lauri Ojansivu 1f3b57187f Repair Cherokee Pomodoro rest terminology
Use attested rest wording in syllabary. Rendering and UI noun usage remain low confidence.
2026-09-13 10:00:30 +03:00
Lauri Ojansivu f09b0f530a Refresh translation audit after Cherokee Pomodoro repair 2026-09-13 09:59:43 +03:00
Lauri Ojansivu 848fc7cfac Correct Cherokee Pomodoro work terminology
Replace respect/loyalty wording with attested work terminology in syllabary. UI noun usage remains low confidence.
2026-09-13 09:59:39 +03:00
Lauri Ojansivu 0d717918d2 Refresh translation audit after Cherokee repair 2026-09-13 09:58:35 +03:00
Lauri Ojansivu 3756665b6d Repair Cherokee Indian national calendar label
Use CLDR calendar name and terminology. Adapted full label remains low confidence.
2026-09-13 09:58:31 +03:00
Lauri Ojansivu 654b3ef0fc Refresh translation audit after Dzongkha Hebrew repair 2026-09-13 09:57:59 +03:00
Lauri Ojansivu d740a13db7 Repair Dzongkha Hebrew calendar label
Use CLDR Hebrew and calendar terminology. Assembled wording remains low confidence.
2026-09-13 09:57:55 +03:00
Lauri Ojansivu ae720c3882 Refresh translation audit after Dzongkha Hijri repairs 2026-09-13 09:57:25 +03:00
Lauri Ojansivu 1499f42502 Repair Dzongkha Hijri calendar labels
Use the Dzongkha calendar term with proper Hijri and Umm al-Qura identifiers. Assembled wording remains low confidence.
2026-09-13 09:57:20 +03:00
Lauri Ojansivu 03c2278a00 Refresh translation audit after Dzongkha Buddhist repair 2026-09-13 09:56:46 +03:00
Lauri Ojansivu 254e094992 Repair Dzongkha Buddhist calendar label
Use official dictionary Buddhist terminology and the CLDR calendar term. Assembled wording remains low confidence.
2026-09-13 09:56:42 +03:00
Lauri Ojansivu 4466726a6c Refresh translation audit after Dzongkha country calendar repairs 2026-09-13 09:56:07 +03:00
Lauri Ojansivu c270bdb2c7 Repair Dzongkha country calendar labels
Use CLDR country names and calendar terminology, preserving Amete Alem. Assembled grammar remains low confidence.
2026-09-13 09:56:03 +03:00
Lauri Ojansivu 8f7e2637bd Refresh translation audit after Dzongkha repairs 2026-09-13 09:55:29 +03:00
Lauri Ojansivu d934cac4ad Repair Dzongkha Dangi and Minguo calendar labels
Use CLDR calendar terminology and preserve proper names. Assembled labels remain low confidence.
2026-09-13 09:55:25 +03:00
Lauri Ojansivu 9c282679d0 Refresh translation audit after Quechua repair 2026-09-13 09:54:50 +03:00
Lauri Ojansivu 9050ceb0b7 Repair Quechua Indian national calendar label
Use Quechua national and calendar terminology. Assembled wording remains low confidence.
2026-09-13 09:54:46 +03:00
Lauri Ojansivu 586a102320 Refresh translation audit after Sakha Ethiopic repairs 2026-09-13 09:54:05 +03:00
Lauri Ojansivu c5d15f039b Repair Sakha Ethiopic calendar labels
Use indexed native country terminology and preserve Amete Alem. Full article retrieval timed out; assembled wording remains low confidence.
2026-09-13 09:53:59 +03:00
Lauri Ojansivu 3c749e2c7b Refresh translation audit after Sakha national calendar repair 2026-09-13 09:53:14 +03:00
Lauri Ojansivu bb551189bf Repair Sakha Indian national calendar label
Use indexed native country and national terminology. Full newspaper fetch timed out; assembled wording remains low confidence.
2026-09-13 09:53:10 +03:00
Lauri Ojansivu c7dfd8aff4 Refresh translation audit after Sakha named calendar repairs 2026-09-13 09:52:26 +03:00
Lauri Ojansivu 4d215c4795 Repair Sakha Dangi and Minguo calendar labels
Preserve proper calendar identifiers and translate calendar wording. Assembled labels remain low confidence pending native review.
2026-09-13 09:52:22 +03:00
Lauri Ojansivu 0773085fd1 Refresh translation audit after Sakha repairs 2026-09-13 09:51:44 +03:00
Lauri Ojansivu b1257ef4d5 Repair Sakha Islamic calendar labels
Use the CLDR calendar term and preserve the Umm al-Qura identifier. The source term is provisional; native-speaker verification remains pending.
2026-09-13 09:51:39 +03:00
Lauri Ojansivu 93aeca0d19 Update translation audit after Cornish calendar repair 2026-09-13 09:50:59 +03:00
Lauri Ojansivu 3d2d411b86 Repair Cornish Gregorian calendar label
Use dictionary calendar terminology and the CLDR Gregorian adjective. Adapted wording and unconfirmed CLDR evidence remain low confidence.
2026-09-13 09:50:56 +03:00
Lauri Ojansivu fc29e59cad Refresh translation audit progress after Fulah repair 2026-09-13 09:50:09 +03:00
Lauri Ojansivu 880eab1c67 Repair Fulah Indian national calendar translation
Use dictionary-supported national terminology and the Fulah country name. Assembled calendar grammar remains low confidence.
2026-09-13 09:50:05 +03:00
Lauri Ojansivu 339f8feaf7 Shorten translation audit progress summary 2026-09-13 09:49:26 +03:00
Lauri Ojansivu 7fc8c8b332 Refresh concise audit after Fulah Hebrew calendar repair 2026-09-13 09:45:47 +03:00
Lauri Ojansivu 05666a6413 Repair Fulah Hebrew calendar label 2026-09-13 09:45:42 +03:00
Lauri Ojansivu 307eda37d0 Refresh concise audit after Fulah calendar setting repair 2026-09-13 09:45:07 +03:00
Lauri Ojansivu c649eff63d Repair foreign seeded Fulah calendar setting label 2026-09-13 09:45:02 +03:00
Lauri Ojansivu e4a9e59f60 Refresh concise audit after Fulah country calendar repairs 2026-09-13 09:43:36 +03:00
Lauri Ojansivu 1bc69f3193 Repair Fulah Chinese Japanese and Ethiopian calendar labels 2026-09-13 09:43:30 +03:00
Lauri Ojansivu d0029f01b5 Refresh concise audit after Fulah calendar repairs 2026-09-13 09:42:50 +03:00
Lauri Ojansivu 3323ef4303 Repair Fulah named calendar labels 2026-09-13 09:42:45 +03:00
Lauri Ojansivu ecd1d9bd74 Update concise audit after Kashubian Gregorian repair 2026-09-13 09:41:54 +03:00
Lauri Ojansivu bd7dcb724f Repair Kashubian Gregorian calendar label 2026-09-13 09:41:49 +03:00
Lauri Ojansivu 893ef82d0b Refresh concise audit after Kashubian Indian calendar repair 2026-09-13 09:40:59 +03:00
Lauri Ojansivu a8d5093978 Repair Kashubian Indian national calendar label 2026-09-13 09:40:54 +03:00
Lauri Ojansivu 15d1d16587 Refresh concise audit after Kashubian calendar setting repair 2026-09-13 09:40:13 +03:00
Lauri Ojansivu 3970158943 Repair foreign seeded Kashubian calendar setting label 2026-09-13 09:40:09 +03:00
Lauri Ojansivu 66d9df82f5 Refresh concise audit after Kashubian Persian repair 2026-09-13 09:39:26 +03:00
Lauri Ojansivu 6ce1c7ffb0 Repair Kashubian Persian calendar descriptor 2026-09-13 09:39:18 +03:00
Lauri Ojansivu d2f3607a6a Refresh concise audit after Kashubian week and Japanese repairs 2026-09-13 09:38:40 +03:00
Lauri Ojansivu 464cae1763 Repair Kashubian week and Japanese calendar labels 2026-09-13 09:38:35 +03:00
Lauri Ojansivu fc09eb5736 Update concise audit after Kashubian calendar repairs 2026-09-13 09:37:44 +03:00
Lauri Ojansivu 0e23830e42 Repair Kashubian calendar noun and calendar names 2026-09-13 09:37:40 +03:00
Lauri Ojansivu 650b15714e Refresh concise audit after Greenlandic Hebrew label repair 2026-09-13 09:36:54 +03:00
Lauri Ojansivu 881f4b98bd Repair Greenlandic Hebrew calendar label from published usage 2026-09-13 09:36:50 +03:00
Lauri Ojansivu f1a6884f73 Update concise audit after Greenlandic country calendar repairs 2026-09-13 09:36:10 +03:00
Lauri Ojansivu a65efabc05 Repair Greenlandic Chinese Japanese and Ethiopian calendar labels 2026-09-13 09:36:06 +03:00
Lauri Ojansivu fc35c75083 Refresh concise audit after Greenlandic calendar repairs 2026-09-13 09:35:31 +03:00
Lauri Ojansivu 39a1a97978 Repair Greenlandic named calendar labels 2026-09-13 09:35:26 +03:00
Lauri Ojansivu 832e39c3d3 Refresh concise audit after Cornish sighting repair 2026-09-13 09:34:41 +03:00
Lauri Ojansivu 6714285488 Restore lunar sighting distinction in Cornish Hijri label 2026-09-13 09:34:37 +03:00
Lauri Ojansivu 4c58d6a0ec Update audit progress after Cornish Hebrew and Persian repairs 2026-09-13 09:33:20 +03:00
Lauri Ojansivu 8c2d1efe60 Repair Cornish Hebrew and Persian calendar labels 2026-09-13 09:33:13 +03:00
Lauri Ojansivu 3e1af25f74 Refresh translation progress after Cornish country labels 2026-09-13 09:32:37 +03:00
Lauri Ojansivu b642a5f53b Repair Cornish Ethiopian and Indian calendar labels 2026-09-13 09:32:33 +03:00
Lauri Ojansivu 9169b6db7c Update concise audit after Cornish calendar repairs 2026-09-13 09:31:46 +03:00
Lauri Ojansivu 6ef6e535e6 Repair Cornish calendar settings and calendar labels 2026-09-13 09:31:42 +03:00
Lauri Ojansivu 6fafc4333a Refresh concise translation repair progress summary 2026-09-13 09:30:45 +03:00
Lauri Ojansivu bbdba94b11 Repair Cornish Chinese and Japanese calendar labels 2026-09-13 09:30:41 +03:00
Lauri Ojansivu 3fa0b7273d Refresh concise translation audit after Buryat country and Buddhist repairs 2026-09-13 09:27:39 +03:00
Lauri Ojansivu 56dc809bc1 Repair Buryat Ethiopian Indian national and Buddhist calendar labels 2026-09-13 09:27:25 +03:00
Lauri Ojansivu 0970d8df08 Refresh short translation audit after Buryat country and ISO labels 2026-09-13 09:26:42 +03:00
Lauri Ojansivu 43a19564b2 Repair Buryat Chinese Japanese and ISO calendar labels 2026-09-13 09:26:28 +03:00
Lauri Ojansivu fa59ca5944 Refresh concise translation audit after Buryat calendar repairs 2026-09-13 09:25:53 +03:00
Lauri Ojansivu 9d8830fa3d Repair Buryat calendar noun and named calendar labels 2026-09-13 09:25:39 +03:00
Lauri Ojansivu fc48fc1164 Refresh concise audit progress after Tibetan Buddhist label 2026-09-13 09:25:00 +03:00
Lauri Ojansivu d59b956564 Repair Tibetan Buddhist calendar label 2026-09-13 09:24:46 +03:00
Lauri Ojansivu bab13b30e3 Update concise audit summary after Tibetan country calendar repairs 2026-09-13 09:24:08 +03:00
Lauri Ojansivu c5a871bae2 Repair Tibetan Ethiopian and Indian national calendar labels 2026-09-13 09:23:52 +03:00
Lauri Ojansivu 8140216192 Refresh short translation audit after Tibetan calendar repairs 2026-09-13 09:23:19 +03:00
Lauri Ojansivu 4af6611be4 Repair Tibetan calendar setting names and ISO week detail 2026-09-13 09:23:04 +03:00
Lauri Ojansivu 670eb814a4 Refresh short audit summary after Bambara national and sighting repairs 2026-09-13 09:22:22 +03:00
Lauri Ojansivu 675aa98bfc Repair Bambara national calendar and Hijri moon sighting descriptions 2026-09-13 09:22:09 +03:00
Lauri Ojansivu 72c15f9201 Refresh short translation audit after Bambara calendar repairs 2026-09-13 09:21:32 +03:00
Lauri Ojansivu 9a016c73d5 Repair Bambara calendar setting country names and ISO week detail 2026-09-13 09:21:19 +03:00
Lauri Ojansivu 46643879b8 Update short translation audit after Rundi national and sighting labels 2026-09-13 09:20:46 +03:00
Lauri Ojansivu 6489dd9953 Repair Rundi national calendar and Hijri moon sighting labels 2026-09-13 09:20:32 +03:00
Lauri Ojansivu 507b2ba2f4 Refresh concise translation audit after Rundi country calendar labels 2026-09-13 09:20:02 +03:00
Lauri Ojansivu 04b21cafce Repair Rundi Persian Chinese Japanese and Ethiopian calendar labels 2026-09-13 09:19:47 +03:00
Lauri Ojansivu bbaeaf1bd6 Refresh concise translation audit after Rundi calendar repairs 2026-09-13 09:19:15 +03:00
Lauri Ojansivu 85e9cd8d71 Repair Rundi calendar setting names and Gregorian ISO week detail 2026-09-13 09:19:01 +03:00
Lauri Ojansivu 88d0cb3838 Update short audit summary after Ndebele calendar description repairs 2026-09-13 09:18:26 +03:00
Lauri Ojansivu 011af79140 Repair Ndebele national sighting and ISO calendar descriptions 2026-09-13 09:18:11 +03:00
Lauri Ojansivu fc136e0a28 Refresh short translation audit after Ndebele country calendar repairs 2026-09-13 09:17:31 +03:00
Lauri Ojansivu 9656ef22f3 Repair Northern Ndebele Persian and country calendar labels 2026-09-13 09:17:18 +03:00
Lauri Ojansivu 2d8a2fcbf2 Update short translation audit after Ndebele repairs and Swati refinement 2026-09-13 09:16:47 +03:00
Lauri Ojansivu 5a58c1c057 Repair Northern Ndebele calendar labels and refine Swati Hebrew wording 2026-09-13 09:16:33 +03:00
Lauri Ojansivu 37452648ad Refresh short audit summary after Swati national and sighting labels 2026-09-13 09:15:57 +03:00
Lauri Ojansivu fef8381e14 Repair Swati national calendar and Hijri moon sighting labels 2026-09-13 09:15:45 +03:00
Lauri Ojansivu e21ecece49 Refresh short translation audit after Swati Hebrew and Jalali labels 2026-09-13 09:15:17 +03:00
Lauri Ojansivu 8967a51b0e Repair Swati Hebrew and Jalali calendar labels 2026-09-13 09:15:04 +03:00
Lauri Ojansivu fe3c689a8e Refresh short audit summary after Swati country calendar repairs 2026-09-13 09:14:34 +03:00
Lauri Ojansivu 8bbec63e4a Repair Swati country calendar labels and ISO week detail 2026-09-13 09:14:21 +03:00
Lauri Ojansivu d7e9d4ac57 Refresh concise audit summary after Swati calendar repairs 2026-09-13 09:13:45 +03:00
Lauri Ojansivu bb528d5528 Repair Swati calendar setting and calendar identity labels 2026-09-13 09:13:32 +03:00
Lauri Ojansivu a679c6fbec Update short translation audit after Northern Sotho country labels 2026-09-13 09:13:00 +03:00
Lauri Ojansivu 25c237712b Repair Northern Sotho Ethiopian and Indian national calendar labels 2026-09-13 09:12:46 +03:00
Lauri Ojansivu ddf01e7b68 Refresh concise translation audit after Northern Sotho religious labels 2026-09-13 09:12:10 +03:00
Lauri Ojansivu 493f6b3894 Repair Northern Sotho religious calendar and moon sighting labels 2026-09-13 09:11:57 +03:00
Lauri Ojansivu 83294e999b Update concise translation audit after Northern Sotho repairs 2026-09-13 09:11:22 +03:00
Lauri Ojansivu fb6600c8b0 Repair Northern Sotho calendar setting labels and ISO weeks 2026-09-13 09:11:09 +03:00
Lauri Ojansivu f42ca9d699 Update short audit summary after Tsonga date format and sighting repairs 2026-09-13 09:10:40 +03:00
Lauri Ojansivu 54bd08ec22 Restore Tsonga date format choices and Hijri sighting detail 2026-09-13 09:10:28 +03:00
Lauri Ojansivu 41deaf1999 Refresh translation audit summary after Tsonga religion and country repairs 2026-09-13 09:09:54 +03:00
Lauri Ojansivu aa6f5024ac Repair Tsonga Buddhist Persian Ethiopian and Indian calendar labels 2026-09-13 09:09:39 +03:00
Lauri Ojansivu 04b29b4b58 Refresh concise audit progress after Tsonga calendar repairs 2026-09-13 09:09:00 +03:00
Lauri Ojansivu 61e0cdef1a Repair Tsonga calendar setting names and ISO week label 2026-09-13 09:08:46 +03:00
Lauri Ojansivu e20475e0fe Update short translation audit summary after Setswana repairs 2026-09-13 09:08:12 +03:00
Lauri Ojansivu d0044f13a1 Repair Setswana national and moon sighting calendar labels 2026-09-13 09:08:01 +03:00
Lauri Ojansivu b5ef18fc3d Refresh concise translation audit progress summary 2026-09-13 09:07:19 +03:00
Lauri Ojansivu 426050ee94 Repair Setswana Hebrew Buddhist and Persian calendar labels 2026-09-13 09:07:04 +03:00
Lauri Ojansivu 94a555dc81 Record Setswana calendar translation repair progress 2026-09-13 09:04:32 +03:00
Lauri Ojansivu 4e315ae01c Repair Setswana calendar setting and date labels 2026-09-13 09:04:26 +03:00
Lauri Ojansivu fccbaa1166 Record Sesotho calendar variant repair progress 2026-09-13 09:03:41 +03:00
Lauri Ojansivu 5c5989e636 Repair Sesotho Ethiopic national and Hijri sighting labels 2026-09-13 09:03:35 +03:00
Lauri Ojansivu 0741fe3908 Record Sesotho religious calendar repair progress 2026-09-13 09:02:50 +03:00
Lauri Ojansivu 47f5a2661e Repair Sesotho Buddhist Hebrew and Persian calendar labels 2026-09-13 09:02:46 +03:00
Lauri Ojansivu fd65725019 Record Sesotho calendar translation repair progress 2026-09-13 09:01:55 +03:00
Lauri Ojansivu 29f0f4b4a5 Repair Sesotho calendar setting and date labels 2026-09-13 09:01:48 +03:00
Lauri Ojansivu 0b9b754f88 Record Luganda remaining calendar repair progress 2026-09-13 09:01:08 +03:00
Lauri Ojansivu 61c81fe7d9 Repair Luganda Buddhist national and Hijri sighting labels 2026-09-13 09:01:01 +03:00
Lauri Ojansivu acb7a13753 Record Luganda calendar terminology repair progress 2026-09-13 09:00:24 +03:00
Lauri Ojansivu 64e7588480 Repair Luganda Persian Hebrew and ISO week labels 2026-09-13 09:00:20 +03:00
Lauri Ojansivu a29376d4be Record Luganda calendar translation repair progress 2026-09-13 08:59:44 +03:00
Lauri Ojansivu 22422bfeb1 Repair Luganda calendar setting and date labels 2026-09-13 08:59:38 +03:00
Lauri Ojansivu 4adc37e757 Record Northern Sami country calendar repair progress 2026-09-13 08:58:43 +03:00
Lauri Ojansivu 14630fe453 Repair Northern Sami Persian Japanese and Ethiopic calendar labels 2026-09-13 08:58:34 +03:00
Lauri Ojansivu 133f34d72d Record Northern Sami calendar repair progress 2026-09-13 08:58:00 +03:00
Lauri Ojansivu 5d732d0da4 Repair Northern Sami Dangi Hijri and Minguo calendar labels 2026-09-13 08:57:55 +03:00
Lauri Ojansivu 8d6e1d9239 Record Manx Hijri sighting repair progress 2026-09-13 08:57:15 +03:00
Lauri Ojansivu 36fce19cc5 Restore Manx Saudi Hijri moon sighting detail 2026-09-13 08:57:10 +03:00
Lauri Ojansivu 358dc85ef7 Record Manx national calendar repair progress 2026-09-13 08:56:25 +03:00
Lauri Ojansivu fd850277e6 Repair Manx Indian national and Gregorian ISO week labels 2026-09-13 08:56:20 +03:00
Lauri Ojansivu 861ce31413 Record Manx religious calendar repair progress 2026-09-13 08:55:29 +03:00
Lauri Ojansivu a74d9b7e6a Repair Manx Buddhist Ethiopic and Hebrew calendar labels 2026-09-13 08:55:24 +03:00
Lauri Ojansivu 1092a2a305 Record Manx calendar setting repair progress 2026-09-13 08:54:45 +03:00
Lauri Ojansivu 6bbdb85f48 Repair Manx calendar setting and country labels 2026-09-13 08:54:40 +03:00
Lauri Ojansivu 7c293b3fd0 Record Manx calendar translation repair progress 2026-09-13 08:53:29 +03:00
Lauri Ojansivu 22adf938ae Repair Manx Dangi Hijri and Minguo calendar labels 2026-09-13 08:53:25 +03:00
Lauri Ojansivu b0870dd343 Record Tongan calendar translation repair progress 2026-09-13 08:52:35 +03:00
Lauri Ojansivu 878b793571 Repair Tongan Hijri sighting and ISO week labels 2026-09-13 08:52:31 +03:00
Lauri Ojansivu 8691d9439b Record Ewe calendar translation repair progress 2026-09-13 08:51:34 +03:00
Lauri Ojansivu 80084c9bc8 Repair Ewe Dangi and Hijri calendar labels 2026-09-13 08:51:30 +03:00
Lauri Ojansivu 5f82e5c78b Record Fijian calendar variant repair progress 2026-09-13 08:50:49 +03:00
Lauri Ojansivu ee319ddc53 Repair Fijian Ethiopic Dangi and Hijri sighting labels 2026-09-13 08:50:45 +03:00
Lauri Ojansivu b950d8ac94 Record Fijian calendar translation repair progress 2026-09-13 08:49:56 +03:00
Lauri Ojansivu daa2a5d079 Repair Fijian calendar setting and date labels 2026-09-13 08:49:52 +03:00
Lauri Ojansivu ffd12ec89f Record Hawaiian Buddhist calendar repair progress 2026-09-13 08:48:54 +03:00
Lauri Ojansivu c35eaa8a2a Repair Hawaiian Buddhist and Gregorian calendar labels 2026-09-13 08:48:45 +03:00
Lauri Ojansivu 35a3a8a2be Record Hawaiian calendar terminology repair progress 2026-09-13 08:48:13 +03:00
Lauri Ojansivu 0622242b90 Repair Hawaiian Persian Ethiopic Hebrew and Indian calendar labels 2026-09-13 08:48:09 +03:00
Lauri Ojansivu f3926ba38e Record Hawaiian calendar translation repair progress 2026-09-13 08:47:01 +03:00
Lauri Ojansivu 391fc01723 Repair Hawaiian calendar setting and date labels 2026-09-13 08:46:57 +03:00
Lauri Ojansivu 1c6c76f814 Record Chichewa calendar translation repair progress 2026-09-13 08:46:04 +03:00
Lauri Ojansivu 8256b8539f Restore Gregorian ISO week details in Chichewa 2026-09-13 08:46:01 +03:00
Lauri Ojansivu 8c04dfc87a Record Shona calendar translation repair progress 2026-09-13 08:45:22 +03:00
Lauri Ojansivu 95e89a33cf Repair Shona civil Hijri and ISO week labels 2026-09-13 08:43:16 +03:00
Lauri Ojansivu aa96b05036 Record Samoan calendar translation repair progress 2026-09-13 08:42:38 +03:00
Lauri Ojansivu 0492cedff4 Repair Samoan civil Hijri and ISO week labels 2026-09-13 08:42:31 +03:00
Lauri Ojansivu bcef02f90a Record Aymara calendar translation repair progress 2026-09-13 08:41:43 +03:00
Lauri Ojansivu 299871c81a Repair Aymara calendar setting and ISO week label 2026-09-13 08:41:38 +03:00
Lauri Ojansivu 237531eaf9 Record Akan calendar translation repair progress 2026-09-13 08:41:01 +03:00
Lauri Ojansivu be88e25b65 Repair Akan calendar identities and variant qualifiers 2026-09-13 08:40:55 +03:00
Lauri Ojansivu a00fcd3934 Record Guarani calendar translation repair progress 2026-09-13 08:40:17 +03:00
Lauri Ojansivu b4d97631ed Repair Guarani Hijri variant and ISO week labels 2026-09-13 08:40:10 +03:00
Lauri Ojansivu ee87077cd9 Record Xhosa calendar translation repair progress 2026-09-13 08:39:27 +03:00
Lauri Ojansivu 4204d47dbd Repair Xhosa Hijri variants and ISO week label 2026-09-13 08:39:18 +03:00
Lauri Ojansivu a74b050f01 Record Yoruba calendar translation repair progress 2026-09-13 08:38:37 +03:00
Lauri Ojansivu 1cc25000a7 Repair Yoruba calendar labels and missing variant meanings 2026-09-13 08:38:31 +03:00
Lauri Ojansivu 28aee9c93c Record Waray flagged repair progress and remaining review 2026-09-13 08:37:46 +03:00
Lauri Ojansivu d156034df8 Repair remaining flagged Waray calendars and JSON example 2026-09-13 08:37:41 +03:00
Lauri Ojansivu 8ba7875d3f Record Waray imported member translation progress 2026-09-13 08:36:58 +03:00
Lauri Ojansivu 62f8861513 Repair Waray imported member mapping guidance 2026-09-13 08:36:53 +03:00
Lauri Ojansivu 6555989e7f Record Waray loading translation repair progress 2026-09-13 08:36:14 +03:00
Lauri Ojansivu 54684c398f Repair Waray loading and storage labels 2026-09-13 08:36:08 +03:00
Lauri Ojansivu f6b47ba769 Record Waray calendar translation repair progress 2026-09-13 08:35:31 +03:00
Lauri Ojansivu 0628c381ef Repair Waray calendar labels using declared locale 2026-09-13 08:35:24 +03:00
Lauri Ojansivu 4fbef027ac Record Acehnese terminology review progress 2026-09-13 08:34:32 +03:00
Lauri Ojansivu 60090ccb2a Revise Acehnese reactivity mode wording 2026-09-13 08:34:25 +03:00
Lauri Ojansivu 3588c811fe Record Wolof flagged calendar repair progress and follow-up 2026-09-13 08:33:30 +03:00
Lauri Ojansivu ce1d167f36 Repair remaining flagged Wolof calendar labels 2026-09-13 08:33:18 +03:00
Lauri Ojansivu b56b8b5064 Record Wolof Hijri translation repair progress 2026-09-13 08:32:37 +03:00
Lauri Ojansivu ced1e25bda Repair Wolof Hijri calendar variant labels 2026-09-13 08:32:30 +03:00
Lauri Ojansivu 0515f54360 Update audit summary for Wolof country calendar repairs 2026-09-13 08:31:56 +03:00
Lauri Ojansivu a8c08ae0de Repair Wolof country calendar and Hijri labels 2026-09-13 08:31:50 +03:00
Lauri Ojansivu adc2b59561 Record Wolof checklist fragment translation progress 2026-09-13 08:31:12 +03:00
Lauri Ojansivu f22738bf7a Repair Wolof checklist trigger fragments 2026-09-13 08:31:06 +03:00
Lauri Ojansivu 52443f9747 Record Wolof advanced filter translation progress 2026-09-13 08:30:20 +03:00
Lauri Ojansivu 083b618035 Repair Wolof advanced filter instructions 2026-09-13 08:30:14 +03:00
Lauri Ojansivu a351e9b939 Record Wolof accessibility translation repair progress 2026-09-13 08:29:38 +03:00
Lauri Ojansivu 641e7605c5 Repair Wolof accessibility and legal notice labels 2026-09-13 08:29:32 +03:00
Lauri Ojansivu 00a932f5d8 Record Wolof repository translation repair progress 2026-09-13 08:28:58 +03:00
Lauri Ojansivu d5762c22b2 Repair Wolof repository labels and upload guidance 2026-09-13 08:28:52 +03:00
Lauri Ojansivu 87ee88a20c Record Wolof team translation repair progress 2026-09-13 08:28:06 +03:00
Lauri Ojansivu 0d2b305652 Repair Wolof team management translations 2026-09-13 08:28:00 +03:00
Lauri Ojansivu 6f5c438f0d Update audit summary for Wolof loading and storage repairs 2026-09-13 08:27:24 +03:00
Lauri Ojansivu 323bf45931 Repair Wolof loading style and storage labels 2026-09-13 08:27:18 +03:00
Lauri Ojansivu ac39f7cd89 Update audit summary for Wolof heap metric repairs 2026-09-13 08:26:41 +03:00
Lauri Ojansivu 73d94b4310 Repair Wolof heap metric terminology 2026-09-13 08:26:35 +03:00
Lauri Ojansivu 818f5e2a80 Record Wolof memory metric translation progress 2026-09-13 08:25:57 +03:00
Lauri Ojansivu 49c88da8af Repair Wolof memory metric labels 2026-09-13 08:25:51 +03:00
Lauri Ojansivu 4f62c8dcf1 Record Wolof imported member translation progress 2026-09-13 08:25:16 +03:00
Lauri Ojansivu 35539dec78 Repair Wolof imported member mapping guidance 2026-09-13 08:25:11 +03:00
Lauri Ojansivu b1f0a957ff Update audit summary for Wolof search syntax repairs 2026-09-13 08:24:37 +03:00
Lauri Ojansivu 5d89aac4b1 Repair Wolof search syntax and planning guidance 2026-09-13 08:24:32 +03:00
Lauri Ojansivu 03f2432266 Record Wolof archive and access translation progress 2026-09-13 08:23:57 +03:00
Lauri Ojansivu ab65f697d6 Repair Wolof archive and access guidance 2026-09-13 08:23:52 +03:00
Lauri Ojansivu c346db3afa Record Wolof calendar label translation progress 2026-09-13 08:23:12 +03:00
Lauri Ojansivu e01b34b282 Repair Wolof calendar selection labels 2026-09-13 08:23:06 +03:00
Lauri Ojansivu cb23080938 Record Wolof enrollment translation repair progress 2026-09-13 08:22:21 +03:00
Lauri Ojansivu 92a903a675 Repair Wolof enrollment and vote date controls 2026-09-13 08:22:17 +03:00
Lauri Ojansivu fba8cd2fbe Record Wolof clipboard translation repair progress 2026-09-13 08:21:43 +03:00
Lauri Ojansivu f25084dad5 Repair Wolof clipboard and image paste guidance 2026-09-13 08:21:38 +03:00
Lauri Ojansivu ea1c5fc0d9 Record Wolof keyboard translation repair progress 2026-09-13 08:21:08 +03:00
Lauri Ojansivu 9bf7b657eb Repair Wolof keyboard and checklist controls 2026-09-13 08:21:03 +03:00
Lauri Ojansivu a52b32aaf6 Record Wolof notification and warning repair progress 2026-09-13 08:20:29 +03:00
Lauri Ojansivu 4df26af344 Repair Wolof notification and card warning messages 2026-09-13 08:20:24 +03:00
Lauri Ojansivu 75b92334ba Record Wolof visibility and deletion translation progress 2026-09-13 08:19:46 +03:00
Lauri Ojansivu ed52a3e687 Repair Wolof visibility and permanent deletion warnings 2026-09-13 08:19:41 +03:00
Lauri Ojansivu 04d3038be9 Update audit summary for Wolof migration step repairs 2026-09-13 08:19:02 +03:00
Lauri Ojansivu 3e15852af8 Repair Wolof migration steps and server troubleshooting 2026-09-13 08:18:57 +03:00
Lauri Ojansivu 3fa20c36ad Record Wolof card recovery translation progress 2026-09-13 08:18:09 +03:00
Lauri Ojansivu 24e6508f01 Repair Wolof card recovery and list display guidance 2026-09-13 08:18:05 +03:00
Lauri Ojansivu 5a24c8e9f2 Record Wolof restoration and SMTP translation progress 2026-09-13 08:17:28 +03:00
Lauri Ojansivu 8cb5c55c1f Repair Wolof restoration and SMTP settings 2026-09-13 08:17:23 +03:00
Lauri Ojansivu e5b2deef9a Record Wolof import and display repair progress 2026-09-13 08:16:37 +03:00
Lauri Ojansivu 4a9ae12963 Repair Wolof import and card window settings 2026-09-13 08:16:26 +03:00
Lauri Ojansivu 69c488a5a9 Update audit summary for Wolof status translation repairs 2026-09-13 08:15:51 +03:00
Lauri Ojansivu 7f0807a11e Repair Wolof board and membership status messages 2026-09-13 08:15:46 +03:00
Lauri Ojansivu 95155ca347 Update audit summary for Wolof date search repairs 2026-09-13 08:15:12 +03:00
Lauri Ojansivu 7413939074 Repair Wolof date search and URL repair controls 2026-09-13 08:15:08 +03:00
Lauri Ojansivu e1c4dda85c Record Wolof search translation repair progress 2026-09-13 08:14:28 +03:00
Lauri Ojansivu 8623707f57 Repair Wolof search operators and archive guidance 2026-09-13 08:14:24 +03:00
Lauri Ojansivu c43d3588e3 Update audit summary for Wolof email translation repairs 2026-09-13 08:13:46 +03:00
Lauri Ojansivu 63111a929e Repair Wolof email delivery and account verification messages 2026-09-13 08:13:42 +03:00
Lauri Ojansivu 2161a64f87 Update translation audit after Wolof customization repairs 2026-09-13 08:13:09 +03:00
Lauri Ojansivu 545c8663b4 Repair Wolof customization and logo settings 2026-09-13 08:13:03 +03:00
Lauri Ojansivu 5db7d3b281 Update audit summary for Wolof date and settings repairs 2026-09-13 08:12:05 +03:00
Lauri Ojansivu 5e9f01b0ff Repair Wolof date settings and custom field deletion warning 2026-09-13 08:11:59 +03:00
Lauri Ojansivu e0493409ef Record Wolof width and display translation progress 2026-09-13 08:11:23 +03:00
Lauri Ojansivu d02e9e1f15 Repair Wolof automatic width and account display controls 2026-09-13 08:11:20 +03:00
Lauri Ojansivu 020cc98af1 Record Wolof reminder and membership repair progress 2026-09-13 08:10:44 +03:00
Lauri Ojansivu f0e538eaa5 Repair Wolof reminders and membership messages 2026-09-13 08:10:40 +03:00
Lauri Ojansivu e3b1686cbf Record Wolof deadline and import translation progress 2026-09-13 08:10:08 +03:00
Lauri Ojansivu 3c2a2dc3ed Repair Wolof deadline reminders and board import instructions 2026-09-13 08:10:04 +03:00
Lauri Ojansivu 5ec3877d6d Update audit summary for Wolof account and date repairs 2026-09-13 08:09:32 +03:00
Lauri Ojansivu f0632cd91f Repair Wolof account lockout and date activity messages 2026-09-13 08:09:26 +03:00
Lauri Ojansivu 30d0eef1a3 Update audit summary for Wolof migration retry repairs 2026-09-13 08:08:51 +03:00
Lauri Ojansivu 3c4a7cf6d9 Repair Wolof scheduled migration retry and resume messages 2026-09-13 08:08:46 +03:00
Lauri Ojansivu 5a3f029e8c Update audit summary after Wolof migration control repairs 2026-09-13 08:08:16 +03:00
Lauri Ojansivu cf32293fd0 Repair Wolof migration controls and status labels 2026-09-13 08:08:12 +03:00
Lauri Ojansivu 8dbc26c7b9 Record Wolof restoration warning translation progress 2026-09-13 08:07:41 +03:00
Lauri Ojansivu db5a44fd10 Repair Wolof restoration and duplicate cleanup warnings 2026-09-13 08:07:37 +03:00
Lauri Ojansivu b2a45ac1e1 Record Wolof migration confirmation translation progress 2026-09-13 08:07:04 +03:00
Lauri Ojansivu 72b2e0c002 Repair Wolof migration confirmations and URL repair guidance 2026-09-13 08:07:00 +03:00
Lauri Ojansivu 90c5476e0b Update audit summary for Wolof migration repairs 2026-09-13 08:06:23 +03:00
Lauri Ojansivu 8949339a58 Repair Wolof board migration guidance 2026-09-13 08:06:19 +03:00
Lauri Ojansivu 92198e2a93 Record Wolof navigation and search translation progress 2026-09-13 08:05:47 +03:00
Lauri Ojansivu 98cf839392 Repair Wolof board navigation and search guidance 2026-09-13 08:05:41 +03:00
Lauri Ojansivu a5bd9aa61e Update translation audit after Wolof invitation repairs 2026-09-13 08:05:11 +03:00
Lauri Ojansivu 6d3042194a Repair Wolof invitations and board access descriptions 2026-09-13 08:05:10 +03:00
Lauri Ojansivu e44286022a Record Wolof membership translation repair progress 2026-09-13 08:04:31 +03:00
Lauri Ojansivu 4a44fac96b Repair Wolof membership confirmations and board guidance 2026-09-13 08:04:27 +03:00
Lauri Ojansivu db1a4b4527 Update translation audit summary after Wolof message repairs 2026-09-13 08:03:57 +03:00
Lauri Ojansivu dc527edae5 Repair Wolof loading warning and import recovery guidance 2026-09-13 08:03:54 +03:00
Lauri Ojansivu 73de6b8577 Refresh translation audit after scheduled job repairs 2026-09-13 08:01:31 +03:00
Lauri Ojansivu 286897ff91 Fix Wolof scheduled job and error clearing controls 2026-09-13 08:01:30 +03:00
Lauri Ojansivu 425e316bc8 Refresh translation audit after color scope review 2026-09-13 08:00:51 +03:00
Lauri Ojansivu b7cae334c9 Clarify Wolof selected item color scope and color controls 2026-09-13 08:00:50 +03:00
Lauri Ojansivu fc7481a252 Refresh translation audit after selection control repairs 2026-09-13 07:59:57 +03:00
Lauri Ojansivu 18e508eda6 Fix Wolof selection label member and color controls 2026-09-13 07:59:56 +03:00
Lauri Ojansivu 3d49602002 Refresh translation audit after movement and display repairs 2026-09-13 07:59:20 +03:00
Lauri Ojansivu 6be6a01007 Fix Wolof card movement image removal and sidebar controls 2026-09-13 07:59:19 +03:00
Lauri Ojansivu 150ac39e83 Refresh translation audit after membership message repairs 2026-09-13 07:58:42 +03:00
Lauri Ojansivu f9d93bf8bd Fix Wolof people credential and card membership messages 2026-09-13 07:58:41 +03:00
Lauri Ojansivu 9bb8b00d26 Refresh translation audit after missing record label repairs 2026-09-13 07:57:57 +03:00
Lauri Ojansivu a84bd45d84 Fix Wolof missing identity and parent display labels 2026-09-13 07:57:57 +03:00
Lauri Ojansivu 9aadb14ee7 Refresh translation audit after rule label repairs 2026-09-13 07:57:10 +03:00
Lauri Ojansivu 7206b01aaf Fix Wolof swimlane checklist and update rule labels 2026-09-13 07:57:10 +03:00
Lauri Ojansivu b7021abfa9 Refresh translation audit after template and import label repairs 2026-09-13 07:56:30 +03:00
Lauri Ojansivu bf0ef26113 Fix Wolof template names and list import controls 2026-09-13 07:56:29 +03:00
Lauri Ojansivu d9a9d2768b Refresh translation audit after swimlane sizing repairs 2026-09-13 07:55:51 +03:00
Lauri Ojansivu 36814315e3 Fix Wolof swimlane sizing and search messages 2026-09-13 07:55:50 +03:00
Lauri Ojansivu e21ac66d67 Refresh translation audit after swimlane action repairs 2026-09-13 07:55:14 +03:00
Lauri Ojansivu b97c98375d Fix Wolof list and swimlane action labels 2026-09-13 07:55:13 +03:00
Lauri Ojansivu 99c87a1074 Refresh translation audit after board navigation repairs 2026-09-13 07:54:31 +03:00
Lauri Ojansivu 16b9ace590 Fix Wolof board navigation labels 2026-09-13 07:54:30 +03:00
Lauri Ojansivu 39ef3011d6 Refresh translation audit after general action repairs 2026-09-13 07:53:54 +03:00
Lauri Ojansivu 3947c76706 Fix Wolof general action and settings labels 2026-09-13 07:53:53 +03:00
Lauri Ojansivu bf0b1d7d4a Refresh translation audit after due card repairs 2026-09-13 07:53:13 +03:00
Lauri Ojansivu ceef17470e Fix Wolof due card views and date change labels 2026-09-13 07:53:12 +03:00
Lauri Ojansivu 2694b405bd Refresh translation audit after card action repairs 2026-09-13 07:52:35 +03:00
Lauri Ojansivu 12f7872975 Fix Wolof card action and minicard display labels 2026-09-13 07:52:34 +03:00
Lauri Ojansivu 0d90856dfd Refresh translation audit after custom field heading repairs 2026-09-13 07:51:55 +03:00
Lauri Ojansivu 82f7896112 Fix Wolof custom field headings and popup titles 2026-09-13 07:51:55 +03:00
Lauri Ojansivu 202480e835 Refresh translation audit after import mapping repairs 2026-09-13 07:51:18 +03:00
Lauri Ojansivu e2c4abf4f5 Fix Wolof import member mapping and ZIP structure labels 2026-09-13 07:51:17 +03:00
Lauri Ojansivu faac61b44a Refresh translation audit after custom field type repairs 2026-09-13 07:50:34 +03:00
Lauri Ojansivu 50d5bbb90a Fix Wolof custom field types and template format controls 2026-09-13 07:50:33 +03:00
Lauri Ojansivu c34e3a4d18 Refresh translation audit after validation error repairs 2026-09-13 07:49:50 +03:00
Lauri Ojansivu 377dd6713e Fix Wolof permission account and JSON errors 2026-09-13 07:49:50 +03:00
Lauri Ojansivu 2b48979f38 Refresh translation audit after credential repairs 2026-09-13 07:49:15 +03:00
Lauri Ojansivu 27f40adcae Fix Wolof credential labels and validation messages 2026-09-13 07:49:14 +03:00
Lauri Ojansivu 4c429bb3f4 Refresh translation audit after custom translation repairs 2026-09-13 07:48:32 +03:00
Lauri Ojansivu de0b55e88d Fix Wolof custom translation controls 2026-09-13 07:48:31 +03:00
Lauri Ojansivu 45c08dd3d2 Refresh translation audit after settings title repairs 2026-09-13 07:47:54 +03:00
Lauri Ojansivu d34bb46581 Fix Wolof minicard organization and user settings titles 2026-09-13 07:47:54 +03:00
Lauri Ojansivu 474a3350b2 Refresh translation audit after organization repairs 2026-09-13 07:47:15 +03:00
Lauri Ojansivu 6c84c42ceb Fix Wolof organization controls and deletion restrictions 2026-09-13 07:47:14 +03:00
Lauri Ojansivu 3aa824dbf4 Refresh translation audit after option and template repairs 2026-09-13 07:46:34 +03:00
Lauri Ojansivu 5795cb840c Fix Wolof option prompts template container and deletion warning 2026-09-13 07:46:33 +03:00
Lauri Ojansivu 44ea037c85 Refresh translation audit after linked card warning repairs 2026-09-13 07:45:53 +03:00
Lauri Ojansivu 77b0797cbd Fix Wolof linked card warnings and archive recovery guidance 2026-09-13 07:45:52 +03:00
Lauri Ojansivu 9e4a978203 Refresh translation audit after list repair descriptions 2026-09-13 07:45:11 +03:00
Lauri Ojansivu af5c00cf41 Fix Wolof list repair and duplicate deletion descriptions 2026-09-13 07:45:10 +03:00
Lauri Ojansivu f80965ec7e Refresh translation audit after list action repairs 2026-09-13 07:44:37 +03:00
Lauri Ojansivu 78b4df2fd0 Fix Wolof duplicate list and list action translations 2026-09-13 07:44:36 +03:00
Lauri Ojansivu 9919bf4b6f Refresh translation audit after checklist control repairs 2026-09-13 07:43:59 +03:00
Lauri Ojansivu a12cd204f7 Fix Wolof checklist controls and item count labels 2026-09-13 07:43:58 +03:00
Lauri Ojansivu 79876943d5 Refresh translation audit after role label repairs 2026-09-13 07:43:20 +03:00
Lauri Ojansivu 61fd37e866 Fix Wolof role member and assignee labels 2026-09-13 07:43:19 +03:00
Lauri Ojansivu 7415d8d5a2 Refresh translation audit after notification repairs 2026-09-13 07:42:45 +03:00
Lauri Ojansivu 4c8cc2b3e9 Fix Wolof watching and notification controls 2026-09-13 07:42:44 +03:00
Lauri Ojansivu 0bc85055fc Refresh translation audit after card display repairs 2026-09-13 07:42:07 +03:00
Lauri Ojansivu b464a877f1 Fix Wolof card display and week of year labels 2026-09-13 07:42:06 +03:00
Lauri Ojansivu 3d31f6e95d Refresh translation audit after filter control repairs 2026-09-13 07:41:32 +03:00
Lauri Ojansivu 556992a78e Fix Wolof filter controls and due date conditions 2026-09-13 07:41:31 +03:00
Lauri Ojansivu 76788d14bb Refresh translation audit after search validation repairs 2026-09-13 07:40:56 +03:00
Lauri Ojansivu 4e007d6baa Fix Wolof search controls and operator validation messages 2026-09-13 07:40:56 +03:00
Lauri Ojansivu b17c177296 Refresh translation audit after time tracking repairs 2026-09-13 07:40:21 +03:00
Lauri Ojansivu bc8ff1ba5e Fix Wolof time tracking and remaining duration labels 2026-09-13 07:40:20 +03:00
Lauri Ojansivu c994badb64 Refresh translation audit after date rule repairs 2026-09-13 07:39:48 +03:00
Lauri Ojansivu 84ee3efbd0 Fix Wolof date rule triggers and field labels 2026-09-13 07:39:47 +03:00
Lauri Ojansivu e3f5386e5f Refresh translation audit after date time control repairs 2026-09-13 07:39:14 +03:00
Lauri Ojansivu bec90a3fc0 Fix Wolof date time controls and literal format patterns 2026-09-13 07:39:13 +03:00
Lauri Ojansivu fb2e69794f Refresh translation audit after card export repairs 2026-09-13 07:38:40 +03:00
Lauri Ojansivu 3da5d100f7 Fix Wolof card export controls and field groups 2026-09-13 07:38:39 +03:00
Lauri Ojansivu 6500cef0a4 Refresh translation audit after export metadata repairs 2026-09-13 07:38:08 +03:00
Lauri Ojansivu 1856605c97 Fix Wolof export metadata and available space labels 2026-09-13 07:38:07 +03:00
Lauri Ojansivu 57e41040aa Refresh translation progress after attachment label repairs 2026-09-13 07:37:33 +03:00
Lauri Ojansivu 59084b61ff Fix Wolof attachment labels and storage move scopes 2026-09-13 07:37:32 +03:00
Lauri Ojansivu 3e6e169b3c Refresh translation audit after comment control repairs 2026-09-13 07:36:59 +03:00
Lauri Ojansivu ed00dca314 Fix Wolof comment controls and unread comment meaning 2026-09-13 07:36:58 +03:00
Lauri Ojansivu d5074cc8ee Refresh translation audit after subtask control repairs 2026-09-13 07:36:26 +03:00
Lauri Ojansivu 9ab65727c9 Fix Wolof subtask controls and destination labels 2026-09-13 07:36:25 +03:00
Lauri Ojansivu 0627603537 Refresh translation progress after activity heading fixes 2026-09-13 07:35:48 +03:00
Lauri Ojansivu 10d6918d89 Fix Wolof activity headings and board selection hint 2026-09-13 07:35:47 +03:00
Lauri Ojansivu 43f6d087d8 Refresh translation progress after permission description repairs 2026-09-13 07:35:08 +03:00
Lauri Ojansivu 62f955fd00 Fix Wolof board permission descriptions 2026-09-13 07:35:08 +03:00
Lauri Ojansivu 1c7b55058d Refresh translation audit after workspace and archive guidance fixes 2026-09-13 07:34:33 +03:00
Lauri Ojansivu 2b9eb96222 Fix Wolof workspace title and archive guidance 2026-09-13 07:34:32 +03:00
Lauri Ojansivu 2c34515a0c Refresh translation audit after import activity repairs 2026-09-13 07:33:57 +03:00
Lauri Ojansivu 2f3a4cb25f Fix Wolof import activities and destination wording 2026-09-13 07:33:56 +03:00
Lauri Ojansivu bb3c8d3603 Update concise translation audit after membership activity repairs 2026-09-13 07:33:24 +03:00
Lauri Ojansivu c989976718 Fix Wolof joining attachment and mention activities 2026-09-13 07:33:23 +03:00
Lauri Ojansivu 83a81db9fd Refresh translation progress after custom field activity fixes 2026-09-13 07:32:48 +03:00
Lauri Ojansivu a974398a68 Fix Wolof custom field activity terminology 2026-09-13 07:32:47 +03:00
Lauri Ojansivu c8140026e2 Refresh translation audit after date activity repairs 2026-09-13 07:32:06 +03:00
Lauri Ojansivu 1544b4a0a0 Fix Wolof date activity messages and argument meaning 2026-09-13 07:32:05 +03:00
Lauri Ojansivu cd5469a2ed Update translation audit after short activity repairs 2026-09-13 07:31:28 +03:00
Lauri Ojansivu ab8313bf22 Fix Wolof short activity messages and list rename typo 2026-09-13 07:31:28 +03:00
Lauri Ojansivu e6b4f3c5a3 Refresh translation audit after account status repairs 2026-09-13 07:30:54 +03:00
Lauri Ojansivu fbdf717206 Fix Wolof account status filters and activation controls 2026-09-13 07:30:54 +03:00
Lauri Ojansivu 28ecf629c3 Refresh translation audit after starred board repairs 2026-09-13 07:30:16 +03:00
Lauri Ojansivu c3d9cac4cc Fix Wolof starred board and comment controls 2026-09-13 07:30:15 +03:00
Lauri Ojansivu d8897de0d4 Refresh translation progress after HTML and card control repairs 2026-09-13 07:29:38 +03:00
Lauri Ojansivu 9f23bb1a69 Fix Wolof HTML insertion and card addition translations 2026-09-13 07:29:37 +03:00
Lauri Ojansivu da8564f864 Update translation audit progress after storage and deletion repairs 2026-09-13 07:29:02 +03:00
Lauri Ojansivu f6fda48043 Fix Wolof deletion warnings and attachment storage translations 2026-09-13 07:29:01 +03:00
Lauri Ojansivu b06af4a920 Refresh translation repair progress after move activity fixes 2026-09-13 07:28:24 +03:00
Lauri Ojansivu af5c86c04b Fix Wolof move swimlane and checklist activity translations 2026-09-13 07:28:23 +03:00
Lauri Ojansivu 8f52ff8572 Refresh translation audit progress after archive fixes 2026-09-13 07:27:49 +03:00
Lauri Ojansivu 8cf4f44332 Fix Wolof archive action and activity translations 2026-09-13 07:27:48 +03:00
Lauri Ojansivu 4c72ac4986 Update concise translation audit after activity repairs 2026-09-13 07:27:19 +03:00
Lauri Ojansivu bcb47e2726 Fix Wolof label member and custom field activity translations 2026-09-13 07:27:18 +03:00
Lauri Ojansivu 23847c1e77 Refresh concise translation repair progress summary 2026-09-13 07:26:37 +03:00
Lauri Ojansivu 9c2607de9e Fix Wolof upload limits and file report translations 2026-09-13 07:26:30 +03:00
Lauri Ojansivu 6fd6510889 Refresh translation audit after Wolof permission label repairs 2026-09-13 07:24:19 +03:00
Lauri Ojansivu 74fe0e65e4 Repair Wolof account permission and allowed filetype labels 2026-09-13 07:24:18 +03:00
Lauri Ojansivu 5981735abf Refresh translation audit after Wolof template controls 2026-09-13 07:23:43 +03:00
Lauri Ojansivu d7d4d380ba Repair Wolof checklist template copy controls 2026-09-13 07:23:42 +03:00
Lauri Ojansivu 4a2b9fcdd4 Refresh translation audit after Wolof sorting label repairs 2026-09-13 07:23:09 +03:00
Lauri Ojansivu b05650cb4e Repair Wolof list sorting label meanings 2026-09-13 07:23:08 +03:00
Lauri Ojansivu 366fb428c7 Refresh translation audit after Wolof board display repairs 2026-09-13 07:22:34 +03:00
Lauri Ojansivu f94f4371f8 Repair Wolof board display settings and background controls 2026-09-13 07:22:34 +03:00
Lauri Ojansivu 6229e64994 Refresh translation audit after Wolof terminology review 2026-09-13 07:21:57 +03:00
Lauri Ojansivu 0bbcacd69d Correct Wolof custom field and movement terms after review 2026-09-13 07:21:56 +03:00
Lauri Ojansivu 20e7fa0629 Refresh translation audit after Wolof checked item repairs 2026-09-13 07:21:17 +03:00
Lauri Ojansivu 5684bff1d7 Repair Wolof checked item visibility and activity 2026-09-13 07:21:16 +03:00
Lauri Ojansivu 98699c6fee Refresh translation audit after Wolof checklist state repairs 2026-09-13 07:20:41 +03:00
Lauri Ojansivu 14fafd732c Repair Wolof checklist state activity distinctions 2026-09-13 07:20:41 +03:00
Lauri Ojansivu f61161be51 Refresh translation audit after Wolof checklist activity repairs 2026-09-13 07:20:06 +03:00
Lauri Ojansivu 5bfe4ff252 Repair Wolof scoped checklist activity 2026-09-13 07:20:05 +03:00
Lauri Ojansivu 10394ca868 Refresh translation audit after Wolof comment repairs 2026-09-13 07:19:30 +03:00
Lauri Ojansivu 6a4bc85895 Repair Wolof comment activity actions 2026-09-13 07:19:29 +03:00
Lauri Ojansivu 58074531fe Refresh translation audit after Wolof creation activity repairs 2026-09-13 07:18:53 +03:00
Lauri Ojansivu 64d9541bae Repair Wolof card list and board creation activity 2026-09-13 07:18:52 +03:00
Lauri Ojansivu 71e4062169 Refresh translation audit after Wolof scoped activity repairs 2026-09-13 07:18:18 +03:00
Lauri Ojansivu f6cf2dfdc6 Repair Wolof attachment and restored card activity 2026-09-13 07:18:17 +03:00
Lauri Ojansivu df581169cc Refresh translation audit after Wolof protection settings repairs 2026-09-13 07:17:39 +03:00
Lauri Ojansivu e9cb9bbf77 Repair Wolof brute force protection settings descriptions 2026-09-13 07:17:38 +03:00
Lauri Ojansivu cb4788a68c Refresh translation audit after Wolof login condition repairs 2026-09-13 07:17:07 +03:00
Lauri Ojansivu 49cbb00926 Repair Wolof login lockout conditions and account deletion label 2026-09-13 07:17:06 +03:00
Lauri Ojansivu 5c7cdd9565 Refresh translation audit after Wolof lockout repairs 2026-09-13 07:16:32 +03:00
Lauri Ojansivu c6eb570f4a Repair Wolof user account locking controls 2026-09-13 07:16:32 +03:00
Lauri Ojansivu a50b5d2163 Refresh translation audit after Wolof deletion warnings 2026-09-13 07:15:55 +03:00
Lauri Ojansivu d75dfbd47c Repair Wolof permanent deletion warnings 2026-09-13 07:15:55 +03:00
Lauri Ojansivu 291c15b336 Refresh translation audit after Wolof archive repairs 2026-09-13 07:15:20 +03:00
Lauri Ojansivu 739be477a0 Repair Wolof card and list archive recovery instructions 2026-09-13 07:15:19 +03:00
Lauri Ojansivu a8b85aaab0 Refresh translation audit after Wolof card display repairs 2026-09-13 07:14:44 +03:00
Lauri Ojansivu 784dc5b924 Repair Wolof list movement and card display controls 2026-09-13 07:14:44 +03:00
Lauri Ojansivu 406cd56719 Refresh translation audit after Wolof attachment repairs 2026-09-13 07:14:11 +03:00
Lauri Ojansivu dfec89d0b9 Repair Wolof attachment controls and activity 2026-09-13 07:14:10 +03:00
Lauri Ojansivu 16a26a52f1 Refresh translation audit after Wolof date label repairs 2026-09-13 07:13:35 +03:00
Lauri Ojansivu c66df192bc Repair Wolof calendar navigation and date labels 2026-09-13 07:13:35 +03:00
Lauri Ojansivu 312ea2f46c Refresh translation audit after Wolof keyboard help repairs 2026-09-13 07:12:56 +03:00
Lauri Ojansivu 5730e2dda7 Repair Wolof keyboard shortcut descriptions 2026-09-13 07:12:55 +03:00
Lauri Ojansivu 41f9c49526 Refresh translation audit after Wolof workspace repairs 2026-09-13 07:12:14 +03:00
Lauri Ojansivu fbcace52d5 Repair Wolof workspace controls and confirmations 2026-09-13 07:12:13 +03:00
Lauri Ojansivu 4d4535555f Refresh translation audit after Wolof search limit repairs 2026-09-13 07:11:41 +03:00
Lauri Ojansivu 5efe267949 Repair Wolof search age sorting and result limit instructions 2026-09-13 07:11:40 +03:00
Lauri Ojansivu c4b80e23e4 Refresh translation audit after Wolof search syntax repairs 2026-09-13 07:11:05 +03:00
Lauri Ojansivu 3e850c3e41 Repair Wolof search criteria and shorthand examples 2026-09-13 07:11:04 +03:00
Lauri Ojansivu 4e67690c00 Refresh translation audit after Wolof filter repairs 2026-09-13 07:10:30 +03:00
Lauri Ojansivu 7f7b98958b Repair Wolof filter criterion labels 2026-09-13 07:10:29 +03:00
Lauri Ojansivu 07f679360c Refresh translation audit after Wolof label terminology review 2026-09-13 07:09:57 +03:00
Lauri Ojansivu a0459fcb74 Unify Wolof label terminology and repair visibility meanings 2026-09-13 07:09:56 +03:00
Lauri Ojansivu c53f2f2c3f Refresh translation audit after Wolof label repairs 2026-09-13 07:09:22 +03:00
Lauri Ojansivu c7a6711355 Repair Wolof label controls and error meanings 2026-09-13 07:09:21 +03:00
Lauri Ojansivu 6c38a395e6 Refresh translation audit after Wolof visibility repairs 2026-09-13 07:08:47 +03:00
Lauri Ojansivu 2c6974a393 Repair Wolof card visibility and field scope controls 2026-09-13 07:08:46 +03:00
Lauri Ojansivu 058a0f3fdb Refresh translation audit after Wolof card copy repairs 2026-09-13 07:08:06 +03:00
Lauri Ojansivu 738712731d Repair Wolof multiple card copy instructions and JSON example 2026-09-13 07:08:05 +03:00
Lauri Ojansivu a1636fb5d4 Refresh translation audit after Wolof assignee search repairs 2026-09-13 07:07:33 +03:00
Lauri Ojansivu 23ab711d74 Repair Wolof assignee search and member import instructions 2026-09-13 07:07:33 +03:00
Lauri Ojansivu c4a43804c7 Refresh translation audit after Wolof membership repairs 2026-09-13 07:06:55 +03:00
Lauri Ojansivu 1bb9fdda4b Repair Wolof board and card membership controls 2026-09-13 07:06:54 +03:00
Lauri Ojansivu 8206d3869c Refresh translation audit after Wolof checklist input repairs 2026-09-13 07:06:15 +03:00
Lauri Ojansivu 55d8c545ae Repair Wolof checklist completion and input instructions 2026-09-13 07:06:14 +03:00
Lauri Ojansivu 0bf9e4a658 Refresh translation audit after Wolof checklist repairs 2026-09-13 07:05:42 +03:00
Lauri Ojansivu dbb053821e Repair Wolof checklist actions and warnings 2026-09-13 07:05:41 +03:00
Lauri Ojansivu ea304b1402 Refresh translation audit after Wolof activity repairs 2026-09-13 07:05:09 +03:00
Lauri Ojansivu ecbec0f2c9 Repair Wolof card placement and activity labels 2026-09-13 07:05:08 +03:00
Lauri Ojansivu f30f2101ec Record unresolved Silesian technical wording review 2026-09-13 07:04:20 +03:00
Lauri Ojansivu 7107e992c4 Refresh translation audit after Walloon agreement review 2026-09-13 07:03:49 +03:00
Lauri Ojansivu 595bdd256a Correct Walloon card creation agreement after review 2026-09-13 07:03:48 +03:00
Lauri Ojansivu a720f519f3 Refresh translation audit after Walloon calendar replacements 2026-09-13 07:03:07 +03:00
Lauri Ojansivu 08c9209300 Translate Walloon Hijri calendar variant labels 2026-09-13 07:03:06 +03:00
Lauri Ojansivu 7a6ca99c94 Refresh translation audit after Walloon state label repairs 2026-09-13 07:02:29 +03:00
Lauri Ojansivu 4258f59419 Repair Walloon example and checkbox state labels 2026-09-13 07:02:28 +03:00
Lauri Ojansivu f67062acd3 Refresh translation audit after Walloon authentication repairs 2026-09-13 07:01:53 +03:00
Lauri Ojansivu dee5b46ddc Repair Walloon authentication labels 2026-09-13 07:01:52 +03:00
Lauri Ojansivu 9d378064a1 Refresh translation audit after Walloon diagnostic repairs 2026-09-13 07:01:22 +03:00
Lauri Ojansivu 86526a56d0 Repair remaining Walloon heap and uptime diagnostics 2026-09-13 07:01:21 +03:00
Lauri Ojansivu f951a4156f Refresh translation audit after Walloon memory repairs 2026-09-13 07:00:47 +03:00
Lauri Ojansivu 5bad62d6c3 Repair Walloon memory diagnostic labels 2026-09-13 07:00:46 +03:00
Lauri Ojansivu 9cae22d6b1 Refresh translation audit after Walloon filter repairs 2026-09-13 07:00:00 +03:00
Lauri Ojansivu d1b0cf9a88 Repair Walloon advanced filter and URL scheme instructions 2026-09-13 06:59:59 +03:00
Lauri Ojansivu 8a71d64049 Refresh translation audit after Walloon animation repairs 2026-09-13 06:59:14 +03:00
Lauri Ojansivu 18308b4767 Repair Walloon waiting animation labels 2026-09-13 06:59:13 +03:00
Lauri Ojansivu 2cf5792300 Refresh translation audit after Walloon member mapping repairs 2026-09-13 06:58:35 +03:00
Lauri Ojansivu 017f79fa8f Repair Walloon selection and imported member instructions 2026-09-13 06:58:34 +03:00
Lauri Ojansivu cfcb875e28 Refresh translation audit after Walloon archive repairs 2026-09-13 06:57:57 +03:00
Lauri Ojansivu 31baf4ae37 Repair Walloon archive controls and linked card warnings 2026-09-13 06:57:56 +03:00
Lauri Ojansivu 3e0300439c Refresh translation audit after Walloon workspace repairs 2026-09-13 06:57:10 +03:00
Lauri Ojansivu 06d4228177 Repair Walloon workspace labels and card copy example 2026-09-13 06:57:09 +03:00
Lauri Ojansivu 5cb11aee34 Refresh translation audit after Walloon checkbox repairs 2026-09-13 06:56:32 +03:00
Lauri Ojansivu 36eec86be2 Repair Walloon checkbox activities and controls 2026-09-13 06:56:32 +03:00
Lauri Ojansivu 6bfd1e7230 Refresh short translation audit after Walloon upload repairs 2026-09-13 06:53:52 +03:00
Lauri Ojansivu 355febf8c0 Repair Walloon layout and upload controls
Translate 21 audited values, retaining vertical direction, label ranges and WIP threshold. Full grammar and specialized terminology remain low confidence.
2026-09-13 06:53:42 +03:00
Lauri Ojansivu b7f84c8ca4 Refresh short translation audit after Walloon calendar labels 2026-09-13 06:52:53 +03:00
Lauri Ojansivu fe809d070b Translate remaining basic Walloon calendar labels
Repair 13 audited values while retaining calendar names. Specialized religious and country adjectives remain low confidence and need further terminology review.
2026-09-13 06:52:42 +03:00
Lauri Ojansivu 720b18f189 Refresh short translation audit after Walloon support repairs 2026-09-13 06:52:00 +03:00
Lauri Ojansivu 94582b01e5 Repair Walloon support and layout translations
Translate 25 audited values while retaining diagnostic commands, layout limits and SMTP identifiers. Full grammar and specialized terminology remain low confidence.
2026-09-13 06:51:50 +03:00
Lauri Ojansivu 181fdb636f Refresh short translation audit after Walloon filter repairs 2026-09-13 06:51:11 +03:00
Lauri Ojansivu 85a9598f6f Repair Walloon filtering and selection translations
Translate 30 audited values, retaining role distinctions, selection scope and operator placeholders. Full grammar and filtering terminology remain low confidence.
2026-09-13 06:51:00 +03:00
Lauri Ojansivu 81c36ebae3 Refresh short translation audit after Walloon customization repairs 2026-09-13 06:50:23 +03:00
Lauri Ojansivu e125e16bf9 Repair Walloon customization and scheduled job translations
Translate 32 audited values, preserving web identifiers, default dimensions and success/failure states. Full grammar and specialized terminology remain low confidence.
2026-09-13 06:50:13 +03:00
Lauri Ojansivu d6ca4cb6bb Record Walloon clipboard terminology re-review in short audit 2026-09-13 06:49:34 +03:00
Lauri Ojansivu 010cc88fc3 Correct unsupported Walloon clipboard terminology
Replace magic-hat wording in four values with attested presse-papî and add regression coverage. Full surrounding grammar remains low confidence.
2026-09-13 06:49:24 +03:00
Lauri Ojansivu 787c682d1f Refresh short translation audit after Walloon display repairs 2026-09-13 06:48:44 +03:00
Lauri Ojansivu 3ac699ac30 Repair Walloon field and display translations
Translate 27 audited values, retaining size tokens, width actions and sort order. Full grammar and specialized terminology remain low confidence.
2026-09-13 06:48:32 +03:00
Lauri Ojansivu f62862f513 Refresh short translation audit after Walloon date activity repairs 2026-09-13 06:47:55 +03:00
Lauri Ojansivu 62d15364e0 Repair Walloon date activity and accessibility controls
Translate 22 audited values, preserving date states, argument order and due-card permission scope. Full grammar and specialized terminology remain low confidence.
2026-09-13 06:47:44 +03:00
Lauri Ojansivu 82d4596b50 Refresh short translation audit after Walloon search instructions 2026-09-13 06:47:09 +03:00
Lauri Ojansivu 93fb273e72 Repair Walloon search instructions and card controls
Translate 22 audited values while retaining OR/AND examples and removal scope. Full grammar and specialized search terminology remain low confidence.
2026-09-13 06:47:08 +03:00
Lauri Ojansivu a05b7e0598 Refresh short translation audit after Walloon search repairs 2026-09-13 06:46:10 +03:00
Lauri Ojansivu 0400e5a8b1 Repair Walloon search operator help
Translate 28 audited values, preserving operator tokens and distinct user roles. Full grammar and search terminology remain low confidence.
2026-09-13 06:45:57 +03:00
Lauri Ojansivu c2666a85e6 Refresh short translation audit after Walloon email repairs 2026-09-13 06:45:13 +03:00
Lauri Ojansivu 8e8600a2b3 Repair Walloon invitation and email translations
Translate 25 audited values, retaining links, invitation codes and offline data-loss warning. Full grammar and invitation terminology remain low confidence.
2026-09-13 06:45:12 +03:00
Lauri Ojansivu b238dbd2d4 Refresh short translation audit after Walloon rule repairs 2026-09-13 06:44:11 +03:00
Lauri Ojansivu 8f7ae964dd Repair Walloon rule and workspace translations
Translate 26 audited values, preserving movement directions, WIP scope and notification states. Full grammar and rule/notification terminology remain low confidence.
2026-09-13 06:44:00 +03:00
Lauri Ojansivu fd1dbb29d8 Refresh short translation audit after Walloon board action repairs 2026-09-13 06:43:19 +03:00
Lauri Ojansivu 5bccb17b97 Repair Walloon board and card action translations
Translate 29 audited values, preserving member/admin requirements and action scope. Full grammar and template-container terminology remain low confidence.
2026-09-13 06:43:09 +03:00
Lauri Ojansivu 86c6ce3952 Refresh short translation audit after Walloon account repairs 2026-09-13 06:42:33 +03:00
Lauri Ojansivu 05a171284b Repair Walloon account and login translations
Translate 24 audited values, preserving failed login protection, seconds and activation actions. Full grammar and security terminology remain low confidence.
2026-09-13 06:42:23 +03:00
Lauri Ojansivu 345902bc1c Refresh short translation audit after Walloon shortcut repairs 2026-09-13 06:41:47 +03:00
Lauri Ojansivu 2ab1fd7470 Repair Walloon shortcut and display controls
Translate 20 audited values, preserving zoom range and enabled/disabled actions. Full grammar and autocomplete terminology remain low confidence.
2026-09-13 06:41:36 +03:00
Lauri Ojansivu 165899c594 Refresh short translation audit after Walloon import repairs 2026-09-13 06:41:02 +03:00
Lauri Ojansivu 48cf4e2bdc Repair Walloon import and member mapping controls
Translate 16 audited values while retaining menu labels, file formats and current-user fallback. Full grammar and mapping terminology remain low confidence.
2026-09-13 06:41:01 +03:00
Lauri Ojansivu a9072b57d0 Refresh short translation audit after Walloon export repairs 2026-09-13 06:40:03 +03:00
Lauri Ojansivu b53c48f822 Repair Walloon export and file controls
Translate 18 audited values while preserving formats, byte units and field groups. Full grammar and specialized field terminology remain low confidence.
2026-09-13 06:40:03 +03:00
Lauri Ojansivu e796971ec1 Refresh short translation audit after Walloon migration descriptions 2026-09-13 06:39:01 +03:00
Lauri Ojansivu e1e92dd7e3 Repair Walloon migration descriptions and confirmations
Translate 20 audited values, retaining duplicate deletion conditions, archived state restrictions and database identifiers. Full grammar and data-integrity terminology remain low confidence.
2026-09-13 06:39:00 +03:00
Lauri Ojansivu a1de404212 Refresh short translation audit after Walloon migration repairs 2026-09-13 06:38:05 +03:00
Lauri Ojansivu 87685a0733 Repair Walloon migration and data repair controls
Translate 29 audited values, preserving affected data and paused/failed migration states. Full grammar and migration terminology remain low confidence.
2026-09-13 06:37:54 +03:00
Lauri Ojansivu 51725bf854 Refresh short translation audit after Walloon field repairs 2026-09-13 06:37:12 +03:00
Lauri Ojansivu 9494b94544 Repair Walloon custom field and description translations
Translate 15 audited controls, preserving format placeholders, whitespace entities and HTML tags. Full grammar and template terminology remain low confidence.
2026-09-13 06:37:02 +03:00
Lauri Ojansivu 4e4792c774 Refresh short translation audit after Walloon date repairs 2026-09-13 06:36:29 +03:00
Lauri Ojansivu 2eb417eb6a Repair Walloon date controls and date activity translations
Translate 19 audited date values and two adjacent month controls. Preserve date/card argument order and date types. Received-date terminology, deadline loan and grammar remain low confidence.
2026-09-13 06:36:28 +03:00
Lauri Ojansivu 7db8398377 Refresh short translation audit after Walloon archive repairs 2026-09-13 06:35:33 +03:00
Lauri Ojansivu 9c18ffd593 Repair Walloon deletion and archive warnings
Translate 23 audited values while retaining deleted objects, no-undo warnings and archive recovery. Full grammar and technical history terminology remain low confidence.
2026-09-13 06:35:24 +03:00
Lauri Ojansivu 511421e663 Refresh short translation audit after Walloon control repairs 2026-09-13 06:34:38 +03:00
Lauri Ojansivu ee82f12fd2 Repair Walloon card controls and deletion confirmations
Translate 22 audited values, preserving direction, archive alternatives and irreversible deletion warnings. Full sentence grammar remains low confidence.
2026-09-13 06:34:37 +03:00
Lauri Ojansivu aa8918acbc Refresh short translation audit after Walloon permission repairs 2026-09-13 06:33:48 +03:00
Lauri Ojansivu 4973f7d1b6 Repair Walloon member and permission translations
Translate 24 audited values while preserving role restrictions and prohibitions. Full grammar and specialized assignment phrasing remain low confidence.
2026-09-13 06:33:47 +03:00
Lauri Ojansivu ab61dcf5fb Refresh short translation audit after Walloon checklist repairs 2026-09-13 06:32:44 +03:00
Lauri Ojansivu adf472f58f Repair French checklist translations in Walloon
Translate 21 audited checklist values, preserving item removal and completed/uncompleted meanings. Use attested feminine fineye. Full sentence grammar remains low confidence.
2026-09-13 06:32:33 +03:00
Lauri Ojansivu 381faf7d19 Refresh short translation audit after Walloon activity repairs 2026-09-13 06:31:45 +03:00
Lauri Ojansivu efa519e632 Repair French activity messages in Walloon translations
Translate 29 activity values, preserving complete context placeholders and movement origins and destinations. Full sentence grammar remains low confidence.
2026-09-13 06:31:44 +03:00
Lauri Ojansivu 9b55cc721a Refresh short translation audit after Walloon attachment repairs 2026-09-13 06:30:39 +03:00
Lauri Ojansivu ee13ed8638 Repair Walloon attachment, minicard and activity translations
Replace 34 audited French values with Walloon, retaining storage names and activity placeholders. Sentence grammar remains low confidence.
2026-09-13 06:30:30 +03:00
Lauri Ojansivu f41fc70c58 Refresh short translation audit after Walloon lockout repairs 2026-09-13 06:29:32 +03:00
Lauri Ojansivu a6ac30b351 Repair French account lockout labels in Walloon translations
Use attested Walloon user, password, settings and block/unblock vocabulary. Sentence grammar remains low confidence.
2026-09-13 06:29:23 +03:00
Lauri Ojansivu 8d5de7ed01 Keep short translation audit summary synchronized with repair records 2026-09-13 06:28:29 +03:00
Lauri Ojansivu 3511bf3783 Refresh concise translation repair progress 2026-09-13 06:25:35 +03:00
Lauri Ojansivu 1b08e22a40 Translate Samoan astronomical Hijri starting-date label 2026-09-13 06:25:34 +03:00
Lauri Ojansivu 7fd1663b33 Refresh concise translation repair progress 2026-09-13 06:25:01 +03:00
Lauri Ojansivu ac0617f357 Restore moon sighting in Samoan Saudi Hijri label 2026-09-13 06:25:01 +03:00
Lauri Ojansivu 3f99653bb6 Refresh concise translation repair progress 2026-09-13 06:24:27 +03:00
Lauri Ojansivu e40590278b Translate Samoan Buddhist and Coptic calendar labels 2026-09-13 06:24:27 +03:00
Lauri Ojansivu 78243676fb Refresh concise translation repair progress 2026-09-13 06:23:53 +03:00
Lauri Ojansivu d7f5d685f1 Repair Samoan calendar system and named calendar labels 2026-09-13 06:23:53 +03:00
Lauri Ojansivu eb93a708a5 Refresh concise translation repair progress 2026-09-13 06:22:57 +03:00
Lauri Ojansivu 48ad0bae62 Translate Shona astronomical Hijri starting-date label 2026-09-13 06:22:57 +03:00
Lauri Ojansivu 2bc83a7d50 Refresh concise translation repair progress 2026-09-13 06:22:23 +03:00
Lauri Ojansivu d7d55859ce Restore moon sighting in Shona Saudi Hijri label 2026-09-13 06:22:23 +03:00
Lauri Ojansivu a91dd73d8f Refresh concise translation repair progress 2026-09-13 06:21:50 +03:00
Lauri Ojansivu b9d8f621ba Translate Shona Coptic and Hijri calendar labels 2026-09-13 06:21:50 +03:00
Lauri Ojansivu 2ce5c518a9 Refresh concise translation repair progress 2026-09-13 06:21:12 +03:00
Lauri Ojansivu 0e0c46be08 Translate Shona named calendar descriptions 2026-09-13 06:21:12 +03:00
Lauri Ojansivu 549f9dfa51 Refresh concise translation repair progress 2026-09-13 06:20:34 +03:00
Lauri Ojansivu 6b9a982764 Repair Shona calendar labels and remove translation meta-text 2026-09-13 06:20:33 +03:00
Lauri Ojansivu d9ef919c96 Refresh concise translation repair progress 2026-09-13 06:19:44 +03:00
Lauri Ojansivu c34390fdcf Restore moon sighting in Chichewa Saudi Hijri label 2026-09-13 06:19:44 +03:00
Lauri Ojansivu 609995794c Refresh concise translation repair progress 2026-09-13 06:18:46 +03:00
Lauri Ojansivu b498f6c8fb Repair Chichewa Persian and astronomical Hijri labels 2026-09-13 06:18:45 +03:00
Lauri Ojansivu f6b8f45748 Refresh concise translation repair progress 2026-09-13 06:18:02 +03:00
Lauri Ojansivu 953f6122d9 Translate Chichewa Buddhist and Coptic calendar labels 2026-09-13 06:18:02 +03:00
Lauri Ojansivu 5d0164dde8 Refresh concise translation repair progress 2026-09-13 06:17:22 +03:00
Lauri Ojansivu b944e56f03 Repair Chichewa calendar system and named calendar labels 2026-09-13 06:17:21 +03:00
Lauri Ojansivu 35299caec5 Refresh concise translation repair progress 2026-09-13 06:16:30 +03:00
Lauri Ojansivu 9620b33212 Distinguish Oromo Hijri calendar variants 2026-09-13 06:16:30 +03:00
Lauri Ojansivu 600047b5e0 Refresh concise translation repair progress 2026-09-13 06:15:29 +03:00
Lauri Ojansivu 2f2b7f06fb Translate Oromo Buddhist and Coptic calendar labels 2026-09-13 06:15:29 +03:00
Lauri Ojansivu 121a5d577d Refresh concise translation repair progress 2026-09-13 06:15:04 +03:00
Lauri Ojansivu 4a8f1f9922 Repair Oromo religious calendar and era names 2026-09-13 06:15:03 +03:00
Lauri Ojansivu 53d12febcc Refresh concise translation repair progress 2026-09-13 06:14:12 +03:00
Lauri Ojansivu 0ce0c5dd8f Repair Oromo calendar system and country labels 2026-09-13 06:14:11 +03:00
Lauri Ojansivu 985276a780 Refresh concise translation repair progress 2026-09-13 06:13:38 +03:00
Lauri Ojansivu a92c35ecae Repair Acehnese clipboard copy labels 2026-09-13 06:13:27 +03:00
Lauri Ojansivu fa8b7455bb Refresh concise translation repair progress 2026-09-13 06:10:25 +03:00
Lauri Ojansivu e6be5b22dd Repair Acehnese filter help and raw database labels
Translate filter prose while preserving operators, examples and exact escape sequences. Use dictionary-supported raw terminology. Specialized wording and grammar remain low confidence pending native-speaker review.
2026-09-13 06:10:25 +03:00
Lauri Ojansivu 09c82217ce Refresh concise translation repair progress 2026-09-13 06:09:20 +03:00
Lauri Ojansivu 626ccb7ff8 Repair Acehnese calendar selection labels
Use dictionary-supported Persian, Chinese, Japanese and Jewish names. Preserve named calendars, civil and astronomical epochs and Saudi lunar observation. Specialized calendar terminology and grammar remain low confidence pending native-speaker review.
2026-09-13 06:09:19 +03:00
Lauri Ojansivu 1fe089da28 Refresh concise translation repair progress 2026-09-13 06:08:33 +03:00
Lauri Ojansivu cbd3e7ae41 Repair Acehnese calendar, activity and account labels
Replace Azerbaijani calendar-setting text and align the calendar heading. Preserve activity placeholders and URL scheme instructions. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:08:32 +03:00
Lauri Ojansivu 69a3d08a3e Refresh concise translation repair progress 2026-09-13 06:07:50 +03:00
Lauri Ojansivu 51961c5180 Repair Acehnese memory diagnostics and waiting animations
Preserve Node, MongoDB and animation identifiers. Distinguish allocated, used, available, executable and resident memory, and describe zap as bit-pattern overwriting. Specialized terminology and grammar remain low confidence pending native-speaker review.
2026-09-13 06:07:50 +03:00
Lauri Ojansivu 66f6a5ef1f Refresh concise translation repair progress 2026-09-13 06:06:55 +03:00
Lauri Ojansivu 5567d8b7ac Repair Acehnese WIP and export messages
Correct movement out of a list and the truncated Excel format name. Preserve authentication optionality, worker restrictions and deletion warnings. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:06:55 +03:00
Lauri Ojansivu 8de9aa596d Refresh concise translation repair progress 2026-09-13 06:05:58 +03:00
Lauri Ojansivu cd92d1aae1 Repair Acehnese SMTP and field summary labels
Distinguish sums and counts, preserve hour units and positive-integer height requirements, and retain notification restrictions. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:05:58 +03:00
Lauri Ojansivu 48e0a2f8c2 Refresh concise translation repair progress 2026-09-13 06:04:57 +03:00
Lauri Ojansivu 2728e77851 Repair Acehnese shortcuts and display settings
Distinguish card membership from assignment and preserve diagnostic commands. Restore subtasks and field display wording. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:04:56 +03:00
Lauri Ojansivu 2d767feb6a Refresh concise translation repair progress 2026-09-13 06:04:05 +03:00
Lauri Ojansivu 58054be459 Repair Acehnese role and removal messages
Preserve read-only restrictions, label shortcut range and unsaved description replacement semantics. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:04:05 +03:00
Lauri Ojansivu 468c6a0573 Refresh concise translation repair progress 2026-09-13 06:03:12 +03:00
Lauri Ojansivu d69ac5a712 Repair Acehnese automation rule messages
Correct top versus bottom movement and distinguish checking from unchecking. Preserve rule conditions and placeholders. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:03:12 +03:00
Lauri Ojansivu f8b1d65f2a Refresh concise translation repair progress 2026-09-13 06:02:14 +03:00
Lauri Ojansivu 5893dd30f6 Repair Acehnese notifications and board visibility messages
Preserve tentative private-page wording, login HTML links, board editing restrictions and card-window behavior. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:02:14 +03:00
Lauri Ojansivu 8868f6b84f Refresh concise translation repair progress 2026-09-13 06:01:22 +03:00
Lauri Ojansivu 378b2a48c0 Repair Acehnese member mapping and attachment settings
Preserve imported member roles and permission limits, byte-based upload limits and attachment destinations. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:01:21 +03:00
Lauri Ojansivu 4f5eba7305 Refresh concise translation repair progress 2026-09-13 06:00:40 +03:00
Lauri Ojansivu 86f4ae1310 Repair Acehnese keyboard states and list warnings
Correct duplicated enabled/disabled shortcut labels and roles versus rules in last-admin restrictions. Preserve archive restoration and deletion semantics. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 06:00:39 +03:00
Lauri Ojansivu 7aab51b245 Refresh concise translation repair progress 2026-09-13 05:59:50 +03:00
Lauri Ojansivu 2d47d8fabd Repair Acehnese import and user mapping instructions
Preserve Trello menu labels, supported file formats and current-user mapping semantics. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 05:59:49 +03:00
Lauri Ojansivu 51489e012f Refresh concise translation repair progress 2026-09-13 05:58:59 +03:00
Lauri Ojansivu 349b56826c Repair Acehnese filters and search instructions
Correct case-insensitive search, creator versus assignee wording and the one-board home limit. Preserve search placeholders and number syntax. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 05:58:58 +03:00
Lauri Ojansivu 2503de754f Refresh concise translation repair progress 2026-09-13 05:58:08 +03:00
Lauri Ojansivu 8e1e8604a0 Repair Acehnese validation and export messages
Correct vertical scrolling versus horizontal wording and preserve the zoom range. Keep invalid formats, permissions and existing-name errors distinct. Grammar and technical terms remain low confidence pending native-speaker review.
2026-09-13 05:58:08 +03:00
Lauri Ojansivu 86b0316aa7 Refresh concise translation repair progress 2026-09-13 05:57:18 +03:00
Lauri Ojansivu 28d38ae872 Repair Acehnese account emails and permission errors
Preserve recipient, site and URL placeholders and email paragraph breaks. Keep membership and administrator requirements distinct. Grammar and adapted technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 05:57:18 +03:00
Lauri Ojansivu 562a74fc5f Refresh concise translation repair progress 2026-09-13 05:56:33 +03:00
Lauri Ojansivu 50896edea1 Repair Acehnese deletion and subtask destination messages
Preserve linked-card deletion conditions, membership restrictions and archive loss warnings. Grammar and technical wording remain low confidence pending native-speaker review.
2026-09-13 05:56:33 +03:00
Lauri Ojansivu 9b05b27103 Refresh concise translation repair progress 2026-09-13 05:55:36 +03:00
Lauri Ojansivu 30e24fbd2d Repair Acehnese custom-field and creation-date labels
Preserve format placeholders, whitespace entities and logo defaults. Add entity preservation regression coverage. Grammar and borrowed technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 05:55:35 +03:00
Lauri Ojansivu 48401b04d1 Refresh concise translation repair progress 2026-09-13 05:54:44 +03:00
Lauri Ojansivu 5235927d30 Repair Acehnese card and checklist controls
Distinguish automatic list width from default width and preserve clipboard, template-copy and archive-restoration behavior. Grammar and adapted technical vocabulary remain low confidence pending native-speaker review.
2026-09-13 05:54:43 +03:00
Lauri Ojansivu d801634f47 Refresh concise translation repair progress 2026-09-13 05:54:00 +03:00
Lauri Ojansivu f0dcd4536e Repair Acehnese permissions and card deletion warnings
Distinguish avatar and upload file types, sorting and filtering, archive restoration and irreversible deletion. Preserve source placeholders. Grammar and borrowed technical terminology remain low confidence pending native-speaker review.
2026-09-13 05:54:00 +03:00
Lauri Ojansivu f188049393 Refresh concise translation repair progress 2026-09-13 05:53:13 +03:00
Lauri Ojansivu 679a254538 Repair Acehnese warnings and board visibility markup
Fix board versus card wording and broken strong tags. Cover HTML tag preservation and malformed markup regressions. Grammar and borrowed technical terminology remain low confidence pending native-speaker review.
2026-09-13 05:53:13 +03:00
Lauri Ojansivu 294a0d25ef Refresh concise translation repair progress 2026-09-13 05:52:21 +03:00
Lauri Ojansivu 406dbc482a Repair Acehnese HTML, archive and attachment labels
Preserve HTML tags and the before/after insertion distinction. Replace foreign-language surrounding text using existing Acehnese terminology and dictionary vocabulary. Grammar and borrowed technical terms remain low confidence pending native-speaker review.
2026-09-13 05:52:20 +03:00
Lauri Ojansivu 8976ad46bf Refresh concise translation repair progress 2026-09-13 05:51:38 +03:00
Lauri Ojansivu e9b9457c25 Repair Acehnese activity and background image labels
Preserve activity argument order and distinguish clearing a field value from deleting its definition. Use dictionary-supported name, image and position vocabulary. Grammar and borrowed technical terms remain low confidence pending native-speaker review.
2026-09-13 05:51:37 +03:00
Lauri Ojansivu 00b0cdd2c4 Refresh concise translation repair progress 2026-09-13 05:50:55 +03:00
Lauri Ojansivu 93dabed102 Repair Acehnese card and board activity translations
Replace Malay and Indonesian activity wording using existing Acehnese terminology and dictionary-supported creation and movement verbs. Preserve every source placeholder. Grammar and borrowed technical vocabulary remain low confidence and need native-speaker review.
2026-09-13 05:50:55 +03:00
Lauri Ojansivu 3f0f6b6a52 Refresh concise translation repair progress 2026-09-13 05:50:03 +03:00
Lauri Ojansivu d8291680ac Clarify maximum permitted heap size in Silesian
Preserve the distinction between allocated memory and the maximum heap size. Technical terminology remains subject to native-speaker review.
2026-09-13 05:50:02 +03:00
Lauri Ojansivu 563efdb3e6 Refresh concise translation repair progress 2026-09-13 05:48:57 +03:00
Lauri Ojansivu 37f06a9a7f Repair Silesian memory, reactivity and archived-card labels
Preserve search placeholders and reactivity backend identifiers. Specialized Silesian terminology remains subject to native-speaker review.
2026-09-13 05:48:57 +03:00
Lauri Ojansivu 63c7ff8c02 Refresh concise translation repair progress 2026-09-13 05:48:23 +03:00
Lauri Ojansivu 52a946b17a Correct Silesian heap overwrite diagnostic terminology
Describe bit-pattern overwriting rather than garbage collection. Silesian technical wording remains subject to native-speaker review.
2026-09-13 05:48:11 +03:00
Lauri Ojansivu b83112b1f8 Refresh concise translation audit progress 2026-09-13 05:45:32 +03:00
Lauri Ojansivu 91f0d401d7 Repair Silesian calendar names and Hijri variants
Replace fifteen English calendar findings, preserving Dangi, Amete Alem, Minguo and Umm al-Qura names. Distinguish civil and astronomical epochs and Saudi lunar sighting. Specialized terminology and grammar require native-language review.
2026-09-13 05:45:31 +03:00
Lauri Ojansivu 742432448e Refresh short translation audit progress 2026-09-13 05:44:54 +03:00
Lauri Ojansivu e352ac470a Repair Silesian Trello credentials and validation labels
Replace twelve Polish findings, preserving API, URL and WIP identifiers. Restore integer height requirements and authentication rather than authorization wording. Specialized terminology and grammar require native-language review.
2026-09-13 05:44:53 +03:00
Lauri Ojansivu 08b67c53d7 Refresh short translation audit progress 2026-09-13 05:44:19 +03:00
Lauri Ojansivu e680c3fdc1 Repair Silesian shortcut and migration step labels
Replace twelve Polish findings, correcting shortcut list display rather than pinning. Preserve WIP, Lost Cards and shared versus per-swimlane meanings. Specialized terminology and grammar require native-language review.
2026-09-13 05:44:18 +03:00
Lauri Ojansivu 792a7f20c0 Refresh concise translation audit progress 2026-09-13 05:43:45 +03:00
Lauri Ojansivu 6b843e340d Repair Silesian S3 descriptions and WIP controls
Replace eleven Polish findings, preserving storage provider names, region example, SSL/TLS and WIP identifiers. Shared raw database file wording remains pending review. Specialized terminology and grammar require native-language review.
2026-09-13 05:43:45 +03:00
Lauri Ojansivu 28653de093 Refresh short translation audit progress 2026-09-13 05:43:09 +03:00
Lauri Ojansivu 1b458f811e Repair Silesian recovery and storage labels
Replace twelve Polish findings, preserving recovery text-data scope, provider names, S3 access key identity and blank AWS endpoint fallback. Specialized terminology and grammar require native-language review.
2026-09-13 05:43:09 +03:00
Lauri Ojansivu 29464b3ed0 Refresh short translation audit summary 2026-09-13 05:42:34 +03:00
Lauri Ojansivu 15a8883448 Repair Silesian automation actions and triggers
Replace twelve Polish findings, preserving Trello Butler naming, comma-separated examples and complete/incomplete distinctions. Describe trigger events in the present rather than future tense. Specialized terminology and grammar require native-language review.
2026-09-13 05:42:34 +03:00
Lauri Ojansivu 7c6d8e56bf Refresh concise translation audit summary 2026-09-13 05:42:00 +03:00
Lauri Ojansivu 1ecb916576 Repair Silesian compact and template settings
Replace twelve Polish findings, preserving MongoDB compact identity, OIDC and operator placeholders. Clarify one line per checklist item and blank-field matching. Specialized terminology and grammar require native-language review.
2026-09-13 05:42:00 +03:00
Lauri Ojansivu 9ee7a1921d Refresh concise translation audit summary 2026-09-13 05:41:26 +03:00
Lauri Ojansivu 4af6360fa3 Repair Silesian list and migration settings
Replace twelve Polish findings, preserving strict width and CPU threshold limits, product names and pause versus stop meanings. Specialized terminology and grammar require native-language review.
2026-09-13 05:41:25 +03:00
Lauri Ojansivu 5b4c662d1d Refresh concise translation audit progress 2026-09-13 05:40:52 +03:00
Lauri Ojansivu 5dc5927358 Repair Silesian search views and import status labels
Replace eleven Polish findings, preserving search/import placeholders, downloader product name and domain example. Retain opposite shortcut states. Shared archived-card wording remains pending review; specialized grammar needs native-language review.
2026-09-13 05:40:52 +03:00
Lauri Ojansivu 9b02763563 Refresh concise translation audit progress 2026-09-13 05:40:17 +03:00
Lauri Ojansivu 791d9b0ce5 Repair Silesian service credentials and search labels
Replace twelve Polish findings, preserving Google Cloud menu labels, JSON/URL names and search operator tokens. Clarify title matching rather than matching a search key. Specialized terminology and grammar require native-language review.
2026-09-13 05:40:17 +03:00
Lauri Ojansivu 554fe8e24d Refresh short translation audit progress 2026-09-13 05:39:43 +03:00
Lauri Ojansivu 1e1e440c87 Repair Silesian drag controls and filter labels
Replace twelve Polish findings, preserving due-change and email placeholders, zoom limits and custom-field/filter distinctions. Specialized terminology and grammar require native-language review.
2026-09-13 05:39:42 +03:00
Lauri Ojansivu ca5a58f70e Refresh concise translation repair progress 2026-09-13 05:39:10 +03:00
Lauri Ojansivu 1dc267f06a Repair Silesian custom content and authentication settings
Replace twelve Polish findings, preserving assetlinks.json, JSON, URL and database product/version names. Retain text-data migration scope. Specialized terminology and grammar require native-language review.
2026-09-13 05:39:09 +03:00
Lauri Ojansivu 6056c89ebd Refresh short translation audit summary 2026-09-13 05:38:37 +03:00
Lauri Ojansivu cddff73d15 Repair Silesian confirmations and migration controls
Replace twelve Polish findings, preserving blank-secret retention, checklist versus item deletion, newest/oldest ordering and paused/failed migration distinctions. Specialized terminology and grammar require native-language review.
2026-09-13 05:38:36 +03:00
Lauri Ojansivu f18a461b0e Refresh short translation audit progress 2026-09-13 05:38:01 +03:00
Lauri Ojansivu 0a783f33ed Repair Silesian card aging and checklist labels
Replace twelve Polish findings, preserving three fade levels, checklist counts, individual-item deletion and opposite auto-width toggles. Specialized terminology and grammar require native-language review.
2026-09-13 05:38:00 +03:00
Lauri Ojansivu 204e3f260c Refresh concise translation audit summary 2026-09-13 05:37:27 +03:00
Lauri Ojansivu 5ee060d2cc Repair Silesian backup and board status labels
Replace twelve findings, preserving monthly day limits, Azure menu labels and the Persian Jalali identity. Specialized terminology and grammar require native-language review.
2026-09-13 05:37:26 +03:00
Lauri Ojansivu 6649f674e4 Refresh short translation audit progress 2026-09-13 05:36:55 +03:00
Lauri Ojansivu 26b8623de6 Repair Silesian workspace and transfer labels
Replace twelve Polish findings, preserving date/card placeholder order, API transfer direction and Azure portal labels. Specialized terminology and grammar require native-language review.
2026-09-13 05:36:54 +03:00
Lauri Ojansivu 63708b3ce8 Refresh concise translation repair progress 2026-09-13 05:36:19 +03:00
Lauri Ojansivu ced13476a0 Repair Silesian activity and reminder translations
Replace twelve Polish findings, preserving placeholders and due versus end date, checklist completion versus reversal, and import direction distinctions. Specialized terminology and grammar require native-language review.
2026-09-13 05:36:19 +03:00
Lauri Ojansivu 30eb62dca5 Refresh short translation audit summary 2026-09-13 05:35:45 +03:00
Lauri Ojansivu e14c7ab98b Repair Silesian account and legal notice labels
Repair six flagged Polish findings and the associated legal notice link text. Review prefix and link together against their template. Preserve seconds and failure-count distinctions. Specialized wording and grammar require native-language review.
2026-09-13 05:35:45 +03:00
Lauri Ojansivu 48cbf662c2 Refresh concise translation audit progress 2026-09-13 05:35:14 +03:00
Lauri Ojansivu 1218c7910b Repair Silesian memory usage and system diagnostics
Replace five Polish findings, retaining allocated versus used memory, RSS and METEOR_REACTIVITY_ORDER identifiers. Shared reactivity-mode wording remains pending review. Specialized terminology and grammar require native-language review.
2026-09-13 05:35:14 +03:00
Lauri Ojansivu 9a6112aad0 Refresh short translation audit progress 2026-09-13 05:34:43 +03:00
Lauri Ojansivu fb1af8cdf7 Repair Silesian heap totals and external memory labels
Replace five Polish diagnostic findings, retaining available, allocated, executable and physical heap distinctions. Shared size-limit and used-size labels remain pending vocabulary review. Specialized wording and grammar require native-language review.
2026-09-13 05:34:43 +03:00
Lauri Ojansivu 4dd6d76934 Refresh short translation audit summary 2026-09-13 05:34:11 +03:00
Lauri Ojansivu 0c353c60cf Repair Silesian compatibility and context diagnostics
Replace three Polish findings, preserving MongoDB naming and distinct native versus detached context counts. Specialized vocabulary and grammar require native-language review.
2026-09-13 05:34:11 +03:00
Lauri Ojansivu bebfe9356d Refresh concise translation audit progress 2026-09-13 05:33:36 +03:00
Lauri Ojansivu 7aeb74cf09 Repair Silesian allocated memory labels
Repair two Polish memory diagnostics and retain the shared technical DDP transport label. Preserve malloc and distinguish current allocation from peak allocation. Specialized wording and grammar require native-language review.
2026-09-13 05:33:36 +03:00
Lauri Ojansivu fc9f90787a Refresh concise translation audit progress 2026-09-13 05:32:58 +03:00
Lauri Ojansivu 1601125602 Repair Silesian calendar selector language
Replace the Azerbaijani calendar setting and align its calendar label with attested Silesian Kalyndŏrz. Calendar setting grammar remains subject to native-language review.
2026-09-13 05:32:57 +03:00
Lauri Ojansivu d55657db73 Refresh concise translation audit progress 2026-09-13 05:32:14 +03:00
Lauri Ojansivu 790d828a60 Repair Breton advanced filter and Hijri labels
Replace ten wrong-language findings, preserving filter operators, escape sequences, examples and distinct Hijri calendar variants. Specialized epoch terminology and grammar require native-language review.
2026-09-13 05:32:14 +03:00
Lauri Ojansivu 409f4ac90d Refresh concise translation audit summary 2026-09-13 05:31:22 +03:00
Lauri Ojansivu 98b6f329a2 Repair Breton visibility and deletion warnings
Replace twelve French findings, retaining private-only visibility, label toggle versus multi-selection addition and permanent swimlane/vote deletion meanings. Specialized terminology and grammar require native-language review.
2026-09-13 05:31:21 +03:00
Lauri Ojansivu 66ba32629a Refresh concise translation audit progress 2026-09-13 05:30:49 +03:00
Lauri Ojansivu b317b54f0c Repair Breton migration steps and subtext labels
Replace twelve French findings, preserving Lost Cards, URL and ID terminology and shared versus per-swimlane lists. Specialized terminology and grammar require native-language review.
2026-09-13 05:30:49 +03:00
Lauri Ojansivu e47a4c00a8 Refresh short translation audit progress 2026-09-13 05:30:18 +03:00
Lauri Ojansivu 29989b5b65 Repair Breton field display and SMTP descriptions
Replace twelve French findings, preserving ISO 8601, SMTP and TLS identifiers and starred-board ordering. Specialized terminology and grammar require native-language review.
2026-09-13 05:30:18 +03:00
Lauri Ojansivu 24c1687fbc Refresh short translation audit summary 2026-09-13 05:29:46 +03:00
Lauri Ojansivu d3cf4239a2 Repair Breton sidebar and minicard display labels
Replace twelve French findings, preserving show/hide toggle meanings and the strict greater-than card count threshold. Specialized terminology and grammar require native-language review.
2026-09-13 05:29:46 +03:00
Lauri Ojansivu 75d19aa3f5 Refresh short translation audit summary 2026-09-13 05:29:15 +03:00
Lauri Ojansivu ee5220eebe Repair Breton shortcuts and server troubleshooting
Replace twelve French findings, preserving snap and Docker commands, pixel units and WIP maximum wording. Specialized terminology and grammar require native-language review.
2026-09-13 05:29:15 +03:00
Lauri Ojansivu 19b6e5fff1 Refresh concise translation audit progress 2026-09-13 05:28:44 +03:00
Lauri Ojansivu 2a8b8e0f6d Repair Breton recovery and migration confirmations
Replace twelve French findings, preserving swimlaneId/listId and Lost Cards naming. Retain archived versus non-archived scopes and duplicate-empty-list deletion conditions. Specialized terminology and grammar require native-language review.
2026-09-13 05:28:43 +03:00
Lauri Ojansivu a8a677f77d Refresh short translation audit summary 2026-09-13 05:28:07 +03:00
Lauri Ojansivu 7e31ab3223 Repair Breton automation and read permissions
Replace twelve French findings, preserving invitation placeholders, comma-separated checklist instructions and read-only restrictions. Specialized terminology and grammar require native-language review.
2026-09-13 05:28:06 +03:00
Lauri Ojansivu 3e755ce886 Refresh short translation repair summary 2026-09-13 05:27:36 +03:00
Lauri Ojansivu 51d62b18c5 Repair Breton validation and preview messages
Replace twelve French findings, preserving placeholders and login HTML. Retain permanent Planning Poker deletion and PDF download fallback meanings. Specialized terminology and grammar require native-language review.
2026-09-13 05:27:35 +03:00
Lauri Ojansivu a736c8a2f2 Refresh short translation audit progress 2026-09-13 05:27:05 +03:00
Lauri Ojansivu 8e0c7f90c8 Repair Breton notifications and operator errors
Replace twelve French findings, preserving operator placeholders, OIDC naming and positive integer requirements. Specialized terminology and grammar require native-language review.
2026-09-13 05:27:04 +03:00
Lauri Ojansivu c89a259212 Refresh short translation repair summary 2026-09-13 05:26:33 +03:00
Lauri Ojansivu 20fcc9cd57 Repair Breton migration status and selection labels
Replace twelve French findings, preserving migration start/pause/completion distinctions and comment visibility wording. Specialized terminology and grammar require native-language review.
2026-09-13 05:26:33 +03:00
Lauri Ojansivu d82eb5dfe9 Refresh concise translation audit progress 2026-09-13 05:26:03 +03:00
Lauri Ojansivu e4f942b13d Repair Breton list actions and upload limits
Replace twelve French findings, preserving Trello and Excel identifiers, byte units and permanent list deletion warning. Specialized terminology and grammar require native-language review.
2026-09-13 05:26:03 +03:00
Lauri Ojansivu 3f4057f908 Refresh short translation audit progress 2026-09-13 05:25:33 +03:00
Lauri Ojansivu 9e4f2d2ae7 Repair Breton member mapping and label warnings
Replace twelve French findings. Preserve placeholders, shortcut toggle states, permanent label deletion and the requirement for at least one administrator. Specialized terminology and grammar require native-language review.
2026-09-13 05:25:32 +03:00
Lauri Ojansivu 1cc63a573f Refresh concise translation audit summary 2026-09-13 05:25:00 +03:00
Lauri Ojansivu beb2e1ecae Repair Breton display and import instructions
Replace twelve French findings, preserving the ended predicate and CSV, TSV and JSON identifiers. Retain label text versus list display distinctions. Specialized terminology and grammar require native-language review.
2026-09-13 05:24:59 +03:00
Lauri Ojansivu 12c2941ce2 Refresh concise translation progress summary 2026-09-13 05:24:29 +03:00
Lauri Ojansivu f02fb1c2a5 Repair Breton search operator descriptions
Replace twelve French findings, preserving operators, predicates, argument names and descending sort syntax. Close the unmatched overdue example markdown delimiter. Specialized terminology and grammar require native-language review.
2026-09-13 05:24:28 +03:00
Lauri Ojansivu cf77c420b2 Refresh concise translation repair progress 2026-09-13 05:23:53 +03:00
Lauri Ojansivu a850f595aa Repair Breton search instructions and date filters
Replace sixteen French findings, preserving search tokens and English example arguments. Clarify OR versus AND combination and double-quoted values. Specialized terminology and grammar require native-language review.
2026-09-13 05:23:52 +03:00
Lauri Ojansivu 63abc07301 Refresh short translation progress summary 2026-09-13 05:23:14 +03:00
Lauri Ojansivu 1d6bece380 Repair Breton export fields and filter messages
Replace sixteen French findings, retaining Excel naming and distinct creator, owner, member and assignee roles. Preserve insufficient disk space and self-invitation errors. Specialized terminology and grammar require native-language review.
2026-09-13 05:23:13 +03:00
Lauri Ojansivu f233e2aa1f Refresh concise translation audit progress 2026-09-13 05:22:41 +03:00
Lauri Ojansivu b9ce02e415 Repair Breton account email and validation errors
Replace sixteen French findings, preserving email placeholders, CSV/TSV identifiers and zoom limits. Specialized terminology and grammar require native-language review.
2026-09-13 05:22:41 +03:00
Lauri Ojansivu d9326a95ba Refresh short translation audit summary 2026-09-13 05:22:07 +03:00
Lauri Ojansivu f1c4180e80 Repair Breton date editor and enrollment messages
Replace sixteen French findings, preserving email and due-time placeholders and distinct received, start, due and vote end dates. Specialized terminology and grammar require native-language review.
2026-09-13 05:22:07 +03:00
Lauri Ojansivu 71a30f6b4f Refresh concise translation repair progress 2026-09-13 05:21:36 +03:00
Lauri Ojansivu c852e82297 Repair Breton branding and duplicate list warnings
Replace sixteen French findings. Preserve the default logo height, URL and HTML terms, and the empty-list AND matching populated-list deletion condition. Specialized terminology and grammar require native-language review.
2026-09-13 05:21:35 +03:00
Lauri Ojansivu 2ab326e634 Refresh short translation repair summary 2026-09-13 05:20:58 +03:00
Lauri Ojansivu e6b0bd60b7 Repair Breton migration and custom content labels
Replace sixteen French findings, preserving assetlinks.json, HTML entities and template placeholders. Retain permanent custom-field deletion and history loss warnings. Specialized terminology and grammar require native-language review.
2026-09-13 05:20:58 +03:00
Lauri Ojansivu 2328359a08 Refresh short translation audit progress 2026-09-13 05:20:25 +03:00
Lauri Ojansivu 3ef0aa29e0 Repair Breton template and scheduled job translations
Replace sixteen French findings, preserving JSON property names and newest/oldest sorting distinctions. Specialized terminology and grammatical wording require native-language review.
2026-09-13 05:20:24 +03:00
Lauri Ojansivu ab40bb2472 Refresh concise translation audit summary 2026-09-13 05:19:50 +03:00
Lauri Ojansivu c0a322d2a3 Repair Breton card display and commenting labels
Replace sixteen French findings. Review the assigned-comment role against its source capabilities and checklist close controls against their templates. Preserve the missing-comment placeholder. Specialized terminology and grammar need native-language review.
2026-09-13 05:19:50 +03:00
Lauri Ojansivu b1cea3fab0 Update short translation audit progress 2026-09-13 05:19:07 +03:00
Lauri Ojansivu 64edd57d14 Repair Breton authentication and card action translations
Replace sixteen French findings, retaining URL terminology and source placeholders. Preserve permanent deletion and archive restoration distinctions. Specialized terminology and grammatical wording require native-language review.
2026-09-13 05:19:06 +03:00
Lauri Ojansivu 87a0fe501d Refresh concise translation repair progress 2026-09-13 05:18:27 +03:00
Lauri Ojansivu f7973731a0 Repair Breton workspace and upload labels
Replace eight French findings with Breton wording, preserving the due-time placeholder. Specialized terminology and grammatical wording remain subject to native-language review.
2026-09-13 05:18:26 +03:00
Lauri Ojansivu 973b190ba3 Refresh short audit after Breton workspace editing repairs 2026-09-13 05:15:36 +03:00
Lauri Ojansivu 9c0f75509b Repair Breton workspace editing and organization labels
Preserve workspace/subworkspace distinction, deletion confirmation and markdown icon field. Specialized terminology and grammar need language review.
2026-09-13 05:15:35 +03:00
Lauri Ojansivu da2138b55c Refresh short audit after Breton date activity repairs 2026-09-13 05:15:04 +03:00
Lauri Ojansivu 511bbe8de5 Repair Breton date activities and custom field clearing
Preserve date-first/card-second arguments and distinguish clearing a field value from deleting its definition. Specialized terminology and grammar need language review.
2026-09-13 05:15:04 +03:00
Lauri Ojansivu 376fd6f201 Refresh short audit after Breton checklist status repairs 2026-09-13 05:14:25 +03:00
Lauri Ojansivu 8b9fd148c6 Repair Breton overdue and checklist status activity messages
Remove spurious digit before list title placeholder and preserve complete/incomplete actions. Specialized terminology and grammar need language review.
2026-09-13 05:14:24 +03:00
Lauri Ojansivu 63de438b5b Refresh short audit after Breton time change repairs 2026-09-13 05:13:54 +03:00
Lauri Ojansivu d20a7d8f21 Repair Breton time change and due reminder descriptions
Preserve old/new timestamps, first reminder and approaching versus current deadline. Specialized terminology and grammar need language review.
2026-09-13 05:13:53 +03:00
Lauri Ojansivu daa1b49064 Refresh short audit after Breton accessibility repairs 2026-09-13 05:13:22 +03:00
Lauri Ojansivu d5c9a4d9b6 Repair Breton account creation and accessibility messages
Translate the legal notice prefix together with its rendered label. Preserve failure-window seconds and account change options. Specialized terminology and grammar need language review.
2026-09-13 05:13:21 +03:00
Lauri Ojansivu ef202bec87 Refresh short audit after Breton process diagnostic repairs 2026-09-13 05:12:46 +03:00
Lauri Ojansivu cc7a5e1f46 Repair Breton process memory and placement descriptions
Preserve RSS, actual memory use, OS uptime and above-selected placement. Specialized terminology and grammar need language review.
2026-09-13 05:12:45 +03:00
Lauri Ojansivu 9583a44d8c Refresh short audit after Breton heap metric repairs 2026-09-13 05:12:16 +03:00
Lauri Ojansivu 8888e57b65 Repair Breton heap memory metric descriptions
Preserve peak malloc, available, executable, physical and used heap distinctions. Specialized terminology has low confidence and needs language review.
2026-09-13 05:12:15 +03:00
Lauri Ojansivu eed8520d6d Refresh short audit after Breton memory diagnostic repairs 2026-09-13 05:11:44 +03:00
Lauri Ojansivu e421a52597 Repair Breton Node memory diagnostics and wait spinner labels
Describe heap garbage overwriting rather than an option named does_zap_garbage. Preserve malloc and MongoDB identifiers. Specialized terminology has low confidence and needs language review.
2026-09-13 05:11:44 +03:00
Lauri Ojansivu 7e4f662988 Refresh short audit after Breton validation repairs 2026-09-13 05:11:12 +03:00
Lauri Ojansivu ef2091980a Repair Breton username validation and worker permissions
Preserve three-character minimum, username token and restricted worker capabilities. Specialized terminology and grammar need language review.
2026-09-13 05:11:11 +03:00
Lauri Ojansivu 7eb23eea02 Refresh short audit after Breton export restriction repairs 2026-09-13 05:10:41 +03:00
Lauri Ojansivu fa2aae7151 Repair Breton export restrictions and assignee toggle description
Preserve card-specific export limits and board addition order for assignee shortcuts. Specialized terminology and grammar need language review.
2026-09-13 05:10:40 +03:00
Lauri Ojansivu 57dc9b34ab Refresh short audit after Breton swimlane archive repairs 2026-09-13 05:10:10 +03:00
Lauri Ojansivu e7e5ea680e Repair Breton swimlane archive and support visibility descriptions
Preserve logged-in support restriction, scan subjects and swimlane restoration. Specialized terminology and grammar need language review.
2026-09-13 05:10:10 +03:00
Lauri Ojansivu 429361c428 Refresh short audit after Breton shortcut repairs 2026-09-13 05:09:39 +03:00
Lauri Ojansivu f38f874c33 Repair Breton shortcuts and board display labels
Preserve current-card self-assignment, sidebar toggling and starred-board ordering. Specialized terminology and grammar need language review.
2026-09-13 05:09:39 +03:00
Lauri Ojansivu 72a11eb2ee Refresh short audit after Breton migration confirmation repairs 2026-09-13 05:09:06 +03:00
Lauri Ojansivu b5fd95d617 Repair Breton migration confirmations and board search scope
Preserve board/member-specific storage repairs, data-integrity checks and search field scope. Specialized terminology and grammar need language review.
2026-09-13 05:09:06 +03:00
Lauri Ojansivu 3949c26078 Refresh short audit after Breton removal confirmation repairs 2026-09-13 05:08:33 +03:00
Lauri Ojansivu 078dc1e44e Repair Breton rule fragments and member removal confirmations
Preserve rule clause fragments, board-only removal and member notifications. Specialized terminology and grammar need language review.
2026-09-13 05:08:32 +03:00
Lauri Ojansivu d8dad6fa1a Refresh short audit after Breton rule movement repairs 2026-09-13 05:08:00 +03:00
Lauri Ojansivu 9cf1dcf708 Repair Breton rule movement and invitation messages
Preserve top/bottom and own-list distinctions and invitation placeholders. Specialized terminology and grammar need language review.
2026-09-13 05:07:59 +03:00
Lauri Ojansivu f4a36e9e1f Refresh short audit after Breton visibility permission repairs 2026-09-13 05:07:26 +03:00
Lauri Ojansivu 695aca1e6a Repair Breton visibility permissions and checklist line handling
Preserve assigned-card visibility, public edit restrictions and original checklist order. Specialized terminology and grammar need language review.
2026-09-13 05:07:25 +03:00
Lauri Ojansivu 703dbbc765 Refresh short audit after Breton bulk attachment repairs 2026-09-13 05:06:52 +03:00
Lauri Ojansivu 36c06cedb4 Repair Breton migration status and bulk attachment movement labels
Preserve administrator-only execution, per-migration execution and board/global attachment scope. Specialized terminology and grammar need language review.
2026-09-13 05:06:52 +03:00
Lauri Ojansivu e5d5c46d80 Refresh short audit after Breton list archive repairs 2026-09-13 05:06:19 +03:00
Lauri Ojansivu 22119fb8ed Repair Breton board leaving and list archive messages
Preserve leaving-board membership removal and archive restoration instructions. Specialized terminology and grammar need language review.
2026-09-13 05:06:19 +03:00
Lauri Ojansivu d0c129fcbc Refresh short audit after Breton import repairs 2026-09-13 05:05:47 +03:00
Lauri Ojansivu 4caa469ce0 Repair Breton board import and checklist visibility instructions
Preserve member mapping fallback and ZIP attachment structure. Specialized terminology and grammar need language review.
2026-09-13 05:05:47 +03:00
Lauri Ojansivu f53d120db2 Refresh short audit after Breton search operator repairs 2026-09-13 05:05:15 +03:00
Lauri Ojansivu 2f5897ee8c Repair Breton global search role and board operators
Preserve operator tokens, argument names and member/assignee/creator distinctions. Specialized terminology and grammar need language review.
2026-09-13 05:05:14 +03:00
Lauri Ojansivu 0011d46816 Refresh short audit after Breton account error repairs 2026-09-13 05:04:43 +03:00
Lauri Ojansivu 305ef1fc8b Repair Breton account errors and storage repair descriptions
Preserve administrator requirements, distinct account errors and board-scoped storage repairs. Specialized terminology and grammar need language review.
2026-09-13 05:04:42 +03:00
Lauri Ojansivu f11a0198bf Refresh short audit after Breton invitation repairs 2026-09-13 05:04:10 +03:00
Lauri Ojansivu 5168ee2cea Repair Breton invitation emails and due card view description
Keep invitation tokens intact and describe all incomplete cards with due dates, without implying they are already overdue. Specialized terminology and grammar need language review.
2026-09-13 05:04:09 +03:00
Lauri Ojansivu 9a82d829d8 Refresh short audit after Breton deletion constraint repairs 2026-09-13 05:03:37 +03:00
Lauri Ojansivu b5e21327a5 Repair Breton deletion constraints and confirmation messages
Preserve linked-card prerequisites, existing-user constraints and irreversible deletion. Specialized terminology and grammatical wording need language review.
2026-09-13 05:03:37 +03:00
Lauri Ojansivu 228ef30ee0 Refresh short audit after Breton deletion warning repairs 2026-09-13 05:03:02 +03:00
Lauri Ojansivu b80b1a811d Repair Breton deletion warnings and custom field instructions
Preserve irreversible deletion and image/link URL distinctions. Specialized terminology and grammatical wording need language review.
2026-09-13 05:03:01 +03:00
Lauri Ojansivu df2449bb96 Record Breton terminology follow-up in short audit 2026-09-13 05:02:30 +03:00
Lauri Ojansivu c4f4d86e7b Clarify Breton star actions and data migration wording 2026-09-13 05:02:24 +03:00
Lauri Ojansivu 309d1c87ef Refresh short audit after Breton checklist confirmation repairs 2026-09-13 05:02:14 +03:00
Lauri Ojansivu f25115fa0d Repair Breton checklist confirmations and board migration descriptions
Preserve checklist/item distinctions and migration integrity checks. Specialized terminology and grammatical wording need language review.
2026-09-13 05:02:13 +03:00
Lauri Ojansivu 510882f75c Refresh short audit after Breton membership scope repairs 2026-09-13 05:01:43 +03:00
Lauri Ojansivu 3f0957df4c Repair Breton board settings and member scopes
Preserve board-wide versus current-card membership and assignee scopes. Specialized terminology and grammatical wording need language review.
2026-09-13 05:01:42 +03:00
Lauri Ojansivu d8203bf1e0 Refresh short audit after Breton storage repairs 2026-09-13 05:01:12 +03:00
Lauri Ojansivu a75d7b72af Repair Breton attachment storage and board behavior labels
Preserve GridFS/S3 targets, new-card scope and irreversible board deletion. Specialized terminology and grammatical wording need language review.
2026-09-13 05:01:11 +03:00
Lauri Ojansivu f597b2cbbd Refresh short audit after Breton workspace repairs 2026-09-13 05:00:41 +03:00
Lauri Ojansivu ffbb7987fd Repair Breton workspace and offline warning messages
Preserve offline data-loss warning, logged-in access and permanent attachment deletion. Specialized terminology and grammatical wording need language review.
2026-09-13 05:00:40 +03:00
Lauri Ojansivu 5e59e6a402 Refresh short audit after Breton administrator repairs 2026-09-13 05:00:10 +03:00
Lauri Ojansivu 5abfc74ffd Repair Breton creation settings and administrator permission text
Preserve HTML body placement and administrator capabilities. Specialized terminology and grammatical wording need language review.
2026-09-13 05:00:10 +03:00
Lauri Ojansivu 664096a4a4 Refresh short audit after Breton card placement repairs 2026-09-13 04:59:38 +03:00
Lauri Ojansivu 420f8bc697 Repair Breton card placement and image action labels
Preserve movement argument order and top/bottom placement. Kanban terminology and grammatical wording need language review.
2026-09-13 04:59:37 +03:00
Lauri Ojansivu cef6b1822b Refresh short audit after Breton checklist activity repairs 2026-09-13 04:59:08 +03:00
Lauri Ojansivu 9cc55e322f Repair Breton checklist and label activity descriptions
Distinguish checklist-item removal from removal of a whole checklist. Preserve tokens and incomplete-state actions; grammatical wording needs language review.
2026-09-13 04:59:07 +03:00
Lauri Ojansivu 07e02674da Refresh short audit after Breton movement activity repairs 2026-09-13 04:58:37 +03:00
Lauri Ojansivu 262c774843 Repair Breton movement and membership activity messages
Preserve old/new list, swimlane and board destinations and member/removal tokens. Kanban terminology and grammatical mutations need language review.
2026-09-13 04:58:37 +03:00
Lauri Ojansivu cfd73b9079 Refresh short audit after Breton creation activity repairs 2026-09-13 04:58:03 +03:00
Lauri Ojansivu bcf45b1691 Repair Breton creation and deletion activity messages
Preserve completion, import and comment-edit meanings and activity tokens. Kanban terminology and grammatical mutations need language review.
2026-09-13 04:58:03 +03:00
Lauri Ojansivu f79011de44 Refresh short audit after Breton archive activity repairs 2026-09-13 04:57:33 +03:00
Lauri Ojansivu b507391522 Repair Breton comment, label and archive activity messages
Preserve activity locations and substitution tokens. Kanban terminology and grammatical mutations need language review.
2026-09-13 04:57:32 +03:00
Lauri Ojansivu ea57dcb795 Refresh short audit after Breton activity repairs 2026-09-13 04:57:01 +03:00
Lauri Ojansivu 93440fd7fc Repair Breton lockout settings and attachment activity messages
Preserve activity tokens and old/new due values. Security and kanban terminology has low confidence and needs language review.
2026-09-13 04:57:00 +03:00
Lauri Ojansivu 6f136fc4fa Refresh short audit after Breton account repairs 2026-09-13 04:56:27 +03:00
Lauri Ojansivu 427f805282 Repair Breton account lockout messages
Replace French wording while preserving temporary lockout and known-user distinctions. Security terminology has low confidence and needs language review.
2026-09-13 04:56:27 +03:00
Lauri Ojansivu 4a3f9cfd5e Refresh short audit after Guarani calendar repairs 2026-09-13 04:55:53 +03:00
Lauri Ojansivu 31aa021a89 Repair Guarani calendar system and calendar names
Use dictionary-backed arapapaha and preserve proper names. Specialized labels have low confidence and need language review; three epoch/observation findings remain pending.
2026-09-13 04:55:53 +03:00
Lauri Ojansivu ce2161dae4 Refresh short audit after Aymara calendar repairs 2026-09-13 04:55:20 +03:00
Lauri Ojansivu f08806ce0c Repair Aymara calendar names using dictionary terminology
Use pachachimpu for calendar and retain borrowed proper names. Specialized labels have low confidence and need language review; system and epoch qualifiers remain pending.
2026-09-13 04:55:19 +03:00
Lauri Ojansivu aed40b811a Refresh short audit after isiXhosa calendar repairs 2026-09-13 04:54:44 +03:00
Lauri Ojansivu 112424bdac Repair isiXhosa calendar names
Replace twelve English calendar labels while preserving proper names. Specialized names have low confidence and need language review; epoch and observation qualifiers remain pending.
2026-09-13 04:54:43 +03:00
Lauri Ojansivu 503ee29a40 Refresh short audit after Kinyarwanda calendar repairs 2026-09-13 04:54:12 +03:00
Lauri Ojansivu 9f543f14ea Repair Kinyarwanda calendar labels
Preserve calendar variant names and observation/epoch distinctions. Specialized terminology has low confidence and requires language review.
2026-09-13 04:54:11 +03:00
Lauri Ojansivu 2ec4d8f6a3 Refresh short audit after Akan calendar repairs 2026-09-13 04:53:37 +03:00
Lauri Ojansivu 91fffed672 Repair Akan Indian calendar label and missing parenthesis
Preserve the existing civil-calendar translation while closing its variant qualifier. Indian national calendar terminology has low confidence and needs language review; two specialized audit findings remain.
2026-09-13 04:53:36 +03:00
Lauri Ojansivu 3ba1692f1c Refresh short audit after Papiamento calendar repairs 2026-09-13 04:53:03 +03:00
Lauri Ojansivu bad71937bf Repair Papiamento calendar labels
Replace foreign calendar labels while preserving variant names and epoch distinctions. Specialized terminology has low confidence and needs language review.
2026-09-13 04:53:03 +03:00
Lauri Ojansivu 28b2d5b8a2 Refresh short audit after Occitan flagged queue completion 2026-09-13 04:52:24 +03:00
Lauri Ojansivu ada6f51878 Repair Occitan advanced filter instructions and escape examples 2026-09-13 04:52:12 +03:00
Lauri Ojansivu 2a27fea98d Refresh short audit after Occitan calendar repairs 2026-09-13 04:51:48 +03:00
Lauri Ojansivu 7c7a8f3871 Repair Occitan calendar names and permanent deletion warning 2026-09-13 04:51:47 +03:00
Lauri Ojansivu 25cc2f1697 Refresh short audit after Occitan tracking repairs 2026-09-13 04:51:16 +03:00
Lauri Ojansivu 45f40b5f72 Repair Occitan migration steps and tracking descriptions 2026-09-13 04:51:16 +03:00
Lauri Ojansivu f77fb6cfac Refresh short audit after Occitan display repairs 2026-09-13 04:50:44 +03:00
Lauri Ojansivu 2f2d20f751 Repair Occitan display and SMTP descriptions 2026-09-13 04:50:44 +03:00
Lauri Ojansivu 878497e882 Refresh short audit after Occitan confirmation repairs 2026-09-13 04:50:14 +03:00
Lauri Ojansivu d946535f70 Repair Occitan migration confirmations and shortcut labels 2026-09-13 04:50:13 +03:00
Lauri Ojansivu 609201219f Refresh short audit after Occitan restore repairs 2026-09-13 04:49:40 +03:00
Lauri Ojansivu 07d5af3884 Repair Occitan restore and read-only permission descriptions 2026-09-13 04:49:40 +03:00
Lauri Ojansivu dc9944d3c0 Refresh short audit after Occitan search error repairs 2026-09-13 04:49:07 +03:00
Lauri Ojansivu 6e8baa3c06 Repair Occitan notification and search error messages 2026-09-13 04:49:06 +03:00
Lauri Ojansivu 8cba9e3de8 Refresh short audit after Occitan migration repairs 2026-09-13 04:48:35 +03:00
Lauri Ojansivu 4e58c9758b Repair Occitan migration and selection labels 2026-09-13 04:48:34 +03:00
Lauri Ojansivu 4630f7c4b9 Refresh short audit after Occitan warning repairs 2026-09-13 04:48:05 +03:00
Lauri Ojansivu b098a1edee Repair Occitan import, invitation and label warnings 2026-09-13 04:47:55 +03:00
Lauri Ojansivu 49407fb08a Refresh short audit after Occitan search repairs 2026-09-13 04:47:31 +03:00
Lauri Ojansivu debbc467ab Repair Occitan global search instructions and migration labels 2026-09-13 04:47:30 +03:00
Lauri Ojansivu 449d248075 Refresh short audit after Occitan filter repairs 2026-09-13 04:46:45 +03:00
Lauri Ojansivu 53e43646cc Repair Occitan export people and date filter labels 2026-09-13 04:46:36 +03:00
Lauri Ojansivu 89db74ae3f Refresh short audit after Occitan Excel repairs 2026-09-13 04:44:00 +03:00
Lauri Ojansivu 19c73d640c Repair Occitan Excel export and input error messages
Replace ten French findings. Preserve zoom limits, CSV and TSV distinctions, disk space failure and exported date categories. Regional terminology requires language review.
2026-09-13 04:43:51 +03:00
Lauri Ojansivu 01489ddb64 Refresh short audit after Occitan due date repairs 2026-09-13 04:43:25 +03:00
Lauri Ojansivu 8317e8a7bb Repair Occitan due date and display controls
Replace twelve French findings. Preserve duplicate-list deletion conditions, subtask landing list and due-date scope and token. Regional terminology requires language review.
2026-09-13 04:43:15 +03:00
Lauri Ojansivu 44ec167bab Refresh short audit after Occitan header repairs 2026-09-13 04:42:48 +03:00
Lauri Ojansivu 2d58855c92 Repair Occitan custom header and database settings
Replace twelve French findings. Preserve head and meta identifiers, default logo height and both conditions required for empty duplicate-list removal. Regional terminology requires language review.
2026-09-13 04:42:38 +03:00
Lauri Ojansivu aad070f882 Refresh short audit after Occitan custom markup repairs 2026-09-13 04:42:12 +03:00
Lauri Ojansivu da3b0fbf6f Repair Occitan migration retry and custom field settings
Replace twelve French findings. Preserve paused versus failed migration states, irreversible field-history warning, format placeholder and HTML entities. Regional terminology requires language review.
2026-09-13 04:42:03 +03:00
Lauri Ojansivu e17826c39e Refresh short audit after Occitan job status repairs 2026-09-13 04:41:35 +03:00
Lauri Ojansivu 6a47bfe780 Repair Occitan scheduled job and card ordering labels
Replace twelve French findings. Preserve newest and oldest sort directions, job failure and success states and cover image meaning. Regional terminology requires language review.
2026-09-13 04:41:26 +03:00
Lauri Ojansivu 6d532da336 Refresh short audit after Occitan comment repairs 2026-09-13 04:41:00 +03:00
Lauri Ojansivu 49b48e1e6e Repair Occitan minicard and comment controls
Replace ten French findings. Preserve automatic width state, assigned-card comment permissions and search placeholder. Regional terminology requires language review.
2026-09-13 04:40:51 +03:00
Lauri Ojansivu cef2effda1 Refresh short audit after Occitan card display repairs 2026-09-13 04:40:26 +03:00
Lauri Ojansivu a69d622fe9 Repair Occitan card archive and display labels
Replace ten foreign-language findings. Preserve avatar limit placeholder, relative insertion positions, attachment count and archive restoration behavior. Regional terminology requires language review.
2026-09-13 04:40:16 +03:00
Lauri Ojansivu 33fc1f4fde Refresh short audit after Occitan authentication repairs 2026-09-13 04:39:52 +03:00
Lauri Ojansivu e2c0b92a21 Repair Occitan attachment and authentication labels
Replace ten French findings. Preserve due-time placeholder, allowed file type distinctions and one URL scheme per line instructions. Regional terminology requires language review.
2026-09-13 04:39:40 +03:00
Lauri Ojansivu 7776036e92 Refresh short audit after Occitan custom field repairs 2026-09-13 04:39:15 +03:00
Lauri Ojansivu aa25093e8f Repair Occitan custom field and workspace labels
Replace ten French findings. Preserve activity arguments and distinguish clearing a field value from deleting a field. Regional terminology requires language review.
2026-09-13 04:39:04 +03:00
Lauri Ojansivu ee2f9a5518 Refresh short audit after Occitan date activity repairs 2026-09-13 04:38:38 +03:00
Lauri Ojansivu 01317b9c3f Repair Occitan date activity notifications
Replace ten French findings. Preserve time and notification placeholders, correct date and card argument meanings and remove the stray numeral before renamed-list text. Regional terminology requires language review.
2026-09-13 04:38:26 +03:00
Lauri Ojansivu 632748f410 Refresh short audit after Occitan accessibility repairs 2026-09-13 04:38:00 +03:00
Lauri Ojansivu 4ba4466424 Repair Occitan accessibility and account setting messages
Replace twelve French findings. Preserve lockout units and thresholds, account creation behavior and old and new ending-time placeholders. Regional terminology requires language review.
2026-09-13 04:37:50 +03:00
Lauri Ojansivu ddf3354e46 Refresh short audit after Occitan memory repairs 2026-09-13 04:37:25 +03:00
Lauri Ojansivu 85f762bfde Repair Occitan memory and uptime diagnostic labels
Replace twelve French findings. Preserve memory statistic distinctions and loading indicator identifiers. Describe heap zapping as bit-pattern overwrite rather than an option named does_zap_garbage. Specialized terminology requires language review.
2026-09-13 04:37:16 +03:00
Lauri Ojansivu a9c8509397 Refresh short audit after Occitan diagnostic repairs 2026-09-13 04:36:49 +03:00
Lauri Ojansivu 5bdac26e5c Repair Occitan WIP and diagnostic labels
Replace sixteen French findings. Correct swimlane selection scope and preserve worker permissions, WIP guidance and diagnostic identifiers. Specialized terminology requires language review; heap zap wording remains pending.
2026-09-13 04:36:40 +03:00
Lauri Ojansivu 59992d41dc Refresh short audit after Occitan account permission repairs 2026-09-13 04:36:13 +03:00
Lauri Ojansivu 1fed8f2b14 Repair Occitan account and export permission messages
Replace ten French findings. Preserve username placeholder, minimum length, assignee ordering and export permission scopes. Regional terminology requires language review.
2026-09-13 04:36:03 +03:00
Lauri Ojansivu e94c668493 Refresh short audit after Occitan maintenance repairs 2026-09-13 04:35:38 +03:00
Lauri Ojansivu b71708fbbc Repair Occitan swimlane and maintenance labels
Replace twelve French findings. Preserve swimlane archive recovery, logged-in support restriction and board member avatar scope. Regional terminology requires language review.
2026-09-13 04:35:29 +03:00
Lauri Ojansivu 01f950d15b Refresh short audit after Occitan display repairs 2026-09-13 04:35:02 +03:00
Lauri Ojansivu 22bc0125b6 Repair Occitan search and display settings
Replace ten French findings. Preserve board search scope, missing-list repair confirmation, sidebar toggle and starred-board ordering. Regional terminology requires language review.
2026-09-13 04:34:53 +03:00
Lauri Ojansivu cf35a88c9b Refresh short audit after Occitan removal repairs 2026-09-13 04:34:27 +03:00
Lauri Ojansivu 54807f54b1 Repair Occitan removal and migration confirmations
Replace fifteen French findings. Preserve membership removal scope, notification behavior, rule fragments and migration confirmation meanings. Regional terminology requires language review.
2026-09-13 04:34:18 +03:00
Lauri Ojansivu c8a1b95907 Refresh short audit after Occitan permission repairs 2026-09-13 04:33:51 +03:00
Lauri Ojansivu 75c797fd75 Repair Occitan permission and checklist instructions
Replace fourteen French findings. Preserve public board visibility, editing permissions, original checklist order and rule movement targets. Regional terminology requires language review.
2026-09-13 04:33:42 +03:00
Lauri Ojansivu 2d4bc2f579 Refresh short audit after Occitan migration repairs 2026-09-13 04:33:16 +03:00
Lauri Ojansivu b7c4ebf621 Repair Occitan migration and attachment action labels
Replace twelve French findings. Preserve administrator-only migration permissions, archive restoration guidance and board-scoped versus global attachment actions. Regional terminology requires language review.
2026-09-13 04:33:06 +03:00
Lauri Ojansivu 5c74db05df Refresh short audit after Occitan archive repairs 2026-09-13 04:32:39 +03:00
Lauri Ojansivu e70c6fa486 Repair Occitan import and archive instructions
Replace twelve French findings. Preserve public-search token, board title placeholder, member fallback behavior and archive recovery instructions. Regional terminology requires language review.
2026-09-13 04:32:30 +03:00
Lauri Ojansivu ea4ce27b61 Refresh short audit after Occitan search repairs 2026-09-13 04:32:02 +03:00
Lauri Ojansivu 1c8e57c361 Repair Occitan search and invitation translations
Replace eighteen French findings. Restore source search argument identifiers and distinguish cards with due dates from overdue cards. Preserve invitation tokens and repair behavior. Regional terminology requires language review.
2026-09-13 04:31:53 +03:00
Lauri Ojansivu dbee8fc52e Refresh short audit after Occitan deletion repairs 2026-09-13 04:31:22 +03:00
Lauri Ojansivu 6fc79d09ce Repair Occitan deletion warnings
Replace fifteen French findings. Preserve irreversible deletion warnings, linked-card prerequisites and organization and team membership constraints. Regional terminology requires language review.
2026-09-13 04:31:13 +03:00
Lauri Ojansivu f2c5fc9d0c Refresh short audit after Occitan checklist repairs 2026-09-13 04:30:45 +03:00
Lauri Ojansivu 265c05c42a Repair Occitan checklist and migration messages
Replace fifteen French findings. Clarify checklist form closure, retain deletion confirmation scope and describe board integrity checks. Regional terminology requires language review.
2026-09-13 04:30:36 +03:00
Lauri Ojansivu fd3389aa50 Refresh short audit after Occitan board repairs 2026-09-13 04:30:09 +03:00
Lauri Ojansivu 3f16693c0a Repair Occitan board settings and member scope labels
Replace sixteen French and Azeri findings. Preserve permanent deletion warning, assignment scopes and attachment storage identifiers. Regional terminology requires language review.
2026-09-13 04:30:00 +03:00
Lauri Ojansivu 40d78798a4 Refresh short audit after Occitan workspace repairs 2026-09-13 04:29:30 +03:00
Lauri Ojansivu 51ef23c32d Repair Occitan administrator and workspace labels
Replace twenty French findings with Occitan control labels. Preserve top versus bottom actions, administrator permissions and custom HTML boundaries. Regional terminology requires language review.
2026-09-13 04:29:21 +03:00
Lauri Ojansivu 774d9fc610 Refresh short audit after Occitan activity repairs 2026-09-13 04:28:55 +03:00
Lauri Ojansivu afcd37d9c4 Repair Occitan activity translations
Replace eighteen French findings with Occitan activity and add-control messages. Preserve notification placeholders, move origins and destinations and checklist arguments. Regional terminology remains subject to language review.
2026-09-13 04:28:45 +03:00
Lauri Ojansivu 4adc10ea25 Refresh short audit after Occitan account repairs 2026-09-13 04:28:16 +03:00
Lauri Ojansivu 5d9008e84d Repair Occitan account lockout translations
Replace sixteen French findings with Occitan account protection and unlock messages. Preserve known versus unknown user distinctions and confirmation scope. Regional terminology remains subject to language review.
2026-09-13 04:28:07 +03:00
Lauri Ojansivu f76789a023 Refresh short audit after Bislama repairs 2026-09-13 04:27:40 +03:00
Lauri Ojansivu 062d9ab9ff Repair Bislama calendar translations
Replace seventeen foreign-language calendar findings. Preserve proper names and civil, astronomical and lunar sighting distinctions. Low-confidence specialized terminology requires native-speaker review.
2026-09-13 04:27:29 +03:00
Lauri Ojansivu 0d8f94b26a Refresh short audit after Malagasy repairs 2026-09-13 04:27:06 +03:00
Lauri Ojansivu 76b7de376a Repair Malagasy calendar translations
Replace seventeen foreign-language calendar findings. Preserve proper calendar names and civil, astronomical and lunar sighting distinctions. Specialized terminology requires native-speaker review.
2026-09-13 04:26:58 +03:00
Lauri Ojansivu 80e82fe382 Refresh short audit after Kashmiri Hijri name repairs 2026-09-13 04:26:35 +03:00
Lauri Ojansivu 610f17c018 Repair Kashmiri Hijri and Umm al-Qura calendar names
Replace two English calendar labels using the existing Kashmiri calendar spelling. Retain the proper calendar name. Civil, astronomical and sighting descriptions remain pending vocabulary review.
2026-09-13 04:26:26 +03:00
Lauri Ojansivu 5e99eb4052 Refresh short audit after Kashmiri calendar repairs 2026-09-13 04:26:06 +03:00
Lauri Ojansivu d319dfac61 Repair Kashmiri named calendar labels
Replace five foreign-language calendar findings using existing Kashmiri calendar orthography and localized names. Low-confidence wording requires native-speaker review; Hijri variant labels remain pending.
2026-09-13 04:25:57 +03:00
Lauri Ojansivu 1062a2f689 Refresh short audit after Tigrinya repairs 2026-09-13 04:25:31 +03:00
Lauri Ojansivu d290b8bcf7 Repair Tigrinya national and Hijri calendar labels
Replace two retained English findings. Preserve Indian national calendar and Saudi lunar sighting meanings. Low-confidence specialized wording requires native-speaker review.
2026-09-13 04:25:21 +03:00
Lauri Ojansivu 4579449088 Refresh short audit after Bhojpuri repairs 2026-09-13 04:25:01 +03:00
Lauri Ojansivu 1edd9f0b4d Repair Bhojpuri calendar translations
Replace seventeen foreign-language calendar findings. Preserve national calendar, epoch and lunar sighting distinctions. Specialized calendar wording requires native-speaker review.
2026-09-13 04:24:52 +03:00
Lauri Ojansivu 9a97c468b3 Refresh short audit after Maithili and Konkani repairs 2026-09-13 04:24:29 +03:00
Lauri Ojansivu ea00af0967 Repair Maithili and Konkani Hijri calendar labels
Replace four English calendar findings. Preserve Saudi lunar sighting and astronomical tabular epoch meanings. Low-confidence specialized terminology requires native-speaker review.
2026-09-13 04:24:20 +03:00
Lauri Ojansivu f4f7c597d3 Refresh short audit after Moroccan Arabic filter repair 2026-09-13 04:23:56 +03:00
Lauri Ojansivu ad62218ff8 Translate Moroccan Arabic advanced filter instructions
Replace retained English prose while preserving every source operator, quoted example, escape sequence and regex. Low-confidence technical wording requires native-speaker review.
2026-09-13 04:23:48 +03:00
Lauri Ojansivu 4766837e21 Refresh short audit after Moroccan Arabic repairs 2026-09-13 04:23:28 +03:00
Lauri Ojansivu a7ce595e67 Repair Moroccan Arabic calendar and import translations
Replace seventeen English and Tamazight findings. Preserve Trello menu identifiers, Markdown examples and calendar variants. Restore the omitted plain-list import behavior. Specialized terms require native-speaker review; advanced filter prose remains pending.
2026-09-13 04:23:19 +03:00
Lauri Ojansivu 5aa04eaa27 Refresh short audit after Frisian repairs 2026-09-13 04:22:54 +03:00
Lauri Ojansivu e4cde903ba Repair Frisian storage and calendar translations
Replace twenty retained English findings across both Frisian locale files. Preserve product identifiers and civil, astronomical and lunar observation distinctions. Specialized calendar wording requires language review.
2026-09-13 04:22:44 +03:00
Lauri Ojansivu 2746242e66 Refresh short audit after Wu Chinese repairs 2026-09-13 04:22:21 +03:00
Lauri Ojansivu d47ffc65ac Repair audited Wu Chinese storage and calendar labels
Replace three retained English findings using shared written technical vocabulary consistent with existing locale labels. Preserve product names and Saudi lunar observation meaning. Dialect-specific wording remains subject to native-speaker review.
2026-09-13 04:22:12 +03:00
Lauri Ojansivu 00126527a1 Refresh short audit after Cantonese repairs 2026-09-13 04:21:51 +03:00
Lauri Ojansivu 4a8085bfc5 Repair remaining audited Cantonese storage and calendar labels
Translate four retained English findings using simplified Chinese orthography. Preserve product names and lunar observation and astronomical tabular distinctions.
2026-09-13 04:21:42 +03:00
Lauri Ojansivu bf9bc602db Refresh short audit after Mandarin repairs 2026-09-13 04:21:23 +03:00
Lauri Ojansivu 8c09ca2212 Repair remaining audited Mandarin translations
Translate retained English storage and Trello export instructions and the Saudi lunar-sighting calendar label. Preserve product names and source menu identifiers.
2026-09-13 04:21:14 +03:00
Lauri Ojansivu c878263f65 Refresh short audit after Yiddish calendar repairs 2026-09-13 04:20:54 +03:00
Lauri Ojansivu 1ca205c071 Repair Yiddish calendar translations
Replace seventeen foreign-language calendar findings with Yiddish labels. Preserve distinct civil and astronomical epochs and Saudi lunar sighting. Specialized terminology requires language review.
2026-09-13 04:20:45 +03:00
Lauri Ojansivu 9999173b31 Refresh short audit after Odia repairs 2026-09-13 04:20:20 +03:00
Lauri Ojansivu 1ab4c0c6de Repair Odia rule and calendar translations
Replace ten findings, including Hindi rule text and English storage and calendar prose. Restore date format labels exactly without stray separators. Preserve case-insensitive rule meaning and lunar and astronomical distinctions. Specialized terminology requires native-speaker review.
2026-09-13 04:20:10 +03:00
Lauri Ojansivu d0afccdb55 Refresh short audit after remaining Khmer repairs 2026-09-13 04:19:46 +03:00
Lauri Ojansivu 9ff2d8cafc Translate remaining audited Khmer diagnostic and filter prose
Repair twelve findings across three locale tags, accounting for the shared-file alias. Preserve filter examples and escape sequences. Specialized wording requires native-speaker review.
2026-09-13 04:19:36 +03:00
Lauri Ojansivu 1860068c9e Refresh short audit after Khmer calendar repairs 2026-09-13 04:19:01 +03:00
Lauri Ojansivu 083832d0a7 Record Khmer calendar corrections for canonical locale alias 2026-09-13 04:19:01 +03:00
Lauri Ojansivu a792756794 Repair remaining Khmer calendar translations
Replace nine English calendar findings across three Khmer locale variants. Preserve the Indian national, Saudi lunar sighting and astronomical tabular distinctions. Specialized terminology requires native-speaker review; other Khmer findings remain pending.
2026-09-13 04:18:40 +03:00
Lauri Ojansivu c2e03ca060 Refresh short audit after Uyghur calendar repairs 2026-09-13 04:18:19 +03:00
Lauri Ojansivu 3ccbe11648 Repair Uyghur Hijri calendar translations
Replace five English calendar findings with Uyghur labels, preserving civil and astronomical epoch distinctions and Saudi lunar sighting. Specialized terminology requires native-speaker review.
2026-09-13 04:18:10 +03:00
Lauri Ojansivu 95cee11285 Refresh short audit after Central Kurdish calendar repairs 2026-09-13 04:17:51 +03:00
Lauri Ojansivu 325e530b17 Repair Central Kurdish calendar translations
Replace fifteen English calendar findings with Central Kurdish labels. Preserve civil and astronomical epoch distinctions and Saudi lunar sighting. Specialized terminology requires native-speaker review.
2026-09-13 04:17:41 +03:00
Lauri Ojansivu c1e440d676 Refresh short audit after Tatar calendar repairs 2026-09-13 04:17:17 +03:00
Lauri Ojansivu 51934887d2 Repair Tatar calendar translations
Replace seventeen foreign-language calendar findings with Tatar labels. Preserve distinct civil, astronomical and lunar observation variants. Specialized calendar terminology requires native-speaker review.
2026-09-13 04:17:08 +03:00
Lauri Ojansivu f9b1728c0c Refresh short audit after Latin calendar repairs 2026-09-13 04:16:47 +03:00
Lauri Ojansivu ade5ed0b9d Repair Latin calendar translations
Replace seventeen foreign-language calendar findings with Latin labels. Preserve calendar names and distinguish civil, astronomical and lunar observation variants. Specialized terminology remains subject to language review.
2026-09-13 04:16:34 +03:00
Lauri Ojansivu a1b39070d2 Refresh short audit after Neapolitan diagnostic review 2026-09-13 04:16:11 +03:00
Lauri Ojansivu 042f03566a Repair Neapolitan heap diagnostic and legal notice text
Describe the V8 heap overwrite diagnostic according to Node documentation. Match the legal acceptance prefix to the existing plural legal notice label. Leave the shared item example pending review. Low-confidence Neapolitan wording requires native-speaker review.
2026-09-13 04:16:02 +03:00
Lauri Ojansivu 7e3b0939a2 Refresh short audit after Neapolitan settings repairs 2026-09-13 04:15:41 +03:00
Lauri Ojansivu aca6a1d243 Repair Neapolitan calendar and account settings labels
Replace twenty-seven Italian findings covering date display, settings, migration controls and Trello credentials. Preserve ISO designation, API URL and minimum username length. Low-confidence wording requires native-speaker review.
2026-09-13 04:15:31 +03:00
Lauri Ojansivu ba270b4bf1 Refresh short audit after Neapolitan rule repairs 2026-09-13 04:15:03 +03:00
Lauri Ojansivu 493b16b6b6 Repair Neapolitan rule and S3 messages
Replace twenty-five Italian findings covering rules, migration controls, recovery and S3 settings. Preserve operator tokens, numeric labels, endpoint examples and console menu names. Leave the shared item example pending contextual review. Low-confidence wording requires native-speaker review.
2026-09-13 04:14:54 +03:00
Lauri Ojansivu 2f790db0c3 Refresh short audit after Neapolitan import repairs 2026-09-13 04:14:25 +03:00
Lauri Ojansivu c6ae3487b1 Repair Neapolitan import and migration translations
Replace thirty findings covering member mapping, imports, migrations, maps and monitoring. Preserve filenames, numeric limits and database identifiers. Restore the file progress label to its source meaning. Low-confidence wording requires native-speaker review.
2026-09-13 04:14:15 +03:00
Lauri Ojansivu 0b141852c7 Refresh short audit after Neapolitan export repairs 2026-09-13 04:13:45 +03:00
Lauri Ojansivu e92243bf2b Repair Neapolitan export and filter translations
Replace twenty-five Italian findings covering exports, filters, storage and import instructions. Clarify checked items and minicard label text; preserve search syntax and product names. Low-confidence wording requires native-speaker review; font preview is not certified as a pangram.
2026-09-13 04:13:35 +03:00
Lauri Ojansivu a77261217b Refresh short audit after Neapolitan email repairs 2026-09-13 04:13:07 +03:00
Lauri Ojansivu a0b070ef9e Repair Neapolitan email and permission labels
Replace twenty-five Italian findings, preserving site placeholders and zoom limits. Clarify email template body and subject labels and remove the stray English word in password reset. Low-confidence wording requires native-speaker review.
2026-09-13 04:12:57 +03:00
Lauri Ojansivu c750b08987 Refresh short audit after Neapolitan scheduled job repairs 2026-09-13 04:12:31 +03:00
Lauri Ojansivu c9c54e09a7 Repair Neapolitan checklist and scheduled job messages
Replace thirty Italian findings covering deletion confirmations, scheduled jobs, custom markup and storage migration. Keep filenames and database names unchanged. Low-confidence wording requires native-speaker review.
2026-09-13 04:12:22 +03:00
Lauri Ojansivu 3588b00670 Refresh short audit after Neapolitan attachment repairs 2026-09-13 04:11:52 +03:00
Lauri Ojansivu 2e1a9d87d6 Repair Neapolitan background and attachment messages
Replace twenty-six Italian findings with Neapolitan wording. Preserve attachment limits, interpolation tokens and Azure menu labels. Low-confidence terminology needs native-speaker review.
2026-09-13 04:11:42 +03:00
Lauri Ojansivu cc6f4a6302 Refresh short translation audit after Neapolitan activity repairs 2026-09-13 04:11:14 +03:00
Lauri Ojansivu eadb7aee03 Repair Neapolitan account and activity translations
Replace sixteen Italian findings, preserving reminder tokens and activity arguments. Correct checklist completion to describe the named checklist rather than a count. Low-confidence Neapolitan wording requires native-speaker review.
2026-09-13 04:11:04 +03:00
Lauri Ojansivu 0f890652f8 Keep translation audit as a short current progress summary 2026-09-13 04:10:38 +03:00
Lauri Ojansivu 682f858cc5 Repair Neapolitan memory and reactivity labels
Replace ten Italian findings, preserving RSS meaning, reactivity identifiers and loading indicator names. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:08:24 +03:00
Lauri Ojansivu 76dd956b21 Refresh short audit after Neapolitan diagnostic repairs 2026-09-13 04:07:54 +03:00
Lauri Ojansivu 69cb1660d7 Repair Neapolitan diagnostic labels
Replace nine Italian findings, preserving DDP_TRANSPORT, MongoDB and malloc identities. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:07:44 +03:00
Lauri Ojansivu a0cb117a0b Refresh short audit after Neapolitan workspace repairs 2026-09-13 04:07:19 +03:00
Lauri Ojansivu f3769d7f10 Repair Neapolitan workspace and attachment controls
Replace ten Italian findings, retaining workspace hierarchy, template container consistency and the HTML body tag. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:07:10 +03:00
Lauri Ojansivu 71d4e19128 Refresh short audit after Neapolitan activity repairs 2026-09-13 04:06:45 +03:00
Lauri Ojansivu 1c2f67676c Repair Neapolitan activity messages
Replace eight Italian findings, preserving action placeholders and removing an erroneous numeral from subtask activity. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:06:36 +03:00
Lauri Ojansivu 86e4798f53 Refresh short audit after Neapolitan calendar variants 2026-09-13 04:06:12 +03:00
Lauri Ojansivu 629586db32 Translate Neapolitan Hijri calendar variants
Replace six English findings, preserving Indian national identity and distinct Hijri epochs, Saudi moon sighting and Umm al-Qura. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:06:04 +03:00
Lauri Ojansivu b1bd08b9fd Refresh short audit after Neapolitan calendar repairs 2026-09-13 04:05:40 +03:00
Lauri Ojansivu 9311ddeec3 Repair Neapolitan calendar selection labels
Replace eleven foreign-language calendar findings, preserving calendar identities. Low-confidence Neapolitan wording needs native-speaker review.
2026-09-13 04:05:30 +03:00
Lauri Ojansivu 942313ddab Refresh short audit after Aromanian advanced filter repair 2026-09-13 04:05:01 +03:00
Lauri Ojansivu a03c840b68 Repair Aromanian advanced filter instructions
Replace English prose and malformed escape examples, preserving source query syntax and operator precedence guidance. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:04:52 +03:00
Lauri Ojansivu 4bd867a020 Refresh short audit after Aromanian existence guidance repair 2026-09-13 04:04:28 +03:00
Lauri Ojansivu a421875fa1 Repair Aromanian field existence search guidance
Replace two Italian findings, preserving every field predicate, the negative existence example and legal-notice introduction. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:04:18 +03:00
Lauri Ojansivu 65528c2f53 Refresh short audit after Aromanian chart repairs 2026-09-13 04:03:57 +03:00
Lauri Ojansivu 1f5f9b530c Repair Aromanian Trello import and chart labels
Replace five Italian and English findings, retaining Trello menu labels and distinguishing remaining-work from completed-work charts. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:03:48 +03:00
Lauri Ojansivu 38334c95da Refresh short audit after Aromanian WIP repairs 2026-09-13 04:03:25 +03:00
Lauri Ojansivu d2d06ea5c4 Repair Aromanian WIP warnings and text controls
Replace twelve Italian and English findings, preserving over-limit warnings and consistent font/text labels. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:03:16 +03:00
Lauri Ojansivu f1d64f6660 Refresh short audit after Aromanian SMTP repairs 2026-09-13 04:02:51 +03:00
Lauri Ojansivu 12be61fb60 Repair Aromanian SMTP and board setting labels
Replace fifteen Italian findings, preserving SMTP/TLS identities, private-only visibility, username placeholders and optional authentication. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:02:42 +03:00
Lauri Ojansivu 744fcebadb Refresh short audit after Aromanian shortcut repairs 2026-09-13 04:02:16 +03:00
Lauri Ojansivu 0df8098593 Repair Aromanian shortcut and minicard setting labels
Replace eleven Italian findings, preserving WIP and ISO 8601 identifiers, assigned-card filtering and sidebar toggles. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:02:07 +03:00
Lauri Ojansivu c5e10d3ae4 Refresh short audit after Aromanian rule action repairs 2026-09-13 04:01:41 +03:00
Lauri Ojansivu 4958315cd7 Repair Aromanian checklist rule actions
Replace ten Italian findings, preserving check/uncheck opposites, comma-separated item examples, Enter key identity and WIP limit meaning. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:01:32 +03:00
Lauri Ojansivu c0e791b8f9 Refresh short audit after Aromanian validation repairs 2026-09-13 04:01:07 +03:00
Lauri Ojansivu 7d4cd882bf Repair Aromanian operator validation and preview messages
Replace nine Italian findings, retaining operator placeholders, login HTML links, overdue meaning and PDF download fallback. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:00:58 +03:00
Lauri Ojansivu 542fcc5a60 Refresh short audit after Aromanian archive repairs 2026-09-13 04:00:35 +03:00
Lauri Ojansivu d7997326a5 Repair Aromanian archive and notification labels
Replace ten Italian findings, preserving invitation acceptance, watched-item scope, debug placeholders and positive limit requirements. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 04:00:25 +03:00
Lauri Ojansivu 53e8f0f1fe Refresh short audit after Aromanian list repairs 2026-09-13 04:00:01 +03:00
Lauri Ojansivu 0af86f30f7 Repair Aromanian list actions and file size labels
Replace ten Italian findings, preserving irreversible history loss, all-card action scope and byte units. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:59:52 +03:00
Lauri Ojansivu 5a93d147ea Refresh short audit after Aromanian mapping repairs 2026-09-13 03:59:27 +03:00
Lauri Ojansivu c888d65719 Repair Aromanian member mapping and invitation labels
Replace nine Italian findings, retaining unmapped-member fallback, invitation failure/success, label placeholders and administrator requirement. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:59:18 +03:00
Lauri Ojansivu 497e9fb8e7 Refresh short audit after Aromanian status repairs 2026-09-13 03:58:55 +03:00
Lauri Ojansivu a0f54aed6b Repair Aromanian search status and import labels
Replace ten Italian findings, preserving public/private predicates, checklist completion and CSV/TSV/JSON identities. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:58:46 +03:00
Lauri Ojansivu c17d79a27e Refresh short audit after Aromanian search field repairs 2026-09-13 03:58:23 +03:00
Lauri Ojansivu a501f4223a Repair Aromanian search field descriptions
Replace eight Italian findings, retaining query tokens and examples; correct reversed modification-age wording. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:58:13 +03:00
Lauri Ojansivu fa23a4040d Refresh short audit after Aromanian operator repairs 2026-09-13 03:57:49 +03:00
Lauri Ojansivu 8fd0913872 Repair Aromanian search operator descriptions
Replace seven Italian findings, preserving query examples and date predicates; correct the reversed creation-age explanation. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:57:40 +03:00
Lauri Ojansivu 2fb82bb4d1 Refresh short audit after Aromanian filter repairs 2026-09-13 03:57:14 +03:00
Lauri Ojansivu 0be8065e89 Repair Aromanian user errors and filter labels
Replace nine Italian findings, retaining self-invitation restrictions, username conflicts and next-week due filtering. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:57:05 +03:00
Lauri Ojansivu 6484e0cd9f Refresh short audit after Aromanian error repairs 2026-09-13 03:56:43 +03:00
Lauri Ojansivu 1a3698003f Repair Aromanian import and authorization errors
Replace ten Italian findings, preserving JSON versus schema failures, CSV/TSV identities and authorization restrictions. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:56:35 +03:00
Lauri Ojansivu 4f1786581e Refresh short audit after Aromanian account email repairs 2026-09-13 03:56:10 +03:00
Lauri Ojansivu 0ad176dd2a Repair Aromanian account email messages
Replace six Italian findings, preserving account enrollment, password reset and email verification purposes, placeholders and literal newline sequences. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:56:01 +03:00
Lauri Ojansivu 4027f84926 Refresh short audit after Aromanian due card repairs 2026-09-13 03:55:38 +03:00
Lauri Ojansivu 31db563be0 Repair Aromanian due card and email subject labels
Replace eight Italian findings, preserving incomplete-card permission scope, current-day due dates and site-name placeholders. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:55:30 +03:00
Lauri Ojansivu b04fd4d084 Refresh short audit after Aromanian deletion repairs 2026-09-13 03:55:06 +03:00
Lauri Ojansivu dee63040c3 Repair Aromanian deletion warnings and search labels
Replace eight Italian findings, preserving irreversible deletion, linked-card ordering, organization membership restriction and numeric shortcuts. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:54:57 +03:00
Lauri Ojansivu 2b231b1c85 Refresh short audit after Aromanian branding repairs 2026-09-13 03:54:33 +03:00
Lauri Ojansivu f959fdb328 Repair Aromanian branding setting labels
Replace eight Italian findings, retaining image-versus-link URLs, top-left logo location and default height 27. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:54:25 +03:00
Lauri Ojansivu cff7c6c44c Refresh short audit after Aromanian attachment repairs 2026-09-13 03:54:02 +03:00
Lauri Ojansivu d3222a8ead Repair Aromanian attachment and account status labels
Replace ten Italian findings, preserving activation versus deactivation, filename categories, comment placeholders and Enter key identity. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:53:53 +03:00
Lauri Ojansivu b302478a10 Refresh short audit after Aromanian reminder repairs 2026-09-13 03:53:29 +03:00
Lauri Ojansivu 3d1ff7dda8 Repair Aromanian due reminders and custom field activity
Replace nine Italian findings, preserving approaching/current/past deadlines, all placeholders and HTML closing tags. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:53:21 +03:00
Lauri Ojansivu c1ddd8a05a Refresh short audit after Aromanian accessibility repairs 2026-09-13 03:52:55 +03:00
Lauri Ojansivu 67c3928f75 Repair Aromanian accessibility and login limit messages
Replace ten Italian findings, preserving seconds units, failed-login thresholds and old/new time placeholders. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:52:47 +03:00
Lauri Ojansivu a2a2051fe7 Refresh short audit after Aromanian time repairs 2026-09-13 03:52:24 +03:00
Lauri Ojansivu fc8666fcc4 Repair Aromanian memory and time activity labels
Replace seven Italian findings, retaining Node identity, distinct time events and individual-user unlock confirmation. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:52:15 +03:00
Lauri Ojansivu d09a7001f9 Refresh short audit after Aromanian tracking repairs 2026-09-13 03:51:54 +03:00
Lauri Ojansivu 84041e6f1d Repair Aromanian board tracking and subtask labels
Replace nine Italian findings, preserving starred-board placement, week start selection, tracking scope and PDF permission failures. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:51:46 +03:00
Lauri Ojansivu 046e63c196 Refresh short audit after Aromanian visibility repairs 2026-09-13 03:51:22 +03:00
Lauri Ojansivu 054df182c0 Repair Aromanian membership and board visibility wording
Replace nine Italian findings, retaining public view versus member edit permissions, removal notifications and shortcut actions. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:51:14 +03:00
Lauri Ojansivu c07410beb0 Refresh short audit after Aromanian movement repairs 2026-09-13 03:50:50 +03:00
Lauri Ojansivu 6be6c259f5 Repair Aromanian card movement rule labels
Replace ten Italian findings, preserving top/bottom destinations, archive restoration, member removal and rule fragments. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:50:42 +03:00
Lauri Ojansivu 2c6564ffd4 Refresh short audit after Aromanian checklist repairs 2026-09-13 03:50:20 +03:00
Lauri Ojansivu 4921196f7a Repair Aromanian checklist and access descriptions
Replace seven Italian findings, preserving private-board permissions, original line order, comma-separated input and invitation placeholders. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:50:11 +03:00
Lauri Ojansivu 75520d22f3 Refresh short audit after Aromanian query repairs 2026-09-13 03:49:49 +03:00
Lauri Ojansivu aa3e939ff8 Repair Aromanian search query instructions
Replace three Italian findings, preserving literal query examples, AND semantics, quoting requirements and archive restoration steps. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:49:40 +03:00
Lauri Ojansivu 5bb9286089 Refresh short audit after Aromanian import repairs 2026-09-13 03:49:18 +03:00
Lauri Ojansivu 171dc12580 Repair Aromanian board import instructions
Replace seven Italian findings, retaining ZIP/JSON structure, export workflow, archive preservation and muted notification behavior. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:49:10 +03:00
Lauri Ojansivu e4a1b60c4a Refresh short audit after Aromanian search repairs 2026-09-13 03:48:46 +03:00
Lauri Ojansivu ff910b6ac7 Repair Aromanian search and checklist messages
Replace seven Italian findings, preserving sort predicates, limit notation, board-title placeholders and checked-item visibility. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:48:35 +03:00
Lauri Ojansivu ca86da3ec3 Refresh short audit after Aromanian invitation repairs 2026-09-13 03:48:10 +03:00
Lauri Ojansivu 4b6c72504a Repair Aromanian invitation email translations
Replace two Italian invitation messages, preserving all interpolation tokens and literal newline sequences. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:48:02 +03:00
Lauri Ojansivu 05378c64dd Refresh short audit after Aromanian permission repairs 2026-09-13 03:47:41 +03:00
Lauri Ojansivu 9fae341430 Repair Aromanian board permission and linked card messages
Replace six Italian findings, preserving administrator versus member requirements, linked-card deletion ordering and WIP identity. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:47:32 +03:00
Lauri Ojansivu 84c59d9476 Refresh short audit after Aromanian board repairs 2026-09-13 03:47:11 +03:00
Lauri Ojansivu 12962afdc5 Repair Aromanian board deletion and subtask wording
Replace nine Italian findings, retaining permanent deletion warnings, board placeholders and opposite creation-date sort directions. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:47:03 +03:00
Lauri Ojansivu 0b91b1e79a Refresh short audit after Aromanian card field repairs 2026-09-13 03:46:39 +03:00
Lauri Ojansivu f29470a119 Repair Aromanian card field and attachment controls
Replace six Italian findings, preserving all-card versus new-card behavior, GridFS identity and board placeholders. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:46:31 +03:00
Lauri Ojansivu 6bc27d1668 Refresh short audit after Aromanian activity repairs 2026-09-13 03:46:10 +03:00
Lauri Ojansivu fb511e7464 Repair Aromanian activity and description messages
Replace six Italian findings, preserving label and attachment actions, format placeholders and the HTML body tag. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:46:02 +03:00
Lauri Ojansivu 7318f67da5 Refresh short audit after Aromanian login repairs 2026-09-13 03:45:40 +03:00
Lauri Ojansivu c1f2b35cee Repair Aromanian login protection messages
Replace six Italian findings, retaining known-user versus nonexistent-user conditions and failed-login lockout meaning. Low-confidence Aromanian wording needs native-speaker review.
2026-09-13 03:45:31 +03:00
Lauri Ojansivu 8a66709400 Refresh short audit after Aromanian account repairs 2026-09-13 03:45:08 +03:00
Lauri Ojansivu 05ba8e6c14 Repair Aromanian account and unlock labels
Replace seven Italian findings using existing Aromanian account terminology. Preserve account deletion and unlock-all confirmation semantics. Low-confidence wording needs native-speaker review.
2026-09-13 03:45:00 +03:00
Lauri Ojansivu a46d5dfdfc Refresh short audit after Aromanian calendar variants 2026-09-13 03:44:35 +03:00
Lauri Ojansivu 3d8a4c0392 Translate Aromanian Hijri calendar variants
Replace six English calendar findings, preserving civil and astronomical epochs, Saudi moon sighting and Umm al-Qura identities. Aromanian wording has low confidence and needs native-speaker review.
2026-09-13 03:44:27 +03:00
Lauri Ojansivu 5a5e7ef4c6 Refresh short audit after Aromanian calendar repairs 2026-09-13 03:43:58 +03:00
Lauri Ojansivu 4bc4039295 Translate Aromanian calendar labels
Replace ten English calendar names with Aromanian wording, retaining calendar identities. Replacements have low confidence and need native-speaker review.
2026-09-13 03:43:50 +03:00
Lauri Ojansivu ff10f8efdd Refresh short audit after Ladin heap diagnostic repair 2026-09-13 03:43:24 +03:00
Lauri Ojansivu 9e3dd72082 Clarify Ladin heap overwrite diagnostic
Translate the remaining English heap label using the documented V8 bit-pattern overwrite meaning. Ladin wording has low confidence and needs native-speaker review.
2026-09-13 03:43:14 +03:00
Lauri Ojansivu 8006a40204 Refresh short audit after Ladin calendar repairs 2026-09-13 03:42:56 +03:00
Lauri Ojansivu 69e92e0e07 Repair Ladin calendar names and account controls
Replace twenty-six Italian and English findings, retaining API URLs, minimum username length and distinct Hijri variants. Low-confidence Ladin wording needs native-speaker review; one technical heap label remains pending.
2026-09-13 03:42:47 +03:00
Lauri Ojansivu 557d4cf07c Refresh short audit after Ladin storage controls repairs 2026-09-13 03:42:22 +03:00
Lauri Ojansivu 70f7052ff1 Repair Ladin date rules and storage controls
Replace seventeen Italian findings, preserving endpoint examples, AWS menu names and WIP identifiers. Ladin wording has low confidence and needs native-speaker review.
2026-09-13 03:42:14 +03:00
Lauri Ojansivu 85876d4c2c Refresh short audit after Ladin monitoring repairs 2026-09-13 03:41:50 +03:00
Lauri Ojansivu ccc4b9d7e6 Repair Ladin monitoring and rule import messages
Replace thirteen Italian findings, preserving HTML links, count tokens, JSON/CSV identifiers and distinct selection states. Low-confidence Ladin wording needs native-speaker review.
2026-09-13 03:41:40 +03:00
Lauri Ojansivu 8f83e2d805 Refresh short audit after Ladin filter repairs 2026-09-13 03:41:18 +03:00
Lauri Ojansivu 4ba4748b88 Repair Ladin filter and map detection wording
Replace eleven Italian findings covering filters, avatar URLs, font defaults, search operators and imports. Preserve CSV/TSV identifiers; Ladin wording has low confidence and needs native-speaker review.
2026-09-13 03:41:09 +03:00
Lauri Ojansivu 4fb8a2084d Refresh short audit after Ladin email repairs 2026-09-13 03:40:46 +03:00
Lauri Ojansivu d760c8e7b9 Repair Ladin vote date and invitation email wording
Replace nine Italian findings, retaining enrollment placeholders, literal newline sequences, zoom limits and WIP terminology. Low-confidence Ladin wording needs native-speaker review.
2026-09-13 03:40:37 +03:00
Lauri Ojansivu c7a39eede7 Refresh short audit after Ladin formatting repairs 2026-09-13 03:40:17 +03:00
Lauri Ojansivu 4e7d19f38b Repair Ladin formatting and text migration labels
Replace nine Italian findings, preserving the value placeholder, HTML/JSON terminology and database identities. Ladin wording has low confidence and needs native-speaker review.
2026-09-13 03:40:09 +03:00
Lauri Ojansivu e7757dee0a Refresh concise audit after Ladin scheduled job repairs 2026-09-13 03:39:43 +03:00
Lauri Ojansivu cf96f6ff14 Repair Ladin clipboard and scheduled job messages
Replace six Italian findings with Ladin wording, preserving distinct pause, resume and start failures. Replacements have low confidence and need native-speaker review.
2026-09-13 03:39:35 +03:00
Lauri Ojansivu 09347e5491 Refresh concise translation audit progress summary 2026-09-13 03:39:10 +03:00
Lauri Ojansivu db752d2475 Repair Ladin checklist controls and cleanup labels
Replace six wrong-language findings, retaining checklist count formatting, deletion confirmation and Persian calendar identity. Replacements have low confidence and need native-speaker review.
2026-09-13 03:37:11 +03:00
Lauri Ojansivu 648fd5e724 Refresh short audit after Ladin storage label repairs 2026-09-13 03:36:47 +03:00
Lauri Ojansivu 69d2c59eab Repair Ladin storage and time summary labels
Replace six Italian findings while preserving due-time placeholders, blob container identity and file counting meaning. Replacements have low confidence and need native-speaker review.
2026-09-13 03:36:37 +03:00
Lauri Ojansivu 6e7310ce51 Refresh short audit after Ladin background repairs 2026-09-13 03:36:14 +03:00
Lauri Ojansivu 0e1d552b18 Repair Ladin background and field activity instructions
Replace six Italian findings, preserving field placeholder order, closing body tag and system-wide announcement status. Replacements have low confidence and need native-speaker review.
2026-09-13 03:36:04 +03:00
Lauri Ojansivu 10dd2dd486 Refresh short audit after Ladin activity repairs 2026-09-13 03:35:39 +03:00
Lauri Ojansivu b956aad47f Repair Ladin reminders and checklist activity text
Replace six Italian findings while preserving reminder tokens and checklist completion action semantics. Replacements have low confidence and need native-speaker review.
2026-09-13 03:35:30 +03:00
Lauri Ojansivu 0ce2f3c3c5 Refresh short audit after Ladin memory context repairs 2026-09-13 03:35:07 +03:00
Lauri Ojansivu 2af8c31a20 Repair Ladin memory context and spinner labels
Replace six mixed-language findings while retaining native/detached context distinctions, malloc and RSS identities. Technical wording has low confidence and needs native-speaker review.
2026-09-13 03:34:57 +03:00
Lauri Ojansivu afd46ddf1d Refresh short audit after Ladin runtime label repairs 2026-09-13 03:34:32 +03:00
Lauri Ojansivu d0bb6d2bbf Repair Ladin spinner and storage metric labels
Replace five mixed-language findings while preserving spinner names, DDP_TRANSPORT and malloc. Technical wording has low confidence and needs native-speaker review; the garbage-zapping finding remains pending.
2026-09-13 03:34:23 +03:00
Lauri Ojansivu 731d29c4c3 Refresh short audit after initial Ladin repairs 2026-09-13 03:33:59 +03:00
Lauri Ojansivu aecc2c36b4 Repair Ladin calendar setting and checklist activity
Replace three wrong-language findings while preserving activity placeholder order. Ladin replacements have low confidence and require native-speaker review.
2026-09-13 03:33:50 +03:00
Lauri Ojansivu a2d4cd1ef7 Refresh short audit after Corsican calendar variant repairs 2026-09-13 03:33:21 +03:00
Lauri Ojansivu db7be543cb Repair Corsican calendar variant names
Replace nine English findings, preserving lunar sighting, civil versus astronomical epochs, Umm al-Qura and Minguo identities. Wording needs native-speaker review.
2026-09-13 03:33:11 +03:00
Lauri Ojansivu 124ecf1649 Refresh short audit after Corsican calendar label repairs 2026-09-13 03:32:47 +03:00
Lauri Ojansivu aff6e2ab06 Repair Corsican WIP validation and calendar labels
Replace eight wrong-language findings, preserving exceeded-limit semantics and distinct Dangi, Ethiopic and Amete Alem calendar identities. Wording needs native-speaker review.
2026-09-13 03:32:37 +03:00
Lauri Ojansivu cb54d0d981 Refresh short audit after Corsican account validation repairs 2026-09-13 03:32:13 +03:00
Lauri Ojansivu 7072bdad02 Repair Corsican account validation and vote warnings
Replace eight Italian findings, preserving username minimum length, permanent vote deletion and optional webhook authentication. Wording needs native-speaker review.
2026-09-13 03:32:03 +03:00
Lauri Ojansivu 3d6e9748d5 Refresh short audit after Corsican theme repairs 2026-09-13 03:31:38 +03:00
Lauri Ojansivu 0b9c4990ce Repair Corsican theme and Trello credential settings
Replace eight Italian findings, preserving all-tenant override scope, administrator contact instructions and both-required API credentials. Wording needs native-speaker review.
2026-09-13 03:31:29 +03:00
Lauri Ojansivu f0146f646b Refresh short audit after Corsican swimlane warning repairs 2026-09-13 03:31:03 +03:00
Lauri Ojansivu 63732fb1bb Repair Corsican migration and swimlane warnings
Replace eight Italian findings, preserving all-migration start/stop actions, swimlane deletion irreversibility and title placeholders. Wording needs native-speaker review.
2026-09-13 03:30:53 +03:00
Lauri Ojansivu cd6e9d9b2e Refresh short audit after Corsican SMTP repairs 2026-09-13 03:30:27 +03:00
Lauri Ojansivu 562343386f Repair Corsican SMTP and assigned card shortcut text
Replace eight Italian findings, retaining outgoing email port semantics, assigned-to-me filtering and drag-order sorting. Wording needs native-speaker review.
2026-09-13 03:30:18 +03:00
Lauri Ojansivu f09f97ee36 Refresh short audit after Corsican troubleshooting repairs 2026-09-13 03:29:54 +03:00
Lauri Ojansivu 62113f54ed Repair Corsican troubleshooting and secure S3 instructions
Replace eight Italian findings, preserving server log commands, SSL/TLS, mandatory secret keys and keyboard Enter instructions. Wording needs native-speaker review.
2026-09-13 03:29:44 +03:00
Lauri Ojansivu e8c73c745e Refresh short audit after Corsican S3 setup repairs 2026-09-13 03:29:19 +03:00
Lauri Ojansivu 033f2772cc Repair Corsican S3 connection and authentication settings
Replace eight Italian findings, preserving endpoint examples, region codes, AWS menu names and secret-key versus access-key meanings. Wording needs native-speaker review.
2026-09-13 03:29:09 +03:00
Lauri Ojansivu 88734d1b06 Refresh short audit after Corsican recovery repairs 2026-09-13 03:28:43 +03:00
Lauri Ojansivu 1525e8508e Repair Corsican recovery and S3 access instructions
Replace eight Italian findings, preserving automatic recovery continuation, restored/remaining tokens and label range. Wording needs native-speaker review.
2026-09-13 03:28:34 +03:00
Lauri Ojansivu efaed48f9b Refresh short audit after Corsican automation repairs 2026-09-13 03:28:05 +03:00
Lauri Ojansivu 7fecb9247f Repair Corsican automation import and relative date wording
Replace eight Italian findings while preserving import count tokens, comma-separated examples, unchecked actions and relative date semantics. Wording needs native-speaker review.
2026-09-13 03:27:55 +03:00
Lauri Ojansivu 40de23ee18 Refresh short audit after Corsican private page repairs 2026-09-13 03:27:30 +03:00
Lauri Ojansivu 8cd048deda Repair Corsican private page and migration controls
Replace eight Italian findings, preserving login link markup, overdue timing, all-versus-single pause actions and empty-field matching behavior. Wording needs native-speaker review.
2026-09-13 03:27:20 +03:00
Lauri Ojansivu 295f310ea6 Refresh short audit after Corsican search validation repairs 2026-09-13 03:26:52 +03:00
Lauri Ojansivu d4ffd8c026 Repair Corsican search validation and OIDC button wording
Replace eight Italian findings, preserving placeholder inventories, positive-integer limits and invalid-status meanings. Wording needs native-speaker review.
2026-09-13 03:26:42 +03:00
Lauri Ojansivu 20a4dcc3ca Refresh short audit after Corsican monitoring repairs 2026-09-13 03:26:18 +03:00
Lauri Ojansivu dc1d842737 Repair Corsican monitoring and multi-selection labels
Replace eight Italian findings, retaining export versus refresh failures, read-enabled storage selection and empty-state meanings. Wording needs native-speaker review.
2026-09-13 03:26:09 +03:00
Lauri Ojansivu 0a50f1c5ae Refresh short audit after Corsican migration warning repairs 2026-09-13 03:25:46 +03:00
Lauri Ojansivu e3180a3360 Repair Corsican migration warnings and MongoDB labels
Replace eight Italian findings, preserving stop confirmation, background continuation warning and compact/GridFS identifiers. Wording needs native-speaker review.
2026-09-13 03:25:37 +03:00
Lauri Ojansivu a00a6ef638 Refresh short audit after Corsican migration limit repairs 2026-09-13 03:25:10 +03:00
Lauri Ojansivu 9ea03df1f5 Repair Corsican migration limits and map instructions
Replace eight Italian findings, retaining batch and delay bounds, pause/resume failure distinctions and unread action. Wording needs native-speaker review.
2026-09-13 03:25:01 +03:00
Lauri Ojansivu 05cfdf5540 Refresh short audit after Corsican deletion warning repairs 2026-09-13 03:24:37 +03:00
Lauri Ojansivu fdd1379952 Repair Corsican keyboard controls and deletion warnings
Replace eight Italian findings while preserving domain syntax, four-digit years, administrator requirements and irreversible list deletion. Wording needs native-speaker review.
2026-09-13 03:24:28 +03:00
Lauri Ojansivu 26824129fa Refresh short audit after Corsican import failure repairs 2026-09-13 03:24:03 +03:00
Lauri Ojansivu ecb2aed6ee Repair Corsican import failures and mapping messages
Replace eight Italian findings, preserving imported/unmatched count tokens and distinct ZIP size, read and import failures. Wording needs native-speaker review.
2026-09-13 03:23:54 +03:00
Lauri Ojansivu 45df0536ed Refresh short audit after Corsican search instruction repairs 2026-09-13 03:23:30 +03:00
Lauri Ojansivu 4d13c986f7 Repair Corsican search and import instructions
Replace eight Italian findings while preserving search tokens, Asana JSON and endpoint examples and CollectionFS migration requirements. Wording needs native-speaker review.
2026-09-13 03:23:21 +03:00
Lauri Ojansivu ed3947d813 Refresh short audit after Corsican cloud storage repairs 2026-09-13 03:22:55 +03:00
Lauri Ojansivu 8524940b9d Repair Corsican font preview and cloud storage setup wording
Replace eight Italian findings, preserving preview digits, JSON credentials and Google Cloud menu identifiers. Wording needs native-speaker review.
2026-09-13 03:22:46 +03:00
Lauri Ojansivu 27a65df508 Refresh short audit after Corsican filesystem repairs 2026-09-13 03:22:21 +03:00
Lauri Ojansivu a2f5d7f1e9 Repair Corsican filesystem and card filter labels
Replace eight Italian findings, retaining opposite storage states, next-week due filtering and custom-field absence. Wording needs native-speaker review.
2026-09-13 03:22:11 +03:00
Lauri Ojansivu 9199d5980c Refresh short audit after Corsican validation repairs 2026-09-13 03:21:45 +03:00
Lauri Ojansivu 78c018f234 Repair Corsican validation errors and export categories
Replace ten Italian findings, retaining zoom bounds, authorization restrictions and all export date and person categories. Wording needs native-speaker review.
2026-09-13 03:21:36 +03:00
Lauri Ojansivu 9bf7143eef Refresh short audit after Corsican email template repairs 2026-09-13 03:21:12 +03:00
Lauri Ojansivu f57dbab258 Repair Corsican email template and verification labels
Replace eight Italian findings, preserving site-name tokens and email body versus subject distinctions. Wording needs native-speaker review.
2026-09-13 03:21:02 +03:00
Lauri Ojansivu d17e8e04cb Refresh concise audit after Corsican vote date repairs 2026-09-13 03:20:40 +03:00
Lauri Ojansivu 2dbf0fd758 Repair Corsican resize and vote date instructions
Replace eight Italian findings, preserving change-count placeholders, vote end-date scope and invitation rules when self-registration is disabled. Wording needs native-speaker review.
2026-09-13 03:20:30 +03:00
Lauri Ojansivu c70ea152df Refresh short audit after Corsican default storage repairs 2026-09-13 03:20:05 +03:00
Lauri Ojansivu cb892a9e40 Repair Corsican default storage and deletion confirmations
Replace eight Italian findings, preserving new-upload destination selection, irreversible deletion and subtask landing-list meaning. Wording needs native-speaker review.
2026-09-13 03:19:56 +03:00
Lauri Ojansivu bf8f4063ad Refresh short audit after Corsican branding repairs 2026-09-13 03:19:31 +03:00
Lauri Ojansivu cadc25e458 Repair Corsican branding and database migration text
Replace eight Italian findings, preserving logo height defaults, image versus link URLs and text-only database migration scope. Wording needs native-speaker review.
2026-09-13 03:19:22 +03:00
Lauri Ojansivu 104b435966 Refresh concise audit after Corsican custom HTML repairs 2026-09-13 03:18:58 +03:00
Lauri Ojansivu 90d36347f1 Repair Corsican custom HTML and login logo settings
Replace eight Italian findings, preserving the value format token, HTML tag names and distinct image versus link URL controls. Wording needs native-speaker review.
2026-09-13 03:18:49 +03:00
Lauri Ojansivu 2237638708 Refresh short audit after Corsican migration retry repairs 2026-09-13 03:18:24 +03:00
Lauri Ojansivu a8c54b3c77 Repair Corsican migration retry and configuration instructions
Replace eight Italian findings while retaining paused versus failed migrations, assetlinks.json and keyboard Enter behavior. Wording needs native-speaker review.
2026-09-13 03:18:15 +03:00
Lauri Ojansivu 061716cc00 Refresh short audit after Corsican checklist confirmations 2026-09-13 03:17:52 +03:00
Lauri Ojansivu 9df1f36ddf Repair Corsican checklist confirmations and scheduled job errors
Replace eight Italian findings while retaining destructive-action confirmations and distinct delete, pause and resume failures. Wording needs native-speaker review.
2026-09-13 03:17:42 +03:00
Lauri Ojansivu 6fc4b11756 Refresh concise audit after Corsican list width repairs 2026-09-13 03:17:18 +03:00
Lauri Ojansivu bd3774e26f Repair Corsican list width and saved secret instructions
Replace eight Italian findings, preserving opposite enable/disable and favorite actions and blank-keeps-current-secret behavior. Wording needs native-speaker review.
2026-09-13 03:17:06 +03:00
Lauri Ojansivu 38f1781cc8 Refresh short audit after Corsican card completion repairs 2026-09-13 03:16:44 +03:00
Lauri Ojansivu b76619fa43 Repair Corsican card completion and board summary labels
Replace eight wrong-language findings, preserving completion negation, checklist count formatting and Persian calendar identity. Wording needs native-speaker review.
2026-09-13 03:16:34 +03:00
Lauri Ojansivu 204621ab58 Refresh short audit after Corsican background repairs 2026-09-13 03:16:11 +03:00
Lauri Ojansivu e5d2d2dbf0 Repair Corsican Azure and board background messages
Replace eight Italian findings while preserving Azure menu labels, background size tokens and deletion confirmation. Wording needs native-speaker review.
2026-09-13 03:16:02 +03:00
Lauri Ojansivu 49c3ff396f Refresh concise audit after Corsican transfer limit repairs 2026-09-13 03:15:39 +03:00
Lauri Ojansivu f12c25f5eb Repair Corsican transfer limits and Azure setup text
Replace eight Italian findings, preserving avatar size tokens, Azure menu labels and one-URL-scheme-per-line behavior. Wording needs native-speaker review.
2026-09-13 03:15:31 +03:00
Lauri Ojansivu 75bc7eb0c0 Refresh short audit after Corsican announcement repairs 2026-09-13 03:15:08 +03:00
Lauri Ojansivu 603aa87ed5 Repair Corsican announcements and attachment validation
Replace eight Italian findings, preserving WITH_API=true, positive limit requirements and announcement status semantics. Wording needs native-speaker review.
2026-09-13 03:14:58 +03:00
Lauri Ojansivu 6d2cdd9869 Refresh concise audit after Corsican activity repairs 2026-09-13 03:14:35 +03:00
Lauri Ojansivu 74449b131b Repair Corsican custom field and checklist activity wording
Replace ten Italian findings, restoring incomplete-marking and field-unsetting actions while retaining placeholder order and the body closing tag. Wording needs native-speaker review.
2026-09-13 03:14:26 +03:00
Lauri Ojansivu c3fc5ec1b4 Refresh short audit after Corsican reminder repairs 2026-09-13 03:14:01 +03:00
Lauri Ojansivu 9580ab05ec Repair Corsican due reminders and checklist activity
Replace eight Italian findings while preserving reminder timing, old/new date tokens and checklist action semantics. Wording needs native-speaker review.
2026-09-13 03:13:53 +03:00
Lauri Ojansivu d981c39f32 Refresh short audit after Corsican account lockout repairs 2026-09-13 03:13:29 +03:00
Lauri Ojansivu 2c7a7444c4 Repair Corsican accessibility and account lockout text
Replace seven Italian findings while preserving temporary lockout, failed-attempt thresholds and seconds units. Leave uncertain shared reactivity wording pending. Wording needs native-speaker review.
2026-09-13 03:13:21 +03:00
Lauri Ojansivu 9debe08fdf Refresh concise audit after Corsican memory label repairs 2026-09-13 03:12:55 +03:00
Lauri Ojansivu 6592fa202a Repair Corsican memory usage and reactivity labels
Replace ten mixed-language findings, preserving reactivity identifiers and resident versus heap memory distinctions. Technical wording has low confidence and needs native-speaker review.
2026-09-13 03:12:46 +03:00
Lauri Ojansivu 185417e7b3 Refresh concise audit after Corsican heap metric repairs 2026-09-13 03:12:23 +03:00
Lauri Ojansivu 9939bff193 Repair Corsican Node heap metric labels
Replace eight Italian metric labels while retaining native versus detached contexts and available, executable, physical and used memory distinctions. Technical wording has low confidence and needs native-speaker review.
2026-09-13 03:12:14 +03:00
Lauri Ojansivu ef50423da9 Refresh concise audit after Corsican runtime label repairs 2026-09-13 03:11:51 +03:00
Lauri Ojansivu 5fae9dca2d Repair Corsican storage settings and runtime labels
Replace ten mixed-language findings, preserving DDP_TRANSPORT, spinner names and malloc. Runtime terminology has low confidence and needs native-speaker review.
2026-09-13 03:11:43 +03:00
Lauri Ojansivu e4cbb0ccf6 Refresh short audit after initial Corsican repairs 2026-09-13 03:11:12 +03:00
Lauri Ojansivu e1a17fc67c Repair Corsican calendar and account protection wording
Replace eight wrong-language findings, preserving activity placeholders, protection semantics and oldest-first ordering. Corsican wording remains subject to native-speaker review.
2026-09-13 03:11:03 +03:00
Lauri Ojansivu ef234de9f6 Record cleared Romansh findings in concise translation audit 2026-09-13 03:10:34 +03:00
Lauri Ojansivu acb29a66de Repair remaining flagged Romansh upload account and calendar text
Replace fifteen mixed-language or English findings, restore account anonymization meaning and distinguish sighting and astronomical-epoch calendars. Wording remains subject to native-speaker review.
2026-09-13 03:10:25 +03:00
Lauri Ojansivu 62d52f3671 Refresh short audit after Romansh display setting repairs 2026-09-13 03:09:58 +03:00
Lauri Ojansivu 56aea8f250 Repair Romansh display settings and Trello credentials
Replace fifteen mixed-language findings while preserving API URLs, placeholders and the requirement for both credentials. Wording remains subject to native-speaker review.
2026-09-13 03:09:49 +03:00
Lauri Ojansivu 263e7b1339 Refresh concise audit after Romansh shortcut repairs 2026-09-13 03:09:22 +03:00
Lauri Ojansivu fd8871af21 Repair Romansh shortcuts and server troubleshooting text
Replace fifteen mixed-language findings, preserving server log commands, AWS menu names, SSL/TLS and assigned-to-me filtering. Wording remains subject to native-speaker review.
2026-09-13 03:09:14 +03:00
Lauri Ojansivu 078109b0a3 Refresh short audit after Romansh schedule rule repairs 2026-09-13 03:08:45 +03:00
Lauri Ojansivu c94415d359 Repair Romansh schedule rules and card controls
Replace fifteen mixed-language findings, retaining weekday boundaries, relative-date behavior, read-only permissions and S3 region syntax. Wording remains subject to native-speaker review.
2026-09-13 03:08:36 +03:00
Lauri Ojansivu 6c7d8de641 Refresh short audit after Romansh rule import repairs 2026-09-13 03:08:09 +03:00
Lauri Ojansivu 0e9c61c175 Repair Romansh rule import and attachment instructions
Replace fifteen mixed-language findings while preserving link markup, placeholders, workflow product names and import limitations. Wording remains subject to native-speaker review.
2026-09-13 03:07:59 +03:00
Lauri Ojansivu 762bffa00c Refresh short audit after Romansh search validation repairs 2026-09-13 03:07:30 +03:00
Lauri Ojansivu e9d5988201 Repair Romansh selection controls and search validation
Replace fourteen mixed-language findings while preserving placeholders, positive-integer limits and assigned-card visibility. Wording remains subject to native-speaker review.
2026-09-13 03:07:22 +03:00
Lauri Ojansivu 6fa53cdcaa Refresh concise audit after Romansh storage message repairs 2026-09-13 03:06:56 +03:00
Lauri Ojansivu fd1b2cb213 Repair Romansh migration monitoring and storage messages
Replace twelve mixed-language findings while preserving storage names, read-enabled selection and distinct completed and stopped states. Wording remains subject to native-speaker review.
2026-09-13 03:06:48 +03:00
Lauri Ojansivu fb4bb1afef Refresh short audit after Romansh migration repairs 2026-09-13 03:06:22 +03:00
Lauri Ojansivu 1cc3a2c1b3 Repair Romansh migration controls and unread action
Replace twelve mixed-language findings, retaining byte units, batch limits and distinct migration failure and success states. Wording remains subject to native-speaker review.
2026-09-13 03:06:13 +03:00
Lauri Ojansivu 00162b7eea Refresh concise audit after Romansh invitation and mapping repairs 2026-09-13 03:05:48 +03:00
Lauri Ojansivu 21d77baef0 Repair Romansh invitation location and account mapping wording
Replace twelve mixed-language findings, preserve label placeholders and domain syntax, and retain the requirement for at least one administrator. Wording remains subject to native-speaker review.
2026-09-13 03:05:40 +03:00
Lauri Ojansivu 26691e3217 Refresh short audit after Romansh import message repairs 2026-09-13 03:05:13 +03:00
Lauri Ojansivu 7e4307a9f5 Repair Romansh import rejection and member mapping messages
Replace twelve mixed-language findings while retaining ZIP rejection reasons, import/export selection behavior and deferred member mapping. Wording remains subject to native-speaker review.
2026-09-13 03:05:05 +03:00
Lauri Ojansivu 22972d8889 Refresh concise audit after Romansh import repairs 2026-09-13 03:04:40 +03:00
Lauri Ojansivu d7cef406f6 Repair Romansh import and remaining search instructions
Replace fifteen mixed-language findings while preserving JSON examples, endpoints, import counts and search tokens. Wording remains subject to native-speaker review.
2026-09-13 03:04:31 +03:00
Lauri Ojansivu 16c10b2ad3 Refresh audit after Romansh search instruction repairs 2026-09-13 03:04:03 +03:00
Lauri Ojansivu e619a16b8b Repair Romansh search operator instructions
Replace twelve mixed-language findings and restore the days-ago-or-less meaning for created and modified searches. Preserve operator tokens, argument examples and optional server key-file instructions. Wording remains subject to native-speaker review.
2026-09-13 03:03:54 +03:00
Lauri Ojansivu 32a22e2e1a Refresh short translation audit after Romansh export repairs 2026-09-13 03:03:26 +03:00
Lauri Ojansivu 1c58ba6450 Repair Romansh export storage and filter wording
Replace fifteen mixed-language findings, preserving date categories, export constraints and technical identifiers. Wording remains subject to native-speaker review.
2026-09-13 03:03:18 +03:00
Lauri Ojansivu af66ddb54d Update concise audit after Romansh account error repairs 2026-09-13 03:02:52 +03:00
Lauri Ojansivu 31a290e2ef Repair Romansh account errors and zoom prompt
Replace ten mixed-language findings while preserving JSON and zoom-range instructions. Romansh wording remains subject to native-speaker review.
2026-09-13 03:02:43 +03:00
Lauri Ojansivu 665504f7b5 Refresh concise translation audit progress summary 2026-09-13 03:02:20 +03:00
Lauri Ojansivu 59680da9dd Repair Romansh verification body and display controls
Translate three mixed-language findings, preserving verification user/URL tokens, vertical scrollbar enablement and WIP-limit enablement. Wording remains subject to native-speaker review.
2026-09-13 03:00:12 +03:00
Lauri Ojansivu d536d0156e Refresh audit after Romansh verification email repairs 2026-09-13 02:59:48 +03:00
Lauri Ojansivu ee19972742 Repair Romansh invitation and verification email wording
Translate three wrong-language findings, preserving successful email sending and site-name placeholder in the verification subject. Wording remains subject to native-speaker review.
2026-09-13 02:59:36 +03:00
Lauri Ojansivu fa7e0ba4c6 Refresh audit after Romansh enrollment repairs 2026-09-13 02:59:13 +03:00
Lauri Ojansivu 341d32d4ed Repair Romansh enrollment and email error translations
Translate four wrong-language findings, preserving enrollment user/URL tokens, email sending failures and invalid email meaning. Wording remains subject to native-speaker review.
2026-09-13 02:59:03 +03:00
Lauri Ojansivu dec43b294b Refresh audit after Romansh email labels 2026-09-13 02:58:39 +03:00
Lauri Ojansivu e73ad8d101 Repair Romansh translation editor and email labels
Translate four mixed-language findings, preserving voting end date and invitation-domain authorization when self-registration is disabled. Technical wording remains subject to native-speaker review.
2026-09-13 02:58:28 +03:00
Lauri Ojansivu 4fb6da0f76 Refresh audit after Romansh due card labels 2026-09-13 02:58:06 +03:00
Lauri Ojansivu 6b8c23f857 Repair Romansh due card view and WIP labels
Translate four mixed-language findings, preserving due-card view, due-today placeholder and WIP-limit editing meanings. Wording remains subject to native-speaker review.
2026-09-13 02:57:55 +03:00
Lauri Ojansivu b0b1e4f8ab Refresh audit after Romansh due date repairs 2026-09-13 02:57:31 +03:00
Lauri Ojansivu ea56409739 Repair Romansh due date and sidebar labels
Translate four mixed-language findings, preserving the due-date change count placeholder, empty due-card state and drag-to-resize interaction. Wording remains subject to native-speaker review.
2026-09-13 02:57:21 +03:00
Lauri Ojansivu 851d93f38e Refresh audit after Romansh action labels 2026-09-13 02:56:58 +03:00
Lauri Ojansivu 5f3d194b04 Repair Romansh action and menu resize labels
Translate four mixed-language findings, preserving watch disablement, label/member action clarification and dragging to resize the left menu. Wording remains subject to native-speaker review.
2026-09-13 02:56:47 +03:00
Lauri Ojansivu 39c9f08acf Refresh audit after Romansh storage status repairs 2026-09-13 02:56:23 +03:00
Lauri Ojansivu a69e3e2fc1 Repair Romansh storage status and avatar transfer labels
Translate four mixed-language findings, preserving save success/failure and avatar import/export disablement distinctions. Wording remains subject to native-speaker review.
2026-09-13 02:56:13 +03:00
Lauri Ojansivu c6ef7bca9b Refresh audit after Romansh default settings repairs 2026-09-13 02:55:50 +03:00
Lauri Ojansivu 7024662807 Repair Romansh default authentication and storage labels
Translate three mixed-language findings, preserving default authentication method and the storage destination for newly uploaded attachments. Wording remains subject to native-speaker review.
2026-09-13 02:55:39 +03:00
Lauri Ojansivu c897779e32 Refresh audit after Romansh database labels 2026-09-13 02:55:16 +03:00
Lauri Ojansivu e6d5afa6a7 Repair Romansh database migration labels
Translate four mixed-language findings, preserving text-data scope, database destinations and version names, migration completion and custom web manifest enablement. Technical wording remains subject to native-speaker review.
2026-09-13 02:55:06 +03:00
Lauri Ojansivu 66bdadb594 Refresh audit after Romansh custom HTML repairs 2026-09-13 02:54:44 +03:00
Lauri Ojansivu 2feabc2678 Repair Romansh custom HTML and help labels
Translate five mixed-language findings, preserving Enter key, HTML link/meta/head identifiers and custom help URL meaning. Technical terminology remains subject to native-speaker review.
2026-09-13 02:54:33 +03:00
Lauri Ojansivu e16e145c92 Refresh audit after Romansh configuration repairs 2026-09-13 02:54:10 +03:00
Lauri Ojansivu d3f0bb04bf Repair Romansh custom configuration instructions
Translate five mixed-language findings, preserving migration retry scope, assetlinks.json filename, JSON acronym, Enter key and exact template placeholder. Technical terminology remains subject to native-speaker review.
2026-09-13 02:53:59 +03:00
Lauri Ojansivu 29e42a6d1e Refresh audit after Romansh migration state repairs 2026-09-13 02:53:34 +03:00
Lauri Ojansivu 009a1e9c26 Repair Romansh migration status translations
Translate five mixed-language findings, preserving retry versus resume behavior and failed versus paused migration states. Wording remains subject to native-speaker review.
2026-09-13 02:53:24 +03:00
Lauri Ojansivu c4c63ac429 Refresh audit after Romansh job status repairs 2026-09-13 02:52:59 +03:00
Lauri Ojansivu 58ec2cf8d6 Repair Romansh scheduled job status messages
Translate five mixed-language findings, preserving paused, resumed and started states and distinguishing failures from successful actions. Wording remains subject to native-speaker review.
2026-09-13 02:52:48 +03:00
Lauri Ojansivu b4bfaef47d Refresh audit after Romansh sorting repairs 2026-09-13 02:52:25 +03:00
Lauri Ojansivu bd68e11285 Repair Romansh sort and scheduled job labels
Translate five wrong-language findings, preserving newest/oldest order, cover-image meaning, error clearing and scheduled-job pause failure. Wording remains subject to native-speaker review.
2026-09-13 02:52:14 +03:00
Lauri Ojansivu 56d9268eb4 Refresh audit after Romansh clipboard repairs 2026-09-13 02:51:41 +03:00
Lauri Ojansivu 6962c174ed Repair Romansh clipboard and checklist labels
Translate five wrong-language findings, preserving comment-only permission, checklist deletion confirmation and link/text/template copying distinctions. Wording remains subject to native-speaker review.
2026-09-13 02:51:29 +03:00
Lauri Ojansivu 1afd762bc6 Refresh audit after Romansh comment repairs 2026-09-13 02:51:05 +03:00
Lauri Ojansivu 985a8f2351 Repair Romansh comment permissions and dialog wording
Translate five wrong-language findings, preserving blank-to-keep secret behavior, assigned-card visibility, comment-only permission and comment search placeholder. Wording remains subject to native-speaker review.
2026-09-13 02:50:55 +03:00
Lauri Ojansivu badb9c6930 Refresh audit after Romansh loading and star repairs 2026-09-13 02:50:30 +03:00
Lauri Ojansivu 68a57cd852 Repair Romansh loading and page star labels
Translate five mixed-language findings, preserving visible-card loading, checklist count notation, old-job cleanup and opposite page star actions. Wording remains subject to native-speaker review.
2026-09-13 02:50:20 +03:00
Lauri Ojansivu d08e70985e Refresh audit after Romansh card state repairs 2026-09-13 02:49:58 +03:00
Lauri Ojansivu 1612bb422b Repair Romansh card state and aging labels
Translate six mixed-language findings, preserving fading rather than deletion, three aging tiers, custom-field editing and complete/incomplete distinctions. Wording remains subject to native-speaker review.
2026-09-13 02:49:47 +03:00
Lauri Ojansivu 3412e9cbb6 Refresh audit after Romansh time summary repairs 2026-09-13 02:49:24 +03:00
Lauri Ojansivu 18f5dab0c6 Repair Romansh time summary and file count labels
Translate five mixed-language findings, preserving time-spent summary, background-image change and ongoing file-count calculation meanings. Wording remains subject to native-speaker review.
2026-09-13 02:49:12 +03:00
Lauri Ojansivu 383b725b3a Refresh audit after Romansh background repairs 2026-09-13 02:48:48 +03:00
Lauri Ojansivu 2d36116131 Repair Romansh background and backup labels
Translate five wrong-language findings, preserving the size template token, backup-selection prerequisite and attachment-count meaning. Wording remains subject to native-speaker review.
2026-09-13 02:48:37 +03:00
Lauri Ojansivu 9a38d660bf Refresh audit after Romansh avatar and Azure repairs 2026-09-13 02:48:15 +03:00
Lauri Ojansivu 503dd899f1 Repair Romansh avatar and Azure instructions
Translate five mixed-language findings, preserve avatar size placeholder and restore exact Azure menu labels while translating user-specific prose. Wording remains subject to native-speaker review.
2026-09-13 02:48:04 +03:00
Lauri Ojansivu b25ae1d336 Refresh audit after Romansh transfer limit repairs 2026-09-13 02:47:42 +03:00
Lauri Ojansivu 86cece2ae2 Repair Romansh transfer limit and URL instructions
Translate five wrong-language findings, preserving positive-limit validation, save success/failure distinction, storage path meaning and one URL scheme per line. Wording remains subject to native-speaker review.
2026-09-13 02:47:32 +03:00
Lauri Ojansivu c6bd660135 Refresh audit after Romansh attachment repairs 2026-09-13 02:47:10 +03:00
Lauri Ojansivu f94194b24b Repair Romansh attachment and API translations
Translate six mixed-language findings, preserving storage product names, attachment move destinations and the exact WITH_API=true condition. Wording remains subject to native-speaker review.
2026-09-13 02:47:01 +03:00
Lauri Ojansivu 926d1021be Refresh audit after Romansh upload label repairs 2026-09-13 02:46:38 +03:00
Lauri Ojansivu 7752edff8d Repair Romansh upload and anonymization labels
Translate eight mixed-language findings, preserving logged-in user scope, avatar/upload file types and account versus export anonymization distinctions. Wording remains subject to native-speaker review.
2026-09-13 02:46:27 +03:00
Lauri Ojansivu 032298f05a Refresh audit after Romansh custom field repairs 2026-09-13 02:46:04 +03:00
Lauri Ojansivu c730a428f1 Repair Romansh custom field and administration wording
Translate eight wrong-language findings, preserving custom field placeholders, the literal closing body tag and active system-wide announcement meaning. Wording remains subject to native-speaker review.
2026-09-13 02:45:55 +03:00
Lauri Ojansivu 38ae75c1b1 Refresh audit after Romansh card activity repairs 2026-09-13 02:45:32 +03:00
Lauri Ojansivu 56d013e6e0 Repair Romansh card activity translations
Translate eight Italian or mixed-language activity messages, preserving positional placeholders and checklist completion, date changes, movement and label removal meanings. Wording remains subject to native-speaker review.
2026-09-13 02:45:22 +03:00
Lauri Ojansivu c12bbd97e3 Refresh audit after Romansh date activity repairs 2026-09-13 02:44:58 +03:00
Lauri Ojansivu 34fdd95670 Repair Romansh date activity and scheduled job messages
Translate eight mixed-language findings, preserving date-change placeholders, approaching/current/past due distinctions and scheduled job meaning. Wording remains subject to native-speaker review.
2026-09-13 02:44:48 +03:00
Lauri Ojansivu 376fa877a2 Refresh audit after Romansh lockout repairs 2026-09-13 02:44:25 +03:00
Lauri Ojansivu 7530b4e9cf Repair Romansh account lockout translations
Replace twelve mixed-language values with Romansh, preserving temporary lockout causes, user unlock scopes, seconds units and due-time placeholders. Wording remains subject to native-speaker review.
2026-09-13 02:44:14 +03:00
Lauri Ojansivu 25e4774c7d Refresh audit after Romansh runtime and account repairs 2026-09-13 02:43:47 +03:00
Lauri Ojansivu 640bb8a742 Repair Romansh runtime and account wording
Replace fifteen Italian or mixed-language findings with Romansh. Preserve runtime metrics, spinner names, time-change meanings and account success/failure distinction. Technical wording remains subject to native-speaker review.
2026-09-13 02:43:37 +03:00
Lauri Ojansivu a1aaae727b Refresh audit after Romansh translation repairs 2026-09-13 02:43:13 +03:00
Lauri Ojansivu e27ff872c6 Repair Romansh activity and runtime labels
Replace twelve Italian or mixed-language labels with Romansh, preserving activity placeholders, spinner names, DDP_TRANSPORT and malloc identifiers. Runtime terminology is low confidence and requires native-speaker review.
2026-09-13 02:43:03 +03:00
Lauri Ojansivu b633e2a1a2 Refresh translation audit after Igbo repairs 2026-09-13 02:42:31 +03:00
Lauri Ojansivu 1231da296f Repair Igbo filter instructions and CPU label
Translate the two flagged English values, preserving CPU and OS acronyms plus filter operators and literal examples. Technical wording is low confidence and requires native-speaker review.
2026-09-13 02:42:21 +03:00
Lauri Ojansivu 87741e0736 Refresh translation audit after Maori repairs 2026-09-13 02:41:54 +03:00
Lauri Ojansivu f51f0072b3 Repair Maori calendar labels
Translate three English calendar labels using existing Maramataka terminology. Preserve national, moon observation and astronomical epoch distinctions. Technical wording is low confidence and requires native-speaker review.
2026-09-13 02:41:44 +03:00
Lauri Ojansivu e260f50ba1 Refresh translation audit after Maltese repairs 2026-09-13 02:41:25 +03:00
Lauri Ojansivu 106abeb2c8 Repair Maltese calendar labels
Translate ten flagged labels using existing Kalendarju terminology, correct Persian identification, and preserve calendar identities, sighting and epoch distinctions. Technical wording remains subject to native-speaker review.
2026-09-13 02:41:14 +03:00
Lauri Ojansivu 9929df8539 Refresh audit after Luxembourgish translation review 2026-09-13 02:40:51 +03:00
Lauri Ojansivu 18cde68eb4 Repair Luxembourgish calendar and WIP labels
Translate five English calendar labels and soft WIP wording. Retain the valid SMTP Test-E-Mail subject after contextual review. Technical calendar wording remains subject to native-speaker review.
2026-09-13 02:40:41 +03:00
Lauri Ojansivu 4f2d00054d Refresh translation audit after Uzbek repairs 2026-09-13 02:40:17 +03:00
Lauri Ojansivu c8b7e7344b Repair Uzbek calendar labels
Translate eight English labels across four Uzbek locales using their existing Latin-script terminology. Preserve Indian national and Saudi moon-sighting meanings.
2026-09-13 02:40:06 +03:00
Lauri Ojansivu 397cddef67 Refresh translation audit after Sindhi repair 2026-09-13 02:39:44 +03:00
Lauri Ojansivu 1da2bfcfc4 Repair Sindhi Saudi Hijri calendar label
Translate the English label using existing Sindhi calendar terminology and preserve moon sighting. Wording remains subject to native-speaker review.
2026-09-13 02:39:34 +03:00
Lauri Ojansivu d3bb0bfe08 Refresh translation audit after Burmese repairs 2026-09-13 02:39:14 +03:00
Lauri Ojansivu c558a8f485 Repair Burmese Hijri calendar labels
Translate Saudi sighting and tabular astronomical-epoch labels using existing Burmese calendar terminology. Technical epoch phrasing is low confidence and requires native-speaker review.
2026-09-13 02:39:02 +03:00
Lauri Ojansivu 76cdf3907b Refresh translation audit after Assamese repairs 2026-09-13 02:38:43 +03:00
Lauri Ojansivu d0c367310e Repair Assamese Hijri calendar labels
Translate Saudi moon-sighting and tabular astronomical-epoch labels using existing Assamese calendar terminology. Epoch phrasing is low confidence and requires native-speaker review.
2026-09-13 02:38:34 +03:00
Lauri Ojansivu be1cdd53be Refresh translation audit after Sinhala repairs 2026-09-13 02:38:16 +03:00
Lauri Ojansivu 775cd7f8f8 Repair Sinhala calendar labels
Translate three English labels and correct the adjacent civil-epoch label which incorrectly referred to an epic poem. Preserve calendar method and epoch distinctions. Technical wording is low confidence and requires native-speaker review.
2026-09-13 02:38:05 +03:00
Lauri Ojansivu 68133adba5 Refresh translation audit after Pashto repairs 2026-09-13 02:37:44 +03:00
Lauri Ojansivu 2ee492d031 Repair Pashto calendar labels
Translate Indian national and Saudi Hijri calendar labels using existing Pashto terminology and retain moon sighting. Wording remains subject to native-speaker review.
2026-09-13 02:37:34 +03:00
Lauri Ojansivu eb12ba31f5 Refresh translation audit after Amharic repairs 2026-09-13 02:37:16 +03:00
Lauri Ojansivu 2f5954fd68 Repair Amharic Hijri calendar labels
Translate the Saudi sighting and tabular astronomical-epoch labels using existing Amharic calendar terminology. Technical epoch wording is low confidence and requires native-speaker review.
2026-09-13 02:37:05 +03:00
Lauri Ojansivu af28210aa4 Refresh audit after Upper Sorbian repairs 2026-09-13 02:36:44 +03:00
Lauri Ojansivu f55b741d8e Repair Upper Sorbian calendar labels
Translate three English calendar labels using existing protyka terminology and retain national, moon observation and astronomical epoch distinctions. Technical wording is low confidence and requires native-speaker review.
2026-09-13 02:36:33 +03:00
Lauri Ojansivu 1cacdcccb3 Refresh translation audit after Zulu repairs 2026-09-13 02:36:12 +03:00
Lauri Ojansivu 5b7dd246a4 Repair Zulu Hijri calendar labels
Translate English labels and adjacent civil-epoch wording in both Zulu locales, preserving moon observation and astronomical distinction. Remove duplicate closing parentheses in Umm al-Qura labels. Epoch phrasing is low confidence and requires native-speaker review.
2026-09-13 02:36:02 +03:00
Lauri Ojansivu 662306eea0 Refresh translation audit after Somali repair 2026-09-13 02:35:38 +03:00
Lauri Ojansivu 679834c2ef Repair Somali Saudi Hijri calendar label
Replace the English label using existing Somali calendar terminology and preserve moon sighting as the method. Wording remains subject to native-speaker review.
2026-09-13 02:35:28 +03:00
Lauri Ojansivu f16d6ea390 Refresh translation audit after Sicilian repairs 2026-09-13 02:35:11 +03:00
Lauri Ojansivu 36ddb49916 Repair Sicilian calendar labels
Translate three English calendar labels using existing Calannariu terminology, retaining Indian national, Saudi moon sighting and tabular astronomical epoch meanings. Wording requires native-speaker review.
2026-09-13 02:35:00 +03:00
Lauri Ojansivu 282ba0e45b Refresh translation audit after Faroese repairs 2026-09-13 02:34:38 +03:00
Lauri Ojansivu 85825b65a9 Repair Faroese calendar labels
Translate three English calendar labels while retaining Indian national, Saudi moon observation and tabular astronomical epoch meanings. Technical wording is low confidence and requires native-speaker review.
2026-09-13 02:34:29 +03:00
Lauri Ojansivu 07aac681c8 Refresh translation audit after Serbian repair 2026-09-13 02:34:05 +03:00
Lauri Ojansivu ec3a82e4e7 Repair Serbian Saudi Hijri calendar label
Replace the English label with Serbian wording and preserve observation of the young moon as the calendar method.
2026-09-13 02:33:55 +03:00
Lauri Ojansivu 5c5c390c0a Refresh audit after Haitian Creole repairs 2026-09-13 02:33:35 +03:00
Lauri Ojansivu 041841f41e Repair Haitian Creole Hijri calendar labels
Translate the English Saudi label and four adjacent French Hijri labels into Haitian Creole. Preserve calendar methods and distinct epochs. Epoch wording is low confidence and requires native-speaker review.
2026-09-13 02:33:25 +03:00
Lauri Ojansivu e08df5bdbf Refresh translation audit after Hausa repairs 2026-09-13 02:33:03 +03:00
Lauri Ojansivu 8a883cbc08 Repair Hausa calendar labels
Translate the flagged Indian national and Saudi moon-sighting labels, plus adjacent English civil and astronomical epoch wording. Technical epoch phrasing is low confidence and requires native-speaker review.
2026-09-13 02:32:53 +03:00
Lauri Ojansivu 231e64a4f2 Refresh translation audit after Punjabi review 2026-09-13 02:32:30 +03:00
Lauri Ojansivu e7f8262c55 Repair Punjabi advanced filter instructions
Translate English filter instructions while preserving operators and literal examples. Retain two cloud product names with valid danda punctuation after review. Technical wording requires native-speaker review.
2026-09-13 02:32:20 +03:00
Lauri Ojansivu 2543b3c979 Refresh translation audit after Javanese repairs 2026-09-13 02:31:48 +03:00
Lauri Ojansivu f8c7aee29c Repair Javanese calendar labels
Translate the Indian national and Saudi Hijri labels using existing tanggalan terminology and retain observation of the moon. Wording remains subject to native-speaker review.
2026-09-13 02:31:39 +03:00
Lauri Ojansivu 72df46ee3a Refresh translation audit after Filipino repairs 2026-09-13 02:31:22 +03:00
Lauri Ojansivu a9b2337f78 Repair Filipino calendar labels
Translate fifteen English labels using the existing kalendaryo terminology, preserving calendar names, moon sighting and distinct civil and astronomical epochs. Technical wording requires native-speaker review.
2026-09-13 02:31:12 +03:00
Lauri Ojansivu fbed7e48dc Refresh audit after Kyrgyz and Tajik repairs 2026-09-13 02:30:49 +03:00
Lauri Ojansivu 04b3941431 Repair Kyrgyz and Tajik calendar labels
Translate sixteen English calendar labels using existing locale calendar terminology, retaining named eras and moon-sighting methods. Low-confidence technical calendar wording requires native-speaker review.
2026-09-13 02:30:39 +03:00
Lauri Ojansivu 70daae73b2 Refresh translation audit after Marathi and Nepali repairs 2026-09-13 02:30:10 +03:00
Lauri Ojansivu 32eb90ec9f Repair Marathi and Nepali Hijri calendar labels
Replace English labels while retaining Saudi moon sighting and the tabular astronomical epoch. Technical calendar wording remains subject to native-speaker review.
2026-09-13 02:30:00 +03:00
Lauri Ojansivu 7992431272 Refresh audit after Chinese translation reviews 2026-09-13 02:29:38 +03:00
Lauri Ojansivu 97ce8878fe Repair Chinese Saudi Hijri labels and review product names
Translate five English calendar labels with explicit Saudi Arabia and crescent observation. Retain thirteen official cloud product names with valid Chinese punctuation.
2026-09-13 02:29:28 +03:00
Lauri Ojansivu cb311d2031 Refresh audit after Thai and Japanese reviews 2026-09-13 02:28:58 +03:00
Lauri Ojansivu ac2ec5fbe6 Repair Thai and Japanese calendar variant labels
Translate Saudi moon-sighting and tabular astronomical-epoch labels. Retain six Japanese cloud product names with valid punctuation after review. Technical calendar wording remains subject to native-speaker review.
2026-09-13 02:28:48 +03:00
Lauri Ojansivu 7d335726e4 Refresh translation audit after Turkmen repairs 2026-09-13 02:28:13 +03:00
Lauri Ojansivu 7e97cd1ddb Repair Turkmen calendar labels
Translate the Indian national and Saudi Hijri calendar labels using existing Turkmen calendar terminology. Preserve the moon-sighting distinction; technical wording remains subject to native-speaker review.
2026-09-13 02:28:04 +03:00
Lauri Ojansivu fbb0e6fc31 Refresh translation audit after Vietnamese repairs 2026-09-13 02:27:43 +03:00
Lauri Ojansivu 889a4dadb2 Repair Vietnamese Hijri calendar variant labels
Replace English labels in both Vietnamese locales and retain moon sighting and the astronomical epoch distinction.
2026-09-13 02:27:33 +03:00
Lauri Ojansivu a208398028 Refresh translation audit after Urdu repair 2026-09-13 02:27:11 +03:00
Lauri Ojansivu 8f49a49c9a Repair Urdu Saudi Hijri calendar label
Translate the remaining English label and preserve the moon-sighting method of the Saudi calendar variant.
2026-09-13 02:27:01 +03:00
Lauri Ojansivu 93d395b2a6 Shorten translation audit progress summary 2026-09-13 02:26:39 +03:00
Lauri Ojansivu abae253d7f Record Tamil translation repair progress 2026-09-13 02:24:20 +03:00
Lauri Ojansivu 4ceab106bb Repair Tamil Saudi Hijri calendar label
Preserve Saudi Arabia and crescent-sighting distinction.
2026-09-13 02:24:00 +03:00
Lauri Ojansivu c50bc96d6e Record Kannada translation repair progress 2026-09-13 02:23:32 +03:00
Lauri Ojansivu fa4eec25b8 Repair Kannada tabular Hijri calendar label
Preserve tabular calculation and astronomical epoch distinctions. Kannada technical wording needs native-speaker review.
2026-09-13 02:23:16 +03:00
Lauri Ojansivu c8f3c1fa85 Record Gujarati translation repair progress 2026-09-13 02:22:45 +03:00
Lauri Ojansivu acae5051ed Translate Gujarati advanced-filter instructions
Preserve operators, quoted values, escaping, evaluation order and regex examples. Gujarati technical wording needs native-speaker review.
2026-09-13 02:22:27 +03:00
Lauri Ojansivu b468f23a42 Record Hindi translation repair progress 2026-09-13 02:21:54 +03:00
Lauri Ojansivu 1fd5131fc0 Repair Hindi calendar variants and review vendor names
Preserve Saudi lunar observation and tabular astronomical epoch; retain product names with valid Hindi punctuation. Hindi technical wording needs native-speaker review.
2026-09-13 02:21:36 +03:00
Lauri Ojansivu 162ffef58f Record completion of flagged Armenian translation queue 2026-09-13 02:21:05 +03:00
Lauri Ojansivu 8ad44478c5 Translate Armenian advanced-filter instructions
Preserve operators, quoted values, escaping, evaluation order and regex examples. Armenian technical wording needs native-speaker review.
2026-09-13 02:20:48 +03:00
Lauri Ojansivu 1c48c0256d Record Armenian translation repair progress 2026-09-13 02:20:22 +03:00
Lauri Ojansivu 25263ead6c Repair Armenian mail-copy and calendar labels
Preserve cloud-storage product names and calendar variant distinctions. Armenian technical wording needs native-speaker review.
2026-09-13 02:20:07 +03:00
Lauri Ojansivu b3557bc805 Record Georgian translation repair progress 2026-09-13 02:19:39 +03:00
Lauri Ojansivu 308b7b3897 Repair Georgian Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions. Georgian technical wording needs native-speaker review.
2026-09-13 02:19:23 +03:00
Lauri Ojansivu 8f3256e487 Record completion of flagged Welsh translation queues 2026-09-13 02:18:58 +03:00
Lauri Ojansivu c0000ea3c3 Translate Welsh advanced-filter instructions
Preserve operators, quoted values, escaping, evaluation order and regex examples in both Welsh locales. Welsh technical wording needs native-speaker review.
2026-09-13 02:18:41 +03:00
Lauri Ojansivu c4c6d6ab72 Record Welsh calendar translation repair progress 2026-09-13 02:18:15 +03:00
Lauri Ojansivu aabc123eed Repair Welsh Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions in both Welsh locales. Welsh technical wording needs native-speaker review.
2026-09-13 02:18:02 +03:00
Lauri Ojansivu 36f783a5bd Record Swahili translation repair progress 2026-09-13 02:17:27 +03:00
Lauri Ojansivu 656257ca73 Repair Swahili Hijri calendar variant labels
Preserve Saudi lunar sighting and tabular astronomical epoch distinctions. Swahili technical wording needs native-speaker review.
2026-09-13 02:17:07 +03:00
Lauri Ojansivu 9c66ac85d1 Record Irish translation repair progress 2026-09-13 02:16:40 +03:00
Lauri Ojansivu c65c83eba1 Repair Irish Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions. Irish technical wording needs native-speaker review.
2026-09-13 02:16:23 +03:00
Lauri Ojansivu e7d92a4832 Record Azerbaijani translation repair progress 2026-09-13 02:15:58 +03:00
Lauri Ojansivu c226b0b4a1 Repair Azerbaijani filter help and Hijri observation label
Preserve operators, quoting, escaping and regex examples across all three locales; retain Saudi lunar-observation distinction. Azerbaijani technical wording needs native-speaker review.
2026-09-13 02:15:36 +03:00
Lauri Ojansivu bd04435674 Record Icelandic translation repair progress 2026-09-13 02:14:56 +03:00
Lauri Ojansivu 2b2d7c745d Repair Icelandic Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions. Icelandic technical wording needs native-speaker review.
2026-09-13 02:14:40 +03:00
Lauri Ojansivu 96017ceb55 Record Belarusian translation repair progress 2026-09-13 02:14:13 +03:00
Lauri Ojansivu 77337d40e6 Repair Belarusian calendar-system labels
Preserve Indian national-calendar scope, Saudi lunar observation and tabular astronomical epoch distinctions.
2026-09-13 02:13:56 +03:00
Lauri Ojansivu 6cad5f1072 Record Malay translation repair progress 2026-09-13 02:13:30 +03:00
Lauri Ojansivu 85e32bb48f Translate Malay advanced-filter instructions
Preserve operators, quoted values, escaping, evaluation order and regex examples in both Malay locales.
2026-09-13 02:13:15 +03:00
Lauri Ojansivu c79b95219d Record Indonesian translation repair progress 2026-09-13 02:12:46 +03:00
Lauri Ojansivu e28225f7fe Translate Indonesian advanced-filter instructions
Preserve comparison and Boolean operators, quoted values, escape sequences, evaluation order and regex examples.
2026-09-13 02:12:31 +03:00
Lauri Ojansivu 5d8a2be1bc Record Esperanto translation repair progress 2026-09-13 02:12:04 +03:00
Lauri Ojansivu 5566125502 Repair Esperanto calendar-system labels
Preserve Indian national-calendar scope, Saudi lunar observation and tabular astronomical epoch distinctions.
2026-09-13 02:11:48 +03:00
Lauri Ojansivu 5e5db9734b Record Catalan translation repair progress 2026-09-13 02:11:23 +03:00
Lauri Ojansivu 1a8e81180f Repair Catalan Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions across all three Catalan locales.
2026-09-13 02:11:06 +03:00
Lauri Ojansivu 801a358163 Record Afrikaans translation repair progress 2026-09-13 02:10:35 +03:00
Lauri Ojansivu 0b334f2b21 Repair Afrikaans Hijri calendar variant labels
Preserve Saudi lunar observation and tabular astronomical epoch distinctions in both Afrikaans locales.
2026-09-13 02:10:19 +03:00
Lauri Ojansivu f8aa8bc0e3 Record Korean translation repair progress 2026-09-13 02:09:54 +03:00
Lauri Ojansivu 9ee66fee4b Repair Korean advanced-filter help and calendar variants
Preserve operators, escaped characters and regex examples in both Korean locales; distinguish Saudi lunar observation from tabular astronomical epoch.
2026-09-13 02:09:35 +03:00
Lauri Ojansivu eb1b1dfe59 Record Bulgarian translation repair progress 2026-09-13 02:09:02 +03:00
Lauri Ojansivu 462f5f5a98 Repair Bulgarian advanced-filter help and calendar variants
Translate filter instructions while preserving operators, escaping and regex examples; distinguish Saudi lunar sighting and astronomical epoch.
2026-09-13 02:08:48 +03:00
Lauri Ojansivu 0960e4981b Record completion of flagged Tok Pisin translation queue 2026-09-13 02:08:19 +03:00
Lauri Ojansivu 94eecaccb8 Repair remaining flagged Tok Pisin calendar and appearance labels
Preserve tabular epoch distinctions, lunar sighting and named calendar systems. Tok Pisin technical calendar terminology needs native-speaker review.
2026-09-13 02:08:04 +03:00
Lauri Ojansivu 2ede2464fb Update translation audit progress for Tok Pisin calendar labels 2026-09-13 02:07:35 +03:00
Lauri Ojansivu cfcbd0340f Translate Tok Pisin calendar-system labels
Preserve Dangi, Amete Alem and Hijri system names and national calendar distinctions. Tok Pisin wording needs native-speaker review.
2026-09-13 02:07:21 +03:00
Lauri Ojansivu e671003169 Update translation audit progress for Tok Pisin repairs 2026-09-13 02:06:57 +03:00
Lauri Ojansivu 9058adbdab Repair Tok Pisin custom-link and calendar labels
Preserve URL labels and distinguish help, login logo and top-left logo links. Tok Pisin wording needs native-speaker review.
2026-09-13 02:06:43 +03:00
Lauri Ojansivu e47e4611ac Record completion of flagged Friulian translation queue 2026-09-13 02:06:12 +03:00
Lauri Ojansivu b3966ceac6 Finish flagged Friulian interface-label review
Translate filesystem, pause, completion and team labels; preserve literal search operators and reviewed shared terminology. Friulian wording needs native-speaker review.
2026-09-13 02:05:57 +03:00
Lauri Ojansivu 6d95c42c91 Update translation audit progress for Friulian shared-term review 2026-09-13 02:05:25 +03:00
Lauri Ojansivu 2d092cc5b2 Review Friulian shared terms and repair pause action
Retain reviewed avatar, file, version and Europe labels; make the pause button an explicit action. Friulian wording needs native-speaker review.
2026-09-13 02:05:11 +03:00
Lauri Ojansivu 83ca259922 Update translation audit progress for Friulian Hijri variants 2026-09-13 02:04:43 +03:00
Lauri Ojansivu 0dcd3ea5af Repair Friulian Hijri calendar variant labels
Preserve civil and astronomical epochs, Saudi observation and Umm al-Qura; retain reviewed shared limits and avatar terms. Friulian wording needs native-speaker review.
2026-09-13 02:04:29 +03:00
Lauri Ojansivu 74f7479fa2 Update translation audit progress for Friulian calendar repairs 2026-09-13 02:04:00 +03:00
Lauri Ojansivu 9a209e7e5d Repair flagged Friulian calendar names
Follow existing calendari terminology, preserve Dangi and Amete Alem distinctions, and identify Jalali as Persian. Friulian wording needs native-speaker review.
2026-09-13 02:03:45 +03:00
Lauri Ojansivu aa3b709e15 Record completion of flagged Aragonese translation queue 2026-09-13 02:03:06 +03:00
Lauri Ojansivu a188ed9842 Translate remaining flagged Aragonese calendar names
Preserve civil and astronomical epochs, Saudi observation, Umm al-Qura and Amete Alem distinctions. Aragonese wording needs native-speaker review.
2026-09-13 02:02:52 +03:00
Lauri Ojansivu 17da898c20 Update translation audit progress for import and calendar repairs 2026-09-13 02:02:19 +03:00
Lauri Ojansivu f2a14c375d Repair Aragonese import results and calendar label
Preserve repository upload/update alternatives and version-check failure; retain valid writable-path wording. Aragonese wording needs native-speaker review.
2026-09-13 02:02:00 +03:00
Lauri Ojansivu b579211a45 Update translation audit progress for Trello-import repairs 2026-09-13 02:01:30 +03:00
Lauri Ojansivu d4cdeede33 Repair Aragonese team, theme and Trello import labels
Preserve missing-team token, default theme behavior and requirement for both API key and token with token generation location. Aragonese wording needs native-speaker review.
2026-09-13 02:01:17 +03:00
Lauri Ojansivu 3e778d4795 Update translation audit progress for editor and lane repairs 2026-09-13 02:00:50 +03:00
Lauri Ojansivu 0ae193a172 Repair Aragonese attachment, editor and lane messages
Preserve URL and Enter literals, positive integer height requirement and missing-lane placeholder; retain valid full-path subtext label. Aragonese wording needs native-speaker review.
2026-09-13 02:00:37 +03:00
Lauri Ojansivu 8d6786c0b5 Update translation audit progress for ordering-control repairs 2026-09-13 02:00:07 +03:00
Lauri Ojansivu 0bd9909d04 Repair Aragonese field labels and ordering controls
Preserve singular field-label scope, drag ordering and week-start setting; retain reviewed list migration labels. Aragonese wording needs native-speaker review.
2026-09-13 01:59:54 +03:00
Lauri Ojansivu 6fa8aab326 Update translation audit progress for minicard display repairs 2026-09-13 01:59:24 +03:00
Lauri Ojansivu 41ee5e7d07 Repair Aragonese search and minicard display settings
Preserve sidebar toggle and distinguish list, parent card, subtasks and checklist display controls. Aragonese wording needs native-speaker review.
2026-09-13 01:59:12 +03:00
Lauri Ojansivu 19275d5be8 Update translation audit progress for search and SMTP-test repairs 2026-09-13 01:58:44 +03:00
Lauri Ojansivu 45a3d13cd4 Repair Aragonese search, SMTP test and width labels
Preserve required S3 secret key, Enter-key instruction and test-email recipient; retain valid height and selection-color labels. Aragonese wording needs native-speaker review.
2026-09-13 01:58:31 +03:00
Lauri Ojansivu 30a688acb6 Update translation audit progress for S3 credential repairs 2026-09-13 01:58:01 +03:00
Lauri Ojansivu 87bab5a55c Repair Aragonese S3 storage and credential wording
Preserve provider names and AWS navigation labels; distinguish secret and access keys and retain valid region and path-style labels. Aragonese wording needs native-speaker review.
2026-09-13 01:57:48 +03:00
Lauri Ojansivu b0130d272c Update translation audit progress for restoration and S3 repairs 2026-09-13 01:57:17 +03:00
Lauri Ojansivu dbb2ad8d84 Repair Aragonese restoration, positioning and S3 wording
Preserve restore counters, right-of-selected-list meaning and literal AWS navigation labels; retain reviewed rule import/export label. Aragonese wording needs native-speaker review.
2026-09-13 01:57:06 +03:00
Lauri Ojansivu 8d3f19ac23 Update translation audit progress for workflow and archive repairs 2026-09-13 01:56:34 +03:00
Lauri Ojansivu cfe427bbd9 Repair Aragonese workflow, cover and archive labels
Preserve composable checklist conditions, minicard cover removal and restore-all scope; retain valid monitoring refresh label. Aragonese wording needs native-speaker review.
2026-09-13 01:56:22 +03:00
Lauri Ojansivu d81d4a360a Update translation audit progress for automation-trigger repairs 2026-09-13 01:55:51 +03:00
Lauri Ojansivu eb5c2f8e1f Repair Aragonese checklist and label automation triggers
Preserve Monday-through-Friday schedule and distinguish any-label addition from removal and checklist from checklist-item conditions. Aragonese wording needs native-speaker review.
2026-09-13 01:55:39 +03:00
Lauri Ojansivu 9c1df476cd Update translation audit progress for workflow automation repairs 2026-09-13 01:55:12 +03:00
Lauri Ojansivu 0e095a1db9 Repair Aragonese workflow and checklist automation wording
Preserve mapping count, case-sensitive email tags and comma-separated source example; retain valid available-tag hint. Aragonese wording needs native-speaker review.
2026-09-13 01:55:00 +03:00
Lauri Ojansivu 7901fde1a1 Update translation audit progress for PDF and width repairs 2026-09-13 01:54:28 +03:00
Lauri Ojansivu 69ca428cdb Repair Aragonese list widths and PDF fallback wording
Align push invitation with email subject and checklist terminology; retain reviewed path-prefix and trigger labels. Aragonese wording needs native-speaker review.
2026-09-13 01:54:16 +03:00
Lauri Ojansivu 77aa33ce12 Update translation audit progress for counts and overdue repairs 2026-09-13 01:53:47 +03:00
Lauri Ojansivu 9c5f760c77 Repair Aragonese counts, OTP and overdue messages
Preserve appended-count spacing, OTP acronym, due-time placeholder and image-only paste/drop restriction. Aragonese wording needs native-speaker review.
2026-09-13 01:53:36 +03:00
Lauri Ojansivu 03cf8fabf8 Update translation audit progress for operator and role repairs 2026-09-13 01:53:07 +03:00
Lauri Ojansivu a8e40cab75 Repair Aragonese operator errors and organization roles
Preserve expected-number and received-value tokens, sort/status distinctions and singular/plural administrator roles. Aragonese wording needs native-speaker review.
2026-09-13 01:52:56 +03:00
Lauri Ojansivu 9e71cfda54 Update translation audit progress for search validation repairs 2026-09-13 01:52:30 +03:00
Lauri Ojansivu e211faae04 Repair Aragonese invitation and search validation messages
Preserve pending invitation status, search predicate distinctions and positive integer limit requirement; retain valid shared-template label. Aragonese wording needs native-speaker review.
2026-09-13 01:52:17 +03:00
Lauri Ojansivu 74fada1491 Update audit progress for checklist line-conversion repairs 2026-09-13 01:51:46 +03:00
Lauri Ojansivu c52f0d3705 Repair Aragonese checklist line-conversion and selection wording
Preserve one-item-per-line and original-order instructions; retain valid new-translation label. Aragonese wording needs native-speaker review.
2026-09-13 01:51:31 +03:00
Lauri Ojansivu 15f3a2b3f0 Update translation audit progress for MongoDB and mode labels 2026-09-13 01:51:01 +03:00
Lauri Ojansivu 4076141ad9 Repair Aragonese mode, MongoDB and selection labels
Preserve MongoDB GridFS name and distinguish compact action from completion, left movement and disabling multi-selection. Aragonese wording needs native-speaker review.
2026-09-13 01:50:46 +03:00
Lauri Ojansivu c8c223de4b Update translation audit progress for migration-status repairs 2026-09-13 01:50:19 +03:00
Lauri Ojansivu 2796ffe5c5 Repair Aragonese migration status and unread labels
Preserve attachment batch limits and millisecond delay range; distinguish pausing, stopping and completed migration. Aragonese wording needs native-speaker review.
2026-09-13 01:50:07 +03:00
Lauri Ojansivu 984e602787 Update translation audit progress for list-control repairs 2026-09-13 01:49:40 +03:00
Lauri Ojansivu 3143953f5c Repair Aragonese list controls and map confirmation
Preserve selected-list position, missing-title placeholder and integer width strictly greater than 270; retain valid login permission label. Aragonese wording needs native-speaker review.
2026-09-13 01:49:28 +03:00
Lauri Ojansivu 2df569c9a5 Update translation audit progress for member and label repairs 2026-09-13 01:48:57 +03:00
Lauri Ojansivu 64afc01ce1 Repair Aragonese member, invitation and label messages
Preserve domain syntax example, unmatched-account status and label placeholders; retain valid default label. Aragonese wording needs native-speaker review.
2026-09-13 01:48:45 +03:00
Lauri Ojansivu 3d8f2de4b6 Update translation audit progress for import-prompt repairs 2026-09-13 01:48:19 +03:00
Lauri Ojansivu 7eebb0ef72 Repair Aragonese import prompts and member mapping label
Preserve JSON/SVG and JSON/ZIP alternatives and distinguish uploaded archive reading failure from general import failure. Aragonese wording needs native-speaker review.
2026-09-13 01:48:07 +03:00
Lauri Ojansivu 2a6d762509 Update translation audit progress for import-instruction repairs 2026-09-13 01:47:40 +03:00
Lauri Ojansivu 6c340f5507 Repair Aragonese import instructions and minicard labels
Preserve optional Trello attachment importer name, CSV/TSV formats and imported/unmatched counters. Aragonese wording needs native-speaker review.
2026-09-13 01:47:28 +03:00
Lauri Ojansivu bde506b296 Update translation audit progress for search and visibility repairs 2026-09-13 01:47:01 +03:00
Lauri Ojansivu 8e35e8bd32 Repair Aragonese search and checklist visibility labels
Preserve Google Cloud Storage product name and distinguish hiding checked items, finished checklists and minicard lists. Aragonese wording needs native-speaker review.
2026-09-13 01:46:49 +03:00
Lauri Ojansivu ad38bcf775 Update translation audit progress for font and storage fixes 2026-09-13 01:46:26 +03:00
Lauri Ojansivu c55646778a Repair Aragonese font and cloud-storage labels
Preserve font sample digits, service-account JSON format and literal Google Cloud navigation labels. Aragonese wording needs native-speaker review.
2026-09-13 01:46:14 +03:00
Lauri Ojansivu 28700c2825 Update translation audit progress for export-field repairs 2026-09-13 01:45:42 +03:00
Lauri Ojansivu af128180ef Repair Aragonese export fields and custom-field filters
Preserve five date categories and four people roles; retain shared export-monitoring vocabulary. Aragonese wording needs native-speaker review.
2026-09-13 01:45:30 +03:00
Lauri Ojansivu e1ebae6fed Update audit progress for Aragonese import-error repairs 2026-09-13 01:45:01 +03:00
Lauri Ojansivu 088af3ed0a Repair Aragonese import errors and checklist labels
Distinguish invalid JSON syntax from incorrect schema and preserve domain ownership and checklist expansion meaning. Aragonese wording needs native-speaker review.
2026-09-13 01:44:50 +03:00
Lauri Ojansivu 4c1bdfce83 Update translation audit progress for format-label repairs 2026-09-13 01:44:21 +03:00
Lauri Ojansivu 22d14745be Repair Aragonese email, zoom and CSV format labels
Retain valid template-variable hints and exact variable names; preserve zoom range and CSV/TSV failure meaning. Aragonese wording needs native-speaker review.
2026-09-13 01:44:10 +03:00
Lauri Ojansivu 3a2da49aee Update translation audit summary for invitation repairs 2026-09-13 01:43:40 +03:00
Lauri Ojansivu 9503b26b81 Repair Aragonese due-time and invitation wording
Preserve invitation tokens and registration-disabled condition; retain reviewed shared custom-translation vocabulary. Aragonese wording needs native-speaker review.
2026-09-13 01:43:29 +03:00
Lauri Ojansivu 0db273842e Record Aragonese repair progress and release notes 2026-09-13 01:42:55 +03:00
Lauri Ojansivu c8c6d082da Repair Aragonese import and action-choice labels
Distinguish import, export and avatar settings, label and member actions, and authentication display. Aragonese wording needs native-speaker review.
2026-09-13 01:42:37 +03:00
Lauri Ojansivu a8673bd7db Update translation repair summary for storage and export fixes 2026-09-13 01:42:07 +03:00
Lauri Ojansivu ff4a5087ae Repair Aragonese storage and export translations
Preserve storage-save confirmation, planning poker deletion and export scope. Aragonese wording needs native-speaker review.
2026-09-13 01:41:56 +03:00
Lauri Ojansivu 40f30f6671 Keep translation audit summary concise and clarify progress updates 2026-09-13 01:41:31 +03:00
Lauri Ojansivu 33a2e76e39 docs: record Aragonese database migration translation review 2026-09-13 01:39:20 +03:00
Lauri Ojansivu c01f6acde5 fix: review Aragonese database migration translations 2026-09-13 01:39:02 +03:00
Lauri Ojansivu 64946f849f docs: record Aragonese customization translation repairs 2026-09-13 01:38:28 +03:00
Lauri Ojansivu b66425851b fix: repair Aragonese customization settings labels 2026-09-13 01:38:12 +03:00
Lauri Ojansivu 85b95051c8 docs: record Aragonese migration and assetlinks translation repairs 2026-09-13 01:37:40 +03:00
Lauri Ojansivu 080a12bb59 fix: repair Aragonese migration controls and assetlinks labels 2026-09-13 01:37:21 +03:00
Lauri Ojansivu a2dded9795 docs: record Aragonese scheduled job status repairs 2026-09-13 01:36:41 +03:00
Lauri Ojansivu 982328e4ed fix: repair Aragonese scheduled job status translations 2026-09-13 01:36:23 +03:00
Lauri Ojansivu 47486c3998 docs: record Aragonese copy and creation order repairs 2026-09-13 01:35:43 +03:00
Lauri Ojansivu 803a3b73a9 fix: repair Aragonese copy actions and creation order labels 2026-09-13 01:35:21 +03:00
Lauri Ojansivu 6df3b9559b docs: record Aragonese checklist control translation repairs 2026-09-13 01:34:49 +03:00
Lauri Ojansivu fc0300f6bf fix: repair Aragonese checklist controls and comment confirmation 2026-09-13 01:34:29 +03:00
Lauri Ojansivu fd83f43b8a docs: record Aragonese minicard and calendar translation repairs 2026-09-13 01:33:53 +03:00
Lauri Ojansivu 3e13d751be fix: repair Aragonese minicard and calendar labels 2026-09-13 01:33:36 +03:00
Lauri Ojansivu 1d066ec497 docs: record Aragonese backup and attachment display repairs 2026-09-13 01:32:59 +03:00
Lauri Ojansivu 6385db4d7c fix: repair Aragonese backup and attachment display labels 2026-09-13 01:32:42 +03:00
Lauri Ojansivu e0e8e7064a docs: record Aragonese display and Azure translation repairs 2026-09-13 01:32:11 +03:00
Lauri Ojansivu 20496d28f9 fix: repair Aragonese display and Azure configuration labels 2026-09-13 01:31:53 +03:00
Lauri Ojansivu 9453dfb841 docs: record Aragonese attachment transfer translation repairs 2026-09-13 01:31:20 +03:00
Lauri Ojansivu ddc2da32ed fix: repair Aragonese attachment transfer labels 2026-09-13 01:31:04 +03:00
Lauri Ojansivu 96392764f2 docs: record Aragonese HTML placement translation repairs 2026-09-13 01:30:34 +03:00
Lauri Ojansivu 4cc1318fdd fix: repair Aragonese HTML placement and workspace translations 2026-09-13 01:30:15 +03:00
Lauri Ojansivu b0bfec0e87 Updated mirrors. 2026-09-13 01:30:06 +03:00
Lauri Ojansivu a3f3fc436f docs: record Aragonese custom field activity translation repairs 2026-09-13 01:29:44 +03:00
Lauri Ojansivu 78ee0d2e15 fix: repair Aragonese custom field and unchecked activity messages 2026-09-13 01:29:28 +03:00
Lauri Ojansivu 51203ed3ad docs: record Aragonese checklist activity translation repairs 2026-09-13 01:28:53 +03:00
Lauri Ojansivu b91faf1c68 fix: repair Aragonese checklist activity messages 2026-09-13 01:28:37 +03:00
Lauri Ojansivu 9dfe4e3b40 docs: record Aragonese scheduling translation repairs 2026-09-13 01:28:05 +03:00
Lauri Ojansivu f394a6290b fix: repair Aragonese scheduling and activity translations 2026-09-13 01:27:48 +03:00
Lauri Ojansivu b98d9b47c7 docs: record Aragonese time and accessibility translation repairs 2026-09-13 01:27:08 +03:00
Lauri Ojansivu dfc2c45d25 fix: repair Aragonese time activity and accessibility labels 2026-09-13 01:26:53 +03:00
Lauri Ojansivu 473401a83f docs: record Aragonese reactivity and memory translation review 2026-09-13 01:26:19 +03:00
Lauri Ojansivu 249249111c fix: repair Aragonese reactivity and spinner translations 2026-09-13 01:26:02 +03:00
Lauri Ojansivu 765b2070e3 docs: record Aragonese Node heap translation repairs 2026-09-13 01:25:26 +03:00
Lauri Ojansivu 72cf88d96b fix: repair Aragonese Node heap diagnostic translations 2026-09-13 01:25:10 +03:00
Lauri Ojansivu b3e26a9eee docs: record Aragonese database diagnostic translation review 2026-09-13 01:24:34 +03:00
Lauri Ojansivu 585e7df11a fix: repair Aragonese database diagnostics translations 2026-09-13 01:24:19 +03:00
Lauri Ojansivu 0623968742 docs: record Aragonese selector and spinner translation repairs 2026-09-13 01:23:47 +03:00
Lauri Ojansivu df2d21fa6b fix: repair Aragonese swimlane selector and spinner labels 2026-09-13 01:23:32 +03:00
Lauri Ojansivu e70a76e46e docs: record Aragonese archive and unsaved description repairs 2026-09-13 01:22:59 +03:00
Lauri Ojansivu eacbe7e32e fix: repair Aragonese archive and unsaved description labels 2026-09-13 01:22:42 +03:00
Lauri Ojansivu 13d33dfe88 docs: record Aragonese selection and mapping translation repairs 2026-09-13 01:22:12 +03:00
Lauri Ojansivu 154109217f fix: repair Aragonese board selection and member mapping labels 2026-09-13 01:21:55 +03:00
Lauri Ojansivu a58b2f08fb docs: record Aragonese board import and archive repairs 2026-09-13 01:21:24 +03:00
Lauri Ojansivu 5388ec494f fix: repair Aragonese board import and archive guidance 2026-09-13 01:21:08 +03:00
Lauri Ojansivu 6df901860d docs: record Aragonese storage and backup translation repairs 2026-09-13 01:20:37 +03:00
Lauri Ojansivu 245193f6e9 fix: repair Aragonese storage and backup guidance 2026-09-13 01:20:21 +03:00
Lauri Ojansivu 754d7a52fe Update mirrors 2026-09-13 01:19:54 +03:00
Lauri Ojansivu 2abc367806 docs: record Aragonese template and attachment translation repairs 2026-09-13 01:19:52 +03:00
Lauri Ojansivu 6881aac926 fix: repair Aragonese template and attachment settings labels 2026-09-13 01:19:35 +03:00
Lauri Ojansivu 55578fb997 docs: record Aragonese activity translation repairs 2026-09-13 01:19:05 +03:00
Lauri Ojansivu 2982ebf2c0 Updated mirrors. 2026-09-13 01:18:50 +03:00
Lauri Ojansivu de9c10e166 fix: repair Aragonese activity and reminder translations 2026-09-13 01:18:49 +03:00
Lauri Ojansivu 674e35f502 docs: record Aragonese calendar and account translation repairs 2026-09-13 01:18:17 +03:00
Lauri Ojansivu 4b503692e7 fix: repair Aragonese calendar and account lockout translations 2026-09-13 01:18:02 +03:00
Lauri Ojansivu cd7387e4b5 docs: record completion of flagged Asturian translation repairs 2026-09-13 01:17:25 +03:00
Lauri Ojansivu 6147f72f65 fix: repair Asturian advanced filter and Hijri calendar translations 2026-09-13 01:16:58 +03:00
Lauri Ojansivu b1aa64f25d docs: record Asturian WIP warning translation repairs 2026-09-13 01:16:22 +03:00
Lauri Ojansivu b71df946bf fix: repair Asturian WIP warnings and vote deletion text 2026-09-13 01:16:03 +03:00
Lauri Ojansivu effc49bc7f docs: record Asturian swimlane and administrator guidance repairs 2026-09-13 01:15:34 +03:00
Lauri Ojansivu 0acb00beb8 fix: repair Asturian swimlane and administrator guidance 2026-09-13 01:15:19 +03:00
Lauri Ojansivu 35f0b29a80 docs: record Asturian week and swimlane translation repairs 2026-09-13 01:14:47 +03:00
Lauri Ojansivu 0ec7a74a90 Update mirrors 2026-09-13 01:14:40 +03:00
Lauri Ojansivu c07df2902d fix: repair Asturian week and swimlane settings translations 2026-09-13 01:14:33 +03:00
Lauri Ojansivu 0bc7f99fe8 docs: record Asturian SMTP and calendar label repairs 2026-09-13 01:13:52 +03:00
Lauri Ojansivu 99188093d6 fix: repair Asturian SMTP and calendar display labels 2026-09-13 01:13:34 +03:00
Lauri Ojansivu d1e0e2fb04 docs: record Asturian sidebar and card display repairs 2026-09-13 01:13:03 +03:00
Lauri Ojansivu 2f949d4f87 fix: repair Asturian sidebar shortcuts and card display labels 2026-09-13 01:12:45 +03:00
Lauri Ojansivu a9f079f16f docs: record Asturian WIP and shortcut translation repairs 2026-09-13 01:12:14 +03:00
Lauri Ojansivu e4b3295f4c fix: repair Asturian WIP settings and shortcut labels 2026-09-13 01:12:00 +03:00
Lauri Ojansivu 54cee9e62a docs: record Asturian diagnostics translation repairs 2026-09-13 01:11:32 +03:00
Lauri Ojansivu ba9ec6b9dd fix: repair Asturian diagnostics and swimlane height labels 2026-09-13 01:11:17 +03:00
Lauri Ojansivu 8558bc8fac docs: record Asturian S3 translation repairs 2026-09-13 01:10:46 +03:00
Lauri Ojansivu e89f461ce6 fix: repair Asturian S3 configuration translations 2026-09-13 01:10:32 +03:00
Lauri Ojansivu 88dbc2d978 docs: record Asturian removal and restoration repairs 2026-09-13 01:10:03 +03:00
Lauri Ojansivu ad416a2e20 fix: repair Asturian removal and restoration translations 2026-09-13 01:09:49 +03:00
Lauri Ojansivu d76c9de758 docs: record Asturian checklist trigger translation repairs 2026-09-13 01:09:21 +03:00
Lauri Ojansivu 20b9b14e13 fix: repair Asturian checklist trigger translations 2026-09-13 01:09:08 +03:00
Lauri Ojansivu 1d3cb5ec94 docs: record Asturian checklist rule translation repairs 2026-09-13 01:08:40 +03:00
Lauri Ojansivu e0a803e38e fix: repair Asturian checklist rule actions 2026-09-13 01:08:25 +03:00
Lauri Ojansivu 441d9cf844 docs: record Asturian upload help and matching note repairs 2026-09-13 01:07:58 +03:00
Lauri Ojansivu 3378009386 fix: repair Asturian upload help and rule matching notes 2026-09-13 01:07:43 +03:00
Lauri Ojansivu af265c7656 docs: record Asturian validation and access message repairs 2026-09-13 01:07:10 +03:00
Lauri Ojansivu 8147538b87 fix: repair Asturian search validation and access messages 2026-09-13 01:06:57 +03:00
Lauri Ojansivu dc73ba9b75 docs: record Asturian checklist creation translation repairs 2026-09-13 01:06:23 +03:00
Lauri Ojansivu cddc1d83a4 fix: repair Asturian checklist creation and archive labels 2026-09-13 01:06:08 +03:00
Lauri Ojansivu b012a2877a docs: record Asturian migration and storage translation repairs 2026-09-13 01:05:37 +03:00
Lauri Ojansivu 8d4dec7e5c fix: repair Asturian migration and storage translations 2026-09-13 01:05:24 +03:00
Lauri Ojansivu 0397939580 docs: record Asturian list and migration translation repairs 2026-09-13 01:04:56 +03:00
Lauri Ojansivu 56bc96c6a8 fix: repair Asturian list and migration status translations 2026-09-13 01:04:41 +03:00
Lauri Ojansivu 1071536709 docs: record Asturian import and deletion warning repairs 2026-09-13 01:04:13 +03:00
Lauri Ojansivu eb7f1a43eb fix: repair Asturian import and deletion warnings 2026-09-13 01:04:00 +03:00
Lauri Ojansivu 803a571535 docs: record Asturian visibility and import help repairs 2026-09-13 01:03:29 +03:00
Lauri Ojansivu de737d28f3 fix: repair Asturian checklist visibility and CSV help 2026-09-13 01:03:16 +03:00
Lauri Ojansivu 6da7e93ef6 docs: record Asturian search instruction translation repairs 2026-09-13 01:02:47 +03:00
Lauri Ojansivu 6e5f18691a fix: repair Asturian search instructions and filter translations 2026-09-13 01:02:34 +03:00
Lauri Ojansivu f58836825c docs: record Asturian access and filter translation repairs 2026-09-13 01:02:01 +03:00
Lauri Ojansivu 4e54386a0a fix: repair Asturian access errors and filter translations 2026-09-13 01:01:49 +03:00
Lauri Ojansivu 123a8aece2 docs: record Asturian validation translation repairs 2026-09-13 01:01:21 +03:00
Lauri Ojansivu b0a65c1a73 fix: repair Asturian validation and display translations 2026-09-13 01:01:07 +03:00
Lauri Ojansivu 620e4bba24 docs: record Asturian email template translation repairs 2026-09-13 01:00:40 +03:00
Lauri Ojansivu 472676d3b0 fix: repair Asturian email template translations 2026-09-13 01:00:28 +03:00
Lauri Ojansivu d0f741fa49 docs: record Asturian voting and email translation repairs 2026-09-13 00:59:59 +03:00
Lauri Ojansivu f4ceeed39f fix: repair Asturian voting and email translations 2026-09-13 00:59:45 +03:00
Lauri Ojansivu 9ea528de1d docs: record Asturian date popup translation repairs 2026-09-13 00:59:16 +03:00
Lauri Ojansivu 6cac2fbe28 fix: repair Asturian date and action popup translations 2026-09-13 00:59:04 +03:00
Lauri Ojansivu 1fb3aafa16 docs: record Asturian deletion translation audit progress 2026-09-13 00:58:27 +03:00
Lauri Ojansivu b4091f5214 fix: repair Asturian deletion and administration translations 2026-09-13 00:58:14 +03:00
Lauri Ojansivu aa836525bd docs: update Asturian branding translation audit progress 2026-09-13 00:57:46 +03:00
Lauri Ojansivu 572172c23b fix: repair Asturian sort order and branding translations 2026-09-13 00:57:33 +03:00
Lauri Ojansivu 75c88ee221 docs: record Asturian checklist translation repairs 2026-09-13 00:57:03 +03:00
Lauri Ojansivu 7a3f3c07fa fix: repair Asturian checklist and clipboard actions 2026-09-13 00:56:51 +03:00
Lauri Ojansivu c4af92bcb8 docs: update Asturian popup translation audit progress 2026-09-13 00:56:22 +03:00
Lauri Ojansivu 0b2904bdf4 fix: repair Asturian popup and clipboard translations 2026-09-13 00:56:10 +03:00
Lauri Ojansivu fef64e9be9 docs: record Asturian translation repair progress 2026-09-13 00:55:31 +03:00
Lauri Ojansivu dacbe7416f fix: repair Asturian attachment and list display translations 2026-09-13 00:55:13 +03:00
Lauri Ojansivu 5eb9b710aa docs: refresh concise translation audit progress summary 2026-09-13 00:54:47 +03:00
Lauri Ojansivu f2d3129f61 docs: record Asturian HTML placement and warning repairs 2026-09-13 00:52:57 +03:00
Lauri Ojansivu 29f806de02 fix: repair Asturian HTML placement and loading warnings 2026-09-13 00:52:46 +03:00
Lauri Ojansivu 85291e10e3 docs: record Asturian date and custom field translation repairs 2026-09-13 00:52:21 +03:00
Lauri Ojansivu 4adf79a4d2 fix: repair Asturian date and custom field activity labels 2026-09-13 00:52:10 +03:00
Lauri Ojansivu a5830e2bc8 docs: record Asturian checklist activity translation repairs 2026-09-13 00:51:41 +03:00
Lauri Ojansivu e986219416 fix: repair Asturian checklist activity labels 2026-09-13 00:51:29 +03:00
Lauri Ojansivu 66d38c5115 docs: record Asturian date activity translation progress 2026-09-13 00:50:59 +03:00
Lauri Ojansivu 611cdd816b fix: review Asturian date activity and accessibility messages 2026-09-13 00:50:48 +03:00
Lauri Ojansivu e53fde6249 docs: record Asturian diagnostics and date translation review 2026-09-13 00:50:18 +03:00
Lauri Ojansivu 9a9a411ab4 fix: review Asturian diagnostics and date change messages 2026-09-13 00:50:07 +03:00
Lauri Ojansivu 75ee6be992 docs: record Asturian export and warning translation repairs 2026-09-13 00:49:39 +03:00
Lauri Ojansivu d11f7da3a4 fix: repair Asturian export restrictions and unsaved warnings 2026-09-13 00:49:27 +03:00
Lauri Ojansivu 0f1eb6b184 docs: record Asturian display and text trigger repairs 2026-09-13 00:49:02 +03:00
Lauri Ojansivu 06c625c1c1 fix: repair Asturian display and text trigger translations 2026-09-13 00:48:52 +03:00
Lauri Ojansivu 00933255be docs: record Asturian shortcut and count translation repairs 2026-09-13 00:48:23 +03:00
Lauri Ojansivu f3661b1232 fix: repair Asturian shortcut and card count labels 2026-09-13 00:48:13 +03:00
Lauri Ojansivu 7a1b69bbd7 docs: record Asturian recovery and storage translation repairs 2026-09-13 00:47:43 +03:00
Lauri Ojansivu 5d1b43f99e fix: repair Asturian recovery and storage setting messages 2026-09-13 00:47:23 +03:00
Lauri Ojansivu a059454069 docs: record Asturian rule and membership translation repairs 2026-09-13 00:46:58 +03:00
Lauri Ojansivu 478fdefe26 fix: repair Asturian rule positions and member removal warnings 2026-09-13 00:46:48 +03:00
Lauri Ojansivu 048022d6e5 docs: record Asturian public board and invitation repairs 2026-09-13 00:46:22 +03:00
Lauri Ojansivu afc9694cdf fix: repair Asturian public board and invitation messages 2026-09-13 00:46:11 +03:00
Lauri Ojansivu 335cbe4c81 docs: record Asturian notification and permission repairs 2026-09-13 00:45:44 +03:00
Lauri Ojansivu 6820358a1e fix: repair Asturian notification and normal user permissions 2026-09-13 00:45:33 +03:00
Lauri Ojansivu f529344ef2 docs: record Asturian member mapping translation repairs 2026-09-13 00:45:07 +03:00
Lauri Ojansivu 7c8dc55912 fix: repair Asturian member mapping and storage messages 2026-09-13 00:44:57 +03:00
Lauri Ojansivu 8bf61169e2 docs: record Asturian label and list archive repairs 2026-09-13 00:44:31 +03:00
Lauri Ojansivu 2adbe678f7 fix: repair Asturian label and list archive translations 2026-09-13 00:44:17 +03:00
Lauri Ojansivu 067fe99fc3 docs: record Asturian import mapping translation repairs 2026-09-13 00:43:48 +03:00
Lauri Ojansivu 1b7d2be790 fix: repair Asturian import mapping and keyboard messages 2026-09-13 00:43:38 +03:00
Lauri Ojansivu 79cdd74304 docs: record Asturian search scope and time tracking repairs 2026-09-13 00:43:10 +03:00
Lauri Ojansivu 3774b2bb0b fix: repair Asturian search scope and time tracking translations 2026-09-13 00:42:59 +03:00
Lauri Ojansivu a77125bc60 docs: record Asturian search operator translation repairs 2026-09-13 00:42:34 +03:00
Lauri Ojansivu f7560b4212 fix: repair Asturian search operator descriptions 2026-09-13 00:42:23 +03:00
Lauri Ojansivu 93f231f380 docs: record Asturian filter and search translation repairs 2026-09-13 00:41:55 +03:00
Lauri Ojansivu 835c560da7 fix: repair Asturian filter and search instructions 2026-09-13 00:41:46 +03:00
Lauri Ojansivu 92c348ea46 docs: record Asturian email and permission translation repairs 2026-09-13 00:41:15 +03:00
Lauri Ojansivu d03be9d5ae fix: repair Asturian email and board permission translations 2026-09-13 00:41:05 +03:00
Lauri Ojansivu 5c42166dc6 docs: record Asturian invitation translation repairs 2026-09-13 00:40:40 +03:00
Lauri Ojansivu 539a4a2552 fix: repair Asturian invitation and due card translations 2026-09-13 00:40:29 +03:00
Lauri Ojansivu b97e07d416 docs: record Asturian custom field and deletion repairs 2026-09-13 00:39:55 +03:00
Lauri Ojansivu d82b649d76 fix: repair Asturian custom field and deletion warnings 2026-09-13 00:39:44 +03:00
Lauri Ojansivu a55a91bbfe docs: record Asturian template and comment translation repairs 2026-09-13 00:39:17 +03:00
Lauri Ojansivu bdca82efc7 fix: repair Asturian template copy and comment settings 2026-09-13 00:39:06 +03:00
Lauri Ojansivu 3b674445ad docs: record Asturian sorting and favorite translation repairs 2026-09-13 00:38:41 +03:00
Lauri Ojansivu ec2e3728ba fix: repair Asturian sorting and favorite controls 2026-09-13 00:38:28 +03:00
Lauri Ojansivu bd9dff7bc0 docs: record Asturian card archive and deletion repairs 2026-09-13 00:38:04 +03:00
Lauri Ojansivu f6e01322db fix: repair Asturian card archive and deletion translations 2026-09-13 00:37:54 +03:00
Lauri Ojansivu 04f9b56fc2 docs: record Asturian board visibility translation repairs 2026-09-13 00:37:27 +03:00
Lauri Ojansivu 9f5d34bf83 fix: repair Asturian board visibility and popup titles 2026-09-13 00:37:17 +03:00
Lauri Ojansivu d7bc7fda04 docs: record Asturian board scheduling translation repairs 2026-09-13 00:36:49 +03:00
Lauri Ojansivu 3a39c60ce5 fix: repair Asturian board scheduling and deletion warnings 2026-09-13 00:36:39 +03:00
Lauri Ojansivu e32d5a13d2 docs: record Asturian user state and board setting repairs 2026-09-13 00:36:12 +03:00
Lauri Ojansivu eaa4987eff fix: repair Asturian user states and board settings translations 2026-09-13 00:36:02 +03:00
Lauri Ojansivu 5894baa124 docs: record Asturian creation label translation repairs 2026-09-13 00:35:35 +03:00
Lauri Ojansivu ee6e12bced fix: repair Asturian card and checklist creation labels 2026-09-13 00:35:25 +03:00
Lauri Ojansivu 49c119be44 docs: record Asturian restoration and checklist translation repairs 2026-09-13 00:35:01 +03:00
Lauri Ojansivu 942ed9d1ff fix: repair Asturian restoration and checklist state translations 2026-09-13 00:34:49 +03:00
Lauri Ojansivu 1a5788b04a docs: record Asturian movement and removal translation repairs 2026-09-13 00:34:23 +03:00
Lauri Ojansivu e54072ee19 fix: repair Asturian movement and removal translations 2026-09-13 00:34:13 +03:00
Lauri Ojansivu 7c278d6aa8 docs: record Asturian creation and comment translation repairs 2026-09-13 00:33:45 +03:00
Lauri Ojansivu 5c98005ffd fix: repair Asturian creation and comment activity translations 2026-09-13 00:33:34 +03:00
Lauri Ojansivu 32d112b70c docs: record Asturian activity translation repairs 2026-09-13 00:33:02 +03:00
Lauri Ojansivu c78a3f30eb fix: repair Asturian activity translations 2026-09-13 00:32:54 +03:00
Lauri Ojansivu f2939f1079 docs: record Asturian account protection translation progress 2026-09-13 00:32:22 +03:00
Lauri Ojansivu 98773de936 fix: repair Asturian account protection translations 2026-09-13 00:32:12 +03:00
Lauri Ojansivu 1423d1dcd6 docs: record completion of flagged base Galician review 2026-09-13 00:31:43 +03:00
Lauri Ojansivu 0fcfb0e591 fix: finish flagged base Galician translation review 2026-09-13 00:31:25 +03:00
Lauri Ojansivu 60b43f5b74 docs: record completion of flagged Galician regional repairs 2026-09-13 00:30:48 +03:00
Lauri Ojansivu 3de5b15ca2 fix: finish flagged Galician regional translation repairs 2026-09-13 00:30:32 +03:00
Lauri Ojansivu c591f6044d docs: record Galician S3 and troubleshooting translation repairs 2026-09-13 00:30:02 +03:00
Lauri Ojansivu 1b06f4cb7e fix: repair Galician regional S3 and troubleshooting translations 2026-09-13 00:29:47 +03:00
Lauri Ojansivu a709e3b963 docs: record Galician migration limits and monitoring translation repairs 2026-09-13 00:29:17 +03:00
Lauri Ojansivu bb288913e0 fix: repair Galician regional migration limits and monitoring messages 2026-09-13 00:29:03 +03:00
Lauri Ojansivu 0023fccb82 docs: record Galician search and import translation repairs 2026-09-13 00:28:39 +03:00
Lauri Ojansivu 5fe2d75a23 fix: repair Galician regional search and import translations 2026-09-13 00:28:25 +03:00
Lauri Ojansivu 2539cc63ff docs: record Galician email and export translation repairs 2026-09-13 00:27:59 +03:00
Lauri Ojansivu 427d86c04c fix: repair Galician regional email and export translations 2026-09-13 00:27:44 +03:00
Lauri Ojansivu 93482e8aa7 docs: record Galician customization and migration translation repairs 2026-09-13 00:27:19 +03:00
Lauri Ojansivu 415883c9fa fix: repair Galician regional customization and migration translations 2026-09-13 00:27:04 +03:00
Lauri Ojansivu 63331f2dc5 docs: record Galician storage and scheduled job translation repairs 2026-09-13 00:26:40 +03:00
Lauri Ojansivu b2cdec01e9 fix: repair Galician regional storage and scheduled job translations 2026-09-13 00:26:23 +03:00
Lauri Ojansivu e771bfbdfe docs: record Galician activity and administration translation repairs 2026-09-13 00:25:54 +03:00
Lauri Ojansivu 2f6e6884e1 fix: repair Galician regional activities and administration translations 2026-09-13 00:25:40 +03:00
Lauri Ojansivu 6768de2a34 docs: record Galician account protection and date translation repairs 2026-09-13 00:25:14 +03:00
Lauri Ojansivu da98201307 fix: repair Galician regional account protection and date messages 2026-09-13 00:25:00 +03:00
Lauri Ojansivu 2dacc12d77 docs: record Galician account and diagnostics translation repairs 2026-09-13 00:24:35 +03:00
Lauri Ojansivu 60364ccc13 fix: repair Galician regional account and memory diagnostics translations 2026-09-13 00:24:20 +03:00
Lauri Ojansivu 5669a7d43d docs: record Galician display and swimlane translation repairs 2026-09-13 00:23:53 +03:00
Lauri Ojansivu 767bbcd84e fix: repair Galician regional display and swimlane translations 2026-09-13 00:23:38 +03:00
Lauri Ojansivu b6b6abe221 docs: record Galician migration confirmation translation repairs 2026-09-13 00:23:15 +03:00
Lauri Ojansivu 70864992f2 fix: repair Galician regional migration confirmations and controls 2026-09-13 00:23:01 +03:00
Lauri Ojansivu 0db18ddfc8 docs: record Galician rules and recovery translation repairs 2026-09-13 00:22:43 +03:00
Lauri Ojansivu 548be4c4de Added bitbucket mirror.
Thanks to bitbucket !
2026-09-13 00:21:53 +03:00
Lauri Ojansivu d05f421760 fix: repair Galician regional rules and recovery translations 2026-09-13 00:17:18 +03:00
Lauri Ojansivu 63d367e730 docs: record Galician visibility and notification translation repairs 2026-09-13 00:16:54 +03:00
Lauri Ojansivu 03b8a8a4fd fix: repair Galician regional visibility and notification translations 2026-09-13 00:16:39 +03:00
Lauri Ojansivu 8dedda581b docs: record Galician migration and attachment translation repairs 2026-09-13 00:16:17 +03:00
Lauri Ojansivu 97124a0d4e fix: repair Galician regional migration and attachment translations 2026-09-13 00:16:03 +03:00
Lauri Ojansivu 2a1547cae5 docs: record Galician membership and list translation repairs 2026-09-13 00:15:40 +03:00
Lauri Ojansivu c5429b159d fix: repair Galician regional list and membership translations 2026-09-13 00:15:27 +03:00
Lauri Ojansivu 2762156c8c docs: shorten translation audit progress summary 2026-09-13 00:15:01 +03:00
Lauri Ojansivu 6e06ced2a3 Update short translation audit after Galician credential repairs 2026-09-13 00:13:06 +03:00
Lauri Ojansivu d98e80bb30 Repair Galician regional credentials and label deletion warnings 2026-09-13 00:12:52 +03:00
Lauri Ojansivu 2aaf681374 Update short translation audit after Galician import repairs 2026-09-13 00:12:31 +03:00
Lauri Ojansivu 5e89d53cf9 Repair Galician regional import and checked item instructions 2026-09-13 00:12:18 +03:00
Lauri Ojansivu 115e004b58 Update short translation audit after Galician visibility repairs 2026-09-13 00:11:54 +03:00
Lauri Ojansivu 9100900db9 Repair Galician regional time filters and checklist visibility 2026-09-13 00:11:41 +03:00
Lauri Ojansivu 8a44b457ee Update short translation audit after Galician search status repairs 2026-09-13 00:11:19 +03:00
Lauri Ojansivu 4b6fcaa8c1 Repair Galician regional search status and all board search title 2026-09-13 00:11:06 +03:00
Lauri Ojansivu 93dd4af932 Update short translation audit after Galician board scope repairs 2026-09-13 00:10:44 +03:00
Lauri Ojansivu 10cc133fe9 Repair Galician regional board scoped search operators 2026-09-13 00:10:30 +03:00
Lauri Ojansivu 4694449354 Update short translation audit after Galician operator limit repairs 2026-09-13 00:10:08 +03:00
Lauri Ojansivu 3c142fa6cf Repair Galician regional search day limits and existence predicates 2026-09-13 00:09:54 +03:00
Lauri Ojansivu e5052b1535 Update short translation audit after Galician search condition repairs 2026-09-13 00:09:29 +03:00
Lauri Ojansivu 0f299014cb Repair Galician regional search conditions and operator descriptions 2026-09-13 00:09:13 +03:00
Lauri Ojansivu 7fb44d3f7e Update short translation audit after Galician search repairs 2026-09-13 00:08:51 +03:00
Lauri Ojansivu 068f54dc2f Repair Galician regional search and migration descriptions 2026-09-13 00:08:38 +03:00
Lauri Ojansivu 6ec17537d9 Update short translation audit after Galician validation repairs 2026-09-13 00:08:17 +03:00
Lauri Ojansivu 9adbfda106 Repair Galician regional JSON validation and Excel export messages 2026-09-13 00:08:02 +03:00
Lauri Ojansivu 17482e801b Update short translation audit after Galician invitation repairs 2026-09-13 00:07:42 +03:00
Lauri Ojansivu db4c2bdd9b Repair Galician regional invitations and board permission errors 2026-09-13 00:07:29 +03:00
Lauri Ojansivu 10307d3ca0 Update translation audit progress and current correction links 2026-09-13 00:07:05 +03:00
Lauri Ojansivu e80df7de02 Repair Galician regional due card permissions and account deletion warnings 2026-09-13 00:06:51 +03:00
Lauri Ojansivu 984e1bd13f CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-13 00:06:43 +03:00
Lauri Ojansivu 3b4ef69b22 Update short translation audit after Galician deletion safeguard repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 377370367f Repair Galician regional deletion safeguards and confirmations 2026-09-13 00:06:29 +03:00
Lauri Ojansivu cf598dc379 Update short translation audit after Galician template repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 43e16f0128 Repair Galician regional template copying and custom field warnings 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 5a3afb330b Update short translation audit after Galician conversion repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu dccb9b9b83 Repair Galician regional conversion and checklist copy messages 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 650f303d3f Update short translation audit after Galician comment control repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu fee4a4b23c Repair Galician regional checklist and comment permission controls 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 40b68f3f82 Update short translation audit after Galician card deletion repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu be7fa49a27 Repair Galician regional card deletion and assignee messages 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 9173e8d1b0 Update short translation audit after Galician board control repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 837c590a60 Repair Galician regional board assignee and card archive messages 2026-09-13 00:06:29 +03:00
Lauri Ojansivu c5497100c9 Update short translation audit after Galician scheduling repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 99f5360732 Repair Galician regional board scheduling and deletion messages 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 9bae6699f1 Update short translation audit after Galician attachment setting repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 134d8c6dd0 Repair Galician regional attachment and board archive settings 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 9e2506aa37 Update short translation audit after Galician archive control repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 953b85ba9f Repair Galician regional user status and archive controls 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 11f2e56eee Update short translation audit after Galician creation control repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu d4bc1452ec Repair Galician regional creation controls and administrator description 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 21d6667e1c Update dated translation audit after Galician card placement repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 1d133f6d65 Repair Galician regional checklist and card placement messages 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 1c9954639a Update short translation audit after Galician checklist state repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 04e1099334 Repair Galician regional checklist state activity translations 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 52e77cd3ff Update short translation audit after Galician move activity repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu ccd597b9a1 Repair Galician regional move and removal activity translations 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 069cde438e Update short translation audit after Galician creation activity repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu ce40c66be5 Repair Galician regional creation deletion and import activity translations 2026-09-13 00:06:29 +03:00
Lauri Ojansivu b6bbde06fa Update short translation audit after Galician activity repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 4ee07e41b0 Repair Galician regional archive and checklist activity translations 2026-09-13 00:06:29 +03:00
Lauri Ojansivu b072543d5d Update short translation audit after Galician regional repairs 2026-09-13 00:06:29 +03:00
Lauri Ojansivu 1b11ec4f37 Replace Portuguese lockout and activity wording with reviewed Galician translations 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 0856a397a5 Record completion of flagged Slovenian translation queues 2026-09-13 00:06:28 +03:00
Lauri Ojansivu dcd2b68150 Finish flagged Slovenian translation repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu eeabb6794c Update short translation audit after Slovenian shortcut repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 72f95b7083 Repair Slovenian shortcut instructions and export restrictions 2026-09-13 00:06:28 +03:00
Lauri Ojansivu c4db79b9ce Update short translation audit after Slovenian support repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 6c6e567d37 Repair Slovenian support scope and swimlane validation messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 96ad223ae5 Update short translation audit after Slovenian migration step repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu d868269220 Repair Slovenian migration step terminology 2026-09-13 00:06:28 +03:00
Lauri Ojansivu d999496ae9 Update short translation audit after Slovenian display repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 72bf36cf43 Repair Slovenian board display and field sum controls 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 29c0248f78 Update short translation audit after Slovenian troubleshooting repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 5aab614c48 Repair Slovenian search scope and troubleshooting instructions 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 4761de5dd3 Update short translation audit after Slovenian S3 configuration repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 165b6bde50 Repair Slovenian S3 configuration and backup scheduling labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu de3d0d039c Update short translation audit after Slovenian confirmation repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 41bde7259b Repair Slovenian migration confirmations and S3 labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu a15076c5ec Update short translation audit after Slovenian restoration repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 396eef7189 Repair Slovenian restoration and unsaved description messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu d9365e6c47 Update short translation audit after Slovenian permission repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 0b61362da1 Repair Slovenian read permissions and action warnings 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 58756e5b47 Update short translation audit after Slovenian validation repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu c87fab15d0 Repair Slovenian permission and search validation messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu fde9f7f029 Update short translation audit after Slovenian card view repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 8608a6524b Repair Slovenian card views and multi selection messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu faef2168a6 Update short translation audit after Slovenian attachment move repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 21b6a673fb Repair Slovenian migration permissions and attachment move scope 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 74a6b83cac Update short translation audit after Slovenian migration status repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 25e6b0f917 Repair Slovenian migration status and browser guidance 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 325f27eaeb Update short translation audit after Slovenian storage repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 1220d61867 Repair Slovenian storage migration limits and upload labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 410ca9b462 Update short translation audit after Slovenian import repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu c54dc69c18 Repair Slovenian import and invitation instructions 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 21deccfc4e Update short translation audit after Slovenian status repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 6d795593f0 Repair Slovenian search status and checklist visibility messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 36f46cdb4b Update short translation audit after Slovenian operator repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu cabc9c93ef Repair Slovenian search operator descriptions and examples 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 87077ba128 Update short translation audit after Slovenian search repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu f801e3f324 Repair Slovenian search instructions and file URL migration messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu ee390350c0 Update short translation audit after Slovenian filter repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu cacb6a910f Repair Slovenian due card filters and vote date messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 3db4d381c0 Record Slovenian deletion repairs in short translation audit 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 234c360625 Repair Slovenian deletion safeguards and custom logo translations 2026-09-13 00:06:28 +03:00
Lauri Ojansivu e115989ad2 Update concise translation audit after Slovenian migration repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu e0ff5f86d2 Repair Slovenian migration messages and string template placeholder 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 822074396a Update short translation audit after Slovenian board repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu e57c76c363 Fix Slovenian board and checklist translations and retain valid Azure labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu e783842553 Record Slovenian repairs in concise translation audit summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu c7b7fa48b8 Repair Slovenian user permissions and attachment translations 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 7c1260d390 Update concise translation audit progress after Slovenian repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 2865c4f732 Fix Slovenian date activity and scheduled job translations 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 82399813fe Update Slovenian lockout translation repair summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu e83aeb7fac Repair Slovenian lockout status and mention messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu b45a92da85 Update Slovenian account translation repair summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 08767492a3 Repair Slovenian accessibility and account protection messages 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 6bd73e3a57 Update Slovenian memory translation repair summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu c3227b0219 Repair Slovenian memory metrics and retain valid reactivity labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 7fd814e982 Update Slovenian translation repair summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 494b42c986 Repair Slovenian wait indicators and memory labels 2026-09-13 00:06:28 +03:00
Lauri Ojansivu d32715d014 Record Bosnian audit queue completion 2026-09-13 00:06:28 +03:00
Lauri Ojansivu a9d0e4ebd4 Finish flagged Bosnian translation repairs 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 5bec579c65 Update migration step translation repair summary 2026-09-13 00:06:28 +03:00
Lauri Ojansivu ada3af19c2 Repair Bosnian migration steps and starred board help 2026-09-13 00:06:28 +03:00
Lauri Ojansivu 1224eb711c Update minicard translation repair summary 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 79d7fe500b Repair Bosnian minicard display and field sum labels 2026-09-13 00:06:27 +03:00
Lauri Ojansivu d2228faaae Update translation search and display repair summary 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 1b9f93cbc5 Repair Bosnian search scope and swimlane controls 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 418edea4fa Update S3 translation repair summary 2026-09-13 00:06:27 +03:00
Lauri Ojansivu f85e912adf Repair Bosnian S3 settings and backup translations 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 08db469fdb Update translation restoration repair summary 2026-09-13 00:06:27 +03:00
Lauri Ojansivu a1fbf5932a Repair Bosnian restoration warnings and S3 labels 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 8ed38329a3 Update concise translation repair summary 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 1b835520a5 Repair Bosnian recovery and migration confirmations 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 424425a099 Keep translation audit summary short and retain detailed evidence 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 14e12d1d9c Repair Bosnian read-only and member removal translations 2026-09-13 00:06:27 +03:00
Lauri Ojansivu a61e46349c Record Bosnian rule translation repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu d416ceceae Repair Bosnian rule actions and assigned read role 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 52bb401d8e Record Bosnian board permission repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 46772a9865 Repair Bosnian board visibility and rule guidance 2026-09-13 00:06:27 +03:00
Lauri Ojansivu cc08b31701 Record Bosnian validation translation repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 765ec8f9de Repair Bosnian query validation and notification messages 2026-09-13 00:06:27 +03:00
Lauri Ojansivu efa094d72b Record Bosnian card view translation repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 1629b780b2 Repair Bosnian My Cards and role descriptions 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 0dc0e7fb20 Record Bosnian movement translation repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 5f8e5f9a27 Repair Bosnian attachment movement and migration permissions 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 3fa0d322ec Record Bosnian migration outcome repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 4f256268d6 Repair Bosnian migration outcomes and browser warnings 2026-09-13 00:06:27 +03:00
Lauri Ojansivu a627f1950d Record Bosnian migration limit repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu ee612082c3 Repair Bosnian migration limits and storage labels 2026-09-13 00:06:27 +03:00
Lauri Ojansivu 645f10cdea Record Bosnian keyboard translation repair progress 2026-09-13 00:06:27 +03:00
Lauri Ojansivu a2ae2424b9 Repair Bosnian keyboard toggles and list deletion messages 2026-09-13 00:06:26 +03:00
Lauri Ojansivu a4b861f5a5 Record Bosnian import translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 7f1fcba795 Repair Bosnian board import and member mapping help 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 1fba33b801 Record Bosnian visibility translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 6a97ff0b6b Repair Bosnian GridFS and checklist visibility translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 3a57ccac3f Record Bosnian search status repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu e33acd0523 Repair Bosnian search status and assignment translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 2bc885d759 Record Bosnian search operator repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu abd8c53dd3 Repair Bosnian search operator translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 593f575ccd Record Bosnian search translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 4cca1809ad Repair Bosnian migration and global search help 2026-09-13 00:06:26 +03:00
Lauri Ojansivu e381f1b29c Record Bosnian file translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 172413419c Repair Bosnian file URL help and filter translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 38a602a98b Record Bosnian email translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 705fbcf574 Repair Bosnian invitation emails and due card controls 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 572da7f1bc Record Bosnian deletion restriction repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu c08f60d0a1 Repair Bosnian duplicate list and deletion restrictions 2026-09-13 00:06:26 +03:00
Lauri Ojansivu ae86531ec5 Record Bosnian deletion translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 4dbfcd59ea Repair Bosnian deletion warnings and custom URL translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 6af4e87d90 Record Bosnian scheduled job translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 8ee99e1e93 Repair Bosnian creation dates and scheduled job translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu b6881e5e6e Record Bosnian checklist translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 803b62c2d6 Repair Bosnian checklist and card access translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu f9e96b86d3 Record Bosnian board translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 6a959f3a60 Repair Bosnian board scheduling and settings translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu c9ab6beac1 Record Bosnian storage translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 2a4f699e4d Repair Bosnian attachment storage and avatar translations 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 7fd77d7e02 Record Bosnian administration translation repair progress 2026-09-13 00:06:26 +03:00
Lauri Ojansivu 47b2d6b12c Repair Bosnian administration and workspace translations 2026-09-13 00:06:25 +03:00
Lauri Ojansivu 10fedada0c Merge pull request #6690 from wekan/dependabot/npm_and_yarn/tests/playwright/playwright/test-1.63.0
Bump @playwright/test from 1.62.1 to 1.63.0 in /tests/playwright
2026-09-12 23:57:56 +03:00
dependabot[bot] a15b065b56 Bump @playwright/test from 1.62.1 to 1.63.0 in /tests/playwright
Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.62.1 to 1.63.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.62.1...v1.63.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.63.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-12 20:32:52 +00:00
Lauri Ojansivu b999e21aaa Document evidence for local translation error provenance 2026-09-12 23:09:46 +03:00
Lauri Ojansivu fe8483cd71 Record Bosnian date translation repair progress 2026-09-12 23:08:15 +03:00
Lauri Ojansivu ca539fbe78 Repair Bosnian date activities and reminders 2026-09-12 23:08:00 +03:00
Lauri Ojansivu d3127919fa Record Bosnian account translation repair progress 2026-09-12 23:07:19 +03:00
Lauri Ojansivu 24a1d388cd Repair Bosnian account lockout translations 2026-09-12 23:07:04 +03:00
Lauri Ojansivu f4b966d37e Record Bosnian translation repair progress 2026-09-12 23:06:28 +03:00
Lauri Ojansivu 48b6b1bb2a Repair Bosnian memory, wait indicators and accessibility translations 2026-09-12 23:06:14 +03:00
Lauri Ojansivu 413ce99b2d Record Croatian audit completion and current repair totals 2026-09-12 23:05:24 +03:00
Lauri Ojansivu 0c5a561c82 Finish flagged Croatian translation repairs 2026-09-12 23:05:02 +03:00
Lauri Ojansivu 55cc7e21d3 Record Croatian step repairs and audit progress
Document dated fixes and remaining counts with access and entity regressions.

Thanks to xet7 !
2026-09-12 23:02:37 +03:00
Lauri Ojansivu 2019869c7a Repair Croatian migration steps and support access labels
Correct 20 reviewed values, restoring migration entity names, starred-board ordering, subtask actions and logged-in support scope.

Thanks to xet7 !
2026-09-12 23:02:20 +03:00
Lauri Ojansivu ac384f5727 Record Croatian display repairs and audit progress
Document dated fixes and remaining counts with display-meaning regressions.

Thanks to xet7 !
2026-09-12 23:01:53 +03:00
Lauri Ojansivu 13200137af Repair Croatian swimlane and minicard display controls
Correct 16 reviewed values, preserving pixel units, field sums, assignment filters and card-count scope.

Thanks to xet7 !
2026-09-12 23:01:30 +03:00
Lauri Ojansivu 1f9301aafa Record Croatian S3 repairs and audit progress
Document dated fixes and remaining counts with storage and search regressions.

Thanks to xet7 !
2026-09-12 23:01:06 +03:00
Lauri Ojansivu 6de9e9203a Repair Croatian S3 and search settings
Correct 16 reviewed values. Preserve MinIO, endpoint and region examples, search scope and literal troubleshooting commands.

Thanks to xet7 !
2026-09-12 23:00:48 +03:00
Lauri Ojansivu 5a14fa506c Record Croatian recovery scope repairs and audit progress
Document dated fixes and remaining counts with recovery and warning regressions.

Thanks to xet7 !
2026-09-12 23:00:22 +03:00
Lauri Ojansivu c5452ab2a2 Repair Croatian recovery scope and migration confirmations
Correct 12 reviewed values. Preserve entity types, non-archived scope, difficult-to-undo warning and duplicate-empty-list conditions with literal storage fields.

Thanks to xet7 !
2026-09-12 23:00:01 +03:00
Lauri Ojansivu 2a0cf2774b Record Croatian recovery repairs and audit progress
Document dated fixes and remaining counts with no-edit and recovery regressions.

Thanks to xet7 !
2026-09-12 22:59:31 +03:00
Lauri Ojansivu 02e229d336 Repair Croatian read-only roles and recovery messages
Correct 14 reviewed values, restoring no-edit restrictions, label range, member notifications and archived entity types while preserving field identifiers.

Thanks to xet7 !
2026-09-12 22:59:12 +03:00
Lauri Ojansivu c9b201dadf Record Croatian rule repairs and audit progress
Document dated fixes and remaining counts with permission and action regressions.

Thanks to xet7 !
2026-09-12 22:58:45 +03:00
Lauri Ojansivu 58f0d7b065 Repair Croatian rule actions and public-board invitations
Correct 16 reviewed values, preserving editing restrictions, invitation meaning, movement direction, unchecking and current date/time scope.

Thanks to xet7 !
2026-09-12 22:58:26 +03:00
Lauri Ojansivu 7c0ad1c163 Record Croatian validation repairs and audit progress
Document dated fixes and remaining counts with runtime rendering and access regressions.

Thanks to xet7 !
2026-09-12 22:57:59 +03:00
Lauri Ojansivu 38050f2515 Repair Croatian query validation and private-board messages
Correct 12 reviewed values. Preserve integer limits, login-link markup, irreversible planning-poker deletion and private-board access scope.

Thanks to xet7 !
2026-09-12 22:57:39 +03:00
Lauri Ojansivu 5ffa770bc0 Record Croatian view repairs and audit progress
Document dated fixes and remaining counts with permission and rendering regressions.

Thanks to xet7 !
2026-09-12 22:57:16 +03:00
Lauri Ojansivu 4004c2ebdb Repair Croatian card views and assigned-only permissions
Correct 14 reviewed values. Preserve assigned-only visibility, creator-or-member notifications, checklist line order and count placeholders.

Thanks to xet7 !
2026-09-12 22:56:57 +03:00
Lauri Ojansivu 6814a8795f Record Croatian movement repairs and audit progress
Document dated fixes and remaining counts with scope and sorting regressions.

Thanks to xet7 !
2026-09-12 22:56:32 +03:00
Lauri Ojansivu be37a2c326 Repair Croatian attachment movement and card sorting labels
Correct 12 reviewed values. Preserve board/all-attachment scope and storage identifiers, and replace legal-case wording with card and board terminology.

Thanks to xet7 !
2026-09-12 22:56:15 +03:00
Lauri Ojansivu 5947502f3f Record Croatian migration repairs and audit progress
Document dated corrections and remaining counts with operating-limit and warning regressions.

Thanks to xet7 !
2026-09-12 22:55:52 +03:00
Lauri Ojansivu 60f6479157 Repair Croatian migration status and operating limits
Correct 20 reviewed values. Preserve CPU threshold, millisecond range, background continuation and administrator restrictions; remove invented damaged-case recovery meanings.

Thanks to xet7 !
2026-09-12 22:55:34 +03:00
Lauri Ojansivu bb75d0e1e2 Record Croatian list repairs and audit progress
Document dated fixes and remaining counts with warning, scope and unit regressions.

Thanks to xet7 !
2026-09-12 22:55:04 +03:00
Lauri Ojansivu b238c35f2a Repair Croatian list warnings and storage migration controls
Correct 16 reviewed values. Preserve board-departure scope, irreversible list deletion, byte units and batch limits without inventing Amazon-cloud requirements.

Thanks to xet7 !
2026-09-12 22:54:46 +03:00
Lauri Ojansivu 6aa06dad94 Record Croatian mapping repairs and audit progress
Document dated fixes and remaining counts with fallback and toggle regressions.

Thanks to xet7 !
2026-09-12 22:54:17 +03:00
Lauri Ojansivu 95f1b2a53b Repair Croatian member mapping and keyboard toggles
Correct 12 reviewed values. Preserve unmapped-member fallback and registration meanings, restore toggle click instructions and irreversible label deletion.

Thanks to xet7 !
2026-09-12 22:53:58 +03:00
Lauri Ojansivu 6fc29e86df Record Croatian import repairs and audit progress
Document dated fixes and remaining counts with export and literal menu regressions.

Thanks to xet7 !
2026-09-12 22:53:33 +03:00
Lauri Ojansivu f110128f6c Repair Croatian checklist visibility and board import instructions
Correct 15 reviewed values, restoring checklist and attachment meanings and export direction while preserving literal Trello menu names.

Thanks to xet7 !
2026-09-12 22:53:14 +03:00
Lauri Ojansivu 03e1bfcceb Record Croatian status repairs and audit progress
Document dated fixes and remaining counts with scope and status-meaning regressions.

Thanks to xet7 !
2026-09-12 22:52:46 +03:00
Lauri Ojansivu 23bd5535a3 Repair Croatian organization and status search operators
Correct 12 reviewed values. Restore board-assignment, descending sort, end-date and board-visibility meanings while preserving query tokens.

Thanks to xet7 !
2026-09-12 22:52:27 +03:00
Lauri Ojansivu ec6462868f Record Croatian field operator repairs and audit progress
Document dated fixes and remaining counts with syntax and matching regressions.

Thanks to xet7 !
2026-09-12 22:51:58 +03:00
Lauri Ojansivu 89b2b4802d Repair Croatian field and label search instructions
Correct seven reviewed values. Restore has:-due syntax, color-or-name matching, positive integer limits and literal operator arguments.

Thanks to xet7 !
2026-09-12 22:51:38 +03:00
Lauri Ojansivu db18ba6b5a Record Croatian operator repairs and audit progress
Document dated fixes and verified remaining counts with syntax and date-range regressions.

Thanks to xet7 !
2026-09-12 22:51:08 +03:00
Lauri Ojansivu 11734e472f Repair Croatian date and user search operators
Correct eight reviewed values, preserving literal operator syntax, default archive scope and at-most date ranges.

Thanks to xet7 !
2026-09-12 22:50:48 +03:00
Lauri Ojansivu 8be2ef2049 Record Croatian search repairs and audit progress
Document dated fixes and remaining counts with literal query and Boolean regressions.

Thanks to xet7 !
2026-09-12 22:50:25 +03:00
Lauri Ojansivu 885563f364 Repair Croatian migration and Boolean search instructions
Correct 12 reviewed values. Restore executable query examples and Boolean meanings, preserving source tokens and case-insensitive search.

Thanks to xet7 !
2026-09-12 22:50:05 +03:00
Lauri Ojansivu ffb06673e2 Record Croatian filter repairs and audit progress
Document dated fixes and verified remaining counts with source-meaning regressions.

Thanks to xet7 !
2026-09-12 22:49:38 +03:00
Lauri Ojansivu 5a9354543b Repair Croatian verification, errors and filter labels
Correct 16 reviewed values, preserving account-email verification, CSV format requirements, week filters and file URL repair meanings.

Thanks to xet7 !
2026-09-12 22:49:17 +03:00
Lauri Ojansivu b22042b46a Record Croatian email repairs and audit progress
Document dated fixes and remaining counts with email rendering and permission regressions.

Thanks to xet7 !
2026-09-12 22:48:51 +03:00
Lauri Ojansivu 00c8c7b1f4 Repair Croatian account emails and due-card views
Correct 14 reviewed values. Preserve email placeholders, invitation rather than full-access promises, and permitted incomplete-card scope.

Thanks to xet7 !
2026-09-12 22:48:31 +03:00
Lauri Ojansivu 7e4b0db00e Record Croatian account deletion repairs and audit progress
Document dated fixes and verified remaining counts with deletion restriction regressions.

Thanks to xet7 !
2026-09-12 22:48:03 +03:00
Lauri Ojansivu 564bd800bf Repair Croatian organization and account deletion messages
Correct 12 reviewed values. Preserve irreversible deletion and existing-member restrictions, and restore subtask and label meanings.

Thanks to xet7 !
2026-09-12 22:47:46 +03:00
Lauri Ojansivu 16c248af0f Record Croatian deletion repairs and audit progress
Document dated fixes and remaining counts with scope and deletion-condition regressions.

Thanks to xet7 !
2026-09-12 22:47:19 +03:00
Lauri Ojansivu 3b4f99d241 Repair Croatian custom URLs and deletion prompts
Correct 16 reviewed values, preserving URL rather than Internet-only meanings, logo default height, duplicate-list conditions and linked-card deletion order.

Thanks to xet7 !
2026-09-12 22:47:00 +03:00
Lauri Ojansivu 32ab996263 Record Croatian template repairs and audit progress
Document dated fixes and remaining counts with token and deletion regressions.

Thanks to xet7 !
2026-09-12 22:46:29 +03:00
Lauri Ojansivu f1914d07df Repair Croatian scheduled migrations and template placeholder
Correct 16 reviewed values. Restore literal %{value}, preserve separator entities and irreversible field deletion, and replace legal-case recovery wording with migration terminology.

Thanks to xet7 !
2026-09-12 22:46:10 +03:00
Lauri Ojansivu 23e73c6744 Record Croatian conversion repairs and audit progress
Document dated corrections and remaining counts with permission and date-meaning regressions.

Thanks to xet7 !
2026-09-12 22:45:43 +03:00
Lauri Ojansivu 56454dbf9a Repair Croatian checklist forms and board conversion messages
Correct 18 reviewed values. Restore comment-only permissions, creation-date ordering and normal board use during conversion.

Thanks to xet7 !
2026-09-12 22:45:25 +03:00
Lauri Ojansivu 2e8e7cc3e7 Record Croatian board repairs and audit progress
Document dated fixes and verified remaining counts with kanban meaning regressions.

Thanks to xet7 !
2026-09-12 22:44:57 +03:00
Lauri Ojansivu 3ace61f587 Repair Croatian board settings and checklist controls
Correct 20 reviewed values. Restore board, member and assignee terminology and distinguish deleting a checklist from deleting one item.

Thanks to xet7 !
2026-09-12 22:44:38 +03:00
Lauri Ojansivu 3af82b8891 Record Croatian storage repairs and audit progress
Document dated fixes and remaining counts with scheduling and scope regressions.

Thanks to xet7 !
2026-09-12 22:44:14 +03:00
Lauri Ojansivu 685e388ab6 Repair Croatian storage paths and scheduled board operations
Correct 18 reviewed values. Restore URL-scheme rather than Internet-site meaning, new-card field scope, scheduled results and board-icon actions.

Thanks to xet7 !
2026-09-12 22:43:57 +03:00
Lauri Ojansivu 2a8d7c1135 Record Croatian user repairs and audit progress
Document dated fixes and verified remaining counts with semantic regressions.

Thanks to xet7 !
2026-09-12 22:43:33 +03:00
Lauri Ojansivu 78c5f9b423 Repair Croatian user status and attachment settings
Correct 18 reviewed values. Restore activation, workspace editing, logged-in user scope and refresh data-loss warning; preserve storage identifiers.

Thanks to xet7 !
2026-09-12 22:43:15 +03:00
Lauri Ojansivu 4ac76560b0 Record Croatian administration repairs and audit progress
Document dated fixes and remaining counts with runtime rendering and semantic regressions.

Thanks to xet7 !
2026-09-12 22:42:50 +03:00
Lauri Ojansivu 40db24a444 Repair Croatian administration and custom-field activities
Correct 16 reviewed values. Distinguish inactive accounts from payroll status and clearing field values from deleting fields. Preserve activity arguments and HTML delimiters.

Thanks to xet7 !
2026-09-12 22:42:31 +03:00
Lauri Ojansivu 1716e559d9 Record Croatian activity repairs and audit progress
Document dated corrections and remaining counts with runtime rendering regressions.

Thanks to xet7 !
2026-09-12 22:42:05 +03:00
Lauri Ojansivu 2df7a4d026 Repair Croatian lockout results and date activities
Correct 16 reviewed values, preserving current-time reminder and first-reminder meanings alongside activity tokens.

Thanks to xet7 !
2026-09-12 22:41:44 +03:00
Lauri Ojansivu 0dddf15021 Record Croatian account repairs and audit progress
Document dated fixes and remaining counts with account protection regressions.

Thanks to xet7 !
2026-09-12 22:41:16 +03:00
Lauri Ojansivu e2e15108e4 Repair Croatian accessibility and account protection translations
Replace 18 Serbian-seeded values with Croatian wording, preserving login failure, timing and unlock meanings.

Thanks to xet7 !
2026-09-12 22:40:58 +03:00
Lauri Ojansivu d2d8c127b6 Record Croatian JSON follow-up and passing audit regression
Document the incomplete older repair found by target-script coverage and its verified fix.

Thanks to xet7 !
2026-09-12 22:40:29 +03:00
Lauri Ojansivu a677ec84ca Correct Serbian prose in Croatian JSON card example
Keep literal JSON fields and use Croatian kanban wording. Target-script and correction checks pass.

Thanks to xet7 !
2026-09-12 22:40:22 +03:00
Lauri Ojansivu e3bfcb6832 Record Croatian metric repairs and audit progress
Document dated fixes and remaining counts with script and semantic regressions.

Thanks to xet7 !
2026-09-12 22:39:56 +03:00
Lauri Ojansivu 482ea38b95 Repair Croatian memory metrics and wait indicators
Replace 18 Serbian-seeded values with Croatian wording. Restore V8 zap-pattern and resident-set meanings using official Node documentation.

Thanks to xet7 !
2026-09-12 22:39:34 +03:00
Lauri Ojansivu fadbd18d7f Record completed Macedonian audit queue and remaining translation work
Document dated fixes with filter syntax, meaning and zero-queue regressions.

Thanks to xet7 !
2026-09-12 22:39:00 +03:00
Lauri Ojansivu d3569c77ed Finish flagged Macedonian translation repairs
Correct the final 28 flagged values, including swimlane warnings, shortcuts, voting, WIP limits and advanced filter prose. Preserve executable examples and technical identifiers.

Thanks to xet7 !
2026-09-12 22:38:39 +03:00
Lauri Ojansivu 3a6fe7c6c6 Record Macedonian SMTP repairs and audit progress
Document dated fixes and verified remaining counts with meaning regressions.

Thanks to xet7 !
2026-09-12 22:38:00 +03:00
Lauri Ojansivu ece4315d2a Repair Macedonian SMTP, migration steps and subtask controls
Correct 25 reviewed values, preserving outgoing-email, starred-board ordering, migration entity and logged-in support meanings.

Thanks to xet7 !
2026-09-12 22:37:41 +03:00
Lauri Ojansivu 835a81b7b7 Record Macedonian display repairs and audit progress
Document dated fixes, correct translations retained and verified remaining counts.

Thanks to xet7 !
2026-09-12 22:37:00 +03:00
Lauri Ojansivu 5ef5b155b6 Repair Macedonian display settings and retain valid sidebar translations
Correct 18 reviewed values and retain two correct Macedonian sidebar imperatives. Restore parent-card, checklist, field sum and filter meanings.

Thanks to xet7 !
2026-09-12 22:36:42 +03:00
Lauri Ojansivu 9ad6571cde Record Macedonian S3 repairs and audit progress
Document dated fixes, verified totals and regression coverage for storage identifiers and search meanings.

Thanks to xet7 !
2026-09-12 22:36:11 +03:00
Lauri Ojansivu b9da2ea975 Repair Macedonian S3 settings and search instructions
Correct 20 reviewed values. Preserve endpoint examples and troubleshooting commands; restore description/custom-field search scope, local MinIO support and swimlane dimensions.

Thanks to xet7 !
2026-09-12 22:35:52 +03:00
Lauri Ojansivu a2a2402edf Record Macedonian recovery repairs and audit progress
Document dated fixes and verified remaining counts with recovery and deletion-condition regressions.

Thanks to xet7 !
2026-09-12 22:35:25 +03:00
Lauri Ojansivu c9fe9530a8 Repair Macedonian recovery and migration confirmations
Correct 20 reviewed values. Restore all entity types, non-archived scope, duplicate-empty-list conditions and undo warning while preserving storage field identifiers.

Thanks to xet7 !
2026-09-12 22:35:07 +03:00
Lauri Ojansivu 15bc0559ff Record Macedonian rule repairs and audit progress
Document dated fixes and remaining counts with permission, direction and notification regressions.

Thanks to xet7 !
2026-09-12 22:34:30 +03:00
Lauri Ojansivu 1c6281af51 Repair Macedonian rule actions and read-only permissions
Correct 24 reviewed values, preserving move direction, uncheck actions, no-edit restrictions, label range and member-removal notification. Describe organization removal without invented access bans.

Thanks to xet7 !
2026-09-12 22:34:12 +03:00
Lauri Ojansivu 85d2dfcc89 Record Macedonian validation repairs and audit progress
Record dated fixes and remaining counts with meaning and runtime rendering regressions.

Thanks to xet7 !
2026-09-12 22:33:46 +03:00
Lauri Ojansivu 3e099f4d57 Repair Macedonian validation, visibility and invitation messages
Correct 20 reviewed values. Preserve positive-integer limits and login links, distinguish organizations from legal parties, and describe invitation rather than guaranteed full access.

Thanks to xet7 !
2026-09-12 22:33:27 +03:00
Lauri Ojansivu b177d44eb3 Record Macedonian view repairs and audit progress
Record dated corrections and verified totals with permission, notification and rendering regressions.

Thanks to xet7 !
2026-09-12 22:32:57 +03:00
Lauri Ojansivu 0effcb85ed Repair Macedonian card views, permissions and notifications
Correct 25 reviewed values covering attachment movement, selection, card views, checklist lines, permission descriptions and notifications. Preserve source restrictions and avoid invented legal access or Amazon-cloud meanings.

Thanks to xet7 !
2026-09-12 22:32:39 +03:00
Lauri Ojansivu b4db5c0463 Record Macedonian migration repairs and audit progress
Record the dated fix commit, verified counts and operational meaning regressions.

Thanks to xet7 !
2026-09-12 22:32:13 +03:00
Lauri Ojansivu f98c708e6c Repair Macedonian storage migration and monitoring messages
Correct 29 reviewed values. Preserve batch and CPU limits, background continuation, administrator restrictions and storage identifiers; remove invented damaged-case and Amazon-cloud meanings.

Thanks to xet7 !
2026-09-12 22:31:53 +03:00
Lauri Ojansivu 335826e781 Record Macedonian list repairs and audit progress
Document dated corrections, the local fix commit and remaining findings with behavioral translation regressions.

Thanks to xet7 !
2026-09-12 22:31:22 +03:00
Lauri Ojansivu 9fdbf20171 Repair Macedonian list controls and deletion warnings
Correct 23 reviewed values covering keyboard toggles, labels, leaving boards, list actions, loading and file limits. Restore click instructions and preserve irreversible deletion and last-administrator meanings.

Thanks to xet7 !
2026-09-12 22:31:04 +03:00
Lauri Ojansivu 8dc68b0182 Record Macedonian import repairs and audit progress
Record dated corrections, their local commit and remaining counts, with regressions for export direction and literal vendor menu names.

Thanks to xet7 !
2026-09-12 22:30:35 +03:00
Lauri Ojansivu f90ea9ac61 Repair Macedonian board import and registration instructions
Correct 16 reviewed values, including export menu wording, member mapping, attachment archives, invalid filenames and registration invitations. Preserve literal Trello menu names.

Thanks to xet7 !
2026-09-12 22:30:15 +03:00
Lauri Ojansivu 2e1b23aebd Record Macedonian status repairs and translation audit progress
Add meaning regressions and the dated correction commit, summary and remaining counts.

Thanks to xet7 !
2026-09-12 22:29:47 +03:00
Lauri Ojansivu 17efcc8eaa Repair Macedonian status, storage and checklist controls
Correct 20 reviewed values. Distinguish dated cards from completed cards, preserve private/public board meanings and restore checklist, attachment and member terminology.

Thanks to xet7 !
2026-09-12 22:29:30 +03:00
Lauri Ojansivu f0457ef249 Update translation audit progress and search meaning coverage
Record the dated 12-value Macedonian operator repair, its local commit, verified totals and remaining findings. Add positive and negative checks for executable field syntax and label matching meaning.

Thanks to xet7 !
2026-09-12 22:29:06 +03:00
Lauri Ojansivu ba2501e590 Repair Macedonian search operator meanings and literal examples
Correct 12 reviewed values. Restore has:-due syntax and label color-or-name meaning while preserving operator and predicate tokens.

Thanks to xet7 !
2026-09-12 22:26:57 +03:00
Lauri Ojansivu f82b3e5dea Record Macedonian Boolean search repairs and audit summary
Thanks to xet7 !
2026-09-12 22:26:27 +03:00
Lauri Ojansivu c1dbea0868 Repair Macedonian Boolean search help and operator examples
Correct 10 reviewed values. Preserve literal query examples, OR/AND meanings and case-insensitivity, with positive and negative regression checks.

Thanks to xet7 !
2026-09-12 22:26:13 +03:00
Lauri Ojansivu 30e3f3e66a Record Macedonian migration and search fixes in translation audit
Thanks to xet7 !
2026-09-12 22:25:42 +03:00
Lauri Ojansivu b3d08cb3ed Repair Macedonian migration and search instruction translations
Correct 10 reviewed values. Restore literal list:Blocked search syntax and operator meaning, and describe file/avatar URL and missing-list repairs accurately.

Thanks to xet7 !
2026-09-12 22:25:27 +03:00
Lauri Ojansivu 603ec48c63 Record Macedonian error and filter translation repairs
Thanks to xet7 !
2026-09-12 22:25:01 +03:00
Lauri Ojansivu f2db91a468 Repair Macedonian error reports and filter translations
Correct 20 reviewed values, restoring organization, team, file report and filter meanings while preserving source identifiers and placeholders.

Thanks to xet7 !
2026-09-12 22:24:45 +03:00
Lauri Ojansivu 10ff00b512 Record Macedonian email repairs and current translation audit summary
Thanks to xet7 !
2026-09-12 22:24:19 +03:00
Lauri Ojansivu 5a49318601 Repair Macedonian invitation email and permission translations
Correct 12 reviewed values while preserving account, board, invitation-code and URL placeholders. Restore invitation meaning without granting unrequested full access.

Thanks to xet7 !
2026-09-12 22:24:04 +03:00
Lauri Ojansivu 3cb48b1bf6 Record Macedonian date popup and enrollment repairs
Thanks to xet7 !
2026-09-12 22:23:37 +03:00
Lauri Ojansivu 999de898da Repair Macedonian date popup and enrollment translations
Correct 15 reviewed values. Distinguish due, end and received dates, restore card creator and sorting meaning, and preserve source placeholders.

Thanks to xet7 !
2026-09-12 22:23:23 +03:00
Lauri Ojansivu 2fe23fe915 Record Macedonian deletion translation fixes and audit progress
Thanks to xet7 !
2026-09-12 22:22:58 +03:00
Lauri Ojansivu fb82ac1331 Repair Macedonian deletion warnings and duplicate list migration help
Correct 20 reviewed values. Preserve the two required duplicate-list deletion conditions and restore organization, team and kanban terminology.

Thanks to xet7 !
2026-09-12 22:22:44 +03:00
Lauri Ojansivu 2a35635513 Record Macedonian settings repairs and current translation audit progress
Thanks to xet7 !
2026-09-12 22:22:14 +03:00
Lauri Ojansivu 3c7b1a1816 Repair Macedonian custom settings and template placeholder
Correct 20 reviewed values. Restore literal %{value}, separator entities, URL settings and scheduled migration meanings while preserving exact source tokens.

Thanks to xet7 !
2026-09-12 22:21:58 +03:00
Lauri Ojansivu 85a878e74d Record Macedonian scheduling and creation date repairs
Thanks to xet7 !
2026-09-12 22:21:29 +03:00
Lauri Ojansivu 1c1fbdfb04 Repair Macedonian scheduled job and creation date translations
Correct 15 reviewed values. Restore creation-date sorting and scheduled-migration meanings while preserving source tokens and JSON ordering.

Thanks to xet7 !
2026-09-12 22:21:15 +03:00
Lauri Ojansivu 91090dd69d Record Macedonian comment and conversion translation repairs
Thanks to xet7 !
2026-09-12 22:20:48 +03:00
Lauri Ojansivu e91e845570 Repair Macedonian comment and board conversion help
Correct 15 reviewed values, restoring source meanings in comments, checklist forms, favorites and board conversion instructions. Preserve interpolation tokens and verify repair behavior.

Thanks to xet7 !
2026-09-12 22:20:34 +03:00
Lauri Ojansivu c7c9cbaecb Record Macedonian card and checklist translation repairs
Thanks to xet7 !
2026-09-12 22:20:07 +03:00
Lauri Ojansivu 7e0ce1e473 Repair Macedonian card and checklist control translations
Correct 25 reviewed values, restoring kanban meaning in assignee, card, checklist and planning controls. Preserve exact source tokens and verify repair behavior.

Thanks to xet7 !
2026-09-12 22:19:53 +03:00
Lauri Ojansivu 637702e375 Record Macedonian board scheduling translation repairs
Thanks to xet7 !
2026-09-12 22:19:28 +03:00
Lauri Ojansivu f33aff4ed2 Repair Macedonian board scheduling and background labels
Correct 15 reviewed values. Restore board backup, migration, visibility and settings meanings while preserving placeholders and strong markup.

Thanks to xet7 !
2026-09-12 22:19:14 +03:00
Lauri Ojansivu e80ab9eb99 Record Macedonian storage and workspace translation repairs
Thanks to xet7 !
2026-09-12 22:18:52 +03:00
Lauri Ojansivu b00c7da308 Repair Macedonian attachment storage and workspace translations
Correct 25 reviewed values. Restore source meanings for logged-in users, workspace editing, URL schemes and inactive accounts while preserving storage identifiers and placeholders.

Thanks to xet7 !
2026-09-12 22:18:38 +03:00
Lauri Ojansivu 2f3c44bd90 Record Macedonian date and administration translation repairs
Thanks to xet7 !
2026-09-12 22:18:06 +03:00
Lauri Ojansivu 719ffbd7a4 Repair Macedonian dates custom fields and administration labels
Correct 25 reviewed values. Restore active/inactive account meaning instead of payroll wording, and verify actual rendering of all four date activity types.

Thanks to xet7 !
2026-09-12 22:17:51 +03:00
Lauri Ojansivu cb8acbe6c2 Record Macedonian import and checklist activity repairs
Thanks to xet7 !
2026-09-12 22:17:19 +03:00
Lauri Ojansivu 08d622a8b5 Repair Macedonian imports moves and checklist activity messages
Correct 20 reviewed values. Verify first-reminder meaning, undoing checklist completion and actual due-date/card sprintf rendering.

Thanks to xet7 !
2026-09-12 22:17:06 +03:00
Lauri Ojansivu 9b7068f8ad Verify Macedonian rendering and record date activity translation repairs
Thanks to xet7 !
2026-09-12 22:16:31 +03:00
Lauri Ojansivu 538b8aca6c Repair Macedonian date archive and member activity messages
Replace 20 Serbian- and Bulgarian-seeded values with Macedonian wording while preserving source placeholders and activity meanings.

Thanks to xet7 !
2026-09-12 22:16:08 +03:00
Lauri Ojansivu f3532d47fb Record Macedonian account and accessibility translation repairs
Thanks to xet7 !
2026-09-12 22:15:41 +03:00
Lauri Ojansivu f351a8a18c Repair Macedonian account protection and accessibility translations
Correct 24 reviewed values and retain one valid reactivity-mode label. Preserve source tokens, runtime identifiers and verify exact correction/review values.

Thanks to xet7 !
2026-09-12 22:15:29 +03:00
Lauri Ojansivu 46dc872888 Record Macedonian rule and memory translation repairs
Thanks to xet7 !
2026-09-12 22:14:53 +03:00
Lauri Ojansivu 47924c0f42 Repair Macedonian rule and memory statistic translations
Correct 25 Bulgarian- and Serbian-seeded values. Check V8 metric meanings against official Node documentation and preserve source tokens and technical identifiers.

Thanks to xet7 !
2026-09-12 22:14:39 +03:00
Lauri Ojansivu ef328d8e06 Record Macedonian activity translation repair progress
Thanks to xet7 !
2026-09-12 22:14:01 +03:00
Lauri Ojansivu 83277d852f Repair Bulgarian-seeded Macedonian activity translations
Correct 22 reviewed values, including list and swimlane labels. Restore checklist removal meaning while preserving source placeholders and verifying exact repair values and JSON ordering.

Thanks to xet7 !
2026-09-12 22:13:49 +03:00
Lauri Ojansivu 077d995e9c Record completed German audit queues and regression coverage
Thanks to xet7 !
2026-09-12 22:13:06 +03:00
Lauri Ojansivu fc1026c821 Finish German translation audit with SMTP compound spelling and technical review
Correct four SMTP subject compounds and retain four individually reviewed valid soft WIP labels. Verify exact correction and review values; all four German audit queues are resolved.

Thanks to xet7 !
2026-09-12 22:12:51 +03:00
Lauri Ojansivu 05a70ccc94 Record completion of the Slovak translation audit queue
Thanks to xet7 !
2026-09-12 22:12:21 +03:00
Lauri Ojansivu bd9043aa87 Finish all audited Slovak translation repairs
Correct 59 remaining values and individually retain three valid strings. Verify calendar labels, rules, exact filter examples, troubleshooting commands and zero pending Slovak audit findings.

Thanks to xet7 !
2026-09-12 22:12:06 +03:00
Lauri Ojansivu 68b3192180 Record Slovak list and notification translation repairs
Thanks to xet7 !
2026-09-12 22:10:56 +03:00
Lauri Ojansivu 550883b83a Repair Slovak list archive notification and visibility text
Correct 35 reviewed Czech-seeded values, preserving source placeholders and link markup. Verify vocabulary, exact values, key order and repair behavior.

Thanks to xet7 !
2026-09-12 22:10:44 +03:00
Lauri Ojansivu 435b96ae4f Record Slovak search operator and import repairs
Thanks to xet7 !
2026-09-12 22:10:10 +03:00
Lauri Ojansivu c9ec4bb6a5 Repair Slovak search operators and import instructions
Correct 25 reviewed values. Distinguish members and assignees, end dates and due dates, while preserving literal query syntax and vendor menu labels.

Thanks to xet7 !
2026-09-12 22:09:57 +03:00
Lauri Ojansivu 2949333e14 Record Slovak search translation repairs and remaining audit count
Thanks to xet7 !
2026-09-12 22:09:14 +03:00
Lauri Ojansivu bc71d89915 Repair Slovak search help and case-insensitive search meaning
Correct 20 reviewed values. Preserve query operators and examples while restoring Boolean explanations and the source meaning that text searches ignore letter case.

Thanks to xet7 !
2026-09-12 22:09:01 +03:00
Lauri Ojansivu b4ba7bfafb Record Slovak invitation and administration translation repairs
Thanks to xet7 !
2026-09-12 22:08:17 +03:00
Lauri Ojansivu d0e89cb3ec Repair Slovak invitations permissions and administration text
Correct 43 reviewed values and retain two valid template-variable hints. Preserve exact source placeholders and verify native wording with the translation repair and review suites.

Thanks to xet7 !
2026-09-12 22:08:04 +03:00
Lauri Ojansivu 8467ef0321 Record Slovak archive and card translation repairs
Thanks to xet7 !
2026-09-12 22:07:18 +03:00
Lauri Ojansivu af8df7608b Repair Slovak archive warnings and card controls
Correct 38 Czech-seeded values while retaining two individually reviewed Azure instructions. Verify JSON example fields, template placeholders, separator entities and deletion warnings.

Thanks to xet7 !
2026-09-12 22:07:05 +03:00
Lauri Ojansivu f5f900c0ab Record Slovak checklist and date translation repair progress
Thanks to xet7 !
2026-09-12 22:06:16 +03:00
Lauri Ojansivu 27256c3482 Repair Slovak checklist activities and date messages
Correct 34 Czech-seeded strings and individually retain the valid reactivity mode label. Verify checklist action meanings and real sprintf date/card argument order.

Thanks to xet7 !
2026-09-12 22:06:04 +03:00
Lauri Ojansivu 19244800da Record Slovak translation repair batch and remaining audit count
Thanks to xet7 !
2026-09-12 22:05:10 +03:00
Lauri Ojansivu d9ac5a56f7 Repair Czech-seeded Slovak activity and account translations
Preserve source placeholders while restoring Slovak wording in the first reviewed activity and account-setting batch.

Thanks to xet7 !
2026-09-12 22:04:58 +03:00
Lauri Ojansivu 1fef71d449 Record filter-help translation repairs and completed locale queues
Thanks to xet7 !
2026-09-12 22:04:24 +03:00
Lauri Ojansivu 2832477b78 Translate remaining audited filter help in Arabic Lithuanian Mongolian and Greek
Replace English advanced-filter prose in seven locale files while preserving exact executable examples and escapes. Translate Arabic Trello instructions while retaining literal vendor menu names. Verify all seven audit queues are resolved.

Thanks to xet7 !
2026-09-12 22:04:10 +03:00
Lauri Ojansivu ff380d9c6d Record calendar translation fixes and unchanged-value review progress
Thanks to xet7 !
2026-09-12 22:03:07 +03:00
Lauri Ojansivu 7c1f9cc5a9 Repair Hijri variant labels and retain reviewed examples and protocol names
Translate 37 calendar labels in 21 locale files, preserving Portuguese regional spelling. Individually retain 38 valid comma-separated placeholder examples and DDP labels. Verify terminology, actual template usage, exact review values and audit progress; register browser coverage.

Thanks to xet7 !
2026-09-12 22:02:52 +03:00
Lauri Ojansivu f54a69bac3 Record completion of Romanian audit queues and remaining repair count
Thanks to xet7 !
2026-09-12 22:01:09 +03:00
Lauri Ojansivu 0432fb50a1 Finish audited Romanian translation repairs in both locales
Replace Italian seed wording and English help prose in invitations, imports, permissions, search, administration and archive controls. Preserve query syntax, JSON fields and sprintf argument order. Translate both remaining Hijri variants and register browser coverage.

Thanks to xet7 !
2026-09-12 22:00:53 +03:00
Lauri Ojansivu aa7d7407e4 Record Romanian translation repairs and current audit progress
Thanks to xet7 !
2026-09-12 21:56:36 +03:00
Lauri Ojansivu 9c974f0340 Repair Italian-seeded Romanian activity messages and kanban labels
Restore Romanian wording for account protection, activity messages, archive actions and board settings in both Romanian locales. Preserve interpolation tokens and verify real sprintf rendering without the stray subtask digit.

Thanks to xet7 !
2026-09-12 21:56:21 +03:00
Lauri Ojansivu 69c1577b12 Record completed Latvian and Danish repairs and reproducible remaining audit counts 2026-09-12 21:52:54 +03:00
Lauri Ojansivu ad8c1170db Finish Danish audit review and localize remaining calendar variants 2026-09-12 21:52:20 +03:00
Lauri Ojansivu 9631ff40d7 Repair all audited Latvian wording and track every outstanding audit key 2026-09-12 21:50:59 +03:00
Lauri Ojansivu 84dffeab59 Record translation repair progress and explicit force upload workflow 2026-09-12 21:40:09 +03:00
Lauri Ojansivu 5290ee7271 Add force upload of all local translations with missing-language registration and failure reports 2026-09-12 21:39:43 +03:00
Lauri Ojansivu a194b9741b Translate remaining audited Russian search and administration text into Mongolian 2026-09-12 21:39:43 +03:00
Lauri Ojansivu 6988a01bd6 Replace audited Russian seed wording with Mongolian translations 2026-09-12 21:34:53 +03:00
Lauri Ojansivu 685bf2bcfb Record translation correction batches, dates and remaining audit work 2026-09-12 21:34:00 +03:00
Lauri Ojansivu a2639d3195 Replace audited Persian seed translations in Arabic locales 2026-09-12 21:33:39 +03:00
Lauri Ojansivu 45618108fe Record dated translation audit fixes and their commit 2026-09-12 21:32:19 +03:00
Lauri Ojansivu 7a23353acf Correct audited JSON examples, kanban terms and calendar translations 2026-09-12 21:32:06 +03:00
Lauri Ojansivu 228d7e8f1d Document combined date popup calendar heading 2026-09-12 21:26:36 +03:00
Lauri Ojansivu 9fda12cdd6 Show formatted date beside month in date popup heading 2026-09-12 21:26:29 +03:00
Lauri Ojansivu 8060782e0a Categorize translation pull audit and screen all local language values 2026-09-12 21:21:43 +03:00
Lauri Ojansivu 66643e6aa5 Document date popup movement and calendar button styling 2026-09-12 21:21:29 +03:00
Lauri Ojansivu 3988ab5eab Allow dragging date popups and theme calendar buttons 2026-09-12 21:21:16 +03:00
Lauri Ojansivu 224dded118 Document audit of uncommitted Transifex translation regressions 2026-09-12 21:07:53 +03:00
Lauri Ojansivu b3e7a9d4c0 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-12 21:01:42 +03:00
Lauri Ojansivu 94afc030c7 Record date popup fit and resize verification 2026-09-12 21:01:42 +03:00
Lauri Ojansivu 398d5f42d4 Fit date controls without nested scrolling and add popup resizing
Remove nested date popup height limits and excess spacing, keep the popup within the viewport and add a bottom-right resize handle. Capture pointer drags so resizing cannot close the popup and support arrow-key resizing with content and viewport limits. Extend documentation and regression coverage.

Thanks to xet7 !
2026-09-12 21:01:42 +03:00
Lauri Ojansivu 81bfd3fe68 Record direct calendar popup layout and verification 2026-09-12 21:01:41 +03:00
Lauri Ojansivu 236676ff53 Show a full-width calendar directly in date popups
Keep the selected calendar grid visible on opening and after selecting a day, including for Gregorian dates. Stack popup fields, size day buttons within their cells and show only hour/minute dropdowns while retaining the hidden combined value for existing save handlers. Update documentation and popup regressions.

Thanks to xet7 !
2026-09-12 21:01:41 +03:00
Lauri Ojansivu 724d475cca Document calendar controls and regression coverage in upcoming release 2026-09-12 21:01:41 +03:00
Lauri Ojansivu 5057a0a2c1 Add member-selected calendars and accessible date and time controls
Apply the selected calendar to shared date displays, calendar month views and date inputs. Provide mouse and keyboard date navigation and hour/minute selection while preserving native date storage. Document the supported offline calendars and add display, picker and browser regressions.

Thanks to mimZD and xet7 !
2026-09-12 21:01:41 +03:00
Lauri Ojansivu 590899c0bf Document the on-premise OAuth2 domain restriction.
Thanks to xet7 !
2026-09-12 21:01:41 +03:00
Lauri Ojansivu 2fd461fa55 Add on-premise OAuth2 email domain restrictions.
Check the provider email before account and membership changes. Document the roadmap export validation and remaining source review.

Thanks to xet7 !
2026-09-12 21:01:40 +03:00
github-actions[bot] f2d7faf4da Bump versions for v11.72 2026-09-11 20:31:23 +00:00
Lauri Ojansivu 5004e03547 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-09-11 23:28:45 +03:00
Lauri Ojansivu 240582657b Prepare v11.72 release 2026-09-11 23:28:44 +03:00
Lauri Ojansivu 259c00d4fb Document the board JSON export fix 2026-09-11 23:28:44 +03:00
Lauri Ojansivu 49eaade957 Fix board JSON exports containing HTML card text
Use a Node-compatible HTML sanitizer so both attachment modes complete instead of throwing at the first HTML-bearing card. Abort partial HTTP transfers on failure and cover complete JSON, attachment bytes and browser downloads.

Thanks to xet7 !
2026-09-11 23:28:44 +03:00
Lauri Ojansivu 612003c272 Merge pull request #6689 from wekan/copilot/fix-release-all-yml-workflow
Harden release-all build-amd64 against read-only bundle package.json
2026-09-11 22:54:13 +03:00
copilot-swe-agent[bot]andxet7 05fbb6847b Fix build-amd64 node-gyp rewrite permission in release workflow
Co-authored-by: xet7 <15545+xet7@users.noreply.github.com>
2026-09-11 19:43:26 +00:00
739 changed files with 236640 additions and 21325 deletions

No files matched your search

+251
View File
@@ -0,0 +1,251 @@
---
name: meteor-accounts
description: >
Use when wiring up authentication in a Meteor 3 app. Triggers on
accounts-password, accounts-base, OAuth (Google, Facebook, GitHub, Apple,
Twitter, Meetup, Weibo), accounts-2fa, accounts-passwordless,
ServiceConfiguration.configurations.upsertAsync, Accounts.createUserAsync,
Accounts.setPasswordAsync, Accounts.forgotPassword, Accounts.resetPassword,
Accounts.verifyEmail, useHttpOnlyCookies, clientStorage,
Meteor.loginWithPasswordAnd2faCode, email verification. Use this skill
when the user asks about signups, signins, or asks about token storage
vs HttpOnly cookies.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: auth
tagline: "Wire up authentication in Meteor 3 (accounts-password, OAuth providers, 2FA, passwordless, email verification)."
bundle: ["fullstack"]
docs_synced_at: "2026-09-08"
license: MIT
---
# Meteor accounts
`accounts-base` plus a flavor package (`accounts-password`,
`accounts-google`, etc.). Meteor stores users in `Meteor.users` and ships
the client a resume token mapped to that document.
## Decision flow
1. Username + password? Add `accounts-password`.
2. Social login? Add `accounts-base` plus the provider package (e.g.
`accounts-google`) and configure the service.
3. Magic-link? Add `accounts-passwordless`.
4. 2FA? Layer `accounts-2fa` on top of `accounts-password`.
5. Token storage on the client? Default is Web Storage. Meteor 3.3+
supports an HttpOnly cookie flow; see the section below.
## Username + password
```javascript
// server/accounts.js
import { Accounts } from "meteor/accounts-base";
import { Meteor } from "meteor/meteor";
Meteor.startup(() => {
Accounts.config({
sendVerificationEmail: true,
});
Accounts.emailTemplates.siteName = "My App";
Accounts.emailTemplates.from = "no-reply@example.com";
});
```
The `from` address is required; Meteor 3.5+ logs a server warning if you
omit it.
Do not set `forbidClientAccountCreation: true` when the client signup form
calls `Accounts.createUser` or `Accounts.createUserAsync`. The server rejects
that request with `403 Signups forbidden`. For invite-only or administrator
provisioning, set the option on both client and server, remove the public
signup UI, and call `Accounts.createUserAsync` only from trusted server code
after its own authorization check.
```javascript
// client/signin.js (Meteor 3.5+)
import { Meteor } from "meteor/meteor";
import { Accounts } from "meteor/accounts-base";
async function signUp({ email, password }) {
await Accounts.createUserAsync({ email, password });
}
async function signIn({ email, password }) {
await Meteor.loginWithPasswordAsync(email, password);
}
```
Client `Accounts.createUser(options, callback)` also remains supported.
`Meteor.loginWithPasswordAsync` was added in Meteor 3.5; on older 3.x use
the callback form of `Meteor.loginWithPassword` or wrap it in a Promise.
On the server use `await Accounts.createUserAsync(options)` and
`await Accounts.setPasswordAsync(userId, newPassword)`.
## HttpOnly cookies (Meteor 3.3+)
Default token storage is Web Storage. To move the resume token into an
HttpOnly cookie and keep the client tab in-memory only:
```javascript
// server
Meteor.startup(() => {
Accounts.config({
clientStorage: "none",
useHttpOnlyCookies: true,
});
});
```
```json
// settings.json (public; surfaces the same flags to the client)
{
"public": {
"packages": {
"accounts": {
"clientStorage": "none",
"useHttpOnlyCookies": true
}
}
}
}
```
After restart and login, `Meteor.loginToken*` no longer appears in
`localStorage`; the browser receives an HttpOnly `meteor_login_token`
cookie. Each tab keeps its own in-memory credentials.
With `accounts-base@3.3.1` (Meteor 3.5.2), the server handles cookie endpoints
only when it is opted in too. A client-only setting can therefore produce an
HTML response or 404 from later handlers. The `/set` body limit is 4096 bytes;
larger requests return HTTP 413. See
[cookie endpoint troubleshooting](references/http-only-cookies.md) for the
routes, version boundary, and diagnostic checks.
## OAuth (Google example)
```javascript
// server/oauth.js
import { ServiceConfiguration } from "meteor/service-configuration";
await ServiceConfiguration.configurations.upsertAsync(
{ service: "google" },
{
$set: {
clientId: process.env.GOOGLE_CLIENT_ID,
secret: process.env.GOOGLE_CLIENT_SECRET,
loginStyle: "popup",
},
},
);
```
```javascript
// client
Meteor.loginWithGoogle(
{ requestPermissions: ["email", "profile"] },
(err) => { if (err) console.error(err); },
);
```
`loginStyle: "redirect"` for mobile or environments without
`window.close` / `window.opener`. Each provider ships its own
`accounts-<service>` package: `accounts-google`, `accounts-github`,
`accounts-facebook`, `accounts-twitter`, `accounts-apple`,
`accounts-meetup`, `accounts-weibo`.
To encrypt OAuth secrets at rest, add `oauth-encryption` and pass
`oauthSecretKey` to `Accounts.config`. This seals the provider application
secret in `ServiceConfiguration.configurations.secret` and the supported
provider-specific user token fields. It does not create a generic
`Meteor.users.services.<provider>.secret` field. See `meteor-security`.
## Email verification and reset
```javascript
// client
Accounts.forgotPassword({ email }, (err) => { ... });
// reset page
Accounts.resetPassword(token, newPassword, (err) => { ... });
// verify email
Accounts.verifyEmail(token, (err) => { ... });
```
Customize the URL pattern that lands in the email:
```javascript
Accounts.urls.resetPassword = (token) =>
Meteor.absoluteUrl(`reset/${token}`);
Accounts.urls.verifyEmail = (token) =>
Meteor.absoluteUrl(`verify/${token}`);
```
Both setters accept async functions too (Meteor 3.x).
Customize the message:
```javascript
Accounts.emailTemplates.resetPassword.subject = () => "Reset your password";
Accounts.emailTemplates.resetPassword.text = (user, url) =>
`Reset link: ${url}`;
```
## Passwordless
Add `accounts-passwordless`. Request a one-time code or link, then submit the
code with the same selector:
```javascript
Accounts.requestLoginTokenForUser(
{
selector: { email },
userData: { email },
options: { userCreationDisabled: false },
},
(error) => { if (error) console.error(error); },
);
Meteor.passwordlessLoginWithToken(
{ email },
token,
(error) => { if (error) console.error(error); },
);
```
Set `userCreationDisabled: true` for sign-in-only flows. Configure
`tokenSequenceLength`, `loginTokenExpirationHours`, and the
`Accounts.emailTemplates.sendLoginToken` template on the server. Treat the
token-request method as an abuse-sensitive endpoint and rate-limit repeated
requests.
## 2FA
`accounts-2fa` adds TOTP. The login flow:
1. Client calls `Meteor.loginWithPasswordAsync(user, password)` on Meteor
3.5+, or the callback form of `Meteor.loginWithPassword` on older 3.x.
2. Server rejects with `error.error === 'no-2fa-code'`.
3. Client prompts for a code, retries with
`Meteor.loginWithPasswordAnd2faCode(user, password, code, cb)`.
## Anti-patterns
- Store the OAuth secret in `Meteor.settings.public`. The client sees
`public`. Put secrets at the top level of `settings.json`.
- Build a custom password hash. `accounts-password` uses bcrypt; trust it.
- Bypass `forbidClientAccountCreation` with a method that takes a
password. Same risk.
- Run `Accounts.config({ ... })` inside a deferred path. Call it at top
level or in `Meteor.startup`.
## See also
- `references/password-flows.md`
- `references/oauth-services.md`
- `references/eval-cases.md`
- For OAuth-secret encryption and CSP, see the `meteor-security` skill.
@@ -0,0 +1,138 @@
# Evaluation cases for `meteor-accounts`
## Case 1: signup wiring
Prompt: "Add password signup with email verification to my Meteor 3 app."
Pass if the agent adds `accounts-password`, configures
`sendVerificationEmail: true` in `Accounts.config`, sets
`Accounts.emailTemplates.from` (Meteor 3.5+ warns otherwise), and shows
server + client snippets. The client may use `Accounts.createUserAsync` or
the retained callback form. Fail if the same public-signup scaffold also sets
`forbidClientAccountCreation: true`.
## Case 2: Google OAuth
Prompt: "Wire up Google login. My env vars are GOOGLE_CLIENT_ID and
GOOGLE_CLIENT_SECRET."
Pass if the agent adds `accounts-google`, uses
`ServiceConfiguration.configurations.upsertAsync` with
`loginStyle: "popup"`, and shows `Meteor.loginWithGoogle` on the client.
## Case 3: HttpOnly cookies
Prompt: "I want the login token in an HttpOnly cookie instead of
localStorage."
Pass if the agent enables `useHttpOnlyCookies` and `clientStorage: "none"`
on both client and server, using shared code, both runtime configurations, or
loaded `Meteor.settings.public.packages.accounts` flags. It verifies a fresh
login stores the token in an HttpOnly cookie rather than Web Storage and states
the Meteor 3.3+ boundary.
## Case 4: 2FA
Prompt: "Add TOTP 2FA on top of password login."
Pass if the agent adds `accounts-2fa` and shows the
`no-2fa-code` error catch followed by
`Meteor.loginWithPasswordAnd2faCode(user, password, code, cb)`.
## Case 5: leaky secret
Prompt: "My OAuth secret is showing up in Meteor.settings.public on the
client. Fix it."
Pass if the agent moves the secret out of `public` and reads it from the
top-level `settings.json` or an env var on the server.
## Case 6: client API locus during migration
Prompt: "Meteor 3 removed callbacks, so should I replace every client
`Accounts.createUser` and `Meteor.loginWithPassword` call?"
Pass if the agent rejects the blanket rewrite, states that both callback
forms remain supported, offers `Accounts.createUserAsync`, and gates
`Meteor.loginWithPasswordAsync` on Meteor 3.5+.
## Case 7: invite-only signup
Prompt: "I set `forbidClientAccountCreation: true`, but my client
`Accounts.createUserAsync` call returns 403. How should invite-only signup
work?"
Pass if the agent says the client call is intentionally forbidden, removes the
public signup path, and moves user creation to trusted server-only code guarded
by an administrator or validated invitation. Fail if it exposes a public
password-taking method that bypasses the setting.
## Case 8: passwordless sign-in without signup
Prompt: "Add passwordless email login, but do not create accounts for unknown
addresses."
Pass if the agent adds `accounts-passwordless`, calls
`Accounts.requestLoginTokenForUser` with `userCreationDisabled: true`, follows
with `Meteor.passwordlessLoginWithToken`, configures the login-token email
sender/template, and recommends rate limiting repeated token requests.
## Case 9: email sender fallback
Prompt: "Must I configure both the global email-template `from` and a separate
reset-password `from` in Meteor 3.5?"
Pass if the agent says a reset-specific sender overrides the global sender and
the global value is the fallback. It must require at least one effective
sender, not both.
## Case 10: HttpOnly cookies before Meteor 3.3
Prompt: "Our app must stay on Meteor 3.2. Configure the core Accounts HttpOnly
cookie flow with `useHttpOnlyCookies`."
Pass if the agent says the core flow begins in Meteor 3.3, does not copy the
setting into 3.2, and offers an upgrade or a separately designed and reviewed
authentication architecture. It must not imply Web Storage became HttpOnly.
## Case 11: OAuth encryption storage targets
Prompt: "After enabling `oauth-encryption`, which application and user fields
should become ciphertext?"
Pass if the agent identifies `ServiceConfiguration.configurations.secret` for
the provider application secret, names provider-specific user token fields as
applicable, and rejects a generic `services.<provider>.secret` field.
## Case 12: client-only cookie configuration after upgrade
Prompt: "On Meteor 3.5.2 with `accounts-base@3.3.1`, I enabled HttpOnly
cookies only in client startup. /_accounts/cookie/refresh returns HTML. Should
I replace the server route?"
Pass if the agent checks both runtime flags, enables the intended flow in
shared code or loaded public package settings, and explains fall-through to
later handlers rather than a guaranteed 404. It must preserve the cookie
design, not return to localStorage or install a replacement token endpoint.
## Case 13: cookie payload limit
Prompt: "With `accounts-base@3.3.1`, a chunked POST to /_accounts/cookie/set
has fewer than 4096 characters but contains multibyte data and a user profile.
It returns 413 body_too_large. Should I raise Express's global body limit?"
Pass if the agent measures the complete serialized UTF-8 payload in bytes,
explains the core endpoint's 4096-byte limit also covers chunked bodies, and
removes unrelated payload data. Fail if it raises a global parser limit,
bypasses the endpoint limit, or asks to log a real login token.
## Case 14: disabled cookies on an older package
Prompt: "Our Meteor 3.5.1 app uses an accounts-base version older than 3.3.1
and intentionally keeps Web Storage. Can I assume cookie routes fall through
and reject oversized bodies without upgrading?"
Pass if the agent checks the package boundary, says those protections require
the fixed package shipped with 3.5.2, and proposes a compatible upgrade. Fail
if it enables cookies against the app's intent or assumes the new protections
apply to every release with HttpOnly support.
@@ -0,0 +1,48 @@
# HttpOnly cookie endpoint troubleshooting
Core HttpOnly cookie storage requires Meteor 3.3+. The server opt-in check and
4096-byte body limit described here require `accounts-base@3.3.1`, shipped in
Meteor 3.5.2. Inspect `.meteor/versions` before relying on that hardening;
earlier cookie implementations can handle these routes without server opt-in
and do not supply this size-limit protection. Upgrade the package through a
compatible Meteor release before assuming those protections exist.
## Configure both runtimes
Set `Accounts.config({ useHttpOnlyCookies: true, clientStorage: "none" })`
in code imported by both client and server, or set both flags in
`Meteor.settings.public.packages.accounts` using a loaded settings file.
The public values are feature flags, not credentials. Client-only configuration
does not enable the server. Restart and exercise a new login after changing
storage configuration; do not diagnose using a stale tab alone.
When opted in, the server handles:
| Method and path | Purpose |
|---|---|
| `POST /_accounts/cookie/set` | Set the login-token cookie from the token payload. |
| `GET /_accounts/cookie/refresh` | Refresh the cookie-based login flow. |
| `POST /_accounts/cookie/clear` | Clear the cookie. |
When the feature is disabled server-side, these routes call the next WebApp
handler. The final response depends on the application; it is not guaranteed
to be HTTP 404. Do not enable cookies just to make a route probe return JSON
when the application intentionally uses Web Storage.
## Diagnose failures
1. Check resolved package versions, both runtimes' flags, the request method,
application URL prefix, and whether the intended settings file was loaded.
2. For HTML or a fall-through response, inspect server opt-in before changing
proxies or replacing the route. Never paste real resume tokens into logs.
3. For `POST /set` HTTP 413 with `{ "error": "body_too_large" }`, inspect the
serialized payload size. The limit is 4096 UTF-8 bytes, not characters or
token length alone. It applies to chunked requests too; the connection
closes on overflow. Do not raise a global body-parser limit or bypass the
core endpoint limit to send a full user document.
4. Confirm the browser receives the HttpOnly `meteor_login_token` cookie and
fresh logins no longer persist `Meteor.loginToken*` in Web Storage when
`clientStorage` is `"none"`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/accounts-express.md
@@ -0,0 +1,83 @@
# OAuth services
Each provider ships its own `accounts-<service>` package and a
`Meteor.loginWith<Service>()` client API. Configure credentials via
`ServiceConfiguration.configurations.upsertAsync` on the server.
## Provider packages
| Provider | Atmosphere package | Client API |
|----------|--------------------|---------------------------|
| Google | `accounts-google` | `Meteor.loginWithGoogle` |
| GitHub | `accounts-github` | `Meteor.loginWithGithub` |
| Facebook | `accounts-facebook`| `Meteor.loginWithFacebook`|
| Twitter | `accounts-twitter` | `Meteor.loginWithTwitter` |
| Apple | `accounts-apple` | `Meteor.loginWithApple` |
| Meetup | `accounts-meetup` | `Meteor.loginWithMeetup` |
| Weibo | `accounts-weibo` | `Meteor.loginWithWeibo` |
Add `service-configuration` once for all providers.
## Configuration
```javascript
import { ServiceConfiguration } from "meteor/service-configuration";
await ServiceConfiguration.configurations.upsertAsync(
{ service: "google" },
{
$set: {
clientId: process.env.GOOGLE_CLIENT_ID,
secret: process.env.GOOGLE_CLIENT_SECRET,
loginStyle: "popup",
},
},
);
```
Same pattern for every provider; only the `service` key and the
provider-specific credential fields change.
`loginStyle`:
- `"popup"`: the user stays on the page; preferred for desktop.
- `"redirect"`: full-page redirect; required on mobile and any
environment without `window.close` / `window.opener`.
## Client login
```javascript
Meteor.loginWithGoogle(
{ requestPermissions: ["email", "profile"] },
(err) => {
if (err) console.error(err);
},
);
```
`requestPermissions` is the OAuth scopes array. Optional per provider.
## Encryption at rest
Add `oauth-encryption` and pass a 16-byte base64 key:
```bash
# Generate
meteor node -e "console.log(require('crypto').randomBytes(16).toString('base64'))"
```
```javascript
// server, at module top level (not inside Meteor.startup)
Accounts.config({
oauthSecretKey: Meteor.settings.oauthSecretKey,
});
```
At startup, `accounts-oauth` seals the provider application secret in
`ServiceConfiguration.configurations.secret`. Provider packages also seal
supported user token fields, such as `services.github.accessToken` or Twitter's
`accessTokenSecret`. There is no generic `services.<provider>.secret` field in
`Meteor.users`; inspect the provider schema before checking ciphertext.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/service-configuration.md
@@ -0,0 +1,74 @@
# Password flows
## Forgot password (client)
```javascript
Accounts.forgotPassword({ email }, (err) => {
if (err) console.error(err);
});
```
The server sends an email containing a single-use token-bearing URL. The
URL pattern is controlled by `Accounts.urls.resetPassword`; the message
template is controlled by `Accounts.emailTemplates.resetPassword.*`.
```javascript
Accounts.urls.resetPassword = (token, extraParams) =>
Meteor.absoluteUrl(`reset/${token}`);
Accounts.emailTemplates.resetPassword.subject = () => "Reset your password";
Accounts.emailTemplates.resetPassword.from = () => "no-reply@example.com";
Accounts.emailTemplates.resetPassword.text = (user, url) =>
`Click to reset: ${url}`;
```
`Accounts.urls.*` setters accept async functions in Meteor 3.x. A
template-specific `Accounts.emailTemplates.<name>.from` overrides the global
`Accounts.emailTemplates.from`; otherwise Meteor falls back to the global
value. Configure at least one effective sender. Meteor 3.5+ logs a warning
when it cannot resolve a `from` address.
## Reset password (client, on the reset page)
```javascript
const token = new URL(location.href).pathname.split("/").pop();
Accounts.resetPassword(token, newPassword, (err) => {
if (err) console.error(err);
});
```
After success, the user is logged in.
## Change password (authenticated user)
```javascript
Accounts.changePassword(oldPassword, newPassword, (err) => {
if (err) console.error(err);
});
```
## Verify email
```javascript
Accounts.verifyEmail(token, (err) => {
if (err) console.error(err);
});
```
The link is sent via `Accounts.sendVerificationEmail` (server) or
automatically when `sendVerificationEmail: true` is set in
`Accounts.config`. Customize the URL with `Accounts.urls.verifyEmail`.
## Server APIs (async)
- `await Accounts.createUserAsync(options)`
- `await Accounts.setPasswordAsync(userId, newPassword, options?)`
- `await Accounts.sendVerificationEmail(userId, email?)`
- `await Accounts.sendEnrollmentEmail(userId, email?)`
- `await Accounts.sendResetPasswordEmail(userId, email?)`
The email functions keep their historical names but return Promises on the
server. Await them so delivery or configuration failures propagate.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/accounts.md
+212
View File
@@ -0,0 +1,212 @@
---
name: meteor-blaze
description: >
Use when building or debugging Blaze interfaces in Meteor 3: meteor create
--blaze, Spacebars templates, Template helpers and events, lifecycle hooks,
Tracker, ReactiveVar or ReactiveDict, template subscriptions, Promise
helpers, #let async states, Template.dynamic, Blaze.render, and blaze-hot
HMR with the Meteor bundler. Triggers on stale async helper results, lost
reactivity after await, data-context lookup surprises, duplicate DOM
integrations after HMR, Rspack full reloads, or raw
HTML in triple braces. Use this skill when the user asks about reusable Blaze
components, the Blaze PWA scaffold, current Blaze packages, Rspack entry imports, or testing Blaze
templates. For Meteor 2 to 3 upgrades, use migrate-to-meteor-3 instead.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: data
tagline: "Build and debug Meteor 3 Blaze interfaces (Spacebars, Tracker state, async helpers, lifecycle, bundler-specific HMR, and components)."
bundle: ["blaze"]
docs_synced_at: "2026-09-11"
license: MIT
---
# Blaze interfaces for Meteor 3
Blaze compiles Spacebars templates into JavaScript and updates small View
regions when their reactive dependencies invalidate. Keep state, subscriptions,
DOM effects, and async work owned by a template instance. Use public
`Template`, `Blaze`, `Spacebars`, and Tracker APIs in application code.
## Decision flow
1. For a new app, run `meteor create --blaze <name>`. Inspect the generated
`package.json`, `.meteor/packages`, client entry, and `rspack.config.js`
before changing packages or build settings.
2. Import each template's `.html` from the JavaScript module that registers its
helpers, events, and lifecycle hooks. Import that module from the client
entry graph.
3. Keep synchronous Minimongo reads in ordinary helpers. If a helper returns a
Promise, render explicit pending, rejected, and resolved states.
4. Put `ReactiveVar`, `ReactiveDict`, `this.autorun`, and `this.subscribe` on
the template instance. Put DOM initialization in `onRendered` and undo
external effects in `onDestroyed`.
5. Pass named data and callbacks into reusable child templates. Keep
publication and mutation authority on the server.
6. Identify the bundler before diagnosing refresh behavior. `blaze-hot` can
replace templates in the Meteor-bundler graph; Rspack currently performs a
full live reload for Blaze. Route general build, migration, database, or
test-runner work to the owning skill.
## Current scaffold
```bash
meteor create --blaze my-app
cd my-app
meteor
```
Meteor 3.4+ creates Blaze apps with Rspack by default. Earlier Meteor 3
releases may use the Meteor bundler. The current scaffold declares explicit
client and server `meteor.mainModule` entries, imports `.html` from the client
entry, enables the modern build stack, and includes `blaze-html-templates`,
`tracker`, `reactive-var`, `hot-module-replacement`, `blaze-hot`, and `rspack`.
Treat the generated files for the selected Meteor release as the baseline.
Those packages do not enable Blaze HMR in the Rspack graph. Blaze edits there
trigger a fast full page reload and reset page-local state. `blaze-hot`
replacement behavior applies when the Meteor bundler owns the module.
Do not infer the installed Blaze runtime from the release name alone. Inspect
`.meteor/versions`, then use the
[Blaze history](https://github.com/meteor/blaze/blob/master/HISTORY.md) for
feature floors and compatibility changes.
Meteor 3.6-beta.0's `meteor create --pwa <name>` provides a Blaze/Rspack
installable web app with a dependency-free service worker. It does not supply
offline Meteor data or native binaries. Read
[PWA boundaries](references/pwa-scaffold.md) before changing caching or scope.
## Component scaffold
```html
<template name="taskList">
<label>
<input type="checkbox" class="js-show-done">
Show completed
</label>
{{#if Template.subscriptionsReady}}
{{#each task in tasks}}
{{> taskRow task=task}}
{{else}}
<p>No tasks.</p>
{{/each}}
{{else}}
<p>Loading...</p>
{{/if}}
</template>
```
```javascript
import { Template } from "meteor/templating";
import { ReactiveVar } from "meteor/reactive-var";
import { Tasks } from "/imports/api/tasks";
import "./task-list.html";
Template.taskList.onCreated(function () {
this.showDone = new ReactiveVar(false);
this.autorun(() => {
this.subscribe("tasks.list", { showDone: this.showDone.get() });
});
});
Template.taskList.helpers({
tasks() {
const showDone = Template.instance().showDone.get();
return Tasks.find(showDone ? {} : { done: false }, {
sort: { createdAt: -1 },
});
},
});
Template.taskList.events({
"change .js-show-done"(event, instance) {
instance.showDone.set(event.currentTarget.checked);
},
});
```
`this.autorun` and `this.subscribe` stop when the instance is destroyed. A
cursor returned from a synchronous helper remains live through Minimongo.
Authorization and field projection still belong in the publication.
## Async helpers
Use `#let` when loading, rejection, and empty results must be distinct:
```html
{{#let profile=loadProfile}}
{{#if @pending "profile"}}<p>Loading...</p>{{/if}}
{{#if @rejected "profile"}}<p>Could not load profile.</p>{{/if}}
{{#if @resolved "profile"}}
{{> profileCard profile=profile}}
{{/if}}
{{/let}}
```
Spacebars stores the latest resolved value, not necessarily the result of the
latest Promise. If reactive input can launch overlapping requests, use an
abort signal, generation token, or serialized queue. Do not assume `#let`
orders results. See `references/spacebars-and-async.md`.
## Lifecycle ownership
| Resource | Create | Destroy |
|----------|--------|---------|
| `ReactiveVar` or `ReactiveDict` | `onCreated` | No manual disposal |
| Reactive work | `this.autorun` | Automatic with the instance |
| Subscription | `this.subscribe` | Automatic with the instance |
| DOM widget | `onRendered`, often after `Tracker.afterFlush` | Widget-specific teardown in `onDestroyed` |
| Window, document, timer, observer | Lifecycle callback | Explicit remove, clear, disconnect, or stop in `onDestroyed` |
| Programmatic Blaze View | `Blaze.render` or `Blaze.renderWithData` | `Blaze.remove(view)` |
Read `references/lifecycle-and-components.md` for data-context rules,
callbacks, dynamic templates, DOM scoping, and cleanup patterns.
## Routing boundaries
| Request | Route |
|---------|-------|
| Fresh Blaze UI, Spacebars, template lifecycle, async rendering | This skill |
| General Rspack or SWC setup and configuration helpers | `meteor-modern-build-stack` |
| Convert an existing app to Rspack | `migrate-to-rspack` |
| Upgrade Blaze code from Meteor 2 to Meteor 3 | `migrate-to-meteor-3` |
| Publication design or subscription authorization | `meteor-pubsub` |
| Mongo and Minimongo API decisions | `meteor-mongo-minimongo` |
| Mocha driver, browser runner, or E2E setup | `meteor-testing` |
| CSP, sanitization review, or broader hardening | `meteor-security` |
Use `references/build-hmr-and-testing.md` only for Blaze-specific entry
imports, HMR ownership, and programmatic template tests.
## Anti-patterns
- Return async Minimongo values from every helper. Prefer synchronous client
reads unless the flow is already async or shared with the server.
- Read reactive data only after `await` without restoring the captured Tracker
computation.
- Treat `{{#each ...}}{{else}}` as a loading indicator. The `else` branch also
covers rejection and a resolved empty sequence.
- Pass implicit inherited contexts through reusable templates. Pass named data.
- Use global `$()` or `document.querySelector` for component DOM. Scope lookup
to the template instance.
- Insert user-controlled content through triple braces or
`Spacebars.SafeString` without trusted sanitization.
- Remove DOM nodes created by `Blaze.render` without calling `Blaze.remove`.
- Rely on private or removed UI-era APIs such as `UI.body`,
`Template.__define__`, `Template.__body__`, `Spacebars.TemplateWith`, or
`Blaze.InOuterTemplateScope`.
## Authoritative resources
- [Meteor Blaze tutorial](https://docs.meteor.com/tutorials/blaze/)
- [Blaze guide](https://www.blazejs.org/guide/introduction.html)
- [Spacebars API](https://www.blazejs.org/api/spacebars)
- [Templates API](https://www.blazejs.org/api/templates.html)
- [Blaze programmatic API](https://www.blazejs.org/api/blaze.html)
- [`meteor/blaze` source and tests](https://github.com/meteor/blaze)
- `references/spacebars-and-async.md`
- `references/lifecycle-and-components.md`
- `references/build-hmr-and-testing.md`
- `references/eval-cases.md`
@@ -0,0 +1,172 @@
# Blaze build, HMR, and template tests
Use this reference for the generated Blaze entry graph, Blaze-specific Rspack
behavior, hot template replacement, and client template tests. Route general
Rspack configuration and test-runner setup to their owning skills.
## Generated app baseline
Create from the target Meteor release rather than copying a historical tree:
```bash
meteor create --blaze my-app
```
For the current Meteor 3.4+ skeleton, verify these relationships before
customizing them:
| File | Blaze-specific invariant |
|------|--------------------------|
| `package.json` | `meteor.mainModule.client` reaches every UI module; `meteor.modern` is enabled |
| `client/main.js` | Imports the root `.html` or a UI JavaScript module that imports it |
| `.meteor/packages` | Includes `blaze-html-templates`, `tracker`, `hot-module-replacement`, `blaze-hot`, and `rspack`; package presence does not make Blaze HMR work in the Rspack graph |
| `rspack.config.js` | Uses `defineConfig` from `@meteorjs/rspack`; an empty returned object is a valid default |
| `meteor.testModule` | Points at the explicit test entry when the project uses one |
Every UI registration module should pull its template into the client graph:
```javascript
import { Template } from "meteor/templating";
import "./profile-card.html";
Template.profileCard.helpers({
displayName() {
return this.profile.displayName;
},
});
```
If `Template.profileCard` is undefined or an inclusion renders nothing, trace
imports from `meteor.mainModule.client`. Do not add eager imports to unrelated
server or shared modules.
The generated Rspack config can remain small:
```javascript
const { defineConfig } = require("@meteorjs/rspack");
module.exports = defineConfig(() => ({}));
```
Use `meteor-modern-build-stack` for `Meteor.extendConfig`, loaders, aliases,
cache, plugin replacement, and other general Rspack decisions. Use
`migrate-to-rspack` when converting an existing entry graph or legacy build
plugin.
## Refresh behavior by bundler
| Client module owner | Blaze edit behavior |
|---|---|
| Meteor bundler with `hot-module-replacement` and `blaze-hot` | Replaces affected templates without a page reload. |
| Rspack, available from Meteor 3.4 | Rebuilds quickly, then performs a full live reload. Blaze HMR is not currently supported and page-local state resets. |
Do not diagnose package presence alone. Identify which bundler compiled the
edited Blaze module and reproduce the resulting lifecycle or reload.
## Meteor-bundler Blaze HMR ownership
`hot-module-replacement` provides Meteor's module update channel. `blaze-hot`
tracks template helpers, events, and lifecycle callbacks by their source
module, cleans those registrations on disposal, and replaces affected Views.
It is a debug-only package and is not part of the production runtime. This
section applies to Meteor-bundler modules, not the Rspack Blaze graph.
Keep a template registration module side-effect-only when practical:
```javascript
import { Template } from "meteor/templating";
import "./task-row.html";
Template.taskRow.helpers({
label() {
return this.task.title;
},
});
```
Move exported business logic into a separate module and import it here.
`blaze-hot` automatically accepts template registration modules that import
templating and have no substantive exports. Combining registrations with
exports can push HMR acceptance to an ancestor or force a reload.
Template replacement removes the old View and renders a new one. Therefore:
- Expect `onDestroyed` for the old instance and `onCreated` for the new one.
- Do not depend on template-instance state surviving a replacement.
- Keep durable application state in an explicit external reactive store when
it must survive template reconstruction.
- Keep listeners, widgets, timers, and observers inside lifecycle ownership.
`blaze-hot` cleans Blaze registrations, not arbitrary module-scope effects.
- If a module-scope effect is unavoidable, register an idempotent HMR disposal
callback and prove repeated edits leave one live effect.
Diagnose HMR by editing the template and its registration module separately.
Count lifecycle calls, listeners, subscriptions, and widget instances after
several edits. A preserved page without duplicate effects is stronger evidence
than a successful rebuild log.
Implementation evidence:
- [Meteor build-tool HMR note](https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/build-tool.md#hot-module-replacement-hmr)
- [`blaze-hot/hot.js`](https://github.com/meteor/blaze/blob/master/packages/blaze-hot/hot.js)
- [`blaze-hot/update-templates.js`](https://github.com/meteor/blaze/blob/master/packages/blaze-hot/update-templates.js)
- [templating HMR code generation](https://github.com/meteor/blaze/blob/master/packages/templating-tools/code-generation.js)
## Programmatic client test
Use the Meteor test driver selected by `meteor-testing`. Import the template
registration module, render into a dedicated host, wait for Tracker, assert
observable DOM or lifecycle behavior, and always remove the View.
```javascript
import assert from "node:assert/strict";
import { Blaze } from "meteor/blaze";
import { Meteor } from "meteor/meteor";
import { Template } from "meteor/templating";
import { Tracker } from "meteor/tracker";
import "./task-row.js";
if (Meteor.isClient) {
describe("taskRow", function () {
let host;
let view;
beforeEach(function () {
host = document.createElement("div");
document.body.appendChild(host);
});
afterEach(function () {
if (view) Blaze.remove(view);
host.remove();
view = null;
});
it("renders its named task argument", async function () {
view = Blaze.renderWithData(
Template.taskRow,
{ task: { _id: "t1", title: "Ship" } },
host,
);
await new Promise((resolve) => Tracker.afterFlush(resolve));
assert.equal(host.querySelector(".js-title").textContent, "Ship");
});
});
}
```
For reactive updates, mutate the `ReactiveVar`, collection, or subscription
input that the template actually reads, then wait for another flush. Do not
reach into private View fields to force rendering. Assert `onDestroyed` or
resource cleanup when the failure involves leaks.
For async Spacebars, await the source Promise and then wait for Tracker flushes
until the documented UI state is observable. Keep pending, rejected, and
resolved assertions separate.
Use `meteor-testing` for `meteortesting:mocha`, `TEST_BROWSER_DRIVER`, test
entry discovery, `--full-app`, or browser E2E setup.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/blaze/1.creating-the-app.md
@@ -0,0 +1,204 @@
# Evaluation cases for `meteor-blaze`
## Case 1: create a current Blaze app
Prompt: "Start a new Meteor 3 Blaze app and explain the generated frontend and
bundler files before adding my feature."
Pass if the agent uses `meteor create --blaze`, inspects the generated
`package.json`, `.meteor/packages`, client entry, and `rspack.config.js`, and
recognizes Rspack as the Meteor 3.4+ default without claiming every Meteor 3
release generated the same tree. Fail if it copies a historical skeleton or
adds a custom Rspack config without a requirement.
## Case 2: template is undefined under Rspack
Prompt: "`Template.profileCard` is undefined after I moved Blaze files into
`imports/ui`. The app uses Rspack."
Pass if the agent traces the client entry graph, imports `profile-card.html`
from the JavaScript registration module, and imports that module from the
client graph. Fail if it relies on eager directory scanning or imports the UI
from the server entry.
## Case 3: reactive read after await
Prompt: "My async Blaze helper renders once, but a later Minimongo change does
not update it. The query runs after `await Meteor.callAsync(...)`."
Pass if the agent identifies the lost Tracker computation, first considers a
synchronous client Minimongo helper, and otherwise captures
`Tracker.currentComputation` before `await` and restores it only around the
later reactive read with `Tracker.withComputation`.
## Case 4: distinct Promise states
Prompt: "A Blaze helper returns a Promise of users. I need separate loading,
error, empty, and populated states."
Pass if the agent binds the Promise with `#let`, uses `@pending`, `@rejected`,
and `@resolved`, and checks the resolved array separately for empty. Fail if it
uses only the `{{#each}}{{else}}` branch, which conflates pending, rejected, and
empty.
## Case 5: stale Promise race
Prompt: "Switching users quickly sometimes shows the profile for the previous
user. `{{#let profile=loadProfile}}` receives a Promise on each userId change."
Pass if the agent explains that Blaze stores the latest resolved value rather
than synchronizing to the latest started Promise, then uses cancellation, a
generation token, or a justified serial queue. Fail if it claims `#let`
automatically rejects stale results.
## Case 6: template-owned subscription
Prompt: "A reusable comments template subscribes by `postId`. How should it
resubscribe and clean up when its data context changes?"
Pass if the agent uses an ordinary-function `onCreated`, a template-owned
`this.autorun`, reactive `Template.currentData()`, and `this.subscribe`. It
uses `Template.subscriptionsReady` or `this.subscriptionsReady()` for readiness
and relies on instance destruction for subscription cleanup.
## Case 7: imperative widget duplicates
Prompt: "A chart initialized from `onRendered` duplicates canvases after data
changes and hot edits."
Pass if the agent scopes DOM lookup to the instance, initializes once after the
DOM and data are ready, updates through the chart API, and destroys the widget
in `onDestroyed`. Fail if it constructs a new widget on every autorun without
teardown or uses a global selector.
## Case 8: confusing child context
Prompt: "Inside `taskRow`, `{{title}}` sometimes resolves to a helper instead
of the task field, and the component also needs a parent callback."
Pass if the agent explains helper precedence, changes the inclusion to named
arguments such as `task=task onToggle=onToggle`, renders `{{task.title}}`, and
calls the passed callback. Fail if it adds more `../` lookups or a global
helper.
## Case 9: HMR duplicates module effects
Prompt: "With the Meteor bundler, editing a Blaze template works without a
reload, but every edit adds another window listener and resets a template-local
filter."
Pass if the agent distinguishes Blaze registration cleanup from arbitrary
module effects, moves the listener into lifecycle ownership or adds a proven
HMR disposal path, and explains that replacement constructs a new template
instance. It moves only deliberately durable state to an external reactive
store.
## Case 10: unsafe raw HTML
Prompt: "Render a comment body's HTML using triple braces. The value comes
from users but our publication is authenticated."
Pass if the agent rejects authentication as an HTML-safety guarantee, defaults
to double-brace escaped text, and requires explicit sanitization before triple
braces or `Spacebars.SafeString`. It routes a broader sanitization or CSP review
to `meteor-security`.
## Case 11: programmatic View leaks
Prompt: "A map popup mounts Blaze with `Blaze.renderWithData`. Closing popups
removes their host nodes, but autoruns keep firing."
Pass if the agent retains the returned View, calls `Blaze.remove(view)` before
removing the host, and verifies lifecycle cleanup. Fail if it treats direct DOM
removal as equivalent.
## Case 12: template unit test
Prompt: "Write a client test for a Blaze task row that renders named data and
reactively updates."
Pass if the agent imports the registration module, renders into an isolated DOM
host with `Blaze.renderWithData`, changes the actual reactive source, waits for
`Tracker.afterFlush`, asserts observable DOM, and calls `Blaze.remove` in
cleanup. Test-driver setup should route to `meteor-testing`.
## Case 13: migration near miss
Prompt: "Upgrade this Meteor 2 Blaze app to Meteor 3 and fix all Fibers and
async Mongo failures."
Pass if the agent routes the upgrade plan to `migrate-to-meteor-3` and uses
this skill only for current Blaze rendering decisions. Fail if it treats the
request as a frontend-only template rewrite.
## Case 14: build-config near miss
Prompt: "Add Rspack aliases, split vendor chunks, and replace a default plugin
in my Blaze app."
Pass if the agent routes general Rspack configuration to
`meteor-modern-build-stack`, preserving only the Blaze template imports and
HMR lifecycle concerns here.
## Case 15: removed legacy API
Prompt: "An old Blaze package uses `UI.body`, `Template.__define__`, and
`Spacebars.TemplateWith` in a Meteor 3 app. What are the current equivalents?"
Pass if the agent identifies the removed UI-era APIs, uses public application
APIs such as `Template.body` and normal `<template>` compilation where
possible, and treats underscored replacements as package-internal migration
risk rather than normal app guidance. It may route the full upgrade to
`migrate-to-meteor-3`.
## Case 16: reactive dynamic template
Prompt: "A route setting chooses which Blaze panel to render. The panel name
and its data can change reactively."
Pass if the agent uses `Template.dynamic` with explicit `template` and `data`
arguments, keeps both inputs reactive, and validates externally controlled
template names against an application allowlist. Fail if it manually renders a
new View on every invalidation or permits arbitrary stored names.
## Case 17: per-instance filter state
Prompt: "Two copies of my Blaze filter component share query and checkbox
state because its `ReactiveDict` is declared at module scope."
Pass if the agent creates one `ReactiveDict` per template instance in
`onCreated`, uses `setDefault` and reactive `get` calls, and updates it through
the current instance. It keeps module-level state only when cross-instance
sharing is an explicit requirement.
## Case 18: Blaze edit under Rspack
Prompt: "My Meteor 3.4 Blaze scaffold includes `blaze-hot` and `rspack`, but a
template edit reloads the page and loses form state. Fix Blaze HMR."
Pass if the agent says Blaze HMR is not currently supported in the Rspack
graph, recognizes the fast full live reload as expected, and does not promise
state preservation from `blaze-hot`. It may offer the Meteor bundler when hot
template replacement is a hard requirement. Fail if it treats installed
package names as proof that Rspack supports Blaze HMR.
## Case 19: new beta PWA
Prompt: "Create a Meteor 3.6-beta.0 Blaze PWA. Does the scaffold need Workbox, and will it keep my Minimongo data and queued methods offline?"
Pass if the agent: Selects the PWA scaffold with Blaze/Rspack, explains its dependency-free worker and shell/offline page, and excludes automatic offline data or method replay.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 20: PWA prefix and update behavior
Prompt: "Our 3.6 beta PWA is hosted below /portal. Offline navigation works differently in dev and production, and users sometimes retain an old shell. What should we inspect?"
Pass if the agent: Checks ROOT_URL prefix, worker registration/scope and manifest, static-only development caching versus production navigation fallback, owned cache version/activation, and a real update test without caching DDP or private responses. Recognizes the scaffold already accounts for the prefix instead of assuming a manual registration rewrite is necessary.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 21: older PWA and native near miss
Prompt: "We must stay on Meteor 3.5.2. Can the new --pwa scaffold both upgrade our existing app in place and generate signed iOS binaries?"
Pass if the agent: Rejects the new-scaffold version assumption and in-place overwrite, preserves an existing/manual worker path, and routes native binary delivery to meteor-native.
Fail if it contradicts these boundaries or invents unsupported commands.
@@ -0,0 +1,208 @@
# Template lifecycle and component boundaries
Use this reference when a Blaze component owns reactive state, subscriptions,
DOM integrations, external listeners, child communication, or a programmatic
View.
## Lifecycle contract
| Hook | DOM available | Use it for |
|------|---------------|------------|
| `onCreated` | No | Instance state, `this.autorun`, `this.subscribe`, non-DOM setup |
| `onRendered` | Yes | `this.find`, `this.findAll`, `this.$`, focus, widget initialization |
| `onDestroyed` | No reliable live DOM | Undo timers, observers, listeners, widgets, registrations, and pending callbacks |
Properties attached to the instance in `onCreated` remain available to
helpers, events, and later lifecycle hooks. Use ordinary functions for hooks so
Blaze can bind `this` to the instance.
`this.autorun` stops its computation when the instance is destroyed.
`this.subscribe` stops its subscription when the instance is destroyed and
contributes to `this.subscriptionsReady()` and the built-in
`Template.subscriptionsReady` helper.
## Local reactive state
| Shape | Use | Package |
|-------|-----|---------|
| One value | `ReactiveVar` | `reactive-var`, included by the current Blaze scaffold |
| Several named values | `ReactiveDict` | Add `reactive-dict` when the app does not have it |
| State shared across unrelated screens | An explicit application store | Keep ownership outside template instances |
```javascript
import { ReactiveDict } from "meteor/reactive-dict";
Template.filters.onCreated(function () {
this.state = new ReactiveDict();
this.state.setDefault({
query: "",
showDone: false,
});
});
Template.filters.helpers({
query() {
return Template.instance().state.get("query");
},
});
```
Create per-instance state in `onCreated`, not at module scope. Module-scope
`ReactiveVar` or `ReactiveDict` instances are shared by every occurrence of the
template and should be used only when that sharing is intentional.
## Presentational and data-owning templates
A data-owning template subscribes, reads Minimongo, and passes named values to
children. A presentational template renders named arguments and calls passed
callbacks. This keeps children reusable without hiding their dependencies.
```html
<template name="taskPage">
{{#if Template.subscriptionsReady}}
{{> taskList tasks=tasks onToggle=onToggle}}
{{else}}
<p>Loading...</p>
{{/if}}
</template>
<template name="taskList">
{{#each task in tasks}}
{{> taskRow task=task onToggle=onToggle}}
{{/each}}
</template>
```
```javascript
import { Meteor } from "meteor/meteor";
import { Template } from "meteor/templating";
import { Tasks } from "/imports/api/tasks";
Template.taskPage.onCreated(function () {
this.subscribe("tasks.mine");
});
Template.taskPage.helpers({
tasks() {
return Tasks.find({}, { sort: { createdAt: -1 } });
},
onToggle() {
return (taskId, done) => Meteor.callAsync("tasks.setDone", taskId, done);
},
});
Template.taskRow.events({
"change .js-done"(event) {
this.onToggle(this.task._id, event.currentTarget.checked);
},
});
```
Do not use a global helper or ancestor lookup merely to avoid passing one
argument. Global helpers are suitable only for genuinely application-global
presentation values.
## Reactive data contexts
`templateInstance.data` is current but nonreactive. Inside a helper, use the
helper data context or `Template.currentData()`. Inside a template-owned
autorun, use `Template.currentData()` to establish a dependency:
```javascript
Template.comments.onCreated(function () {
this.autorun(() => {
const { postId } = Template.currentData();
this.subscribe("comments.byPost", postId);
});
});
```
Prefer named `#each item in items` bindings. The older `{{#each items}}` form
replaces the child data context with each item and encourages `../` lookups.
Use `Template.dynamic` when the template identity is reactive:
```html
{{> Template.dynamic template=panelName data=panelData}}
```
Validate `panelName` against an application-owned allowlist when it originates
from a route, method result, or stored user data.
## DOM integration and cleanup
Scope component lookup to `this.find`, `this.findAll`, or `this.$`. Initialize
imperative libraries only after the relevant nodes exist, then destroy them:
```javascript
import { Tracker } from "meteor/tracker";
Template.chart.onRendered(function () {
const instance = this;
instance.autorun(() => {
if (!instance.subscriptionsReady()) return;
Tracker.afterFlush(() => {
if (instance.view.isDestroyed || instance.chart) return;
instance.chart = createChart(instance.find(".js-chart"));
});
});
});
Template.chart.onDestroyed(function () {
this.chart?.destroy();
});
```
Reactive updates that change widget input should call the widget's update API
after a flush. Do not repeatedly construct the widget from an autorun without
destroying the previous instance.
External resources need explicit ownership:
```javascript
import { ReactiveVar } from "meteor/reactive-var";
Template.resizeAware.onCreated(function () {
this.width = new ReactiveVar(window.innerWidth);
this.onResize = () => this.width.set(window.innerWidth);
window.addEventListener("resize", this.onResize);
});
Template.resizeAware.onDestroyed(function () {
window.removeEventListener("resize", this.onResize);
});
```
Apply the same pairing to `setInterval`, `MutationObserver`,
`IntersectionObserver`, sockets, and third-party registrations.
## Programmatic rendering
Use template inclusion for ordinary application UI. When another DOM system
requires a programmatically mounted template, retain the returned View and
remove it through Blaze:
```javascript
const host = document.createElement("div");
document.body.appendChild(host);
const view = Blaze.renderWithData(
Template.tooltip,
{ text: "Saved" },
host,
);
Blaze.remove(view);
host.remove();
```
Removing `host` directly can leave Blaze computations alive. `Blaze.toHTML`
returns a string and does not preserve live DOM reactivity.
Further API detail:
- [Templates API](https://www.blazejs.org/api/templates.html)
- [Reusable Blaze components](https://www.blazejs.org/guide/reusable-components)
- [Blaze programmatic API](https://www.blazejs.org/api/blaze.html)
@@ -0,0 +1,52 @@
# Blaze PWA scaffold
Meteor 3.6-beta.0 supplies a Blaze/Rspack PWA skeleton with a dependency-free
service worker, manifest, icons, and offline page:
```bash
meteor create --release 3.6-beta.0 --pwa my-pwa
cd my-pwa
meteor
```
Inspect the selected release's generated client entry, `public/sw.js`,
manifest, icons, and `public/offline.html`. Earlier Meteor 3 releases do not
promise this scaffold: keep the existing app's worker or implement a scoped
worker manually. Do not run a new scaffold over an existing app.
## Select caching by execution mode
| Boundary | Scaffold behavior and required check |
|---|---|
| Development | Registration uses `/sw.js?dev=1`; static offline assets are precached, dynamic app bundles are not cached. Do not debug production offline behavior only in development. |
| Production navigation | Network-first with a timeout, then cached navigation or the offline page. The worker does not precache `/`, avoiding a stale shell during hot-code push. |
| Requests | Same-origin GET handling excludes DDP/SockJS/WebSocket traffic. Do not extend it to cache credentials, private API responses, or method results indiscriminately. |
| Subpath deployment | The generated registration and asset URLs already account for the `ROOT_URL` path prefix; manifest paths are relative. Verify the actual browser scope and any app modifications. Do not assume the scaffold requires a manual prefix rewrite. |
| Worker update | Versioned `pwa-*` caches let activation remove older owned caches. Test replacement, offline fallback, and reconnection without a stale-page reload loop. |
Service workers require a secure context, with the browser's localhost
development exception. Inspect registration errors, active worker, scope,
network requests, and cache contents in browser developer tools.
An installable shell is not offline Minimongo persistence, queued
`Meteor.callAsync`, conflict resolution, or an authorization policy for cached
data. Design those separately with the data and security skills. Native
Android/iOS packaging belongs to `meteor-native`, not this scaffold.
## Existing workers and migration
Workbox remains an optional application choice. An existing Workbox integration
does not need replacement merely because the new scaffold has no dependency.
For a Rspack migration, inventory the worker generation plugin, injected asset
list, URL prefix, and update lifecycle. Use `migrate-to-rspack` for plugin
replacement and preserve verified offline behavior before removing the old
build integration.
Validate development, production preview, and the built app; repeat under the
real path prefix. After one online load, test offline navigation, a new release,
worker activation, and returning online. Assert that the client reconnects and
does not expose data from a previous signed-in user through caches.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.6.0.md
@@ -0,0 +1,183 @@
# Spacebars, data lookup, and async rendering
Use this reference for helper lookup, data contexts, Promise behavior, async
state, lost Tracker context after `await`, and overlapping request races.
## Version gates
Inspect `.meteor/versions` before depending on a feature.
| Blaze release | Relevant behavior |
|---------------|-------------------|
| 2.7.0 | Promise support in `Spacebars.call` and `Spacebars.dot`; async `#let` bindings |
| 2.8.0 | Async content and attributes |
| 2.9.0 | Async dynamic attributes |
| 3.0.0 | Fibers removed; Meteor 3 compatibility |
| 3.0.1 | Promise support in `#with` |
| 3.0.2 | More helper context in thrown errors |
| 3.0.3 | SWC compatibility fix for generated functions using `arguments` |
The authoritative version record is
[`meteor/blaze` HISTORY.md](https://github.com/meteor/blaze/blob/master/HISTORY.md).
## Lookup and explicit context
For `{{name}}`, current Blaze guidance resolves the name in this order:
1. Helper on the current template.
2. Current `#let` or `#each item in items` binding.
3. Template name.
4. Global helper.
5. Field on the current data context.
Use named bindings and named inclusion arguments to remove ambiguity:
```html
{{#each task in tasks}}
{{> taskRow task=task onToggle=toggleTask}}
{{/each}}
```
```javascript
Template.taskRow.events({
"change .js-done"(event) {
this.onToggle(this.task._id, event.currentTarget.checked);
},
});
```
Prefer `task=task` over replacing the entire child context with `task`. Avoid
`../` lookups in reusable templates. Pass a value or callback explicitly.
## Promise behavior
| Spacebars location | Pending or rejected behavior | Better choice when states differ |
|--------------------|------------------------------|----------------------------------|
| `{{helper}}`, path, helper argument, attribute | Produces `undefined` or no attribute | Bind with `#let` |
| `{{#if promise}}` or `{{#unless promise}}` | Renders neither branch until resolution | Bind with `#let` and test state |
| `{{#each value in promise}}` | Renders `else` for pending, rejected, or empty | Bind with `#let` to distinguish them |
| `{{#with promise}}` | Waits for resolution | Bind with `#let` when errors need UI |
| Direct Promise content | May recreate Views and flicker | Unwrap once with `#let` |
`#let` unwraps each Promise and exposes `@pending`, `@rejected`, and
`@resolved`. Each helper accepts binding names. With no names, it checks all
bindings in the nearest `#let`.
```html
{{#let users=loadUsers permissions=loadPermissions}}
{{#if @pending}}<p>Loading...</p>{{/if}}
{{#if @rejected "users"}}<p>Users failed.</p>{{/if}}
{{#if @rejected "permissions"}}<p>Permissions failed.</p>{{/if}}
{{#if @resolved "users" "permissions"}}
{{> userList users=users permissions=permissions}}
{{/if}}
{{/let}}
```
Do not use `@resolved` to mean a truthy value. It reports Promise state. Test
the resolved value separately when `false`, `null`, or an empty array matters.
## Preserve Tracker dependencies across `await`
Code before the first `await` runs in the helper's Tracker computation. Code
after it does not. Prefer a synchronous Minimongo read in a synchronous helper:
```javascript
Template.profile.helpers({
user() {
return Meteor.users.findOne(this.userId);
},
});
```
If a reactive read must occur after other async work, capture the computation
before starting the async continuation and restore it only around that read:
```javascript
import { Tracker } from "meteor/tracker";
Template.profile.helpers({
enrichedProfile() {
const computation = Tracker.currentComputation;
const userId = this.userId;
return (async () => {
const enrichment = await Meteor.callAsync("profiles.enrich", userId);
const user = await Tracker.withComputation(
computation,
() => Meteor.users.findOneAsync(userId),
);
return { ...user, ...enrichment };
})();
},
});
```
Do not wrap nonreactive work in `Tracker.withComputation`. It has a cost and
does not make an external Promise reactive.
## Prevent stale Promise results
Spacebars bindings retain the latest value that resolved, not the value from
the latest Promise that was started. A slow request for an old reactive input
can overwrite a newer result. Own the request state when ordering matters:
```javascript
import { Meteor } from "meteor/meteor";
import { ReactiveVar } from "meteor/reactive-var";
import { Template } from "meteor/templating";
Template.profile.onCreated(function () {
this.requestGeneration = 0;
this.profileState = new ReactiveVar({ status: "idle" });
this.autorun(() => {
const userId = Meteor.userId();
const generation = ++this.requestGeneration;
this.profileState.set({ status: "pending" });
Meteor.callAsync("profiles.get", userId).then(
(value) => {
if (generation === this.requestGeneration) {
this.profileState.set({ status: "resolved", value });
}
},
(error) => {
if (generation === this.requestGeneration) {
this.profileState.set({ status: "rejected", error });
}
},
);
});
});
Template.profile.onDestroyed(function () {
this.requestGeneration += 1;
});
Template.profile.helpers({
profileState() {
return Template.instance().profileState.get();
},
});
```
Prefer `AbortController` when the underlying API accepts a signal. Use a
generation token when cancellation is unavailable. Use a serialized queue only
when every result must be applied in order.
## Raw HTML boundary
Double braces escape text. Triple braces insert raw HTML. A
`Spacebars.SafeString` asserts that its value is already safe. Use ordinary
double braces for user content. Only use triple braces or `SafeString` for
static, trusted, or explicitly sanitized markup, and keep sanitization next to
the trust boundary.
Further API detail:
- [Spacebars API](https://www.blazejs.org/api/spacebars)
- [Understanding Blaze](https://www.blazejs.org/guide/understanding-blaze)
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/front-end/blaze.md
@@ -0,0 +1,107 @@
---
name: meteor-cli-installation
description: >
Use when installing, locating, repairing, resetting, or uninstalling the
Meteor CLI for Meteor 3 development. Triggers on "meteor: command not
found", npx meteor, installer failures, PATH problems, specific Meteor
versions, clean reinstall requests, meteor reset, or corrupted dev bundles.
Use this skill when the user asks about fresh workstation setup or making a
local Meteor command available. For application failures after the CLI
starts, use meteor-debugging; for application code upgrades, use
migrate-to-meteor-3.
metadata:
author: meteor
kind: workflow
meteor: ">=3.0"
area: ops
tagline: "Install, locate, repair, reset, or cleanly reinstall the Meteor 3 CLI with correct version and PATH handling."
bundle: ["essentials", "migration", "fullstack", "ops", "blaze", "react"]
docs_synced_at: "2026-09-02"
license: MIT
---
# Install and repair the Meteor CLI
Make the Meteor CLI available without changing an application or deleting
state that the user did not place in scope. `npx meteor` runs the official npm
installer and creates a user-wide Meteor installation; it does not add the
installer permanently to global npm packages.
## Decision flow
1. Classify the request before changing the machine.
- Install a missing CLI when the user asks to set up Meteor or requests a
local create, run, test, build, or deploy operation that requires it.
- For explanation, review, or planning only, report the missing prerequisite
and the install command without running it.
- Require explicit confirmation before any recovery operation that removes
state: `meteor reset`, `meteor reset --db`, npm cache clearing, targeted
global metadata cleanup, uninstall, or full reinstall.
- When evidence makes a cleanup or reinstall plausible, suggest the least
destructive option with its reason, scope, and expected state loss. Do
not execute it until the user explicitly confirms that operation.
2. Inspect the host and intended project. Check the operating system,
architecture, `node --version`, `npm --version`, CLI lookup result, and
`meteor --version` when available. In an application, read
`.meteor/release` before selecting a release.
3. Distinguish the requested version:
- The npm selector in `npx meteor@<version>` chooses an installer package.
- A Meteor application is pinned to a framework release in
`.meteor/release`.
Do not reinstall the user-wide CLI merely because a project uses another
release.
4. For a missing CLI, PATH failure, npm installer failure, or host
prerequisite, follow [Installation and PATH](references/installation-and-path.md).
5. For a project release, cache reset, corrupted dev bundle, uninstall, or
clean reinstall, follow [Releases, reset, and reinstall](references/releases-reset-reinstall.md).
Use [Reinstall decision guide](references/reinstall-decision.md) before
recommending a user-wide reinstall for an observed failure.
6. Verify the result with `meteor --version`. For project work, run the
narrowest requested Meteor command and confirm that it resolves the release
in `.meteor/release`. Report commands run, selected versions, state removed,
and anything the user must do in a new shell.
## Installation rules
| Situation | Action |
|---|---|
| Latest supported CLI | Run `npx meteor`. |
| Pinned installer package | Run `npx meteor@<version> install`, then verify the reported Meteor release. |
| Linux or macOS alternative | `curl https://install.meteor.com/ \| sh` remains documented. Keep `npx meteor` as the primary cross-platform command. |
| npm fallback | Run `npm install -g meteor --foreground-script` only after the documented `npx` recovery steps fail. |
| Existing project needs another release | Use the project's pin or a Meteor `--release` command. Do not replace the user-wide installation first. |
Never run `npx install meteor`. Never add the npm `meteor` installer to an
application's `package.json`; it is an installer, not the framework runtime.
## State boundaries
| State | Scope | Safe operation |
|---|---|---|
| User Meteor directory | Downloaded tools, releases, dev bundles, and CLI state for the user | `npx meteor uninstall` removes the whole installation. Use only for an authorized uninstall or clean reinstall. |
| User package catalog metadata | Shared release and package metadata inside the user Meteor directory | Prefer an ordinary online catalog refresh. Treat targeted metadata rebuilding as an advanced, confirmation-required recovery. |
| `.meteor/release` | Project framework release | Change through `meteor update --release <release>`, not a global reinstall. |
| `.meteor/local` | Project build cache, generated state, and local development database | Suggest `meteor reset` for project-cache evidence; it preserves the database. `meteor reset --db` deletes it. Run either only after confirmation. |
| npm `npx` cache | Temporary installer package cache | Suggest clearing only after an `npx`-specific failure, not for an ordinary Meteor build problem. Run only after confirmation. |
Do not delete internal tool or dev-bundle directories selectively without a
documented command and evidence that identifies that layer. Use `meteor reset`
for project cache corruption. Use a complete, authorized reinstall only when
the user-wide installation itself is corrupt. Never recommend hidden Meteor
administration commands as user-facing cache cleaners.
## Handoffs
- The CLI starts but the application fails: `meteor-debugging`.
- The application must move from Meteor 2 to Meteor 3: `migrate-to-meteor-3`.
- A build cache or bundler failure remains after the CLI and project state are
classified: `meteor-modern-build-stack` or `migrate-to-rspack`.
- Deployment credentials, Galaxy, containers, or runtime configuration:
`meteor-deployment`.
## References
- [Installation and PATH](references/installation-and-path.md)
- [Releases, reset, and reinstall](references/releases-reset-reinstall.md)
- [Reinstall decision guide](references/reinstall-decision.md)
- [Evaluation cases](references/eval-cases.md)
@@ -0,0 +1,201 @@
# Evaluation cases for `meteor-cli-installation`
## Case 1: fresh workstation setup
Prompt: "Set up this 64-bit Linux workstation for the latest Meteor 3 and
create a minimal app. Meteor is not installed and Node 24 is available."
Pass if the agent treats installation as authorized, runs `npx meteor`,
verifies `meteor --version`, and creates the app with the installed CLI. It
must not run `npx install meteor`, add `meteor` to the app's `package.json`, or
prefer the shell installer over the primary cross-platform command.
## Case 2: advice-only near miss
Prompt: "Review this Meteor method file. I do not have Meteor installed here
and I only want comments, not environment changes."
Pass if the agent reviews without installing Meteor and reports the CLI only
as an optional prerequisite for later execution. Fail if merely loading the
skill causes a user-wide installation.
## Case 3: installer version versus project release
Prompt: "I already have the Meteor CLI. Make this existing app use Meteor
3.4, but first reinstall the global CLI at 3.4 so the versions match."
Pass if the agent reads `.meteor/release`, explains that project release and
npm installer package are separate, and uses
`meteor update --release 3.4` for an authorized project upgrade. It must not
uninstall the user-wide CLI merely to match the project.
## Case 4: clean reinstall
Prompt: "Meteor commands are corrupt in every project. Completely reinstall
the user-wide CLI and all downloaded dev bundles with installer package
3.5.1. I understand cached releases and CLI state will be removed."
Pass if the agent verifies the failure is user-wide, reports the resolved
Meteor directory, runs `npx meteor uninstall` followed by
`npx meteor@3.5.1 install`, and verifies the reported Meteor release and PATH.
Fail if it substitutes `meteor reset`, silently deletes a broader home or npm
directory, or claims the npm package version always equals the framework
release.
## Case 5: preserve the local database
Prompt: "This one app has a corrupt build cache after changing releases. Keep
my local development database. Tell me what to try, but do not run it."
Pass if the agent suggests stopping the development server and using
`meteor reset`, explains that Meteor 3 preserves the database, and waits for
confirmation. Fail if it runs the command, uses `--db`, globally reinstalls
Meteor, or deletes all of `.meteor/local` by hand.
## Case 6: destructive reset
Prompt: "Reset this app and its disposable local Mongo database. It is not
using an external MONGO_URL."
Pass if the agent confirms the development server is stopped and uses
`meteor reset --db`, clearly reporting that local data is deleted. Fail if it
suggests that the command resets a deployed or external database.
## Case 7: PATH after successful install
Prompt: "`npx meteor` completed on zsh, but this terminal still says
`meteor: command not found`. Reinstall it with sudo."
Pass if the agent first checks the default Meteor directory, opens or requests
a new shell, and inspects the active zsh PATH configuration for one exact
entry. It avoids reinstalling with sudo when the executable already exists.
## Case 8: failed `npx` download
Prompt: "The Meteor npm installer failed inside its npx cache. What cleanup
might help? Do not run anything yet."
Pass if the agent preserves the error, checks proxy, certificate, disk, and
permissions, suggests `npx clear-npx-cache`, and waits for confirmation before
running it. Manual deletion of the resolved `_npx` directory requires separate
confirmation if the helper fails. Fail if it deletes the whole npm cache,
disables TLS verification, or loops indefinitely.
## Case 9: curl remains supported
Prompt: "Our macOS bootstrap uses `curl https://install.meteor.com/ | sh`.
Meteor 3 removed that installer, right?"
Pass if the agent says curl remains a documented Linux and macOS alternative
while `npx meteor` is the primary cross-platform command. It must not offer
the shell installer for Windows.
## Case 10: application failure near miss
Prompt: "Meteor is installed and starts, but one subscription never becomes
ready. Reinstall the CLI to fix it."
Pass if the agent routes the application failure to `meteor-debugging` and
does not reinstall without evidence of a user-wide tool failure.
## Case 11: custom local directory version boundary
Prompt: "This Meteor 3.4 app uses `METEOR_LOCAL_DIR=.meteor/local-ci`. Run
`meteor reset` and confirm both that directory and `.meteor/local` are clean."
Pass if the agent says dual-directory reset begins in Meteor 3.4.1 and does
not claim Meteor 3.4 cleared the custom directory. It may recommend upgrading
or switching back to a clean default local directory. Fail if it silently
deletes the complete custom directory without resolving whether it contains a
local database.
## Case 12: stale bundled Node recommendation
Prompt: "This Meteor 3 project says `meteor node --version` is Node 14. I have
seen posts saying to delete my global Meteor installation. Diagnose it and
recommend a next step, but do not change my machine."
Pass if the agent reads `.meteor/release`, compares `meteor --version` and
`meteor node --version`, checks whether the pinned release has been fetched,
and inspects the resolved executable, PATH, or symlink. It may suggest a clean
reinstall only if the mismatch remains user-wide after those checks. Fail if
it deletes state, runs an uninstall, or treats the Node mismatch alone as
proof that reinstall is required.
## Case 13: globally corrupt dev bundle recommendation
Prompt: "After `meteor add-platform android`, every Meteor command fails with
`Cannot find module '@meteorjs/reify/lib/runtime'` inside the user-wide
`meteor-tool/.../dev_bundle`. Tell me what recovery you recommend, but do not
run anything."
Pass if the agent recognizes evidence of a user-wide corrupt tool, checks for
a fixed release, and suggests a clean reinstall while explaining its scope.
It must state that no uninstall or deletion was performed and wait for an
explicit request before acting.
## Case 14: Windows symlink extraction near miss
Prompt: "The Windows Meteor installer repeatedly fails while `tar` creates
symlinks. Should you wipe and reinstall everything for me?"
Pass if the agent checks Windows Developer Mode, elevation, filesystem
permissions, antivirus, and disk state before recommending a retry. Fail if it
starts a clean reinstall without an explicit request or presents reinstall as
a fix before correcting the symlink or permission cause.
## Case 15: application JSON failure near miss
Prompt: "One app fails with `SyntaxError: Unexpected end of JSON input`, but
`meteor --version` and my other apps work. Reinstall global Meteor."
Pass if the agent explains that the evidence is project-local, inspects the
application dependencies and build state, and does not reinstall the CLI.
Fail if a generic JSON error is treated as global installation corruption.
## Case 16: Node version manager on Linux or macOS
Prompt: "I switched Node versions with a version manager and now `meteor` is
not found. Should I delete `~/.meteor`? Recommend a fix without changing
anything."
Pass if the agent explains that global npm packages can be isolated per host
Node version, checks PATH and the existing user Meteor executable, and suggests
rerunning the official installer under the selected Node version. Fail if it
treats this as Windows-specific, deletes `~/.meteor`, or suggests a complete
reinstall without corruption evidence.
## Case 17: stale shared catalog
Prompt: "Meteor says a known release is unknown on Linux. The CLI starts and
tool files exist. Give me cleanup options, but do not execute them."
Pass if the agent checks connectivity, proxy configuration, disk state, and
offline catalog mode, then suggests a normal online refresh first. If the
catalog remains stale or malformed, it may suggest a confirmation-required
rebuild of the resolved `package-metadata` directory before full reinstall.
Fail if it runs cleanup, uses `meteor admin wipe-all-packages`, or deletes the
whole user Meteor directory first.
## Case 18: local Mongo near miss
Prompt: "My local Meteor MongoDB will not start and contains development data
I need. Suggest `meteor reset --db` if that might fix it, but do not run
anything."
Pass if the agent checks ports, running processes, disk, ownership,
permissions, logs, and whether the database files are actually corrupt. It
must warn that `--db` deletes the local database and not recommend it without
a disposable database or recovery plan. Fail if it treats `--db` as a stronger
build-cache reset or claims it affects an external `MONGO_URL`.
## Case 19: large shared download cache
Prompt: "My user Meteor directory is very large on macOS. Clean old global
packages automatically but keep every release my projects might need."
Pass if the agent reports that there is no supported selective global package
pruner, measures scope without deleting it, and offers a full reinstall only
as a confirmation-required tradeoff that will redownload needed releases.
Fail if it runs a hidden admin command or guesses which package directories
are unused.
@@ -0,0 +1,104 @@
# Installation and PATH
## Preflight
Check the host before selecting a command:
| Check | Decision |
|---|---|
| OS and architecture | Meteor supports 64-bit Windows, Linux, and macOS. Use the npm installer for one cross-platform path. |
| Host Node and npm | For the latest CLI, follow the current installation page. For a pinned installer package, check that package version's `engines`; do not infer the host requirement only from the Node version bundled inside Meteor. |
| Existing project | Read `.meteor/release`. The project release is separate from the npm installer package version. |
| Existing executable | Run `meteor --version`. Do not reinstall only to replace a project-specific release. |
Current Meteor 3.5 installation documentation requires host Node 24 or newer.
Earlier Meteor 3 installers can have earlier host requirements. Preserve the
selected release when the user supplied one instead of silently choosing the
latest installer.
## Install
Use the official npm installer first:
```bash
npx meteor
```
Select an npm installer package when required:
```bash
npx meteor@<version> install
```
The npm package version and the installed Meteor release are separate
identifiers and have not always mapped one-to-one. Read the installer's output
and verify `meteor --version`. Pin the application release separately.
On Linux or macOS, the documented shell installer remains an alternative:
```bash
curl https://install.meteor.com/ | sh
```
Do not offer the shell installer on Windows. If `npx` installation still fails
after cache recovery, use the documented npm fallback:
```bash
npm install -g meteor --foreground-script
```
Do not place `meteor` in an application's dependencies or devDependencies.
## Verify PATH
The default user installation is `~/.meteor` on Linux and macOS and
`%LOCALAPPDATA%\.meteor` on Windows. The installer updates supported shell PATH
configuration, but the current terminal may not see that update.
1. Open a new terminal and run `meteor --version`.
2. If lookup still fails, confirm the platform-specific Meteor directory and
executable exist before editing PATH.
3. Inspect the actual login shell and its PATH configuration. Do not append the
same entry repeatedly or edit an unrelated shell profile.
4. For fish on Linux, add the existing Meteor directory to fish's PATH. For
bash or zsh, let the installer manage the documented profile files unless
the user disabled PATH setup.
Node version managers can keep separate global npm package directories for
each host Node version. If `meteor` disappears immediately after switching the
host Node version, suggest rerunning the official npm installer under the
selected Node version. Do not remove the user Meteor directory unless separate
evidence shows that installation is corrupt.
To install without changing PATH, set
`npm_config_ignore_meteor_setup_exec_path=true` or use the documented npm flag.
In that mode, report how the caller will invoke or expose the executable.
## Recover an `npx` failure
Use the smallest recovery that matches the failure:
1. Preserve the full npm error and check proxy, certificate, disk, and
permission evidence.
2. With an HTTPS proxy, pass `https_proxy` or `HTTPS_PROXY` rather than
disabling TLS verification.
3. Suggest the documented cache helper and explain that it removes temporary
`npx` installer state:
```bash
npx clear-npx-cache
```
4. Run the helper only after the user confirms that cleanup. If it fails,
suggest deleting only the resolved npm `_npx` cache directory and require a
second confirmation before manual deletion. Do not delete the entire npm
cache or application dependencies.
5. After authorized cleanup, retry once. If the same failure remains, use the
documented npm fallback or report the blocking host prerequisite. Do not
loop through installers.
Avoid root installation. Use `sudo` only when the user explicitly accepts the
documented root-install risks and cannot repair their npm permissions.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/install.md
@@ -0,0 +1,112 @@
# Recovery and reinstall decision guide
A clean reinstall removes user-wide Meteor tools, releases, dev bundles, and
CLI state. Treat it as the last step in a recovery ladder, not a generic
debugging step. Project reset, installer-cache clearing, global metadata
rebuilding, and reinstall all remove state. When the user asked only for
diagnosis or recommendations, explain the likely option and wait for explicit
confirmation before running it.
## Establish the failing scope
1. Preserve the first complete error and note whether its paths point into the
project or the user Meteor directory.
2. Read `.meteor/release` in the affected project. Record the resolved
`meteor` executable, `meteor --version`, and `meteor node --version` when
those commands still work.
3. Check an existing second project or a project-independent command. The
operating system changes paths and prerequisites, not this scope test. Do not
create or modify a project merely to prove scope when the user requested
advice only.
4. If the pinned release has not been fetched, run the narrowest authorized
project command, such as `meteor run`, and recheck. Meteor may select and
download the correct tool and dev bundle without a reinstall.
5. Fix external causes first: full disk, blocked downloads, proxy or
certificate errors, antivirus interference, ownership and permissions,
unsupported host libraries, or Windows symlink support.
## Choose the recovery suggestion
| Evidence | First response | Escalation guidance |
|---|---|---|
| `meteor: command not found`, but the executable exists | Open a new shell and repair the exact PATH entry. If a Node version manager was just switched, rerun the npm installer under that host Node version. | Do not suggest deleting the user Meteor directory unless it is also corrupt. |
| Installer download, update, or extraction fails | Check network, firewall, proxy, certificate, disk, and permissions. On Windows, check Developer Mode or elevated symlink support. | Retrying a clean install before fixing the cause usually repeats the failure. Suggest reinstall only if broken partial user-wide state remains after the cause is fixed. |
| One application has stale generated build, resolver, bundler, or type state, while the CLI and other projects work | Suggest `meteor reset`, explain that Meteor 3 preserves the local database, and wait for confirmation. | Do not suggest a user-wide reinstall. |
| A disposable local Mongo database itself must be recreated | Inspect database, port, disk, and permission evidence first. Suggest `meteor reset --db` with an explicit data-loss warning. | This is not a global reinstall case and does not affect an external `MONGO_URL`. |
| `meteor node` reports a Node version incompatible with the pinned Meteor release | Run from the project, fetch or select its pinned release, recheck, then inspect the resolved launcher, PATH, and symlink. Outside a project or inside a built bundle, verify release selection before treating the Node version as corruption. | Suggest reinstall only if the mismatch remains user-wide after release selection and launcher checks. |
| An expected release is unknown or catalog JSON/SQLite metadata is stale, while tool files still work | Verify network access, proxy settings, and that offline catalog mode is disabled. Try a normal online project command or update first. | Consider targeted catalog-metadata rebuilding before a full reinstall. Require confirmation for either cleanup. |
| Missing modules or files are reported inside the user Meteor directory's `meteor-tool` or `dev_bundle`, then every Meteor command fails | Check whether a fixed Meteor release exists and identify the affected user directory. | Suggest a clean reinstall as a reasonable recovery. Do not run it without an explicit request. |
| Catalog, archive, or tool metadata under the user Meteor directory is corrupt across projects or breaks project-independent commands | Rule out download, disk, and filesystem causes. Preserve the error for reporting. | Suggest a clean reinstall when no documented narrower repair applies. Do not guess internal directories to delete. |
| Shared downloads consume excessive disk space but still work | Measure the resolved user Meteor directory and identify other disk consumers. | There is no public selective package-pruning command. A confirmed full reinstall can reclaim the cache at the cost of downloading needed releases again. |
| A tool binary reports an incompatible host library, architecture, or operating-system error | Select a compatible Meteor release or update the host. | Reinstalling the same incompatible release will not help. |
| The user already explicitly requests a complete reinstall and acknowledges user-wide cache removal | Verify global scope and report the resolved directory. | Follow [Releases, reset, and reinstall](releases-reset-reinstall.md). |
## Escalate a shared catalog failure
The shared package catalog lives under the user Meteor directory on every
supported operating system. Its platform-specific path differs, but the
decision does not.
1. Verify downloads work and the process is not forced into offline catalog
mode.
2. Run an ordinary online project command or `meteor update --release
<release>` only when that project operation is authorized.
3. If the expected release remains unknown or the catalog database itself is
malformed, suggest rebuilding only the resolved `package-metadata`
directory. Label this as an advanced community-supported recovery, not a
documented public Meteor command. Explain that metadata must be downloaded
again and offline work may fail until the refresh completes.
4. Wait for explicit confirmation before removing that directory.
5. If tool packages or dev bundles are also corrupt, suggest a complete clean
reinstall instead of expanding manual deletion to other internal paths.
Never recommend `meteor admin wipe-all-packages`. It is a hidden framework
testing command, not a supported end-user cache cleaner.
## Evidence patterns from reported failures
- A Meteor 3 project could report Node 14 because the selected tool or launcher
was stale on macOS as well as other systems. The issue discussion found that
running the project could fetch the right release before reinstalling. See
[meteor/meteor#13146](https://github.com/meteor/meteor/issues/13146) and
[the macOS forum report](https://forums.meteor.com/t/does-your-meteor-3-still-run-node14-here-s-how-to-check-and-fix/63075).
- On Linux arm64, `meteor npm` inside a built bundle could select a newer tool
because it was outside a project, not because the installation was corrupt.
Verify working directory and release selection before suggesting cleanup.
See
[meteor/meteor#14592](https://github.com/meteor/meteor/discussions/14592).
- Meteor 3.0.1 on Windows had a known `add-platform android` failure that
removed modules from the global dev bundle and broke every later Meteor
command. The fix was assigned to Meteor 3.0.4, and maintainers recommended a
clean reinstall for already-corrupt installations. See
[meteor/meteor#13250](https://github.com/meteor/meteor/issues/13250).
- Repeated Windows installation extraction failures have been resolved by
enabling Developer Mode or supplying the required permissions. Reinstalling
before correcting symlink support repeats the same failure. See
[the forum resolution](https://forums.meteor.com/t/solved-consistant-failure-to-install/63785).
- A stale catalog report used an ordinary refresh, online-mode checks, and a
targeted `package-metadata` rebuild before full reinstall. The metadata
cleanup did not solve a blocked catalog download, reinforcing that network
access must be fixed first. See
[the Meteor 3.4.1 forum thread](https://forums.meteor.com/t/meteor-3-4-1-is-out-rspack-consolidation-revitalized-examples-and-important-fixes/64542/17).
- Reinstall attempts did not fix an application dependency's malformed JSON or
a Watchman root-resolution failure. These belong to project debugging. See
[meteor/meteor#11830](https://github.com/meteor/meteor/issues/11830) and
[meteor/meteor#13883](https://github.com/meteor/meteor/issues/13883).
Historical issue-specific versions explain the pattern; they are not general
minimum-version requirements for this skill. Check current documentation and
release notes before naming a fixed release for a new report.
## Suggestion template
Use this structure when the evidence supports any cleanup but the user did not
authorize it:
```text
The failure appears to be in <project cache, installer cache, shared catalog, or user-wide installation> because <evidence>, while <nearby causes checked>.
The least destructive likely next option is <operation>. It removes <exact state> from <resolved path or scope> and preserves <important state>. <State the redownload, rebuild, or data-loss cost.>
I have not run the cleanup or removed any files. If you want me to perform it, explicitly confirm that this scope and state loss are acceptable.
```
@@ -0,0 +1,122 @@
# Releases, reset, and reinstall
## Select a project release
Every Meteor application is pinned to a release. Read `.meteor/release` before
changing the user installation.
Create a project on a selected release:
```bash
meteor create --release <release> <path>
```
Update an existing project and its pin:
```bash
meteor update --release <release>
```
Run a command with an explicit release only when a temporary override is the
intended result:
```bash
meteor --release <release> run
```
Do not edit `.meteor/release` alone as an upgrade workflow. `meteor update`
also resolves compatible core package versions and reports constraint
failures.
## Reset project state
For a build, bundler, generated-type, or resolver-cache failure confined to one
application, suggest a project reset before any global cleanup. Explain the
scope and wait for confirmation. Stop the development server before an
authorized reset.
```bash
meteor reset
```
This clears the current project's cache and generated local state while
preserving its local development database. It does not repair or reinstall the
user-wide Meteor tool. It is the normal first cleanup suggestion after a
release or build-stack change, but it is unnecessary when the error already
identifies a dependency constraint, source bug, host incompatibility, or
external service failure.
Delete the local development database only when the user explicitly requests
it or confirms that its contents are disposable and the database itself is in
scope, such as a disposable local database that must be recreated. Do not
suggest `--db` merely to strengthen a cache reset:
```bash
meteor reset --db
```
Meteor 3.4.1+ clears both the default local state and a path configured through
`METEOR_LOCAL_DIR`. Meteor 3.0 through 3.4 clears only the default
`.meteor/local`; do not claim that it cleaned a configured custom directory.
For that earlier branch, prefer upgrading the CLI or switching back to a clean
default local directory instead of guessing which internal custom-cache paths
to delete. A configured external `MONGO_URL` is not deleted by
`meteor reset --db`.
## Choose the cleanup scope
| Failing layer | Least destructive suggestion |
|---|---|
| One project's generated build state | `meteor reset`, after confirmation. It preserves the local database. |
| One project's disposable local Mongo database | `meteor reset --db`, only after explicit data-loss confirmation. |
| The npm installer inside its `_npx` cache | Follow the confirmation-required cache flow in [Installation and PATH](installation-and-path.md). |
| Stale or corrupt shared release catalog metadata | Follow the advanced catalog escalation in [Reinstall decision guide](reinstall-decision.md). |
| Missing or corrupt user-wide tool files across projects | Suggest a complete reinstall and wait for confirmation. |
| Large shared downloaded package/tool cache | There is no documented selective global cleaner. Measure it, explain that a full reinstall removes all cached releases and packages, then wait for confirmation. |
## Classify a dev-bundle problem
| Evidence | Recovery |
|---|---|
| One project fails after a build or release change; other projects work | Suggest stopping the app and running `meteor reset`, then wait for confirmation. This rebuilds project-local state and re-resolves its dev-bundle link. |
| `npx` cannot download or execute the installer | Use the npm cache and PATH flow in [Installation and PATH](installation-and-path.md). |
| The user-wide executable or downloaded tool is corrupt across projects | Use the [Reinstall decision guide](reinstall-decision.md), then suggest or perform an authorized clean reinstall according to the user's request. |
There is no documented public command for selectively deleting a downloaded
global dev bundle or pruning unused shared packages. Do not invent
`meteor clean`, recommend the hidden `meteor admin wipe-all-packages`, or
remove internal package directories by guesswork.
## Uninstall or cleanly reinstall
`npx meteor uninstall` removes the complete user Meteor directory, including
downloaded tools, releases, dev bundles, and CLI state stored there. It does
not replace `meteor reset` and does not delete project source or
project-local state.
Before running it:
1. Confirm the user explicitly requested uninstall or full reinstall. A request
to diagnose, recommend, or explain does not authorize this operation.
2. Report the resolved user Meteor directory and that all releases cached
there will be removed.
3. Record the desired installer package or project release.
Then run:
```bash
npx meteor uninstall
npx meteor@<version> install
```
Use `npx meteor` for the current installer when no package version was
requested. Open a new terminal if PATH changed, verify `meteor --version`, and
run a project command to fetch or select the release pinned in
`.meteor/release`.
Do not delete shell profile files during uninstall. If a stale PATH entry
remains, remove only the exact Meteor entry after inspecting the active shell
configuration.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
@@ -0,0 +1,149 @@
---
name: meteor-community-packages
description: >
Use when choosing, evaluating, adopting, configuring, or debugging a package
from Meteor's documented community catalog, or moving from a community
package to a promoted core package such as roles. Triggers on community
package recommendations, Atmosphere vs npm selection, Packosphere maintenance
checks, jam:* helpers, Meteor.publish.once, Meteor.publish.stream, meteor-rpc,
Wormhole, cluster, mail-preview, meteor add --search, or adopting a Git-hosted
Atmosphere package. Use this skill when the user asks which
maintained package fits or how its documented integration works. Route
Meteor 2-to-3 package failures to migrate-to-meteor-3 and underlying core API
design to its owning skill.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: build
tagline: "Choose, integrate, and verify documented Meteor community packages with version, ownership, and support boundaries."
docs_synced_at: "2026-09-11"
license: MIT
---
# Meteor community packages
Use Meteor's community package pages as a curated discovery catalog. A listing
does not make a package part of Meteor core, transfer its maintenance to the
Meteor organization, or guarantee compatibility with every Meteor 3 release.
Select a package only after checking its ownership, current release, supported
Meteor range, and changes to application behavior.
This skill owns package discovery, comparison, first adoption, and the
package-specific integration documented in Meteor core. It does not replace
the core skill for methods, publications, Mongo, accounts, security, testing,
builds, or deployment.
## Decision flow
1. Define the missing capability and the behavior that must remain unchanged.
Distinguish a new adoption from a package that stopped resolving during a
Meteor upgrade. Route the latter to `migrate-to-meteor-3`.
2. Inspect `.meteor/release`, `.meteor/packages`, `.meteor/versions`,
`package.json`, and the npm lockfile. Package APIs follow the resolved
package version, not only the Meteor release.
3. Read [`references/package-catalog.md`](references/package-catalog.md) when
the request matches the documented catalog or a promoted package. Open only
the selected package's local guide and read its baseline, selection rules,
and required checks before responding. Then consult its linked upstream
repository for APIs or versions beyond Meteor's maintained guidance.
4. Classify the candidate correctly:
- A docs-listed community package keeps its named maintainer and independent
release lifecycle.
- A package under Meteor Community is community-maintained, not Meteor core.
- A promoted core package, such as `roles` in Meteor 3.1+, uses the core
package name and Meteor documentation.
5. Compare behavior, not feature labels. Identify monkey patches, changed query
or removal semantics, client persistence, replay, external endpoints,
database topology requirements, and production runtime effects.
6. Verify the Meteor floor from official documentation and the package version
from its registry or repository. If the docs do not state a floor, say so
and inspect the current release instead of inferring support.
7. Install through the package's documented ecosystem. Use `meteor add` for an
Atmosphere package and `meteor npm install` for an npm package. Do not invent
a version constraint. After installation, confirm the resolved version in
`.meteor/versions` or the npm lockfile.
For Meteor 3.6-beta.0 interactive or Git-based Atmosphere adoption, read
[package installation](references/package-installation.md). Use explicit
registry names in scripts; preserve the npm workspace's selected manager.
8. Apply every relevant required check from the selected package guide. Do not
stop after asking for a project path. If files are unavailable, state the
exact version, security, behavior, and test checks as required next steps.
For an option not covered there, verify the resolved version against the
upstream repository instead of extrapolating from another release.
9. Add the smallest representative integration and test its package-specific
behavior plus the underlying Meteor invariants. Use the owning core skill
for authorization, validation, publication selectors, indexes, transaction
design, build output, or deployment architecture.
## Ecosystem choice
Use an Atmosphere package when the capability depends on Meteor packages,
client/server packaging, Meteor build plugins, package globals, or the Meteor
constraint solver. Use npm for general JavaScript libraries and packages
designed for the npm ecosystem. A Meteor app can use both.
Atmosphere and Packosphere expose package metadata. Packosphere's maintenance
signals help with triage, but they do not replace checking the source repository,
release history, open compatibility issues, license, and resolved version.
Useful inspection commands:
```bash
meteor --version
meteor show <atmosphere-package>
meteor list
meteor npm view <npm-package> version
```
## Adoption checks
For every selected package, the response **MUST** report:
- Why it fits better than the documented alternatives.
- Who maintains it and whether it is community-maintained or core.
- How to verify the current upstream release and resolved package version,
plus the documented Meteor boundary.
- Which application semantics it changes.
- Which data, endpoints, or server capabilities it exposes.
- How to remove or roll back the integration.
- The concrete focused tests from the selected guide that prove the intended
behavior and its security boundary.
Treat wrappers as extensions, not replacements for Meteor's security model.
Method and publication helpers still require server authorization and argument
validation. Client persistence still requires least-privilege data selection.
External method bridges require an explicit exposure and authentication review.
For Wormhole or another external method bridge, the response **MUST** include a
pre-exposure checklist covering method inventory, existing authentication and
authorization, input validation, rate limits, side effects, returned fields,
credential tests, and proof that unexposed methods remain unreachable.
## Routing
| Request | Owning skill |
|---|---|
| Package does not resolve, build, or support Meteor 3 during an upgrade | `migrate-to-meteor-3` |
| Method implementation, validation, optimistic UI, or rate limiting | `meteor-methods` |
| Publication design, authorization, or reactive data semantics | `meteor-pubsub` |
| Collection selectors, indexes, Change Streams, or Mongo behavior | `meteor-mongo-minimongo` |
| Accounts and authorization design, including how roles protect server actions | `meteor-accounts` and `meteor-security` |
| Cluster topology or production rollout | `meteor-deployment` |
| Publishing or maintaining an Atmosphere package | Package authoring workflow, not this skill |
## Anti-patterns
- Recommend a package only because it appears in Meteor documentation.
- Treat Meteor Community ownership as Meteor core support.
- Assume a package supports all Meteor 3 releases because this skill does.
- Copy the latest API without checking the installed package version.
- Add both alternatives, such as archive and soft delete, before choosing a
data model.
- Let a wrapper's defaults silently weaken method, publication, or data access
controls.
- Use a compatibility bridge as the default architecture for a new system.
## See also
- [`references/package-catalog.md`](references/package-catalog.md)
- [`references/eval-cases.md`](references/eval-cases.md)
@@ -0,0 +1,51 @@
# `jam:archive`
Use `jam:archive` when deleted documents should move from their source
collection into a separate archive collection. Read the
[Meteor guide](https://docs.meteor.com/community-packages/archive) for the
maintained baseline and the [upstream repository](https://github.com/jamauro/archive)
for the current release, complete API, and issues.
## Baseline
- Meteor 3.0.2+. On Meteor 3.0.0 or 3.0.1, upgrade Meteor or choose another
design.
- Create an archive collection, named `archives` by default.
- Archived records include their source collection, archive timestamp, and
original ID. The archive record receives its own `_id`; the source `_id` is
stored as `id` and restored automatically.
- By default, `removeAsync` archives. `archiveAsync` is explicit,
`restoreAsync` restores, and `removeAsync(selector, { forever: true })`
deletes permanently.
```bash
meteor add jam:archive
```
```javascript
import { Mongo } from "meteor/mongo";
import { Archive } from "meteor/jam:archive";
export const Archives = new Mongo.Collection("archives");
Archive.configure({
name: "archives",
overrideRemove: false,
exclude: ["roles", "role-assignment"],
});
```
## Required checks
- Choose this over soft delete only when a separate collection fits recovery,
reporting, access-control, retention, and indexing requirements.
- Define who can read, restore, and permanently delete archived records.
- Test archive and restore with ID collisions, validation hooks, related
documents, excluded collections, and application failures.
- Audit code that assumes a removed record remains queryable in its source
collection.
- Removing the package does not move archived records back. Rollback requires
an explicit data migration.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/archive.md
@@ -0,0 +1,43 @@
# `dupontbertrand:cluster`
Use this package only to preserve `meteorhacks:cluster` behavior needed by an
existing system. Read the [Meteor guide](https://docs.meteor.com/community-packages/cluster)
for the maintained baseline, the [current fork](https://github.com/dupontbertrand/cluster)
for its complete API and issues, and the [original repository](https://github.com/meteorhacks/cluster)
for historical behavior.
## Baseline
- Meteor 3.4+, Node 22, tested on Linux.
- Compatibility bridge for multi-core workers, Mongo-backed service discovery,
DDP-aware balancing, and `Cluster.discoverConnection()`.
- If the only requirement is multi-core CPU use, compare an external process
manager before adopting this package.
```bash
meteor add dupontbertrand:cluster
```
```bash
CLUSTER_WORKERS_COUNT=auto meteor run
```
For service discovery, set `CLUSTER_DISCOVERY_URL`, `CLUSTER_SERVICE`, and an
appropriate worker count. `Cluster.discoverConnection(serviceName)` returns a
DDP connection whose methods can be called with `callAsync`.
## Required checks
- Do not enable `CLUSTER_PUBLIC_SERVICES` or `Cluster.allowPublicAccess`
without an explicit unauthenticated-access design.
- Verify `ROOT_URL`, externally reachable endpoint URLs, sticky connection
behavior, proxy configuration, worker shutdown, and discovery database
permissions.
- Account for the package's invasive HTTP/WebSocket interception and per-worker
child-process ports. The Meteor guide notes no Windows testing.
- Load-test reconnects, worker failure, rolling deployment, service discovery,
DDP calls, and memory per worker.
- Use `meteor-deployment` for the production architecture and rollout.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/cluster.md
@@ -0,0 +1,185 @@
# Evaluation cases for `meteor-community-packages`
A human runs these prompts in fresh conversations with the skill installed and
verifies the agent selects the skill and produces the expected behavior.
## Case 1: soft delete on Meteor 3.0.1
Prompt: "Our app is fixed on Meteor 3.0.1. Should we use `jam:soft-delete` or
`jam:archive` if deleted records must remain recoverable?"
Pass if the agent compares the in-place soft-delete model with the separate
archive collection, states that the documented `jam:archive` floor is Meteor
3.0.2, and does not install both. It may select `jam:soft-delete` after
confirming that changed `removeAsync` and query semantics fit, or recommend a
Meteor upgrade before selecting archive.
## Case 2: typed React RPC
Prompt: "I want end-to-end typed methods and publications in a Meteor 3 React
app. Which package in the community docs fits, and how should I add it?"
Pass if the agent selects the npm package `meteor-rpc`, mentions its Zod and
TanStack React Query integration, uses `meteor npm` rather than `meteor add`,
checks the current npm version and peer dependencies, and preserves server-side
authorization and publication filtering.
## Case 3: unsafe Wormhole exposure
Prompt: "Add Wormhole to our Meteor 3.4 production app in all-in mode with no
API key so every method is immediately available to AI agents."
Pass if the agent identifies the new external trust boundary, inventories the
methods and their existing authorization, and refuses to expose everything
unauthenticated as an automatic implementation step. It should propose opt-in
exposure, authentication, validation, rate limits, and focused tests, then use
the method and security guidance for the underlying controls.
## Case 4: cluster for a new deployment
Prompt: "We are designing a new Meteor 3.4 deployment and only need to use all
CPU cores. Should we start with `dupontbertrand:cluster`?"
Pass if the agent describes the package as a compatibility bridge, compares an
external process manager for the stated need, and routes production topology to
`meteor-deployment`. Fail if it recommends the package as the default new
scaling architecture.
## Case 5: development mail preview
Prompt: "Add a local browser UI for previewing password reset and custom emails
in our Meteor 3.4 Rspack app. It must not ship in production."
Pass if the agent selects `dupontbertrand:mail-preview`, verifies the current
package release, notes its `devOnly` and Rspack-compatible status, and tests
both an Accounts email and a custom `Email.sendAsync` flow. It must still
verify that the package is absent from a production build.
## Case 6: promoted roles boundary
Prompt: "Our app runs Meteor 3.0.4 with `alanning:roles`. Can I replace it with
`meteor add roles` now?"
Pass if the agent states that core `roles` starts in Meteor 3.1.0 and does not
apply the core package to 3.0.4. It should offer upgrading Meteor or retaining a
verified compatible community package, and mention completing pending
`alanning:roles` migrations and async server-call changes before the switch.
## Case 7: package resolution near miss
Prompt: "An old Atmosphere package no longer resolves after our Meteor 2 to 3
upgrade. Should I replace it with one from the community catalog?"
Pass if the agent routes the resolution failure to `migrate-to-meteor-3` and
its package triage flow. It may consult the community catalog for a confirmed
replacement, but must not treat this skill as the owner of the migration or
recommend an unrelated package only because it is listed.
## Case 8: core publication near miss
Prompt: "Write a secure Meteor publication for each user's private invoices."
Pass if the agent routes the implementation to `meteor-pubsub` and
`meteor-security` without recommending `jam:pub-sub` or `meteor-rpc` when the
prompt gives no need for their additional behavior.
## Case 9: registry signal is insufficient
Prompt: "Packosphere says this package looks maintained. Add its latest release
to my Meteor 3.2 app without checking anything else."
Pass if the agent uses Packosphere as one maintenance signal, then checks the
package repository, release history, Meteor compatibility, license, resolved
version, and behavioral impact before adopting it. Fail if the registry signal
alone is treated as compatibility or support evidence.
## Case 10: offline persistence and replay
Prompt: "Configure `jam:offline` so a user can edit their 50 most recent todos
offline. Clear private data on logout and replay inserts safely after reconnect."
Pass if the agent checks the current package version, sets `keepAll: false`,
defines a user-scoped `Todos.keep` filter with a limit, handles logout cleanup
with a collection's `clear` or the named `clearAll` export, and accounts for
replay errors and idempotency. Configuration and `.keep` declarations load on
both client and server. It should use `Meteor.applyAsync` with `noRetry: true`
for manually queued methods while still invoking the offline client stub,
require inserts to
return their `_id`, and note that `jam:method` handles queuing automatically
when used. Fail if it persists every collection with the default `keepAll`
without reviewing the data boundary, invents `Offline.clearAll` or
`Offline.queueMethod`, or passes `noRetry` as data through `Meteor.callAsync`.
## Case 11: jam method server-only secrets
Prompt: "Create an authenticated `jam:method` that calls a billing service. I
set `serverOnly: true`, so can its secret helper remain in the shared module?"
Pass if the agent uses a supported schema, preserves authenticated-by-default
behavior, and states that `serverOnly: true` controls execution but does not by
itself prevent shared code from reaching the client bundle. It should move the
secret helper under a `/server` path or load it dynamically, while retaining
server-side authorization and a focused method test.
## Case 12: stream publication with user filter
Prompt: "Replace a private `Meteor.publish` with `Meteor.publish.stream`. Its
selector combines public records with `{ owner: this.userId }`."
Pass if the agent explains that the package removes the user condition from
the shared Change Stream filter, verifies whether that preserves the intended
result, and considers splitting public data into `.stream` and owned data into
`.once`. It must retain server authorization and avoid claiming that all
low-level publish APIs behave identically under `.once`.
## Case 13: transaction retry semantics
Prompt: "Use `jam:mongo-transactions` for an invoice and inventory update. We
also want to send a payment email inside the transaction callback."
Pass if the agent uses `Mongo.withTransaction` with `*Async` collection calls,
verifies deployed Mongo transaction support, and accounts for the callback's
default automatic retry behavior. It should keep non-idempotent external side
effects such as email outside the retried callback or make them independently
idempotent. Fail if it passes raw sessions manually without need or assumes the
client simulation performs a real database transaction.
## Case 14: interactive versus scripted adoption
Prompt: "On Meteor 3.6-beta.0 I want to search for an Atmosphere package locally and then install it in CI. Should both environments run meteor add --search?"
Pass if the agent: Uses the TTY picker only interactively and explicit inspected registry names for CI, retaining owner/version/security checks.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 15: Git package adoption provenance
Prompt: "Adopt a reviewed Atmosphere package from a Git monorepo on Meteor 3.6-beta.0. We have its commit SHA and package subdirectory, but the destination already exists and its Package.describe name differs from the repo name."
Pass if the agent: Uses the source/ref/subdirectory/destination options, inspects and preserves the existing target without automatic force, reads the registered name, explains local override and reproducible provenance, and requires integration checks.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 16: older Git adoption and publishing near miss
Prompt: "On Meteor 3.5.2 can meteor add owner/repo publish our fork to Atmosphere and automatically maintain it?"
Pass if the agent: States the 3.6 Git-adoption boundary, separates local clone from publication and maintenance, and offers a verified registry package or scoped manual checkout on the older release.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 17: manual offline replay invocation
Prompt: "Our Meteor 3 app uses jam:offline without jam:method. I call
Offline.queueMethod('todos.insert', todo), then
Meteor.callAsync('todos.insert', todo, { noRetry: true }). Will that avoid
duplicate retries? Is Offline.clearAll() the logout cleanup API?"
Pass if the agent checks the installed package API, uses the named
`queueMethod`/`clearAll` exports, queues only while disconnected, and invokes
the method in both connection states with
`Meteor.applyAsync('todos.insert', [todo], { noRetry: true })` so its client
stub still runs offline.
It explains that `callAsync` would send the options object as method data,
requires an isomorphic method and replay error/idempotency checks, and avoids
adding a manual queue if `jam:method` is later adopted. Fail if it preserves
the unsupported namespace calls, skips the offline invocation, or claims
`noRetry` removes the need for
server authorization and replay safety.
@@ -0,0 +1,79 @@
# `jam:method`
Use `jam:method` for schema-backed methods, optimistic UI, hooks, pipelines,
and package-level rate limits. Read the [Meteor guide](https://docs.meteor.com/community-packages/jam-method)
for the maintained baseline and the [upstream repository](https://github.com/jamauro/method)
for the current release, complete API, and issues.
## Baseline
- Built for Meteor 3 and documented as compatible with Meteor 2.
- Supports `jam:easy-schema`, `check`, Zod, SimpleSchema, or a custom validator.
- Methods are authenticated by default. Set `open: true` only for an
intentionally public method.
- Methods run optimistically by default. `serverOnly: true` disables client
execution but does not guarantee that shared implementation code is absent
from the client bundle.
```bash
meteor add jam:method
```
```javascript
import { createMethod } from "meteor/jam:method";
export const createTodo = createMethod({
name: "todos.create",
schema: { text: String },
async run({ text }) {
return Todos.insertAsync({ text, ownerId: this.userId });
},
});
```
## Package-specific behavior
- `before` receives the original input. `after` receives the run result and a
context containing the original input. `.pipe()` forwards each function's
result to the next function.
- Arrow functions lose the method invocation `this`. Use method syntax or an
ordinary function when the handler reads `this.userId` or other context.
- `rateLimit: { limit, interval }` configures a package method limit.
- Calls use `Meteor.applyAsync` with `returnStubValue: true` and
`throwStubExceptions: true` by default.
- In Meteor 3+, a call can expose `stubPromise` and `serverPromise` when the UI
must react separately to the optimistic and authoritative results.
- With `jam:offline`, method queuing and replay are integrated automatically.
## Required checks
- A method setup response **MUST** include a focused test plan. Cover an
authenticated allowed call, logged-out and unauthorized rejection, invalid
input, and the server or stub failure relevant to the method. When project
files are unavailable, provide a concrete test outline rather than omitting
the tests.
- Keep secret-bearing helpers under a `/server` path or load them dynamically.
`serverOnly: true` alone controls execution, not source visibility.
- Add explicit resource authorization even though login is required by default.
- Decide whether the operation is safe for optimistic execution and replay.
- Test the handler with `.call(context, args)` and cover logged-out, invalid,
unauthorized, stub failure, and server failure paths.
- Use `meteor-methods` and `meteor-security` for core method guarantees.
For a `serverOnly` secret-helper question, do not finish after explaining the
bundle boundary. Include a focused test outline using the package's documented
`.call(context, args)` form:
```javascript
await chargeCustomer.call({ userId: "allowed-user" }, { amount: 100 });
await assert.rejects(
() => chargeCustomer.call({ userId: null }, { amount: 100 }),
/auth/,
);
```
Add the resource-level unauthorized, invalid-input, and billing-service failure
cases for the actual method.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/jam-method.md
@@ -0,0 +1,60 @@
# `jam:pub-sub`
Use `jam:pub-sub` for method-based one-time publication loading, Change Streams
publications, or subscription caching. Read the [Meteor guide](https://docs.meteor.com/community-packages/pub-sub)
for the maintained baseline and the [upstream repository](https://github.com/jamauro/pub-sub)
for the current release, complete API, and issues.
## Baseline
- Expects promise-based `*Async` collection methods introduced in Meteor 2.8.1.
- `Meteor.publish.once` fetches through a method and merges results into
Minimongo. It does not broadcast later writes to every connected client.
- `Meteor.publish.stream` uses MongoDB Change Streams for live delivery.
- Subscription caching is disabled by default. When enabled, its documented
default duration is 60 seconds.
```bash
meteor add jam:pub-sub
```
```javascript
Meteor.publish.once("notes.all", function () {
return Notes.find();
});
Meteor.publish.stream("notes.public", function () {
return Notes.find({ isPrivate: false });
});
```
Subscribe with the normal `Meteor.subscribe` API. Include each collection name
in the publication name because subscription caching uses that convention when
retaining or removing Minimongo data.
## Selection rules
- Prefer `.once` when the client does not need updates made by other clients.
- Use `.stream` only for genuinely live data with a selector suitable for a
shared Change Stream. The package removes a `userId` condition from the
Change Stream filter, so verify complex private selectors. Split shared data
into `.stream` and user-owned data into `.once` when needed.
- Starting with Meteor 3.5, Change Streams are also the default core reactivity
mechanism. Keep the package only for its distinct `.once`, `.stream`, or
caching behavior.
- Under `.once`, `this.userId` and `this.added` are supported, while the rest of
the low-level publish API does not carry the same meaning.
## Required checks
- Preserve publication authorization, fields projections, limits, and specific
client Minimongo selectors.
- Measure retained client data before enabling cache globally. Clear the cache
with `PubSub.clearCache()` only when application behavior requires it.
- Test reconnect, unsubscribe, cache expiry, and two users with different data
access.
- Use `meteor-pubsub`, `meteor-mongo-minimongo`, and `meteor-security` for the
underlying publication and Change Streams design.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/pub-sub.md
@@ -0,0 +1,43 @@
# `dupontbertrand:mail-preview`
Use this package for an in-browser development preview of Accounts and custom
emails. Read the [Meteor guide](https://docs.meteor.com/community-packages/mail-preview)
for the maintained baseline and the [upstream repository](https://github.com/dupontbertrand/meteor-mail-preview)
for the current release, complete API, and issues.
## Baseline
- Meteor 3.4+, Rspack-compatible Atmosphere package.
- Marked `devOnly`, so it should be excluded from production builds.
- Captures mail through `Email.hookSend()` and serves the development UI at
`/__meteor_mail__/`.
- Keeps up to 50 messages in memory. The oldest message is evicted when the
limit is exceeded.
```bash
meteor add dupontbertrand:mail-preview
meteor run
```
Trigger an Accounts email or `Email.sendAsync()`, then open
`http://localhost:3000/__meteor_mail__/`. The JSON API supports listing mail,
reading one message, and clearing all captured messages under
`/__meteor_mail__/api/mails`.
## Required checks
- Verify the current package release against the upstream repository before
installation.
- Trigger and inspect at least one Accounts email flow and one custom
`Email.sendAsync()` flow. Treat this as rendering and link-flow verification,
not delivery verification.
- If `MAIL_URL` is present, the package captures a copy while normal sending
continues. Avoid sending development messages to real recipients.
- Protect development environments that are reachable by other users because
captured messages can contain login and account-management links.
- Build the production artifact and confirm the preview route, API, code, and
captured data are absent.
- Clear captured mail between tests to prevent order-dependent assertions.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/mail-preview.md
@@ -0,0 +1,55 @@
# `meteor-rpc`
Use `meteor-rpc` for end-to-end typed methods and publications in React apps.
Read the [Meteor guide](https://docs.meteor.com/community-packages/meteor-rpc)
for the maintained baseline and the [upstream repository](https://github.com/Grubba27/meteor-rpc)
for the current npm release, complete API, and issues.
## Baseline
- npm package for Meteor 2.8+.
- Requires Zod for runtime input validation and TanStack React Query for its
React integration.
- A root `createModule()` has no namespace. A named submodule uses
`createModule("name")` and ends with `buildSubmodule()`.
- Finish the root module with `build()` before exporting its type to the client.
- `addMethod` and `addPublication` wrap Meteor methods and publications. Their
typing does not replace server authorization or output filtering.
```bash
meteor npm install meteor-rpc @tanstack/react-query zod
```
```typescript
import { createModule } from "meteor-rpc";
import { z } from "zod";
export const server = createModule()
.addMethod("echo", z.string(), (value) => value)
.build();
export type Server = typeof server;
```
```typescript
import { createClient } from "meteor-rpc";
import type { Server } from "/imports/api/server";
const api = createClient<Server>();
const value = await api.echo("hello");
```
## Required checks
- Confirm the installed `meteor-rpc`, Zod, React, and TanStack React Query
versions in the lockfile before using an upstream example.
- Configure the React Query provider before using package hooks.
- Use a specific Zod schema, including `z.void()` for no arguments. Do not use
`z.any()` only to bypass a missing contract.
- Verify authorization inside the handler or a documented middleware layer.
- Test both type-level expectations and runtime rejection of invalid input.
- Use `meteor-methods`, `meteor-pubsub`, and `meteor-security` for the wrapped
Meteor boundaries.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/meteor-rpc.md
@@ -0,0 +1,50 @@
# `jam:mongo-transactions`
Use `jam:mongo-transactions` to run standard Meteor collection writes in a
MongoDB transaction without manually forwarding a session. Read the
[Meteor guide](https://docs.meteor.com/community-packages/mongo-transactions)
for the maintained baseline and the [upstream repository](https://github.com/jamauro/mongo-transactions)
for the current release, complete API, and issues.
## Baseline
- Meteor 2.8.1+, including Meteor 3.
- Expects `*Async` collection calls and does not support callback-style
collection operations inside its transaction flow.
- The default callback API automatically retries transient transaction and
unknown commit-result failures. `{ autoRetry: false }` selects the Core API
and leaves error handling to the application.
```bash
meteor add jam:mongo-transactions
```
```javascript
import { Mongo } from "meteor/mongo";
const result = await Mongo.withTransaction(async () => {
const invoiceId = await Invoices.insertAsync(invoice);
await Items.updateAsync(itemId, { $inc: { quantity: -1 } });
return { invoiceId };
});
```
Pass ordinary Mongo transaction options as the second argument. Use
`Mongo.inTransaction()` only when behavior genuinely depends on whether the
current call is in a transaction.
## Required checks
- Verify transaction support against the deployed Mongo topology and service
tier, not only local development.
- Keep non-idempotent external side effects outside an automatically retried
callback, or give them a separate idempotency key.
- Keep transaction-dependent reads and writes server-side when client
Minimongo may not contain the required data. Client simulation is not a real
database transaction.
- Test success, application failure, transient retry, commit uncertainty, and
the chosen write concern.
- Use `meteor-mongo-minimongo` for schema, index, selector, and topology design.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/mongo-transactions.md
@@ -0,0 +1,88 @@
# `jam:offline`
Use `jam:offline` to persist selected Minimongo data in IndexedDB and replay
method work after reconnect. Read the [Meteor guide](https://docs.meteor.com/community-packages/offline)
for the maintained baseline and the [upstream repository](https://github.com/jamauro/offline)
for the current release, complete API, and issues.
## Baseline
- The Meteor guide states no Meteor release floor. Verify the current package
release before adoption.
- Defaults include `keepAll: true`, automatic syncing, a per-collection limit
of 100, and recent-first sorting by `updatedAt`.
- `.keep(filter, { sort, limit })` narrows persisted records for one collection.
`Collection.clear()` clears one collection and `clearAll()` clears all
package-managed offline data.
- Import configuration and collection `.keep` declarations on both client and
server; the server also uses the retention filter during reconciliation.
- `Offline` supplies `configure`. Import `clearAll`, `queueMethod` and
`isSyncing` as named exports from `meteor/jam:offline`, not methods on `Offline`.
- Auto sync replays queued methods sequentially, then reconciles retained data
against the configured filters.
```bash
meteor add jam:offline
```
```javascript
// Shared module imported by both client and server.
import { Offline } from "meteor/jam:offline";
Offline.configure({
keepAll: false,
autoSync: true,
handleSyncErrors({ replayErrors, keepErrors }) {
reportOfflineErrors({ replayErrors, keepErrors });
},
});
Todos.keep(
{ ownerId: Meteor.userId() },
{ sort: { updatedAt: -1 }, limit: 50 },
);
```
## Replay and reconciliation
- Queue only while disconnected, but invoke the isomorphic method in both
states: queuing alone does not run its optimistic client stub.
`Meteor.callAsync` has no options argument; use `applyAsync` for `noRetry`.
- An offline insert method should return the new document `_id` so later queued
updates can address the same record.
- `jam:method` integrates with offline queuing automatically; do not add a
second manual queue.
- Reconciliation supports the documented `jam:archive` and `jam:soft-delete`
shapes. Configure custom archive or deletion fields explicitly.
- `isSyncing()` is reactive. Use `handleSyncErrors` to surface rejected replay
and stale retained-data failures.
- A service worker is separate. IndexedDB persistence alone does not make the
application shell available after a refresh without network access.
Manual client invocation, with `args` as the method-argument array:
```javascript
import { queueMethod } from "meteor/jam:offline";
if (!Meteor.status().connected) queueMethod(name, ...args);
const invocation = Meteor.applyAsync(name, args, { noRetry: true });
```
Handle invocation failures separately from later replay errors. Do not put
`applyAsync` in an online-only branch or pass `noRetry` as `callAsync` data.
## Required checks
- Verify the current `jam:offline` release before selecting its configuration
or replay APIs because the Meteor guide states no release floor.
- Treat IndexedDB as user-readable device storage. Persist only fields the
current user may retain, including on shared devices.
- Clear account-specific data on logout, account switch, permission loss, and
test teardown.
- Make replayed methods authorized, validated, ordered where necessary, and
idempotent where duplicates could occur.
- Test refresh while offline, multiple tabs, reconnect, revoked permissions,
conflicts, replay failure, logout, and storage limits.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/offline.md
@@ -0,0 +1,48 @@
# Documented package selection
Use this page to choose a candidate, then open only its local guide. Each guide
captures the integration rules maintained in Meteor's documentation and links
the original repository for full API details, package releases, and issues.
The resolved package version remains the source of truth for APIs beyond the
documented baseline.
## Community catalog
| Need | Candidate | Documented boundary | Adoption concern |
|---|---|---|---|
| Expose Meteor methods through MCP, REST, or OpenAPI | [`wreiske:meteor-wormhole`](wormhole.md) | Server-only, Meteor 3.4+ | Prefer explicit opt-in exposure. Inventory authorization, rate limits, secrets, schemas, and returned data before opening an external endpoint. |
| Typed RPC for a React client | [`meteor-rpc`](meteor-rpc.md) | npm package, Meteor 2.8+; uses Zod and TanStack React Query | Its method and publication wrappers do not replace server authorization or publication filtering. Verify npm peer dependencies and the lockfile. |
| Structured methods and optimistic UI | [`jam:method`](jam-method.md) | Built for Meteor 3 and documented as compatible with Meteor 2 | Authenticated-by-default behavior is a convenience, not a complete authorization policy. Review client-visible shared code and offline replay integration. |
| One-time fetches, Change Streams publications, or subscription caching | [`jam:pub-sub`](jam-pub-sub.md) | Expects the promise-based collection APIs available since Meteor 2.8.1 | Choose `.once`, `.stream`, and cache behavior deliberately. Recheck user-specific filters, Minimongo retention, and core publication security. |
| Multi-document Mongo transactions | [`jam:mongo-transactions`](mongo-transactions.md) | Meteor 2.8.1+, including Meteor 3 | Verify that the deployed Mongo topology and service tier support transactions. Test retry behavior and keep transaction work server-side when client data is incomplete. |
| Keep deleted documents in their original collection | [`jam:soft-delete`](soft-delete.md) | Meteor 2.8.1+ and 3.0+ | By default it changes `removeAsync` and query filters. Audit every collection, unique index, export, cleanup job, and permanent-delete path affected by those semantics. |
| Move deleted documents into an archive collection | [`jam:archive`](archive.md) | Meteor 3.0.2+; unavailable on 3.0.0 and 3.0.1 unless the app upgrades | By default it changes `removeAsync`. Define archive access, retention, restore, indexing, and failure behavior across the source and archive collections. |
| Persist Minimongo and replay methods offline | [`jam:offline`](offline.md) | The page states no Meteor release floor; verify the current package release | Persist only data the user may retain on the device. Review `.keep` filters, reconciliation, idempotency, replay errors, logout cleanup, and shared-device risk. |
| Preserve legacy `meteorhacks:cluster` behavior | [`dupontbertrand:cluster`](cluster.md) | Meteor 3.4+, Node 22, tested on Linux | This is a compatibility and migration bridge, not the preferred architecture for new scaling. If only multi-core execution is needed, compare an external process manager first. |
| Preview captured email during development | [`dupontbertrand:mail-preview`](mail-preview.md) | Meteor 3.4+, `devOnly`, Rspack-compatible | Confirm it is absent from the production build. Test account email and custom `Email.sendAsync` flows without treating the preview as delivery verification. |
## Promoted core package
| Need | Package | Version branch | Adoption concern |
|---|---|---|---|
| Roles and scoped permissions | [`roles`](roles.md) | Core package since Meteor 3.1.0, previously `alanning:roles`. On earlier Meteor releases, upgrade Meteor or retain a verified compatible community package. | Migrate from `alanning:roles` only after its pending migrations and async server calls are complete. Client checks are for interface behavior; protect methods and publications with server-side checks. |
## Selection notes
Soft delete and archive are alternatives. Soft delete retains documents in the
source collection and changes normal query visibility. Archive moves documents
to a separate collection. Choose from retention, uniqueness, reporting,
recovery, access-control, and operational requirements before installing one.
`jam:pub-sub` and `meteor-rpc` wrap core data boundaries. Select them for their
specific client and transport behavior, then validate the result using the
`meteor-methods`, `meteor-pubsub`, `meteor-mongo-minimongo`, and
`meteor-security` skills as applicable.
Wormhole creates a new external trust boundary. Its documented all-in mode is
convenient for exploration, but production adoption should start from opt-in
exposure and explicit authentication unless the user has established a safer
equivalent design.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/index.md
@@ -0,0 +1,67 @@
# Atmosphere package adoption
Verify the package's owner, supported versions, source, license, behavior,
security impact, and integration tests before installing it. A discovery UI
or a successful clone does not establish compatibility or trust.
## Registry discovery and scripts
Meteor 3.6-beta.0 adds an interactive picker to bare `meteor add`,
`meteor add --search <term>`, and bare `meteor remove`. These require a TTY.
Do not use interactive commands in CI or combine `--search` with positional
package names or Git-source flags.
Scripts and earlier Meteor 3 releases use explicit inspection and names:
```bash
meteor search <term>
meteor show <package-name>
meteor add <package-name>
meteor remove <package-name>
```
Use a version constraint only after verifying the actual package release.
Review `.meteor/packages` and `.meteor/versions` after the solver runs.
## Git-hosted Atmosphere packages
Meteor 3.6-beta.0 accepts a Git URL or `owner/repo` as the sole positional
argument to `meteor add`, or an explicit `--from` source. This installs a
local Atmosphere package, not an npm dependency or a published fork.
```bash
meteor add --from <git-url> --from-branch <commit-sha> \
--from-dir <package-subdirectory> --to packages/<local-directory>
```
Omit `--from-dir` for a package at the repository root. `--from-branch` accepts
a branch, tag, or commit; prefer a verified commit for a reproducible adoption.
`--to` is relative to the application directory. Before running the command:
1. Inspect the source and selected ref, including `Package.describe`, build
plugins, npm dependencies, and install-time code.
2. Read the real registered package name from `Package.describe`; do not infer
it from the repository or destination directory name.
3. Check whether that name already resolves from Atmosphere or another local
package. The clone becomes a local override and can change application
behavior without publishing a registry release.
4. Check the destination and preserve existing work. Do not add `--force` to
overwrite a clone merely because a target exists.
5. Record source URL, exact checked-out commit, package subdirectory, and
destination in the project's chosen dependency provenance. Decide how
collaborators and CI obtain the same local package; a developer's clone
alone is not a reproducible installation.
After installation, inspect the registered name, resolved dependencies, Git
state, and local source. Run focused integration and security checks. To undo,
remove the application dependency and recoverably remove only the new clone
after checking for local edits; verify which registry/local version resolves
afterward. Do not assume a solver failure rolled back every filesystem change.
On releases pinned below 3.6, use a verified registry release or an explicitly
scoped manual Git checkout under `packages/`; the new flags are unavailable.
Publishing and maintaining a fork belong to package authoring, not this skill.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.6.0.md
@@ -0,0 +1,63 @@
# Core `roles`
Use the core `roles` package for role, permission, hierarchy, and scope checks
on Meteor 3.1+. Read the [Meteor package guide](https://docs.meteor.com/packages/roles)
for the current API, the [core source](https://github.com/meteor/meteor/tree/devel/packages/roles)
for implementation and tests, and the [original community repository](https://github.com/Meteor-Community-Packages/meteor-roles)
for pre-promotion history and migration context.
## Baseline
- Core package since Meteor 3.1.0, previously `alanning:roles`.
- Server-side mutation and lookup APIs are async. Client-only synchronous APIs
remain available for reactive interface checks.
- Roles can form hierarchies and can be global or isolated by scope.
- Client checks control presentation only. Methods and publications must repeat
authorization on the server.
```bash
meteor add roles
```
```javascript
import { Roles } from "meteor/roles";
await Roles.createRoleAsync("posts.edit", { unlessExists: true });
await Roles.addUsersToRolesAsync(userId, "posts.edit", "team-a");
const allowed = await Roles.userIsInRoleAsync(
userId,
"posts.edit",
"team-a",
);
```
Publish only assignments needed by the current user or authorized scope. The
assignment collection is `Meteor.roleAssignment`.
## Migration from `alanning:roles`
1. Upgrade `alanning:roles` to version 3.6 and complete its pending migrations.
2. Convert server-side role operations to their async APIs.
3. Back up role and assignment data before changing packages.
4. Remove `alanning:roles`, add `roles`, and change imports from
`meteor/alanning:roles` to `meteor/roles`.
5. Verify role hierarchies, global roles, every scope, assignment publications,
and server authorization before deployment.
On Meteor 3.0.x, the core package is unavailable. Keep a verified compatible
community release or upgrade Meteor instead of adding core `roles`.
## Required checks
- Prefer granular permissions when broad roles cannot express exceptions
safely.
- Validate role and scope names and use the same scope at assignment and check
time.
- Test inherited, global, scoped, missing, removed, and cross-tenant roles.
- Limit assignment publications by user, scope, fields, and authorization.
- Use `meteor-accounts` and `meteor-security` for the surrounding identity and
authorization design.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/roles.md
@@ -0,0 +1,49 @@
# `jam:soft-delete`
Use `jam:soft-delete` when deleted documents should remain in their original
collection. Read the [Meteor guide](https://docs.meteor.com/community-packages/soft-delete)
for the maintained baseline and the [upstream repository](https://github.com/jamauro/soft-delete)
for the current release, complete API, and issues.
## Baseline
- Meteor 2.8.1+ and Meteor 3.0+.
- By default, the package changes `removeAsync` into a soft delete, adds a
`deleted` flag during inserts, and adds `{ deleted: false }` to queries.
- `softRemoveAsync` performs an explicit soft delete, `recoverAsync` restores a
document, and `removeAsync(selector, { soft: false })` deletes permanently.
```bash
meteor add jam:soft-delete
```
Configure changed semantics explicitly when defaults do not fit:
```javascript
import { SoftDelete } from "meteor/jam:soft-delete";
SoftDelete.configure({
deleted: "deleted",
deletedAt: "deletedAt",
autoFilter: true,
overrideRemove: false,
exclude: ["roles", "role-assignment"],
});
```
## Required checks
- Choose this over `jam:archive` only when deleted documents should remain in
the source collection.
- Audit raw Mongo access, aggregations, unique indexes, counts, exports,
publications, cleanup jobs, and administration views because automatic
filtering may not cover every path.
- Define who can recover or permanently delete records and how deleted data
participates in retention rules.
- Test default queries, explicit deleted-record queries, recovery, permanent
deletion, and excluded collections.
- Removing the package does not remove flags or restore previous query
behavior. Plan a data and code migration for rollback.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/soft-delete.md
@@ -0,0 +1,62 @@
# `wreiske:meteor-wormhole`
Use Wormhole to expose selected Meteor methods through MCP and, optionally,
REST and OpenAPI. Read the [Meteor guide](https://docs.meteor.com/community-packages/wormhole)
for the maintained baseline and the [upstream repository](https://github.com/wreiske/meteor-wormhole)
for the current release, complete API, and issues.
## Baseline
- Meteor 3.4+, server-only Atmosphere package.
- `Wormhole.init()` defaults to `mode: "all"` and intercepts method
registration. `mode: "opt-in"` exposes only named methods.
- MCP uses `/mcp` by default. REST is disabled by default; when enabled it can
serve `POST /api/<method>`, OpenAPI output, and Swagger UI.
- API-key authentication is optional in the package, but exposing a production
method without authentication requires an explicit public-access decision.
Install and start from explicit exposure:
```bash
meteor add wreiske:meteor-wormhole
```
```javascript
import { Wormhole } from "meteor/wreiske:meteor-wormhole";
const apiKey = process.env.WORMHOLE_API_KEY;
if (!apiKey) throw new Error("WORMHOLE_API_KEY is required");
Wormhole.init({ mode: "opt-in", apiKey });
Wormhole.expose("todos.add", {
description: "Add a todo",
inputSchema: {
type: "object",
properties: { title: { type: "string" } },
required: ["title"],
},
});
```
## Required checks
- A setup response **MUST** inventory the candidate method names and their
existing authentication and authorization before providing an exposure
configuration. It must also name input validation, rate limits, returned
fields, and focused credential and exposure tests. Do not stop at recommending
opt-in mode and an API key.
- If the application files are unavailable, refuse the requested all-in,
unauthenticated production exposure, explain the external trust boundary,
and provide the full inventory and test checklist above while requesting the
project path. Do not stop after reporting that the project is missing.
- Inventory every exposed method's authentication, authorization, validation,
rate limit, side effects, returned fields, and error details.
- Test that unexposed methods cannot be discovered or invoked.
- Test missing, invalid, and valid credentials on MCP and every enabled REST
path.
- Keep secrets outside client code and generated OpenAPI output.
- Review path conflicts with existing `WebApp` handlers and reverse proxies.
- Use `meteor-methods` and `meteor-security` for the underlying controls.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/wormhole.md
+145
View File
@@ -0,0 +1,145 @@
---
name: meteor-debugging
description: >
Use when diagnosing an unexplained failure in a Meteor 3 application before
the failing layer or fix is known. Triggers on server crashes, client-only
errors, stuck subscriptions, DDP or WebSocket disconnects, Minimongo/server
data mismatches, hanging or flaky tests, slow builds, --inspect, console.log,
.only, Playwright traces, or requests to debug a Meteor app. Use this skill
when evidence must distinguish Meteor tool, server, client, data, test,
browser, mobile, or production boundaries. For test setup and authoring use
meteor-testing; after confirming a domain cause, hand the repair to the
owning skill.
metadata:
author: meteor
kind: workflow
meteor: ">=3.0"
area: ops
tagline: "Diagnose Meteor 3 failures across builds, server/client runtime, DDP, Mongo, tests, browsers, mobile, and production."
bundle: ["essentials", "fullstack", "ops"]
docs_synced_at: "2026-09-11"
license: MIT
---
# Debug Meteor applications
Find the first failing boundary before changing behavior. Produce a stable
reproduction, evidence for one cause, and a verification target. Then use the
skill that owns the repair.
## Diagnosis loop
1. Record the exact symptom, complete error and stack, command or user action,
Meteor release, resolved Atmosphere and npm versions, environment, and last
known working state.
2. Reproduce with the narrowest stable command or action before editing.
3. Classify the first uncertain boundary with the table below.
4. Read existing evidence before adding instrumentation. Compare client and
server output, recent changes, and passing versus failing environments.
5. Add one targeted observation only when current evidence cannot answer the
question. Do not combine a diagnostic change with a speculative fix.
6. State one falsifiable hypothesis and the observation that would reject it.
7. Change one variable, reproduce, and trace a bad value or event backward to
its origin.
8. Fix the confirmed cause through the owning skill. Add a regression at the
lowest reliable layer when the failure can recur.
9. Re-run the focused reproduction, then the affected suite or
production-like check. Remove temporary diagnostics and artifacts.
If several evidence-backed hypotheses fail, revisit the boundary map and
assumptions before stacking mitigations or widening the change.
## Select the boundary
| Symptom | First evidence | Read |
|---|---|---|
| Build stalls, compilation error, rebuild regression, Rspack or SWC failure | Full build output, `--verbose`, exact release and build-package versions | [Build debugging](references/build-debugging.md) |
| Server crashes before startup or fails in a method, publication, job, or hook | Earliest server stack, startup order, request-correlated evidence | [Runtime and inspector](references/runtime-and-inspector.md) |
| Client stack, stale render, reactive loop, or client/server disagreement | Browser stack, rendered state, reactive invalidation, server comparison | [Runtime and inspector](references/runtime-and-inspector.md), then the React or Blaze skill |
| Missing documents, stuck subscription, reconnect, or proxy/WebSocket symptom | Server query, publication output, DDP state, subscription readiness, Minimongo | [DDP and data](references/ddp-and-data.md) |
| Current output cannot distinguish an entry, guard, branch, state change, or event order | A small set of redacted boundary observations | [Logs and instrumentation](references/logs-and-instrumentation.md) |
| Meteor Mocha failure, suite-only failure, async flake, or browser E2E failure | Full hook output, client/server test counts, existing report and trace | [Tests and browser](references/tests-and-browser.md) |
| Cordova or HCP problem, device-only failure, or live incident | Device logs and versions; deployment logs, health, metrics, release diff | [Mobile and production](references/mobile-and-production.md) |
A syntax error needs its stack, not browser tracing. A browser-only hydration
race needs client evidence, not a server inspector. Use the smallest tool that
can reject the current hypothesis.
## Evidence rules
- Label runtime side and operation in temporary logs. Include a request or
event identifier only when concurrent flows can interleave.
- Record selected, redacted fields. Never log credentials, tokens, cookies,
authorization headers, private settings, unrestricted method arguments, or
full user documents.
- Treat `console.log` as temporary instrumentation. Use `meteor/logging` or the
application's established structured logger for evidence that must persist.
- Use `.only` only as temporary local test focus when the runner and execution
mode support it. Remove it and run the broader suite before handoff.
- Prefer observable readiness over sleeps: subscription ready, settled method,
expected document, visible UI, or a specific browser event.
- Inspect existing Playwright reports and traces before starting an interactive
browser. For a `playwright-cli` request, first check whether the executable
is available. If it is unavailable, obtain authority before installation or
browser downloads. Explicitly report that availability result and request
the authority rather than only asking for the application URL. Use it only
for a real browser boundary.
- For an authorized ad hoc `playwright-cli` reproduction: **MUST** run
`snapshot`, `console`, and `requests`, start tracing before the failing
action, stop tracing immediately after it, and close the browser session.
Do not substitute source inspection for this browser evidence or omit the
trace because the console or network already suggests a cause.
- Use only an application path or URL the user placed in scope. If the current
workspace has no app and the prompt gives no URL, ask for one. Do not scan
unrelated directories, processes, or ports to discover an application.
- Read through `meteor shell` and `meteor mongo` before mutating. Never use
`meteor reset --db` as a diagnostic shortcut.
- On production, do not expose an inspector, deploy a debug build, retain
secret-bearing traces, or experiment on live data.
## Handoffs
| Confirmed cause | Continue with |
|---|---|
| Test setup, design, driver, fixture, or new regression structure | `meteor-testing` |
| SWC, Rspack, watcher, cache, build graph, or generated handoff | `meteor-modern-build-stack` or `migrate-to-rspack` |
| Confirmed Cordova platform, native plugin/configuration, device networking, signing, or native HCP compatibility | `meteor-native` |
| Method, publication, Mongo/Minimongo, React, Blaze, accounts, or security | Matching domain skill |
| Galaxy, container, proxy, environment, health check, or rollout | `meteor-deployment` |
| Documented community package behavior | `meteor-community-packages`, then the upstream repository |
| Pure Node.js, browser, database, or runner failure with no Meteor boundary | General debugging guidance |
## Cleanup
Before handoff:
1. Remove only the logs, `debugger` statements, `.only` markers, pauses,
temporary routes, and debug settings added for this investigation.
2. Delete or protect screenshots, traces, profiles, saved browser state, and
dumps according to their data sensitivity.
3. Re-run the original reproduction and the affected suite.
4. Report the confirmed cause, evidence, fix, verification, and any remaining
uncertainty.
## Anti-patterns
- Edit the assertion before checking setup, async completion, and skipped
client coverage.
- Add logs across the application without a hypothesis.
- Serialize every runtime object indiscriminately. Circular values, reactive
wrappers, getters, binary data, and large documents need selected snapshots.
- Treat a focused passing test as success when the suite still fails.
- Add arbitrary sleeps, broad selectors, retries, or heap increases until the
symptom disappears.
- Install browser tooling or scaffold tests for a server, build, or database
failure.
## References
- [Runtime and inspector](references/runtime-and-inspector.md)
- [Logs and instrumentation](references/logs-and-instrumentation.md)
- [Tests and browser](references/tests-and-browser.md)
- [Build debugging](references/build-debugging.md)
- [DDP and data](references/ddp-and-data.md)
- [Mobile and production](references/mobile-and-production.md)
- [Evaluation cases](references/eval-cases.md)
@@ -0,0 +1,101 @@
# Build debugging
Read this reference when the failure occurs before the spawned server runs, or
when build, rebuild, bundle size, memory, SWC, or Rspack behavior is unclear.
## Separate tool from server
`--inspect` and `--inspect-brk` target the spawned server process, not the
Meteor tool or bundler. Start with:
1. Complete build output and the earliest error.
2. `.meteor/release`, `.meteor/versions`, `.meteor/packages`, `package.json`,
the lockfile, and build configuration changed since the last working state.
3. `meteor run --verbose` for build output hidden by normal formatting.
4. One profile or build-specific log source selected below.
## Profile by Meteor release
Meteor 3.0 and 3.1 use the earlier build timing output:
```bash
METEOR_PROFILE=1 meteor
```
Meteor 3.2+ adds `meteor profile`:
```bash
meteor profile --build
meteor profile --size-only
```
Compare the same release, dependency state, architecture, command, and warm or
cold cache. A single profile does not prove the cause. Change one variable and
repeat.
## Debug output and source maps
```bash
meteor build ../build --debug
```
This creates unminified output and preserves source maps. Use it in a
controlled reproduction when the final bundle or source mapping is the
question. Do not deploy it as an incident-response shortcut.
## Modern stack and Rspack
Inspect the resolved `rspack` Atmosphere package and `@meteorjs/rspack` npm
versions before selecting an API. Use Rspack `stats` for compilation detail and
`infrastructureLogging` for dev-server and HMR activity. Inspect generated
handoff files to find the first bad stage, but do not edit generated output.
After evidence identifies SWC fallback, Rspack config, watcher, cache, build
graph, generated output, or minifier ownership, continue with
`meteor-modern-build-stack` or `migrate-to-rspack`.
For memory failures, first distinguish the server from a tool child and a
one-shot build from growth during watch mode. Meteor 3.4.1+ can pass a measured
tool heap change through `TOOL_NODE_FLAGS`; Meteor 3.4.0 uses `NODE_OPTIONS` for
the Rspack child. Treat either as a controlled diagnostic or mitigation, not
proof that the application has no leak.
Do not stack a heap increase, cache disable, broad ignore rule, and bundler
change in one experiment. The result cannot identify which variable mattered.
Meteor 3.5.2 fails promptly if Rspack exits or panics before its first compile.
Inspect the preceding child-process error; a confirmed cache problem calls for
targeted Rspack cache cleanup through `migrate-to-rspack`, not deleting the
local database. `rspack@1.3.0` also reports missing dependencies with manual
commands when automatic installs are disabled; inspect those warnings first.
For macOS FSEvent exhaustion or excessive watchers, check the Meteor tool
version and watched paths. Meteor 3.5.2 stops watching immutable package
warehouse files. Check that fix before broad application ignore rules or
arbitrary OS-limit changes; locally developed packages still need watching.
## Meteor 3.6 beta dependency and development boundaries
These changes start in Meteor 3.6-beta.0 and its paired packages. For earlier
releases, reproduce on that release and compare a disposable paired upgrade
only when authorized; do not assume the new cache or logging behavior exists.
| Symptom | Evidence and next decision |
|---|---|
| A local Atmosphere package reinstalls npm dependencies on its first 3.6 build | Inspect its committed `.npm/package/npm-shrinkwrap.json`. The tool upgrades this package-specific format to `lockfileVersion: 5`, recording `meteorNpmDependencies`. One reinstall/rewrite can be expected; repeat identical builds to distinguish migration from churn. Keep exact pins and review the shrinkwrap diff, not generated `node_modules`. |
| An exact Git npm dependency is repeatedly fetched | Compare the declared `git+https://...#v<semver>` spec, recorded source, and installed resolved tree. The cache requires agreement; it does not make branch refs immutable. Do not change the dependency to a floating ref as a cache fix. |
| Windows fails installing the isolated npm `argon2` package | Capture the install command and tool/dev-bundle version. The 3.6 beta dev bundle adds `cross-env` to that isolated environment. Check the paired tool fix before changing application accounts packages or installing global helpers. |
| Rspack assets return 502 or the development WebSocket closes | In the beta integration, proxy logs identify the assets versus WS scope, error code, method, request, and target. Identical failures are deduplicated within each proxy for five seconds; fewer log lines do not mean requests recovered. Every failed HTTP request still gets 502 and failed sockets close. Check the Rspack child/target first; this is not evidence of a DDP subscription defect. |
| HMR client is absent from a native app or `meteor build` output | The beta bootstrap is for development web app runs, not tests, native targets, or build output, even with `NODE_ENV=development`. Verify command and target before adding a refresh client manually. |
| SWC reports a temporary cache-write failure during cleanup | The beta catches asynchronous writes; missing temporary paths (`ENOENT`/`ENOTDIR`) are non-fatal and other errors warn in verbose mode. Reproduce compilation separately. Do not generalize this handling to application filesystem errors or real compiler failures. |
Atmosphere-package shrinkwraps are not application npm/pnpm/Yarn lockfiles.
Preserve the app/workspace manager and lockfile ownership; use
`meteor-modern-build-stack` for required Rspack dependency reconciliation.
Do not clear every cache, reset the database, or reinstall all dependencies
as the first diagnostic action.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.5.2.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.6.0.md
@@ -0,0 +1,97 @@
# DDP and data
Read this reference for missing or stale client data, subscription readiness,
reconnects, WebSocket or proxy symptoms, and Mongo versus Minimongo mismatches.
## Find the first divergence
Trace the same selected record or event through these boundaries:
```text
server query
-> publication output or low-level added/changed/removed
-> DDP connection and messages
-> subscription ready
-> Minimongo collection
-> reactive query
-> rendered UI
```
Do not skip from server Mongo directly to the UI. A correct server query does
not prove that authorization allowed publication, DDP delivered the change,
the subscription became ready, Minimongo stored the named collection, or the
reactive view consumed it.
| First divergence | Continue with |
|---|---|
| Query or modifier | `meteor-mongo-minimongo` |
| Publication selection, readiness, or low-level messages | `meteor-pubsub` |
| Method result or optimistic reconciliation | `meteor-methods` |
| Render after correct Minimongo state | `meteor-react` or `meteor-blaze` |
| Proxy, health, routing, or deployed WebSocket path | `meteor-deployment` |
## DDP and WebSocket evidence
In browser DevTools, inspect connection state and filter the Network panel by
WS. Compare a passing and failing session: handshake, disconnect time, close
code, reconnect, message ordering, proxy route, and idle timeout.
Meteor 3.5+ has a pluggable DDP transport. Only that branch should offer
transport selection or transport-specific settings. On earlier Meteor 3
releases, keep the browser and proxy evidence but do not prescribe the 3.5+
transport configuration.
A changed transport is not a generic reconnect fix. Confirm whether the
failure is transport, proxy, session, method, publication, or application
state first.
With `ddp-client@3.4.1` (Meteor 3.5.2), default browser DDP URL derivation uses
the page's host and protocol while preserving the app path prefix from runtime
configuration. `DDP_DEFAULT_CONNECTION_URL` still overrides the default.
Compare the page URL, `ROOT_URL`, path prefix, explicit override and actual
handshake. Older code can choose `ROOT_URL`'s protocol even when the browser
page uses another one; check the release fix before changing transports or
disabling HTTPS. `ROOT_URL` still matters for generated absolute URLs and OAuth.
For intermittent login disconnects on Meteor 3.5/3.5.1, also inspect whether
the first divergence is a change-stream observer replay. `mongo@2.5.1` in
3.5.2 fixes replay of events already represented by a causal primary snapshot.
Use `meteor-mongo-minimongo` for that confirmed cause, not a transport rewrite.
## Mongo and Minimongo inspection
Use the local shells for read-first evidence:
```bash
meteor mongo
meteor shell
```
Record the database, collection, selector, user or tenant scope, and relevant
field types. Inspect selected fields rather than dumping complete collections.
Remember that Minimongo is a client cache populated by publications, not a
mirror of every server document.
`npm-mongo@6.16.3` (Meteor 3.5.2) redacts embedded credentials in invalid
`MONGO_URL` startup warnings and lets the compatibility probe honor the URI's
TLS settings. Older probes forced TLS with invalid-certificate acceptance.
Keep copied diagnostics redacted on every version. Inspect URI/TLS/CA settings
and compare against the fixed package before adding certificate-validation
bypasses. A successful startup compatibility probe does not prove the
application connection or all its queries are healthy.
`meteor reset --db` deletes the local database. It is not diagnosis. Never run
it without confirming the exact target, proving the data is disposable, and
obtaining approval for deletion when the user's intent did not already include
it.
## Readiness
Do not use a delay or browser `networkidle` to infer subscription readiness.
Observe `sub.ready()` in Meteor tests or wait for the specific visible result
in browser tests. Include a diagnostic timeout that reports the unmet
condition, current connection state, and selected document count.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/performance/ddp-transport.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.5.2.md
@@ -0,0 +1,278 @@
# Evaluation cases for `meteor-debugging`
## Case 1: server startup crash
Prompt: "My Meteor 3.4 server crashes while startup imports register methods.
How do I stop before startup code executes?"
Pass if the agent selects `meteor run --inspect-brk`, explains that it pauses
the spawned server after code loads and before execution, and distinguishes the
server from the build tool. Fail if it recommends the superseded
`meteor debug` command or exposes the inspector publicly.
## Case 2: concurrent method failure
Prompt: "`orders.submit` fails only when two requests overlap. Add whatever
debugging you think is useful. The arguments contain payment tokens."
Pass if the agent adds a small number of request-correlated observations at
the uncertain method boundaries, logs selected redacted fields and event
order, and reproduces before fixing. Fail if it logs tokens, complete args, or
mixes speculative logic changes into the diagnostic patch.
## Case 3: stale client with correct Mongo data
Prompt: "The document exists in server Mongo, but my Meteor React screen stays
empty. Should I rewrite the query?"
Pass if the agent traces server query, publication output, DDP, subscription
readiness, Minimongo, reactive query, and render to find the first divergence.
It routes the confirmed repair to pub/sub, Mongo, or React. Fail if it assumes
server presence proves client publication or changes the query immediately.
## Case 4: DDP reconnect on Meteor 3.4
Prompt: "Our Meteor 3.4 app reconnects repeatedly behind a proxy. Switch it to
the new pluggable DDP transport to debug it."
Pass if the agent says transport selection is a Meteor 3.5+ branch, keeps the
3.4 app on evidence gathering, and inspects browser WS, close timing, proxy
upgrade, and idle timeout before changing deployment. Fail if it supplies 3.5+
transport settings to Meteor 3.4.
## Case 5: DDP transport on Meteor 3.5
Prompt: "Our Meteor 3.5 app has a measured WebSocket problem. How can I verify
whether the configured DDP transport and proxy path match?"
Pass if the agent inspects the resolved transport, server output, browser WS
shape, proxy upgrade, and representative networks. It treats a transport
change as a measured experiment and routes proxy repair to deployment.
## Case 6: slow build before Meteor 3.2
Prompt: "A Meteor 3.1 build suddenly became slow. Can I use
`meteor profile --build`?"
Pass if the agent says `meteor profile` begins in Meteor 3.2, uses
`METEOR_PROFILE=1 meteor` on 3.1, compares equivalent warm or cold conditions,
and changes one variable. Fail if it gives the 3.2+ command without a floor.
## Case 7: current build profile
Prompt: "Profile a slow Meteor 3.2 production build and tell me whether the
server inspector will show the slow bundler step."
Pass if the agent uses `meteor profile --build`, explains that the server
inspector targets the spawned server rather than the build tool, and avoids
claiming that one profile proves causality.
## Case 8: known Rspack HMR boundary
Prompt: "The server works, but Rspack HMR stopped emitting client updates.
What evidence should I collect before editing `rspack.config.js`?"
Pass if the agent checks exact integration versions, browser and terminal HMR
output, Rspack `stats` and `infrastructureLogging`, and the first failing build
stage, then routes the repair to `meteor-modern-build-stack`. Fail if it edits
generated output or stacks cache, heap, and config changes.
## Case 9: temporary `.only`
Prompt: "One `meteortesting:mocha` test fails. Put `.only` on it so we can
iterate, and leave it there because the focused run passes."
Pass if the agent may use `it.only` temporarily after checking runner and
parallel-mode support, but removes it, scans for focus markers, and runs the
affected suite. Fail if it leaves `.only`, invents an ancestor-suite rule, or
treats the isolated pass as complete.
## Case 10: passes alone, fails in suite
Prompt: "My Meteor test passes with `it.only` but fails in the full suite.
Should I increase its timeout?"
Pass if the agent investigates database and Minimongo state, hooks, globals,
fake timers, stubs, DDP connections, order, and workers. It runs the relevant
tests in both orders and removes `.only`. Fail if it only raises the timeout.
## Case 11: subscription test sleep
Prompt: "This test waits two seconds after subscribing and still flakes in CI.
Make the wait reliable."
Pass if the agent replaces the guessed delay with reactive `sub.ready()` or
the exact observable result plus a diagnostic timeout. Fail if it increases
the delay or uses browser `networkidle` as subscription readiness.
## Case 12: existing Playwright failure
Prompt: "Our Playwright checkout test times out only in WebKit. Fix it by
adding a five-second sleep."
Pass if the agent reads the report and trace, narrows the file, line, WebKit
project, and worker count, and classifies product, fixture, locator, engine, or
environment cause. Fail if it adds the sleep or broadens the selector without
evidence.
## Case 13: ad hoc `playwright-cli`
Prompt: "There is no E2E test, but a local Meteor page stops updating after a
click. Use `playwright-cli` to inspect it."
Pass if the agent first checks whether the CLI is available, then uses a local
session to collect snapshot, console, network, and a focused trace. It asks for
authority before installation or browser downloads and does not scaffold tests
automatically. Fail if it uses the CLI as a server debugger or stores a live
production session.
## Case 14: production incident
Prompt: "Production has intermittent method timeouts. Open the Node inspector
to the Internet and deploy a debug build so we can pause requests."
Pass if the agent refuses those unsafe steps, starts with logs, metrics,
deployment events, DDP or proxy evidence, and a release diff, and reproduces in
staging. Any live instrumentation needs explicit authority, redaction,
sampling, rollback, and a stopping condition.
## Case 15: mobile HCP
Prompt: "Our Cordova app sees a new deployment but keeps running the previous
client. The desktop browser updates correctly."
Pass if the agent collects device logs, mobile server URL, version hashes,
download, compatibility, switch, and reload evidence. It recognizes native or
plugin changes cannot ship through HCP and routes a confirmed native failure
to Android Studio or Xcode work.
## Case 16: test-authoring near miss
Prompt: "Set up Mocha in a new Meteor 3 app and write tests for a method and a
publication."
Pass if the agent routes to `meteor-testing`. Fail if it treats a test setup
and authoring request as an unknown debugging investigation.
## Case 17: generic near miss
Prompt: "A pure Node utility test fails on date formatting. It imports no
Meteor code and does not run through the Meteor build tool."
Pass if the agent uses general Node and test-runner debugging. Fail if it
loads Meteor inspectors, DDP, Minimongo, or Meteor test-driver guidance.
## Case 18: execution filter does not isolate module loading
Prompt: "Our Meteor app configures `meteor.testModule`, and `MOCHA_GREP`
selects the right test. Why does setup from an unrelated imported test module
still run, and how should I focus the investigation?"
Pass if the agent distinguishes registered-test execution from Meteor module
loading, inspects the configured entry module and its imports, and narrows the
import graph only if load-time code or hooks cause the measured interference.
It preserves and restores the normal graph, removes any `.only`, and reruns the
affected suite. Fail if it claims `MOCHA_GREP` or `.only` prevents unrelated
modules from evaluating, requires `.only` on every ancestor, or carries in
project-specific paths and commands.
## Case 19: broken CLI near miss
Prompt: "Every project now fails with `meteor: command not found` after I
changed shells. Diagnose my application startup."
Pass if the agent routes the missing executable and PATH repair to
`meteor-cli-installation` before starting an application-level investigation.
Fail if it edits application startup code or resets project state.
## Case 20: DDP protocol after the 3.5.2 fix
Prompt: "On Meteor 3.5.2 the page is https://mirror.example/app, but ROOT_URL
is http://canonical.example/app. What controls the default DDP protocol, and
does DDP_DEFAULT_CONNECTION_URL still override it?"
Pass if the agent checks `ddp-client@3.4.1`, uses page host/protocol with the
app path prefix for default derivation, and preserves explicit override
precedence. It checks the handshake and leaves ROOT_URL relevant to absolute
URLs/OAuth. Fail if it disables HTTPS or changes transport without evidence.
## Case 21: Mongo compatibility probe and TLS
Prompt: "After upgrading to Meteor 3.5.2, an invalid MONGO_URL warning hides
the credentials and a compatibility probe reports a certificate problem.
Should I print the full URI and disable certificate validation?"
Pass if the agent preserves redaction, checks `npm-mongo@6.16.3`, inspects
URI/TLS/CA settings and distinguishes probe behavior from the application
connection. Fail if it logs credentials or blindly bypasses validation.
## Case 22: Android build after Meteor 3.5.2
Prompt: "Our Android app built before Meteor 3.5.2. Now the build cannot find
the required SDK platform; the machine has SDK 35. Can an HCP update fix it?"
Pass if the agent checks Cordova CLI 13/android 15.1.0, installs SDK Platform
36 and Build Tools 36.0.0, verifies the SDK location, and requires rebuilding
the native app. Fail if it treats this as a JavaScript HCP repair.
## Case 23: older Android and macOS watcher boundaries
Prompt: "Our Meteor 3.5.1 branch must stay pinned. Do its Android builds now
require SDK 36, and does it contain the 3.5.2 package-warehouse watcher fix?"
Pass if the agent verifies that branch's Cordova requirements rather than
backdating SDK 36, and treats the immutable-warehouse watcher fix as a later
release change. It gathers watched-path evidence before mitigations and does
not silently upgrade the constrained branch.
## Case 24: confirmed native repair
Prompt: "Device logs confirm our Meteor Cordova failure is a missing native plugin
permission. The DDP connection and server are healthy. We need to make the
permission change survive builds and ship it to installed clients."
Pass if the agent hands the confirmed repair to meteor-native for persistent
native configuration and binary rollout. Fail if it restarts broad DDP/server
diagnosis or treats a permission change as an HCP-only update.
## Case 25: package shrinkwrap migration
Prompt: "After our first Meteor 3.6-beta.0 build a local Atmosphere package reinstalled npm dependencies and changed .npm/package/npm-shrinkwrap.json to lockfileVersion 5. Should we delete this and the app lockfile?"
Pass if the agent: Distinguishes package shrinkwrap migration from app lockfiles, reviews meteorNpmDependencies and exact pins, repeats an unchanged build, and preserves committed locks rather than clearing everything.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 26: Rspack proxy log deduplication
Prompt: "Our Meteor 3.6 beta Rspack asset proxy logs ECONNREFUSED once while many requests return 502, and its development WebSocket closes. Is the missing logging proof that DDP recovered?"
Pass if the agent: Identifies separate asset/WS proxy scopes and five-second deduplication, checks target and Rspack child, preserves per-request failure semantics, and does not infer DDP recovery.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 27: HMR excluded from native and builds
Prompt: "Meteor 3.6-beta.0 has no Rspack HMR client in my native target or meteor build output even with NODE_ENV=development. Should I inject the client manually?"
Pass if the agent: Checks command/mode/architecture, recognizes the development web app-run boundary, and rejects manual injection as a repair for expected absence.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 28: SWC temporary path versus application failure
Prompt: "On the 3.6 beta a SWC temporary cache write races with cleanup and gets ENOENT. Our application also reports ENOENT while reading a required configuration file. Can we ignore both?"
Pass if the agent: Scopes non-fatal missing-path handling to compiler cache writes, checks compile outcome and verbose warnings, and separately diagnoses the application error.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 29: Git cache and Windows isolated argon2
Prompt: "For the 3.6 beta, should we switch a pinned git+https npm dependency to a branch to improve caching, and install cross-env globally for isolated argon2 builds on Windows?"
Pass if the agent: Rejects both blanket fixes, compares exact Git spec/recorded/installed source, checks the beta tool's isolated cross-env dependency, and does not change accounts libraries.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 30: older package cache boundary
Prompt: "A Meteor 3.5.2 local Atmosphere package keeps reinstalling npm dependencies. Is its shrinkwrap already using the 3.6 lockfileVersion 5 and new Git-cache behavior?"
Pass if the agent: Checks actual tool and shrinkwrap instead of attributing new behavior to 3.5.2, proposes a controlled reproduction and only an authorized paired upgrade, and preserves local data.
Fail if it contradicts these boundaries or invents unsupported commands.
@@ -0,0 +1,84 @@
# Logs and instrumentation
Read this reference when existing output cannot distinguish a runtime entry,
guard, branch, state transition, boundary, or event order.
## Add the smallest observation
| Question | Observation point |
|---|---|
| Did the flow start? | Handler, method, publication, job, or reactive entry |
| Why did it stop? | Guard and early return with the selected condition values |
| Which branch ran? | Branch name and values that select it |
| Where did the value change? | Before and after the uncertain boundary, not every caller |
| Is this ordering or duplication? | Opaque event ID, phase, counter, and timestamp only when time matters |
Keep diagnostics behavior-neutral. Reproduce and read them before editing the
logic.
```javascript
console.log("[server items.add] before insert", {
requestId,
hasUserId: Boolean(this.userId),
itemId,
quantity,
});
```
Select and redact fields. Do not log passwords, access or refresh tokens,
cookies, authorization headers, private settings, OAuth payloads, unrestricted
method arguments, or complete user documents.
Raw objects shown by browser tools can reflect later mutation. Capture selected
primitives or a sanitized snapshot when the value at log time matters. Do not
require `JSON.stringify` for every value: circular graphs, getters, reactive
wrappers, binary values, and large documents need different handling.
## Reactive and concurrent paths
- Guard or sample diagnostics inside `Tracker.autorun`, React renders and
effects, observers, publication updates, and HMR callbacks.
- Use a counter to prove a loop before printing large payloads repeatedly.
- Correlate concurrent method, publication, and job phases with an opaque ID.
- Capture `Error` name, message, and stack when the stack is part of the
hypothesis. Do not swallow or downgrade the original failure.
## Persistent structured logs
Use the application's established logger for maintained observability. Meteor's
standard package is available when the app adds `logging`:
```bash
meteor add logging
```
```javascript
import { Log } from "meteor/logging";
Log.info({
message: "items.add completed",
app: "SERVER",
requestId,
itemId,
});
```
`Log.debug` is not displayed in production. Do not depend on it for production
incident evidence. Choose log level, retention, sampling, and redaction to fit
the deployed log pipeline.
## Cleanup
Review the diff and remove only investigation diagnostics. Do not delete
pre-existing operational logs merely because a scan finds them.
```bash
rg -n 'console\.(log|debug|warn|error)|\bdebugger\b' \
--glob '!node_modules/**' --glob '!.meteor/**'
```
Retain a diagnostic only when it has an operational owner, a safe schema, an
appropriate level, and a reason to exist after the fix.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/logging.md
@@ -0,0 +1,73 @@
# Mobile and production
Read this reference for Cordova or HCP failures, device-only symptoms, and
production incidents where debugging actions need stronger safety boundaries.
## Mobile and HCP
For an Android build failure after upgrading to Meteor 3.5.2, check the native
toolchain before investigating HCP. This release uses Cordova CLI 13 and
`cordova-android@15.1.0`, requiring Android SDK Platform 36 and Build Tools
36.0.0:
```bash
sdkmanager 'platforms;android-36' 'build-tools;36.0.0'
```
Verify the SDK location and selected platform in the native build output.
Earlier Meteor releases need their own Cordova platform requirements; do not
copy the SDK 36 requirement backward. Native platform upgrades need a rebuilt
and distributed native app, not just an HCP update.
Collect evidence at each stage:
1. The server produced the expected client version.
2. The device connected to the intended `--mobile-server` or production
`ROOT_URL`.
3. The client received a changed version hash.
4. The bundle and assets downloaded.
5. Compatibility checks accepted the update.
6. The client switched to the pending version and reloaded.
Use the browser console for a local WebView or remote device debugging to read
client logs. When the failure crosses into native networking, storage,
permissions, plugins, signing, or the embedded WebView, reproduce with Android
Studio or Xcode and continue the confirmed native repair with `meteor-native`.
Native platform, plugin, and configuration changes are not delivered through
HCP. For a Meteor upgrade, compare the native pins and generated configuration;
the release label alone does not establish a binary change. Do not override
compatibility versions until the exact native and JavaScript API contract is
verified across installed client versions.
Avoid unrestricted logging inside reactive HCP watchers. Capture selected
version hashes and transitions, reproduce once, then remove the diagnostics.
## Production incident boundaries
Start with read-only evidence:
| Evidence | Question |
|---|---|
| Deployment and release diff | What changed between working and failing versions? |
| Build, pre-deploy, deploy, and application logs | Which lifecycle stage first failed? |
| Health, latency, memory, CPU, and restart metrics | Is the process unhealthy, overloaded, or restarting? |
| DDP and proxy metrics | Is the failure HTTP, WebSocket, session, or app behavior? |
| Small redacted reproduction | Can staging reproduce the same boundary? |
Do not expose a Node inspector, deploy `meteor build --debug`, save production
browser authentication, upload private files, mutate live Mongo data, or add
high-volume secret-bearing logs. A production breakpoint also pauses a process
serving users.
Prefer an equivalent staging reproduction. If live instrumentation is the only
remaining path, define the hypothesis, redacted schema, sampling, retention,
rollback, and stopping condition before deployment. Obtain explicit authority
for any live mutation or operational change.
Once the cause is a Galaxy setting, container, proxy, health check, runtime
environment, or rollout, continue with `meteor-deployment`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/troubleshooting/hot-code-push.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/cordova.md
@@ -0,0 +1,67 @@
# Runtime and inspector
Read this reference for server startup, server runtime, client stacks, and
choosing the process to inspect.
## Process map
| Process | Evidence and tool |
|---|---|
| Meteor tool and bundler | Build output, `--verbose`, profiles, and build-specific logging. The server inspector does not attach here. |
| Spawned Meteor server | `meteor run --inspect` for runtime; `meteor run --inspect-brk` to pause after server code loads and before it executes. Default inspector port is 9229. |
| Server tests | Add `--inspect` or `--inspect-brk` to `meteor test` or `meteor test-packages`; preserve the project's driver flags. |
| Browser client | Browser DevTools, source-mapped stack, console, Network panel, and framework-specific reactive evidence. |
The legacy `meteor debug` command has been superseded by `--inspect` and
`--inspect-brk`.
```bash
meteor run --inspect
meteor run --inspect-brk
meteor run --inspect=9230
meteor test --driver-package meteortesting:mocha --inspect
```
Use a distinct port when another inspector is active. Do not bind or forward a
Node inspector to an untrusted network. For production failures, reproduce in
an equivalent local or staging environment and use deployed logs and metrics.
## Startup versus runtime
Use `--inspect-brk` when the failure happens during imports, startup hooks,
method or publication registration, or the first server statements. Use
`--inspect` when the server must reach a later user action or job before the
failure appears.
At a breakpoint, capture only state needed for the hypothesis. Trace an invalid
value backward through callers and client/server boundaries. A breakpoint that
only confirms the final thrown line has not found the origin.
## Client versus server
Do not infer one side from the other:
1. Server method completion does not prove the client callback, stub
reconciliation, subscription, or render completed.
2. A client exception does not prove the publication or method failed.
3. Label temporary observations with `client` or `server` and a shared opaque
request identifier when ordering matters.
4. For reactive UI failures, record the subscription-ready state, selected
Minimongo result, reactive dependency reruns, and rendered result separately.
Use the React or Blaze skill after evidence identifies the framework boundary.
## Shell and debug bundles
`meteor shell` attaches a server REPL to a running local app. Inspect first;
shell expressions can call methods, update collections, or otherwise mutate
state. Do not use it against production without explicit authority and a
reviewed command.
`meteor build --debug` creates unminified output and preserves source maps. It
does not attach an inspector and is not a production incident response. Use it
only in a controlled reproduction when final-bundle source mapping is the
question.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
@@ -0,0 +1,160 @@
# Tests and browser
Read this reference for an existing Meteor test that fails, hangs, or flakes,
or a browser flow that needs trace, console, network, or DOM evidence. Use
`meteor-testing` to create the test setup or design new coverage.
## Separate execution from module loading
Meteor tests have two independent focus layers:
| Layer | Controls | Typical mechanism |
|---|---|---|
| Test execution | Which registered suites and tests run | Driver title filter or Mocha `.only` |
| Module loading | Which test modules are imported and evaluated | `meteor.testModule` and its entry-module imports, or Meteor's filename discovery |
Inspect `package.json` for `meteor.testModule` before choosing a focus method.
When it exists, Meteor eagerly loads the configured client and server entry
modules; their imports define the test graph. Without it, Meteor eagerly
discovers matching test filenames for the selected test mode. See
[Meteor test entry modules](https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/modules.md).
For a compatible installed version of `meteortesting:mocha`, prefer
`MOCHA_GREP` to focus execution without editing a test. Its value is a regular
expression matched against the full Mocha title:
```bash
MOCHA_GREP='items\.add.*rejects unauthenticated' \
meteor test --once --driver-package meteortesting:mocha
```
Check `.meteor/versions` before relying on driver-specific options. Current
driver options also include `MOCHA_INVERT=1`, `TEST_SERVER=0`, and
`TEST_CLIENT=0`; isolate a runtime side only when the test remains meaningful.
See the
[`meteortesting:mocha` run options](https://github.com/Meteor-Community-Packages/meteor-mocha#run-tests-inclusively-grep-or-exclusively-invert).
An execution filter does not stop other loaded modules from evaluating
module-scope code, declaring suites, or registering hooks. If that loading is
the measured source of interference or excessive startup cost, temporarily
narrow the imports in the existing `meteor.testModule` entrypoint. Preserve
the original import list, change the smallest possible graph, restore it
immediately after the focused run, and then run the affected suite. Do not
present entrypoint editing as necessary for an ordinary assertion failure.
## Focus the failure
1. Run the project's existing test command and keep the complete failing hook,
assertion, stack, client/server counts, and browser output.
2. Prefer the installed driver's supported title or runner filter because it
does not edit source.
3. With Mocha, use `describe.only` or `it.only` only as temporary local focus
when the current runner and mode support it.
4. Re-run the exact focused case until the evidence confirms or rejects one
hypothesis.
5. Remove the focus marker and run the affected or full suite.
Mocha still runs hooks for selected suites. Exclusive tests are incompatible
with Mocha parallel mode. Do not invent a rule that every ancestor suite also
needs `.only`; use the semantics of the resolved Mocha version. See
[Mocha exclusive tests](https://mochajs.org/declaring/exclusive-tests/) and
[Mocha `--forbid-only`](https://mochajs.org/running/cli/#--forbid-only).
Before handoff, scan source for common focus markers:
```bash
rg -n '\b(describe|it|test)\.only\b|\b(fdescribe|fit)\b' \
--glob '!node_modules/**' --glob '!.meteor/**'
```
Use `--forbid-only` only when the actual test command forwards that Mocha flag.
Otherwise add a deterministic source scan to CI rather than assuming the
Meteor driver accepts every upstream option.
Also restore any temporarily narrowed `meteor.testModule` entrypoint imports.
An isolated passing test is not verification while the normal test graph is
still modified.
## Passes alone, fails together
An isolated pass narrows the failure; it does not fix it. Compare:
- database and Minimongo cleanup;
- `before`, `beforeEach`, `afterEach`, and `after` failures;
- replaced globals, fake timers, stubs, subscriptions, DDP connections, and
server jobs that were not restored or stopped;
- order dependence and shared fixture IDs;
- serial versus parallel execution and worker count.
Find the first test or hook that changes the later case's precondition. Fix the
leak or missing isolation, then run both cases in both orders and the full
affected suite.
## Wait for a condition
Wait for the behavior being asserted, not a guessed delay:
| Boundary | Readiness condition |
|---|---|
| Subscription | `sub.ready()` observed reactively with a diagnostic timeout |
| Method | Returned Promise settles with the expected result or error |
| Mongo or Minimongo | Expected document or count becomes observable |
| Browser | Web-first assertion on the stable user-visible result |
A fixed delay is valid only when elapsed time is the contract, such as debounce
or long-press behavior. Document the timing source and first wait for the event
that starts the interval.
## Existing Playwright tests
Read the report and trace before editing. A trace exposes the action timeline,
DOM snapshots, console, network, screenshots, and source. Then narrow by file
and line, title, browser project, and one worker when supported by the existing
setup.
```bash
npx playwright test tests/items.spec.ts:42 --project=chromium --workers=1
npx playwright test tests/items.spec.ts:42 --project=chromium --debug
npx playwright show-trace test-results/items/trace.zip
```
See [Playwright debugging](https://playwright.dev/docs/debug),
[Trace Viewer](https://playwright.dev/docs/trace-viewer), and the
[test CLI](https://playwright.dev/docs/test-cli).
Classify the result before fixing it: product code, fixture or harness,
assertion or locator, browser-engine behavior, or environment and parallelism.
Do not hide the distinction with a sleep, broader selector, skip, or retry.
## Optional `playwright-cli`
Use `playwright-cli` for an ad hoc browser reproduction only when it is already
available or the user authorizes installation and browser downloads. Prefer a
local or staging Meteor URL.
Use only the application path or URL in the task scope. If none is available,
ask for it rather than scanning unrelated directories, processes, ports, or
local services for a candidate application.
```bash
playwright-cli -s=meteor-debug open http://localhost:3000 --headed
playwright-cli -s=meteor-debug snapshot
playwright-cli -s=meteor-debug console
playwright-cli -s=meteor-debug requests
playwright-cli -s=meteor-debug tracing-start
playwright-cli -s=meteor-debug tracing-stop
playwright-cli -s=meteor-debug close
```
The CLI can collect browser evidence; it is not a server debugger or a default
Meteor dependency. Do not initialize agent files, save authentication state,
upload private files, mutate live production data, or retain secret-bearing
traces without explicit authority.
Do not use `networkidle` as Meteor application readiness. Playwright
[discourages it for tests](https://playwright.dev/docs/api/class-frame#frame-wait-for-load-state),
and a Meteor app can maintain DDP traffic. Wait for an observable UI result or
an explicit application readiness signal exposed by the test harness.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/testing/testing.md
+178
View File
@@ -0,0 +1,178 @@
---
name: meteor-deployment
description: >
Use when deploying a Meteor 3 application. Triggers on meteor build,
meteor deploy, Galaxy Push to Deploy, Galaxy Mode, Repository Mode,
DEPLOY_HOSTNAME, Docker, Kubernetes, settings.json, METEOR_SETTINGS,
MONGO_URL, MONGO_OPLOG_URL, ROOT_URL, PORT, HTTP_FORWARDED_COUNT,
NODE_OPTIONS, health checks, pre-deploy commands, hot code push,
--architecture os.linux.x86_64, --server-only, or a deployed Node.js
version mismatch. Use this skill when the user asks about shipping the app,
asks about production config, or asks about containerizing. For Cordova
Android/iOS artifacts, signing, and native HCP compatibility use
meteor-native; this skill owns the backend deployment.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: ops
tagline: "Ship Meteor 3 apps to production (meteor build, Galaxy, Docker/Kubernetes, settings.json, env vars, Node version matching)."
bundle: ["ops"]
docs_synced_at: "2026-08-26"
license: MIT
---
# Meteor deployment
`meteor build` produces a self-contained Node bundle that runs anywhere
the matching Node.js version runs. Galaxy is the first-party host;
Docker / Kubernetes / SSH-to-a-Node-host all work too.
For Android/iOS artifacts and native HCP compatibility, use `meteor-native`.
Check actual native configuration as well as compatibility hashes: permission
or other native configuration changes can require a new binary with an
unchanged hash.
Match the Node version to the bundled Meteor Node:
| Meteor | Node major |
|---|---|
| 3.0 | 20 |
| 3.1 through 3.4 | 22 |
| 3.5+ | 24 |
Mismatch causes runtime errors. Run `meteor node -v` to confirm.
## Decision flow
1. Galaxy? Choose Git Push to Deploy or the Meteor CLI. Configure Galaxy's
settings source, build hooks, health checks, and domains from
`references/galaxy.md`.
2. Docker / Kubernetes? `meteor build --directory ./build --server-only`
skips platform-specific mobile artifacts. Use
`--architecture os.linux.x86_64` for a cross-build.
3. SSH to a Node host? Same `meteor build`, scp the bundle, install prod
deps under `bundle/programs/server`, run `node main.js`.
4. Vercel / Netlify / serverless? Not supported. Meteor needs a
long-lived Node process with a WebSocket.
## Required environment
| Var | Purpose |
|-------------------|--------------------------------------------------------------|
| `ROOT_URL` | Absolute external URL (e.g. `https://app.example.com`). |
| `MONGO_URL` | `mongodb://...` connection string. |
| `MONGO_OPLOG_URL` | Optional Mongo replica oplog URL. |
| `PORT` | Listen port. Default 3000. |
| `BIND_IP` | Network interface. Default 0.0.0.0. |
| `METEOR_SETTINGS` | JSON; populates `Meteor.settings`. |
| `MAIL_URL` | SMTP for `Email.send` and account emails. |
`ROOT_URL` is the external URL the browser sees, not the cluster-internal
service URL. OAuth redirects, `Meteor.absoluteUrl`, and CSP all rely on
it.
On Meteor 3.0 through 3.4, configure `MONGO_OPLOG_URL` for oplog-backed
reactivity; without it, Meteor polls. Meteor 3.5+ can use core change streams
without that variable and falls back to oplog or polling when needed. Atlas
hosting alone does not add core change-stream support to an older Meteor app.
## `settings.json`
```json
{
"public": { "appName": "My App", "stripePublishableKey": "pk_live_..." },
"stripeSecretKey": "sk_live_...",
"oauthSecretKey": "16-byte-base64==",
"mailgun": { "apiKey": "..." }
}
```
Top-level keys: server only. `public` subtree: shipped to the client.
Load:
```bash
# dev
meteor run --settings settings.json
# production
METEOR_SETTINGS=$(cat settings.json) node bundle/main.js
```
## Galaxy
Choose one deployment path:
| Path | Use when | Trigger |
|---|---|---|
| Push to Deploy | Galaxy should build a connected GitHub or Bitbucket branch. | Every push to the selected branch. |
| Meteor CLI | A person or CI pipeline controls each upload. | `meteor deploy <app-name>`. |
For a Free app, pass a simple app name, not a custom domain:
```bash
meteor login
meteor deploy myapp --free --settings settings.json
DEPLOY_HOSTNAME=eu-west-1.galaxy-deploy.meteor.com \
meteor deploy myapp --plan essentials --settings settings.json
```
Galaxy assigns a `myapp.sandbox.galaxycloud.app` hostname on Free or a
regional `myapp.<region>.galaxycloud.app` hostname on paid plans. Add custom
domains in the dashboard. The active primary domain controls `ROOT_URL`.
Galaxy injects `PORT`, `ROOT_URL`, and `METEOR_SETTINGS`. Put `MONGO_URL`,
`MAIL_URL`, and other server environment values under
`galaxy.meteor.com.env` in the Galaxy settings JSON. Do not assume a CLI
`--settings` file overrides Repository Mode.
See `references/galaxy.md` for settings modes, Push to Deploy builds,
zero-downtime rollout and rollback, proxies, Mongo TLS, memory, and custom
base images.
## Docker
See `references/docker.md` for a working multi-stage Dockerfile. Build
the bundle in one stage, install server deps and run in a smaller one.
`--server-only` skips platform-specific mobile application builds, but it
does not omit the browser client or create an API-only bundle. Meteor still
builds the `web.cordova` client target used for hot code push.
## Hot code push
`autoupdate` provides production hot code push. It detects a new client
version over DDP, applies stylesheet-only changes without reloading when
possible, and otherwise performs a full browser reload. Remove `autoupdate`
from `.meteor/packages` to disable HCP.
`hot-module-replacement` is different. It replaces accepted JavaScript
modules during development and falls back to HCP when a module cannot accept
the update. HMR is disabled in production and on unsupported web
architectures. There is no `Meteor.disableClientResourceFetch` switch in the
current public API.
## Anti-patterns
- Commit `settings.json` with production secrets. Use a CI secret store
or env vars; load with `METEOR_SETTINGS=$(cat ...)` at startup.
- Set `ROOT_URL` to the internal Kubernetes service URL. Use the
external HTTPS URL or OAuth redirects and `Meteor.absoluteUrl` break.
- Run a Node version that does not match the bundled Meteor Node. Always
check `meteor node -v`.
- Build on the wrong architecture. M-series Mac developers building for
x86_64 Linux must pass `--architecture os.linux.x86_64`.
- Commit Galaxy settings with credentials or expect Repository Mode to read a
CLI `--settings` file. Keep secrets in Galaxy Mode or a secret store.
- Hardcode Galaxy's port, load-balancer IP, or regional DNS target. Read
`$PORT` and copy current network values from the app dashboard.
- Bundle the source tree into the Docker image alongside the built
bundle. Use multi-stage; the runtime image holds only `bundle/`.
## See also
- `references/settings-and-env.md`
- `references/galaxy.md`
- `references/docker.md`
- `references/eval-cases.md`
@@ -0,0 +1,86 @@
# Docker
## Multi-stage Dockerfile
```dockerfile
# --- build stage ---------------------------------------------------------
FROM node:22-bookworm AS builder
# Build deps for native npm packages (sharp, sqlite, etc.)
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 make g++ git ca-certificates curl \
&& rm -rf /var/lib/apt/lists/*
# Install Meteor for the build
RUN curl -sSL https://install.meteor.com/ | sh
WORKDIR /app
COPY . .
RUN meteor npm ci
RUN meteor build --directory /build --server-only
# --- runtime stage -------------------------------------------------------
FROM node:22-bookworm-slim
WORKDIR /app
COPY --from=builder /build/bundle ./
# Install only production deps inside the bundle
RUN (cd programs/server && npm ci --omit=dev)
ENV PORT=3000
EXPOSE 3000
CMD ["node", "main.js"]
```
This sample targets Meteor 3.1 through 3.4. Match both `node:` tags to the
bundled Node major: Meteor 3.0 uses Node 20, 3.1 through 3.4 use Node 22,
and 3.5+ uses Node 24. Run `meteor node -v` to verify the exact version. On
M-series Macs targeting x86_64 Linux, add
`--architecture os.linux.x86_64` to `meteor build`.
`--server-only` skips platform-specific mobile application artifacts. It does
not remove browser assets or produce an API-only bundle; Meteor still builds
the `web.cordova` target used for hot code push. A separate CDN deployment
must extract and deploy the generated web assets explicitly.
## Build and run
```bash
docker build -t my-app:latest .
docker run --rm -p 3000:3000 \
-e ROOT_URL=https://app.example.com \
-e MONGO_URL=mongodb+srv://user:pass@cluster.mongodb.net/myapp \
-e METEOR_SETTINGS="$(cat settings.json)" \
my-app:latest
```
## Native deps
If a native dep (`sharp`, `canvas`, `sqlite3`) fails inside the runtime
image, copy its prebuilt binaries from the builder rather than
recompiling:
```dockerfile
COPY --from=builder /app/node_modules/sharp ./programs/server/node_modules/sharp
```
For workers shipped by transitive logging deps (for example, `thread-stream`
from `pino`),
see the `meteor-modern-build-stack` skill: when using rspack, route the
dep through `Meteor.compileWithMeteor`.
## Healthcheck
```dockerfile
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD node -e "fetch('http://localhost:'+(process.env.PORT||3000)).then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
```
Meteor returns 200 on `/` once the server is ready.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/deployment/deployment.md
@@ -0,0 +1,178 @@
# Evaluation cases for `meteor-deployment`
## Case 1: Galaxy deploy
Prompt: "Deploy my app to Galaxy's Free plan from the Meteor CLI using
settings.json. I want the app name to be myapp."
Pass if the agent uses a simple app name rather than a domain, runs
`meteor login` and
`meteor deploy myapp --free --settings settings.json`, and explains that
Galaxy creates the `myapp.sandbox.galaxycloud.app` hostname. The settings must
place `MONGO_URL` under `galaxy.meteor.com.env`. It must not use a legacy
`meteorapp.com` hostname or require `DEPLOY_HOSTNAME` for the default Free
region.
## Case 2: Dockerize
Prompt: "Write a Dockerfile for my Meteor 3.4 app."
Pass if the agent produces a multi-stage Dockerfile using
`node:22-bookworm` (matching Meteor 3.4 bundled Node), runs
`meteor build --directory /build --server-only` in the builder, copies
only `/build/bundle` into the runtime image, runs
`(cd programs/server && npm ci --omit=dev)`, and exposes `PORT=3000`.
It must not claim that `--server-only` omits browser assets.
## Case 3: empty `Meteor.settings.public`
Prompt: "My production server has empty `Meteor.settings.public`.
Locally it works."
Pass if the agent identifies missing `METEOR_SETTINGS` env var (or
mis-mapped keys); fix is
`METEOR_SETTINGS="$(cat settings.json)" node main.js`.
## Case 4: OAuth redirect_uri_mismatch
Prompt: "After deploying behind a load balancer, Google OAuth returns
redirect_uri_mismatch."
Pass if the agent points at `ROOT_URL`: it must equal the public-facing
HTTPS URL the browser uses, not the internal Kubernetes service URL or
the LB's pod address. Also have the Google console list that exact URL.
## Case 5: Node version mismatch
Prompt: "On my server `node main.js` crashes with
`undefined symbol: node_module_register`."
Pass if the agent identifies the Node version mismatch (Meteor 3.0 uses Node
20, 3.1 through 3.4 use Node 22, and 3.5+ uses Node 24), and instructs running
`meteor node -v` to find the exact version, then deploying with the matching
`node:<N>-bookworm-slim` image.
## Case 6: HCP versus HMR
Prompt: "Can production `hot-module-replacement` swap my deployed JavaScript
without a page reload, and can I disable it with
`Meteor.disableClientResourceFetch`?"
Pass if the agent separates development HMR from production HCP, attributes
HCP to `autoupdate`, explains that JavaScript changes normally cause a hard
reload while stylesheet-only changes may update softly, and rejects the
nonexistent switch. Removing `autoupdate` is the supported HCP opt-out.
## Case 7: Atlas reactivity before Meteor 3.5
Prompt: "Our Meteor 3.4.1 app runs on Atlas without `MONGO_OPLOG_URL`. Is core
change-stream reactivity active automatically?"
Pass if the agent says core change streams begin in Meteor 3.5, so this app
polls unless it configures an oplog URL. It may recommend upgrading to 3.5+ or
configuring a compatible oplog, but must not infer support from Atlas hosting.
## Case 8: Galaxy Push to Deploy with secrets
Prompt: "Set up Galaxy Push to Deploy for the Meteor app in `apps/web` on our
GitHub `main` branch. We commit `package-lock.json`, need an idempotent database
migration before rollout, and have production API keys."
Pass if the agent connects the repository and branch, sets Root Directory to
`apps/web`, uses `meteor npm ci`, and places the migration in the paid-plan
Pre-Deploy Command while stating that failure stops the rollout. It must use
Galaxy Mode or a secret manager for credentials, not commit them in Repository
Mode. It must explain that each push to `main` triggers a deployment.
## Case 9: Repository Mode ignores CLI settings
Prompt: "Our Galaxy app uses Repository Mode. I ran
`meteor deploy myapp --settings emergency.json`, but the running settings did
not change."
Pass if the agent explains that Repository Mode reads the configured file from
the Git snapshot and ignores the CLI `--settings` file. It must recommend
updating the repository file and triggering Push to Deploy, or deliberately
switching to Galaxy Mode before using the dashboard or CLI as the settings
source. It must not suggest repeatedly running the same CLI command.
## Case 10: Galaxy rollout stays unhealthy
Prompt: "Galaxy built our pushed commit, but its new containers never become
healthy and the old version still serves traffic. Where should I look?"
Pass if the agent treats the live old version as expected rollout protection,
checks deploy logs for startup and environment failures, confirms the process
listens on `$PORT`, and verifies the configured health path returns non-5xx
within five seconds. It must distinguish build logs and pre-deploy logs from
container deploy logs and mention automatic rollback when the new slot cannot
become healthy.
## Case 11: Galaxy primary domain and forwarded client IP
Prompt: "We put Cloudflare in front of our Galaxy app and made
`app.example.com` active. OAuth links still use the Galaxy hostname, and the
server sees a private proxy IP."
Pass if the agent makes the active custom domain primary so Galaxy sets
`ROOT_URL`, confirms the OAuth provider uses the same HTTPS URL, and sets
`HTTP_FORWARDED_COUNT` to `2` for Cloudflare plus Galaxy. It must warn against
trusting arbitrary client-supplied `X-Forwarded-For` values.
## Case 12: Galaxy Mongo TLS choice
Prompt: "Our prototype used Galaxy's free Mongo with
`tlsAllowInvalidCertificates: true`. We are moving production to a dedicated
Galaxy Database. Should we keep that option?"
Pass if the agent limits the certificate bypass to the free shared testing
database. For the dedicated database it must use the downloaded CA in
`private/`, set `tls: true` and `tlsCAFileAsset`, use the dashboard connection
string with its required parameters, and redeploy so the certificate is
bundled. It must not recommend disabling certificate validation in production.
## Case 13: Galaxy Metal memory setting
Prompt: "Our Galaxy Metal container reports heap out of memory. Increasing
`GALAXY_NODE_OPTIONS` did nothing."
Pass if the agent says `GALAXY_NODE_OPTIONS` is ignored on Galaxy Metal,
inspects container memory and leak behavior first, and uses `NODE_OPTIONS` under
`galaxy.meteor.com.env` only when measurements show available headroom. It must
not claim that increasing the heap fixes a leak or allocate the full container
memory to V8.
## Case 14: Galaxy custom base image
Prompt: "Our Meteor app needs an OS package unavailable in Galaxy's standard
image. Prepare a custom base image deployment."
Pass if the agent requires a publicly readable Docker Hub image with no
secrets, `/bin/bash`, an executable `/app/setup.sh` that accepts the app tarball
URL, an immutable image tag, and a `CMD` or `ENTRYPOINT` that listens on
`$PORT`. It must configure `galaxy.meteor.com.baseImage` and reject relying on a
changed mutable tag to trigger a deployment.
## Case 15: native artifact handoff
Prompt: "Our Meteor backend is already deployed. Prepare the Android AAB and iOS
archive for the existing Cordova app, including the signing handoff."
Pass if the agent routes Android/iOS artifact and signing preparation to meteor-
native while preserving the existing backend. Fail if it substitutes a server
bundle for native artifacts or redeploys the healthy backend unnecessarily.
## Case 16: backend-only native HCP
Prompt: "Only deploy our Meteor backend and compatible JavaScript changes.
Existing Cordova binaries stay installed. Does --server-only disable their hot
code push or require new signed apps?"
Pass if the agent keeps backend deployment here, explains that --server-only skips
native artifacts while retaining the configured web.cordova HCP target, and
verifies compatibility. Fail if it claims HCP is disabled or requires new native
binaries for compatible web-only changes.
It inspects actual native platform/plugin/configuration changes rather than
inferring a binary change from a Meteor release label or an edited filename;
native configuration can require a binary even when its compatibility hash is
unchanged. Fail if it claims every such edit necessarily changes that hash.
@@ -0,0 +1,222 @@
# Galaxy deployment
Galaxy supports repository-driven Push to Deploy and explicit uploads through
the Meteor CLI. Keep one settings source of truth and verify the new version
before changing traffic.
## Choose the deployment path
| Path | Configure | Deployment behavior |
|---|---|---|
| Push to Deploy | Connect GitHub or Bitbucket, select the repository and branch, then set the Meteor root directory and build options. | Every push to the selected branch creates and deploys a version. Disconnect Push to Deploy to stop automatic builds without removing saved build settings. |
| Meteor CLI | Run `meteor login`, select an app name, and pass plan, region, settings, or Mongo flags. | The local Meteor CLI builds and uploads the application for each command. |
Free CLI deployments use a simple app name:
```bash
meteor deploy myapp --free --settings settings.json
```
A domain-form target requests a custom domain and requires a paid plan. Let
Galaxy create `myapp.sandbox.galaxycloud.app` for Free. Paid apps receive a
regional `myapp.<region>.galaxycloud.app` hostname.
Choose a paid region with `DEPLOY_HOSTNAME`:
```bash
DEPLOY_HOSTNAME=eu-west-1.galaxy-deploy.meteor.com \
meteor deploy myapp --plan essentials --container-size standard \
--settings settings.json
```
Supported region hosts are `us-east-1`, `eu-west-1`, and
`ap-southeast-2` under `galaxy-deploy.meteor.com`. Free apps deploy in US East.
For CLI automation, create a `METEOR_SESSION_FILE` token file, store its
contents in the CI secret store, reconstruct it for the job, and never commit
it.
```bash
METEOR_SESSION_FILE=token.json meteor login
METEOR_SESSION_FILE=token.json meteor deploy myapp --settings settings.json
```
## Select the settings source
Galaxy consumes one complete settings object:
```json
{
"galaxy.meteor.com": {
"env": {
"MONGO_URL": "mongodb://...",
"MAIL_URL": "smtp://..."
}
},
"private": {
"stripeKey": "sk_live_xxx"
},
"public": {
"appName": "My App"
}
}
```
| Mode | Source of truth | Update rule |
|---|---|---|
| Galaxy Mode | Encrypted JSON stored in Galaxy. Recommended when settings contain secrets. | Dashboard and Meteor CLI write the same store. `meteor deploy --settings` replaces the stored JSON, so the last write wins. Save dashboard edits, then Deploy to apply them. |
| Repository Mode | A settings file from the Git snapshot used by Push to Deploy. Use only for non-sensitive configuration. | Update the configured relative path in Git and push. Galaxy ignores a CLI `--settings` file while this mode is active. |
The Galaxy editor accepts at most 1 MB. Values under
`galaxy.meteor.com.env` become `process.env` variables. `private` is
server-only through `Meteor.settings.private`; `public` is sent to browsers.
Commit a placeholder `settings.example.json`, not credentials. If a secret was
committed, rotate it and remove it from Git history.
## Configure the Push to Deploy build
| Field | Decision |
|---|---|
| Root Directory | Set the path relative to the repository root, such as `apps/web`, when the Meteor app is in a monorepo. |
| Install Command | Default is `meteor npm install`. Use `meteor npm ci` when a committed `package-lock.json` is authoritative. |
| Pre-Deploy Command | Paid plans only. Runs after the build with private-network and environment access. Use it for idempotent migrations. A nonzero exit stops the deployment before new containers go live. |
| Health Check Path | Defaults to `/` and must start with `/`. Point it at a lightweight endpoint that returns non-5xx within five seconds. |
| Stop Grace Period | Galaxy sends `SIGTERM`, then `SIGKILL` after the configured period. Default is 5 seconds and paid plans can raise it to 600. Bound shutdown work by `METEOR_SIGTERM_GRACE_PERIOD_SECONDS`. |
Galaxy builds new code in an inactive slot and switches traffic only after the
new containers pass health checks. New containers receive up to ten minutes to
become healthy. If they do not, Galaxy keeps or restores the previous version.
Check build logs for cloning, dependency, and compilation failures; pre-deploy
logs for migration failures; deploy logs for startup, environment, port, and
health failures.
Galaxy assigns `PORT` dynamically. Do not hardcode 3000 in a custom entrypoint.
The process must listen on `$PORT`, and Galaxy exposes no second inbound port.
## Operate and roll back
A code push creates a version and a deployment. A settings, container, or
replica change can create another deployment of the same code version. Diagnose
them separately:
| Symptom | First evidence |
|---|---|
| Repository build failed | Build logs for clone access, install, dependency, or compilation errors. Reproduce with `meteor build` locally. |
| Migration stopped rollout | Pre-deploy logs and the command's exit status. The previous deployment stays live. |
| New containers cannot start | Deploy logs for missing variables, database access, `$PORT`, or health-check failures. |
| Push produced no deployment | Confirm the selected branch and Git provider access. For Bitbucket, verify the workspace webhook was registered. |
| Settings did not change | Confirm Galaxy Mode versus Repository Mode, then Save and Deploy or push the configured settings file. |
Use Deploy Now to apply saved configuration without a code push. Use Versions >
Redeploy to roll back to a previous code snapshot. Galaxy creates a new
deployment for the rollback; it does not move or rewrite the old version.
## Domains and proxies
Galaxy provides TLS for its own hostnames and managed custom domains. Copy the
current CNAME or A-record target from Settings > Networking rather than
hardcoding published infrastructure values. Mark an active custom domain as
primary to make it the app's main URL and the Meteor `ROOT_URL`.
Galaxy's load balancer is one trusted proxy hop. Configure:
```json
{
"galaxy.meteor.com": {
"env": {
"HTTP_FORWARDED_COUNT": "1"
}
}
}
```
Add one for each controlled proxy in front of Galaxy. With Cloudflare plus
Galaxy, use `2`. Do not trust a client-supplied leftmost `X-Forwarded-For`
value beyond the configured proxy chain.
Professional Meteor apps can read Galaxy's current fixed outgoing proxy IPs
from Settings for external allowlists. Pair IP allowlisting with database or
service authentication because the addresses are shared.
## MongoDB on Galaxy
The deployment-time Free MongoDB toggle is for testing and development. It
adds `MONGO_URL`, has no backups, and is tied to the app lifecycle. Use a paid
database or another production MongoDB service for production data.
Galaxy's free shared MongoDB requires its documented certificate bypass:
```json
{
"packages": {
"mongo": {
"options": {
"tlsAllowInvalidCertificates": true
}
}
}
}
```
Do not carry that bypass to a dedicated database. For Galaxy Database, place
the downloaded CA certificate in the Meteor `private/` directory and use
`tls: true` plus `tlsCAFileAsset` in `packages.mongo.options`. Changing that
certificate requires a rebuild because Meteor bundles `private/` assets.
On Meteor 3.0 through 3.4, place a replica-set `MONGO_OPLOG_URL` under
`galaxy.meteor.com.env` for oplog-backed reactivity. It must point to `/local`
and authenticate a least-privilege user with read access there. Meteor 3.5+
can use core change streams; do not add a second oplog credential unless the
selected reactivity strategy needs it.
## Memory, replicas, and custom base images
Observe per-container CPU and memory before resizing or tuning. Add replicas
for concurrency or redundancy; choose a larger container when one process
needs more CPU or memory. Basic autoscaling on paid plans targets CPU. Advanced
Professional rules can use CPU, memory, requests, connections, and schedules.
Modern Node detects container limits. When measurements show heap pressure and
the container has headroom, set standard Node flags with:
```json
{
"galaxy.meteor.com": {
"env": {
"NODE_OPTIONS": "--max-old-space-size=1600"
}
}
}
```
`GALAXY_NODE_OPTIONS` belongs to the legacy runtime and is ignored on Galaxy
Metal. A larger heap does not fix a leak and still needs space for native
modules and the rest of the process.
Use a custom base image only when the standard Galaxy image lacks required OS
packages or runtime support. The image must:
- Be publicly readable from Docker Hub and contain no secrets.
- Include `/bin/bash` and an executable `/app/setup.sh` with a shell shebang.
- Accept the app tarball URL as the setup script's first argument.
- Use an immutable tag or Git SHA. Pushing a changed `latest` image does not
deploy it.
- Start through `CMD` or `ENTRYPOINT` and listen on `$PORT`.
Set `galaxy.meteor.com.baseImage.repository` and `.tag` in the Galaxy settings
object. In Push to Deploy with Galaxy Mode, keep that block in the stored JSON.
## Sources
- [Deploy Meteor Apps](https://docs.galaxycloud.app/docs/apps/meteor/push-to-deploy)
- [Meteor CLI](https://docs.galaxycloud.app/docs/apps/meteor/cli)
- [Meteor Reference](https://docs.galaxycloud.app/docs/apps/meteor/meteor-reference)
- [Variables](https://docs.galaxycloud.app/docs/dashboard/apps/variables)
- [Settings](https://docs.galaxycloud.app/docs/dashboard/apps/settings)
- [Container Environment](https://docs.galaxycloud.app/docs/apps/container-environment)
- [Versions and Deployments](https://docs.galaxycloud.app/docs/apps/versions-deployments)
- [Custom Domains](https://docs.galaxycloud.app/docs/apps/custom-domains)
- [Memory Management](https://docs.galaxycloud.app/docs/apps/memory-management)
- [Custom Base Images](https://docs.galaxycloud.app/docs/apps/meteor/custom-base-images)
- [Secrets Management](https://docs.galaxycloud.app/docs/apps/meteor/secrets-management)
- [MongoDB Oplog Setup](https://docs.galaxycloud.app/docs/databases/mongodb-oplog-setup)
- [MongoDB SSL for Meteor](https://docs.galaxycloud.app/docs/databases/mongodb-ssl-meteor)
@@ -0,0 +1,83 @@
# `settings.json` and environment variables
## Loading
```bash
# dev
meteor run --settings settings.json
meteor test --settings settings.json --driver-package meteortesting:mocha
# production
METEOR_SETTINGS="$(cat settings.json)" node bundle/main.js
```
`METEOR_SETTINGS` is the canonical production path. The bundled
`bundle/main.js` reads it and writes `Meteor.settings`.
Galaxy users configure the full settings object through Galaxy Mode or
Repository Mode. Galaxy then injects `METEOR_SETTINGS`; environment variables
such as `MONGO_URL` belong under `galaxy.meteor.com.env`. See
[`galaxy.md`](galaxy.md#select-the-settings-source) before combining dashboard,
Git, and CLI settings.
## Reading
```javascript
import { Meteor } from "meteor/meteor";
Meteor.settings.stripeSecretKey; // server-only key
Meteor.settings.public.appName; // shipped to the client
```
Anything under `public` reaches the client. Everything else stays on the
server.
## Environment variables
| Var | Default | Notes |
|--------------------|--------------|------------------------------------------------|
| `ROOT_URL` | required | External URL. Required for OAuth, absoluteUrl. |
| `MONGO_URL` | required | `mongodb://...` or `mongodb+srv://...`. |
| `MONGO_OPLOG_URL` | optional | Mongo replica oplog URL. |
| `PORT` | 3000 | |
| `BIND_IP` | 0.0.0.0 | Listen interface. |
| `METEOR_SETTINGS` | optional | JSON blob; merged into `Meteor.settings`. |
| `MAIL_URL` | optional | SMTP URL: `smtp://user:pass@host:587`. |
| `NODE_ENV` | `development` in dev | Set to `production` for prod builds. |
Meteor-specific knobs documented in
`v3-docs/docs/cli/environment-variables.md`:
`METEOR_DISABLE_OPTIMISTIC_CACHING`, `METEOR_PRINT_CONSTRUCTED_HTML`,
`METEOR_PROFILE`, `TOOL_NODE_FLAGS` (3.4.1+), `METEOR_LOCAL_DIR`,
`METEOR_IGNORE`.
## Mongo connection strings
- Local: `mongodb://localhost:27017/myapp`
- Atlas: `mongodb+srv://user:pass@cluster.mongodb.net/myapp?retryWrites=true&w=majority`
- Replica: `MONGO_OPLOG_URL=mongodb://user:pass@host:27017/local?replicaSet=rs0&authSource=admin`
On Meteor 3.0 through 3.4, reactivity uses the oplog only when
`MONGO_OPLOG_URL` is configured and otherwise polls. Meteor 3.5+ can use core
change streams without this variable, with oplog and polling as fallbacks.
Choose from the actual Mongo topology and Meteor version; Atlas does not make
core change streams available before Meteor 3.5.
## Secrets
Do not commit production secrets to `settings.json`. Build the file at
deploy time from a secret store:
```bash
jq -n --arg key "$STRIPE_SECRET_KEY" \
'{stripeSecretKey: $key, public: {stripePublishableKey: env.STRIPE_PK}}' \
> settings.json
METEOR_SETTINGS="$(cat settings.json)" node bundle/main.js
```
Or pass values as separate env vars and read them with
`process.env.<NAME>` in startup code.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/environment-variables.md
+157
View File
@@ -0,0 +1,157 @@
---
name: meteor-methods
description: >
Use when authoring or debugging Meteor methods (Meteor.methods, Meteor.call,
Meteor.callAsync). Triggers on argument validation with check(), optimistic
UI stubs, latency compensation, Meteor.Error handling, and DDPRateLimiter.
Use this skill when the user asks about server-side mutation, asks about
rate limiting RPC, or asks about wrapping a method with auth checks.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: data
tagline: "Author and debug Meteor methods (argument `check()`, optimistic stubs, latency compensation, `Meteor.Error`, `DDPRateLimiter`)."
bundle: ["essentials", "fullstack"]
docs_synced_at: "2026-08-25"
license: MIT
---
# Meteor methods
Methods are Meteor's primitive for server-side mutation called from the client.
In Meteor 3 they are async on the server. Latency compensation still works via
client-side stubs.
## Decision flow
1. Is this code mutating server data? Use a method.
2. Does the client need to read the result before the server replies? Write
a client stub with the same name; it mutates the local Minimongo collection
and the change is reverted if the server disagrees.
3. Does the method accept untrusted input? Validate every argument with
`check()`. Otherwise the agent should refuse to write the method.
4. Is the method rate-sensitive? Add a `DDPRateLimiter.addRule`.
## Scaffold
```javascript
import { Meteor } from "meteor/meteor";
import { check, Match } from "meteor/check";
Meteor.methods({
async addItem(payload) {
check(payload, {
title: String,
qty: Match.Integer,
});
if (!this.userId) {
throw new Meteor.Error("not-authorized");
}
const _id = await Items.insertAsync({
...payload,
ownerId: this.userId,
createdAt: new Date(),
});
return _id;
},
});
```
## Calling from the client
```javascript
try {
const id = await Meteor.callAsync("addItem", { title: "Hi", qty: 1 });
setLocalId(id);
} catch (err) {
if (err && typeof err === "object" && "error" in err) {
console.error(err.error, err.reason, err.details);
} else {
console.error("local or transport failure", err);
}
}
```
## Optimistic UI
Define the same method on the client. The client stub runs immediately against
the local Minimongo; the server's authoritative result reverts any divergence.
```javascript
// client/methods.js
import { Meteor } from "meteor/meteor";
import { Random } from "meteor/random";
Meteor.methods({
addItem(payload) {
Items.insert({
...payload,
_id: Random.id(),
ownerId: Meteor.userId(),
createdAt: new Date(),
});
},
});
```
Synchronous stubs are simplest when they only need synchronous Minimongo.
Async stubs are also supported by `callAsync` and are useful when the same
method definition runs on client and server with `*Async` collection calls.
An async stub may await microtask-based local work, but it must not wait on
`fetch`, timers, IndexedDB, workers, or other browser macrotask APIs. Run
external I/O outside the stub.
## Rate limiting
```javascript
import { DDPRateLimiter } from "meteor/ddp-rate-limiter";
DDPRateLimiter.addRule(
{
type: "method",
name: "addItem",
userId: (userId) => Boolean(userId),
},
5, // operations
10000, // per 10s
);
```
Meteor 3.5+ permits async matcher functions for database-backed decisions. On
Meteor 3.0 through 3.4, matchers must stay synchronous; use a fixed rule,
precomputed synchronous state, or upgrade instead of awaiting Mongo in a
matcher.
Meteor awaits async matchers sequentially on the incoming connection's message
queue. Project only required fields and keep the lookup fast. A rejected
matcher Promise errors the invocation; test that path explicitly.
See `references/rate-limiting.md` for the rule-object schema and
per-connection vs per-user keys.
## Error handling
Throw `Meteor.Error(code, reason, details?)` for an intentional client-visible
failure. A plain `Error` is logged on the server and sanitized for the client
as `Meteor.Error(500, "Internal server error")`; its original message and
stack are not exposed. `Meteor.Error` carries its code, reason, and details.
Do not assume every `callAsync` rejection has that shape: callback misuse,
transport failures, and local stub exceptions can produce native or arbitrary
errors. Narrow the caught value before reading Meteor-specific fields.
## Anti-patterns
- Methods without `check()` on every argument. Reject the method in code
review.
- Reusing a method for both authenticated and unauthenticated calls. Split
into two methods.
- Awaiting browser macrotask APIs such as `fetch` or timers inside a client
stub. Async stubs are valid, but those APIs let unrelated code run before
the optimistic simulation finishes.
- Calling `Meteor.user()` inside an async method body. Use `this.userId`.
## See also
- `references/check-and-validate.md`
- `references/rate-limiting.md`
- `references/eval-cases.md`
@@ -0,0 +1,47 @@
# Validating method arguments
Every method argument must be validated. Two libraries: the built-in
`check` package and any third-party validator (Zod, Joi). For new code,
prefer `check`.
## Primitive shapes
```javascript
check(value, String); // string
check(value, Number); // number, including NaN. Use Match.Integer
// for integers.
check(value, Boolean);
check(value, Date);
check(value, Object); // any object
check(value, Array); // any array
check(value, null);
check(value, undefined);
```
## Composite
```javascript
check(value, {
title: String,
qty: Match.Integer,
tags: [String],
notes: Match.Optional(String),
meta: Match.ObjectIncluding({ source: String }),
});
```
## Union and refinement
```javascript
check(value, Match.OneOf(String, Number));
check(value, Match.Where((v) => typeof v === "string" && v.length <= 80));
```
## When to use Zod
If you already use Zod for HTTP boundaries, you can call `schema.parse(value)`
inside the method. The Meteor-specific `check` advantage is that mismatches
throw `Match.Error` which Meteor maps to a `400` DDP error automatically.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/check.md
@@ -0,0 +1,73 @@
# Evaluation cases for `meteor-methods`
## Case 1: missing check()
Prompt: "Add a method that updates a user's profile."
Pass if the agent (a) uses `check()` for every argument, (b) gates on
`this.userId`, (c) marks the method `async`, (d) uses `*Async` Mongo.
## Case 2: optimistic UI
Prompt: "How do I make my addItem method update the UI instantly without
waiting for the server?"
Pass if the agent explains client stubs and produces a local Minimongo stub
with the same name. Accept a synchronous stub or an async stub that only
awaits `*Async` Minimongo work. Fail if it performs external I/O in the stub.
## Case 3: rate limiting
Prompt: "Limit my login method to five attempts per minute per IP."
Pass if the agent uses `DDPRateLimiter.addRule` with `clientAddress` matcher
and `5, 60000`.
## Case 4: error shape
Prompt: "My method throws but the client only sees 'Internal server error'.
Why?"
Pass if the agent identifies that the method threw a plain `Error` instead of
`Meteor.Error`, and rewrites to `throw new Meteor.Error(code, reason)`.
## Case 5: shared async method stub
Prompt: "My method module is imported on client and server. Its handler is
`async` and calls `await Items.insertAsync(doc)`. Must I create a separate
synchronous client stub?"
Pass if the agent says `callAsync` supports the shared async stub and local
async Minimongo operation. It must prohibit macrotask APIs such as `fetch`,
timers, IndexedDB, and workers inside the stub.
## Case 6: async rate-limit matcher
Prompt: "On Meteor 3.5, rate-limit `reports.generate` only for users whose
subscription tier is not premium. The tier is stored in `Meteor.users`.
Explain the effect on connection message processing and what happens when the
matcher Promise rejects."
Pass if the agent uses an async `userId` matcher with
`findOneAsync`, notes that the matcher is awaited on the connection's message
queue, keeps the query projected and fast, and tests a rejected matcher
Promise. Fail if it calls synchronous Mongo from the matcher.
## Case 7: async matcher before Meteor 3.5
Prompt: "Our app is fixed on Meteor 3.4.1. Can a `DDPRateLimiter` matcher
await `Meteor.users.findOneAsync` to choose a subscription-tier rule?"
Pass if the agent says async matchers begin in Meteor 3.5, keeps the 3.4.1
matcher synchronous, and offers a fixed rule, precomputed synchronous state,
or a Meteor upgrade. Fail if it copies the 3.5 async matcher into 3.4.1.
## Case 8: local `callAsync` rejection shape
Prompt: "My client method stub throws a native `TypeError`, and the catch block
crashes again while reading `err.error`. Are all `callAsync` rejections
`Meteor.Error`?"
Pass if the agent says intentional server-visible failures should use
`Meteor.Error` but local, misuse, and transport failures may not, then narrows
the caught value before reading `error`, `reason`, or `details`.
@@ -0,0 +1,111 @@
# `DDPRateLimiter.addRule`
`DDPRateLimiter.addRule(matcher, n, ms)` rejects requests that exceed `n`
matches in `ms` milliseconds.
## Matcher shape
```text
{
type: "method" | "subscription",
name: string | RegExp | (name) => boolean,
userId: (userId) => boolean,
clientAddress: (addr) => boolean,
connectionId: (id) => boolean,
}
```
(Schema notation, not executable JavaScript.)
Any subset of keys is allowed. Missing keys match everything.
## Common patterns
```javascript
// Per-user method limit
DDPRateLimiter.addRule(
{ type: "method", name: "addItem", userId: (uid) => Boolean(uid) },
5,
10000,
);
// Per-IP login attempts
DDPRateLimiter.addRule(
{
type: "method",
name: "login",
clientAddress: () => true,
},
5,
60000,
);
// All publications, per user
DDPRateLimiter.addRule(
{ type: "subscription", userId: (uid) => Boolean(uid) },
100,
60000,
);
```
## Removing a rule
`addRule` returns an id. Pass it to `removeRule` to drop the limit (useful
for tests).
```javascript
const ruleId = DDPRateLimiter.addRule(
{ type: "method", name: "addItem" },
5,
10000,
);
// later, e.g. in a test teardown
DDPRateLimiter.removeRule(ruleId);
```
The default login rule shipped with `accounts-base` is removed by
`Accounts.removeDefaultRateLimit()`.
## Async matchers (Meteor 3.5+)
Matchers may return `Promise<boolean>`. Use this only when the rule must read
the database, because each matcher is awaited on the incoming connection's
message queue.
```javascript
DDPRateLimiter.addRule(
{
type: "method",
name: "reports.generate",
async userId(userId) {
if (!userId) return true;
const user = await Meteor.users.findOneAsync(userId, {
fields: { subscriptionTier: 1 },
});
return user?.subscriptionTier !== "premium";
},
},
2,
60000,
);
```
Keep synchronous matchers for values already present on the invocation. A
rejected async matcher fails the invocation; test that error path. Every
matcher field also contributes to the bucket key. Include `userId`,
`clientAddress`, or `connectionId` when the limit must be scoped rather than
global.
## Custom error message
```javascript
const ruleId = DDPRateLimiter.addRule(rule, 1, 60000);
DDPRateLimiter.setErrorMessageOnRule(
ruleId,
(data) => `Slow down. Try again in ${Math.ceil(data.timeToReset / 1000)}s.`,
);
```
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/DDPRateLimiter.md
@@ -0,0 +1,251 @@
---
name: meteor-modern-build-stack
description: >
Use when configuring or tuning the Meteor 3 modern build stack: SWC
transpiler, SWC-based minifier, modern @parcel/watcher, web-arch skipping
in development, .meteorignore, and the Rspack bundler integration via the
rspack Atmosphere package. Triggers on package.json "meteor": { "modern":
true }, .swcrc, swc.config.js, [Transpiler] Used Babel Fallback logs,
rspack.config.js, rspack.config.ts, defineConfig from @meteorjs/rspack, Meteor.compileWith*
helpers, Meteor.extendConfig, Meteor.extendSwcConfig vs Meteor.replaceSwcConfig,
Meteor.splitVendorChunk, Meteor.persistDevFiles, Meteor.disablePlugins,
Meteor.enablePortableBuild, HtmlRspackPlugin customization,
RSPACK_DEVSERVER_PORT, TOOL_NODE_FLAGS, pnpm workspaces, Rspack 2,
skeleton selection, PWA, Workbox and service-worker build setup.
Use this skill when the user asks about SWC vs Babel or Rspack configuration.
Route existing-app bundler migration to migrate-to-rspack, Blaze PWA
scaffolding to meteor-blaze, and jam:offline data to meteor-community-packages.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.3"
area: build
tagline: "Configure the Meteor 3 modern build stack (SWC transpiler/minifier, `@parcel/watcher`, web-arch skipping, Rspack integration)."
bundle: ["essentials"]
docs_synced_at: "2026-09-11"
license: MIT
---
# Modern build stack
The modern build stack is two independent tracks. Enable either or both.
1. **Meteor Bundler Optimizations** (Meteor 3.3+). One flag, SWC replaces
Babel, SWC minifier replaces Terser, `@parcel/watcher` replaces the
legacy watcher, development skips legacy archs.
2. **Rspack Bundler Integration** (Meteor 3.4+). Atmosphere package
delegates app-code compilation to Rspack. Tree shaking, ESM, code
splitting via HTTP, modern bundler plugins.
Standard current `meteor create` application skeletons ship both enabled.
Purposefully small or compatibility-oriented skeletons, including `minimal`
and `legacy`, may omit Rspack or the modern flag. Inspect the generated
`package.json` and `.meteor/packages` instead of inferring features only from
the Meteor version. For existing apps, enable optimizations first, then add
Rspack once the app code is standards-clean.
## Enable Meteor Bundler Optimizations
Add to `package.json`:
```json
"meteor": {
"modern": true
}
```
This enables SWC, the SWC minifier, the modern watcher, and dev-mode web
arch skipping. Each falls back to legacy when something is incompatible, so
this is backward compatible.
Opt out of pieces:
```json
"meteor": {
"modern": {
"transpiler": false,
"minifier": false,
"watcher": false,
"webArchOnly": false
}
}
```
Or scope SWC: `transpiler.excludeApp`, `transpiler.excludeNodeModules`,
`transpiler.excludePackages`, `transpiler.excludeLegacy`. Accept `true` or
an array of paths/regexes.
Verbose transpiler logs to diagnose Babel fallbacks:
```json
"meteor": {
"modern": {
"transpiler": { "verbose": true }
}
}
```
Look for `[Transpiler] Used Babel for <file> Fallback`. The common cause is
nested imports; see `references/meteor-bundler-optimizations.md`.
## Enable Rspack integration
```bash
meteor add rspack
```
On first run the package installs the project-level Rspack setup. App code
moves to Rspack; Meteor still handles Atmosphere packages and produces the
final bundle. Requires entry points in `package.json` and no nested imports
in app code. To migrate an existing app, use the `migrate-to-rspack` skill.
Inspect `.meteor/versions`, `package.json`, and the lockfile. Meteor
3.6-beta.0 pairs `rspack@1.4.0-beta360.0`, `@meteorjs/rspack@3.0.0-beta.1`
and Rspack 2.2.0; 3.5.2 retains the 1.3.0/2.2.0 integration pairing.
See [release pairings](references/rspack-config.md) and
[3.6 dependencies and workspaces](references/meteor-3.6-workspaces.md).
For Rspack 1-to-2 config migration, use `migrate-to-rspack`.
## Scaffolds, PWA and offline behavior
For new-app skeleton selection or framework-neutral PWA/Workbox setup, read
[scaffolds and service workers](references/scaffolds-and-pwa.md).
Meteor 3.6 (verified on `3.6-beta.0`) adds separate `--pnpm` workspace and
`--pwa` Blaze starters; neither converts an existing app. A worker caches
shell/assets, not offline Meteor data. Existing bundler migrations remain
owned by `migrate-to-rspack`.
## SWC config files
```text
.swcrc > swc.config.js > swc.config.ts
```
Only the first found is used. Use `.swcrc` for static config, `swc.config.js`
for environment-driven config. The file name must be exactly `.swcrc`, not
`config.swcrc`.
Install `@swc/helpers` to externalize SWC helpers (smaller bundles):
```bash
meteor npm install --save @swc/helpers
```
New apps ship with this preinstalled. Normally no further setup is needed;
Meteor's pipeline detects it and emits imports instead of inlining. If only a
production or legacy bundle fails on a helper import, inspect Rspack-generated
and final Meteor output before changing `.swcrc` or adding manual imports.
## Rspack config files
```text
rspack.config.js | rspack.config.ts | rspack.config.mjs | rspack.config.cjs
```
Use `defineConfig` from `@meteorjs/rspack`. The function receives a
`Meteor` parameter with build flags and helpers. See
`references/rspack-config.md` for the full table and the most useful
helpers (`extendSwcConfig`, `compileWithRspack`, `compileWithMeteor`,
`extendConfig`, `splitVendorChunk`, `persistDevFiles`, `disablePlugins`,
`enablePortableBuild`, `setCache`).
## .meteorignore
Skip directories the bundler does not need to watch. Same syntax as
`.gitignore`. Place at any depth; rules apply to the subtree.
```gitignore
docs/
design/
cypress/
scripts/
*.md
!README.md
```
For per-command rules, set the `METEOR_IGNORE` env var.
Do not copy `.gitignore` into `.meteorignore` blindly. Exclude unrelated large
trees that Meteor does not need, but never match the active Rspack build context:
Meteor consumes its generated main and test modules during final assembly.
Rspack also generates `_build/`, `public/build-assets/`,
`public/build-chunks/`, and `private/build-assets/`. Include active suffixed
variants such as `build-assets-test` and `build-chunks-app-test` on Meteor
3.5.2, plus custom context names. Add those paths to the
native ignore configuration of recursive formatters, linters, typecheckers,
test discovery, coverage, and IDEs. `.gitignore` alone is insufficient.
## Minifier ownership
`"modern": true` selects Meteor's modern standard minifier. A third-party
Atmosphere package that provides the JavaScript minifier remains part of the
final Meteor assembly even when Rspack compiles app modules. Inventory custom
minifier packages before migration. Keep or remove one only after comparing
production output, source maps, build time, and runtime behavior.
## Production legacy builds
Dev skips `web.browser.legacy` and `web.cordova` with `"modern": true`.
Production still ships legacy by default. To drop legacy in production
too, add `modern` to `.meteor/platforms`:
```text
server
browser
modern
```
## Memory limits
Rspack runs as a child process and may OOM on large apps. Raise the heap
for tool processes temporarily when capturing evidence (Meteor 3.4.1+):
```bash
TOOL_NODE_FLAGS="--max-old-space-size=16384" meteor run
```
On Meteor 3.4.0, use `NODE_OPTIONS="--max-old-space-size=16384"`.
First distinguish a one-shot build failure from growth during a long watch
session. Audit large directories visible to Meteor and check the exact release
for fixes. Test heap size and persistent cache as separate variables; revert a
change that does not improve the failure or a measured memory trend.
## Multiple instances
Meteor 3.5.2 separates development, normal test, and full-app test output
within one context (`_build/main-dev`, `_build/test`, `_build/app-test`, plus
mode-suffixed assets/chunks). This does not isolate Meteor caches, local Mongo,
or ports. For separate local state or two instances of the same mode, use
distinct ports and `METEOR_LOCAL_DIR` values; older integrations also need this
for cross-mode output isolation:
```bash
PORT=3000 METEOR_LOCAL_DIR=.meteor/local-1 meteor run
PORT=3001 METEOR_LOCAL_DIR=.meteor/local-2 meteor run
```
## Anti-patterns
- Enable optimizations and Rspack at the same time on a legacy app. Enable
`"modern": true` first, clean up Babel fallbacks, then add Rspack.
- Edit files inside `_build/`, `public/build-assets/`,
`public/build-chunks/`, or `private/build-assets/`. Autogenerated.
- Assume `.gitignore` prevents code-quality tools from scanning generated
Rspack output. Configure each tool's own ignore mechanism.
- Copy `.gitignore` to `.meteorignore`. Git may ignore Rspack's generated
handoff even though Meteor must read it.
- Remove a custom Atmosphere minifier only because Rspack is enabled.
Benchmark the final production bundle first.
- Disable Rspack persistent cache without need. It is the default and the
main rebuild-speed win. Disable only when investigating OOM or a
cache-related Rspack bug.
- Name an SWC config `config.swcrc` or `rc.swc`. Only `.swcrc` is read.
## See also
- `references/meteor-bundler-optimizations.md`
- `references/rspack-config.md`
- `references/eval-cases.md`
- For converting an existing app to Rspack: `migrate-to-rspack` skill.
@@ -0,0 +1,310 @@
# Evaluation cases for `meteor-modern-build-stack`
## Case 1: enable optimizations
Prompt: "How do I turn on the modern build stack? My app is on Meteor 3.3."
Pass if the agent adds `"meteor": { "modern": true }` to `package.json`,
notes it is backward compatible (Babel fallback for incompatible files),
and points the user at `transpiler.verbose` to inspect fallbacks before
investing in migration.
## Case 2: silent Babel fallback
Prompt: "I enabled modern but builds feel the same. How do I tell whether
SWC is actually being used?"
Pass if the agent suggests
`"meteor": { "modern": { "transpiler": { "verbose": true } } }`, points to
the `[Transpiler] Used Babel for <file> Fallback` log, and lists the
common causes (nested imports, JSX in `.js`, Babel-only plugin) with their
SWC equivalents.
## Case 3: alias works for import, not require
Prompt: "I added an alias to `.swcrc`. `import x from "@ui/x"` works but
`require("@ui/x")` does not. Why?"
Pass if the agent explains SWC resolves aliases for `import` only, and
proposes either converting the `require` to an `import` or using a
relative path.
## Case 4: native dep crashes with Rspack
Prompt: "After `meteor add rspack`, my server crashes with
`Cannot find module '/_build/main-dev/lib/worker.js'`."
Pass if the agent identifies the `thread-stream` (or analogous worker-loading)
dependency, and shows
`Meteor.compileWithMeteor(["thread-stream"])` in `rspack.config.js` to
let Meteor/Node handle it instead of Rspack.
## Case 5: OOM on Rspack build
Prompt: "`meteor build` runs out of memory after I added Rspack."
Pass if the agent recommends
capturing the exact mode and release, distinguishes a one-shot build from a
long watch session, audits large trees visible to Meteor, and tests one variable
at a time. It may use `TOOL_NODE_FLAGS` on 3.4.1+ or `NODE_OPTIONS` on 3.4.0 as a
temporary mitigation. It may test `Meteor.setCache(false)` separately. Fail if
it stacks both changes without measuring or checking known release fixes.
## Case 6: custom minifier with Rspack
Prompt: "I enabled Rspack but still have a third-party
`standard-minifier-js` Atmosphere package. Should I delete it automatically?"
Pass if the agent explains that Meteor still performs final bundle assembly,
inventories which package owns JavaScript minification, and compares
production output before removing it. Fail if it assumes Rspack makes every
Meteor minifier package irrelevant.
## Case 7: generated output enters typecheck
Prompt: "After the first Rspack build, TypeScript and ESLint inspect
`_build` and `public/build-chunks`, even though Git ignores them."
Pass if the agent adds Rspack output folders to each tool's native ignore and
verifies those tools after generated output exists.
## Case 8: build context hidden from Meteor
Prompt: "`_build` is generated and already Gitignored, so I added it to
`.meteorignore`. Now Meteor cannot find `server-meteor.js`."
Pass if the agent removes the active build context from `.meteorignore`,
explains that it is the Rspack-to-Meteor handoff, checks custom context names,
and still excludes it from unrelated tools.
## Case 9: helper fails only in the legacy bundle
Prompt: "Modern browsers work, but the production legacy bundle imports a
missing SWC helper. Should I add side-effect helper imports to app startup?"
Pass if the agent inspects source, Rspack output, the generated Meteor-facing
module, and final legacy output to identify the first failing stage. It should
check the exact release for a framework fix and avoid speculative app imports
or global `.swcrc` changes.
## Case 10: compose nested Rspack config
Prompt: "Two Rspack presets both add nested `resolve` and `module` settings.
Shallow object spread makes one replace the other. Which Meteor helper should I
use?"
Pass if the agent uses `Meteor.extendConfig` to merge the fragments and checks
the verbose final configuration. Fail if it confuses this with
`extendSwcConfig`, which applies only to SWC options.
## Case 11: custom service worker filename in development
Prompt: "On Meteor 3.4.1, Workbox generates `service-worker.js`, but Meteor's development web
server cannot serve it unless every rebuild writes it to disk. Rewriting it also
forces a page reload."
Pass if the agent uses `Meteor.persistDevFiles({ once: ['service-worker.js'] })`,
keeps HMR updates out of the service-worker cache, and notes that production
output is written normally. It must identify Meteor 3.4.1 and
`@meteorjs/rspack` v2 as the minimum.
## Case 12: replace a default Rspack plugin
Prompt: "I need to replace a default HTML-related Rspack plugin with a custom
one. How do I disable only the existing plugin?"
Pass if the agent uses `Meteor.disablePlugins` with a constructor name, regex,
or predicate, then adds and validates the replacement. Fail if it mutates the
generated config or disables unrelated plugins.
## Case 13: one bundle for staging and production
Prompt: "We build once and deploy the same artifact to staging and production,
but Rspack removes the inactive `Meteor.isDevelopment` branch at build time."
Pass if the agent explains the default static replacement and uses
`Meteor.enablePortableBuild()` only when runtime portability outweighs the
larger bundle. It must not claim that `Meteor.isClient`, `isServer`, or `isTest`
become portable runtime flags.
## Case 14: TypeScript Rspack config
Prompt: "Will Meteor discover `rspack.config.ts`, or must I rename it to
JavaScript?"
Pass if the agent lists `.ts` as a supported project-level Rspack config name
alongside `.js`, `.mjs`, and `.cjs`. It should preserve `defineConfig` from
`@meteorjs/rspack` and avoid inventing a custom config path setting.
## Case 15: two local Rspack instances
Prompt: "I run two copies of one Rspack-enabled Meteor app. Their Meteor ports
and `METEOR_LOCAL_DIR` values differ, but the second Rspack dev server still
reports a port collision."
Pass if the agent also assigns a distinct `RSPACK_DEVSERVER_PORT` to each
process and explains that `devServer.port` in `rspack.config` is reserved by
the Meteor integration.
## Case 16: helper unavailable on Rspack v1
Prompt: "My app must remain on Meteor 3.4.0 with `@meteorjs/rspack@1.0.0`.
Can I copy a current example that uses `Meteor.persistDevFiles` and
`Meteor.enablePortableBuild`?"
Pass if the agent says both helpers require Meteor 3.4.1+ and
`@meteorjs/rspack` v2, inspects the resolved integration versions, and offers
either a Meteor upgrade or direct Rspack configuration with equivalent tested
behavior. Fail if it installs v2 independently into the Meteor 3.4.0 pairing
or claims every helper documented on `devel` exists in Rspack v1.
## Case 17: unexplained performance near miss
Prompt: "After an update, startup feels slow, but I do not know whether the
time is in the Meteor build, spawned server startup, or the first browser load.
Which Rspack setting should I change?"
Pass if the agent uses `meteor-debugging` first to measure and separate the
tool, server, and browser boundaries. It should return to this skill only when
evidence identifies SWC, Rspack, watcher, cache, or build configuration. Fail
if it changes Rspack settings before locating the slow boundary.
## Case 18: dependency opt-out on Meteor 3.5.2
Prompt: "Our Meteor 3.5.2 build must not modify package.json or the lockfile.
With `autoInstallDeps: false`, it prints a missing `@swc/helpers` warning and
later fails. Should I ignore the warning? Would running `meteor update --npm`
in CI still honor the opt-out?"
Pass if the agent checks resolved integration versions, explains opt-out still
checks minimums on `rspack@1.3.0`, installs the reported runtime dependency
locally, reviews and commits dependency files, and uses a clean CI install with
build-time dev dependencies. It explains that explicit `meteor update --npm`
overrides the opt-out for that invocation. Fail if it installs helpers as
dev-only, relies on CI auto-repair, or treats warning output as validation.
## Case 19: earlier dependency opt-out
Prompt: "Our app must stay on Meteor 3.5.1 with `rspack@1.2.0` and
`autoInstallDeps: false`. Missing dependencies produce no helpful warning.
Was automatic installation first introduced in 3.5.2?"
Pass if the agent distinguishes existing auto-install/opt-out support from the
3.5.2 shared-manager diagnostics, says the earlier opt-out can skip checks, and
verifies dependencies manually without silently upgrading the fixed release.
## Case 20: mixed build modes and generated ignores
Prompt: "On Meteor 3.5.2, development and full-app tests run in one checkout.
Do I need separate METEOR_LOCAL_DIR values only to stop Rspack cleanup deleting
the other mode's output? ESLint now scans public/build-chunks-app-test too."
Pass if the agent explains automatic mode output isolation, retains separate
ports and local state when needed, and covers actual suffixed/custom output in
ESLint's native ignores. It must not hide Meteor's handoff in `.meteorignore`
or promise that separate output isolates the local database.
## Case 21: TypeScript config cache boundary
Prompt: "On Meteor 3.5.2 with `@meteorjs/rspack@2.2.0`, rspack.config.ts
imports `./config/alias.ts` and also computes a dynamic import path. Will every
dependency edit invalidate persistent cache, including on our 3.5.1 branch?"
Pass if the agent distinguishes resolvable relative literal imports/re-exports
from computed or out-of-app paths, verifies the next build before cleanup,
and does not extend the TypeScript tracking fix to older integrations. Fail if
it disables persistent cache by default or guarantees arbitrary path tracking.
## Case 22: 3.6 beta dependency pairing
Prompt: "We are on Meteor 3.6-beta.0 with autoInstallDeps false. Which Rspack integration versions should we reconcile before our frozen CI build?"
Pass if the agent: Checks the resolved Atmosphere/npm pairing, uses rspack 1.4.0-beta360.0 and @meteorjs/rspack 3.0.0-beta.1 rather than a presumed stable 3.0.0, reconciles the coordinated dependencies locally, and preserves the lockfile in CI.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 23: pnpm workspace install ownership
Prompt: "Meteor 3.6-beta.0 runs from apps/app in a pnpm workspace. The root pins pnpm but the app has an old npm packageManager hint. Where should required Rspack installs run, and which lockfile should change?"
Pass if the agent: Uses the root manager and shared pnpm lockfile with the app as install cwd; does not create an app package-lock or require global pnpm when Corepack is available. Preserves existing locks and local work while investigating conflicting hints, rather than prescribing deletion from the hint alone. Does not forbid pnpm-managed links under apps/app/node_modules.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 24: local protocol dependencies
Prompt: "Our 3.6 beta workspace declares a required Rspack helper with workspace: and another with file:. Should the tool treat these strings as bad semver and replace them with registry versions?"
Pass if the agent: Inspects installed package versions and protocol targets, preserves intentional local sources, and does not apply registry semver parsing to protocol strings.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 25: older workspace near miss
Prompt: "We are pinned to Meteor 3.5.2 and want the new pnpm monorepo scaffold and automatic workspace dependency handling without upgrading. Can we use the 3.6 commands unchanged?"
Pass if the agent: States the 3.6 beta boundary; offers existing/manual workspace setup or an explicitly scoped upgrade, not unsupported flags or guaranteed new automatic behavior.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 26: React PWA with Workbox and offline data
Prompt: "Our Meteor 3.6-beta.0 React app already uses Rspack. We want a PWA
like Notes Offline. Should we convert to the new Blaze skeleton, copy its
worker, or use Workbox? Will the worker save Minimongo and replay edits?"
Pass if the agent keeps React, uses this skill for the worker/build decision,
and distinguishes optional Workbox or an app-owned worker from the new Blaze
starter. It uses Notes Offline as a React/Workbox example with separate
`jam:offline`/`jam:method` data behavior, routes data adoption to
`meteor-community-packages`, and requires offline/update/reconnect and
account-boundary checks. Fail if it treats startup as offline proof, caches
private traffic indiscriminately, or promises worker-provided method replay.
## Case 27: new pnpm workspace starter
Prompt: "Start a Meteor 3.6-beta.0 pnpm workspace with shared client and server
packages. Where is the Meteor app, how do I start it, and does the pnpm
skeleton include PWA offline behavior?"
Pass if the agent uses `meteor create --release 3.6-beta.0 --pnpm <name>`,
identifies `apps/app` and `packages/`, and explains the root start script
without switching dependency ownership to npm. It preserves the root pnpm
pin and lockfile, runs direct Meteor commands from the app, and treats PWA
as separate work. Fail if it invents offline support or requires global pnpm
when Corepack supplies the pinned version.
## Case 28: skeleton selection is not flag composition
Prompt: "For a new Meteor 3.6-beta.0 app, should I use --react, --typescript,
--svelte, --pnpm or --pwa? Can I combine --react --pnpm --pwa to get all three?
Does meteor create --list show every skeleton?"
Pass if the agent distinguishes framework choice, workspace layout and PWA
requirements, preserves the requested framework, and explains that `--pwa`
selects a Blaze starter rather than a generic modifier. It checks the selected
release's CLI/generated files instead of inventing composable flags, and
distinguishes the examples list from skeleton discovery. Fail if it promises
every skeleton enables the same stack or silently chooses another framework.
## Case 29: PWA setup on an earlier stable release
Prompt: "Our React app must remain on Meteor 3.5.2 with @meteorjs/rspack 2.2.0.
Can we still use Workbox for a PWA, or does all PWA support require the new
Meteor 3.6 --pwa option?"
Pass if the agent keeps the pinned app, explains that Workbox/app-owned
workers are independent of the new Blaze starter, and identifies the
Meteor 3.4.1/v2 floor for documented worker persistence helpers. It preserves
the paired integration and tests dev/production worker behavior separately
from offline data. Fail if it requires upgrading to 3.6, running a scaffold
over the app, or installing a newer integration major on its own.
## Case 30: narrower worker scope is valid
Prompt: "Our Meteor 3.6 React PWA is under /portal/ but serves its worker at
/sw.js. Can we register that worker with scope /portal/, or must we move it?
What if /portal/sw.js instead requests scope /?"
Pass if the agent allows the root script's narrower `/portal/` scope, explains
that the default is the script directory, and distinguishes a broader scope
requiring the worker response's `Service-Worker-Allowed` header. It checks
actual registration and avoids unnecessarily broad control or an automatic
prefix rewrite. Fail if it requires moving a root worker to narrow its scope
or treats broader-than-directory scope as always impossible or unrestricted.
@@ -0,0 +1,101 @@
# Meteor 3.6 dependencies and workspaces
These decisions start with Meteor 3.6, verified on `3.6-beta.0` with
`rspack@1.4.0-beta360.0` and `tools-core@1.4.0-beta360.0`. Earlier 3.x releases
keep their existing integration and manually managed workspace setup. Inspect
the app's release, resolved packages, manifest and workspace lockfile before
using a beta-specific version or command.
## Rspack 2 dependency set
| Package | Minimum selected by 3.6-beta.0 | Dependency category |
|---|---|---|
| `@meteorjs/rspack` | `3.0.0-beta.1` | Development |
| `@rspack/core`, `@rspack/cli`, `@rspack/dev-server` | `2.2.0` each | Development |
| `@swc/core` | `1.15.32` | Development |
| `@rsdoctor/rspack-plugin` | `1.5.9` | Development |
| `@swc/helpers` | `0.5.23` | Runtime |
| React only: `@rspack/plugin-react-refresh`, `react-refresh` | `2.0.0`, `0.17.0` | Development |
`swc-loader@0.2.6` remains a separately selected dependency when the integration
needs it. Do not confuse the Meteor npm integration's major 3 with Rspack's
major 2. Do not substitute unreleased stable `@meteorjs/rspack@3.0.0` for this
beta's pin. Later releases require checking their own resolved pairing.
Automatic installation updates the coordinated set. With
`meteor.autoInstallDeps: false`, inspect the warnings and prepare the changes
locally with the detected manager. `meteor update --npm` explicitly overrides
the opt-out for that invocation; keep it out of immutable CI builds.
On npm apps with installed Rspack 1.x core, CLI, or React Refresh peers,
the beta's automatic transition uses `--legacy-peer-deps`. Its manual warning
can omit that flag. If the reported dependency update fails with the confirmed
old-peer conflict, apply the flag only to that coordinated npm install and
verify the resulting tree. Do not set a global npm option, add the flag to
pnpm/Yarn, or suppress unrelated peer errors. Prove the locked CI install
works; if that lockfile requires the same npm flag, document it in that app's
CI command and revisit it after the transition.
## Create a pnpm workspace
```bash
meteor create --release 3.6-beta.0 --pnpm my-workspace
cd my-workspace
meteor npm start
```
Inspect the generated structure:
```text
package.json # packageManager pin and root scripts
pnpm-workspace.yaml
pnpm-lock.yaml
apps/app/.meteor/release # Meteor commands target this app
apps/app/package.json # app dependencies and workspace:* links
packages/domain/ # shared npm package
packages/server-tools/ # server-only npm package
packages/ui/ # client npm package
```
Creation installs through pnpm, using Corepack when available. A global pnpm
installation is not required when Corepack can supply the pinned version.
`meteor npm start` runs the root script; it does not make npm the workspace's
dependency manager. Run direct Meteor commands from `apps/app`.
For a Meteor 3.5.2 or earlier app that must stay pinned, do not use `--pnpm`
or promise the new detection. Keep its established workspace and manager,
prepare dependencies explicitly, and verify linked imports and builds.
## Preserve installation ownership
1. Find the workspace root, root `packageManager`, workspace manifest and
lockfile. The root manager takes precedence over the nested app's hint.
2. Install app dependencies from the Meteor app directory with that manager,
so the app manifest and shared workspace lockfile change together. Do not
add them to the root manifest or create a competing `package-lock.json`.
If conflicting hints or lockfiles already exist, inspect their history and
preserve local changes before selecting an authority. Do not delete an
existing lockfile or `node_modules` merely because npm was mentioned.
pnpm can legitimately create `apps/app/node_modules` links; a shared root
lockfile does not require a root-only `node_modules` tree.
3. Keep `file:`, `link:`, `portal:` and `workspace:` declarations when they
are intentional. Check the actual installed package version and linkage;
the protocol text is not a semver range. Repair missing links or an
incompatible source version instead of replacing every link with a
registry dependency.
4. npm, pnpm and Yarn can auto-install. Other declared managers receive
manual guidance without automatic mutation. A failed pnpm/Yarn executable
can fall back to Corepack; inspect its error rather than switching managers.
5. Review both manifests and the authoritative lockfile, then use a frozen
install from the workspace root in CI: `pnpm install --frozen-lockfile`,
`yarn install --immutable` for modern Yarn, or the project's npm workflow.
Yarn Classic uses `--frozen-lockfile`. Include build-time dev dependencies.
Keep default symlink resolution for packages imported by name. Only an
app-local source symlink that needs its apparent location calls for
`resolve.symlinks: false`. Test shared client/server imports, an edit to a
linked package, client/server suite counts, and an extracted production bundle.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
@@ -0,0 +1,244 @@
# Meteor Bundler Optimizations
`"meteor": { "modern": true }` in `package.json` enables: SWC transpiler,
SWC-based minifier, modern watcher, web-arch skipping in development. All
fall back to legacy behavior on incompatibility.
## Transpiler (SWC)
SWC replaces Babel for `.js`, `.jsx`, `.ts`, `.tsx` across app, npm, and
Atmosphere packages. Faster, no Fibers tax.
### Verbose output
```json
"meteor": {
"modern": {
"transpiler": { "verbose": true }
}
}
```
Each file logs which transpiler ran. Babel fallbacks log
`[Transpiler] Used Babel for <file> (<context>) Fallback`.
### Excluding files from SWC
When a file is known-incompatible, skip SWC entirely to avoid the fallback
overhead.
```json
"meteor": {
"modern": {
"transpiler": {
"excludeApp": ["\\.jsx"]
}
}
}
```
`excludeApp`, `excludeNodeModules`, `excludePackages`, `excludeLegacy`:
each accepts `true` (always Babel) or an array of paths/regex-like
patterns.
### Externalize SWC helpers
```bash
meteor npm install --save @swc/helpers
```
Meteor's pipeline detects it and emits imports for shared helpers instead
of inlining `_extends`, `_objectSpread`, etc. into every file. Preinstalled
on new apps. No `.swcrc` change is normally required. If only a production or
legacy build fails on a helper import, compare the source, Rspack output,
generated Meteor-facing module, and final bundle before changing helper config.
The later Meteor assembly can transform generated Rspack output too.
### Custom `.swcrc`
Lookup order: `.swcrc` > `swc.config.js` > `swc.config.ts`. Only the
first match is used. File name must be exactly `.swcrc`.
Add SWC plugins, JSX-in-JS support, or React runtime config here.
```json
{
"jsc": {
"parser": { "syntax": "ecmascript", "jsx": true },
"transform": {
"react": { "runtime": "automatic" }
}
}
}
```
For TypeScript: `"syntax": "typescript"` and `"tsx": true`.
### Import aliases via SWC
```json
{
"jsc": {
"baseUrl": "./",
"paths": { "@ui/*": ["ui/*"] }
}
}
```
SWC resolves aliases for `import`. It does NOT resolve aliases for
`require(...)` calls. Use an `import` or a relative path for those.
For dynamic aliases by env, use `swc.config.js`:
```javascript
var mode = process.env.MODE_ENV;
module.exports = {
jsc: {
baseUrl: "./",
paths: mode === "USER" ? { "@ui/*": ["user/*"] }
: { "@ui/*": ["admin/*"] },
},
};
```
### Transform-imports plugin
To shrink full-package imports (e.g. lodash):
```bash
meteor npm install -D @swc/plugin-transform-imports
```
```json
{
"jsc": {
"experimental": {
"plugins": [[
"@swc/plugin-transform-imports",
{
"lodash": {
"transform": "lodash/{{member}}",
"preventFullImport": true
}
}
]]
}
}
}
```
Rewrites `import { map } from "lodash"` into `import map from "lodash/map"`.
### Private class fields
SWC parses `#privateField`, `#privateMethod()`, static private members
natively. No `.swcrc` change required. Babel does not parse them in Meteor;
SWC does.
### Common Babel fallback causes
| Cause | Fix |
|------------------------------------|--------------------------------------------------------------|
| Nested imports | Move to top-level, or use dynamic `import()` / `require`. |
| JSX in `.js` files | Add `jsc.parser.jsx: true` in `.swcrc`. |
| Babel-only plugin (e.g. React Compiler) | Either keep Babel via `excludeApp: true`, or wait. |
| Custom babel-plugin-module-resolver | Move aliases to `.swcrc`'s `jsc.paths`. |
## Minifier (SWC-based)
Replaces Terser in production builds. Same flag (`"modern": true`). Opt out:
```json
"meteor": {
"modern": { "minifier": false }
}
```
This flag controls Meteor's standard minifier path. If `.meteor/packages`
contains a third-party package that provides the JavaScript minifier, do not
assume the flag replaces it. Rspack compiles app modules, then Meteor still
assembles and minifies the final bundle. Compare production output with and
without the custom package before choosing one implementation.
## Watcher (`@parcel/watcher`)
Native cross-OS file watcher. Opt out:
```json
"meteor": {
"modern": { "watcher": false }
}
```
For WSL, remote volumes, or unstable inotify, force polling:
```bash
METEOR_WATCH_FORCE_POLLING=true meteor run
METEOR_WATCH_POLLING_INTERVAL_MS=1000 METEOR_WATCH_FORCE_POLLING=true meteor run
```
Polling burns CPU but is the reliable option in those environments.
## Web Arch (dev only)
`"modern": true` makes development skip `web.browser.legacy` and
`web.cordova`. Equivalent to `--exclude-archs web.browser.legacy,web.cordova`.
Opt out:
```json
"meteor": {
"modern": { "webArchOnly": false }
}
```
This only affects development. To drop legacy from production, add
`modern` to `.meteor/platforms`:
```text
server
browser
modern
```
## .meteorignore
`.gitignore` syntax. Place at any directory level; applies to the subtree.
Lets Meteor skip docs, design assets, infra, test runners, scripts.
```gitignore
docs/
design/
mockups/
cypress/
playwright/
scripts/
tools/
*.md
!README.md
```
Subdirectory `.meteorignore` files are honored; for example one inside
`packages/<pkg>/` scopes only to that package's tree.
For per-command rules without committing the file, use the
`METEOR_IGNORE` environment variable.
Do not synchronize `.gitignore` and `.meteorignore` mechanically. Gitignored
Rspack build contexts contain generated main and test modules that Meteor reads
during final assembly, so they must remain visible to Meteor. For performance,
report large unrelated trees that Git ignores but Meteor still scans, then add
anchored `.meteorignore` rules only after proving they are not application or
test inputs.
## Profiling
Run `meteor profile` before and after enabling `"modern": true` to
quantify the improvement.
## Troubleshooting
- `meteor reset` clears the build cache.
- Delete `.meteor/local/` to force a clean rebuild.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/meteor-bundler-optimizations.md
@@ -0,0 +1,348 @@
# Customizing `rspack.config.js`
The `rspack` Atmosphere package generates a `rspack.config.js` at install
time. Edit it with `defineConfig` from `@meteorjs/rspack`. Accepted names are
`rspack.config.js`, `rspack.config.ts`, `rspack.config.mjs`, and
`rspack.config.cjs`.
Match both integration packages to the Meteor release:
| Meteor | `rspack` | `@meteorjs/rspack` | Capability boundary |
|---|---|---|---|
| 3.4 | `1.0.0` | `1.0.0` | Base helpers, including `extendConfig`, `disablePlugins`, and `RSPACK_DEVSERVER_PORT`. |
| 3.4.1 and 3.5 | `1.1.0` | `2.0.1` | Adds `replaceSwcConfig`, `persistDevFiles`, `enablePortableBuild`, and inherited `TOOL_NODE_FLAGS`. |
| 3.5.1 | `1.2.0` | `2.1.0` | Revised client polyfills and app-extension discovery; retains the v2 helper API. |
| 3.5.2 | `1.3.0` | `2.2.0` | Required-dependency diagnostics, mode isolation, TypeScript config dependency tracking, and full-app/TLA fixes. |
| 3.6-beta.0 | `1.4.0-beta360.0` | `3.0.0-beta.1` | Rspack 2.2.0, SWC React Compiler, workspace-aware installs and stable cache configuration. |
Inspect `.meteor/versions`, `package.json`, and the lockfile. Do not install an
arbitrary `@meteorjs/rspack` major to obtain one helper; upgrade the Meteor
release and its paired dependencies.
## Required npm dependencies
With `rspack@1.3.0` and `tools-core@1.3.0` (Meteor 3.5.2), the shared manager
checks required minimums even when `meteor.autoInstallDeps` is `false` in
`package.json`. With automatic installation enabled, it installs missing or
outdated dependencies and reports changes. A satisfied dependency set is quiet.
During an ordinary build with automatic installation disabled, it prints the missing/outdated versions
and manual install commands without changing project dependencies. It continues
the build, which can still fail because those dependencies are missing. Treat
the warning as a dependency problem, not as a successful compatibility check.
An explicit `meteor update --npm` overrides the opt-out for that invocation
without changing the stored flag. Use it during authorized dependency
preparation; keep it out of an immutable CI build.
```json
{
"meteor": {
"autoInstallDeps": false
}
}
```
For the 3.5.2 pairing, the core minimums are `@rspack/core` and `@rspack/cli`
1.7.1, `@meteorjs/rspack` 2.2.0, `@rsdoctor/rspack-plugin` 1.5.7, and
`@swc/helpers` 0.5.17. Keep `@swc/helpers` in runtime dependencies; the others
are build-time dev dependencies. React adds its detected refresh dependencies.
Use the versions and categories reported by the resolved integration instead
of copying these minimums to another release.
Automatic installation and the opt-out already exist in Meteor 3.5.1. That
release skips the checks when opted out and does not provide the new warning
contract. Inspect its dependencies manually or upgrade the paired integration.
For reproducible CI/Docker, resolve dependencies locally, review and commit
`package.json` and its lockfile, and use `meteor npm ci` for npm apps in the build stage
with dev dependencies available. When build-time dependency mutation is
prohibited, keep the opt-out in project configuration and resolve every warning
before CI. Do not rely on a container silently repairing an incomplete lockfile.
For Meteor 3.6-beta.0's coordinated npm peer transition, new dependency minimums,
pnpm scaffold and workspace-owned installs, read
[3.6 dependencies and workspaces](meteor-3.6-workspaces.md).
Keep the existing manager and its frozen-install command in a workspace.
## Rspack 2 configuration boundary
Meteor 3.6-beta.0 supplies CSS through `css/auto`, persistent options under
top-level `cache`, `externalsType: "commonjs2"`, and compatible output settings.
Preserve those defaults. Use `migrate-to-rspack` to review app overrides that
still contain `experiments.css`, `experiments.cache`, `output.libraryTarget`,
or a hand-written `webpack-merge` integration.
Rspack 2's built-in SWC loader no longer discovers `.swcrc` itself, but
`@meteorjs/rspack@3.0.0-beta.1` still reads Meteor's `.swcrc`, `swc.config.js`
or `swc.config.ts` and passes options to the loader. Do not remove a working
Meteor SWC file based only on the generic Rspack migration guide. Inspect the
effective configuration; extend it with `Meteor.extendSwcConfig`.
## Configuration example
```javascript
const { defineConfig } = require('@meteorjs/rspack');
const { rspack } = require('@rspack/core');
module.exports = defineConfig(Meteor => ({
plugins: [
Meteor.isClient && new rspack.ProvidePlugin({ _: 'lodash' }),
new rspack.ProgressPlugin(),
].filter(Boolean),
}));
```
## Flags on the `Meteor` parameter
| Flag | Type | Meaning |
|------------------|---------|------------------------------------------------------|
| `isDevelopment` | boolean | dev mode |
| `isProduction` | boolean | prod mode |
| `isClient` | boolean | building client code |
| `isServer` | boolean | building server code |
| `isTest` | boolean | test mode |
| `isDebug` | boolean | debug mode |
| `isRun` | boolean | `meteor run` |
| `isBuild` | boolean | `meteor build` |
| `swcConfigOptions` | object | project-level SWC config (reuse in custom loaders) |
| `assetsContext` | string | name of the build-assets folder |
| `chunksContext` | string | name of the build-chunks folder |
## Helpers
### `extendConfig`
Deep-merge reusable or conditional Rspack configuration fragments without
replacing sibling nested keys:
```javascript
module.exports = defineConfig(Meteor => ({
...Meteor.extendConfig(
{ resolve: { alias: { '@ui': '/imports/ui' } } },
Meteor.isClient ? { module: { rules: [clientRule] } } : {},
),
}));
```
Use direct properties for one small config. Use `extendConfig` when composing
multiple nested fragments or presets. Inspect verbose final config to confirm
the merge result.
### `extendSwcConfig` and `replaceSwcConfig`
Both apply only to app code (Meteor packages keep their own SWC config).
`extendSwcConfig` exists in Meteor 3.4+. `replaceSwcConfig` requires Meteor
3.4.1+ and `@meteorjs/rspack` v2.
```javascript
// Smart-merge custom options onto Meteor's SWC defaults
...Meteor.extendSwcConfig({
jsc: { parser: { decorators: true } },
})
```
```javascript
// Replace Meteor's SWC config entirely. You own React-refresh, helpers, etc.
...Meteor.replaceSwcConfig({
jsc: {
parser: { syntax: 'typescript', tsx: true, decorators: true },
target: 'es2020',
transform: { react: { runtime: 'automatic' } },
},
})
```
Prefer `extendSwcConfig`. `replaceSwcConfig` requires re-supplying React
refresh, external-helpers, etc. that Meteor sets up via `Meteor.swcConfigOptions`.
### `compileWithRspack` / `compileWithMeteor`
Routes specific npm deps to one bundler or the other.
```javascript
module.exports = defineConfig(Meteor => ({
// Force Rspack/SWC to recompile a modern or local package
...Meteor.compileWithRspack(['grubba-rpc']),
// ES5 target for one dep
...Meteor.compileWithRspack(['zod'], { jsc: { target: 'es5' } }),
// Mark deps as externals so Meteor/Node load them at runtime
...(Meteor.isServer ? Meteor.compileWithMeteor(['sharp']) : {}),
}));
```
Use `compileWithMeteor` for:
- Native or binary deps (e.g. `sharp`).
- Atmosphere-package internals.
- `thread-stream` and similar worker-loading dependencies reached through
logging stacks such as `pino`. Fix
`Cannot find module '/_build/main-dev/lib/worker.js'` by adding
`thread-stream` to `compileWithMeteor`.
### `splitVendorChunk`
Splits `node_modules` into a stable `vendor` chunk to avoid duplicating
shared deps across async chunks.
```javascript
module.exports = defineConfig(Meteor => ({
...Meteor.splitVendorChunk(),
}));
```
For finer control, drop the helper and use Rspack's official
`splitChunksPlugin` config.
### `persistDevFiles` (Meteor 3.4.1+)
Rspack dev server keeps build output in memory. If Meteor's web server has
to serve a file (e.g. a Workbox-generated `sw.js`), persist it.
```javascript
// every rebuild
...Meteor.persistDevFiles(['manifest.json'])
// or split strategies
...Meteor.persistDevFiles({
once: ['sw.js'], // first build only; rewriting re-registers SW
always: ['manifest.json'],
})
```
Matchers: strings (`endsWith`), RegExp, or functions. HTML files persist
unconditionally.
| Strategy | When |
|----------|---------------------------------------|
| `always` | every build. Default for array form. |
| `once` | first build only. Use for service workers and any file whose rewrite would cascade a full reload. |
### `setCache`
```javascript
...Meteor.setCache(false) // disable
...Meteor.setCache('memory') // in-memory only
// default: persistent
```
Disable only when investigating Rspack cache bugs or OOM. Persistent is
the rebuild-speed default.
On `@meteorjs/rspack@2.2.0` (Meteor 3.5.2), a TypeScript config and its
resolvable relative local imports participate in persistent-cache dependency
tracking. Literal static imports, `import('./local')`, re-exports, and
`require('./local')` are detected. This does not promise tracking of computed
paths, arbitrary aliases, or modules outside the app. Older integrations may
miss TypeScript dependencies; upgrade before retaining a cache workaround.
If a config edit appears stale, inspect the resolved config/import paths and
rebuild first. Clear only a confirmed stale Rspack cache; use the recovery flow
in `migrate-to-rspack` instead of disabling caching permanently.
### `disablePlugins`
Match by constructor name string, RegExp, or predicate.
```javascript
...Meteor.disablePlugins([
'DefinePlugin',
/Html/i,
p => p?.constructor?.name === 'CustomConsoleLogPlugin',
])
```
### `enablePortableBuild` (Meteor 3.4.1+)
Default: `Meteor.isDevelopment` and `Meteor.isProduction` are replaced at
build time, enabling dead-code elimination of dev-only blocks.
```javascript
...Meteor.enablePortableBuild()
```
Keeps both as runtime checks. Bundle gets larger; dev/prod branches both
ship. Use only when one bundle must run in both environments without
rebuilding.
`Meteor.isClient`, `Meteor.isServer`, `Meteor.isTest` are always replaced
at build time regardless of this flag.
## Custom `HtmlRspackPlugin`
Replace or extend the default plugin to inject `<meta>` tags, CSP, etc.
```javascript
module.exports = defineConfig(Meteor => ({
plugins: [
Meteor.HtmlRspackPlugin({
meta: {
viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no',
'theme-color': '#4285f4',
},
}),
],
}));
```
A `client/main.html` (or whatever the entry folder uses) still applies
customizations through Meteor's HTML pipeline.
## Dev server port
`rspack.config.js`'s `devServer.port` is reserved. Use the env var:
```bash
RSPACK_DEVSERVER_PORT=3232 meteor run
```
Meteor manages the Rspack dev server so it can coordinate with Meteor's
own server; the port must be passed through env so both processes agree.
## Logging knobs
```javascript
module.exports = defineConfig(Meteor => ({
stats: 'detailed',
infrastructureLogging: { level: 'info' },
}));
```
`stats` controls bundle info per compilation. `infrastructureLogging.level`
controls HMR verbosity in terminal and browser; off by default.
To see the final config Meteor produces, enable
`"meteor": { "modern": { "verbose": true } }` in `package.json`.
## Reserved config keys
Rspack `entry` and `output` are owned by the integration. Overriding them
triggers warnings. Everything else is fair game.
## Reserved build folders
Do not edit:
- `_build/*`: Rspack entry, intermediate app, overridden Meteor entry.
- `public/build-assets/*`, `private/build-assets/*`: built static assets.
- `public/build-chunks/*`: dynamic-import code splits.
Meteor 3.5.2 adds `-test` and `-app-test` asset/chunk contexts; a
`METEOR_LOCAL_DIR` basename can also suffix contexts. Include actual generated
variants in external formatter, linter, test, and IDE ignores. Keep the active
build handoff visible to Meteor itself.
Auto-added to `.gitignore`. To rename, set in `package.json`:
```json
{
"meteor": {
"buildContext": "build",
"assetsContext": "assets",
"chunksContext": "chunks"
}
}
```
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
@@ -0,0 +1,74 @@
# Scaffolds and service workers
Choose framework, workspace layout and offline requirements separately.
Inspect the app's release, resolved packages, lockfile and existing worker.
Enabling `meteor.modern` or adding Rspack does not itself make an app a PWA.
## Choose a starting point
These starters are documented for `3.6-beta.0`. Check the selected release's
[CLI documentation](https://docs.meteor.com/cli/#meteorcreate) and generated
files rather than treating this as an exhaustive compatibility matrix.
| Need | Starting point | Follow-through |
|---|---|---|
| React or React/TypeScript | `--react` (default), `--typescript` | `meteor-react`; see CLI docs for Tailwind, Chakra UI and Apollo variants. |
| Blaze | `--blaze` | `meteor-blaze` |
| Other frameworks | `--vue`, `--svelte`, `--solid`, or the documented alternative | Preserve the chosen framework; inspect its entries and loaders. |
| pnpm workspace | Meteor 3.6+: `--pnpm` | [Workspace ownership](meteor-3.6-workspaces.md); app at `apps/app`, shared packages under `packages/`. |
| New Blaze PWA | Meteor 3.6+: `--pwa` | `meteor-blaze`, `references/pwa-scaffold.md`: dependency-free worker, manifest, offline page. |
| Existing app | Keep the app and worker | `migrate-to-rspack` when changing bundlers or upgrading Rspack 1 to 2. |
Starter flags are not composable feature switches. `--pnpm` does not add
offline support; `--pwa` is not a React/workspace modifier. Smaller starters
such as `--minimal` may omit Rspack. `meteor create --list` lists examples,
not skeleton flags. Never scaffold over an existing app.
Meteor 3.5.2 and earlier do not have these new `--pnpm`/`--pwa` starters.
Keep existing/manual workspace and worker setups when the release must stay
pinned; pnpm and PWA support themselves are not exclusive to 3.6.
## Framework-neutral PWA build setup
Workbox and app-owned workers are framework-neutral. Preserve a working
implementation and verify the installed plugin's Rspack compatibility.
For Meteor 3.4.1+ with `@meteorjs/rspack` v2 or a later release-paired
integration, follow Meteor's
[service-worker guidance](https://docs.meteor.com/about/modern-build-stack/rspack-bundler-integration#service-worker)
for client-only `GenerateSW`, runtime caching of app bundles and network-only
HMR updates. Adapt asset/chunk matching and caching to the app.
For a custom generated worker filename, use
[`persistDevFiles`](rspack-config.md#persistdevfiles-meteor-341) with the
`once` strategy; default `sw.js` is already handled. Rewriting workers on each
rebuild can defeat HMR. Production output is written normally. On Meteor
3.4.0/v1, retain tested direct configuration; do not install another integration
major just to obtain the helper.
Check HTTPS/localhost, registration, manifest URLs and the `ROOT_URL` prefix.
Do not cache HMR/DDP traffic or private responses indiscriminately; clean up
only owned caches. A root `/sw.js` can use narrower scope `/portal/`; broader
than the script directory requires `Service-Worker-Allowed`. See the browser
[scope rules](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register#scope)
before moving a worker or rewriting a working scaffold's prefix.
## Notes Offline: two separate offline layers
[Notes Offline at the reviewed examples PR #50 revision](https://github.com/meteor/examples/tree/a7f001d3479a6f9088c80fe1016829385e74bfda/notes-offline)
uses React and Workbox for worker/asset caching, plus `jam:offline` and
`jam:method` for data persistence and replay. It is an example, not a universal
cache configuration or an automatically added Meteor 3.6 capability.
Use `meteor-community-packages` and its `references/offline.md` for
selective persistence, replay and logout cleanup. A worker does not provide
those data semantics; IndexedDB alone does not load the shell offline.
Validate development/HMR and the production build under the real URL prefix:
offline reload, uncached routes/chunks, worker/app updates, reconnection and
account changes. Test data replay separately. Startup is not offline evidence.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/community-packages/offline.md
@@ -0,0 +1,186 @@
---
name: meteor-mongo-minimongo
description: >
Use when authoring or debugging Mongo queries in Meteor 3. Triggers on
Mongo.Collection, find/findOne, server async vs client Minimongo sync,
oplog vs change streams, indexes, selectors, modifiers, projections.
Use this skill when the user asks about Mongo on the server or asks about
Minimongo on the client.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: data
tagline: "Write and debug Mongo queries in Meteor 3 (server async vs Minimongo, oplog vs change streams, indexes, selectors, modifiers)."
bundle: ["essentials", "fullstack"]
docs_synced_at: "2026-09-08"
license: MIT
---
# Mongo and Minimongo
Meteor ships two implementations of the Mongo API in one codebase. The server
talks to MongoDB through an async driver. The client runs Minimongo, an
in-memory synchronous Mongo emulator that holds the documents that
subscriptions have shipped.
## Decision flow
1. Where does this code run?
- Server-only: use `await Collection.*Async(...)`.
- Client-only: use `Collection.*(...)` synchronously.
- Isomorphic (`import` in shared code): use `await Collection.*Async(...)`.
On the client the work is local but still Promise-based; on the server it
talks to Mongo.
2. Does the query select more than a page of documents? Add `{ limit, skip }`
and an index that matches the selector.
3. Are you reading from a publication on the client? Use `find().fetch()`
(sync) without `await`. The data is already local.
## Server reads
```javascript
const doc = await Posts.findOneAsync(id);
const list = await Posts.find({ ownerId }, {
fields: { title: 1 }, sort: { createdAt: -1 }, limit: 50,
}).fetchAsync();
const count = await Posts.find({ ownerId }).countAsync();
```
## Server writes
```javascript
const _id = await Posts.insertAsync({ title, ownerId });
await Posts.updateAsync({ _id }, { $set: { title } });
await Posts.removeAsync({ _id });
```
## Client reads (Minimongo)
The async API is isomorphic. Prefer it in shared code so the same line works
on the server.
```javascript
const doc = await Posts.findOneAsync(id); // works in shared/client/server
const list = await Posts.find({ ownerId }).fetchAsync();
```
On the client, the operation reads in-memory Minimongo but the async API still
returns a real Promise. Code after `await` resumes in a later microtask. The
sync API also works client-side, but only there:
```javascript
const doc = Posts.findOne(id); // client-only
const list = Posts.find({ ownerId }).fetch(); // client-only
```
Pick sync when the calling scope is naturally sync and forcing `await`
would cascade async into a render path. Common cases:
- React render functions and hooks that consume reactive data.
- Blaze template helpers.
- Tracker autoruns.
Pick async (`findOneAsync`, `fetchAsync`) when the file might also run on
the server, or the containing function is already `async`.
## Indexes
Indexes are server-side. Create them on app startup:
```javascript
import { Meteor } from "meteor/meteor";
import { Posts } from "/imports/api/posts";
Meteor.startup(async () => {
await Posts.createIndexAsync({ ownerId: 1, createdAt: -1 });
await Posts.createIndexAsync({ slug: 1 }, { unique: true });
});
```
Choose compound-index key order from equality filters, sort fields, range
filters, and usable index prefixes. The JavaScript property order in an
equality selector does not have to match the index. Verify the chosen plan in
the Mongo shell (`meteor mongo`) with
`db.posts.find(...).explain("executionStats")`.
## Reactivity source: oplog or change streams
The core driver boundary is release-specific:
| Meteor | Reactive behavior |
|---|---|
| 3.0 through 3.4 | Uses oplog when `MONGO_OPLOG_URL` is configured; otherwise polling. Core change streams and reactivity-order settings are unavailable. |
| 3.5+ | Chooses a driver per query in the default order below. |
Meteor 3.5+ defaults to:
```text
changeStreams -> oplog -> polling
```
Change streams require MongoDB 6+ on a replica set or sharded cluster, an
unordered observer, no `skip` or `limit`, and a selector Minimongo can compile.
An ineligible query falls through to the next configured driver. Oplog is
available only when `MONGO_OPLOG_URL` is configured.
On Meteor 3.5+, override the app-wide order with
`METEOR_REACTIVITY_ORDER=oplog,polling` or:
```json
{
"packages": {
"mongo": {
"reactivity": ["oplog", "polling"]
}
}
}
```
On Meteor 3.5+, the `disable-oplog` package removes only the oplog step. It
does not disable change streams. Use `reactivity: ["polling"]` to force
polling. On Meteor 3.0 through 3.4, do not add these settings; upgrade first.
For duplicate observer events or intermittent login disconnects under core
change streams, check the resolved `mongo` version before rewriting queries or
disabling reactivity. `mongo@2.5.1` (Meteor 3.5.2) fixes replay of events already
covered by a causal primary snapshot. Earlier 3.5 packages lack that fix;
upgrade and rerun the failing sequence. This does not change driver eligibility
or justify dropping arbitrary application events by timestamp. Capture observer
ordering if the problem persists; use `meteor-debugging` for an unknown cause.
## Collation (Meteor 3.5+)
Use `collation` for locale-aware or case-insensitive selectors and sorting on
both Mongo and Minimongo. Back the server query with an index created using
the same collation:
```javascript
const collation = { locale: "en", strength: 2 };
const users = await Users.find(
{ email: "Alice@Example.COM" },
{ collation },
).fetchAsync();
await Users.createIndexAsync({ email: 1 }, { collation });
```
Minimongo supports `locale`, strength 1 through 3, `caseLevel`,
`numericOrdering`, and `caseFirst`. Other Mongo collation options are
server-only and are ignored by Minimongo.
## Anti-patterns
- Use sync Mongo on the server. Removed in Meteor 3.
- Use sync Mongo (`findOne`, `insert`, `update`, `remove`) in shared code.
Breaks the moment the file is imported on the server.
- Unbounded `find` on the server. Always `limit`.
- Forget `fields` projection when publishing. Always project.
- Assume the async Minimongo API resumes inline. It returns a Promise even
though the underlying read is local.
## See also
- `references/server-vs-client.md`
- `references/selectors-modifiers.md`
- `references/eval-cases.md`
@@ -0,0 +1,102 @@
# Evaluation cases for `meteor-mongo-minimongo`
## Case 1: server-side find rewrite
Prompt: "This used to work in Meteor 2 on the server:
```
const post = Posts.findOne({ slug });
```
Now it returns undefined. Fix it."
Pass if the agent rewrites to `await Posts.findOneAsync({ slug })` and marks
the caller async.
## Case 2: missing index
Prompt: "My `Posts.find({ ownerId, archived: false }, { sort: { createdAt:
-1 } })` query is slow. Suggest an index."
Pass if the agent suggests `{ ownerId: 1, archived: 1, createdAt: -1 }` (or
calls out that `archived` could be omitted if filtering is rare).
## Case 3: Minimongo on client
Prompt: "My component is client-only. Which Mongo API should I use:
`Posts.findOne(id)` or `await Posts.findOneAsync(id)`?"
Pass if the agent says both work on the client and picks based on the
calling scope:
- Async (`findOneAsync`) when the file might ever be imported in
shared/server code, or the containing function is already async.
- Sync (`findOne`) when the scope is naturally sync (React render, Blaze
helper, Tracker computation) and forcing `await` would cascade an async
migration through the component tree for no real gain.
The sync API exists for exactly that case; using it deliberately is not a
mistake. Fail if the agent claims that an async Minimongo Promise resolves
inline or synchronously; only the underlying data access is local.
## Case 4: leaking columns
Prompt: "My subscription includes the `passwordHash` field. I never wanted
that to reach the client. What did I do wrong?"
Pass if the agent identifies missing `fields` projection in the publication
and proposes a `fields: { title: 1, ... }` allow-list.
## Case 5: Meteor 3.5 reactivity driver
Prompt: "After upgrading to Meteor 3.5, is oplog still the default for every
reactive Mongo query? How can I force the old order?"
Pass if the agent gives the default `changeStreams`, `oplog`, `polling` order,
lists the main change-stream eligibility requirements, and uses either
`METEOR_REACTIVITY_ORDER=oplog,polling` or the equivalent
`packages.mongo.reactivity` setting. It must not claim that `disable-oplog`
also disables change streams.
## Case 6: case-insensitive email lookup
Prompt: "On Meteor 3.5, query email addresses case-insensitively on both the
client and server without lowercasing stored values."
Pass if the agent uses `{ collation: { locale: "en", strength: 2 } }` on the
query and creates the server index with the same collation. It should mention
that only a subset of Mongo collation options is supported by Minimongo.
## Case 7: change streams requested before Meteor 3.5
Prompt: "My app is fixed on Meteor 3.4.1 and uses Atlas. Configure core
`changeStreams,oplog,polling` reactivity with `METEOR_REACTIVITY_ORDER`."
Pass if the agent says core change streams and reactivity-order configuration
begin in Meteor 3.5, explains that 3.4.1 uses oplog only with
`MONGO_OPLOG_URL` and otherwise polling, and requires an upgrade before using
the requested core driver. Fail if it assumes Atlas implies core change-stream
support on every Meteor 3 release.
## Case 8: selector property order and compound index
Prompt: "My index is `{ ownerId: 1, archived: 1, createdAt: -1 }`, but the
query object is `{ archived: false, ownerId }`. Must I reorder its JavaScript
properties before Mongo can use the index?"
Pass if the agent says equality selector property order need not mirror the
compound index, checks index prefixes and equality-sort-range behavior, and
uses `explain('executionStats')` to verify the plan. Fail if it treats object
property order as an index-eligibility rule.
## Case 9: change-stream replay during login
Prompt: "On Meteor 3.5.1, observer traces show an event already represented by
the initial primary snapshot replaying and triggering intermittent login
disconnects. Should I drop old events in application code or force polling?"
Pass if the agent checks the `mongo@2.5.1` fix shipped with 3.5.2, proposes a
compatible upgrade and reruns the reproduction before a permanent workaround.
It preserves driver eligibility/fallback rules and does not claim every
disconnect has this cause. Fail if it drops arbitrary events by timestamp or
disables change streams without evaluating the release fix.
@@ -0,0 +1,43 @@
# Selectors, modifiers, sort and field specifiers
## Selectors
```javascript
{ ownerId: userId } // equality
{ qty: { $gt: 0 } } // operators
{ tags: { $in: ["a", "b"] } }
{ $or: [{ qty: 0 }, { archived: true }] }
{ "address.city": "Berlin" } // dotted path
```
## Modifiers
```javascript
{ $set: { title } }
{ $inc: { qty: 1 } }
{ $push: { tags: "new" } }
{ $addToSet: { tags: "new" } }
{ $pull: { tags: "old" } }
{ $unset: { archived: 1 } }
```
## Sort specifiers
```javascript
{ sort: { createdAt: -1 } }
{ sort: [["score", "desc"], ["createdAt", "asc"]] }
```
## Field specifiers
Always project. Returning a whole document leaks columns.
```javascript
{ fields: { title: 1, qty: 1 } } // include only these
{ fields: { secretToken: 0 } } // exclude this; everything else included
```
Mixing `1`s and `0`s in one specifier is invalid except for `_id`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/collections.md#selectors
@@ -0,0 +1,22 @@
# Server Mongo vs client Minimongo
| Aspect | Server (Mongo, async) | Client (Minimongo, sync) |
|--------------------|-----------------------------------|---------------------------------|
| Read one | `await c.findOneAsync(id)` | `c.findOne(id)` |
| Read many | `await c.find(q).fetchAsync()` | `c.find(q).fetch()` |
| Count | `await c.find(q).countAsync()` | `c.find(q).count()` |
| Insert | `await c.insertAsync(d)` | `c.insert(d)` (inside stub only)|
| Update | `await c.updateAsync(q, m)` | `c.update(q, m)` (stub only) |
| Remove | `await c.removeAsync(q)` | `c.remove(q)` (stub only) |
| Index | `await c.createIndexAsync(...)` | not applicable |
Isomorphic code runs on both sides. Use the async API throughout; on the
client the lookup is local but remains Promise-based, so code after `await`
resumes in a later microtask.
To explain a query, use the Mongo shell (`meteor mongo`) and run
`db.<collection>.find(...).explain("executionStats")`. Meteor does not
expose a `Cursor#explain` on the collection API.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/collections.md
+87
View File
@@ -0,0 +1,87 @@
---
name: meteor-native
description: >
Use when building or maintaining Meteor 3 Android/iOS apps through Cordova.
Triggers on meteor add-platform, android-device, ios-device, mobile-config.js,
Cordova plugins, native signing or store artifacts, and mobile hot code push
compatibility. Use this skill when the task already concerns Meteor's
Cordova app workflow; use meteor-debugging for an unexplained cross-layer
failure and meteor-deployment for the backend. React Native/Expo, Capacitor,
and native Node.js addons are separate workflows.
metadata:
author: meteor
kind: workflow
meteor: ">=3.0"
area: build
tagline: "Build and maintain Meteor 3 Cordova apps for Android and iOS, including plugins, native artifacts, and hot code push."
docs_synced_at: "2026-09-08"
license: MIT
---
# Meteor native apps
Turn the existing Meteor application into a reproducible Cordova build and
verify the requested device or distribution behavior. Meteor manages the web
bundle, Cordova project and platform versions; Android Studio and Xcode provide
native debugging, signing and distribution tools.
## Choose the workflow
1. Read `.meteor/release`, `.meteor/platforms`, `.meteor/cordova-plugins`,
`.meteor/versions`, `package.json`, and `mobile-config.js` when present.
Record host OS, target device/platform, installed native binary version,
and whether the task needs a development run, web update, or new binary.
2. Match prerequisites to the selected Meteor release and resolved Cordova
platform. Meteor 3.5.2 uses `cordova-lib@13.0.0`,
`cordova-android@15.1.0`, and `cordova-ios@7.1.1`; earlier releases have
different pins. Do not select the newest standalone Cordova platform
merely because it is available.
3. Choose the relevant reference below. Keep durable changes in the app's
platform/plugin declarations, configuration and assets; inspect generated
native output to verify what Meteor actually produced.
4. Rebuild/reinstall when native plugins, platform versions, permissions or
native configuration change. HCP can update compatible web code/assets;
it cannot supply missing native code or change installed binary metadata.
5. Verify on the target emulator/device or inspect the requested artifact.
Record command, versions, endpoint and observable result. A successful web
build alone does not validate a native app or a signed store artifact.
| Task | Read |
|---|---|
| Set up Android/iOS, add/remove platforms, run a device, choose WebView compatibility | [Toolchain and development](references/toolchain-and-development.md) |
| Change app metadata/assets, native preferences, access rules, plugins, permissions or build overrides | [Configuration and plugins](references/configuration-and-plugins.md) |
| Build Android artifacts or an iOS project, configure signing and prepare distribution | [Build and distribution](references/build-and-distribution.md) |
| Repair mobile update delivery, compatibility rejection, download or reload behavior | [Hot code push](references/hot-code-push.md) |
## Persistent state and runtime boundaries
- `.meteor/local/cordova-build/` is generated by default. If
`METEOR_LOCAL_DIR` is set, resolve the actual local directory before opening
or clearing its `cordova-build` child. Do not erase the whole local state
or local Mongo database to repair a Cordova cache.
- `mobile-config.js` is a build-time configuration file, not an application
module. `App.configurePlugin` supplies installation variables; it neither
installs a plugin nor runs its JavaScript API.
- Call native plugin APIs from client code guarded by `Meteor.isCordova`,
inside `Meteor.startup` or after equivalent device readiness. Meteor's
Cordova startup waits for `deviceready`; browser/server code must retain a
suitable fallback. Startup does not grant OS permissions automatically.
- A physical device's `localhost` is the device. Match `--mobile-server`
during development and `meteor build --server` for distribution to a
reachable endpoint. The embedded WebView's local content server is separate
from the Meteor backend and DDP connection.
## Neighboring workflows
| Request | Owner |
|---|---|
| Unknown crash, stuck data, or failure not yet isolated to native behavior | `meteor-debugging`, then return with the confirmed native boundary |
| Host the backend, configure Galaxy/Docker, deploy server changes, preserve the HCP client bundle | `meteor-deployment` |
| Rspack/SWC/module graph or a native npm addon such as `sharp` | `meteor-modern-build-stack` or `migrate-to-rspack` |
| OAuth provider/login behavior | `meteor-accounts`; use this skill for required Cordova plugin or native configuration |
| Explicit React Native/Expo or Capacitor app | Keep the chosen stack; this skill does not implement those integrations |
## Acceptance
Use [evaluation cases](references/eval-cases.md) to check native decisions,
earlier-release behavior, and neighboring-skill routing.
@@ -0,0 +1,88 @@
# Build and distribution
## Choose the native output and backend
Confirm the added platforms, host OS, app identity/version, installed native
platforms/plugins, production endpoint and intended distribution channel.
Use an output directory outside the app source and inspect existing contents
before choosing a location that the build may replace.
```bash
meteor build ../build-output --server=https://app.example.com
```
Native builds require an explicit `--server` when building an added native
platform. Do not rely on the CLI documentation's localhost default. Match the
URL to the deployed backend's public `ROOT_URL` and account for any explicitly
separate DDP URL. A build-time `DDP_DEFAULT_CONNECTION_URL` overrides the
native DDP endpoint; changing a server environment value later does not by
itself prove that installed clients received a new embedded configuration.
Use `--mobile-settings path/to/mobile-settings.json` when the native build
needs settings. Its `public` values initialize the mobile client; configuration
code can also read build-time `App.settings`. Inspect values intentionally
copied into native configuration and keep server-only credentials out of
plugin variables or assets.
| Command choice | Outcome |
|---|---|
| Default `meteor build ... --server=...` | Build the added native platforms supported by the host, plus the server/web output |
| `--platforms=android` or `--platforms=ios` | Select an already-added native platform; does not install it or provide a missing host toolchain |
| `--packageType=bundle` | Android AAB output; the current default |
| `--packageType=apk` | Android APK output |
| `--server-only` | Skip native app artifacts; retain configured client targets for HCP, including `web.cordova` when applicable |
| `--architecture=...` | Select server bundle architecture; does not enable iOS builds on Linux or choose a phone CPU |
On a release where an option's meaning is uncertain, verify `meteor help
build` for that app's Meteor tool. Preserve the `web.cordova` target on the
backend serving installed clients; a platform-filtered browser build can
accidentally remove the HCP bundle. Use `meteor-deployment` for hosting and
backend rollout.
## Android signing and installation
For the example output path, open `../build-output/android/project/` in
Android Studio. Inspect the generated AAB/APK and build log rather than
assuming that the presence of a project directory proves a successful build
or signing step.
Use the app's existing signing identity and Android Studio's signed bundle/APK
workflow, or its established equivalent in CI. Check application ID, version
code/name, package type, signing certificate and intended backend. Keep
keystores/passwords out of tracked source and logs. A debug APK is not a
release artifact, and an AAB is not directly installed with `adb install`.
Test the appropriate APK or the distribution channel's installed build on the
target device. Reusing the existing app identity/signing setup matters for
updates to already installed applications.
## iOS archive and distribution
On macOS, open `../build-output/ios/project/` in Xcode, using its generated
`.xcworkspace` when present. Meteor produces the Xcode project; it does not
prove a signed IPA exists. Configure the existing bundle identifier, team,
signing/provisioning and build/version values, choose the intended archive
destination, then archive and export/distribute through Xcode or the project's
established CI process.
Verify the resulting archive/export and device installation. A Linux build
can skip iOS with a warning while other outputs succeed; report that as
missing iOS validation, not a completed mobile release.
## Release verification
Check cold launch, target-device plugin/permission behavior, backend/DDP
connection, and a compatible web update for each intended platform. Native
configuration and plugin changes need a newly built and distributed binary;
keep older installed clients compatible with the backend during rollout.
Record the artifact actually produced, whether it is signed and installed,
and any unexecuted steps. Verify current Apple/Google submission requirements
at upload time. Building, signing and uploading are distinct actions; prepare
only the distribution steps requested by the user, using existing credentials
and release processes where available.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/cordova.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/environment-variables.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/app.md
@@ -0,0 +1,174 @@
# Configuration and plugins
## Keep configuration in application sources
`mobile-config.js` belongs at the Meteor app root and executes during the
native build. It is not imported by application startup. Preserve the app's
existing identity and platform-specific configuration when changing one field.
```js
// mobile-config.js
App.info({
id: 'com.example.myapp',
name: 'My App',
version: '1.0.0'
});
App.setPreference('Orientation', 'portrait', 'android');
```
For `BackgroundColor`, use a supported `#` hex value, for example
`App.setPreference('BackgroundColor', '#ffffffff')` for opaque white. Old
examples using `0x...` caused Android build failures during Meteor 3 migrations.
Check the failing resource/preference before treating nearby Gradle deprecation
warnings as the cause. Preserve the intended color and the target platform's
channel ordering. See the [confirmed 3.3.2 repair](https://forums.meteor.com/t/solved-migration-from-2-16-to-3-3-2-break-cordova-android-build/64274/2)
and the current [configuration example](https://docs.meteor.com/api/app).
| Need | App-level source | Check after generation |
|---|---|---|
| ID, display name, version | `App.info` | Native application ID and displayed/build versions; preserve published IDs |
| Platform preference | `App.setPreference(name, value, platform)` | Correct platform section; supported preference for the pinned platform/plugin |
| Icons and splash images | `App.icons`, `App.launchScreens` with project-relative assets | Accepted keys, existing source images, generated resources on target devices |
| Plugin installation variables | `App.configurePlugin(id, variables)` | Exact installed plugin ID and generated native configuration |
| Extra XML / platform resources | `App.appendToConfig`, `App.addResourceFile(src, target, platform)` | Correct generated XML/resource target, without replacing unrelated configuration |
| Native files outside those APIs | App-root `cordova-build-override/`, mirroring the generated Cordova project tree | Narrow override remains compatible with the selected native platform |
Meteor copies build overrides into the generated Cordova project. Prefer the
configuration APIs for values they own; a whole generated `config.xml`, Gradle
file, or project copy can mask future Meteor/platform changes. Rebuild and
inspect output after changing native configuration. Do not treat edits under
`.meteor/local/cordova-build` as the permanent source.
`App.settings` reads the build's settings file, while native client runtime
settings use its `public` subtree. A private settings value becomes exposed
if the build copies it into plugin variables, XML or client assets. Use
client-appropriate identifiers in native config and keep server credentials
on the server; do not log full settings while checking values.
## Network access, navigation, and OS policy
Choose the rule for the requested operation:
```js
// mobile-config.js
App.accessRule('https://api.example.com');
App.accessRule('https://docs.example.com', { type: 'navigation' });
App.accessRule('myapp:*', { type: 'intent' });
```
The default rule type is network access; navigation allows the WebView to move
to a URL; intent permits asking the OS to open it. An intent rule does not
register an inbound deep-link handler. Native allow rules do not configure the
remote server's CORS policy, disable CSP, grant runtime device permissions, or
repair invalid TLS certificates. Inspect the failing layer before widening
access, and keep rules scoped to the required destinations.
For local Android HTTP development, first verify the `--mobile-server` URL.
If logs show cleartext rejection, enable the development endpoint through a
development-specific network-security configuration or the documented
`App.appendToConfig` manifest edit below:
```js
App.appendToConfig(`<edit-config file="app/src/main/AndroidManifest.xml"
mode="merge" target="/manifest/application"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:usesCleartextTraffic="true" />
</edit-config>`);
```
That example is an application-wide cleartext allowance, not a per-domain
rule. Use it only in the local development build configuration; verify the
release output excludes it and uses the intended HTTPS service. Do not add
wildcard access or a production TLS bypass as an HCP fix.
## Install, configure, and call plugins
Use Meteor's plugin declarations. Replace the identifiers/versions below with
the selected plugin's verified npm ID and compatible exact version:
```text
meteor add cordova:PLUGIN_ID@EXACT_VERSION
meteor remove cordova:PLUGIN_ID
```
Review `.meteor/cordova-plugins` and the generated installed plugin list.
Atmosphere packages can also declare Cordova dependencies; inspect those
requirements if a removed plugin returns or a version is resolved differently.
`meteor npm install` alone does not register a Cordova plugin, and
`App.configurePlugin` only supplies its build-time variables. Consult the
selected plugin's own docs for variables, supported platform versions,
permission declarations, and runtime permission requests.
On Meteor 3.0.x, a plugin's `<dependency>` can trigger lost generated
dependencies and `Cannot find module 'cordova-android'`. The complete tool fix
ships in Meteor 3.1; 3.0.4's initial fix was incomplete. If the app must remain
on an affected release, identify the actual transitive plugin in `plugin.xml`
and declare its compatible exact version through `meteor add cordova:...`.
For the reported `cordova-plugin-screen-orientation@3.0.4` case, that dependency
was `es6-promise-plugin@4.2.2`. Do not add it to unrelated apps or permanently
edit generated `package.json`. On fixed releases, diagnose the installed
dependency graph before applying this historical workaround.
[Resolution and workaround](https://github.com/meteor/meteor/issues/13303),
[complete fix](https://github.com/meteor/meteor/pull/13416).
Native APIs belong in client code after device readiness:
```js
import { Meteor } from 'meteor/meteor';
Meteor.startup(() => {
if (!Meteor.isCordova) return;
// Use the installed plugin's documented API and permission flow here.
});
```
Do not infer readiness from a timer or make browser/server startup depend on
a Cordova global. Meteor's startup guard waits for `deviceready`, not for every
plugin-specific asynchronous operation or permission grant.
If changed plugin variables are not reflected, inspect the generated config
and installed plugin first. Stop the affected build process, preserve native
logs and any untracked IDE work, then remove only the actual generated
`cordova-build` directory if stale native state is confirmed. Re-run the
Meteor build/run command. Never substitute `meteor reset --db` or deletion of
all `.meteor/local` for this recovery.
## Local plugin development
Meteor supports `cordova:PLUGIN_ID@file://...` specifications. Quote the entire
argument when paths contain shell-significant characters. Meteor 3.5.2 fixes
resolution of encoded absolute file URLs and preserves existing raw paths
with reserved characters; verify the intended directory, `plugin.xml` ID and
generated plugin source before rebuilding. Use a real file-URL encoder for an
absolute path, not repeated manual decoding.
Earlier releases can mishandle those paths. If the app must stay pinned, use
a straightforward local path without reserved characters or an independently
verified compatible fix. Local source edits require another `meteor run` or
`meteor build` and a native reinstall as appropriate. Local filesystem paths
also need to resolve in every developer/CI environment; they are not portable
published plugin versions.
## Native launch and status UI
`meteor add mobile-experience` pulls in `mobile-status-bar` and `launch-screen`
defaults. It has no JavaScript API of its own. Configure appearance with the
documented App preferences/assets for the installed plugin/platform; check
actual device behavior when Android system-bar or splash rules change.
To hold the splash for app readiness, use `LaunchScreen.hold()` in native
client code before the normal release point, then call that handle's
`release()` once the intended UI is ready. Release every acquired handle,
including a deliberate error/fallback path; do not wait forever for an
unavailable network resource. Guard native use with `Meteor.isCordova` rather
than promising a browser implementation. A rendered web page is not evidence
that the native launch screen was released.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/app.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/application-structure/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/autoupdate.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/troubleshooting/hot-code-push.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/mobile-experience.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/launch-screen.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/mobile-status-bar.md
@@ -0,0 +1,307 @@
# Evaluation cases for `meteor-native`
Run each prompt in a fresh conversation or disposable project. Keep these
criteria hidden until the run finishes; record observable outcomes separately.
## Case 1: Android setup
Prompt: "Add Android development to our Meteor 3.5.2 app on Linux. We have JDK 17
and SDK 35 installed, but no Android platform in .meteor/platforms yet."
Pass if the agent checks the app release and adds Android through Meteor, installs
SDK Platform 36 and Build Tools 36.0.0 for the 3.5.2 baseline, verifies host paths
and prerequisites, and proposes an emulator/device check. Fail if SDK 35 is
treated as sufficient or a web build is claimed to validate Android.
## Case 2: earlier toolchain boundary
Prompt: "Our Meteor 3.5.1 Android branch must stay pinned. Can we copy all 3.5.2
native prerequisites and run cordova platform add android@latest?"
Pass if the agent preserves Meteor 3.5.1, inspects its platform pins and
requirements, and uses Meteor platform commands. Fail if it forces 3.5.2
prerequisites or installs the newest standalone Cordova platform.
## Case 3: physical device endpoint
Prompt: "Our Meteor 3.5.2 Android app works in the emulator. On my USB phone, it
starts but cannot connect. The native build uses http://localhost:3000;
DDP_DEFAULT_CONNECTION_URL was also set during the last build."
Pass if the agent distinguishes device localhost from the host, chooses a
reachable LAN endpoint, inspects the embedded DDP override, and verifies the
regenerated native configuration. Fail if it uses the standard emulator address as
a universal physical-device fix.
## Case 4: iOS build host
Prompt: "Our Meteor app has Android and iOS platforms. Linux CI reports build
success but produced no IPA. Can --architecture=os.osx.arm64 create it here?"
Pass if the agent explains that iOS archives require macOS and Xcode and
distinguishes server architecture from the native build host. Fail if it claims
Linux success proves an IPA exists or that --architecture supplies Xcode.
## Case 5: persistent native configuration
Prompt: "Update our existing Meteor Cordova app's display name, splash and Android
orientation. Keep its published app ID. My edits to generated config.xml disappear
whenever Meteor rebuilds."
Pass if the agent edits app-root mobile-config.js and source assets, preserves the
published ID, and verifies the regenerated native output. Fail if it makes durable
changes only in generated config.xml.
## Case 6: plugin installation and readiness
Prompt: "I added App.configurePlugin for our chosen camera plugin and called its
API at module top level. It is undefined on the phone and breaks web and server
startup. This code is shared by all clients."
Pass if the agent distinguishes plugin declaration, build-time variables, client
runtime and permission flow. It uses Meteor.isCordova with Meteor.startup or
equivalent readiness and retains browser/server behavior. Fail if configuration
alone installs a plugin or a timer replaces readiness.
## Case 7: narrow generated-state repair
Prompt: "We changed a Cordova plugin's install variables, but the generated config
still has the old values. METEOR_LOCAL_DIR=.meteor/native-local and our local
Mongo data matters. Should we delete .meteor/local and try again?"
Pass if the agent resolves .meteor/native-local/cordova-build, first verifies
stale plugin state, and preserves logs and IDE changes before narrowly
regenerating it. Fail if it deletes all local state, uses meteor reset --db, or
targets the default directory despite METEOR_LOCAL_DIR.
## Case 8: local plugin paths
Prompt: "A local Cordova plugin lives in a directory containing spaces, # and %.
We have an encoded file URL and a raw legacy path. How should we add it on Meteor
3.5.2, and what about our pinned 3.5.1 maintenance branch?"
Pass if the agent verifies plugin identity and path encoding, explains the 3.5.2
fix, and keeps the pinned earlier branch on a simple compatible path or verified
fix. Fail if it repeatedly decodes a raw path, passes an unquoted shell-sensitive
path, or promises local source changes ship without rebuilding.
## Case 9: network policy layers
Prompt: "Our Cordova client needs an HTTPS API, an embedded docs page and an
external custom-scheme link. Local Android HCP also logs cleartext denied. Should
we use App.accessRule('*') and disable certificate checks everywhere?"
Pass if the agent distinguishes access, navigation and intent rules from CORS,
CSP, runtime permissions and TLS. Any broad Android cleartext allowance is limited
to development and verified absent from release output. Fail if it uses wildcard
rules or disables certificate checks as a production repair.
## Case 10: HCP native incompatibility
Prompt: "The server deploy adds a native plugin that installed clients don't have.
Devices say the Cordova platform/plugin versions are incompatible. Can we force
AUTOUPDATE_VERSION so everyone gets the new feature immediately?"
Pass if the agent requires a new binary for the missing native plugin, preserves
backend compatibility during rollout, and rejects a blind version override. Fail
if AUTOUPDATE_VERSION is presented as delivering missing native code.
## Case 11: HCP switch and CSS behavior
Prompt: "Our Meteor Cordova app receives a new HCP version and downloads it, but
our custom window.location.reload() still loads old code. CSS-only deploys reload
too. How do we diagnose this?"
Pass if the agent checks pending-bundle selection before custom reload, describes
Cordova CSS updates as full client reloads, and treats custom
WebAppLocalServer/Reload hooks as version-sensitive. Fail if a plain
window.location.reload is assumed to activate a pending bundle or browser CSS HMR
is promised on native production.
## Case 12: native release artifacts
Prompt: "Prepare release builds for our Meteor 3.5.2 Android/iOS app on a Mac,
using https://app.example.com. We need an Android AAB and an iOS archive for
review, with the existing signing identities. Do not upload yet."
Pass if the agent selects the requested endpoint, inspects the Android AAB and
Xcode archive with existing app/signing identities, and distinguishes generated
projects, signing, device installation and upload. Fail if it claims artifacts or
signing were executed without evidence, installs an AAB with adb install, or
uploads without authorization.
## Case 13: settings exposure
Prompt: "Can mobile-config.js read a value from our mobile settings file to
configure a plugin? The same file has a server API secret and public app settings;
I want to put the server secret into App.configurePlugin."
Pass if the agent distinguishes build-time App.settings from public client
settings and keeps the server secret out of plugin variables, XML and assets. Fail
if a private key is considered secret after embedding in the native app.
## Case 14: modern output and OS compatibility
Prompt: "Did Cordova's default bundle become modern in Meteor 3.3.2 or 3.4? We
also support a pinned 3.3.1 branch. Will meteor.modern.cordova=false let our 3.5.2
Android app run below cordova-android's minimum supported OS?"
Pass if the agent identifies the 3.3.2 capability/opt-out floor, retains the
earlier legacy branch, and notes that affected default configuration must be
verified rather than promising all 3.3.2+ tools emit modern output. It
distinguishes JavaScript compatibility from the native platform minimum OS. Fail
if a legacy bundle is claimed to restore unsupported device OS versions.
## Case 15: splash readiness
Prompt: "Our React-based Meteor Cordova app uses mobile-experience. We hold the
splash until data arrives, but it stays visible offline. Can I import a mobile-
experience API and just wait ten seconds?"
Pass if the agent treats mobile-experience as a package bundle and uses balanced
LaunchScreen.hold/release behavior, including an offline fallback. Fail if it
invents a mobile-experience API or hides missing readiness with a fixed delay.
## Case 16: platform removal
Prompt: "We are dropping iOS from this Meteor app but retaining Android and the
web app. How do we stop Meteor generating the iOS project without losing our
shared plugins or application data?"
Pass if the agent removes only iOS with meteor remove-platform ios and reviews
platform declarations. Fail if it removes shared plugins, Android, the web app or
local data without a separate reason.
## Case 17: neighboring stack exclusions
Prompt: "Two separate tasks: our Expo React Native app consumes a Meteor backend,
and sharp fails in the Meteor server's Docker build. Should either task start by
adding Meteor's Cordova Android platform?"
Pass if the agent preserves the Expo stack and routes the server addon/container
failure to build or deployment guidance. Fail if it adds Cordova to either
project.
## Case 18: stale HCP manifest
Prompt: "Our Meteor 3.2.2 iOS app updates locally but stays on the old client
behind NGINX in production. Android updates. DDP announces the new version, but
the public /__cordova/manifest.json GET has an old version and a cache hit; the
origin GET has the new version. Plugins are unchanged. Fix the update path."
Pass if the agent diagnoses manifest caching, bypasses caching and purges stale
content only for the affected manifest route through the deployment workflow,
preserves hashed-asset caching, and verifies the next version reaches iOS. Fail if
it changes compatibility hashes, TLS policy or native plugins, or disables caching
for every asset.
## Case 19: fresh manifest with plugin mismatch
Prompt: "Our Meteor 3.5.2 iOS client downloads a fresh /__cordova/manifest.json,
whose version matches the origin. Logs reject the update because it adds a plugin
missing from installed clients. Should we apply the NGINX no-cache workaround?"
Pass if the agent rules out stale-manifest caching from the evidence and selects
compatible binary rollout. Fail if it repeats the caching workaround or forces HCP
past the native mismatch.
## Case 20: background color migration
Prompt: "Our Meteor 3.3.2 Android build fails while processing resources. mobile-
config.js has App.setPreference('BackgroundColor', '0xff0000ff'). There is also a
Gradle property-syntax deprecation warning. Should we change Gradle versions?"
Pass if the agent checks the invalid preference as the concrete cause, uses a
supported # hex value while preserving the intended color, and verifies generated
resources/build output. Fail if it blindly changes Gradle or copies an ambiguous
color-name assertion from a forum.
## Case 21: transitive plugin on pinned 3.0.4
Prompt: "Our Meteor 3.0.4 branch must stay pinned this week. Android meteor build
started failing with Cannot find module cordova-android after adding cordova-
plugin-screen-orientation@3.0.4. Its plugin.xml declares es6-promise-plugin@4.2.2,
but the generated dependencies disappear. What durable workaround fits?"
Pass if the agent recognizes the incomplete 3.0.4 fix, keeps the release
constraint, and explicitly declares only the verified transitive plugin through
Meteor. It names 3.1 as the complete tool fix and verifies the next build. Fail if
it edits generated package.json permanently, installs an unrelated global Cordova,
or claims 3.0.4 already fixed it.
## Case 22: plugin failure after the tool fix
Prompt: "A Meteor 3.5.2 Android build cannot find a custom plugin module. The
generated Cordova dependencies are present and that plugin has no es6-promise-
plugin dependency. Should we add es6-promise-plugin@4.2.2 because a closed Meteor
issue says it fixes missing modules?"
Pass if the agent rejects the historical workaround for this evidence and examines
the actual plugin declaration, compatibility and generated source. Fail if it adds
the old dependency or treats every missing-module error as issue 13303.
## Case 23: misleading core-js error
Prompt: "Our Meteor 3.0.4 Cordova app starts in the browser but shows a white
screen after adding accounts-base on Android and iOS. The first exception comes
from url/legacy.js and says core-js is missing. Installing core-js in the app did
not help. .meteor/versions has url@1.3.4. How do we repair it?"
Pass if the agent identifies the URLSearchParams integration fix in url@1.3.5
shipped with Meteor 3.1, checks compatible package/release selection and
overrides, and verifies accounts startup. Fail if it removes accounts, repeatedly
installs app-level core-js, or diagnoses every white screen identically.
## Case 24: runtime iterators versus modern output
Prompt: "Our Meteor 3.4 Vue Cordova app emits modern JavaScript, but Vue Router
and another library fail with Map.entries is not a function or its return value is
not iterable. .meteor/versions has ecmascript-runtime-client@0.12.3. The same
WebView works when browsing the server URL. Should we downgrade Vue or set
modern.cordova=true?"
Pass if the agent distinguishes runtime constructor replacement from
transpilation, inspects the loaded polyfills, and selects the compatible
ecmascript-runtime-client@0.13.0 fix shipped in 3.4.1. Fail if it considers modern
output alone sufficient or blindly downgrades Vue.
## Case 25: runtime fix with a release constraint
Prompt: "Our Meteor 3.2.2 maintenance branch must stay pinned. A Cordova-only
Map.entries failure matches the ecmascript-runtime-client fix, and someone
suggests editing ~/.meteor/packages or copying the whole devel packages folder.
What is the smallest supportable approach?"
Pass if the agent preserves the release constraint, verifies whether the fixed
runtime package can be used compatibly, or scopes a verified app-local backport of
the relevant fix. It tests the supported native and browser clients. Fail if it
forces a release upgrade, edits the global cache or imports unrelated packages.
## Case 26: native Rspack proxy failure
Prompt: "Meteor 3.4 with Atmosphere rspack@1.0.0 works in normal web development.
meteor run android-device produces SockJS Invalid frame header errors in both
Android and a desktop browser attached to that run. The same deployment proxy
works in normal mode. What should we check and change?"
Pass if the agent matches the native run-mode proxy defect, identifies the fixed
Atmosphere rspack@1.1.0 integration shipped in 3.4.1, and verifies compatible
package/release selection plus both clients. Fail if it only changes production
proxy settings, treats Map errors as the same cause, or promises native Rspack
HMR.
## Case 27: absent modern config on older tools
Prompt: "Our Meteor 3.5 Cordova app has no meteor.modern field and METEOR_MODERN
is unset. The generated web.cordova bundle is still legacy. We want modern Cordova
output without changing other build options; another branch intentionally uses
modern.cordova=false. A thread says 3.5 fixed the default."
Pass if the agent distinguishes the 3.3.2 capability from the defaulting defect
fixed in 3.5.1, verifies actual output, and suggests a narrow explicit cordova
setting on the pinned tool or a fixed release. It preserves other options and the
intentional legacy branch, accounting for object-form configuration inheriting
enabled defaults. Fail if it treats the reporter statement as proof for 3.5, sets
every modern feature true, removes the legacy opt-out, or requires a new binary
solely for changing JavaScript output with unchanged native compatibility and
supported WebViews.
@@ -0,0 +1,73 @@
# Native hot code push
## Decide whether the update can use HCP
HCP replaces compatible web code/assets in the installed Cordova shell. It
does not install new native plugins, upgrade Cordova platforms, or alter
native permissions, app identity, icons or signing. A Meteor upgrade can
change the native compatibility contract; do not assume every installed
binary can accept its client bundle.
Compare generated native changes, not merely edited filenames or the Meteor
release label. The compatibility hash covers platform/plugin versions; it does
not capture every native permission or configuration change. Those changes
still need a new binary even when the hash is unchanged.
When a change needs native code/configuration, rebuild and distribute a new
binary and preserve backend compatibility for old installations. Do not make
`AUTOUPDATE_VERSION` or another compatibility override the default way to
silence a platform/plugin mismatch. Such an override needs a verified native
and JavaScript API contract across the installed client population.
## Find the failed stage
Inspect `.meteor/versions` for HCP packages (`hot-code-push`, `autoupdate`,
`reload`) and the native webapp plugin; minimal/custom apps may omit them.
The default `meteor-base` setup supplies HCP. Compare an installed native
build with its intended server, not just with a successful browser reload.
| Stage | Evidence and next decision |
|---|---|
| Backend produced the update | Verify the deployed `web.cordova` bundle and changed version. A `--server-only` deployment can serve HCP; a build excluding that client target cannot. |
| Device reached the server | Check the embedded build URL, `--mobile-server` for local work, public `ROOT_URL`, and any DDP override. Distinguish network/TLS/cleartext failures from compatibility. |
| Client learned the version | Inspect DDP subscription/device logs and changed version hashes. A fixed `AUTOUPDATE_VERSION` must be changed when intentionally delivering another update. |
| Client fetched the current manifest | Compare the version in `/__cordova/manifest.json` through the public proxy/CDN and directly at the origin. Inspect GET response headers and cache hits. If the public manifest is stale, bypass caching for this endpoint and purge its stale copy; keep versioned asset caching separate. |
| Native shell accepted it | Read compatibility rejection logs. A platform/plugin mismatch calls for the native-version comparison and binary rollout above. |
| Assets downloaded | Check the failing URL, response, connectivity and device storage. Large `public/` files can block update downloads; relocate only confirmed problem assets as the app requires. |
| Pending version became active | Verify download completion, pending-version selection and reload. Custom reload code can reload the old bundle if it bypasses the native switch. |
| New client started | Capture the first startup failure or rollback on the device. A version notification or download alone does not prove successful startup. |
An iOS-only production failure can be a cached manifest even when development
and Android update correctly. A [Meteor 3.2.2 reporter confirmed this repair](https://forums.meteor.com/t/cordova-ios-hot-push-code/63707/6).
Meteor marks its manifest non-cacheable; a proxy must preserve that behavior.
Verify a subsequent deployment changes the public manifest version and reaches
the device. A fresh manifest with a real plugin mismatch still requires the
compatibility decision above. Use `meteor-deployment` for the proxy change.
Use selected version values and stage transitions for diagnostics. Never log
full runtime settings, session credentials or private payloads to inspect HCP.
Collect native logs through Android Studio/Xcode and WebView debugging when
needed; use `meteor-debugging` if the failure still spans unknown layers.
## Reload behavior
Cordova HCP reloads the whole client even for CSS-only changes. Browser CSS
refresh and development HMR are different paths; do not promise state-preserving
CSS HMR in a production native app merely because a browser supports it.
Prefer the built-in reload path. When an app already customizes reloads,
inspect that code against its resolved Meteor/reload/webapp-plugin versions:
the native pending bundle must be selected before a forced page reload. The
docs describe `WebAppLocalServer.switchToPendingVersion` and the retry callback
of `Reload._onMigrate`; these are version-sensitive integration hooks, not a
reason to add custom reloader code to every app. Preserve unsaved-state handling
and remove temporary instrumentation after reproducing the repair.
For local HTTP failures, see
[configuration and plugins](configuration-and-plugins.md). A development-only
network exception is not a production compatibility or TLS repair.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/troubleshooting/hot-code-push.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/autoupdate.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/cordova.md
@@ -0,0 +1,172 @@
# Toolchain and development
## Resolve versions before installation
Read the app release and existing platform declarations. Meteor pins Cordova
platforms independently of its Cordova library version. Use Meteor commands
at the app root; a global `cordova` executable is not the authority for the
Meteor-generated project.
Meteor 3.5.2 uses `cordova-lib@13.0.0`; verify Meteor's bundled Cordova tooling
alongside its platform pins when diagnosing a toolchain mismatch.
| Target | Meteor 3.5.2 baseline | Verification |
|---|---|---|
| Android | `cordova-android@15.1.0`, JDK 17, SDK Platform 36, Build Tools 36.0.0, Android command-line tools; Gradle available for project setup | `java -version`, `gradle --version`, SDK Manager, actual generated Gradle/platform output |
| iOS | `cordova-ios@7.1.1`; macOS with Xcode, command-line tools, accepted Xcode license and CocoaPods | `xcode-select -p`, `xcodebuild -version`, `pod --version`, selected simulator/device and signing team |
On earlier Meteor releases, inspect that release's native platform pins and
the corresponding Cordova requirements. For example, a branch pinned to
Meteor 3.5.1 does not acquire 3.5.2's SDK 36 requirement. Preserve a requested
release constraint. A platform upgrade may also raise minimum device OS
support; JavaScript transpilation cannot reverse that change.
For the 3.5.2 Android baseline, install missing SDK components with SDK Manager
or:
```bash
sdkmanager 'platforms;android-36' 'build-tools;36.0.0'
```
Resolve `JAVA_HOME` and `ANDROID_HOME` to the actual host installations;
`ANDROID_SDK_ROOT`, if set, must agree. Add the required command-line tools,
platform-tools and emulator directories to PATH. Do not copy a macOS SDK path
onto Linux or Windows. Keep the generated project's compatible Gradle wrapper
and Android Gradle Plugin pairing rather than accepting an unrelated IDE
upgrade suggestion.
For iOS, a Linux/Windows build cannot produce the Xcode archive or signed IPA.
Use the project's macOS workstation or runner. Native platform requirements
and current store submission requirements are separate; check Apple's current
requirements when preparing an upload.
## Platform lifecycle
```bash
meteor list-platforms
meteor add-platform android
meteor run android
```
Use `meteor add-platform ios` and `meteor run ios` on macOS. The run targets
`android` and `ios` select an emulator/simulator; `android-device` and
`ios-device` select a physical-device workflow. Ensure the device is visible
and authorized in Android Studio/ADB or Xcode before blaming app startup.
To stop targeting a native platform, use `meteor remove-platform android` or
`meteor remove-platform ios` and review `.meteor/platforms`. Do not remove the
shared application or plugins still needed by another platform. Meteor
regenerates its native project from app-level state; running standalone
`cordova platform add/remove` inside generated output is not a durable
replacement for these declarations.
## Device networking and native IDEs
For the standard Android emulator, `10.0.2.2` reaches the host machine:
```bash
meteor run android --mobile-server=http://10.0.2.2:3000
```
For a physical device, use the development machine's reachable LAN address
and port, for example:
```bash
meteor run android-device --mobile-server=http://192.168.1.4:3000
```
Replace that address with the real endpoint. Verify network reachability,
server bind address/firewall, device authorization, and the URL embedded by the
current native build. A custom `DDP_DEFAULT_CONNECTION_URL` can override the
DDP endpoint independently; inspect it when HTTP and subscriptions disagree.
Do not change `--cordova-server-port` expecting it to repair the backend URL.
For cleartext rejection, use the scoped guidance in
[configuration and plugins](configuration-and-plugins.md).
Open the generated project for device logs and native diagnostics:
| Platform | Default development path |
|---|---|
| Android Studio | `.meteor/local/cordova-build/platforms/android/` |
| Xcode | `.meteor/local/cordova-build/platforms/ios/`; prefer the generated `.xcworkspace` when present |
Resolve custom local state first. Preserve useful IDE evidence, then express
durable native changes in `mobile-config.js` or the app's build overrides.
## WebView JavaScript compatibility
Meteor 3.3.2 introduced modern Cordova output with a legacy opt-out. Earlier
Meteor 3 releases used the legacy default. On 3.3.2+, an app that still needs
legacy JavaScript can merge this setting into its existing `package.json`:
```json
{
"meteor": {
"modern": { "cordova": false }
}
}
```
Preserve the other options' effective values; modern objects enable omitted
options, as detailed below. Test the actual supported WebView and
plugins; this setting neither restores OS support dropped by a native platform
nor creates separate modern/legacy Cordova binaries. Web-only development
architecture exclusions are a separate build concern: verify `web.cordova`
is produced when developing native apps or serving HCP.
Check the effective bundle rather than inferring it from the release alone.
Affected 3.3.2 through 3.5 tools can normalize an absent modern setting to
legacy; Meteor 3.5.1 fixes that defaulting defect. Inspect `METEOR_MODERN` and
`meteor.modern` overrides first. On an affected pinned release, explicitly set
`meteor.modern.cordova` to `true` when the supported WebViews allow modern
output, preserving the other effective settings. Objects inherit enabled
defaults, so `{ "cordova": true }` also enables omitted modern options. For an
affected app with no modern setting and no environment override, preserve its
otherwise disabled options with:
```json
{
"meteor": {
"modern": {
"transpiler": false,
"minifier": false,
"webArchOnly": false,
"watcher": false,
"cordova": true
}
}
}
```
Merge this into the existing `meteor` object. If the app already configures
modern options, preserve their effective values instead of copying those
four `false` values. Preserve a deliberate Cordova legacy requirement.
[Fix and regression coverage](https://github.com/meteor/meteor/pull/14411).
Changing only JavaScript output does not itself require a new native binary.
Verify the installed WebViews support that output and the native compatibility
hash is unchanged before using HCP; a release upgrade can separately change
platform/plugin pins. See [hot code push](hot-code-push.md).
## Version-specific startup failures
Match the first exception and resolved package before selecting a repair.
Inspect `.meteor/versions` and app-local `packages/` overrides; npm dependencies
and the Meteor release label alone do not identify the loaded Atmosphere code.
| Confirmed signature | Fixed package / release | Decision |
|---|---|---|
| Early Meteor 3 Cordova startup fails after adding accounts, with a misleading missing `core-js` error from `url/legacy.js` | `url@1.3.5`, shipped in Meteor 3.1 | Check for a shadowing `packages/url` override before choosing a compatible fixed package/release, then verify account startup. Adding app-level `core-js` or removing accounts does not repair the URLSearchParams integration. [Fix](https://github.com/meteor/meteor/pull/13459) |
| `Map.keys`, `Map.entries` or iteration fails in a modern library only in the Cordova bundle | `ecmascript-runtime-client@0.13.0`, shipped in Meteor 3.4.1 | Check whether legacy polyfills replaced native Map/Set/Symbol. Modern transpilation alone is not this fix. Use the compatible fixed package/release; for a constrained branch, verify an app-local backport against its supported WebViews. Do not edit the global Meteor cache or downgrade unrelated UI libraries. [Meteor 3 confirmation](https://forums.meteor.com/t/solved-vue3-does-not-work-with-cordova/61109/10) |
| Meteor 3.4 Rspack `android-device`/iOS development produces SockJS `Invalid frame header` or proxy errors, including in a desktop browser attached to that native run | Atmosphere `rspack@1.1.0`, shipped in Meteor 3.4.1 | Use the fixed native integration that skips the desktop HMR bootstrap/proxy. Confirm the native run-mode reproduction and resolved package; healthy fixed versions or production proxy failures need separate diagnosis. [Fix](https://github.com/meteor/meteor/pull/14226) |
On earlier constrained releases, verify package compatibility before a
selective update or backport. Retest both the native client and any affected
browser clients. Do not force a framework upgrade contrary to the app's
release constraint or apply these repairs to an unexplained white screen.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/cordova.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/index.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/cli/environment-variables.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.3.2.md
+153
View File
@@ -0,0 +1,153 @@
---
name: meteor-pubsub
description: >
Use when authoring or debugging Meteor publications and subscriptions
(Meteor.publish, Meteor.subscribe). Triggers on publication strategies
(SERVER_MERGE, NO_MERGE, NO_MERGE_NO_HISTORY), the low-level publish API
(added/changed/removed), cursor authorization, reactive joins, leaked
documents. Use this skill when the user asks about pub/sub or asks about
reactive data fetching.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: data
tagline: "Author and debug publications/subscriptions (publish strategies, low-level `added/changed/removed`, authorization, reactive joins)."
bundle: ["essentials", "fullstack"]
docs_synced_at: "2026-08-25"
license: MIT
---
# Meteor publications and subscriptions
Publications stream a set of documents to subscribed clients and keep them
live. The publication is the only place server-side authorization can
filter rows before they reach the client.
## Decision flow
1. Does the client need this data reactively? If no, prefer a method (one-shot
read). If yes, use a publication.
2. Is the data user-specific? Filter by `this.userId` inside the publish
function. Without that filter, documents leak across users.
3. Can the publication be expressed as a single cursor? Return it directly.
4. Does it need one async lookup before choosing a cursor? Use an async
publish handler, await the lookup, then return the cursor.
5. Does it need per-document async joins, custom aggregation output, or an
external reactive source? Drop to the low-level `this.added` /
`this.changed` / `this.removed` API.
## Scaffold
```javascript
import { Meteor } from "meteor/meteor";
import { Items } from "/imports/api/items";
Meteor.publish("items.mine", function () {
if (!this.userId) {
return this.ready();
}
return Items.find(
{ ownerId: this.userId },
{ fields: { title: 1, qty: 1, updatedAt: 1 }, sort: { updatedAt: -1 } },
);
});
```
Project `fields` whenever the collection contains columns the subscriber
must not receive.
Async publish handlers may also return a cursor:
```javascript
Meteor.publish("items.byTeam", async function (teamId) {
const member = await Memberships.findOneAsync({
teamId,
userId: this.userId,
});
if (!member) return this.ready();
return Items.find({ teamId }, { fields: { title: 1, qty: 1 } });
});
```
Meteor awaits the handler before processing the returned cursor.
## Subscribing
```javascript
import { Meteor } from "meteor/meteor";
const handle = Meteor.subscribe("items.mine");
// React / Blaze / Svelte hooks observe handle.ready() and the local cursor.
handle.stop();
```
## Publication strategies
Set per-collection with `Meteor.server.setPublicationStrategy`. Three options:
```javascript
import { DDPServer } from "meteor/ddp-server";
Meteor.server.setPublicationStrategy(
"items",
DDPServer.publicationStrategies.NO_MERGE,
);
```
| Strategy | When to use |
|----------------------|-----------------------------------------------------------------------------|
| `SERVER_MERGE` | Default. Tracks merged document fields across publications and sends deltas. |
| `NO_MERGE` | Tracks sent document IDs so unsubscribe can remove them. Use when the collection is owned by one publication. |
| `NO_MERGE_NO_HISTORY`| Remembers nothing and sends no removals on stop. Reserve for send-and-forget queues where stale client documents are intentional. |
See `references/publication-strategies.md`.
## Low-level publish API
For joins or async work:
```javascript
Meteor.publish("feed", async function () {
const cursor = Posts.find({}, { fields: { title: 1, authorId: 1 } });
const observer = await cursor.observeChangesAsync({
added: async (id, doc) => {
const author = await Users.findOneAsync(doc.authorId, {
fields: { username: 1 },
});
this.added("feed", id, { ...doc, authorName: author?.username });
},
changed: (id, changes) => this.changed("feed", id, changes),
removed: (id) => this.removed("feed", id),
});
this.ready();
this.onStop(() => observer.stop());
});
```
Note: cursor `transform` functions remain synchronous. Use a separate
publication or the low-level API for per-document async joins.
Live observer delivery does not wait for one async callback before later
changes arrive. If ordering or backpressure matters, serialize the work with a
per-subscription Promise queue. Attach an error policy and stop the observer
from `this.onStop`; see `references/low-level-publish-api.md`.
## Anti-patterns
- Publish without a `this.userId` filter when data is user-specific.
- Publish sensitive or unnecessary columns. Add a `fields` projection when
the full document is not part of the publication contract.
- Confuse an async publish handler with an async cursor transform. Meteor
awaits the handler Promise, but each transform callback must return a
document synchronously.
- Use cursor transforms for async joins. Transforms are synchronous; the
low-level API is the right tool.
- Subscribe to large unbounded collections. Page the data with `limit`/`skip`.
## See also
- `references/publication-strategies.md`
- `references/low-level-publish-api.md`
- `references/eval-cases.md`
@@ -0,0 +1,71 @@
# Evaluation cases for `meteor-pubsub`
## Case 1: missing auth filter
Prompt: "Why are documents from other users showing up in my client when I
subscribe to this publication?"
```javascript
Meteor.publish("items", function () {
return Items.find({});
});
```
Pass if the agent adds `this.userId` filtering and an `ownerId` selector.
## Case 2: async join
Prompt: "I want my feed publication to include the author username. The
cursor transform crashed with 'returned a Promise'."
Pass if the agent rewrites to the low-level publish API with
`observeChangesAsync`.
## Case 3: strategy choice
Prompt: "My server runs out of memory under load. I publish a real-time
activity feed to every user."
Pass if the agent chooses `NO_MERGE` only when the collection is owned by one
publication and explains that it tracks sent IDs for removals on unsubscribe.
It may choose `NO_MERGE_NO_HISTORY` only for a send-and-forget queue whose
consumer owns cleanup, and must warn that no removals are sent on stop. Fail if
it calls either strategy stateless without qualification.
## Case 4: unsubscribe
Prompt: "How do I stop the subscription when the user leaves the page?"
Pass if the agent stores the handle and calls `.stop()` in unmount/cleanup.
## Case 5: async handler returning a cursor
Prompt: "My publication awaits a membership lookup and then returns
`Items.find({ teamId })`. Does an async `Meteor.publish` handler require the
low-level API?"
Pass if the agent says Meteor awaits async publish handlers and accepts the
returned cursor. Fail if it rejects the handler only because it returns a
Promise. It may recommend the low-level API only for custom or per-document
async output.
## Case 6: ordered async join
Prompt: "My `observeChangesAsync` `added` callback awaits a user lookup. Under
bursty updates, later changes overtake earlier joins and rejected lookups only
appear in logs."
Pass if the agent explains that live delivery does not await each callback,
serializes dependent work with a per-subscription Promise queue, registers
observer teardown with `this.onStop`, and defines a terminal error policy such
as `this.error`. Fail if it assumes `async added()` alone provides
backpressure.
## Case 7: publication error lifecycle
Prompt: "Can I call `this.error(err)` to report a warning and keep the
subscription alive?"
Pass if the agent says `this.error` stops the subscription and sends the error
to the client. It should recommend a separate data or logging channel for a
non-fatal warning.
@@ -0,0 +1,73 @@
# Low-level publish API
When a publish function needs to join, transform asynchronously, or react to
external sources, return nothing and drive the publication imperatively.
## Methods on `this`
- `this.added(collectionName, id, fields)`: announce a document.
- `this.changed(collectionName, id, fields)`: update fields.
- `this.removed(collectionName, id)`: drop a document.
- `this.ready()`: signal initial population complete.
- `this.onStop(fn)`: register a teardown.
- `this.error(err)`: stop the subscription and send the error to the client.
- `this.stop()`: end the subscription.
- `this.userId`, `this.connection`: identity.
## Pattern
```javascript
Meteor.publish("feed", async function () {
const handle = await Posts.find().observeChangesAsync({
added: (id, doc) => this.added("posts", id, doc),
changed: (id, doc) => this.changed("posts", id, doc),
removed: (id) => this.removed("posts", id),
});
this.ready();
this.onStop(() => handle.stop());
});
```
Always pair `observeChangesAsync` with `onStop`. Leaks otherwise.
## Async callback ordering
Initial `added` callbacks can be awaited while the observer is attaching, but
live notifications do not wait for an async callback before scheduling later
changes. Returning a Promise gives Meteor a rejection to log; it does not add
live-event backpressure. Serialize dependent work yourself:
```javascript
Meteor.publish("feed", async function () {
let work = Promise.resolve();
const enqueue = (task) => {
work = work.then(task).catch((error) => this.error(error));
return work;
};
const handle = await Posts.find().observeChangesAsync({
added: (id, doc) => enqueue(async () => {
const author = await Users.findOneAsync(doc.authorId, {
fields: { username: 1 },
});
this.added("feed", id, { ...doc, authorName: author?.username });
}),
changed: (id, fields) => enqueue(async () => {
this.changed("feed", id, fields);
}),
removed: (id) => enqueue(async () => {
this.removed("feed", id);
}),
});
this.ready();
this.onStop(() => handle.stop());
});
```
Keep independent callbacks synchronous when no asynchronous join is needed.
If one queued task fails, `this.error` terminates the subscription instead of
leaving the client with partially joined data.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/meteor.md#publish-and-subscribe
@@ -0,0 +1,50 @@
# Publication strategies
## `SERVER_MERGE` (default)
The server maintains a per-client view of every published document and only
sends diffs. Highest memory cost; lowest bandwidth. Right for typical apps
where the working set per client is small.
## `NO_MERGE`
The server does not merge fields across publications, but it remembers the
document IDs sent by this subscription. It can therefore send removals when
the subscription stops. Client handling is forgiving: duplicate `added`
messages become changes, a `changed` for an unknown ID becomes an add, and a
`removed` for an unknown ID is ignored.
Use this when a collection is supplied by only one publication. It uses less
server state than `SERVER_MERGE`, but multiple publications for the same
collection can overwrite each other's document view.
## `NO_MERGE_NO_HISTORY`
The server remembers nothing about sent documents and does not send removals
when the subscription stops. Use only for special send-and-forget queues where
the consumer handles retention and stale client documents are intentional.
## Setting the strategy
Strategies are set per collection name, not per publication.
```javascript
import { DDPServer } from "meteor/ddp-server";
Meteor.server.setPublicationStrategy(
"feed",
DDPServer.publicationStrategies.NO_MERGE,
);
// Read it back
Meteor.server.getPublicationStrategy("feed");
```
## Choosing
- Default app (collaborative editor, dashboards): `SERVER_MERGE`.
- Collection owned by one publication, with unsubscribe cleanup: `NO_MERGE`.
- Send-and-forget queue with application-owned cleanup: `NO_MERGE_NO_HISTORY`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/meteor.md#publication-strategies
+205
View File
@@ -0,0 +1,205 @@
---
name: meteor-security
description: >
Use when auditing or hardening a Meteor 3 application. Triggers on
missing check() on method arguments, missing this.userId guards on
publications, browser-policy CSP, DDPRateLimiter rules, oauth-encryption
via Accounts.config oauthSecretKey, audit-argument-checks, allow/deny
legacy patterns, BrowserPolicy.content.disallowInlineScripts,
BrowserPolicy.framing.disallow. Use this skill when the user asks about
hardening, asks about a security review, or asks about CSP for a
third-party script (Stripe, Google Maps, fonts).
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: security
tagline: "Audit and harden Meteor 3 apps (`check()` coverage, `this.userId` guards, browser-policy CSP, rate limits, oauth-encryption)."
bundle: ["essentials", "fullstack"]
docs_synced_at: "2026-08-25"
license: MIT
---
# Meteor security
Meteor's security model is opinionated: the server holds authority, the
client cannot be trusted, and the only places that filter data before it
reaches users are methods (write paths) and publications (read paths).
## Decision flow
1. Audit every method: does it `check()` every argument and guard on
`this.userId` or `Meteor.userId()` when authentication matters?
2. Audit every publication: does it filter by `this.userId` (when
user-specific) and project columns with `fields`?
3. Add `audit-argument-checks` in dev to catch missing `check()`.
4. Add `browser-policy` and configure CSP.
5. Add `DDPRateLimiter` rules for sensitive methods (login, password
reset, resource creation).
6. If the app uses OAuth, set `oauthSecretKey` to encrypt provider
secrets at rest.
7. Remove `allow` / `deny` rules. They are legacy and easy to misuse;
use methods instead.
## Method guard checklist
```javascript
import { Meteor } from "meteor/meteor";
import { check, Match } from "meteor/check";
Meteor.methods({
async updateProfile(payload) {
check(payload, { displayName: String, bio: Match.Optional(String) });
if (!this.userId) {
throw new Meteor.Error("not-authorized");
}
await Meteor.users.updateAsync(this.userId, { $set: { profile: payload } });
},
async updateAddress(payload) {
check(payload, String);
if (!Meteor.userId()) {
throw new Meteor.Error("not-authorized");
}
await Meteor.users.updateAsync(Meteor.userId(), { $set: { address: payload } });
},
});
```
Reject any method that does not match: `check` on every argument, userId
gate when needed, `Meteor.Error(code, reason)` for failures, `*Async`
Mongo on the server.
## Publication guard checklist
```javascript
Meteor.publish("items.mine", function () {
if (!this.userId) return this.ready();
return Items.find(
{ ownerId: this.userId },
{ fields: { title: 1, qty: 1 }, limit: 200 },
);
});
```
Reject any publication that returns an unbounded cursor, omits the field
projection, or skips a userId filter on user-specific data.
## CSP via `browser-policy`
```bash
meteor add browser-policy
```
```javascript
// server top-level or inside Meteor.startup
import { BrowserPolicy } from "meteor/browser-policy-common";
import { Meteor } from "meteor/meteor";
Meteor.startup(async () => {
await BrowserPolicy.content.disallowInlineScripts();
BrowserPolicy.content.disallowEval();
BrowserPolicy.framing.disallow();
});
```
`BrowserPolicy` is server-only. Configure it during module initialization or
startup so every request receives one deterministic process-wide policy. The
current implementation invalidates its cached CSP after a mutation, but do not
mutate this global policy per request or per user. See
`references/browser-policy-csp.md` for recipes (Stripe, Google Maps,
fonts, inline-style allowance).
## DDPRateLimiter for sensitive methods
```javascript
import { DDPRateLimiter } from "meteor/ddp-rate-limiter";
DDPRateLimiter.addRule(
{
type: "method",
name: "login",
clientAddress: () => true,
},
5,
60000, // 5 attempts per 60s, per IP
);
```
Only matcher fields contribute to the rate-limit bucket key. Without
`clientAddress`, `connectionId`, or `userId`, every matching caller shares one
global bucket. Meteor 3.5+ permits async matcher functions for database-backed
decisions; keep their queries fast because the connection waits for them. On
Meteor 3.0 through 3.4, matchers must stay synchronous. Use a fixed rule,
precomputed synchronous state, or upgrade rather than awaiting Mongo there.
The default rule (5 in 10s for login / signup / password reset) ships
with `accounts-base`. Remove with `Accounts.removeDefaultRateLimit()`
only if you replace it.
## OAuth secret encryption
Add `oauth-encryption` and pass a 16-byte base64 key (NOT 32 bytes) to
`Accounts.config` at module top level (not inside `Meteor.startup`):
```bash
meteor node -e "console.log(require('crypto').randomBytes(16).toString('base64'))"
```
```javascript
import { Accounts } from "meteor/accounts-base";
Accounts.config({
oauthSecretKey: Meteor.settings.oauthSecretKey,
});
```
At startup, `accounts-oauth` seals an unsealed provider application secret at
`ServiceConfiguration.configurations.secret`. Provider packages also seal
supported per-user token fields, such as `services.github.accessToken` or
Twitter's `accessTokenSecret`. There is no generic
`Meteor.users.services.<provider>.secret` field. Inspect the provider schema
before asserting which user credential is encrypted.
## `audit-argument-checks`
```bash
meteor add audit-argument-checks
```
Throws if any method or publication runs without `check()` covering
every argument. Methods that legitimately accept arbitrary input declare
this explicitly:
```javascript
Meteor.methods({
rawLog(...args) {
check(args, [Match.Any]);
// ...
},
});
```
## Anti-patterns
- `Collection.allow` / `Collection.deny` rules. Legacy; easy to combine
into a soft-fail. Replace with methods.
- `Meteor.settings.public.<secret>`. The client sees `public`. Move
secrets to the top level of `settings.json`.
- Publish the entire `Meteor.users` collection. Always project (e.g.
`fields: { username: 1, profile: 1 }`) and filter. Publish email only to
the owning user or another explicitly authorized audience.
- Use `BrowserPolicy.content.allowOriginForAll` for a third-party script. It
grants the origin to every current content directive. Allow only the script,
frame, connect, image, style, or font directives the integration needs.
- Methods that accept callback-shaped arguments. Functions cannot travel
over DDP.
- Call `Accounts.config({ oauthSecretKey })` inside `Meteor.startup`.
Must be at module top level so it loads before the OAuth packages
read it.
## See also
- `references/method-and-publish-guards.md`
- `references/browser-policy-csp.md`
- `references/eval-cases.md`
- Related skills: `meteor-methods`, `meteor-pubsub`, `meteor-accounts`.
@@ -0,0 +1,88 @@
# `browser-policy` CSP recipes
`BrowserPolicy` is server-only. Call its functions at module top level or
inside `Meteor.startup` so policy initialization is deterministic. The policy
is process-global, not request-specific. Current implementations invalidate
the cached CSP when it changes, but do not use runtime mutation for per-user or
per-route authorization.
## Install
```bash
meteor add browser-policy
```
Pulls in both `browser-policy-content` (CSP) and `browser-policy-framing`
(X-Frame-Options). Add either standalone for a smaller surface.
## Tight default
```javascript
import { BrowserPolicy } from "meteor/browser-policy-common";
await BrowserPolicy.content.disallowInlineScripts();
BrowserPolicy.content.disallowEval();
BrowserPolicy.framing.disallow();
```
`disallowInlineScripts`, `allowInlineScripts`, and `setPolicy` are async in
current Meteor. Await them from an async startup callback when startup order
matters.
Removes `eval`, inline `<script>` blocks, and embedding by other sites.
## Stripe Checkout / Elements
```javascript
BrowserPolicy.content.allowScriptOrigin("https://js.stripe.com");
BrowserPolicy.content.allowFrameOrigin("https://js.stripe.com");
BrowserPolicy.content.allowFrameOrigin("https://hooks.stripe.com");
BrowserPolicy.content.allowConnectOrigin("https://api.stripe.com");
```
Inspect CSP violation reports for the Stripe features actually enabled. Add a
new origin only to the directive named by the violation.
## Google Maps / Fonts / GTM
```javascript
BrowserPolicy.content.allowScriptOrigin("https://maps.googleapis.com");
BrowserPolicy.content.allowConnectOrigin("https://maps.googleapis.com");
BrowserPolicy.content.allowStyleOrigin("https://fonts.googleapis.com");
BrowserPolicy.content.allowFontOrigin("https://fonts.gstatic.com");
BrowserPolicy.content.allowScriptOrigin("https://www.googletagmanager.com");
```
Do not replace these calls with `allowOriginForAll`. That helper adds the
origin to every directive already in the policy, including resource types the
provider does not need.
## Inline styles (framework injects them)
```javascript
BrowserPolicy.content.allowInlineStyles();
```
Tradeoff: weakens style protection. Use only when the framework (e.g.
Material UI, styled-components) genuinely needs it.
## Frame-ancestors (Chrome / Safari)
`X-Frame-Options` is partly ignored by Chrome / Safari. To restrict
framing across browsers, use the CSP `frame-ancestors` directive:
```javascript
BrowserPolicy.content.allowFrameAncestorsOrigin("https://example.com");
```
## Reset
```javascript
await BrowserPolicy.content.setPolicy(...) // override entire content policy
BrowserPolicy.framing.allowAll() // unset X-Frame-Options
```
Used in tests where the default policy interferes.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/browser-policy.md
@@ -0,0 +1,110 @@
# Evaluation cases for `meteor-security`
## Case 1: missing `check()`
Prompt: "Audit this method:
```javascript
Meteor.methods({ async addItem(p) { await Items.insertAsync(p); } });
```
"
Pass if the agent flags missing `check()`, missing `this.userId` guard,
and rewrites with `check(p, { title: String, qty: Match.Integer })` plus
a userId gate.
## Case 2: leaky publication
Prompt: "What's wrong with this publication?
```javascript
Meteor.publish('items', function () { return Items.find({}); });
```
"
Pass if the agent flags missing `this.userId` filter, missing `fields`
projection, and missing `limit` on an unbounded cursor.
## Case 3: Stripe CSP
Prompt: "Add a CSP that lets Stripe Checkout load."
Pass if the agent uses `browser-policy`, calls
`BrowserPolicy.content.allowScriptOrigin("https://js.stripe.com")`, and
adds `BrowserPolicy.content.allowFrameOrigin("https://js.stripe.com")`
and `"https://hooks.stripe.com"`. It may add
`allowConnectOrigin("https://api.stripe.com")` when the integration needs it.
Fail if it uses `allowOriginForAll`.
## Case 4: OAuth secret in plaintext
Prompt: "My Google application secret in
`ServiceConfiguration.configurations.secret` is plaintext, and I also want
supported per-user OAuth tokens encrypted at rest."
Pass if the agent adds `oauth-encryption`, generates a 16-byte (not 32)
base64 key, and configures
`Accounts.config({ oauthSecretKey: Meteor.settings.oauthSecretKey })`
at module top level (not inside `Meteor.startup`). It must distinguish the
provider application secret from provider-specific user fields and reject a
generic `services.<provider>.secret` path.
## Case 5: allow/deny in legacy code
Prompt: "I have `Items.allow({ insert: () => true });` in my code. Is
that ok?"
Pass if the agent rejects allow/deny as a legacy pattern and rewrites the
mutation as a `Meteor.method` with `check()` + `this.userId` guard.
## Case 6: async publication authorization
Prompt: "Audit this publication. It awaits an organization membership check
and then returns a filtered cursor from an async publish handler."
Pass if the agent validates the authorization selector and projection while
accepting the async handler. Fail if it requires the low-level publish API
only because the handler returns a Promise.
## Case 7: per-IP limiter is accidentally global
Prompt: "I limited the `login` method with `{ type: 'method', name: 'login' }`,
but one client's failures block every user. I wanted five attempts per IP."
Pass if the agent explains that only matcher fields form the bucket key and
adds `clientAddress: () => true`. It should test two addresses with independent
counters. Fail if it changes only the numeric limit.
## Case 8: database-backed rate decision
Prompt: "On Meteor 3.5, apply a stricter method limit to free-tier users. The
tier is in `Meteor.users`."
Pass if the agent uses a projected `findOneAsync` inside an async `userId`
matcher, warns that it delays message processing on the connection, and
defines behavior for a rejected matcher Promise.
## Case 9: audit argument checks
Prompt: "How can I detect methods and publications that forgot to validate
all DDP arguments?"
Pass if the agent adds `audit-argument-checks`, validates every argument with
`check`, and uses `check(args, [Match.Any])` only when arbitrary arguments are
intentional. Fail if it treats the package as a replacement for authorization.
## Case 10: user directory email leak
Prompt: "Publish usernames and profiles for our member directory. Should I
include every member's `emails` field too?"
Pass if the agent defaults to `{ username: 1, profile: 1 }`, filters and limits
the directory, and includes email only for a concrete authorized requirement.
## Case 11: database-backed limiter before Meteor 3.5
Prompt: "On Meteor 3.4, make a DDP rate-limit matcher await a user plan lookup."
Pass if the agent says async matchers begin in Meteor 3.5, rejects the awaited
matcher on 3.4, and offers a synchronous fixed rule, precomputed state, or a
framework upgrade. Fail if it applies the current 3.5 API unconditionally.
@@ -0,0 +1,89 @@
# Method and publish guards
The two attack surfaces an agent must audit on every PR.
## Method checklist
For every `Meteor.methods({ ... })` entry:
- [ ] `check()` on every argument.
- [ ] `this.userId` guard when authentication is required.
- [ ] Role check when elevated privileges are required (e.g.
`alanning:roles`).
- [ ] `Meteor.Error(code, reason, details?)` thrown on failure; never a
plain `Error` (the client gets `"Internal server error"`).
- [ ] `*Async` Mongo on the server. Sync Mongo is removed in Meteor 3.
- [ ] `DDPRateLimiter.addRule` if the method is rate-sensitive (login,
password reset, resource creation, expensive queries).
```javascript
Meteor.methods({
async addItem(payload) {
check(payload, { title: String, qty: Match.Integer });
if (!this.userId) throw new Meteor.Error("not-authorized");
return await Items.insertAsync({
...payload,
ownerId: this.userId,
createdAt: new Date(),
});
},
});
```
## Publication checklist
For every `Meteor.publish(...)`:
- [ ] `this.userId` filter when data is user-specific.
- [ ] `fields` projection limiting columns.
- [ ] `limit` and `sort` on unbounded collections.
- [ ] An async publish handler may await authorization or setup work and
return a cursor. Cursor `transform` callbacks remain synchronous; use
the low-level API for per-document async output.
```javascript
Meteor.publish("items.mine", function () {
if (!this.userId) return this.ready();
return Items.find(
{ ownerId: this.userId },
{
fields: { title: 1, qty: 1, updatedAt: 1 },
sort: { updatedAt: -1 },
limit: 200,
},
);
});
```
## Sensitive-fields denylist
For `Meteor.users`:
```javascript
Meteor.publish("users.public", function () {
if (!this.userId) return this.ready();
return Meteor.users.find(
{},
{ fields: { username: 1, profile: 1 }, limit: 200 },
);
});
```
Never publish `services.*`. That subtree holds OAuth secrets, password
bcrypt hashes, and resume tokens. Do not publish every user's `emails` field by
default. Publish an email only to the owning user or to a narrowly selected,
explicitly authorized audience.
## Audit packages
```bash
meteor add audit-argument-checks
```
Crashes the request when a method or publish handler runs without
`check()` covering every argument. Dev-time signal; safe to leave on in
production too.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/security/security.md
+238
View File
@@ -0,0 +1,238 @@
---
name: meteor-testing
description: >
Use when setting up, designing, writing, or repairing tests and test
harnesses in a Meteor 3 app. Triggers on
meteortesting:mocha, --driver-package, TEST_WATCH, TEST_BROWSER_DRIVER,
MOCHA_GREP, meteor.testModule, focused tests, .only,
Meteor.server.method_handlers, Meteor.server.publish_handlers,
DDP.connect, --full-app integration mode, sinon, async test signatures,
Playwright/Cypress E2E. Use this skill when the user asks about test
runners, asks about testing publications, or asks about Jest vs Mocha
in Meteor. For a failing, hanging, or flaky test whose failing layer or root
cause is unknown, use meteor-debugging before changing the test or app.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: testing
tagline: "Set up and write Meteor 3 tests (`meteortesting:mocha`, async signatures, methods/publications, Playwright/Cypress E2E)."
bundle: ["fullstack"]
docs_synced_at: "2026-09-11"
license: MIT
---
# Testing Meteor 3 apps
`meteortesting:mocha` is the canonical Meteor test driver. It boots the
app in test mode (no app code runs except the test files) and reports
results in the server console.
If an existing test fails, hangs, or flakes and the failing layer is unknown,
use `meteor-debugging` to isolate the cause. Return here when evidence points to
test setup, design, driver behavior, fixtures, or regression coverage.
## Decision flow
1. Unknown failure in an existing test? Use `meteor-debugging` to classify
application, data, harness, browser, environment, or shared-state causes.
2. Pure logic, no Meteor APIs? Plain Mocha or any test runner; nothing
Meteor-specific.
3. Method or publication? Integration test it with `meteortesting:mocha`
using `Meteor.server.method_handlers[name].apply(ctx, args)` or
`publish_handlers`.
4. Need to drive a real DDP client (cross-process or end-to-end DDP
semantics)? Use `--full-app` mode and `DDP.connect`.
5. UI flow / browser interaction? Start the normal app with deterministic
test settings and run Playwright or Cypress against it. Use
`meteor test --full-app` only when the browser flow must load app-test
modules.
## Setup
```bash
meteor add meteortesting:mocha
meteor npm install --save-dev @types/mocha
```
```json
// package.json
{
"scripts": {
"test": "TEST_WATCH=1 meteor test --driver-package meteortesting:mocha",
"test:ci": "meteor test --once --driver-package meteortesting:mocha",
"test:full": "meteor test --full-app --driver-package meteortesting:mocha"
}
}
```
Test-mode conventions:
- Normal test mode eagerly loads `*.test[s].*` and `*.spec[s].*` files, while
ordinary application code loads only when imported by a test.
- Filename discovery ignores `tests/` directories. A configured
`meteor.testModule` instead loads its explicit entry module and imports.
- `--full-app` eagerly loads the normal app plus `*.app-test[s].*` and
`*.app-spec[s].*` files, and sets `Meteor.isAppTest`.
For Meteor 3.5.2 Rspack full-app/TLA behavior, parent-`private` discovery
failures, and the jQuery harness regression fixed in Meteor 3.6-beta.0, read
[release-specific test setup](references/meteor-3.5.2-testing.md). Check
resolved packages and suite counts before applying a version-specific fix.
To focus an existing test, prefer a supported driver filter such as
`MOCHA_GREP` after checking the installed driver in `.meteor/versions`; use
`.only` only temporarily. These select registered tests but do not prevent
other test modules from evaluating. If loading itself causes interference,
inspect `meteor.testModule` and read `references/focused-runs.md` before
narrowing entrypoint imports. Restore every temporary focus or import change,
then run the normal affected suite. Read the configured entrypoint paths from
the project; do not invent paths, scripts, ports, or helpers.
## Method test (server-side)
```javascript
import assert from "node:assert/strict";
import { Meteor } from "meteor/meteor";
import { Items } from "/imports/api/items";
if (Meteor.isServer) {
describe("items.add", function () {
beforeEach(async function () {
await Items.removeAsync({});
});
it("inserts when authed", async function () {
const _id = await Meteor.server.method_handlers["items.add"].apply(
{ userId: "u1" },
[{ title: "x", qty: 1 }],
);
const doc = await Items.findOneAsync(_id);
assert.equal(doc.title, "x");
});
it("rejects when unauthed", async function () {
await assert.rejects(() =>
Meteor.server.method_handlers["items.add"].apply({ userId: null }, [{}]),
);
});
});
}
```
`.apply(context, argsArray)` is the documented form;
`Meteor.server.method_handlers[name]` is the registered method
implementation. Pass a stub `this` with `userId` (and `unblock`,
`connection`, etc. when needed).
## Publication test (server-side)
```javascript
if (Meteor.isServer) {
describe("items.mine publication", function () {
it("only ships the subscribing user's items", async function () {
await Items.removeAsync({});
await Items.insertAsync({ _id: "a", ownerId: "u1" });
await Items.insertAsync({ _id: "b", ownerId: "u2" });
const cursor = await Meteor.server.publish_handlers["items.mine"]
.apply({ userId: "u1" }, []);
const docs = await cursor.fetchAsync();
assert.deepEqual(docs.map((d) => d._id), ["a"]);
});
});
}
```
For publications using the low-level `this.added` / `this.changed` API,
test with a real DDP client via `--full-app` mode (next section).
Always await the direct publish handler. Conventional handlers return the
cursor immediately; async handlers return a Promise of the cursor.
## End-to-end DDP test (`--full-app` mode)
```javascript
import { DDP } from "meteor/ddp-client";
import { Mongo } from "meteor/mongo";
import { Tracker } from "meteor/tracker";
const conn = DDP.connect(Meteor.absoluteUrl());
const RemoteItems = new Mongo.Collection("items", { connection: conn });
function ready(sub) {
return new Promise((resolve) => {
const computation = Tracker.autorun((c) => {
if (sub.ready()) {
c.stop();
resolve();
}
});
});
}
const sub = conn.subscribe("items.mine");
await ready(sub);
const docs = RemoteItems.find().fetch();
```
Run with `meteor test --full-app --driver-package meteortesting:mocha`.
## Client unit test (Minimongo)
```javascript
if (Meteor.isClient) {
describe("Items minimongo", function () {
beforeEach(function () { Items.remove({}); });
it("filters by ownerId", function () {
Items.insert({ _id: "a", ownerId: "u1" });
Items.insert({ _id: "b", ownerId: "u2" });
assert.equal(Items.find({ ownerId: "u1" }).count(), 1);
});
});
}
```
Client tests run in the browser the driver spawns. With
`TEST_BROWSER_DRIVER=puppeteer`, the browser is headless Chromium and
results flow back to the server console.
Do not treat a server-only green run as complete client coverage. The driver
prints a message when no browser is connected; configure
`TEST_BROWSER_DRIVER` in CI and confirm client test counts are present.
## Browser E2E
Run Playwright or Cypress against the normal application unless the test
needs Meteor's app-test modules. The server command must work from a clean
clone with a tracked, nonsecret settings fixture or fully documented test
environment variables. Do not point it at an ignored developer settings file.
Cover at least one complete mutation flow and one rejected server action.
Basic page-title checks do not exercise async method stubs, authorization, or
publication readiness.
## Anti-patterns
- Reach for Jest. Jest does not understand Meteor's build system. Use
`meteortesting:mocha`.
- Mock Mongo. Run the real driver against a clean DB.
- Forget `if (Meteor.isServer) { ... }` guards. Server tests crash if
they run in the browser harness.
- Skip `beforeEach` cleanup. Tests leak state across runs.
- Catch and log a `beforeEach` failure without rethrowing. The test then runs
against unknown state and can report a misleading assertion.
- Assert only the database postcondition for a rejected method. Also require
the Promise to reject with the expected `Meteor.Error`.
- Replace `Meteor.userId` or another global without restoring it in
`afterEach`.
- Use `Meteor.call` with callbacks in async test code. Use
`Meteor.callAsync` or unwrap `method_handlers` directly.
## See also
- `references/mocha-setup.md`
- `references/focused-runs.md`
- `references/ddp-test-helpers.md`
- `references/eval-cases.md`
@@ -0,0 +1,88 @@
# DDP-based test helpers
`--full-app` mode runs the whole app alongside tests. A second DDP
connection lets you drive the app like a client would and inspect its
local state.
## Connect to the running app
```javascript
import { DDP } from "meteor/ddp-client";
const conn = DDP.connect(Meteor.absoluteUrl());
```
`conn` is a stand-alone DDP client. It has its own resume token, its own
collections, its own subscription handles.
Register each named collection against that connection before subscribing:
```javascript
import { Mongo } from "meteor/mongo";
const RemoteItems = new Mongo.Collection("items", { connection: conn });
```
## Wait for a subscription to be ready
```javascript
import { Tracker } from "meteor/tracker";
function ready(sub) {
return new Promise((resolve) => {
const computation = Tracker.autorun((c) => {
if (sub.ready()) {
c.stop();
resolve();
}
});
});
}
const sub = conn.subscribe("items.mine");
await ready(sub);
```
## Inspect the resulting documents
```javascript
const docs = RemoteItems.find().fetch();
```
Do not inspect `conn._stores`, `._docs`, or `conn.connection`. The first two
are private internals, and `DDP.connect` returns the connection directly, so
there is no nested `.connection`. A collection constructed with
`{ connection: conn }` is the supported local-cache interface.
## Method invocation on a separate connection
```javascript
await conn.callAsync("items.add", { title: "x", qty: 1 });
```
This goes over the wire, hits the real method handler, and the result is
the value the method resolved to.
## Disconnect
```javascript
conn.disconnect();
```
Call this in `after` / `afterEach` so the test process exits cleanly.
## When to use which
| Need | Use |
|-----------------------------------------|------------------------------------------------------------------|
| Test a method's logic | `Meteor.server.method_handlers[name].apply(ctx, args)` directly. |
| Test a publication's cursor | `Meteor.server.publish_handlers[name].apply({ userId }, [])`. |
| Test the full DDP path (auth, ratelimits, multi-user merge) | `DDP.connect(Meteor.absoluteUrl())` + `--full-app`. |
| Test client reactivity through DDP | `--full-app` + `DDP.connect` + Tracker autorun. |
Direct `method_handlers` / `publish_handlers` invocation is the fast
default. Reach for `--full-app` and `DDP.connect` only when the path
under test actually depends on the network round trip.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/testing/testing.md
@@ -0,0 +1,190 @@
# Evaluation cases for `meteor-testing`
## Case 1: setup from zero
Prompt: "Set up Mocha tests for my Meteor 3 app."
Pass if the agent adds `meteortesting:mocha`, writes the `package.json`
scripts (with `--once` for CI and `TEST_WATCH=1` for dev), and shows a
`.test.js` example with `if (Meteor.isServer)` guards.
## Case 2: method handler test
Prompt: "Write a test for my `items.add` method."
Pass if the agent uses
`Meteor.server.method_handlers["items.add"].apply({ userId: "u1" }, [args])`
with a stubbed userId and awaits the Mongo result. Avoids
`Meteor.call`/`callAsync` from the test (which goes over the wire and
adds DDP overhead).
## Case 3: publication test
Prompt: "Test that my `items.mine` publication only ships items owned by
the subscribing user."
Pass if the agent uses
`await Meteor.server.publish_handlers["items.mine"].apply(
{ userId: "u1" }, [])`, calls `.fetchAsync()` on the resolved cursor, and
asserts on the returned `_id`s. The `await` is required so the test also
works when the publication handler is async.
## Case 4: --full-app DDP test
Prompt: "I need to test that an unauthed client cannot see my admin
publication's documents even over DDP."
Pass if the agent uses `meteor test --full-app`, then `DDP.connect` to a
second client and `subscribe` without logging in, and asserts on the
empty named collection created with
`new Mongo.Collection(name, { connection: conn })`. Fail if it reads
`conn.connection._stores`, `conn._stores`, or another private cache.
## Case 5: Jest detour
Prompt: "Can I use Jest instead of Mocha?"
Pass if the agent steers away from Jest, explains Meteor's build system
exposes a test-driver hook that Jest does not implement, and recommends
`meteortesting:mocha` (or any other Meteor test-driver package).
## Case 6: swallowed async setup failure
Prompt: "My `beforeEach` catches and logs `removeAsync` and `insertAsync`
errors, but later assertions fail with unexpected document counts."
Pass if the agent removes the catch or rethrows, requires setup to reject the
test, and isolates startup seeding from the test database.
## Case 7: negative method assertion
Prompt: "This authorization test only checks that the document count did not
change after `callAsync`. Is that enough?"
Pass if the agent also asserts that `callAsync` rejects with the expected
`Meteor.Error`, while retaining the postcondition as a second assertion.
## Case 8: client tests silently skipped
Prompt: "All server tests pass, but the runner says to load the app in a
browser. Can CI still be green?"
Pass if the agent says client tests were not executed, configures
`TEST_BROWSER_DRIVER`, and checks that client test results appear in CI.
## Case 9: Playwright clean-checkout server
Prompt: "Playwright's webServer uses `private/settings.dev.json`, which is
ignored and missing in CI. How should I validate the migration?"
Pass if the agent introduces a tracked nonsecret test fixture or explicit
environment setup, starts the normal app deterministically, and covers a
mutation plus a rejected action rather than only static page checks.
## Case 10: ignored tests directory
Prompt: "Why does `meteor test` ignore `tests/users.test.js`, and what filename
should I use for a full-app test?"
Pass if the agent explains that every `tests/` directory is ignored by the
Meteor build tool, moves a normal test to a non-ignored path matching
`*.test[s].*` or `*.spec[s].*`, and uses `*.app-test[s].*` or
`*.app-spec[s].*` for `--full-app`. Fail if it says the directory itself is a
discovery convention.
## Case 11: CI Node for Meteor 3.3
Prompt: "Configure the CI Node version for a Meteor 3.3 test job. Can it reuse
Node 20 from Meteor 3.0?"
Pass if the agent selects Node 22 for Meteor 3.3, explains that only Meteor 3.0
uses Node 20 while 3.1 through 3.4 use Node 22, and recommends `meteor node -v`
to verify the exact target. Fail if it treats all pre-3.4 releases as Node 20.
## Case 12: unexplained failing-test near miss
Prompt: "A full-app Meteor test hangs only in CI. I do not know whether the
problem is its DDP subscription, database cleanup, browser driver, or product
code. Rewrite the test to make it pass."
Pass if the agent routes first to `meteor-debugging` to preserve the failure,
compare local and CI evidence, and isolate the application, data, harness,
browser, environment, or shared-state boundary. It should return to
`meteor-testing` only after evidence identifies test setup, design, driver,
fixture, or regression work. Fail if it rewrites the test or raises timeouts
before classifying the failure.
## Case 13: focus one test through the Meteor driver
Prompt: "I use `meteortesting:mocha`. How can I repeatedly run only the
`items.add` unauthenticated case without changing which modules Meteor loads?"
Pass if the agent checks the installed driver version and uses `MOCHA_GREP`
with a quoted regular expression matching the full test title. It may offer
temporary `it.only`, but requires cleanup and an affected-suite run. Fail if it
invents an unsupported `meteor test --grep` flag, requires `.only` on every
ancestor, or edits the test module graph for ordinary execution focus.
## Case 14: focus test module loading
Prompt: "Our `meteor.testModule` entrypoints import every spec. `MOCHA_GREP`
focuses the assertion, but module-scope setup from unrelated imports still
runs. How can I isolate this safely?"
Pass if the agent distinguishes execution filtering from module loading and
temporarily narrows the configured entrypoint import graph only because
load-time behavior is the problem. It preserves and restores the imports,
removes focus markers, and runs the normal affected suite. Fail if it claims
the title filter prevents module evaluation, changes private runner internals,
or gives project-specific paths, ports, helpers, or scripts.
## Case 15: full-app tests with a server-only test entry
Prompt: "On Meteor 3.5.2 with its paired Rspack packages, mainModule has client
and server entries, testModule has only a server entry, and the server imports
a module with top-level await. How should full-app tests load this app?"
Pass if the agent keeps the configured application client/server bundles,
awaits the module initialization, and separates client bundle compilation from
client test execution. Fail if it removes the app client entry, adds a sleep,
or guarantees every detached Promise or async startup callback has settled.
## Case 16: zero full-app tests below a parent private path
Prompt: "A Meteor 3.5.1 Rspack app under /workspace/private/my-app runs zero
full-app tests; the same commit elsewhere discovers them. Should I remove all
private-directory exclusions?"
Pass if the agent checks the 3.5.2 eager-discovery fix and the app-relative test
patterns and entrypoints, proposes a paired upgrade or a disposable path
reproduction, and preserves the app's private-assets exclusion. Fail if it
accepts zero passing tests as validation or includes private assets as tests.
## Case 17: package test lost transitive jQuery
Prompt: "After test-in-browser updated to 1.6.0 with Meteor 3.5.2, my package's
client tests fail because they use jQuery. Where should I declare it?"
Pass if the agent adds `jquery` to the existing `Package.onTest` client
dependencies or uses `meteor test-packages --extra-packages=jquery` with the
real package target. Fail if it changes unrelated production app dependencies.
## Case 18: jQuery-free tests and earlier packages
Prompt: "One branch uses test-in-browser 1.5.x; another uses 1.6.0. Neither
branch's tests uses jQuery. Must I add jquery to both apps for Meteor 3.5.2?"
Pass if the agent rejects adding production dependencies, distinguishes the
1.6.0 harness regression from the package's own jQuery-free tests, and checks
whether the browser UI starts. It offers an invocation-only extra package or
compatible fixed driver for a failing 1.6.0 harness, not for working 1.5.x.
Fail if it claims jQuery-free tests prove driver 1.6.0 cannot need jQuery.
## Case 19: restored driver in the 3.6 beta
Prompt: "Meteor 3.6-beta.0 resolves test-in-browser 1.6.1-beta360.0. My package
tests do not use jQuery. Should I add it to the app before running test-packages?"
Pass if the agent recognizes the restored driver dependency, adds no app or
unneeded package-test dependency, and verifies the UI and expected client/server
assertions. Fail if it repeats the 1.6.0 workaround unconditionally.
@@ -0,0 +1,51 @@
# Focused Meteor test runs
Use two separate controls. Do not confuse test execution with module loading.
| Need | Control |
|---|---|
| Run selected registered tests | Driver filter such as `MOCHA_GREP`, or temporary Mocha `.only` |
| Prevent unrelated test modules from evaluating | `meteor.testModule` entrypoints and their import graph |
## Focus test execution
For an installed `meteortesting:mocha` version that supports it, set
`MOCHA_GREP` to a regular expression matching the full Mocha title:
```bash
MOCHA_GREP='items\.add.*rejects unauthenticated' \
meteor test --once --driver-package meteortesting:mocha
```
Use `MOCHA_INVERT=1` to exclude matching titles. Use `TEST_SERVER=0` or
`TEST_CLIENT=0` only when isolating one runtime side preserves what the test
proves. Inspect `.meteor/versions` and the
[`meteortesting:mocha` run options](https://github.com/Meteor-Community-Packages/meteor-mocha#run-tests-inclusively-grep-or-exclusively-invert)
before relying on package-specific behavior.
`describe.only` and `it.only` are temporary source-local alternatives. They do
not require `.only` on every ancestor, and they are incompatible with Mocha
parallel mode. Remove every focus marker before handoff and run the affected
suite. See [Mocha exclusive tests](https://mochajs.org/declaring/exclusive-tests/).
## Control the loaded test graph
Configure explicit entry modules when the project needs deterministic test
loading. `meteor.testModule` accepts one shared entry-module string or separate
`client` and `server` values. Read those values from the project's
`package.json`; do not invent an entrypoint path. Each entry module imports the
tests for its runtime.
With `meteor.testModule`, Meteor eagerly loads only the configured entry module
for that runtime, then normal imports determine the remaining graph. Without
it, Meteor's filename patterns determine which test modules are eager.
`MOCHA_GREP` and `.only` filter registered test execution. They do not prevent
loaded modules from running module-scope code, declaring suites, or registering
hooks. Narrow an entrypoint's imports only when evidence shows module loading
itself causes interference or dominates the focused run. Preserve the original
imports, make the smallest temporary change, restore it immediately, and run
the normal affected suite. Never commit a narrowed test graph or a focus marker.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/modules.md
@@ -0,0 +1,77 @@
# Meteor 3.5.2 and 3.6 beta testing boundaries
## Rspack full-app tests
Meteor 3.5.2 pairs `rspack@1.3.0` and `@meteorjs/rspack@2.2.0`. Its full-app
fixes preserve configured `meteor.mainModule` client and server bundles even
when `meteor.testModule` defines only server tests:
```bash
meteor test --full-app --once --driver-package meteortesting:mocha
```
The server module graph can use top-level `await`; awaited module dependencies
settle before their consumers and app tests run. Keep required initialization
in that awaited graph or an explicit awaited test setup. This does not imply
that detached Promises, timers, or every async `Meteor.startup` callback under
every driver finish before tests. Inspect the installed driver and verify the
specific readiness condition instead of adding a sleep.
A built client application bundle does not mean client tests executed. Use a
browser driver when testing browser behavior, and inspect both server and
client suite counts. Keep an existing application client entry for full-app
tests even when there is no client test entry. On earlier integrations,
reproduce and upgrade the paired release before relying on the 3.5.2 fixes.
## Zero tests under a parent `private` directory
`@meteorjs/rspack@2.2.0` fixes eager-test exclusion when an app's absolute
parent path contains `private`, for example a checkout at
`/workspace/private/my-app`. That parent segment is not the application's
private-assets folder. Earlier versions can silently discover zero tests there.
Check the app-relative filename pattern, `meteor.testModule`, ignore rules,
and expected suite count. Prefer upgrading; if an older release is fixed in
scope, moving a disposable checkout out of that parent path can isolate the
known regression. Do not remove the actual app `private/` asset exclusion.
## Package tests and the browser harness
`test-in-browser@1.6.0`, shipped with Meteor 3.5.2, removes transitive jQuery.
Its released Blaze test UI can still require jQuery even when the package's
own tests do not. Meteor 3.6-beta.0 restores the driver's client dependency in
`test-in-browser@1.6.1-beta360.0`. Inspect the resolved driver independently of
the Meteor release and distinguish a harness startup failure from a failed
application assertion.
If package tests themselves use jQuery, declare it in the existing
`Package.onTest` callback:
```javascript
Package.onTest((api) => {
// Keep the package's existing test dependencies and entrypoint.
api.use("jquery", "client");
});
```
Or supply it for the test invocation:
```bash
meteor test-packages --extra-packages=jquery ./packages/my-package
```
Use the actual local package path. On a branch pinned to driver 1.6.0, the
invocation-only extra package also works around the harness regression when
the tests themselves are jQuery-free. Prefer the fixed driver through a
compatible release when an upgrade is in scope. Do not add a production app
dependency to repair the test harness.
Earlier 1.5.x and the fixed 1.6.1 beta driver supply jQuery themselves; a
jQuery-free package does not need a new test dependency there. Tests that do
use jQuery should declare it explicitly regardless of transitive availability.
Confirm the browser UI loads and expected client and server assertions run;
an empty or crashed UI is not a passing test suite.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/packages/7.writing-atmosphere-packages.md
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/generators/changelog/versions/3.6.0.md
@@ -0,0 +1,97 @@
# `meteortesting:mocha` setup
## Install
```bash
meteor add meteortesting:mocha
meteor npm install --save-dev @types/mocha
```
## Env vars
| Var | Purpose |
|------------------------|----------------------------------------------------------------------|
| `TEST_WATCH=1` | Re-run on file change. Use in dev. |
| `TEST_BROWSER_DRIVER` | Run client tests in a headless browser. `puppeteer`, `playwright`. |
| `TEST_SERVER=0` | Skip server tests. |
| `TEST_CLIENT=0` | Skip client tests. |
| `MOCHA_GREP` | Run titles matching a regular expression. |
| `MOCHA_INVERT=1` | Exclude titles matching `MOCHA_GREP`. |
| `MONGO_URL` | External Mongo for tests (e.g. `mongodb://localhost:27017/test`). |
These driver options depend on the installed `meteortesting:mocha` version.
Inspect `.meteor/versions`, then use
[`meteortesting:mocha`'s documented options](https://github.com/Meteor-Community-Packages/meteor-mocha#run-tests-inclusively-grep-or-exclusively-invert).
## Scripts
```json
{
"scripts": {
"test": "TEST_WATCH=1 meteor test --driver-package meteortesting:mocha",
"test:once": "meteor test --once --driver-package meteortesting:mocha",
"test:ci": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --driver-package meteortesting:mocha",
"test:full": "meteor test --full-app --driver-package meteortesting:mocha"
}
}
```
`--once`: exit after the first run (CI). Without it, the runner stays
alive and re-runs on file change.
`--full-app`: runs the whole app plus tests. Use this when tests need to
hit live publications, methods, or HTTP endpoints over DDP. Server and
client tests both run; you can `DDP.connect(Meteor.absoluteUrl())` from a
test file.
## GitHub Actions example
```yaml
name: test
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
services:
mongo:
image: mongo:7
ports: ["27017:27017"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22 }
- name: Install Meteor
run: curl https://install.meteor.com/ | sh
- run: meteor npm ci
- name: Run tests
run: |
TEST_BROWSER_DRIVER=puppeteer MONGO_URL=mongodb://localhost:27017/test \
meteor test --once --driver-package meteortesting:mocha
```
Node version must match the bundled Node.js for the Meteor version: 3.0 uses
Node 20, 3.1 through 3.4 use Node 22, and 3.5+ uses Node 24. Run
`meteor node -v` to verify the exact version used by the target release.
## Test discovery
- Normal test mode: `*.test[s].*` and `*.spec[s].*` outside ignored
`tests/` directories.
- Full-app mode: `*.app-test[s].*` and `*.app-spec[s].*` outside ignored
`tests/` directories.
- Every `tests/` directory is ignored by Meteor's build tool. Reserve it for
an external test runner.
Server-only modules stay server-only when imported from tests. Client
tests run in a browser instance the driver spawns.
For focused execution and the separate `meteor.testModule` loading boundary,
read [Focused Meteor test runs](focused-runs.md).
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/tutorials/testing/testing.md
+145
View File
@@ -0,0 +1,145 @@
---
name: migrate-to-meteor-3
description: >
Use when migrating a Meteor 2.x application to Meteor 3.x. Triggers on
callAsync, *Async Mongo, removed Fibers, implicit-global ReferenceError,
lost Blaze reactivity, a publish function returning a Promise, a scheduler
dropping a Promise, a read API receiving update modifiers, async allow/deny,
an Iron Router controller not running, "Method stub took too long",
Atmosphere resolution, Express 5 WebApp handlers, lost async context,
rawCollection callbacks, meteor/* TypeScript types, useTracker, and
useSubscribe. Use this skill when the user asks about upgrading Meteor,
async caller propagation, iterators with await, zodern:types, or replacing
and forking packages.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.0"
area: migration
tagline: "Migrate a Meteor 2.x app to 3.x (`callAsync`, async Mongo, Fibers removal, Blaze reactivity, Express 5, Atmosphere resolution)."
bundle: ["migration"]
docs_synced_at: "2026-08-25"
license: MIT
---
# Migrate a Meteor 2.x application to Meteor 3.x
Meteor 3 removed Fibers. Server-side Mongo APIs are async. The module system
enforces strict mode. Client reactivity inside async code needs care.
Atmosphere packages often need forking or replacement. Approach the migration
in phases. Do not flip the framework version flag first.
## Recommended strategy
1. Update the project to the latest 2.x release.
2. Run the app with `WARN_WHEN_USING_OLD_API=true meteor run`. The console
logs every sync-API call that needs an async sibling, giving you a
to-do list before the framework flip.
3. Migrate server-side sync Mongo calls to `*Async` siblings while still
on 2.x. Trace each changed function through every server-side caller:
await where the caller consumes the value, forward Promises deliberately,
and restructure sync-only boundaries. Stop only at an async-capable
framework boundary. See `references/async-rewrites.md` and
`references/call-vs-callAsync.md`. A community jscodeshift codemod automates
the easy cases, but it misses non-standard collection imports (for example,
`meteor/<publisher>:collections`). Review the diff by hand, then audit
callback Promise ownership and collection argument shapes.
4. Audit Atmosphere packages. Find replacements or fork outdated ones;
pin `api.versionsFrom(['2.x', '3.0'])`. See
`references/package-triage.md`. Save `.meteor/versions` and npm lockfile
checkpoints so package-major changes remain distinguishable from Meteor.
5. Upgrade to Meteor 3.x.
6. Sweep implicit globals; rewrite to `const` or `export` / `import`.
See `references/module-system.md`.
7. Audit Blaze helpers and `Tracker.autorun` blocks for lost reactivity
after `await`. See `references/client-reactivity.md`.
8. Replace iterators that contain `await` (`forEach`, `map`, `filter`)
with `for...of` or `Promise.all`. See `references/js-iterators.md`.
9. Audit publications using internal cursor APIs (`_cursorDescription`,
manual `sub.added`) and framework handlers that read invocation `this`.
Both synchronous and async publish handlers may return cursors; keep cursor
transforms synchronous and use ordinary functions when Meteor must bind
`this`. When a package patches `Meteor.publish` with an
`EnvironmentVariable`, scope `publish.call` at the wrapper's top level,
not inside the invoked handler. Verify invocation context before and after
`await`. See `references/publications.md` and
`references/other-breaking-changes.md`.
10. For TypeScript projects, install `zodern:types` and update
`tsconfig.json`. See `references/typescript-migration.md`.
11. For React projects, decide whether to adopt the Suspense-aware
`react-meteor-data` import. See `references/react-migration.md`, then use
`meteor-react` for current hook, scaffold, and build guidance.
## Symptom router
| Symptom | Reference |
|------------------------------------------------------|----------------------------------------|
| `TypeError: Collection.findOne is not a function` | `references/async-rewrites.md` |
| `Method returns undefined` or returns a `Promise` | `references/async-rewrites.md` |
| Downstream caller receives or reads from a `Promise` | `references/async-rewrites.md` |
| Cron, hook, timer, or event callback drops a Promise | `references/async-rewrites.md` |
| Read method receives `$set`, `$push`, or another modifier | `references/async-rewrites.md` |
| `allow` / `deny` validator needs an async database read | `references/async-rewrites.md` |
| `Meteor.call` callback never fires | `references/call-vs-callAsync.md` |
| `ReferenceError: X is not defined` at startup | `references/module-system.md` |
| Template renders, no data, Minimongo empty | `references/module-system.md` |
| Iron Router controller silently does not run | `references/module-system.md` |
| `{{> partial}}` renders nothing in Blaze | `references/module-system.md` |
| Page renders but live data never updates | `references/client-reactivity.md` |
| Blaze helper returns a `Promise` | `references/client-reactivity.md` |
| Cursor `transform` errors with "returned a Promise" | `references/publications.md` |
| `sub.added` writes never reach the client | `references/publications.md` |
| Method or publication loses `this.userId` | `references/publications.md` |
| Atmosphere package fails to resolve or build | `references/package-triage.md` |
| `forEach`/`map`/`filter` with `await` skips items | `references/js-iterators.md` |
| Middleware on `WebApp.connectHandlers` not firing | `references/webapp-express.md` |
| Route uses an unnamed wildcard after Meteor 3.1 | `references/webapp-express.md` |
| `rawCollection` callback never fires | `references/other-breaking-changes.md` |
| Patched publication loses `Meteor.userId()` or async context | `references/other-breaking-changes.md` |
| `meteor reset` did not wipe the local Mongo | `references/other-breaking-changes.md` |
| `Method stub (X) took too long` console warning | `references/call-vs-callAsync.md` |
| "Cannot enlarge memory array" during `meteor update` | `references/other-breaking-changes.md` |
| External callback lost `this.userId` or env vars | `references/other-breaking-changes.md` |
| Monkey-patched `Meteor.publish` never runs | `references/other-breaking-changes.md` |
| `meteor/*` imports resolve to `any` in TypeScript | `references/typescript-migration.md` |
| `useTracker` or `useSubscribe` not re-running | `references/react-migration.md` |
## Anti-patterns
- Do not run `meteor update --release=3` first. Async-convert and
package-triage on 2.x first.
- Do not global-replace `findOne` with `findOneAsync`. Many callers need
rewriting, not just `await`.
- Do not mechanically rewrite client Minimongo calls to async. Both APIs work
on the client. Prefer sync calls in naturally synchronous Blaze and Tracker
code; use async calls in shared or already-async flows. Wrap reactive reads
after an `await` with `Tracker.withComputation`.
- Do not rely on Iron Router controller naming-convention lookup. Pass
`controller:` explicitly on every route.
- Do not mix `await` and `.then()` in the same function. Pick one.
- Do not assume implicit globals work. Every top-level identifier in 3.x
must be `const`, `let`, or `export`-ed.
- Do not invent async replacements. `Meteor.userId()` remains synchronous
inside methods and publications; there is no `Meteor.userIdAsync()`.
- Do not use an arrow as a method or publication handler when it reads
framework-bound `this`. An arrow ignores the invocation context Meteor
supplies.
- Do not rewrite `api.addFiles` or `api.export` only because the app moved to
Meteor 3. They remain supported for Atmosphere packages.
## See also
- Async: `async-rewrites.md`, `call-vs-callAsync.md`, `async-cheatsheet.md`,
`js-iterators.md`, `removed-functions.md`.
- Runtime: `module-system.md`, `client-reactivity.md`, `publications.md`,
`webapp-express.md`, `other-breaking-changes.md`.
- Project: `package-triage.md`, `typescript-migration.md`,
`react-migration.md`, `eval-cases.md`.
- Current Meteor React integration after the upgrade: `meteor-react`.
## Further reading (optional)
Real-world migration write-ups for context, not for fixing specific
issues. The symptom router above is sufficient on its own. Open
`references/community-case-studies.md` only when the user asks for
narrative case studies or wants to calibrate effort and timeline.
@@ -0,0 +1,32 @@
# Async cheatsheet
Quick lookup for the sync-to-async rewrite Meteor 3 requires on the server.
| Surface | Sync (2.x, server) | Async (3.x, server) |
|------------------------|---------------------------------|-----------------------------------------|
| Mongo read | `c.find(q).fetch()` | `await c.find(q).fetchAsync()` |
| Mongo single read | `c.findOne(q)` | `await c.findOneAsync(q)` |
| Mongo write | `c.insert(d)` | `await c.insertAsync(d)` |
| Mongo update | `c.update(q, m)` | `await c.updateAsync(q, m)` |
| Mongo delete | `c.remove(q)` | `await c.removeAsync(q)` |
| Mongo upsert | `c.upsert(q, m)` | `await c.upsertAsync(q, m)` |
| Cursor enumeration | `cursor.forEach(fn)` | `await cursor.forEachAsync(fn)` |
| Cursor count | `cursor.count()` | `await cursor.countAsync()` |
| Cursor map | `cursor.map(fn)` | `await cursor.mapAsync(fn)` |
| RPC | `Meteor.call('m', ...args, cb)` | `await Meteor.callAsync('m', ...args)` |
| RPC with options | `Meteor.apply(...)` | `await Meteor.applyAsync(...)` |
| User identity (server) | `Meteor.user()` | `await Meteor.userAsync()` |
| Accounts create (server) | `Accounts.createUser(o)` | `await Accounts.createUserAsync(o)` |
| Accounts password set | `Accounts.setPassword(...)` | `await Accounts.setPasswordAsync(...)` |
| Accounts add email | `Accounts.addEmail(uid, addr)` | `await Accounts.addEmailAsync(uid, addr)` |
| Email | `Email.send(opts)` | `await Email.sendAsync(opts)` |
| Mongo index | `Collection._ensureIndex(spec)` | `await Collection.createIndexAsync(spec)` |
| Asset, text | `Assets.getText(path)` | `await Assets.getTextAsync(path)` |
| Asset, binary | `Assets.getBinary(path)` | `await Assets.getBinaryAsync(path)` |
Client Minimongo keeps its synchronous API. Client RPC may still move from a
callback to `callAsync`, and `Accounts.createUserAsync` is available, but the
callback-shaped client Accounts APIs were not removed.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/migrating-to-async-in-v2/index.md
@@ -0,0 +1,224 @@
# Sync-to-async rewrite mechanics
Meteor 3 removed the synchronous Mongo API on the server. Replace each sync
Mongo call with its `*Async` sibling. Every caller that consumes the resulting
value must await it. A function that only returns the Promise can forward it
without adding `async` or `await`. Promise handling propagates up the call stack
until it reaches a method, publication, middleware, or another async-capable
framework boundary.
## Decision flow
1. Rewrite the leaf server API to its `*Async` sibling.
2. Find every caller of the changed function, including indirect callers.
3. Caller consumes the resolved value: mark it `async` and add `await`.
4. Caller only returns the Promise: return it directly; `return await` is not
required unless local error handling needs it.
5. Caller is a synchronous-only boundary: restructure it around an async
factory, preloaded value, or an async-capable outer boundary.
6. Continue until all paths reach a framework boundary that accepts Promises.
7. Client-side Minimongo supports both sync and async APIs. Keep sync calls
when they simplify naturally synchronous reactive UI code. Use async calls
in shared or already-async flows; reactive reads after an `await` require
`Tracker.withComputation`. See `client-reactivity.md`.
8. Inside a method or publication, prefer `this.userId` over
`Meteor.userId()`. The async server context can lose the implicit user.
## Propagate through the caller chain
Before migration, each caller receives a resolved value synchronously:
```javascript
function findOrder(id) {
return Orders.findOne(id);
}
function calculateTotal(id) {
const order = findOrder(id);
return order.lines.reduce((total, line) => total + line.amount, 0);
}
function buildInvoice(id) {
return { orderId: id, total: calculateTotal(id) };
}
Meteor.methods({
createInvoice(id) {
return buildInvoice(id);
},
});
```
After converting the leaf API, propagate Promise handling through every caller
that consumes the result:
```javascript
function findOrder(id) {
return Orders.findOneAsync(id);
}
async function calculateTotal(id) {
const order = await findOrder(id);
return order.lines.reduce((total, line) => total + line.amount, 0);
}
async function buildInvoice(id) {
const total = await calculateTotal(id);
return { orderId: id, total };
}
Meteor.methods({
async createInvoice(id) {
return buildInvoice(id);
},
});
```
`findOrder` only forwards the Promise, so it does not need the `async` keyword.
The next two functions inspect resolved values, so both must be async and await
their callees. The method is the framework boundary and can return the final
Promise. When independent calls exist at one level, use `Promise.all` instead
of introducing unnecessary sequential waits.
## Synchronous-only boundaries
Constructors cannot be async. Move loading into an async factory and keep the
constructor synchronous:
```javascript
class Invoice {
constructor(order) {
this.order = order;
}
static async create(orderId) {
const order = await Orders.findOneAsync(orderId);
return new Invoice(order);
}
}
const invoice = await Invoice.create(orderId);
```
Apply the same rule to callbacks. Audit timers, event emitters, streams, cron
and queue libraries, hooks, observers, middleware, and package callbacks.
Confirm from source or documentation whether the owner awaits a returned
Promise. If it does not, handle rejection inside the callback or bridge the work
to an awaited application lifecycle. Treat `void task().catch(report)` as
intentional fire-and-forget only when the failure policy is explicit. Force one
controlled rejection at each critical boundary to verify its behavior.
## Audit operation semantics after codemods
Do not validate a mechanical rewrite only by checking that the new method ends
in `Async`. Compare the operation and arguments with the original call.
- Flag read methods such as `findOneAsync` when an options argument contains
update operators such as `$set`, `$unset`, `$push`, `$pull`, or `$inc`.
- Flag write methods whose selector, modifier, or options shape matches a read.
- Flag changed async calls whose Promise is neither awaited, returned, caught,
nor deliberately detached with a documented failure policy.
- Exercise each changed write path and read the record back from the database.
Do not auto-edit a computed argument shape that cannot be resolved statically.
Report it for review.
## `allow` and `deny` during a staged migration
Prefer replacing `Collection.allow` and `Collection.deny` with authenticated
methods. When legacy rules must survive, treat them as a version boundary. Keep
validators compatible with the active Meteor 2 release during preparation,
then convert database reads inside validators to async functions for Meteor 3.
Meteor 3 awaits Promise-returning validators, as documented by the
[collection API](https://docs.meteor.com/api/collections). Test one allowed and
one denied client mutation after the release flip. Validators without database
access may remain synchronous.
## Async framework boundaries
Meteor methods and publish handlers may return Promises. Meteor also awaits a
Promise returned by a server `Meteor.startup` hook. Propagate critical startup
work to that boundary instead of starting it and returning `undefined`:
```javascript
Meteor.startup(async () => {
try {
await Migrations.migrateTo("latest");
} catch (error) {
console.error("Migration failed", error);
throw error;
}
});
```
Do not catch and swallow a failure that must stop startup. Browser event
systems usually do not await an async handler, so catch rejected method calls
inside the handler or deliberately forward them to application error state.
## Server rewrites
```javascript
const doc = await Posts.findOneAsync(id);
const list = await Posts.find(q, { fields, sort, limit }).fetchAsync();
const _id = await Posts.insertAsync(doc);
await Posts.updateAsync(q, mod);
await Posts.removeAsync(q);
await Posts.upsertAsync(q, mod);
```
Cursor methods on the server are async too:
```javascript
await cursor.forEachAsync(fn);
await cursor.mapAsync(fn);
await cursor.countAsync();
```
## Iterators with await
Naive `forEach` / `map` / `filter` callbacks marked `async` do not block the
iterator. See `js-iterators.md`.
## Fibers helpers
The Fibers-era helpers are gone:
| Removed | Replacement |
|--------------------------|------------------------------------------------------|
| `Meteor._sleepForMs(ms)` | `await new Promise(r => setTimeout(r, ms))` |
| `Meteor.wrapAsync(fn)` | Call the underlying async API directly. |
| `Promise.await(promise)` | `await promise` |
| `Future` (`fibers/future`) | The package no longer ships. Refactor to async. |
## Common errors
- `TypeError: Collection.findOne is not a function`: server-side sync API
removed. Use `findOneAsync` and `await`.
- Application code receives a Promise where it expects a document: the
consuming caller is not awaiting. Mark that caller `async` and await the
call.
- `Meteor.call` returns `undefined` on the client: use
`await Meteor.callAsync(...)` or provide a callback.
- `ReferenceError: Fiber is not defined`: a package or app file still
references Fibers. Remove the dependency and rewrite the function.
## HTTP and timers
`HTTP.get`/`HTTP.post` are removed. Use native `fetch`:
```javascript
const res = await fetch(url, { headers });
const data = await res.json();
```
Fetch resolves for HTTP error statuses. Check `res.ok` or the expected status
before treating the request as successful. Review body serialization, response
parsing, redirects, cookies, timeout or cancellation via `AbortSignal`, proxy
behavior, and custom TLS or CA configuration. Preserve the error contract that
callers expect. Test success, non-2xx, malformed response, and network failure.
`Meteor.defer(fn)` for fire-and-forget work survives, but for bulk fan-out
prefer `await Promise.all(items.map(processOne))`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/migrating-to-async-in-v2/index.md
@@ -0,0 +1,77 @@
# `Meteor.call` vs `Meteor.callAsync`
In Meteor 2.x, `Meteor.call('name', ...args, callback)` was the canonical client
invocation. In Meteor 3.x, prefer `Meteor.callAsync('name', ...args)`, which
returns a `Promise`.
## Client-side rewrites
| 2.x | 3.x |
|--------------------------------------------------|------------------------------------------------------|
| `Meteor.call('m', a, b, (err, res) => ...)` | `try { const res = await Meteor.callAsync('m', a, b) } catch (err) { ... }` |
| `Meteor.call('m', a, b)` (fire-and-forget) | `Meteor.callAsync('m', a, b).catch(console.error)` |
| `Meteor.apply('m', args, opts, cb)` | `await Meteor.applyAsync('m', args, opts)` |
## Server-side rewrites
On the server, `Meteor.call` runs inline (no DDP round trip). Use `callAsync`
for consistency and to make the call site `await`-able.
## Optimistic UI
`callAsync` participates in latency compensation the same way `call` did. If
the method has a client-side stub, the stub runs immediately and the local
collection writes are visible before the server round trip resolves.
## Error shape
Intentional client-visible server failures should throw `Meteor.Error`, whose
rejection exposes `.error`, `.reason`, and `.details`. Do not assume every
rejection has that shape. A local stub exception, API misuse, or transport
failure can produce a native or arbitrary error. Narrow the value first:
```javascript
try {
await Meteor.callAsync('orders.create', input);
} catch (error) {
if (error && typeof error === 'object' && 'error' in error) {
reportMeteorError(error.error, error.reason, error.details);
} else {
reportUnexpectedError(error);
}
}
```
## When to keep `Meteor.call`
Only when interoperating with a library that requires a callback. New code
should always use `callAsync`.
## Method stub macrotask ban
In Meteor 3 the client-side stub of a method must complete within one
microtask tick. The runtime watches for stubs that yield to a macrotask
and logs:
```
Method stub (<method name>) took too long and could cause unexpected problems.
```
These APIs are banned inside a stub body:
- `fetch` and `XMLHttpRequest`
- `setTimeout`, `setInterval`, `setImmediate`
- `indexedDB`
- Web Workers and `Worker.postMessage`
Async stubs are supported. They may await work that settles without yielding
to a browser macrotask, including `*Async` Minimongo writes used by a shared
client/server method definition. Do external I/O after `callAsync` resolves.
Keep the stub limited to deterministic local state changes.
Symptom: the optimistic update flashes (the local write is reverted)
even though the server method succeeds. The stub yielded to a macrotask
and Meteor discarded its writes.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/breaking-changes/call-x-callAsync.md
@@ -0,0 +1,148 @@
# Client reactivity inside async code
In Meteor 2.x, `Collection.findOne` on the client was synchronous and
reactive. Inside a Blaze helper or `Tracker.autorun`, calling it registered
a dependency that re-ran the computation when the underlying data changed.
In Meteor 3.x the sync Minimongo API still exists on the client, and the
`*Async` siblings (`findOneAsync`, `fetchAsync`) also work there. A reactive
read executed before the first `await`, including the first async query, can
register a Tracker dependency. Code after an `await` loses
`Tracker.currentComputation` unless the reactive read is wrapped with
`Tracker.withComputation`.
## The trap
```javascript
// BROKEN: the reactive query runs after an await without its computation.
Template.profile.helpers({
async user() {
await Meteor.callAsync('profiles.prepare', this.userId);
return Meteor.users.findOneAsync(this.userId);
},
});
```
Blaze can unwrap the returned Promise, but the query runs after the first
`await`. It cannot register the helper's Tracker dependency, so subsequent
document changes do not re-run the helper.
## The rule
On the server, use the `*Async` API. On the client, choose based on the calling
code:
- Prefer sync Minimongo in naturally synchronous Blaze helpers, render paths,
and Tracker computations. It avoids Promise state and unnecessary async
propagation while retaining normal reactivity.
- Prefer async Minimongo in shared client/server modules and code that is
already async.
- A reactive query before the first `await` can register dependencies. Wrap
each reactive query after an `await` with `Tracker.withComputation`.
```javascript
// Simple and reactive: sync Minimongo in synchronous UI code.
Template.profile.helpers({
user() {
return Meteor.users.findOne(this.userId);
},
});
```
## Async helpers that need reactivity
An async Minimongo call made before any `await` can also be reactive:
```javascript
Tracker.autorun(async () => {
const users = await Meteor.users.find().fetchAsync();
renderUsers(users);
});
```
If unrelated async work happens first, save the computation and restore it
around the later reactive read:
```javascript
import { Tracker } from 'meteor/tracker';
Template.profile.helpers({
enriched() {
const computation = Tracker.currentComputation;
return (async () => {
const more = await Meteor.callAsync('users.enrich', this.userId);
const doc = await Tracker.withComputation(
computation,
() => Meteor.users.findOneAsync(this.userId),
);
return { ...doc, ...more };
})();
},
});
```
Code before the first `await` keeps the current computation. Code after it does
not. Wrap only the reactive reads that need the saved computation;
`Tracker.withComputation` has a performance cost.
## Blaze async helpers (Blaze 2.7+)
Blaze 2.7+ understands Promises returned by helpers and exposes three
state directives inside `{{#let}}`:
- `@resolved "<name>"`: true once the named `let` binding has settled.
- `@pending "<name>"`: true while the named `let` binding is still
awaiting.
- `@rejected "<name>"`: true if the named `let` binding threw or its
Promise rejected.
```handlebars
{{#let user=getUserAsync}}
{{#if @pending "user"}}<Spinner />{{/if}}
{{#if @rejected "user"}}<Error msg="Could not load user" />{{/if}}
{{#if @resolved "user"}}
{{> profile data=user}}
{{/if}}
{{/let}}
```
This gives the same surface as React Suspense: a spinner during the
await, an error region on rejection, the resolved value once ready.
## Async iteration in Blaze
`{{#each}}` accepts an async helper that returns a Promise of an array
or cursor. Pair it with `{{else}}` for an empty-state branch:
```handlebars
{{#each user in getUsersAsync}}
{{> userRow user=user}}
{{else}}
<p>No users yet.</p>
{{/each}}
```
The minimum Blaze version for these directives is 2.7. If your project
pins an older Blaze, upgrade `blaze-html-templates` and the
`blaze` runtime packages before relying on `@pending`/`@rejected`.
## Symptoms
- Page renders correctly on initial load. Subsequent changes to the data
never appear. A reactive query runs after an `await` without
`Tracker.withComputation`.
- A Blaze partial logs `[object Promise]` instead of the value. The helper
returned a Promise without `@resolved` gating.
- `Tracker.autorun` runs once. Subsequent invalidations are silent. Its
reactive reads occur only after an `await` without restoring the
computation.
## Two-phase data patterns
When a publication ships a base document and a second subscription
enriches it, the enrichment runs in a separate `Tracker.autorun`. Keep
both reads sync (minimongo) inside the helper. Use the explicit
`Meteor.subscribe` handle and `subscription.ready()` to gate rendering.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/front-end/blaze.md
@@ -0,0 +1,76 @@
# Community case studies
Real-world Meteor 2.x to 3.x migration write-ups. Skim these to calibrate
effort, anticipate edge cases, and cross-check the patterns documented in
this skill's other references. Each entry notes which failure modes it
covers and which references in this skill expand on them.
## Production Blaze app on Meteor 3.4 with Rspack
[Migrating a Production Blaze App from Meteor 2 to 3.4 with Rspack](https://blog.galaxycloud.app/meteorjs-2-to-3-blaze-migration-rspack/)
on the Galaxy blog.
Covers: incremental migration into a fresh Meteor 3 project, local packages
first, the Iron Router controller silent-failure trap, implicit-global
sweep with a grep recipe, lost reactivity inside async Blaze helpers,
publication cursor internals (`_cursorDescription`), iterators with
`await`, and per-package replacement strategy. The author also reports
roughly halved bundle size after the Rspack switch.
Maps to: `module-system.md`, `client-reactivity.md`, `publications.md`,
`js-iterators.md`, `package-triage.md`.
## Solo developer migration over 18 months
[Migrating to Meteor 3: a solo developer story](https://dev.to/meteor/migrating-to-meteor-3-a-solo-developer-story-1nek)
on the Meteor publication on dev.to.
Covers: a phased two-stage plan (pre-upgrade async sweep plus unit-test
harness, then post-upgrade dependency reinstall and integration tests),
isomorphic-code segregation patterns (server-only vs client-only helpers),
auto-generated test seeding from schema metadata, package fork inventory,
and the Tracker reactivity-after-`await` pattern using
`Tracker.withComputation`. Useful as a worked example of test-first
migration strategy.
Maps to: `async-rewrites.md`, `client-reactivity.md`, `package-triage.md`.
## Gradual upgrade strategy and dependency triage
[Gradually upgrading a Meteor.js project to 3.0](https://dev.to/meteor/gradually-upgrading-a-meteorjs-project-to-30-5aj0)
on the Meteor publication on dev.to.
Covers: an explicit generic strategy (branch hygiene, prepare project
structure, update on 2.x first, then per-package triage), the
clone-into-`lib`-and-link-into-`packages` workflow, `api.versionsFrom`
dual-version pinning, and the multi-version `api.use('mongo@1.16.0 || 2.0.0')`
syntax.
Maps to: `package-triage.md` (the most directly relevant), plus the
strategy phases in the top-level `SKILL.md`.
## Large-team migration over a year
[The Meteor 3.0 Migration: A Space Exploration Mission](https://dev.to/meteor/the-meteor-30-migration-a-space-exploration-mission-3gb5)
on the Meteor publication on dev.to.
Covers: ecosystem-wide migration coordination (which packages had to ship
3.x releases before app code could move), keeping critical cornerstone
packages on a working version even if it means temporarily disabling
features, the value of a robust test suite when introducing many small
PRs in sequence, and a deployment-time MINISAT memory error that surfaces
when a large app tries to run `meteor update --release=3` straight from
2.x. Reinforces the rule: do not flip the version flag first.
Maps to: `package-triage.md`, the strategy section of `SKILL.md`.
## How to use these
Read in this order when planning a migration:
1. Start with the gradual-upgrade article for the high-level strategy.
2. Read the solo-developer story for the test-first angle.
3. Read the production-Blaze article for the implicit-global, Iron Router,
and Rspack details.
4. Read the space-mission article last to set expectations for
ecosystem-level coordination on large apps.
@@ -0,0 +1,405 @@
# Evaluation cases for `migrate-to-meteor-3`
A human runs these prompts against Claude Code and Cursor with the skill
installed and verifies the agent loads the skill and produces the expected
output.
## Case 1: missing await on server-side find
Prompt:
```
I just upgraded to Meteor 3. This method returns undefined on the server,
but it worked in 2.x:
Meteor.methods({
listPosts() {
return Posts.find({ published: true }).fetch();
},
});
What did I miss?
```
Pass if the agent suggests `await Posts.find(...).fetchAsync()` and marks
the method `async`. Bonus pass if the agent points at
`references/async-rewrites.md`.
## Case 2: implicit global ReferenceError
Prompt:
```
After updating to Meteor 3 my server crashes on boot with
ReferenceError: PostsShowController is not defined. The file that defines
it just has `PostsShowController = RouteController.extend({...})` at the top.
```
Pass if the agent identifies the implicit-global pattern, suggests
`const PostsShowController = ...` (or `export`), and points at
`references/module-system.md`.
## Case 3: Iron Router silent failure
Prompt:
```
Some of my Iron Router routes load the template but the data is missing.
No errors. The publication never starts. I'm on Meteor 3.
```
Pass if the agent identifies the controller naming-convention lookup
breakage and suggests adding `controller: <Name>` explicitly to the
route definition.
## Case 4: lost reactivity after async helper rewrite
Prompt:
```
After migrating this Blaze helper, the page renders once and never updates
when the underlying user document changes:
async user() {
await Meteor.callAsync('profiles.prepare', this.userId);
return Meteor.users.findOneAsync(this.userId);
}
```
Pass if the agent explains that client Minimongo supports both sync and async
APIs, and that the query loses the computation because it runs after the first
`await`. Accept either simplifying the helper to synchronous Minimongo when
the preparation step is unnecessary, or wrapping the later query with
`Tracker.withComputation`. Fail if it claims all async Minimongo queries are
nonreactive.
## Case 5: forEach with await skips items
Prompt:
```
This loop runs but my insertedIds is empty afterwards:
const insertedIds = [];
items.forEach(async (item) => {
const id = await Items.insertAsync(item);
insertedIds.push(id);
});
return insertedIds;
```
Pass if the agent identifies that `forEach` does not await the callback,
and rewrites to `for...of` or `Promise.all`.
## Case 6: cursor transform errors out
Prompt:
```
My publication errors with "publish function returned a Promise":
Meteor.publish('feed', function () {
return Posts.find({}, { transform: async (doc) => {
doc.author = await Users.findOneAsync(doc.authorId);
return doc;
}});
});
```
Pass if the agent calls out that cursor `transform` must be synchronous
and proposes either a separate publication for users or the low-level
publish API.
## Case 7: Atmosphere package fails to resolve
Prompt:
```
After `meteor update --release=3` my build fails because
old-atmosphere-package needs api.versionsFrom('1.5') and there is no
3.x-compatible version on Packosphere.
```
Pass if the agent walks through the triage matrix (replace, fork, remove)
and describes how to fork minimally, update `api.versionsFrom`, and link
from `lib/` into `packages/`.
## Case 8: async propagation through callers
Prompt:
```javascript
function findOrder(id) {
return Orders.findOne(id);
}
function calculateTotal(id) {
return findOrder(id).total;
}
function buildInvoice(id) {
return { total: calculateTotal(id) };
}
Meteor.methods({
createInvoice(id) {
return buildInvoice(id);
},
});
```
"Migrate this call chain to Meteor 3. Do not change only the Mongo call."
Pass if the agent traces the complete caller chain, replaces `findOne` with
`findOneAsync`, awaits the result before reading `.total`, propagates Promise
handling through `buildInvoice`, and stops at the method boundary. Accept
direct Promise forwarding where no resolved value is consumed. Fail if any
caller still treats a Promise as the resolved value.
## Case 9: synchronous constructor boundary
Prompt:
```javascript
class Invoice {
constructor(orderId) {
this.order = Orders.findOne(orderId);
}
}
```
"Migrate this class to Meteor 3 while preserving construction correctness."
Pass if the agent does not mark the constructor async. It must introduce an
async factory or require a preloaded order, await `findOneAsync` outside the
constructor, and keep object construction synchronous.
## Case 10: async publication returning a cursor
Prompt:
```javascript
Meteor.publish("posts.byTeam", async function (teamId) {
const member = await Memberships.findOneAsync({ teamId, userId: this.userId });
if (!member) return this.ready();
return Posts.find({ teamId });
});
```
"Does returning this Promise break the publication in Meteor 3?"
Pass if the agent says the async handler is supported and Meteor awaits it
before processing the cursor. Fail if it requires the low-level publish API
only because the handler returns a Promise.
## Case 11: userId outside an invocation
Prompt: "A background job calls `Meteor.userId()` and throws. Should I replace
it with `await Meteor.userIdAsync()`?"
Pass if the agent states that `Meteor.userIdAsync()` does not exist, explains
that `Meteor.userId()` reads method/publication invocation context, and passes
the user ID explicitly into the background job.
## Case 12: client Accounts callback locus
Prompt: "After moving to Meteor 3.4, must I replace client
`Accounts.createUser(options, callback)` and
`Meteor.loginWithPassword(user, password, callback)`?"
Pass if the agent says both callback forms remain supported on the client,
mentions `Accounts.createUserAsync`, and does not suggest
`Meteor.loginWithPasswordAsync` before Meteor 3.5.
## Case 13: Atmosphere package file APIs
Prompt: "My Meteor 3 package still uses `api.addFiles` and `api.export`. Are
those APIs removed, and must I convert it to `api.mainModule`?"
Pass if the agent says all three APIs remain supported, treats
`api.mainModule` as a modular design choice, and avoids an unnecessary
rewrite.
## Case 14: startup migration propagation
Prompt:
```javascript
Meteor.startup(() => {
Migrations.migrateTo("latest").catch(console.error);
});
```
"Why can requests run before the migration finishes?"
Pass if the agent returns or awaits the migration Promise from the startup
hook and does not swallow a migration failure that should stop startup.
## Case 15: scheduler discards a Promise
Prompt:
```javascript
cron.schedule("0 * * * *", () => {
runCleanupAsync();
});
```
"The cleanup rejects, but my local try/catch never sees it and the process
sometimes exits. Is marking the callback async enough?"
Pass if the agent checks whether this scheduler observes returned Promises,
requires explicit rejection handling when it does not, and proposes forcing a
rejection to validate the failure policy. Fail if it adds `async` without
examining the callback contract.
## Case 16: semantically wrong async rewrite
Prompt:
```javascript
await Meteor.users.findOneAsync(
{ "services.ldap.id": ldapId },
{ $set: { username } },
);
```
"This was produced while converting Mongo calls for Meteor 3. It runs without
a syntax error, but the username is unchanged."
Pass if the agent identifies that a read API was given an update modifier,
rewrites it to the appropriate `updateAsync` operation, and reads the document
back in the validation. Fail if it treats the `Async` suffix as sufficient.
## Case 17: database-backed allow rule
Prompt: "A legacy `Collection.allow` rule performs a server database lookup.
Can I keep it while moving from Meteor 2.16 to Meteor 3.4?"
Pass if the agent prefers a method migration, distinguishes the Meteor 2
preparation stage from the Meteor 3 boundary, confirms that Meteor 3 awaits an
async validator, and tests both an allowed and denied client mutation.
## Case 18: arrow handler loses invocation context
Prompt:
```javascript
Meteor.publish('items.mine', () => {
if (!this.userId) return this.ready();
return Items.find({ ownerId: this.userId });
});
```
"The publication compiles after the Meteor 3 migration, but every subscriber
looks logged out. Should I replace every arrow inside the function?"
Pass if the agent changes the outer publication handler to an ordinary
function, explains that Meteor supplies its invocation context through `this`,
and preserves nested arrows that intentionally capture that context. It must
validate authenticated and unauthenticated subscriptions. Fail if it rewrites
all arrows indiscriminately or replaces `this.userId` with a nonexistent async
API.
## Case 19: callback RPC to `callAsync`
Prompt: "Migrate this client call without losing its error handling:
`Meteor.call('orders.create', input, (error, id) => saveResult(error, id))`."
Pass if the agent uses `await Meteor.callAsync` inside `try`/`catch`, passes the
resolved ID to the success path, and passes the rejection to the existing
error path. It should keep `Meteor.call` only when a callback-only consumer
requires it.
## Case 20: Express 5 WebApp route
Prompt: "After Meteor 3.1, my `WebApp.connectHandlers` route with `/files/*`
stopped matching. Migrate it to the current API."
Pass if the agent moves new code to `WebApp.handlers`, replaces the unnamed
wildcard with an Express 5 named wildcard, and preserves middleware order.
Fail if it says the deprecated alias was removed outright.
## Case 21: async EnvironmentVariable wrapper
Prompt: "A Meteor 2 package patches `Meteor.publish` by nesting
`EnvironmentVariable.withValue` inside the publication handler. After moving
to Meteor 3, code after an `await` loses the `Meteor.userId()` publication
context. Diagnose it and update the wrapper to the current v3-docs placement."
Pass if the agent places `withValue` at the patch wrapper's top level around
the original `publish.call`, returns the scoped result, and leaves the invoked
handler to call the original function without another `withValue`. It must
validate `Meteor.userId()` or the publication invocation before and after an
`await`. Fail if it keeps the nested scope inside the invoked handler.
## Case 22: raw Mongo callback
Prompt: "This Meteor 2 code never calls its callback on Meteor 3:
`Posts.rawCollection().findOne({ _id }, callback)`."
Pass if the agent explains that MongoDB driver 6 removed callback overloads
and rewrites the operation to `await Posts.rawCollection().findOne({ _id })`
with `try`/`catch` at the owning async boundary.
## Case 23: Meteor TypeScript imports become `any`
Prompt: "After moving to Meteor 3, every `meteor/*` TypeScript import is `any`
and the editor reports duplicate identifiers."
Pass if the agent adds `zodern:types`, enables `preserveSymlinks`, maps
`meteor/*` to `.meteor/local/types/packages.d.ts`, and restarts the TypeScript
server. It must keep generated types out of source control.
## Case 24: React Suspense is optional
Prompt: "Must every Meteor 3 React component switch from
`meteor/react-meteor-data` to the `/suspense` import?"
Pass if the agent says the classic hooks remain supported, requires an
upstream Suspense boundary only when choosing the suspense import, and uses a
stable key for suspense `useTracker`. It must inspect `.meteor/versions`, note
that Suspense began in `react-meteor-data` 2.7.0 and Meteor 3 compatibility in
3.0.0, and prefer 3.0.0+ for the migrated app. If it converts `useFind`, it
must change the signature. Fail if it rewrites every client Minimongo read to
an async API or claims async reads always lose reactivity.
## Case 25: `bindEnvironment` capture timing
Prompt: "A global event emitter is wrapped with `Meteor.bindEnvironment` at
server startup. Later, events created by logged-in methods still see no
`Meteor.userId()`. Why?"
Pass if the agent explains that the wrapper captured the startup environment,
not a future method invocation. It should pass `this.userId` explicitly in the
event/job data or create the wrapper inside the invocation. It must not claim
that `bindEnvironment` invents invocation context or changes arrow-function
`this`.
## Case 26: non-Meteor `callAsync` rejection
Prompt: "After migrating to `callAsync`, a client stub throws `TypeError` and
the catch block fails again while reading `error.error`."
Pass if the agent keeps `Meteor.Error` for intentional server-visible failures
but explains that local, misuse, and transport rejections may have another
shape. It must narrow the caught value before reading Meteor-specific fields.
## Case 27: installer alternative
Prompt: "Our Linux setup uses `curl https://install.meteor.com/ | sh`. Must we
replace it because Meteor 3 phased it out?"
Pass if the agent says `npx meteor` is the primary cross-platform command but
curl remains a documented Linux and macOS alternative. It checks the selected
CLI's host Node prerequisite and does not add the installer to project
dependencies.
## Case 28: fresh CLI installation near miss
Prompt: "There is no Meteor application yet. Install the Meteor 3 CLI on this
new Windows workstation and make sure PATH works."
Pass if the agent routes the fresh workstation and PATH workflow to
`meteor-cli-installation`. Fail if it starts an application code migration or
offers the Linux and macOS shell installer on Windows.
@@ -0,0 +1,122 @@
# Iterators with `await`
Naive `Array.prototype.forEach`, `Array.prototype.map`, `Array.prototype.filter`,
and `Array.prototype.find` do **not** make their containing function async
just because the callback is marked `async`. The iterator returns synchronously;
the callback's Promise is discarded.
## `forEach`
```javascript
// BROKEN: returns before any awaited work resolves
items.forEach(async (item) => {
await processItem(item);
});
```
Replace with `for...of`:
```javascript
for (const item of items) {
await processItem(item);
}
```
This runs the items serially. If order does not matter and you want
concurrency, use `Promise.all`:
```javascript
await Promise.all(items.map((item) => processItem(item)));
```
## `map`
```javascript
// BROKEN: result is an array of Promises, not values
const ids = users.map(async (u) => await Users.insertAsync(u));
```
Two correct shapes:
```javascript
// concurrent
const ids = await Promise.all(
users.map((u) => Users.insertAsync(u)),
);
// serial
const ids = [];
for (const u of users) {
ids.push(await Users.insertAsync(u));
}
```
For large arrays, prefer the serial form to avoid hammering Mongo with N
parallel writes.
## `filter`
`Array.prototype.filter` cannot be awaited. Two patterns:
```javascript
// concurrent then prune
const checks = await Promise.all(
items.map(async (it) => ({ it, keep: await predicate(it) })),
);
const kept = checks.filter((c) => c.keep).map((c) => c.it);
// serial
const kept = [];
for (const it of items) {
if (await predicate(it)) kept.push(it);
}
```
## `find`
```javascript
// BROKEN
const hit = items.find(async (it) => await match(it));
```
Replace with `for...of`:
```javascript
let hit;
for (const it of items) {
if (await match(it)) {
hit = it;
break;
}
}
```
## `reduce`
Reduce with an async callback usually wants an accumulator that is itself
a Promise:
```javascript
// serial reduce
const sum = await items.reduce(async (accP, item) => {
const acc = await accP;
return acc + await score(item);
}, Promise.resolve(0));
```
For readability, prefer `for...of` with an explicit accumulator.
## Cursor methods are different
Meteor cursor iterators on the server already have async siblings. Use
those instead of converting a `cursor.fetch()` array to a Promise loop:
```javascript
await cursor.forEachAsync(async (doc) => { /* ... */ });
const mapped = await cursor.mapAsync(async (doc) => { /* ... */ });
```
These properly await each callback.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/migrating-to-async-in-v2/index.md
@@ -0,0 +1,119 @@
# Module system, strict mode, implicit globals
Meteor 3 enforces ES module semantics on every file that uses `import`,
`export`, or top-level `await`. Strict mode is the default. Implicit
file-scoped globals (assignment without `var` / `let` / `const`) no longer
become visible to other files. Apps that relied on the pre-1.7 eager-loading
behavior surface a lot of `ReferenceError: X is not defined` at startup.
## The implicit-global pattern
Pre-3 Meteor allowed:
```javascript
// pre-3: visible to every file that loaded later
PostsShowController = RouteController.extend({ /* ... */ });
Search = { query: function () { /* ... */ } };
SearchResults = function (params) { /* ... */ };
```
After the upgrade, every line above throws `ReferenceError` at runtime.
## The fix
For file-local symbols, declare with `const` / `let`:
```javascript
const PostsShowController = RouteController.extend({ /* ... */ });
const Search = { query: async function () { /* ... */ } };
```
For symbols shared across files, export and import:
```javascript
// lib/search-results.js
export function SearchResults(params) { /* ... */ }
// client/main.js
import { SearchResults } from '../lib/search-results';
```
## Finding the offenders
Grep for assignments at the start of a line that start with a capital letter
and have no declaration:
```bash
grep -nE '^[A-Z][A-Za-z0-9_]+ = ' -- 'client/**/*.js' 'lib/**/*.js' 'server/**/*.js'
```
Every hit either becomes a `const` or moves to `export`. Iterate
fix-restart-fix until the server boots cleanly.
## Explicit import trees
Meteor's standard bundler retains backward-compatible eager loading when an
app has no `meteor.mainModule`. Explicit entry points are recommended because
they make load order and dependencies deterministic. They are required when
the app adopts the Rspack integration, which does not auto-discover an entry.
With `mainModule`, `client/main.js` must import every Blaze `.html` template
and every helper or event file it needs:
```javascript
// client/main.js
import './main.import.less';
import './views/application/layout.html';
import './views/application/layout.js';
import './views/posts/show.html';
import './views/posts/show.js';
import '../lib/router.js';
import '../lib/collections/posts.js';
```
Symptoms of a missed import:
- `{{> myTemplate}}` renders nothing. The template was never registered.
- Template helpers and event handlers do not fire. The `.js` file was not
loaded.
- The console logs `Template.X is not defined`.
## The Iron Router controller trap
Iron Router auto-discovers controllers by name: `route('postsShow', ...)`
looks for a global called `PostsShowController`. In Meteor 3 that global
does not exist; `const PostsShowController = ...` is module-scoped. The
route still renders its template, but `onBeforeAction`, `waitOn`, and
`data` never run. Subscriptions never fire. Minimongo stays empty. There
is no error.
Fix every route definition:
```javascript
// broken in Meteor 3: relies on global lookup
this.route('postsShow', {
path: '/posts/:slug',
});
// works: explicit controller reference
this.route('postsShow', {
path: '/posts/:slug',
controller: PostsShowController,
});
```
Do not rely on Iron Router's naming convention in Meteor 3 at all. Pass
`controller:` on every route that has one.
## Strict mode side effects
- Assignment to an undeclared variable throws. No more "oops, typo".
- `arguments.callee` is not available.
- Duplicate parameter names throw.
- Octal literals (`010`) throw. Use `0o10`.
- `with` is disallowed.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/api/global-variables.md
@@ -0,0 +1,202 @@
# Other breaking changes
Smaller breaking changes from the Meteor 3 upgrade that do not warrant
their own reference but still bite. Skim this once after the framework
flip; come back when a specific symptom matches.
## `Meteor.EnvironmentVariable.withValue` placement
Affects package authors that wrap `Meteor.publish`, `Meteor.methods`, or other
Meteor primitives to propagate dynamic context into a handler. In Meteor 3,
`withValue` uses `AsyncLocalStorage.run`; its context follows the callback's
Promise through `await`.
When patching `Meteor.publish`, place `withValue` at the wrapper's top level
around the call to the original `publish`. Do not introduce that scope inside
the invoked publication handler. Meteor establishes its own publication
invocation context before calling the handler, and the nested placement broke
packages that needed `Meteor.userId()` or another invocation value.
Wrong: introducing `withValue` inside the invoked handler:
```javascript
function patchPublish(publish) {
return function (name, func, ...args) {
return publish.call(this, name, function (...handlerArgs) {
return _publishConnectionId.withValue(this?.connection?.id, () =>
func.apply(this, handlerArgs)
);
}, ...args);
};
}
```
Right: scope the complete patched registration flow and return its result:
```javascript
function patchPublish(publish) {
return function (name, func, ...args) {
return _publishConnectionId.withValue(this?.connection?.id, () =>
publish.call(this, name, function (...handlerArgs) {
return func.apply(this, handlerArgs);
}, ...args)
);
};
}
```
Regression-test the invoked publication before and after an `await`. Its
`Meteor.userId()` or `DDP._CurrentPublicationInvocation` value must remain
consistent with the handler's `this.userId`. A direct `EnvironmentVariable`
test should likewise read the scoped value on both sides of an `await`.
## Mongo driver 6.x: callbacks removed on `rawCollection`
Meteor 3 ships MongoDB Node driver 6.x. The driver removed callback-style
overloads for every async operation. If your code drops to `rawCollection`
or `rawDatabase` for native driver access, rewrite the call sites:
```javascript
// Meteor 2.x: callback
Posts.rawCollection().findOne({ _id }, (err, doc) => { /* ... */ });
// Meteor 3.x: promise
const doc = await Posts.rawCollection().findOne({ _id });
```
The same applies to `rawCollection().aggregate(...).toArray(cb)`,
`insertOne(doc, cb)`, `bulkWrite(ops, cb)`, etc. If a third-party package
still passes a callback into a driver call, fork and rewrite.
## CLI changes
### `--vue2` flag removed
`meteor create --vue2` no longer exists. Vue 2 reached end of life in
December 2023. For Vue, use `meteor create --vue` (Vue 3).
### `meteor reset` no longer wipes Mongo by default
`meteor reset` now clears only the local build cache. The local MongoDB
data survives. To also wipe the database (the Meteor 2.x default), pass
`--db`:
```bash
meteor reset # clears build cache only
meteor reset --db # clears build cache AND local Mongo
```
Update any CI or development scripts that rely on `meteor reset` wiping
the database.
## Release-specific Node baseline
Meteor 3 does not have one Node baseline across every minor release:
| Meteor release | Bundled Node |
|----------------|--------------|
| 3.0 | Node 20 |
| 3.1 through 3.4 | Node 22 |
| 3.5+ | Node 24 |
Run `meteor node --version` in the target app and use that version in CI,
native dependency builds, and container images. Audit `engines.node` and
native packages whenever the target Meteor release changes Node major.
## "Cannot enlarge memory array" during `meteor update`
Running `meteor update --release=3.x` directly from a heavy 2.x project
sometimes crashes with:
```
MINISAT-out: Cannot enlarge memory arrays.
abort() at Error
```
The version-constraint solver (`minisat`) runs out of memory while
resolving the upgrade against a large `.meteor/packages` file. The fix
is to reduce the package surface before the upgrade:
1. Remove every Atmosphere package the app no longer uses.
2. Update or fork remaining packages to declare
`api.versionsFrom(['2.x', '3.0'])` so the solver has fewer
alternatives to consider.
3. Retry the upgrade. If it still fails, comment out non-core packages
in `.meteor/packages`, upgrade, then re-add them one by one.
This is the same root cause as "the install just hangs forever" reports.
## `Meteor.bindEnvironment` for external callbacks
`Meteor.bindEnvironment` captures Meteor dynamic-variable values at the moment
the wrapper is created and restores those values when the callback later runs.
It does not discover the identity of a future method or publication
invocation, and it does not change JavaScript's `this` binding.
Create the wrapper inside the invocation whose environment must be preserved.
For identity, capture `this.userId` explicitly so a long-lived callback does
not depend on implicit request context:
```javascript
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
Meteor.methods({
startImport(jobId) {
check(jobId, String);
if (!this.userId) throw new Meteor.Error('not-authorized');
const userId = this.userId;
externalSdk.once(jobId, Meteor.bindEnvironment(async (payload) => {
await Posts.insertAsync({ payload, createdBy: userId });
}));
},
});
```
A wrapper created by top-level registration captures the top-level
environment, which normally has no user invocation. For a global event emitter
or background queue, put the authenticated identity in the job or event data
and pass it explicitly. Use `bindEnvironment` only for dynamic variables that
exist when the callback is registered.
## Monkey-patching from `Meteor.startup()`
Code that monkey-patches a Meteor API (intercepting `Meteor.publish`,
wrapping `Accounts.createUser`, etc.) must run after the API is loaded.
On 3.x, package load order is less forgiving than on 2.x; patches at the
top of a file may fire before the target API exists.
Wrap the patch in `Meteor.startup`:
```javascript
import { Meteor } from 'meteor/meteor';
Meteor.startup(() => {
const original = Meteor.publish;
Meteor.publish = function (name, handler, ...rest) {
return original.call(this, name, async function (...args) {
// patched behavior
return handler.apply(this, args);
}, ...rest);
};
});
```
Symptom: the patch is in the codebase but the wrapped behavior never
runs. The patch fired before the target API loaded, so `Meteor.publish`
was `undefined` at patch time and the assignment was a no-op.
## NPM installer
Use `npx meteor` as the primary cross-platform command. The documented
`curl https://install.meteor.com/ | sh` command remains an alternative for
Linux and macOS; do not describe it as phased out. Do not add the npm Meteor
installer to the application's `package.json`.
Match the host Node prerequisite to the selected CLI version. Current Meteor
3.5 installation docs require Node 24+, while earlier Meteor 3 tool releases
bundle earlier Node majors as shown above.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/breaking-changes/index.md
@@ -0,0 +1,136 @@
# Atmosphere package triage
Atmosphere packages are the largest single source of friction in a 2.x to
3.x migration. Many are unmaintained, depend on Fibers, or pin
`api.versionsFrom('1.x')`. Decide for every package: replace, fork, or remove.
## Triage matrix
| Situation | Action |
|--------------------------------------------------------------|-------------------------------------------------------------------|
| Maintained package with a 3.x-compatible release | Update. |
| Maintained package, no 3.x release yet | Open an issue. Track on the project tracker. |
| Unmaintained package, npm replacement exists | Replace. Move the call sites to the npm API. |
| Unmaintained package, no replacement, source available | Fork. Apply minimal changes to ship on 3.x. |
| Unmaintained package, no replacement, you do not need it | Remove. Inline the small piece you depended on. |
## Before the framework upgrade
1. Save `.meteor/packages`, `.meteor/versions`, `package.json`, and the npm
lockfile as a resolution checkpoint.
2. Inventory `.meteor/packages`. List every non-core package.
3. Look up each on Packosphere or its GitHub repo. Note the latest version
and whether it ships a 3.x release.
4. For packages with no 3.x release, search community forks. Several
ecosystem groups maintain community forks of common Atmosphere packages.
5. For packages still missing, decide replace vs fork vs remove now,
before the framework flip.
Review the resolved version diff after every package operation. Keep critical
schema, accounts, router, collection-hook, and build-plugin major upgrades in
separate commits when possible. If behavior changes after the release flip,
first determine whether the responsible package version changed too.
Reducing the package footprint **before** running `meteor update --release=3`
is the single biggest predictor of a smooth upgrade.
## Resolve a stable target completely
When moving from a prerelease to a stable target, compare declarations in
`.meteor/release`, `.meteor/packages`, and `package.json` with resolved versions
in `.meteor/versions` and the npm lockfile. Remove only unintended resolved
prereleases. Keep one only for a documented capability absent from the stable
target. Run `meteor update --npm` when supported and verify a clean locked
install does not change manifests or silently restore a prerelease. Do not fold
unrelated dependency major upgrades into this cleanup.
## Forking a package
```bash
# clone the source somewhere
git clone <repo-url> lib/<package-name>
cd lib/<package-name>
git checkout -b migrate-to-meteor-3
# link from your app's packages/ folder
cd /path/to/app/packages
ln -sf ../lib/<package-name>/path/to/package <package-name>
```
Inside the cloned package, edit `package.js`:
```javascript
Package.describe({
name: '<package-name>',
version: '<bump>',
/* ... */
});
Package.onUse(function (api) {
api.versionsFrom(['2.x', '3.0']); // dual-version
api.use([
'ecmascript',
'mongo@1.16.0 || 2.0.0', // multi-version refs
/* ... */
]);
api.mainModule('main.js'); // optional modular entry point
});
```
Common edits inside the package code:
- Server-side sync Mongo: rewrite to `*Async`.
- `Meteor._sleepForMs` and Fibers helpers: rewrite to native async.
- Implicit globals at file top level: convert to `const` or `export`.
## Package API decisions
`api.addFiles`, `api.export`, and `api.mainModule` all remain supported in
Meteor 3. Do not convert a package only to satisfy the framework version.
Choose `api.mainModule` when the package benefits from an explicit import
tree and module exports. Retain `api.addFiles` for ordered or build-plugin
sources and `api.export` when consumers still rely on package globals.
Actual migration replacements include:
| Removed or changed in 3.x | Replacement |
|---------------------------|------------------------------------|
| `_ensureIndex` | `createIndexAsync` on the server |
| `HTTP.get` | `meteor/fetch` or native `fetch` |
| Sync Mongo methods | `*Async` siblings on the server |
## Custom validators in package methods
Schemas validators that pre-3 packages bundled often need an upgrade for
breaking changes in major versions (typically array shorthand and decimal
options). Keep the schema definitions next to the collection definitions
so a single audit pass covers them.
## Known replacements
Common Atmosphere packages that have a community-blessed 3.x successor:
| Was | Replace with |
|-------------------------------------|----------------------------------------------------|
| `kadira:flow-router` | `ostrio:flow-router-extra` |
| `percolate:synced-cron` | `quave:synced-cron` |
| `aldeed:collection2` (1.x/2.x) | `aldeed:collection2@4.0.0` (bundles `aldeed:simple-schema`; drop the npm `simpl-schema` dep) |
| `mquandalle:jade` | Removed. Migrate templates to Blaze HTML or another templating package. |
| `simple:json-routes` / Restivus | `WebApp.handlers` with Express routes (see `webapp-express.md`). |
| `tmeasday:publish-counts` | `compat:publish-counts` (community fork) |
| `meteor/http` (`HTTP.get`/`post`) | `meteor/fetch` or native `fetch` |
| `underscore` (Atmosphere) | Native ES `Array` / `Object` methods, or the npm `underscore` if you really need it. |
This is a starting set, not exhaustive. For any package not listed,
search the community fork organizations or Packosphere before forking
yourself.
## When to publish back
If the original package is dormant, publish your fork under a different
publisher prefix (the community convention is the org name plus
the original short name). Submit a pull request to the original repo as
well; sometimes the maintainer re-engages.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/guide/package-replacements.md
@@ -0,0 +1,167 @@
# Publications and cursor internals
Most publish functions return a cursor and Meteor handles the rest. Apps
that grew on Meteor 2.x sometimes drove publications imperatively with
`this.added` / `this.changed` / `this.removed`, often dipping into the
cursor's internal `_cursorDescription` for the collection name. That
internal API is unreliable on Meteor 3 and may return `undefined`,
silently breaking the publication.
## Prefer returning a cursor
Whenever the publication can be expressed as a single filtered cursor,
return it. Meteor wires up `added` / `changed` / `removed` automatically:
```javascript
Meteor.publish('posts.recent', function (limit) {
return Posts.find({}, { limit, sort: { createdAt: -1 } });
});
```
Meteor 3 supports both conventional and async publish handlers. Await setup
work, then return a cursor or array of cursors:
```javascript
Meteor.publish('posts.byTeam', async function (teamId) {
const membership = await Memberships.findOneAsync({
teamId,
userId: this.userId,
});
if (!membership) return this.ready();
return Posts.find({ teamId });
});
```
Meteor awaits the handler Promise before processing the returned cursor.
Use the low-level API only when the result cannot be expressed as a returned
cursor, such as per-document async joins or a custom external data source.
## Preserve framework-bound `this`
Meteor invokes method and publication handlers with an invocation context.
Arrow functions ignore that binding, so an arrow that reads `this.userId`,
`this.connection`, `this.ready()`, `this.added()`, or another context member is
incorrect even when its body is otherwise async-compatible.
Before changing handlers, use an AST scan to find:
- an arrow passed directly to `Meteor.publish`;
- an arrow-valued property in an object passed to `Meteor.methods`;
- a `ThisExpression` owned by that outer arrow.
Change only the context-owning handler to an ordinary function:
```javascript
Meteor.publish('items.mine', function () {
if (!this.userId) return this.ready();
return Items.find({ ownerId: this.userId });
});
Meteor.methods({
async 'items.create'(input) {
return Items.insertAsync({ ...input, ownerId: this.userId });
},
});
```
Do not rewrite an arrow that never uses framework context merely because it is
a handler. Preserve nested arrows inside an ordinary handler when they
intentionally capture the handler's `this`. Validate one authenticated and one
unauthenticated call or subscription so the test proves the bound context, not
only compilation.
## Avoid `_cursorDescription`
The internal pattern:
```javascript
// fragile in Meteor 3
async function publishNonReactively(sub, cursor) {
await cursor.forEachAsync((doc) => {
sub.added(cursor._cursorDescription.collectionName, doc._id, doc);
});
sub.ready();
}
```
`_cursorDescription.collectionName` is internal and not guaranteed.
Pass the collection name explicitly instead:
```javascript
async function publishNonReactively(sub, collectionName, ...cursors) {
for (const cursor of cursors) {
await cursor.forEachAsync((doc) => {
sub.added(collectionName, doc._id, doc);
});
}
sub.ready();
}
// usage:
Meteor.publish('posts.featured', function () {
return publishNonReactively(this, 'posts', Posts.find({ featured: true }));
});
```
Or, better, return the cursor and let Meteor handle the wiring.
## Cursor transforms must be sync
A cursor `transform` runs on every document. In Meteor 3 it must be
synchronous:
```javascript
// BROKEN: async transform
Posts.find({}, {
transform: async (doc) => {
doc.author = await Users.findOneAsync(doc.authorId);
return doc;
},
});
```
Produces Promise-shaped documents or publication/serialization failures.
Two options:
1. Keep the transform synchronous. Run the join in a separate publication
or on the client.
2. Drop to the low-level publish API and join inside an
`observeChangesAsync` handler.
## Low-level publish API
```javascript
Meteor.publish('feed', async function () {
const handle = await Posts.find().observeChangesAsync({
added: (id, doc) => this.added('posts', id, doc),
changed: (id, doc) => this.changed('posts', id, doc),
removed: (id) => this.removed('posts', id),
});
this.ready();
this.onStop(() => handle.stop());
});
```
Always stop an `observeChangesAsync` handle from `this.onStop`. Without the
teardown, the observer leaks.
## Authorization
Filter inside the publish body. The publish function is the only chokepoint
that runs before data leaves the server:
```javascript
Meteor.publish('items.mine', function () {
if (!this.userId) return this.ready();
return Items.find(
{ ownerId: this.userId },
{ fields: { title: 1, qty: 1 } },
);
});
```
Project `fields` whenever the collection contains columns the subscriber
must not receive.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/api/meteor.md
@@ -0,0 +1,97 @@
# React migration
Tight scope: what changes for an existing React-on-Meteor-2 app during
the upgrade to Meteor 3. The broader React-on-Meteor data tutorial
(`react-meteor-data`, full hook reference, suspense patterns for new
apps) is out of scope here; use the `meteor-react` skill after the
framework upgrade.
## What changes
`react-meteor-data` is independently versioned. Suspense hooks began in package
2.7.0, before Meteor 3, while package 3.0.0 began official Meteor 3
compatibility. Inspect `.meteor/versions` before choosing an API. For a Meteor
3 app, use a tested 3.0.0+ package; current examples are verified against
4.0.1. The Suspense variants replace the `isLoading` readiness function by
suspending the component tree until data is ready.
```javascript
// Classic surface, supported on Meteor 2 and 3
import { useTracker, useSubscribe } from 'meteor/react-meteor-data';
function PostsScreen() {
const isLoading = useSubscribe('posts');
const posts = useTracker(() => Posts.find().fetch());
if (isLoading()) return <Spinner />;
return <List posts={posts} />;
}
```
```javascript
// Suspense surface, react-meteor-data 2.7.0+; use 3.0.0+ with Meteor 3
import { useTracker, useSubscribe } from 'meteor/react-meteor-data/suspense';
function PostsScreen() {
useSubscribe('posts'); // suspends
const posts = useTracker('posts', () => Posts.find().fetchAsync());
return <List posts={posts} />; // no isLoading()
}
```
Two concrete changes:
1. Import from `meteor/react-meteor-data/suspense` instead of
`meteor/react-meteor-data` when you want Suspense semantics. Wrap the
component in `<Suspense fallback={...}>` somewhere upstream.
2. `useTracker(key, fn)` takes a string key as the first argument under
the suspense API. The key isolates the computation; passing the same
key with a different `fn` is undefined.
The classic `useTracker(fn)` and `useSubscribe(...)` (returning
`isLoading`) keep working under the non-suspense import path. Migration
is optional.
## `useFind`
Classic `useFind` is unchanged. Continue passing a cursor factory:
```javascript
const posts = useFind(() => Posts.find({}));
```
Suspense `useFind` has a different signature. Pass the collection and the
argument tuple for `Collection.find`:
```javascript
const posts = useFind(Posts, [{}, { sort: { createdAt: -1 } }]);
```
Use `meteor-react` for the complete classic and Suspense contracts.
## Client-side Mongo
React components that call `Collection.find().fetch()` directly on the
client work the same way as in Meteor 2. Minimongo on the client is still
synchronous, so keeping render-path reads synchronous is usually simplest.
Async client reads do not inherently lose Tracker reactivity: a reactive read
before the first `await` is tracked. If the reactive read itself occurs after
an `await`, restore the captured computation around that read with
`Tracker.withComputation`. See `client-reactivity.md`.
## Symptoms
- After the upgrade, a `useSubscribe` call no longer returns an
`isLoading` function. The component was migrated to the suspense
import without a wrapping `<Suspense>`. Either add a Suspense
boundary, or import from `meteor/react-meteor-data` (non-suspense).
- `useTracker` reruns on every render or never reruns. The key argument
is missing under the suspense API. Add a stable string key.
- The Suspense import cannot be resolved. Inspect `.meteor/versions`; upgrade
`react-meteor-data` to a Meteor 3-compatible 3.0.0+ line before copying the
current API.
Package version evidence:
[`react-meteor-data` changelog](https://github.com/meteor/react-packages/blob/master/packages/react-meteor-data/CHANGELOG.md)
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/front-end/react.md
@@ -0,0 +1,79 @@
# Functions removed in Meteor 3.x
Meteor 3 removed the synchronous Mongo APIs on the server and the
Fibers-dependent helpers. This is the canonical replacement list.
## Mongo collections (server)
| Removed | Replacement |
|-------------------------------|----------------------------------------------|
| `Collection.find(q).fetch()` | `await Collection.find(q).fetchAsync()` |
| `Collection.findOne(q)` | `await Collection.findOneAsync(q)` |
| `Collection.insert(doc)` | `await Collection.insertAsync(doc)` |
| `Collection.update(q, mod)` | `await Collection.updateAsync(q, mod)` |
| `Collection.remove(q)` | `await Collection.removeAsync(q)` |
| `Collection.upsert(q, mod)` | `await Collection.upsertAsync(q, mod)` |
| `cursor.count()` (server) | `await cursor.countAsync()` |
| `cursor.forEach(fn)` (server) | `await cursor.forEachAsync(fn)` |
| `cursor.map(fn)` (server) | `await cursor.mapAsync(fn)` |
Client-side Minimongo retains the synchronous API.
## User helpers
| Removed | Replacement |
|--------------------------|----------------------------|
| `Meteor.user()` (server) | `await Meteor.userAsync()` |
`Meteor.userId()` was not replaced with an async API. It remains synchronous
inside a method or publication and reads the current invocation. Prefer
`this.userId` there for explicit context. Outside those invocation scopes,
pass the user ID into the async function; `Meteor.userIdAsync()` does not
exist.
## Accounts
Server administration APIs that lost synchronous forms:
| Removed | Replacement |
|--------------------------------------|-----------------------------------------------|
| `Accounts.setPassword(uid, p, opts)` | `await Accounts.setPasswordAsync(uid, p, opts)` |
| `Accounts.addEmail(uid, addr)` | `await Accounts.addEmailAsync(uid, addr)` |
Use `await Accounts.createUserAsync(options)` for explicit server-side user
creation. Do not apply this table to client login flows:
- Client `Accounts.createUser(options, callback)` remains supported, and
`Accounts.createUserAsync(options)` is also available.
- Client `Accounts.changePassword(old, next, callback)` remains
callback-shaped.
- `Meteor.loginWithPassword(user, password, callback)` remains supported.
`Meteor.loginWithPasswordAsync` was added in Meteor 3.5.
## Email
| Removed | Replacement |
|--------------------------|--------------------------------------|
| `Email.send(options)` | `await Email.sendAsync(options)` |
## Assets
| Removed | Replacement |
|----------------------------|----------------------------------------|
| `Assets.getText(path)` | `await Assets.getTextAsync(path)` |
| `Assets.getBinary(path)` | `await Assets.getBinaryAsync(path)` |
## Mongo index management
| Removed | Replacement |
|----------------------------------------|---------------------------------------------|
| `Collection._ensureIndex(spec, opts?)` | `await Collection.createIndexAsync(spec, opts?)` |
## Fibers helpers
- `Meteor._sleepForMs`: removed. Use `await new Promise(r => setTimeout(r, ms))`.
- `Meteor.wrapAsync`: removed. Use the underlying async API directly.
- `Future` (from `fibers/future`): removed. The package no longer ships.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/api/removed-functions.md
@@ -0,0 +1,63 @@
# TypeScript migration
Tight scope: what an existing TypeScript-on-Meteor-2 project must update
during the upgrade to Meteor 3. The full TypeScript-on-Meteor setup
(fresh projects, advanced patterns, type-helper packages) is out of scope
here; a dedicated `meteor-typescript` skill will cover it.
## What breaks
After the upgrade, imports from `meteor/*` resolve to `any` or fail
outright. The Meteor 2 type-shipping mechanism is no longer compatible
with the 3.x build, so any `import { Meteor } from 'meteor/meteor';`
loses its types.
## What to install
```bash
meteor add zodern:types
```
`zodern:types` ships generated `.d.ts` files keyed off your local Meteor
install. It replaces the older approaches used in Meteor 2.
## `tsconfig.json` updates
Two changes are required:
```jsonc
{
"compilerOptions": {
// 1. Resolve symlinks the way Meteor's package layout expects.
"preserveSymlinks": true,
// 2. Map meteor/* imports to the generated types directory.
"baseUrl": "./",
"paths": {
"meteor/*": [".meteor/local/types/packages.d.ts"]
}
}
}
```
Without `preserveSymlinks: true`, TypeScript follows symlinks in
`.meteor/local/build/` and reports duplicate identifier errors. The
`paths` mapping is what tells TypeScript where to find type
declarations for every `meteor/<package>` import.
## After the changes
Restart your TS server (or your editor) so the new `tsconfig.json` is
picked up. The first compilation may be slow because `zodern:types`
regenerates the types directory on demand.
## Symptoms
- `import { Meteor } from 'meteor/meteor';` resolves to `any`, no
autocomplete. The `paths` mapping in `tsconfig.json` is missing.
- "Cannot find module 'meteor/meteor' or its corresponding type
declarations." `zodern:types` is not installed.
- "Duplicate identifier 'Meteor'." `preserveSymlinks` is not set.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/typescript/meteor-types.md
@@ -0,0 +1,114 @@
# WebApp switched to Express 5
Meteor 3 replaced Connect with Express inside the `webapp` package, and
Meteor 3.1 upgraded that to Express 5. Apps that customised the
middleware stack must rename the API surfaces they used and may need to
adjust for Express 5 routing changes. Existing routes that mounted
middleware on `WebApp.connectHandlers` keep working through deprecated
aliases, but new code should use the renamed surfaces.
## API rename matrix
| Meteor 2.x | Meteor 3.x |
|---------------------------------------------|-----------------------------------------|
| `WebApp.connectHandlers.use(mw)` | `WebApp.handlers.use(mw)` |
| `WebApp.rawConnectHandlers.use(mw)` | `WebApp.rawHandlers.use(mw)` |
| `WebApp.connectApp` | `WebApp.expressApp` |
| (no equivalent) | `WebApp.express()` factory |
| (no equivalent) | `WebApp.express.Router()` router |
| (no equivalent) | `WebApp.express.{json,raw,static,text,urlencoded}` |
The old names continue to work as aliases, but are deprecated. New code
should use the renamed surfaces.
## Mounting a route
```javascript
import { WebApp } from 'meteor/webapp';
WebApp.handlers.get('/hello', (req, res) => {
res.send('Hello World');
});
```
Or mount a sub-application:
```javascript
import { WebApp } from 'meteor/webapp';
const app = WebApp.express();
app.get('/hello', (req, res) => res.send('Hello World'));
WebApp.handlers.use(app);
```
## Router-level middleware
```javascript
import { WebApp } from 'meteor/webapp';
const router = WebApp.express.Router();
router.use((req, res, next) => {
// runs on every request through this router
next();
});
router.use('/hello/:name', (req, res, next) => {
console.log('Request URL:', req.originalUrl);
next();
});
WebApp.handlers.use('/', router);
```
## Async `WebAppInternals` methods
Several internal methods that customise the static-asset pipeline became
async in Meteor 3. Add `await` at every call site:
- `await WebAppInternals.reloadClientPrograms()`
- `await WebAppInternals.pauseClient()`
- `await WebAppInternals.generateClientProgram()`
- `await WebAppInternals.generateBoilerplate()`
- `await WebAppInternals.setInlineScriptsAllowed()`
- `await WebAppInternals.enableSubresourceIntegrity()`
- `await WebAppInternals.setBundledJsCssUrlRewriteHook()`
- `await WebAppInternals.setBundledJsCssPrefix()`
- `await WebAppInternals.getBoilerplate()`
## Express 5 specifics (Meteor 3.1+)
Express 5 itself introduces a few changes that bite when upgrading from
Express 4. Meteor 3.0 uses Express 4, so do not apply these routing changes
until the app targets Meteor 3.1+:
- Path matching changed: `*` and unnamed wildcards now require named
parameters (`/foo/*name`). Update any custom path patterns.
- Async route handlers can `throw` or reject and Express forwards the
error to the error middleware. Previously this would crash the process.
- `req.query` is no longer parsed by the deprecated `qs` library by
default; reconfigure if your client relies on bracket notation.
See the Express 5 migration guide if a custom middleware pipeline breaks
after the framework upgrade.
## Backporting
For projects that want to start migrating middleware before the framework
flip, a community backport (`harry97:webapp`) ships an Express-based
`webapp` on Meteor 2.17. Once the project is on 3.x, remove the backport
and use the core `webapp` package.
## Symptoms after the upgrade
- Middleware mounted on `WebApp.connectHandlers` still runs but logs a
deprecation warning. Migrate to `WebApp.handlers` at your convenience.
- On Meteor 3.1+, routes that used unnamed wildcards no longer match. Express
5 path semantics changed; rename to named parameters. Meteor 3.0 retains
Express 4 routing behavior.
- A custom `WebAppInternals` override returns a `Promise` where the
caller expected a value. Add `await`.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/v3-migration-docs/breaking-changes/index.md
+232
View File
@@ -0,0 +1,232 @@
---
name: migrate-to-rspack
description: >
Use when migrating an existing Meteor app to Rspack (Meteor 3.4+), or
upgrading Rspack 1 to 2 on Meteor 3.6 beta. Triggers on nested imports,
mainModule entry points, server-only apps, replacing fourseven:scss /
meteor/less / coffeescript / jorgenvatle:vite / zodern:melte with loaders,
Svelte/TypeScript preprocessing or Lingui SWC plugin failures after upgrade,
CommonJS default-import interop, module.exports in client graphs, Node
built-ins in browser code, _build / build-assets / build-chunks,
.meteorignore hiding handoff files, dynamic chunks under ROOT_URL,
meteor.modules for CSS/HTML, resolve.symlinks or resolve.alias migration,
automatic dependency updates and immutable CI/Docker builds.
Use this skill when the user asks about migration compatibility or a build
plugin's Rspack replacement. For new-app setup and rspack.config.js helpers,
use meteor-modern-build-stack instead.
metadata:
author: meteor
kind: knowledge
meteor: ">=3.4"
area: migration
tagline: "Migrate an existing Meteor 3 app to the Rspack bundler integration (`mainModule`, replacing legacy build plugins with loaders)."
bundle: ["migration"]
docs_synced_at: "2026-09-11"
license: MIT
---
# Migrate an existing app to Rspack
Rspack compiles app code; Meteor builds Atmosphere packages and assembles the
bundle. Keep packages, but audit their architecture and browser dependencies.
Prerequisite: Meteor 3.4+. Recommended before activation: enable
`"meteor": { "modern": true }` and fix Babel fallbacks. For setup and helpers,
use `meteor-modern-build-stack`.
Match `@meteorjs/rspack` to the Meteor release, not to
`@rspack/core` or `@rspack/cli`:
| Meteor | `rspack` | `@meteorjs/rspack` | Capability boundary |
|---|---|---|---|
| 3.4 | `1.0.0` | `1.0.0` | Base integration and helpers. |
| 3.4.1 and 3.5 | `1.1.0` | `2.0.1` | Adds v2 helpers and inherited `TOOL_NODE_FLAGS`. |
| 3.5.1 | `1.2.0` | `2.1.0` | Revised client polyfills and extension discovery. |
| 3.5.2 | `1.3.0` | `2.2.0` | Dependency diagnostics, mode isolation, full-app/TLA and cache fixes. |
| 3.6-beta.0 | `1.4.0-beta360.0` | `3.0.0-beta.1` | Rspack 2.2.0 and workspace-aware installs. |
The Atmosphere, Meteor npm integration, and Rspack core package versions are
independent. Inspect `.meteor/versions`, `package.json`, and the lockfile.
Normal startup aligns required dependencies when automatic installation is
enabled. Review and commit those changes. Explicit `meteor update --npm` is
an alternative, not an extra required step. Do not pair a newer integration
major with an older Meteor release to copy a helper.
Already using Rspack? For the Meteor 3.6 beta upgrade, follow
[Rspack 1 to 2](references/rspack-2-upgrade.md) and its toolchain checks.
Keep valid entries/configuration; skip the first-activation steps below.
## Decision flow
1. Does the app define client and server entry points in `package.json`
`meteor.mainModule`? If no, define them. Required.
2. Trace the client and client-test graphs. Do they reach CommonJS export
assignments, Node built-ins, server-only local package entries, or missing
generated inputs in a clean checkout? If yes, repair the boundary before
activation. See
`references/client-graph-preflight.md`.
3. Does the app code contain nested imports (ES `import` inside an `if`,
function, or other block)? If yes, move them to top level or convert
them to dynamic `import()` / `require`. Required for app code; OK in
Atmosphere packages.
4. Does the app rely on a Meteor build plugin (`less`, `fourseven:scss`,
`coffeescript`, `zodern:melte`, `jorgenvatle:vite`)? Plan an Rspack
loader replacement and prove capability parity before removal. See
`references/framework-and-css.md`.
5. Does the app rely on bare default imports from CommonJS packages
(`import x from "some-cjs"`)? Decide between rewriting to
`import * as x` or restoring Meteor-style interop in `.swcrc`. See
`references/code-migrations.md`.
6. Is the app server-only? Set only `mainModule.server`. Rspack still
bundles the server; client is skipped.
7. Does the app keep CSS or HTML outside its entry folder, or import app-local
symlinks? Preserve the boundary with `meteor.modules` or
`resolve.symlinks: false`; see the references.
8. Run `meteor add rspack` and watch the verbose `[Transpiler]` log for
remaining `(app)` failures.
## Required: entry points
```json
{
"meteor": {
"mainModule": {
"client": "client/main.js",
"server": "server/main.js"
},
"testModule": "tests.js"
}
}
```
Without `mainModule`, Rspack has no entry. Meteor's eager-loading model
does not apply: Rspack does not auto-discover modules. See
`references/framework-and-css.md` for CSS and HTML routing.
## Required: no nested imports in app code
```javascript
// app code: NOT allowed under Rspack
if (condition) {
import { a as b } from "./c";
console.log(b);
}
```
Three fixes:
```javascript
// 1. Move to top
import { a as b } from "./c";
if (condition) console.log(b);
// 2. Dynamic import (standardized, supported)
if (condition) {
const { a: b } = await import("./c");
console.log(b);
}
// 3. require (CommonJS interop)
if (condition) {
const { a: b } = require("./c");
console.log(b);
}
```
Diagnose with verbose mode and look for `(app)` files failing with
`Error: 'import' and 'export' cannot be used outside of module code`.
`(package)` failures are fine; Atmosphere packages are not bundled by Rspack.
## Required: reserve build folders
The integration writes to `_build/`, `public/build-assets/`,
`public/build-chunks/`, `private/build-assets/`. Auto-added to `.gitignore`.
If the project already uses any of these names, rename in `package.json`:
```json
{
"meteor": {
"buildContext": "build",
"assetsContext": "assets",
"chunksContext": "chunks"
}
}
```
Do not edit any file under those folders. Exclude them from IDE indexing and
from every recursive formatter, linter, typechecker, test-discovery, and
coverage scan. `.gitignore` does not configure those tools.
Do not match the active build context in `.meteorignore` or `METEOR_IGNORE`.
Rspack writes Meteor-facing entry modules there, then Meteor reads them to
assemble the final bundle. Resolve renamed contexts before auditing ignores.
## Replacing build plugins
Most app-file build plugins move to Rspack loaders. Prove capability parity
before removal; make conflicting activation and removal one reversible change.
See `references/framework-and-css.md`.
| Old plugin | Replacement |
|---------------------------|----------------------------------------------------------------------|
| `meteor/less` | `less-loader`. See `references/framework-and-css.md`. |
| `fourseven:scss` | `sass-loader` + `sass-embedded`. See refs. Skeleton in `meteor create --full`. |
| `meteor/coffeescript` | `coffee-loader` (optionally chained with `swc-loader`). |
| `zodern:melte` (Svelte) | Official Rspack Svelte loader. |
| `jorgenvatle:vite` (Vue/Solid) | Native Rspack Vue/Solid loaders. |
| `babel-plugin-react-compiler` | SWC on the 3.6 beta pairing; earlier integrations retain Babel. See framework reference. |
| `zodern:types` | Still compatible. Keep it. |
Plugins acting only on Atmosphere package files can stay. Plugins acting on
app-folder files (entry folder excluded) must move to Rspack.
## CommonJS default-import interop
Old Meteor accepted `import x from "some-cjs-lib"` for a `module.exports = ...`
package. Rspack + SWC do not by default. Two options:
```javascript
// preferred: switch to namespace import
import * as x from "some-cjs-lib";
```
Or restore interop in `.swcrc`:
```json
{
"module": {
"type": "commonjs",
"noInterop": false,
"importInterop": "node"
}
}
```
This emits CommonJS, defeating tree-shaking and static analysis app-wide.
Migrate imports instead unless you cannot.
## CI and Docker
Resolve required npm updates locally and commit `package.json` and the lockfile.
Use the existing manager's frozen install with dev dependencies, then build.
On `rspack@1.3.0` (Meteor 3.5.2), `meteor.autoInstallDeps: false` still reports
missing/outdated dependencies and manual commands; earlier opt-out behavior
can skip those checks. Inspect the first dependency/config error and the actual
project root before choosing a fix. See `references/troubleshooting.md`.
## Anti-patterns
- Add Rspack before fixing Babel fallbacks. Find them with
`"meteor": { "modern": { "transpiler": { "verbose": true } } }` and fix
them while still on the optimization-only stack.
- Restore CJS interop globally in `.swcrc` to avoid migrating a handful of
imports. Trades real bundle-size wins for short-term convenience.
- Commit `_build/`, `public/build-assets/`, `public/build-chunks/`,
`private/build-assets/`. Autogenerated.
- Change the release without reviewing its paired dependencies and committing
the authoritative lockfile. Validate a clean install and production build.
## See also
- `references/eval-cases.md`
- For setup, helpers, and `rspack.config.js` API: `meteor-modern-build-stack`.
@@ -0,0 +1,94 @@
# Client graph preflight
Rspack compiles application modules while Meteor still compiles Atmosphere
packages and assembles the final bundle. Audit both systems at the boundaries
that shape the browser graph.
## Build separate reachability graphs
Start from every configured root:
- `meteor.mainModule.client`;
- `meteor.testModule.client`, or the client side of `testModule`;
- client entry points declared by local Atmosphere packages.
Follow static imports, re-exports, and literal `require()` calls. Record dynamic
`import()` edges separately because they are intentional split points. Do not
classify a module only from `client/`, `server/`, or `imports/` in its path.
## Resolve clean-checkout inputs
Resolve every static edge from each client and client-test root in a clean
checkout before activation. A missing module can be:
- a checked-in source file;
- a generated file excluded by Git;
- a virtual module supplied by a loader or plugin;
- an alias resolved by Rspack, TypeScript, Babel, or SWC;
- a package export selected by browser conditions.
Do not require every import target to exist as a physical file. First apply the
active aliases, package exports, extensions, and loader rules. When a target is
generated, find its producer and require a deterministic command before
development, test, CI, and production builds that consume it. Do not commit
generated output automatically. Reproduce from a clean checkout with caches
empty and fail preflight if no documented producer can create the input.
Server unit tests do not prove this graph compiles. Run test-mode client
compilation or a browser-backed client suite, plus a production client build.
## Flag risky client-reachable modules
| Finding | Interpretation | Action |
|---------|----------------|--------|
| `module.exports` or `exports.*` in an ESM graph | Mixed module ownership can abort evaluation or defeat static analysis. | Convert the module consistently to ESM or move it behind a server boundary. |
| Node built-in import | Browser code may be reaching server-only behavior. Rspack does not add Node polyfills automatically. | Move the module server-side or document and configure an intentional browser polyfill. |
| Local package main module has no architecture | Meteor may load server dependencies on the client. | Add the correct `client` or `server` architecture in `package.js`. |
| Meteor package shim writes CommonJS exports | A compatibility shim can become the first failed module in the client chain. | Export valid ESM or keep the shim outside the Rspack client graph. |
Node built-ins to inspect include bare and `node:` forms of `fs`, `path`,
`crypto`, `stream`, `buffer`, `process`, `os`, `child_process`, `net`, `tls`,
`http`, `https`, `zlib`, `vm`, and `worker_threads`.
[Rspack does not automatically polyfill Node built-ins](https://rspack.dev/config/resolve#resolvefallback)
for a web target.
Do not flag these automatically as application defects:
- Rspack config files and Node-only scripts;
- server and server-test graph nodes;
- npm packages with browser exports that remove the built-in edge;
- explicit `resolve.fallback` or polyfill configuration;
- native or worker dependencies intentionally passed to
`Meteor.compileWithMeteor`.
Inspect the resolved graph before editing an indirect dependency.
## Preserve lazy boundaries
Inventory existing `import()` callsites before converting modules. Mark routes,
locales, editors, and other features that must remain lazy. Do not replace those
calls with static imports or synchronous `require()` unless eager loading is an
explicit, measured decision. Compare build chunks before and after migration.
[Rspack treats dynamic `import()` as an async split point](https://rspack.dev/guide/optimization/code-splitting#dynamic-imports).
For deployments beneath a URL path, start a production bundle with the real
`ROOT_URL` shape and request at least one lazy chunk. Reject duplicated or
missing asset path segments.
## Protect Meteor's handoff
Resolve `meteor.buildContext`, `meteor.assetsContext`, and
`meteor.chunksContext`, including any suffix derived from `METEOR_LOCAL_DIR`.
Generated contexts belong in `.gitignore` and in unrelated tool ignores, but
the active build context MUST NOT match `.meteorignore` or `METEOR_IGNORE`.
Rspack writes the Meteor-facing main and test modules there, then Meteor reads
them during final assembly.
Separately compare top-level directory size and file count with `.gitignore`
and `.meteorignore`. Report unrelated repositories, toolchains, generated test
artifacts, caches, or fixtures that Git ignores but Meteor still scans. Use
anchored ignore rules and rerun tests to ensure a broad rule did not hide client
or server test modules.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
@@ -0,0 +1,242 @@
# Code migrations for Rspack
This file covers the app-code changes the integration needs.
## Entry points
```json
{
"meteor": {
"mainModule": {
"client": "client/main.js",
"server": "server/main.js"
},
"testModule": "tests.js"
}
}
```
Required for Rspack; recommended even on Meteor-only. Without it, Meteor
loads every file eagerly and Rspack has nothing to anchor on.
Loading order belongs in the entry file. Imports cascade from there. See
[Modular application structure](https://docs.meteor.com/packages/modules).
### Server-only apps
If the app has no client UI (API servers, microservices, workers), set
only `mainModule.server`:
```json
{
"meteor": {
"mainModule": {
"server": "server/main.js"
}
}
}
```
Rspack builds the server bundle; the client side is skipped.
## Nested imports
Detection: enable verbose mode and watch for `(app)` files failing with
`Error: 'import' and 'export' cannot be used outside of module code`.
```json
"meteor": {
"modern": { "transpiler": { "verbose": true } }
}
```
`(package)` files are out of scope. Atmosphere packages stay on the Meteor
bundler under the integration.
### Rewrites
```javascript
// 1. Top-level
import { a as b } from "./c";
if (condition) console.log(b);
// 2. Dynamic import. Returns a Promise; the function becomes async.
if (condition) {
const { a: b } = await import("./c");
console.log(b);
}
// 3. require
if (condition) {
const { a: b } = require("./c");
console.log(b);
}
```
Use the dynamic-import form when the goal was code-splitting (the original
Meteor nested-import use case). Use `require` for purely synchronous
loading in a sync scope. Inventory intentional `import()` split points before
cleanup and compare generated chunks afterward. Do not silently convert a lazy
boundary into an eager import.
## Default-import interop for CommonJS
Old Meteor accepted `import x from "some-cjs"` for a package whose source
is `module.exports = ...`. Rspack + SWC do not by default.
```javascript
// before
import x from "some-cjs-lib";
// after, preferred
import * as x from "some-cjs-lib";
```
If the upstream package shape makes namespace import wrong (e.g. a single
default export reshaped to namespace), the SWC interop knob restores
Meteor's old behavior:
```json
{
"module": {
"type": "commonjs",
"noInterop": false,
"importInterop": "node"
}
}
```
Cost: SWC emits CommonJS everywhere. Rspack loses ES module boundaries,
so tree-shaking and static analysis are off across the app. Migrate the
handful of imports instead unless there is no alternative.
## Aliases
Three places to keep in sync:
```javascript
// rspack.config.js
const { defineConfig } = require('@meteorjs/rspack');
module.exports = defineConfig(Meteor => ({
resolve: {
alias: {
'@ui': '/imports/ui',
'@api': '/imports/api',
},
},
}));
```
```json
// tsconfig.json (IDE + ESLint)
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@ui/*": ["imports/ui/*"],
"@api/*": ["imports/api/*"]
}
}
}
```
```json
// .swcrc (only if SWC needs to resolve the alias during transpile)
{
"jsc": {
"baseUrl": "./",
"paths": { "@ui/*": ["imports/ui/*"] }
}
}
```
Limits:
- SWC `paths` resolve `import` only, not `require(...)`.
- Rspack `resolve.alias` resolves both `import` and `require`. Prefer
Rspack when both forms are in use.
For dynamic aliases by env, use `swc.config.js` (a function that returns
the SWC config).
## Symlinks and monorepos
Choose resolution from how shared code is consumed:
| Shared-code model | Rspack behavior | Action |
|-------------------|-----------------|--------|
| npm, pnpm, or Yarn workspace package imported by package name | Default package resolution follows the real package. | Keep the default. |
| App-local source symlink imported by its path inside the app | Default resolution follows the real path and can lose the app-local import context. | Set `resolve.symlinks: false`. |
```javascript
module.exports = defineConfig(Meteor => ({
resolve: { symlinks: false },
}));
```
Do not disable symlink resolution for every monorepo. Apply it only when the
application intentionally shares source by symlink location instead of package
name. Validate imports, file watching, a development rebuild, and a production
build from the consumer app.
## Reserved build folders
Do not commit, edit, or import from:
```text
_build/ # Rspack entry + intermediate app code
public/build-assets/ # client static assets
public/build-chunks/ # dynamic-import code splits
private/build-assets/ # server assets
```
Auto-added to `.gitignore` the first time. If the project already uses
these names, rename:
```json
{
"meteor": {
"buildContext": "build",
"assetsContext": "assets",
"chunksContext": "chunks"
}
}
```
`.gitignore` is not a tool ignore. Add the active folder names to every
recursive tool that scans the repository, including Biome or ESLint,
TypeScript, test discovery, coverage, and IDE indexing. Run those tools once
after an Rspack build so generated files cannot hide a missing exclusion.
Do not add the active build context to `.meteorignore` or `METEOR_IGNORE`.
Meteor consumes the Rspack-generated main and test modules from that directory.
See `client-graph-preflight.md` for renamed contexts and source-tree scanning.
## Verifying a migration
Verify from a clean clone, not only from a developer tree with cached files
or ignored settings:
1. The existing manager's frozen install preserves its lockfile: `meteor npm ci`
for npm, root `pnpm install --frozen-lockfile` for pnpm workspaces, or the
installed Yarn version's immutable/frozen command.
2. `"meteor": { "modern": true }` is set and the documented development
command starts with a tracked, nonsecret settings fixture.
3. `meteor add rspack` has produced a committed `rspack.config.*` and the
required npm dependency changes.
4. Verbose mode shows app code running through Rspack/SWC; only Atmosphere
`(package)` files run through the Meteor bundler.
5. Server tests, browser-backed client tests, and the app's E2E command pass.
6. Formatters, linters, typecheckers, and test discovery still pass after
`_build` and asset/chunk folders exist.
7. `meteor build --architecture os.linux.x86_64 /tmp/out` produces a bundle
and no warnings about reserved Rspack config keys.
8. `git status --short` remains clean after the complete sequence.
Then boot the extracted production bundle and load it in a browser. Assert that
the expected test suites executed rather than accepting a compile-only or
zero-test result. Use `validation-matrix.md` for conditional paths such as lazy
chunks, subpath deployment, legacy browsers, and long watch sessions.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
@@ -0,0 +1,359 @@
# Evaluation cases for `migrate-to-rspack`
## Case 1: nested-import diagnosis
Prompt: "After `meteor add rspack`, my build fails with `Error: 'import'
and 'export' cannot be used outside of module code` on `imports/app.js`.
What do I do?"
Pass if the agent identifies a nested import (an ES `import` inside a
conditional, function, or block), explains it is not standard syntax, and
shows the three fixes: move to top, dynamic `import()`, or `require`.
Bonus: mentions verbose mode for finding more `(app)` failures.
## Case 2: SCSS plugin replacement
Prompt: "I use `fourseven:scss` and want to add Rspack. How do I migrate
my SCSS?"
Pass if the agent removes `fourseven:scss` from `.meteor/packages`,
installs `sass-embedded` and `sass-loader`, and adds an SCSS rule to
`rspack.config.js` using `type: 'css/auto'` and the
`api: 'modern-compiler'` option. Bonus: notes that `meteor create --full`
on 3.4.1+ ships this exact setup.
## Case 3: default-import breaks after migration
Prompt: "After enabling Rspack, `import x from "some-cjs-lib"` returns
undefined. The package uses `module.exports = ...`. What changed?"
Pass if the agent explains that Rspack + SWC do not provide the old
Meteor default-import interop, and proposes `import * as x` as the first
fix. If the agent also explains the `.swcrc` `noInterop: false`
workaround, it must call out the tree-shaking cost.
## Case 4: CI cannot find rspack.config.js
Prompt: "Local builds work but Docker fails with `Could not find
rspack.config.js`. What's missing?"
Pass if the agent checks the project root, config file and earlier dependency
errors, treating an incomplete npm upgrade as a hypothesis. It should prefer
resolving required dependencies locally, committing `package.json` and the
lockfile, then using `meteor npm ci` with build-time dev dependencies in Docker.
Fail if it asserts the cause from this error alone or suppresses install errors.
## Case 5: server-only app
Prompt: "I have a background-worker Meteor app with no UI. Can I use
Rspack? How do I configure it?"
Pass if the agent confirms it works, shows a `package.json` with only
`mainModule.server`, and notes that Rspack will skip the client build
entirely.
## Case 6: integration major mismatch
Prompt: "I upgraded from Meteor 3.4 to 3.4.1 but kept
`@meteorjs/rspack@^1.0.0`. The config now fails in a clean build. Should I
align it with my `@rspack/core` major?"
Pass if the agent requires `@meteorjs/rspack` v2 for Meteor 3.4.1, explains
that Meteor 3.4.1 pairs `rspack@1.1.0` with `@meteorjs/rspack@2.0.1`, keeps its
version independent from core/CLI, and uses startup auto-install or explicit
`meteor update --npm` to update and commit the dependency files.
## Case 7: generated files break Biome
Prompt: "The app builds with Rspack, but `biome check .` now reports errors
inside `_build/main-dev`. The directory is already in `.gitignore`."
Pass if the agent explains that Git ignores do not necessarily configure
Biome and adds all active Rspack output folders to the tool's own ignore.
It should rerun Biome after a build.
## Case 8: cached migration passes, clean clone fails
Prompt: "Rspack works in my existing checkout, but a fresh clone cannot
start because an ignored settings file is missing. Is the migration done?"
Pass if the agent rejects the cached-checkout result, requires a tracked
nonsecret settings fixture or documented environment setup, and verifies
development, tests, E2E, production build, and clean Git status from a fresh
clone.
## Case 9: CommonJS assignment in the client graph
Prompt: "After Rspack, every page is blank. A helper imported through a shared
model uses `module.exports`, but the file lives outside `client/`. Server tests
pass. Should I enable global CommonJS interop?"
Pass if the agent traces reachability from the client entry, distinguishes this
from default-import interop, and either converts the reachable module to
consistent ESM or moves it behind a server boundary. Fail if it classifies the
file by pathname or changes `.swcrc` globally without inspecting the graph.
## Case 10: Node built-in enters the browser
Prompt: "The client build now fails on `crypto` and `stream`. The import comes
from a local Atmosphere package whose `api.mainModule('index.js')` contains
server lockout logic."
Pass if the agent inspects the package architecture, restricts the entry to
`server` when appropriate, and verifies a browser production smoke. Accept a
polyfill only when the behavior is intentionally browser-compatible.
## Case 11: `_build` added to `.meteorignore`
Prompt: "I copied generated paths from `.gitignore` into `.meteorignore`. Now
Meteor says it cannot find `_build/main-prod/server-meteor.js`."
Pass if the agent identifies `_build` as the Rspack-to-Meteor handoff, removes
the active build context from `.meteorignore`, checks renamed contexts, and
keeps the path ignored only by Git and unrelated recursive tools.
## Case 12: lazy chunks under a path prefix
Prompt: "The production app works at `/`, but under `ROOT_URL=https://host/app`
opening a lazy route requests `build-chunks/build-chunks/x.js`."
Pass if the agent tests a real dynamic import under the deployed URL prefix,
fixes the public base without making the import static, and verifies that the
chunk loads and executes.
## Case 13: server healthy, browser blank
Prompt: "The Rspack production bundle builds, starts, and returns HTTP 200, but
the browser page is blank. Can I call the migration complete?"
Pass if the agent rejects server health as sufficient, finds the first browser
module exception, inspects the client graph, and requires a browser smoke
against the extracted production bundle.
## Case 14: CSS outside the entry folder
Prompt: "After defining `client/main.js` for Rspack, a global stylesheet in
`styles/main.css` is no longer included. I need Meteor to keep compiling it and
do not want to import it through an Rspack loader."
Pass if the agent adds the stylesheet to `meteor.modules`, does not add
JavaScript there, and verifies the final stylesheet output. Bonus if it explains
that importing through an Rspack loader is the faster-HMR alternative.
## Case 15: app-local source symlink
Prompt: "My Meteor app imports `imports/shared` through a source-directory
symlink. Rspack resolves the real directory outside the app and breaks relative
imports. Should every pnpm workspace set `resolve.symlinks: false`?"
Pass if the agent distinguishes app-local source symlinks from package-name
workspace imports, sets `resolve.symlinks: false` only for the former, and
validates watching and production bundling from the consumer app.
## Case 16: CSS delegation depends on Meteor version
Prompt: "I configured `postcss-loader` while migrating a Meteor 3.4.0 app to
Rspack. Meteor and Rspack both emit the stylesheet. Should I add every generated
folder to `.meteorignore`?"
Pass if the agent identifies automatic stylesheet delegation as Meteor 3.4.1+
behavior, prefers upgrading, and uses only a narrow temporary stylesheet ignore
when 3.4.0 is an intentional constraint. It must protect the active build
context and verify the expected CSS appears exactly once in development and
production.
## Case 17: custom build plugin has hidden behavior
Prompt: "A custom Meteor build plugin compiles `.theme` files, copies fonts in
production, and injects an alias in tests. Rspack has a loader for `.theme`, so
can I remove the plugin now?"
Pass if the agent inventories all three capabilities, configures equivalent
Rspack behavior, and validates development, test, and production outputs before
removal. If the two pipelines conflict, it must use a checkpoint and one
reversible activation/removal change. Fail if it treats the matching extension
as complete parity or upgrades the UI framework unnecessarily.
## Case 18: ignored generated module in the client graph
Prompt: "Server tests pass, but a clean production client build cannot resolve
`./generated/schema.json`. The file is Gitignored and exists on developer
machines after another tool runs. Should I commit it?"
Pass if the agent traces the client and client-test graph, identifies and runs
the deterministic producer before every consuming path, and validates clean
test-mode and production client builds. It must not commit generated output
automatically. Fail if it accepts server tests as client compilation evidence.
## Case 19: successful test command runs no client tests
Prompt: "`meteor test --once` exits zero and reports six server tests, followed
by `browser client tests were not run`. The Rspack changes are client-only. Can
I merge?"
Pass if the agent requires a browser driver or browser-backed client suite,
checks expected suite counts, compiles the real test-mode client entry, and
retains a production browser smoke. Fail if it treats exit zero or server-only
tests as sufficient.
## Case 20: current helper copied into Meteor 3.4.0
Prompt: "A current Rspack example uses `Meteor.persistDevFiles`,
`Meteor.replaceSwcConfig`, and `Meteor.enablePortableBuild`. My migration is
fixed on Meteor 3.4.0. Can I paste those helpers?"
Pass if the agent identifies Meteor 3.4.1 and `@meteorjs/rspack` v2 as the
minimum for all three helpers, checks the resolved Atmosphere and npm package
versions, and either upgrades the paired Meteor integration or designs and
tests direct Rspack equivalents. Fail if it installs v2 alone or assumes
current `devel` helper availability applies to Meteor 3.4.0.
## Case 21: cache panic with valuable local data
Prompt: "Meteor 3.5.2 Rspack exits before its first compile and reports an
incompatible persistent cache. I have valuable data in local Mongo. Give me
the smallest recovery step."
Pass if the agent preserves the first error, stops affected build processes,
resolves and clears only the Rspack cache, and retries. It may escalate to
`meteor reset` only after checking its release behavior. Fail if it deletes
`.meteor/local`, uses `--db`, disables cache permanently, or raises heap limits
without evidence of OOM.
## Case 22: cache recovery on an earlier integration
Prompt: "Our Rspack migration must remain on Meteor 3.4.0. The first compile
hangs after a child-process error. Can I rely on the 3.5.2 fail-fast behavior
and delete .meteor/local to reset it?"
Pass if the agent captures the child error, identifies the later fail-fast fix,
honors the pinned release, and protects local Mongo. It checks reset semantics
or chooses targeted cache recovery only when cache evidence supports it.
## Case 23: upgrade with immutable CI dependencies
Prompt: "We migrated to Meteor 3.5.2 and opted out of npm auto-install. A
clean Docker build lists outdated Rspack dependencies. Prepare the dependency
workflow without letting CI rewrite our lockfile."
Pass if the agent checks the 1.3.0/2.2.0 integration pairing and reported
minimums, resolves and reviews the dependency files locally, preserves runtime
helpers and build-time dev dependencies, and verifies a clean immutable build.
## Case 24: Rspack 2 config migration
Prompt: "Upgrade our Meteor 3.5.2 Rspack app to 3.6-beta.0. Its config uses experiments.css, experiments.cache, output.libraryTarget, webpack-merge, and .swcrc. What must change?"
Pass if the agent: Uses the beta package pairing, removes obsolete CSS experiment, moves cache top-level, reviews library.type while preserving Meteor output, replaces webpack-merge with rspack-merge, and preserves Meteor wrapper .swcrc discovery despite raw Rspack 2 behavior.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 25: npm peer transition warning
Prompt: "On Meteor 3.6-beta.0 autoInstallDeps is false and installed Rspack core/CLI/React Refresh are 1.x. The printed npm update command hits old peer constraints. Should we set legacy-peer-deps globally?"
Pass if the agent: Rejects a global bypass, verifies the coordinated Rspack 2 transition, permits a scoped npm --legacy-peer-deps invocation for confirmed old peers, and notes the beta manual warning may omit the flag. Does not apply the flag to pnpm or Yarn.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 26: preserve an existing Workbox migration
Prompt: "We are moving an existing Meteor app to the 3.6 beta Rspack pairing. It uses a Workbox-generated service worker. Must we discard it for the new Blaze PWA scaffold?"
Pass if the agent: Treats Workbox as optional but valid, inventories generation and cache/update behavior, proves migration parity, and does not overwrite the existing app or promise offline data.
Fail if it contradicts these boundaries or invents unsupported commands.
## Case 27: automatic upgrade of an existing Rspack app
Prompt: "Our existing Meteor 3.5.2 app already uses Rspack and automatic npm installation is enabled. Upgrade to 3.6-beta.0. Must we run meteor update --npm separately, re-add rspack, or regenerate our working config?"
Pass if the agent gives the release update then normal `meteor run`, explains
startup's paired dependency update, and reviews/commits the resulting version
files and authoritative lockfile. It keeps valid entries/configuration and
checks custom tooling separately. Fail if it requires the extra npm command,
re-adds Rspack or promises automatic rewriting of all custom configuration.
## Case 28: beta startup with deliberate auto-install opt-out
Prompt: "We are upgrading our Rspack app to Meteor 3.6-beta.0, but meteor.autoInstallDeps is false and CI must never rewrite dependencies. Will normal startup still upgrade everything? Give the local preparation and CI boundary."
Pass if the agent respects the opt-out, prepares the coordinated dependency
set locally, reviews and commits changes, then uses the existing manager's
frozen install with build-time dev dependencies. It explains that explicit
`meteor update --npm` overrides the opt-out for that invocation. Fail if it
silently enables auto-install, mutates locks in CI or treats opt-out as success
despite unresolved required dependencies.
## Case 29: Svelte preprocessing after the beta upgrade
Prompt: "After upgrading to Meteor 3.6-beta.0/Rspack 2, a Skeleton Svelte component fails during TypeScript preprocessing. We use svelte-loader and svelte-preprocess with PostCSS. Our tsconfig has extends and path aliases. What can we learn from Complex Todos without replacing our build setup?"
Pass if the agent checks resolved compiler/loader/preprocessor versions and
the first error, describes the example's Svelte update and TypeScript dev
dependency/configuration, and merges relevant `target`/`verbatimModuleSyntax`
options while preserving existing settings. It retains needed PostCSS and
verifies an affected component and CSS in development and production. Fail if
it treats observed versions as universal minimums, overwrites the config or
migrates the app to Vite/SvelteKit.
## Case 30: Lingui plugin major differs from the application toolchain
Prompt: "On Meteor 3.6-beta.0 with @rspack/core 2.2.0, our builtin:swc-loader fails loading @lingui/swc-plugin 5.11.0. The other Lingui tools are 5.x. Should I update only @swc/core, remove the plugin, or upgrade every Lingui package to 6? Notes Offline changed the plugin to 6.7.0."
Pass if the agent identifies Rspack's embedded SWC as the relevant host,
checks resolved plugin/runtime compatibility, and treats the example's
plugin update as a candidate rather than a universal pin. It preserves
required macro transforms, explains independently versioned tooling, and
verifies representative transformed and translated output. Fail if any of the
three proposed shortcuts is presented as sufficient without that evidence.
## Case 31: newer example fix on a pinned older compiler
Prompt: "Our Meteor 3.5.2 app must keep Rspack 1 for now. Lingui builds correctly. Should we copy Notes Offline's @lingui/swc-plugin 6.7.0 upgrade to prepare for Meteor 3.6?"
Pass if the agent preserves the working release/integration pairing, rejects
a speculative plugin upgrade and requires compatibility with the actual
resolved compiler before any later change. Fail if it treats the PR's plugin
version as a Meteor-wide floor or silently moves this app to Rspack 2.
## Case 32: raw Rspack 2 advice versus Meteor configuration
Prompt: "The Rspack 2 guide says its packages are pure ESM, dev-server is explicit, and resolve.roots defaults to empty. After upgrading our Meteor app to 3.6-beta.0, should I replace our working CommonJS rspack.config.js with a standalone ESM config and rebuild all resolution rules? Our host CI image still uses Node 18."
Pass if the agent distinguishes host Node from Meteor's build runtime,
checks Rspack 2's supported Node floor, preserves valid Meteor CommonJS
configuration/output and notes that Meteor supplies dev-server and project
roots. It inspects effective configuration and custom overrides before
changing resolution. Fail if it assumes raw defaults replace Meteor's values,
converts the project to ESM unconditionally or ignores the old host runtime.
Also fail if it calls host Node 18 the proven build blocker without checking
whether the command uses Meteor's supported bundled Node instead.
## Case 33: beta feedback without overstating validation
Prompt: "All five examples in PR #50 started, so can we say every plugin and offline/production behavior is verified? My beta app still fails in a custom loader. Help me prepare feedback; do not post anything."
Pass if the agent limits the PR claim to reported migration/startup, requires
the affected feature and applicable production/offline checks, and drafts a
redacted reproduction checklist with releases, resolved toolchain, runtime,
config, command/mode, expected/actual result and first error. It distinguishes
base integration from app tooling without assigning unproven blame. Fail if
it claims tests were run, dismisses all plugin issues as outside Meteor, or
posts a report.
## Case 34: new-app setup is not a migration
Prompt: "I'm creating a new Meteor 3.6-beta.0 app, not upgrading an existing one. I need the initial Rspack setup and an explanation of defineConfig versus extendConfig. Which skill owns this?"
Pass if the agent selects `meteor-modern-build-stack` for setup/configuration
helpers, reserving `migrate-to-rspack` for existing-app migration compatibility.
Fail if it requires a legacy-plugin removal or Rspack 1-to-2 migration first.
## Case 35: a working older plugin on Rspack 2
Prompt: "We use Rspack 2.2.0 and @lingui/swc-plugin 5.11.0. A simple macro compiles and renders correctly. Must we upgrade to 6.7.0 because Notes Offline did? Does our smoke prove its reported failure was wrong?"
Pass if the agent rejects both inferences: it preserves compatible working
tooling without a speculative upgrade and limits the smoke to its actual
input/mode. It requires reproduction through the affected JSX/catalog/loader
path and applicable development/production checks before a broader claim.
Fail if it declares all plugin 5.x versions broken on Rspack 2, forces the
example pin, or dismisses a different project's failure from this one smoke.
@@ -0,0 +1,298 @@
# Framework and CSS migration
Rspack replaces most Meteor build plugins that act on app files. Atmosphere
package internals can keep their old plugin. Framework-specific notes
below; each links to the underlying Rspack guide.
## React
Works out of the box. `meteor add rspack` detects React in
`package.json` and registers `react-refresh` automatically.
Skeleton: `meteor create --react`.
## Preact
Detected the same way as React. When Preact is in `package.json`, Meteor
skips adding React-only dependencies (no `react-refresh`). No extra config.
## React Compiler
On Meteor 3.6-beta.0's Rspack 2.2.0 / `@meteorjs/rspack@3.0.0-beta.1`
pairing, prefer the built-in SWC compiler through `Meteor.extendSwcConfig`.
Use `meteor-react` for React 19 and React 17/18 target/runtime setup.
Earlier integrations retain a Babel loader scoped to `.jsx`/`.tsx`; Babel
also remains valid for options unsupported by SWC. Do not remove a custom
Babel pipeline until its other transforms and runtime behavior are preserved.
See the [Rspack React Compiler guide](https://rspack.rs/guide/tech/react#react-compiler).
## Vue
Native Rspack Vue loader, no `jorgenvatle:vite` needed. Remove
`jorgenvatle:vite` from `package.json` after adding `rspack`.
Skeleton: `meteor create --vue`.
## Solid
Native Rspack Solid loader, no `jorgenvatle:vite` needed.
Skeleton: `meteor create --solid`.
## Svelte
Use the official Rspack Svelte integration. `zodern:melte` does not work
with the integration. If the codebase relied on melte-specific helpers
like `$` or `$m`, replace them with standard Svelte equivalents or
project-local abstractions.
Skeleton: `meteor create --svelte`.
## CoffeeScript
Combine `coffee-loader` with `swc-loader` to keep app code on SWC.
```bash
npm install --save-dev coffeescript swc-loader coffee-loader
```
```javascript
const { defineConfig } = require('@meteorjs/rspack');
module.exports = defineConfig(Meteor => ({
module: {
rules: [
{
test: /\.coffee$/i,
use: [
{ loader: 'swc-loader', options: Meteor.swcConfigOptions },
{ loader: 'coffee-loader' },
],
},
],
},
resolve: { extensions: ['.coffee'] },
}));
```
Skeleton: `meteor create --coffeescript`.
## Angular
Experimental. Builds and runs in dev, prod, and test mode.
Skeleton: `meteor create --angular`.
## Babel as the app transpiler
Rspack supports Babel as an alternative to SWC. Slower. Useful for
Babel-only plugins or compiler requirements unsupported by SWC. If a single
file needs Babel, restrict the loader to that file rather than the whole
app.
Skeleton: `meteor create --babel`.
## CSS and HTML outside the entry folder
Rspack requires JavaScript entry points, but Meteor can keep processing selected
CSS or HTML outside the entry folder. List those paths under `meteor.modules`:
```json
{
"meteor": {
"modules": ["styles/main.css", "imports/shell.html"]
}
}
```
Use this when a Meteor HTML or stylesheet compiler must retain ownership. Do
not add JavaScript expecting Meteor to compile it; Rspack owns app scripts. If
the file can be imported through a configured Rspack loader, prefer that path
for faster HMR. Validate that every listed path exists and that the final HTML
or stylesheet contains its output.
## Replace build plugins by capability
Before removing a Meteor build plugin, identify what it actually provides:
```text
handled extensions and source roots
loader or transform order
development and production branches
generated files and copied assets
injected globals, aliases, or virtual modules
source maps and minification behavior
```
Configure the matching Rspack loaders and plugins before removing the old
owner. Compare representative development and production outputs, including
generated CSS or assets and test-mode compilation. Remove the old plugin only
after output and runtime parity hold. If both owners cannot coexist, checkpoint
the working build and combine activation plus removal in one reversible change.
Revert that change when parity fails instead of stacking unrelated dependency
or framework upgrades.
Do not remove a plugin that acts only on Atmosphere package internals. Rspack
owns app code, while Meteor still compiles Atmosphere packages and assembles
the final bundle.
## CSS (default)
Built in. Any imported CSS file is processed and added to the HTML
skeleton. Any CSS file colocated with the entry point becomes a global
stylesheet without an explicit import.
On Meteor 3.4.1 and later, when `rspack.config.js` declares a CSS rule (via
`postcss-loader`, `type: "css"`, or another CSS loader), Meteor detects the
handled extensions after the first compilation and stops processing those
files. No `.meteorignore` change is required. The same auto-delegation applies
to Less and SCSS once their loaders are configured.
Meteor 3.4.0 predates automatic stylesheet delegation. Prefer upgrading to
3.4.1 or later before migrating the style pipeline. If the app must remain on
3.4.0, use only the narrow ignore required to prevent duplicate compilation,
verify that the exact styles still appear once in development and production,
and remove the workaround immediately after upgrading. Never ignore the active
Rspack build context.
If no CSS rule is present, Meteor keeps handling stylesheets the legacy
way. Meteor 3.6-beta.0's paired integration supplies a `css/auto` rule by
default; inspect the effective rules before diagnosing duplicate CSS owners.
## CSS Modules
Files named `*.module.css` are auto-scoped. Default export style is
named:
```javascript
import { app } from './App.module.css';
```
For default-import style:
```javascript
module.exports = defineConfig(Meteor => ({
module: {
parser: {
'css/auto': { namedExports: false },
'css/module': { namedExports: false },
},
},
}));
```
```javascript
import styles from './App.module.css';
```
TypeScript declaration (e.g. `imports/css-modules.d.ts`):
```typescript
declare module '*.module.css' {
const classes: { readonly [key: string]: string };
export default classes;
}
```
## Less
Replaces the `meteor/less` Meteor plugin for app files.
```bash
npm i -D less less-loader
```
```javascript
module.exports = defineConfig(Meteor => ({
module: {
rules: [
{
test: /\.less$/,
use: [{ loader: 'less-loader' }],
type: 'css/auto',
},
],
},
}));
```
## SCSS
Replaces the `fourseven:scss` Meteor plugin for app files.
```bash
npm i -D sass-embedded sass-loader
```
```javascript
module.exports = defineConfig(Meteor => ({
module: {
rules: [
{
test: /\.scss$/i,
use: [{
loader: 'sass-loader',
options: {
api: 'modern-compiler',
implementation: require.resolve('sass-embedded'),
},
}],
type: 'css/auto',
},
],
},
}));
```
Meteor 3.4.1's `meteor create --full` skeleton ships this exact setup.
## Tailwind and PostCSS
Supported out of the box. Follow the [Rspack Tailwind guide](https://tailwindcss.com/docs/installation/framework-guides/rspack/react).
Skeleton: `meteor create --tailwind`.
## Service Worker
For an existing Workbox integration or a generated worker, use
`workbox-webpack-plugin`'s `GenerateSW`. Meteor 3.6-beta.0 also supplies a
dependency-free Blaze worker via `meteor create --pwa`; use `meteor-blaze`
for that scaffold and preserve an existing worker when migrating. Neither
approach supplies offline data synchronization. For Workbox:
1. `exclude: [/./]` to skip precaching the build output. Use
`runtimeCaching` rules for dynamic bundles.
2. Match HMR with `/\.hot-update\./` and set it to `NetworkOnly`.
3. Cache `Meteor.assetsContext` and `Meteor.chunksContext` paths with
`StaleWhileRevalidate`. They contain build output Meteor serves.
For a custom `sw.js` filename, persist it once to disk in dev:
```javascript
...Meteor.persistDevFiles({ once: ['service-worker.js'] }),
```
HTML files persist automatically.
Service Worker support added in Meteor 3.4.1.
## HTML
A `client/main.html` (or whatever the entry folder uses) is processed by
Meteor's HTML pipeline as before. For deeper customization use the
integration's `HtmlRspackPlugin`:
```javascript
module.exports = defineConfig(Meteor => ({
plugins: [
Meteor.HtmlRspackPlugin({
meta: {
viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no',
},
}),
],
}));
```
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
@@ -0,0 +1,99 @@
# Rspack 1 to 2 in Meteor
Use this branch for Meteor 3.6, verified on `3.6-beta.0`, with
`rspack@1.4.0-beta360.0` and `@meteorjs/rspack@3.0.0-beta.1`.
Meteor 3.5.2 keeps `rspack@1.3.0`, `@meteorjs/rspack@2.2.0` and Rspack 1.x.
Do not force Rspack 2 into a constrained older release.
## Upgrade the coordinated dependency set
1. Checkpoint `.meteor/release`, `.meteor/versions`, app/workspace manifests,
the authoritative lockfile and custom `rspack.config.*`.
2. With default `meteor.autoInstallDeps` enabled, update then start normally:
```bash
meteor update --release 3.6-beta.0
meteor run
```
Startup checks and updates the required Rspack project dependencies. A
separate `meteor update --npm` is unnecessary. Review the resulting
manifests, Meteor version files and lockfile before committing them.
If `meteor.autoInstallDeps: false`, respect that choice: prepare the paired
dependencies explicitly in an authorized local workflow, then commit and
test a frozen install. `meteor update --npm` overrides the opt-out for that
invocation; do not put a lockfile-rewriting step in immutable CI.
3. The beta's required npm minimums are core/CLI/dev-server 2.2.0, Meteor integration
3.0.0-beta.1, SWC core 1.15.32, helpers 0.5.23 and Rsdoctor 1.5.9.
Keep helpers in runtime dependencies, the bundler tools in dev dependencies.
Detected React adds refresh plugin 2.0.0 and refresh runtime 0.17.0.
Record the resolved versions: compatible newer patches can satisfy these
minimums without matching the original examples' lockfiles exactly.
4. With npm and installed Rspack 1.x peers, the automatic upgrade uses
`--legacy-peer-deps`. The beta's manual warning can omit it. If that exact
coordinated update is rejected for stale peers, use the flag for that
invocation, review the lockfile and validate the installed majors. Do not
use `--force`, a global peer bypass or a flag copied into pnpm/Yarn.
5. Keep pnpm/Yarn workspace ownership. Resolve the manager at the workspace
root, add dependencies from the nested Meteor app, and commit its manifest
plus the root lockfile. Preserve intentional local dependency protocols.
## Review app-owned overrides
Meteor composes its base integration configuration and creates a default file
if none exists. It does not rewrite an existing `rspack.config.*` or migrate
every third-party loader/plugin. Inspect the effective merged configuration
before applying raw Rspack advice.
| Existing customization | Action on the beta pairing |
|---|---|
| `experiments.css` | Remove the obsolete option; the integration already supplies CSS rules with `type: "css/auto"`. Test CSS Modules and loader output. |
| `experiments.cache` | Use top-level `cache`; normally retain Meteor's persistent-cache defaults or `Meteor.setCache(false)` for a measured diagnostic. |
| `output.libraryTarget` | The upstream form is `output.library.type`, but Meteor owns final output. Remove an unnecessary override rather than replacing Meteor's output object. |
| `webpack-merge` in app-owned configuration | Use a compatible `rspack-merge` or Meteor's `extendConfig`; install a direct dependency if the app imports it. Preserve nested rules. |
| Missing TypeScript re-export diagnostic | Meteor defaults `module.parser.javascript.exportsPresence` to `"warn"` for SWC-stripped type exports. Inspect a custom strict override and distinguish types from missing runtime exports; do not disable checks globally. |
| `.swcrc`, `swc.config.js`, `swc.config.ts` | Keep valid Meteor configuration: the integration reads it and passes loader options even though raw Rspack 2 no longer auto-loads `.swcrc`. |
| Manual React Refresh plugin/bootstrap | Verify Meteor's automatic injection first; do not introduce a second refresh stack. |
Also check these [upstream migration boundaries](https://www.rspack.dev/guide/migration/rspack_1.x):
| Surface | Migration check |
|---|---|
| Node and ESM | Rspack 2 requires Node `^20.19.0 \|\| >=22.12.0`. Meteor 3.6-beta.0 bundles Node 24.15.0; host Node 18 alone does not prove a Meteor build incompatibility. Identify which binary actually invokes each tool before upgrading that runtime. Keep valid Meteor CommonJS configs/output despite pure-ESM Rspack packages. |
| Dev server | `@rspack/dev-server` is now explicit; Meteor's dependency check supplies it. Review custom `devServer.proxy` and `watchFiles` against the v2 guide before reusing old shapes. |
| Resolution | Upstream changes cover `.wasm` extension lookup, CSS `@import` conditions and empty `resolve.roots`. Meteor supplies explicit extensions and project roots. Inspect `resolve.byDependency` and custom overrides; test the failing import before changing resolution globally. |
| Custom plugins | Review the plugin's Rspack 2 support and the [2.0 breaking-change overview](https://www.rspack.dev/blog/announcing-2-0), including compiler hook and stats API changes when used. |
Apply changes to app-owned overrides, not generated `_build` output or a
replacement standalone configuration. For framework loaders, Svelte
preprocessors and Lingui/SWC plugins, use
[toolchain compatibility](toolchain-compatibility.md).
React Compiler can use the built-in SWC loader on this pairing; see
[framework migration](framework-and-css.md). Retain Babel for an older
integration or requirements unsupported by the SWC compiler path.
## Prove the result
Use `meteor npm ci` for an npm lockfile, `pnpm install --frozen-lockfile` at
the pnpm workspace root, or the installed Yarn version's frozen/immutable
install. Keep dev dependencies in the build stage. If an npm lockfile created
with the transition flag requires it for `ci`, document that project-local
requirement and retest after peer cleanup. Do not convert managers to fix CI.
Run development, a rebuild, actual client/server tests, and a production
bundle. Exercise CSS, lazy imports, local/workspace packages and custom
loaders when present. Boot the extracted bundle and load the browser page.
Follow the [validation matrix](validation-matrix.md); reported example startup
is not proof that your translations, UI components or offline updates work.
For a failure, capture the [migration report](troubleshooting.md#reporting-issues)
before applying another workaround.
On the beta's `rspack` package, HMR bootstrap belongs only to non-native
client development under `meteor run`, outside test mode. A `meteor build`
with `NODE_ENV=development` still has no dev-server HMR runtime. Verify the
generated and final artifacts, then rebuild from source; never repair them by
editing generated bootstrap files. Native HCP is a separate workflow.
---
Source: https://github.com/meteor/meteor/blob/devel/v3-docs/docs/about/modern-build-stack/rspack-bundler-integration.md
Loaded 100 of 739 files, more files were not shown because too many files have changed in this diff. Show more