Skip to content

Allow motion's %$ conversion specifier#3273

Draft
MichaIng wants to merge 2 commits intodevfrom
enh/conversion-specifier
Draft

Allow motion's %$ conversion specifier#3273
MichaIng wants to merge 2 commits intodevfrom
enh/conversion-specifier

Conversation

@MichaIng
Copy link
Member

@MichaIng MichaIng commented Feb 15, 2026

This commit was done with an anonymous account in context of a study. The actual author might want to open a PR with its true account for proper credits, after the study ended. However, I am opening this here to show that this issue has been addressed, so no one starts doubled work 😉.

My only concern was that it re-introduced this RCE vulnerability: GHSA-j945-qm58-4gjx
However, the %$ seems to be replaced by motion before it is piped through the shell, so %$VARIALE and %$(command) are expanded to Camera1VARIABLE and Camera1(command) respectively, no variable or command substitution hence happens.

@MichaIng MichaIng added this to the v0.43.2 milestone Feb 15, 2026
@MichaIng MichaIng marked this pull request as draft February 15, 2026 23:10
@MichaIng
Copy link
Member Author

@copilot
A translated string is expanded a way here, which does not require human re-translation. Please replace the respective origin string in the backend's .po files, and add the %$ to the translations as well. So msgmerge (and Weblate) won't treat this as new string, but keep the old translation just with %$ added.

Copy link
Contributor

Copilot AI commented Feb 15, 2026

@MichaIng I've opened a new pull request, #3274, to work on those changes. Once the pull request is ready, I'll request review from you.

@MichaIng
Copy link
Member Author

MichaIng commented Feb 15, 2026

Great #3274 is ready to be merged into whichever PR adds this change. That way we avoid any additional translation needs. A blueprint for whenever we change source strings in a sufficiently trivial way, or in a way which does not render the translations entirely wrong. If some native speaker shall better have a look, we can let Copilot add the fuzzy tag, maybe even another custom tag: so it appears as unfinished in Weblate, but without the existing translation lost, and optionally with some custom explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants