Conversation
Currently translated at 100.0% (380 of 380 strings) Translated using Weblate (Spanish) Currently translated at 96.0% (365 of 380 strings) Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jorge Aguayo <jaguay@yahoo.com> Co-authored-by: shdw <weblate@assez.biz> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/es/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/fr/ Translation: motioneye-project/motioneye : python texts
Translations update from Hosted Weblate
Fix Python 3.14 compatibility by moving subprocess function to top level
Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Translated using Weblate (Czech) Currently translated at 97.1% (369 of 380 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (163 of 163 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (380 of 380 strings) Translated using Weblate (Portuguese) Currently translated at 29.7% (113 of 380 strings) Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Isaki23 <isaquefonseca230706@gmail.com> Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Co-authored-by: Petr Šmejkal <pidler@pidler.cz> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pt/ Translation: motioneye-project/motioneye : javascript texts Translation: motioneye-project/motioneye : python texts
* Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Translated using Weblate (Czech) Currently translated at 97.1% (369 of 380 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (163 of 163 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (380 of 380 strings) Translated using Weblate (Portuguese) Currently translated at 29.7% (113 of 380 strings) Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Isaki23 <isaquefonseca230706@gmail.com> Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Co-authored-by: Petr Šmejkal <pidler@pidler.cz> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pt/ Translation: motioneye-project/motioneye : javascript texts Translation: motioneye-project/motioneye : python texts * Update translation files --------- Co-authored-by: Isaki23 <isaquefonseca230706@gmail.com> Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Co-authored-by: Petr Šmejkal <pidler@pidler.cz> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Replace IOLoop.add_timeout() with an awaited retry so the HTTP request remains open until a frame is available or the retry limit is reached.
Add an admin_only flag to camera configuration and enforce it across the UI and handlers. Admin-only cameras are hidden from non-admin users in camera listings and are blocked from accessing pictures, movies, actions, and live frames. The flag is configurable via the UI, disabled by default, and not synced for remote cameras: We want to avoid version conflicts between local and remove motionEye instances, and if a camera is shared with a remote motionEye, the admin of this remote motionEye is free to manage access among its users, independent of whether admin_only is set on the sharing local motionEye for this camera or not.
Signed-off-by: MichaIng <micha@dietpi.com>
Signed-off-by: MichaIng <micha@dietpi.com>
If a remote motionEye is unavailable an exception was not handled.. this was due to the entirely reasonable expectation `raise_error=False` would not raise an error. This is however not the case as documented in the [tornado.httpclient](https://www.tornadoweb.org/en/stable/httpclient.html#tornado.httpclient.AsyncHTTPClient.fetch) documentation: ``` The raise_error=False argument only affects the HTTPError raised when a non-200 response code is used, instead of suppressing all errors. ``` Co-authored-by: MichaIng <micha@dietpi.com>
After splitting parameters key-value pairs by comma, they have a leading space. It remains as part of the key in the resulting dictionary, breaking `utils.build_digest_header()`. This change strips spaces from each key-value pair before creating the dictionary. Signed-off-by: MichaIng <micha@dietpi.com>
In #2432, we switched from HTTP/1.1 to HTTP/1.0 to avoid chunks used by `libmicrohttp` (used by `motion`) since v0.9.74, breaking our `Content-Length` based parsing. This as well changed the default Connection header from `keep-alive` to `close`. Since we otherwise add `Connection: close` explicitly, this changed the connection type for digest authentication only. With digest authentication, we need to wait for a 401 with a nonce to build the Authorization header, hence the connection needs to stay open. This commit hence adds `Connection: keep-alive` in that case to restore the pre-#2432 behavior. Additionally, the now redundant `Connection: close` header is removed to save a few bytes. Additionally, imports are switched to individual methods/constants where applicable, and the code to generate log messages is consolidated in two cases, making use of f-strings and avoiding intermediate variables. Signed-off-by: MichaIng <micha@dietpi.com>
This commit takes the logic from the base upload_file method to generate the path relative to the camera directory only if subdirs are enabled (`target_dir` is passed), correctly stripping leading slashes, else using `os.path.basename` to strip all path elements, giving the subdir slider an actual purpose. Additionally, the leading slashes are now `lstrip`ped from the path, instead of using a while loop, simplifying code, and the debug message now shows the path the file is uploaded to. Co-authored-by: MichaIng <micha@dietpi.com>
Co-authored-by: MichaIng <micha@dietpi.com>
…ntication (#3268) - Add separate per-camera MJPEG streaming username/password (no longer tied to the Surveillance user). - UI: show streaming credential fields only when authentication is set to Basic or Digest - Frontend: send streaming_username; send streaming_password only when changed; require Basic/Digest when Admin-only access is enabled. - Backend: reuse existing streaming credentials when the UI omits the password; parse authentication using only the first : so passwords may contain :. - Default stream changed to localhost-only; minor logging fix; silenced Flake8 C901 for an existing complex function.
* Fix pytest collecting utility functions as tests (#3272) Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
The CSS Browser Selector is obsolete nowadays, and we do not seem to make use of the classes it adds in our CSS anyway. The only exception was the Firefox `ff` class, which has been removed in turn: the special-handing is not needed but can be done consistently across all browsers. Similarly, the jQuery Mouse Wheel Plugin seems to requires binding to the event it fires, which we do not do. * fix(frontend): remove obsolete browser special handling Only `-webkit-user-select` is still needed: https://caniuse.com/?search=user-select Also, always hide the native select box arrow. We show our own blue arrow, and the native one on top of it always looks bad, not only on Firefox. Using only the native one on open boxes on all browsers would be an alternative, but it looks weird if there are multiple select boxes visible, and the selected one changes its arrow style. Ours fits better in to the UI. Signed-off-by: MichaIng <micha@dietpi.com>
There is a native time input form, which has a time picker, showing time formats in browser language. It submits the time in the same HH:MM format. Also the "time" class has been removed, as we can match by input[type=time] now, and use the "working-schedule" class to override rules with a more specific selector. Also remove obsolete CSS rule. That rule did not match anything before either: The "number" class is used only in other input fields supposed to receive numbers. The time input fields do not use that class but have their width set separately in ui.css. Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* chore(frontend)-update-external-JavaScript-modules * fix(frontend): update deprecated and removed jQuery methods. Some of those have been removed with jQuery v3.0 already. * chore(css): merge "html" selector blocks Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(frontent): update deprecated jQuery event shorthands
Basically all event handlers and triggers should be applied vie ".on('event', handler)" and ".trigger('event')" respectively. The ones updated here do still work, but are deprecated.
Signed-off-by: MichaIng <micha@dietpi.com>
* chore(frontent): fix typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* chore(frontend): further updates
This also removes an IE6-8 fallback, which did not support the getSelection and createRange methods.
Signed-off-by: MichaIng <micha@dietpi.com>
* Update translation files
* fix(frontend): false method migration
Signed-off-by: MichaIng <micha@dietpi.com>
* fix(frontend): convert camera frame sorting to vanilla JavaScript (#3283)
* Initial plan
* fix(frontend): add missing .get() to convert jQuery map to array
Camera frames were not being added to the GUI because jQuery's .map() returns a jQuery object, not an array. The .sort() method was failing on the jQuery object. Fixed by adding .get() to convert to a proper array before sorting.
Co-authored-by: MichaIng <28480705+MichaIng@users.noreply.github.com>
* refactor(frontend): convert camera frame sorting to vanilla JS
Replace jQuery methods with vanilla JavaScript:
- getPageContainer()[0].querySelectorAll() instead of .find()
- Array.from().map() instead of jQuery .map().get()
This eliminates jQuery dependency for camera frame sorting logic.
Co-authored-by: MichaIng <28480705+MichaIng@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MichaIng <28480705+MichaIng@users.noreply.github.com>
---------
Signed-off-by: MichaIng <micha@dietpi.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
text, combi, and file validators all did exactly the same: verifying that any input is given. Moreover, if the second argument required=false is given, their validation always returns true, rending the whole thing unnecessary processing. This commit merged the 3 validators into one, new "required" validator. The 2nd argument is removed, and this validator is added only if input is required. Else, no validator is added at all. Generally, it can make sense to validate at least file paths differently. However, as long as not someone aims to add a regex filter which supports all UNIX-like platforms and still serves any purpose, I prefer to remove duplicate and dead code. In one case, `makeUrlValidator` is called with 2nd argument "true", while this function does not handle the 2nd argument. It is hence removed. Also, the `<type>-validator` classes are not added anymore. I cannot find them being used anywhere. Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…avaScript (#3285) Five validator functions (`makeRequiredValidator`, `makeNumberValidator`, `makeTimeValidator`, `makeUrlValidator`, `makeCustomValidator`) duplicated ~40 lines of setup logic each. Additionally, `makeCharReplacer` was unused, and validators relied on jQuery for DOM operations. ## Changes **Unified validator architecture** - Merged `applyValidator` into `makeCustomValidator` - all validators now call `makeCustomValidator()` directly - All validation functions use short-circuit evaluation: `return condition || i18n.gettext("error message")` - Optimized visibility check using short-circuit evaluation: `var valid = !isVisible(element) || isValidFn(strVal);` **Refactored all validators** ```javascript // Before: ~50 lines of duplicated setup function makeRequiredValidator($input) { $input.each(function () { var $this = $(this); function isValid(strVal) { if (!$this.is(':visible')) return true; // ... validation logic } // ... 40 lines of setup code }); } // After: Single line with short-circuit evaluation function makeRequiredValidator($input) { makeCustomValidator($input, function (strVal) { return strVal.length !== 0 || i18n.gettext("Ĉi tiu kampo estas deviga"); }); } ``` **Migrated to vanilla JavaScript** - Replaced `$this.is(':visible')` with `isVisible()` helper checking `offsetWidth`/`offsetHeight`/`getClientRects()` - Replaced `$this.val()` → `element.value` - Replaced `$this.attr('title', ...)` → `element.title` - Replaced `$this.addClass()`/`removeClass()` → `element.classList` - Retained jQuery for event binding (`$input.on()`) per incremental migration approach **Removed unused code** - Deleted `makeCharReplacer` (no references in codebase) **Bug fixes and improvements** - Time validator: regex now correctly validates 00-23 hours (was accepting 00-29) - Number validator: added `parseInt` radix parameter, implemented floating-point support with exponential notation - Number validator: simplified sign handling - when `sign !== true && minVal < 0`, directly sets `minVal = 0` - Number validator: removed separate "pozitivan nombron" and "pozitivan entjeran nombron" error messages; sign handling now implicit via minVal bounds ## Impact - 48% code reduction (320 → 165 lines) - `makeNumberValidator` now properly handles `floating` parameter (previously unused) - All validators follow consistent short-circuit evaluation pattern - Simpler sign handling with no redundant checks or extra variables - All user-facing messages properly internationalized - No API changes; backward compatible Signed-off-by: MichaIng <micha@dietpi.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translated using Weblate (Danish) Currently translated at 36.9% (61 of 165 strings) Translated using Weblate (German) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Swedish) Currently translated at 82.4% (136 of 165 strings) Translated using Weblate (Italian) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Arabic) Currently translated at 15.7% (26 of 165 strings) Translated using Weblate (Slovak) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Czech) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Portuguese) Currently translated at 96.3% (159 of 165 strings) Translated using Weblate (French) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Korean) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Russian) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Ukrainian) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Greek) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Catalan) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Japanese) Currently translated at 3.6% (6 of 165 strings) Translated using Weblate (Hungarian) Currently translated at 27.8% (46 of 165 strings) Translated using Weblate (Hindi) Currently translated at 0.0% (0 of 165 strings) Translated using Weblate (Polish) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Turkish) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Turkish) Currently translated at 96.8% (375 of 387 strings) Translated using Weblate (English) Currently translated at 98.7% (163 of 165 strings) Translated using Weblate (Finnish) Currently translated at 98.1% (162 of 165 strings) Translated using Weblate (Spanish) Currently translated at 98.1% (162 of 165 strings) Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Translated using Weblate (Dutch) Currently translated at 100.0% (387 of 387 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (165 of 165 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (165 of 165 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 96.3% (373 of 387 strings) Translated using Weblate (Catalan) Currently translated at 96.8% (375 of 387 strings) Translated using Weblate (Dutch) Currently translated at 98.7% (382 of 387 strings) Translated using Weblate (Japanese) Currently translated at 68.4% (265 of 387 strings) Translated using Weblate (Korean) Currently translated at 94.8% (367 of 387 strings) Translated using Weblate (English) Currently translated at 98.1% (380 of 387 strings) Translated using Weblate (Ukrainian) Currently translated at 98.1% (380 of 387 strings) Translated using Weblate (Czech) Currently translated at 95.3% (369 of 387 strings) Translated using Weblate (French) Currently translated at 98.1% (380 of 387 strings) Translated using Weblate (Portuguese) Currently translated at 29.1% (113 of 387 strings) Translated using Weblate (Slovak) Currently translated at 96.8% (375 of 387 strings) Translated using Weblate (Spanish) Currently translated at 94.3% (365 of 387 strings) Translated using Weblate (Hungarian) Currently translated at 17.0% (66 of 387 strings) Translated using Weblate (Italian) Currently translated at 96.6% (374 of 387 strings) Translated using Weblate (Greek) Currently translated at 95.0% (368 of 387 strings) Translated using Weblate (Swedish) Currently translated at 44.7% (173 of 387 strings) Translated using Weblate (German) Currently translated at 98.1% (380 of 387 strings) Translated using Weblate (Finnish) Currently translated at 19.8% (77 of 387 strings) Translated using Weblate (Danish) Currently translated at 1.2% (5 of 387 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 387 strings) Translated using Weblate (Polish) Currently translated at 94.3% (365 of 387 strings) Translated using Weblate (Hindi) Currently translated at 0.5% (2 of 387 strings) Translated using Weblate (Russian) Currently translated at 97.6% (378 of 387 strings) Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translated using Weblate (Japanese) Currently translated at 69.3% (265 of 382 strings) Translated using Weblate (Catalan) Currently translated at 98.1% (375 of 382 strings) Translated using Weblate (Spanish) Currently translated at 95.5% (365 of 382 strings) Translated using Weblate (Russian) Currently translated at 98.9% (378 of 382 strings) Translated using Weblate (Ukrainian) Currently translated at 99.4% (380 of 382 strings) Translated using Weblate (Hindi) Currently translated at 0.5% (2 of 382 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.6% (373 of 382 strings) Translated using Weblate (Italian) Currently translated at 97.9% (374 of 382 strings) Translated using Weblate (Czech) Currently translated at 96.5% (369 of 382 strings) Translated using Weblate (French) Currently translated at 99.4% (380 of 382 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (382 of 382 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (382 of 382 strings) Translated using Weblate (Korean) Currently translated at 96.0% (367 of 382 strings) Translated using Weblate (Hungarian) Currently translated at 17.2% (66 of 382 strings) Translated using Weblate (German) Currently translated at 99.4% (380 of 382 strings) Translated using Weblate (Swedish) Currently translated at 45.2% (173 of 382 strings) Translated using Weblate (Turkish) Currently translated at 98.1% (375 of 382 strings) Translated using Weblate (Greek) Currently translated at 96.3% (368 of 382 strings) Translated using Weblate (Finnish) Currently translated at 20.1% (77 of 382 strings) Translated using Weblate (Polish) Currently translated at 95.5% (365 of 382 strings) Translated using Weblate (Portuguese) Currently translated at 29.5% (113 of 382 strings) Translated using Weblate (Danish) Currently translated at 1.3% (5 of 382 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 382 strings) Translated using Weblate (Slovak) Currently translated at 98.1% (375 of 382 strings) Translated using Weblate (English) Currently translated at 99.4% (380 of 382 strings) Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Merge remote-tracking branch 'origin/dev' into dev Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org> Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ar/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ca/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/da/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/de/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/el/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/en/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/es/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/fi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/fr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/hi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/hu/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/it/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ja/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ko/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/pl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/pt/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ru/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/sk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/sv/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/tr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/uk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ar/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ca/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/da/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/de/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/el/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/en/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/es/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/fi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/fr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/hi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/hu/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/it/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ja/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ko/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pt/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ru/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/sk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/sv/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/tr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/uk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/zh_Hans/ Translation: motioneye-project/motioneye : javascript texts Translation: motioneye-project/motioneye : python texts
We let Weblate generate the i18next JSON files directly. Signed-off-by: MichaIng <micha@dietpi.com>
Translations update from Hosted Weblate
This reverts commit 3e2f816. Weblate does not support the exact JSON format gettext.js needs. Re-enable for now. Ultimately this requires a split into string extraction, only of source files changed, and PO to JSON conversion + MO cleanup, only if PO files changes. Templates should have minimal header to reduce noise and Webalte + CI loops. Signed-off-by: MichaIng <micha@dietpi.com>
Dependabot requires a PEP 751 pyproject.lock to manage dependencies. But we intentioanlly do not lock them them, but add lower constraints only. We could add a lockfile to our container images, to allow reproducible builds, but not as part of our repo. Python dependencies are not embedded, hence for reproducable wheel builds, it is irrelevant. Signed-off-by: MichaIng <micha@dietpi.com>
Translations update from Hosted Weblate
Signed-off-by: MichaIng <micha@dietpi.com>
Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (German) Currently translated at 100.0% (175 of 175 strings) Translated using Weblate (German) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (English) Currently translated at 100.0% (175 of 175 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (French) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (French) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (French) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (French) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Czech) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Czech) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Korean) Currently translated at 92.8% (366 of 394 strings) Translated using Weblate (Korean) Currently translated at 92.8% (366 of 394 strings) Translated using Weblate (Korean) Currently translated at 92.8% (366 of 394 strings) Translated using Weblate (Korean) Currently translated at 92.8% (366 of 394 strings) Translated using Weblate (Hindi) Currently translated at 3.8% (15 of 394 strings) Translated using Weblate (Hindi) Currently translated at 3.8% (15 of 394 strings) Translated using Weblate (Hindi) Currently translated at 3.8% (15 of 394 strings) Translated using Weblate (Hindi) Currently translated at 3.8% (15 of 394 strings) Translated using Weblate (Hindi) Currently translated at 3.8% (15 of 394 strings) Translated using Weblate (Nepali) Currently translated at 5.8% (23 of 394 strings) Translated using Weblate (Nepali) Currently translated at 5.8% (23 of 394 strings) Translated using Weblate (Malay) Currently translated at 0.0% (0 of 175 strings) Translated using Weblate (Malay) Currently translated at 0.0% (0 of 175 strings) Translated using Weblate (Romanian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (Romanian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (German) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (German) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Bengali) Currently translated at 0.7% (3 of 394 strings) Translated using Weblate (Bengali) Currently translated at 0.7% (3 of 394 strings) Translated using Weblate (Bengali) Currently translated at 0.7% (3 of 394 strings) Translated using Weblate (Greek) Currently translated at 93.1% (367 of 394 strings) Translated using Weblate (Greek) Currently translated at 93.1% (367 of 394 strings) Translated using Weblate (Greek) Currently translated at 93.1% (367 of 394 strings) Translated using Weblate (Greek) Currently translated at 93.1% (367 of 394 strings) Translated using Weblate (Punjabi) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Punjabi) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Punjabi) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Russian) Currently translated at 95.9% (378 of 394 strings) Translated using Weblate (Russian) Currently translated at 95.9% (378 of 394 strings) Translated using Weblate (Russian) Currently translated at 95.9% (378 of 394 strings) Translated using Weblate (Russian) Currently translated at 95.9% (378 of 394 strings) Translated using Weblate (Russian) Currently translated at 95.9% (378 of 394 strings) Translated using Weblate (Hindi) Currently translated at 7.4% (13 of 175 strings) Translated using Weblate (Hindi) Currently translated at 7.4% (13 of 175 strings) Translated using Weblate (Hindi) Currently translated at 7.4% (13 of 175 strings) Translated using Weblate (Slovak) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Slovak) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Slovak) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Slovak) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Tamil) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Tamil) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Tamil) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Tamil) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Tamil) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Punjabi) Currently translated at 9.7% (17 of 175 strings) Translated using Weblate (Punjabi) Currently translated at 9.7% (17 of 175 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (394 of 394 strings) Translated using Weblate (Portuguese) Currently translated at 97.7% (171 of 175 strings) Translated using Weblate (Portuguese) Currently translated at 97.7% (171 of 175 strings) Translated using Weblate (Portuguese) Currently translated at 97.7% (171 of 175 strings) Translated using Weblate (Portuguese) Currently translated at 97.7% (171 of 175 strings) Translated using Weblate (Portuguese) Currently translated at 97.7% (171 of 175 strings) Translated using Weblate (Danish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Danish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Danish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Danish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Danish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Korean) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Korean) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Hungarian) Currently translated at 42.2% (74 of 175 strings) Translated using Weblate (Hungarian) Currently translated at 42.2% (74 of 175 strings) Translated using Weblate (Hungarian) Currently translated at 42.2% (74 of 175 strings) Translated using Weblate (Hungarian) Currently translated at 42.2% (74 of 175 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 98.2% (387 of 394 strings) Translated using Weblate (Swedish) Currently translated at 76.5% (134 of 175 strings) Translated using Weblate (Swedish) Currently translated at 76.5% (134 of 175 strings) Translated using Weblate (Danish) Currently translated at 34.2% (135 of 394 strings) Translated using Weblate (Danish) Currently translated at 34.2% (135 of 394 strings) Translated using Weblate (Danish) Currently translated at 34.2% (135 of 394 strings) Translated using Weblate (Danish) Currently translated at 34.2% (135 of 394 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (175 of 175 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (175 of 175 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (175 of 175 strings) Translated using Weblate (Finnish) Currently translated at 19.5% (77 of 394 strings) Translated using Weblate (Finnish) Currently translated at 19.5% (77 of 394 strings) Translated using Weblate (Finnish) Currently translated at 19.5% (77 of 394 strings) Translated using Weblate (Czech) Currently translated at 93.4% (368 of 394 strings) Translated using Weblate (Czech) Currently translated at 93.4% (368 of 394 strings) Translated using Weblate (Czech) Currently translated at 93.4% (368 of 394 strings) Translated using Weblate (Czech) Currently translated at 93.4% (368 of 394 strings) Translated using Weblate (English) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (English) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (English) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Spanish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Spanish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Spanish) Currently translated at 98.2% (172 of 175 strings) Translated using Weblate (Turkish) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Turkish) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Turkish) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Turkish) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Ukrainian) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Ukrainian) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Ukrainian) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Ukrainian) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Slovak) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Slovak) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Italian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (Italian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (Italian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (Italian) Currently translated at 94.9% (374 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 93.1% (163 of 175 strings) Translated using Weblate (Nepali) Currently translated at 13.7% (24 of 175 strings) Translated using Weblate (Nepali) Currently translated at 13.7% (24 of 175 strings) Translated using Weblate (English) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (English) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (English) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (English) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (Catalan) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Catalan) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Catalan) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Catalan) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.4% (384 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.4% (384 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.4% (384 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.4% (384 of 394 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 97.4% (384 of 394 strings) Translated using Weblate (Turkish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Turkish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Turkish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Japanese) Currently translated at 3.4% (6 of 175 strings) Translated using Weblate (Japanese) Currently translated at 3.4% (6 of 175 strings) Translated using Weblate (Bulgarian) Currently translated at 0.5% (1 of 175 strings) Translated using Weblate (Bulgarian) Currently translated at 0.5% (1 of 175 strings) Translated using Weblate (Bulgarian) Currently translated at 0.5% (1 of 175 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (French) Currently translated at 98.9% (390 of 394 strings) Translated using Weblate (Japanese) Currently translated at 67.2% (265 of 394 strings) Translated using Weblate (Japanese) Currently translated at 67.2% (265 of 394 strings) Translated using Weblate (Japanese) Currently translated at 67.2% (265 of 394 strings) Translated using Weblate (Japanese) Currently translated at 67.2% (265 of 394 strings) Translated using Weblate (Arabic) Currently translated at 14.8% (26 of 175 strings) Translated using Weblate (Arabic) Currently translated at 14.8% (26 of 175 strings) Translated using Weblate (German) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (German) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (German) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (German) Currently translated at 99.2% (391 of 394 strings) Translated using Weblate (Hungarian) Currently translated at 22.3% (88 of 394 strings) Translated using Weblate (Hungarian) Currently translated at 22.3% (88 of 394 strings) Translated using Weblate (Hungarian) Currently translated at 22.3% (88 of 394 strings) Translated using Weblate (Hungarian) Currently translated at 22.3% (88 of 394 strings) Translated using Weblate (Finnish) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Finnish) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Polish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Polish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Polish) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Arabic) Currently translated at 0.5% (2 of 394 strings) Translated using Weblate (Russian) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Russian) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Malay) Currently translated at 0.2% (1 of 394 strings) Translated using Weblate (Malay) Currently translated at 0.2% (1 of 394 strings) Translated using Weblate (Malay) Currently translated at 0.2% (1 of 394 strings) Translated using Weblate (Polish) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Polish) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Polish) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Polish) Currently translated at 92.6% (365 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Spanish) Currently translated at 98.7% (389 of 394 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 90.2% (158 of 175 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 90.2% (158 of 175 strings) Translated using Weblate (Catalan) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Catalan) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Catalan) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Romanian) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Romanian) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Bulgarian) Currently translated at 0.2% (1 of 394 strings) Translated using Weblate (Bulgarian) Currently translated at 0.2% (1 of 394 strings) Translated using Weblate (Greek) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Greek) Currently translated at 90.8% (159 of 175 strings) Translated using Weblate (Bengali) Currently translated at 0.0% (0 of 175 strings) Translated using Weblate (Bengali) Currently translated at 0.0% (0 of 175 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 95.1% (375 of 394 strings) Translated using Weblate (Italian) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Italian) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Italian) Currently translated at 91.4% (160 of 175 strings) Translated using Weblate (Swedish) Currently translated at 43.9% (173 of 394 strings) Translated using Weblate (Swedish) Currently translated at 43.9% (173 of 394 strings) Translated using Weblate (Swedish) Currently translated at 43.9% (173 of 394 strings) Co-authored-by: Anonymous <noreply@weblate.org> Co-authored-by: Arnau Llovet Vidal <arnaullv@gmail.com> Co-authored-by: Burak <admin@homelab.gen.tr> Co-authored-by: Dimitar Kalinov <dkalinoff@gmail.com> Co-authored-by: Gabriel <bloxgabriel18@gmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Hosted Weblate user 148881 <kovacsgyugyu@gmail.com> Co-authored-by: Isaki23 <isaquefonseca230706@gmail.com> Co-authored-by: Joaquim Fonseca <jjmf2300@gmail.com> Co-authored-by: Jorge Aguayo <jaguay@yahoo.com> Co-authored-by: Jose Riha <jose1711@gmail.com> Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org> Co-authored-by: Lorcan Lerouvillois <lorcan.lerouvillois@gmail.com> Co-authored-by: Maksymilian Kłusek <123858.xyz@gmail.com> Co-authored-by: Manuel Garrido Fernández <mgarridof@gmail.com> Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Co-authored-by: MarkZ <daqinit@qq.com> Co-authored-by: MichaIng <micha@dietpi.com> Co-authored-by: Onur TORAMAN <onur@toraman.net> Co-authored-by: Pablo Esteban Bondaz <pabloestebanbondaz@gmail.com> Co-authored-by: Petr Šmejkal <pidler@pidler.cz> Co-authored-by: Piotr Turek <piotr.turek@borpol.com.pl> Co-authored-by: Robert Brutoczki <robibrutoczki@googlemail.com> Co-authored-by: Saulo Barbosa Oliveira <neosoyo@gmail.com> Co-authored-by: Siddharth S <siddharth.sadhana@proton.me> Co-authored-by: SimonHanel <simon@hanel.dk> Co-authored-by: Tbnilen <tbn@kse.dk> Co-authored-by: Tommy B.Nielsen <4060dk@gmail.com> Co-authored-by: User2068 <user603849745775@proton.me> Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org> Co-authored-by: Zhang Wei <Zhang@users.noreply.hosted.weblate.org> Co-authored-by: Ziteng <765484893@qq.com> Co-authored-by: albanobattistella <albano_battistella@hotmail.com> Co-authored-by: qnotions <qnotions@gmail.com> Co-authored-by: shdw <weblate@assez.biz> Co-authored-by: vrcher <matt.yalta72@gmail.com> Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru> Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ar/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/bg/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/bn/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ca/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/da/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/de/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/el/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/en/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/es/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/fi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/fr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/hi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/hu/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/it/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ja/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ko/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ms/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ne/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/pa/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/pl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/pt/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ro/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ru/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/sk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/sv/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/ta/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/tr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/uk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-javascript/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ar/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/bg/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/bn/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ca/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/cs/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/da/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/de/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/el/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/en/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/es/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/fi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/fr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/hi/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/hu/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/it/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ja/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ko/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ms/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ne/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/nl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pa/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pl/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/pt/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ro/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ru/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/sk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/sv/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ta/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/tr/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/uk/ Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/zh_Hans/ Translation: motioneye-project/motioneye : javascript texts Translation: motioneye-project/motioneye : python texts
This solves a low severity security vulnerability in tornado. Signed-off-by: MichaIng <micha@dietpi.com>
Translations update from Hosted Weblate
This API is harmless, affects visual preferences only: camera frame alignment and sizes, as well as lowering the displayed camera resolution and framerate. However, this matters only for the GUI after authentication, hence there is no point to allow using this API without authentication, messing with users' preferences. For clarity, the functions to getting/setting prefs have been moved into the prefs handler script, and inlined, since they are used only at this single place. Since I am lazy to create two PRs, this commit additionally allows the blue settings panel buttons to grow with long text. With some translations, they can be too small. The fixed width is turned into a minimal width with a padding. Buttons with short texts will have the same size, but buttons with longer text will grow with the text length. * chore: apply strict typing and f-string usage Signed-off-by: MichaIng <micha@dietpi.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
by using Python 3.7 compatible typing. Also use f-strings where possible in touched files. Add Python 3.9 to our test matrix, which is the oldest version able to build the project (due to setuptools >=77.0.3). Add ruff linter and formatter with Python 3.7 as target version, and all supported Python versions to black. Use the faster "black-pre-commit-mirror". Also add Ubuntu 26.04 Resolute runners to test matrix where possible. Signed-off-by: MichaIng <micha@dietpi.com>
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Co-authored-by: Hosted Weblate <hosted@weblate.org> Translate-URL: https://hosted.weblate.org/projects/motioneye-project/motioneye-python-texts/ Translation: motioneye-project/motioneye : python texts
Translations update from Hosted Weblate
Beta 0.44.0b3
Collaborator
|
In the release notes it states:
Since the HTTP basic authentication option was later removed during the 0.44.0 beta cycle, this is no longer relevant for the final release IMO. |
Member
Author
|
Good find, that might have been confusing 😄. Btw: I'll add the CVE/advisory references later on in https://github.com/motioneye-project/motioneye/releases, once PyPI and Docker Hub builds were published. |
Collaborator
|
And the version string needs to be updated as well. 🙂 |
Member
Author
|
Yes, my last unreviewed file, to change right before merge 😄. EDIT: Though, not much reason to wait with that. Just done. |
Signed-off-by: MichaIng <micha@dietpi.com>
Bump version string for v0.44.0 stable release
Marijn0
reviewed
Jun 19, 2026
Marijn0
approved these changes
Jun 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking changes: #3332 @motioneye-project
/loginAPI, withusernameandpasswordarguments as POST data/parameters. If credentials were correct, a session cookie is returned, which needs to be sent with the actual API requests. The cookie has a 24h lifetime, hence scripts/programs should automatically redo the login loop when receiving a 403./actionAPI does now require authentication.Other changes
picture/ID/currentAPI has been fixed for requests which are not done withinmjpg_client_idle_timeout(default: 10) seconds after another:motionconfiguration files are now created and stored with0600UNIX mode, to prevent read access for anyone but the motionEye daemon user and root @MichaIng:\"\":motion.conf,camera-*.conf,prefs.json, andmask-*.pgm. Files that need to be created from console, likemotioneye.confand camera action scripts, are not included, and won't be restored anymore, if present in old backups:motion%$conversion specifier to reference the camera name can now be used in media filenames:.mpgfiles inside the camera media directories are not treated as movie files regarding preview generation, cleanup, and similar tasks. Available motionEye options do not currently generate those files, but with custom settings, manual conversions, media files copied from elsewhere, the situation is generally possible:🚨 Since this version contains a number of security-related changes, we highly recommend to update your instances ASAP 🚀.