From b99ab0813947bc70ec11615bf573cb0420ec0809 Mon Sep 17 00:00:00 2001 From: khaledsherkawi <54568489+khaledsherkawi@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:52:35 +0100 Subject: [PATCH 1/6] SW-2835 "<" character breaks frontend rendering (#1709) * SW-2835 fix attribute name * SW-2835 sanitize text * SW-2780 Fix & in styling bug * SW-2835 Fix the bug in a different manner This bug is caused by the method to convert elements into strings when they are not part of the DOM. The bug is resolved initially by handling certain characters to avoid this from happening, but it was a patchy and incomplete solution as it didn't handle the styling of these elements as well. This solution appends the elements to the DOM, convert them to strings and them removes them. --------- Co-authored-by: Josef-MrBeam <81746291+Josef-MrBeam@users.noreply.github.com> --- .../static/js/app/snap-plugins/helpers.js | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/octoprint_mrbeam/static/js/app/snap-plugins/helpers.js b/octoprint_mrbeam/static/js/app/snap-plugins/helpers.js index 3071b268a..2e85cf71d 100644 --- a/octoprint_mrbeam/static/js/app/snap-plugins/helpers.js +++ b/octoprint_mrbeam/static/js/app/snap-plugins/helpers.js @@ -147,7 +147,7 @@ Snap.plugin(function (Snap, Element, Paper, global) { .map((e) => { const transform = e.transform().totalMatrix.toString(); const clone = e.clone().attr("transform", transform); - const str = clone.outerSVG(); + const str = clone.toRenderedElementString(); clone.remove(); return str; }) @@ -157,7 +157,7 @@ Snap.plugin(function (Snap, Element, Paper, global) { + viewBox="${att.viewBox}"> ${defs} @@ -170,6 +170,28 @@ Snap.plugin(function (Snap, Element, Paper, global) { return svg; }; + Element.prototype.toRenderedElementString = function () { + const element = this; + + // Create a new parent element to hold the SVG + const parentElement = document.createElement("div"); + + // Append the parent element to the document body (but don't show it) + parentElement.style.display = "none"; + parentElement.appendChild(element.node); + + // Append the element to the hidden parent element + document.body.appendChild(parentElement); + + // Get innerHTML of the parent element + const elementInnerHTML = parentElement.innerHTML; + + // Remove the parent element from the DOM + document.body.removeChild(parentElement); + + return elementInnerHTML.toString(); + }; + Element.prototype.toWorkingAreaDataURL = function ( w, h, From 58d08b58ab7f8452739a46df667bda351ae4bdc2 Mon Sep 17 00:00:00 2001 From: khaledsherkawi <54568489+khaledsherkawi@users.noreply.github.com> Date: Tue, 14 Mar 2023 16:05:37 +0100 Subject: [PATCH 2/6] SW-2910 Pattern tag in SVG hiding paths rendered by the plugin into the gcode (#1710) SW-2910 Add the pattern tag to unsupported elements --- .../static/js/app/view-models/working-area.js | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/octoprint_mrbeam/static/js/app/view-models/working-area.js b/octoprint_mrbeam/static/js/app/view-models/working-area.js index 1d6f0c6c1..c85b16e06 100644 --- a/octoprint_mrbeam/static/js/app/view-models/working-area.js +++ b/octoprint_mrbeam/static/js/app/view-models/working-area.js @@ -1103,8 +1103,10 @@ $(function () { "flowRoot", "switch", "#adobe_illustrator_pgf", + "pattern", ]; + let unsupportedElemsDetected = []; for (var i = 0; i < unsupportedElems.length; i++) { var myElem = fragment.selectAll(unsupportedElems[i]); if (myElem.length !== 0) { @@ -1116,13 +1118,16 @@ $(function () { unsupportedElems[i] + "' element in SVG" ); - self.svg_contains_unsupported_element_warning( - unsupportedElems[i] - ); + unsupportedElemsDetected.push(unsupportedElems[i]); myElem.remove(); } } + // inform user about unsupported elements + self.svg_contains_unsupported_element_warning( + unsupportedElemsDetected + ); + // remove other unnecessary or invisible ("display=none") elements let removeElements = fragment.selectAll( 'title, metadata, script, [display=none], [style*="display:none"], inkscape\\:path-effect, sodipodi\\:namedview' @@ -1963,21 +1968,27 @@ $(function () { }; }; - self.svg_contains_unsupported_element_warning = function (elemName) { - elemName = elemName.replace("\\:", ":"); + self.svg_contains_unsupported_element_warning = function ( + unsupportedElemsDetected + ) { + unsupportedElemsDetected = unsupportedElemsDetected + .join(", ") + .replace("\\:", ":"); var error = "

" + _.sprintf( gettext( - "The SVG file contains unsupported elements: '%(elemName)s' These elements got removed." + "The SVG file contains unsupported elements: '%(unsupportedElemsDetected)s'. These elements got removed." ), - { elemName: elemName } + { unsupportedElemsDetected: unsupportedElemsDetected } ) + "

"; new PNotify({ title: _.sprintf( - gettext("Unsupported elements in SVG: '%(elemName)s'"), - { elemName: elemName } + gettext( + "Unsupported elements in SVG: '%(unsupportedElemsDetected)s'" + ), + { unsupportedElemsDetected: unsupportedElemsDetected } ), text: error, type: "warn", From b682afdcfb7ac5f20ba03719b3760720e2008c39 Mon Sep 17 00:00:00 2001 From: khaledsherkawi <54568489+khaledsherkawi@users.noreply.github.com> Date: Tue, 14 Mar 2023 17:06:04 +0100 Subject: [PATCH 3/6] SW-2910 Pattern tag in SVG hiding paths rendered by the plugin into the gcode (#1711) SW-2910 Fix notification bug --- .../static/js/app/view-models/working-area.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/octoprint_mrbeam/static/js/app/view-models/working-area.js b/octoprint_mrbeam/static/js/app/view-models/working-area.js index c85b16e06..f254f2380 100644 --- a/octoprint_mrbeam/static/js/app/view-models/working-area.js +++ b/octoprint_mrbeam/static/js/app/view-models/working-area.js @@ -1124,9 +1124,11 @@ $(function () { } // inform user about unsupported elements - self.svg_contains_unsupported_element_warning( - unsupportedElemsDetected - ); + if (unsupportedElemsDetected.length > 0) { + self.svg_contains_unsupported_element_warning( + unsupportedElemsDetected + ); + } // remove other unnecessary or invisible ("display=none") elements let removeElements = fragment.selectAll( From 4808bc925cf0510cd80c41038b112a25a167d898 Mon Sep 17 00:00:00 2001 From: Caglar Kilimci Date: Wed, 15 Mar 2023 10:15:07 +0100 Subject: [PATCH 4/6] Update material settings for the release 0.13.0 --- octoprint_mrbeam/files/material_settings/materials.csv | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/octoprint_mrbeam/files/material_settings/materials.csv b/octoprint_mrbeam/files/material_settings/materials.csv index a4b864905..e51e20455 100644 --- a/octoprint_mrbeam/files/material_settings/materials.csv +++ b/octoprint_mrbeam/files/material_settings/materials.csv @@ -1,5 +1,5 @@ Laserhead,Material,Color,Thickness,Intensity,Speed,Passes,Compressor,Piercing time,Dithering,Comments -You can drag the cell to fill a range with the same name,Color codes take a long time to update -->,"Use ""fill color"" tool",Engrave or (mm),light-dark (%),light-dark 0 to 1500,,level 0 to 3,(ms),yes/no,"interpolated value or #madewithmrbeam? Let us know what makes you tick +You can drag the cell to fill a range with the same name,Color codes take a long time to update -->,"Use ""fill color"" tool",Engrave or (mm),light-dark (%),light-dark 0 to 1500,,level 0 to 3,(ms),yes/no,"interpolated value or #madewithmrbeam? Let us know what makes you tick " Mr Beam II,Anodized Aluminum,#000000,Engrave,0-100,30-1000,1,0,0,no, Mr Beam II,Acrylic,#ffd966,Engrave,0-100,1500-450,1,0,0,no, @@ -174,7 +174,7 @@ Mr Beam II (not validated),,#41c500,2,100,600,1,3,0,no,calculated MrB II Dreamcut,,#41c500,3,100,1300,1,3,0,no,calculated Mr Beam II (not validated),,#e6e6e6,2,100,140,1,3,0,no, MrB II Dreamcut,Grey Cardboard,#cccccc,Engrave,0-50,1500-1500,1,3,0,no, -"Dreamcut (not validated) +"Dreamcut (not validated) ",,#cccccc,1,100,100,3,3,0,no, MrB II Dreamcut,Jersey Fabric,#434343,"0,3",100,1200,2,3,0,no,calculated MrB II Dreamcut,,#ff0000,"0,3",100,1400,2,3,0,no,tested @@ -502,8 +502,8 @@ MrB II Dreamcut x,,#000000,Engrave,0-50,2000-2000,1,3,0,no, MrB II Dreamcut x,,#000000,"0,8",100,1700,3,3,0,no, MrB II Dreamcut x,Plywood Poplar,#e7d27f,Engrave,0-40,2000-2000,1,3,0,no, MrB II Dreamcut x,,#e7d27f,3,100,300,1,3,0,no,tested -MrB II Dreamcut x,,#e7d27f,4,100,350,2,3,0,no, -MrB II Dreamcut x,Plywood Poplar,#e7d27f,Engrave,0-40,2000-2000,1,3,0,no, +MrB II Dreamcut x,,#e7d27f,4,100,200,1,3,0,no, +MrB II Dreamcut x,Plywood Poplar,#e7d27f,5,100,100,1,3,0,no, MrB II Dreamcut x,Slate,#666666,Engrave,0-60,2000-2000,1,3,0,no,tested MrB II Dreamcut x,Laser Leather,#c5935f,Engrave,0-25,2000-2000,1,3,0,no, MrB II Dreamcut x,,#c5935f,"0,6",100,1000,2,3,0,no, @@ -516,7 +516,7 @@ MrB II Dreamcut x,,#000000,"0,6",100,1100,1,3,0,no, MrB II Dreamcut x,Plywood Birch,#e8d4bc,Engrave,0-60,2000-2000,1,3,0,no, MrB II Dreamcut x,,#e8d4bc,"1,5",100,500,3,3,0,no, MrB II Dreamcut x,,#e8d4bc,3,100,400,3,3,0,no, -MrB II Dreamcut x,Stamp Rubber,#41c500,Engrave,100,1500-1200,2,3,0,no, +MrB II Dreamcut x,Stamp Rubber,#41c500,Engrave,100,1500-600,1,3,0,no, MrB II Dreamcut x,Sign Material,#dedede,Engrave,0-60,1500-1400,1,3,0,no, MrB II Dreamcut x,Sign Material,#dedede,"1,5",100,700,3,3,0,no, MrB II Dreamcut x,Sign Material,#f3de8d,Engrave,0-50,2000-1400,1,3,0,no, From 7091ead4febf5dced413e9220c65e950972751ec Mon Sep 17 00:00:00 2001 From: khaledsherkawi <54568489+khaledsherkawi@users.noreply.github.com> Date: Wed, 15 Mar 2023 11:45:40 +0100 Subject: [PATCH 5/6] feature/SW-2958-final-text-changes-2 (#1714) SW-2958 Add translation --- .../app/view-models/wizard/wizard-general.js | 6 +- .../translations/de/LC_MESSAGES/messages.mo | Bin 145780 -> 145466 bytes .../translations/de/LC_MESSAGES/messages.po | 149 ++++++++++-------- translations/messages.pot | 127 ++++++++------- 4 files changed, 160 insertions(+), 122 deletions(-) diff --git a/octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js b/octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js index df37b238e..f31d5c68a 100644 --- a/octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js +++ b/octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js @@ -117,10 +117,10 @@ $(function () { "#wizard_dialog div.modal-footer button.button-finish" ).show(); $("#wizard_dialog div.modal-footer button.button-finish").text( - "Start guided Tour" + gettext("Start guided Tour") ); $("#wizard_dialog div.modal-footer button.button-next").text( - "Skip tour" + gettext("Skip tour") ); document .querySelector( @@ -141,7 +141,7 @@ $(function () { gettext("Let's go!") ); $("#wizard_dialog div.modal-footer button.button-next").text( - "Next" + gettext("Next") ); self.onStartupComplete(); } diff --git a/octoprint_mrbeam/translations/de/LC_MESSAGES/messages.mo b/octoprint_mrbeam/translations/de/LC_MESSAGES/messages.mo index 6c18e5ae22cbc17df94a073e280d1591c6a67bec..5f4052038c8db262f4b6951178aa909e90d81ecc 100644 GIT binary patch delta 19812 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 U4|nW+e$W2C%-+}eJR^$#9~q$@OaK4? delta 20087 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 fL=NpYBz4f>A;%9588PI4T=D;@-H8y-dj\n" "Language-Team: \n" "Language: de\n" @@ -91,6 +91,7 @@ msgid "For your safety" msgstr "Zu deiner Sicherheit" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:9 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:8 #: octoprint_mrbeam/wizard_config.py:122 octoprint_mrbeam/wizard_config.py:191 msgid "Better together" msgstr "Gemeinsam Vorankommen" @@ -867,16 +868,17 @@ msgid "Click here to remove all designs from your working area." msgstr "Klicke hier, um alle Designs von der Arbeitsfläche zu entfernen." #: octoprint_mrbeam/static/js/app/view-models/tour.js:551 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:144 #: octoprint_mrbeam/templates/calibration/user/view_corner_calibration.jinja2:125 #: octoprint_mrbeam/templates/calibration/watterott/tab_corner_calibration.jinja2:100 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:88 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:84 #: octoprint_mrbeam/templates/settings/backlash_settings.jinja2:33 msgid "Next" msgstr "Weiter" #: octoprint_mrbeam/static/js/app/view-models/tour.js:552 #: octoprint_mrbeam/templates/conversion_dialog.jinja2:660 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:84 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:80 #: octoprint_mrbeam/templates/review.jinja2:53 #: octoprint_mrbeam/templates/tab_designlib.jinja2:91 msgid "Back" @@ -1034,11 +1036,11 @@ msgstr "Stern" msgid "Heart" msgstr "Herz" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1404 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1411 msgid "Limited split result." msgstr "Nur teilweise zerteiltes Ergebnis." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1405 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1412 msgid "" "Splitting this design would result in too many parts. Here are " "${split_result.length} parts. You can split the last one again if necessary." @@ -1047,41 +1049,45 @@ msgstr "" "${split_result.length} Teile. Du kannst den letzten Teil bei Bedarf noch " "einmal zerteilen." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1416 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1423 msgid "No different line colors found." msgstr "Keine unterschiedlichen Linienfarben gefunden." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1419 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1426 msgid "No non-intersecting shapes found." msgstr "Keine nicht-überlappenden Formen gefunden." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1426 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1433 msgid "Looks like a single path." msgstr "Sieht nach einem einzigen Pfad aus." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1429 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1436 msgid "Element not splittable with this method." msgstr "Element is nicht zerteilbar mit dieser Methode." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1431 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1438 msgid "Can't split this design." msgstr "Dieses Design kann nicht zerteilt werden." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1971 -#, python-format +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1982 +#, fuzzy, python-format +#| msgid "" +#| "The SVG file contains unsupported elements: '%(elemName)s' These elements " +#| "got removed." msgid "" -"The SVG file contains unsupported elements: '%(elemName)s' These elements " -"got removed." +"The SVG file contains unsupported elements: '%(unsupportedElemsDetected)s'. " +"These elements got removed." msgstr "" "Die SVG-Datei enthält nicht unterstützte Elemente: %(elemName)s' Diese " "Elemente wurden entfernt." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1979 -#, python-format -msgid "Unsupported elements in SVG: '%(elemName)s'" +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1990 +#, fuzzy, python-format +#| msgid "Unsupported elements in SVG: '%(elemName)s'" +msgid "Unsupported elements in SVG: '%(unsupportedElemsDetected)s'" msgstr "Nicht unterstützte Elemente in SVG: '%(elemName)s'" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1992 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2005 #, python-format msgid "" "The SVG file contains text elements.%(br)sIf you want to laser just their " @@ -1092,11 +1098,11 @@ msgstr "" "willst,%(br)skonvertiere sie in Pfade.%(br)sAnsonsten werden sie mit Füllung " "graviert." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1999 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2012 msgid "Text elements found" msgstr "Textelemente gefunden" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2012 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2025 msgid "" "The SVG file contained style elements with online references. Since online " "references are not supported, we removed them. The image might look a bit " @@ -1106,11 +1112,11 @@ msgstr "" "Referenzen nicht unterstützt werden, haben wir sie entfernt. Das Bild könnte " "jetzt etwas anders aussehen." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2017 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2030 msgid "Style elements removed" msgstr "Style-Elemente entfernt" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2031 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2044 msgid "" "The selected design file can not be handled. Please make sure it is a valid " "design file." @@ -1118,25 +1124,25 @@ msgstr "" "Die ausgewählte Design-Datei kann nicht bearbeitet werden. Bitte stelle " "sicher, dass es sich um eine gültige Design-Datei handelt." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2037 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2050 msgid "File error." msgstr "Dateifehler." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2051 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2064 msgid "The selected design file does not have any content." msgstr "Die ausgewählte Design-Datei hat keinen Inhalt." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2057 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2070 msgid "Empty File." msgstr "Leere Datei." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2071 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2084 msgid "An unknown error occurred while processing this design file." msgstr "" "Ein bekannter Fehler ist während der Verarbeitung dieser Designdatei " "aufgetreten." -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2079 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2092 msgid "" "Please try reloading this browser window and try again. If this error " "remains, contact the Mr Beam Support Team. Make sure you provide the error " @@ -1150,8 +1156,8 @@ msgstr "" #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/calibration.js:120 #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/corner-calibration.js:124 #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/corner-calibration.js:367 -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2086 -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2091 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2099 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2104 msgid "Error" msgstr "Fehler" @@ -2069,23 +2075,35 @@ msgstr "" "Dein GCode-Löschstatus kann im Moment nicht gespeichert werden.%(br)sBitte " "prüfe die Verbindung zu Mr Beam und versuche es erneut." -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:40 -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:130 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:41 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:141 msgid "Let's go!" msgstr "Auf geht's!" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:46 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:47 msgid "Welcome to the #madewithmrbeam community" msgstr "Willkommen in der #madewithmrbeam Community!" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:50 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:51 msgid "What's New" msgstr "Was gibt's Neues" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:54 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:55 msgid "What's New in Beta" msgstr "Was gibt's Neues in Beta" +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:120 +#, fuzzy +#| msgid "Guided Tour" +msgid "Start guided Tour" +msgstr "Geführte Tour" + +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:123 +#, fuzzy +#| msgid "Skip" +msgid "Skip tour" +msgstr "Überspringen" + #: octoprint_mrbeam/templates/congratulations.jinja2:4 msgid "Congratulations" msgstr "Glückwunsch" @@ -2970,8 +2988,8 @@ msgstr "" # don’t change the link #: octoprint_mrbeam/templates/laserhead_changed.jinja2:25 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:45 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:66 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:41 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:62 msgid "https://support.mr-beam.org/en" msgstr "https://support.mr-beam.org" @@ -3012,22 +3030,7 @@ msgstr "" "target=‘_blank’ href=‘https://www.mr-beam.org/products/mr-beam-zwei-dreamcut-" "x-laserkopf’>FAQ warum und informiere dich über Alternativen." -#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:11 -#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:14 #: octoprint_mrbeam/templates/laserhead_changed.jinja2:39 -#, python-format -msgid "" -"To evaluate if you need a new calibration, and to test the quality of your " -"current lens calibration please follow the instructions shown in our " -"Knowledge Base article %(opening_tag)sTest your camera " -"calibration%(closing_tag)s." -msgstr "" -"Um zu beurteilen, ob eine Linsenkalibrierung durchgeführt werden sollte oder " -"um die Qualität der aktuellen Linsenkalibrierung zu testen, folge bitte den " -"Anweisungen in unserem Knowledge Base-Artikel " -"%(opening_tag)sLinsenkalibrierung%(closing_tag)s." - -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:43 msgid "" "All the new features that await you with the dreamcut [X] laser head can be " "found in this Knowledgebase article:" @@ -3035,15 +3038,15 @@ msgstr "" "Alle Neuerungen, die dich mit dem dreamcut [X] Laserkopf erwarten, findest " "du in diesem Wissensdatenbank-Artikel:" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:46 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:42 msgid "Learn more" msgstr "Mehr erfahren" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:53 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:49 msgid "Your Mr Beam is even faster now!" msgstr "Dein Mr Beam is jetzt noch schneller!" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:55 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:51 msgid "" "If you had a Mr Beam II dreamcut before, you can now cut up to four times as " "fast." @@ -3051,7 +3054,7 @@ msgstr "" "Wenn du vorher einen Mr Beam II dreamcut hattest, kannst du jetzt bis zu " "viermal so schnell schneiden." -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:56 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:52 msgid "" "If you had a Mr Beam II dreamcut [S] before, you can now cut up to twice as " "fast." @@ -3059,7 +3062,7 @@ msgstr "" "Wenn du vorher einen Mr Beam II dreamcut [S] hattest, kannst du jetzt bis zu " "zweimal so schnell schneiden." -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:58 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:54 msgid "" "Please keep in mind: The faster you laser, the more particles are " "released. This means that your filters will wear out faster. So check " @@ -3069,11 +3072,11 @@ msgstr "" "freigesetzt. Somit werden auch deine Filter schneller verschleißen. Prüfe " "also regelmäßig, ob du die Filter tauschen musst." -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:65 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:61 msgid "The new laser head needs a larger power supply!" msgstr "Der neue Laserkopf braucht ein größeres Netzteil!" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:67 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:63 #, python-format msgid "" "Due to its slightly increased power requirements, you will need a 90W power " @@ -3086,11 +3089,11 @@ msgstr "" "aktuell einsetzt, erfährst du in diesem Wissensdatenbank-Artikel mehr dazu: " "%(open)sMehr erfahren%(close)s." -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:76 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:72 msgid "Please place the included sticker on your Mr Beam!" msgstr "Bitte platziere den mitgelieferten Aufkleber auf deinem Mr Beam!" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:77 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:73 msgid "" "To maintain legal requirements, it is mandatory to update the safety labels " "on your Mr Beam laser cutter. Put the sticker with updated power and " @@ -3101,11 +3104,11 @@ msgstr "" "Überklebe das Feld mit der aktualisierten Leistung und Wellenlänge auf dem " "bestehenden Aufkleber, wie im Beispiel gezeigt." -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:86 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:82 msgid "I forgot, shut down to change" msgstr "Vergessen, ausschalten um zu tauschen" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:90 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:86 #: octoprint_mrbeam/templates/quick_shape.jinja2:152 #: octoprint_mrbeam/templates/quick_text.jinja2:73 #: octoprint_mrbeam/templates/review.jinja2:56 @@ -4718,6 +4721,20 @@ msgstr "" "dies, wenn Du mit der Präzision der Kamera unzufrieden bist und eine neue " "Eckenkalibrierung sie nicht besser macht." +#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:11 +#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:14 +#, python-format +msgid "" +"To evaluate if you need a new calibration, and to test the quality of your " +"current lens calibration please follow the instructions shown in our " +"Knowledge Base article %(opening_tag)sTest your camera " +"calibration%(closing_tag)s." +msgstr "" +"Um zu beurteilen, ob eine Linsenkalibrierung durchgeführt werden sollte oder " +"um die Qualität der aktuellen Linsenkalibrierung zu testen, folge bitte den " +"Anweisungen in unserem Knowledge Base-Artikel " +"%(opening_tag)sLinsenkalibrierung%(closing_tag)s." + #: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:18 msgid "" "If you do a new lens calibration and later want to go back to the default " @@ -5074,6 +5091,7 @@ msgid "Source code" msgstr "Quellcode" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:13 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:12 msgid "" "We know that your Mr Beam is important to you, and we want to make it even " "better. That's why we're asking for your help in improving it by sharing " @@ -5088,6 +5106,7 @@ msgstr "" "Fehler schneller beheben und Funktionen weiter verbessern." #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:16 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:15 msgid "" "We understand that your privacy is crucial, and we want to assure you that " "none of the data collected includes your personal information such as your " @@ -5101,6 +5120,7 @@ msgstr "" "Gehe hierzu einfach zu „Einstellungen > Besser werden“." #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:22 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:21 msgid "" "Join us and shape the future of Mr Beam Products. Together, we can make them " "even more amazing!\"" @@ -5109,15 +5129,18 @@ msgstr "" "ihn immer besser machen!" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:30 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:29 msgid "Yes, contribute" msgstr "Ja, dazu beitragen" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:32 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:31 msgid "No, not at the moment" msgstr "Nein, jetzt lieber nicht" # Settings > About Screen #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:36 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:35 msgid "Privacy policy" msgstr "Datenschutzerklärung" diff --git a/translations/messages.pot b/translations/messages.pot index 06ba7db54..c08ca8e67 100644 --- a/translations/messages.pot +++ b/translations/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-03-14 10:10+0100\n" +"POT-Creation-Date: 2023-03-15 11:36+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -90,6 +90,7 @@ msgid "For your safety" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:9 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:8 #: octoprint_mrbeam/wizard_config.py:122 octoprint_mrbeam/wizard_config.py:191 msgid "Better together" msgstr "" @@ -764,16 +765,17 @@ msgid "Click here to remove all designs from your working area." msgstr "" #: octoprint_mrbeam/static/js/app/view-models/tour.js:551 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:144 #: octoprint_mrbeam/templates/calibration/user/view_corner_calibration.jinja2:125 #: octoprint_mrbeam/templates/calibration/watterott/tab_corner_calibration.jinja2:100 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:88 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:84 #: octoprint_mrbeam/templates/settings/backlash_settings.jinja2:33 msgid "Next" msgstr "" #: octoprint_mrbeam/static/js/app/view-models/tour.js:552 #: octoprint_mrbeam/templates/conversion_dialog.jinja2:660 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:84 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:80 #: octoprint_mrbeam/templates/review.jinja2:53 #: octoprint_mrbeam/templates/tab_designlib.jinja2:91 msgid "Back" @@ -909,50 +911,50 @@ msgstr "" msgid "Heart" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1404 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1411 msgid "Limited split result." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1405 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1412 msgid "" "Splitting this design would result in too many parts. Here are " "${split_result.length} parts. You can split the last one again if " "necessary." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1416 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1423 msgid "No different line colors found." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1419 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1426 msgid "No non-intersecting shapes found." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1426 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1433 msgid "Looks like a single path." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1429 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1436 msgid "Element not splittable with this method." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1431 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1438 msgid "Can't split this design." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1971 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1982 #, python-format msgid "" -"The SVG file contains unsupported elements: '%(elemName)s' These elements" -" got removed." +"The SVG file contains unsupported elements: " +"'%(unsupportedElemsDetected)s'. These elements got removed." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1979 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1990 #, python-format -msgid "Unsupported elements in SVG: '%(elemName)s'" +msgid "Unsupported elements in SVG: '%(unsupportedElemsDetected)s'" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1992 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2005 #, python-format msgid "" "The SVG file contains text elements.%(br)sIf you want to laser just their" @@ -960,44 +962,44 @@ msgid "" " engraved with infill." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:1999 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2012 msgid "Text elements found" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2012 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2025 msgid "" "The SVG file contained style elements with online references. Since " "online references are not supported, we removed them. The image might " "look a bit different now." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2017 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2030 msgid "Style elements removed" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2031 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2044 msgid "" "The selected design file can not be handled. Please make sure it is a " "valid design file." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2037 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2050 msgid "File error." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2051 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2064 msgid "The selected design file does not have any content." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2057 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2070 msgid "Empty File." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2071 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2084 msgid "An unknown error occurred while processing this design file." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2079 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2092 msgid "" "Please try reloading this browser window and try again. If this error " "remains, contact the Mr Beam Support Team. Make sure you provide the " @@ -1008,8 +1010,8 @@ msgstr "" #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/calibration.js:120 #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/corner-calibration.js:124 #: octoprint_mrbeam/static/js/app/view-models/settings/calibration/corner-calibration.js:367 -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2086 -#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2091 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2099 +#: octoprint_mrbeam/static/js/app/view-models/working-area.js:2104 msgid "Error" msgstr "" @@ -1802,23 +1804,31 @@ msgid "" "connection to Mr Beam and try again." msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:40 -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:130 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:41 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:141 msgid "Let's go!" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:46 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:47 msgid "Welcome to the #madewithmrbeam community" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:50 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:51 msgid "What's New" msgstr "" -#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:54 +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:55 msgid "What's New in Beta" msgstr "" +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:120 +msgid "Start guided Tour" +msgstr "" + +#: octoprint_mrbeam/static/js/app/view-models/wizard/wizard-general.js:123 +msgid "Skip tour" +msgstr "" + #: octoprint_mrbeam/templates/congratulations.jinja2:4 msgid "Congratulations" msgstr "" @@ -2567,8 +2577,8 @@ msgid "" msgstr "" #: octoprint_mrbeam/templates/laserhead_changed.jinja2:25 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:45 -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:66 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:41 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:62 msgid "https://support.mr-beam.org/en" msgstr "" @@ -2599,55 +2609,44 @@ msgid "" "beam.org/en/products/mr-beam-zwei-dreamcut-x-laserkopf'>FAQ." msgstr "" -#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:11 -#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:14 #: octoprint_mrbeam/templates/laserhead_changed.jinja2:39 -#, python-format -msgid "" -"To evaluate if you need a new calibration, and to test the quality of " -"your current lens calibration please follow the instructions shown in our" -" Knowledge Base article %(opening_tag)sTest your camera " -"calibration%(closing_tag)s." -msgstr "" - -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:43 msgid "" "All the new features that await you with the dreamcut [X] laser head can " "be found in this Knowledgebase article:" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:46 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:42 msgid "Learn more" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:53 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:49 msgid "Your Mr Beam is even faster now!" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:55 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:51 msgid "" "If you had a Mr Beam II dreamcut before, you can now cut up to four times" " as fast." msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:56 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:52 msgid "" "If you had a Mr Beam II dreamcut [S] before, you can now cut up to twice " "as fast." msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:58 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:54 msgid "" "Please keep in mind: The faster you laser, the more particles are " "released. This means that your filters will wear out faster. So check " "regularly if you need to change the filters." msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:65 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:61 msgid "The new laser head needs a larger power supply!" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:67 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:63 #, python-format msgid "" "Due to its slightly increased power requirements, you will need a 90W " @@ -2656,22 +2655,22 @@ msgid "" "base article: %(open)sLearn more%(close)s." msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:76 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:72 msgid "Please place the included sticker on your Mr Beam!" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:77 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:73 msgid "" "To maintain legal requirements, it is mandatory to update the safety " "labels on your Mr Beam laser cutter. Put the sticker with updated power " "and wavelength on top of the existing label like shown in the example." msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:86 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:82 msgid "I forgot, shut down to change" msgstr "" -#: octoprint_mrbeam/templates/laserhead_changed.jinja2:90 +#: octoprint_mrbeam/templates/laserhead_changed.jinja2:86 #: octoprint_mrbeam/templates/quick_shape.jinja2:152 #: octoprint_mrbeam/templates/quick_text.jinja2:73 #: octoprint_mrbeam/templates/review.jinja2:56 @@ -4073,6 +4072,16 @@ msgid "" " calibration does not make it better." msgstr "" +#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:11 +#: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:14 +#, python-format +msgid "" +"To evaluate if you need a new calibration, and to test the quality of " +"your current lens calibration please follow the instructions shown in our" +" Knowledge Base article %(opening_tag)sTest your camera " +"calibration%(closing_tag)s." +msgstr "" + #: octoprint_mrbeam/templates/calibration/user/view_lens_calibration.jinja2:18 msgid "" "If you do a new lens calibration and later want to go back to the default" @@ -4377,6 +4386,7 @@ msgid "Source code" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:13 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:12 msgid "" "We know that your Mr Beam is important to you, and we want to make it " "even better. That's why we're asking for your help in improving it by " @@ -4387,6 +4397,7 @@ msgid "" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:16 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:15 msgid "" "We understand that your privacy is crucial, and we want to assure you " "that none of the data collected includes your personal information such " @@ -4396,20 +4407,24 @@ msgid "" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:22 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:21 msgid "" "Join us and shape the future of Mr Beam Products. Together, we can make " "them even more amazing!\"" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:30 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:29 msgid "Yes, contribute" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:32 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:31 msgid "No, not at the moment" msgstr "" #: octoprint_mrbeam/templates/settings/analytics_settings.jinja2:36 +#: octoprint_mrbeam/templates/wizard/wizard_analytics.jinja2:35 msgid "Privacy policy" msgstr "" From 337ef0266ffec7747e22b2ed943bdb119af0821c Mon Sep 17 00:00:00 2001 From: Josef-MrBeam <81746291+Josef-MrBeam@users.noreply.github.com> Date: Wed, 15 Mar 2023 15:15:30 +0100 Subject: [PATCH 6/6] SW-2967 resolve bugs of the v01.3.0 test (#1712) * fix guided tour design file selection * fix failing analytics cypress test --- cypress/e2e/settings/analytics.cy.js | 13 ++++--------- octoprint_mrbeam/static/js/app/view-models/tour.js | 3 +++ .../templates/settings/analytics_settings.jinja2 | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/cypress/e2e/settings/analytics.cy.js b/cypress/e2e/settings/analytics.cy.js index c45246154..09324605b 100644 --- a/cypress/e2e/settings/analytics.cy.js +++ b/cypress/e2e/settings/analytics.cy.js @@ -16,17 +16,12 @@ describe("Navbar icons", function () { force: true, }); }); - it("More information about what data we use", function () { - cy.get('[id="settings_plugin_mrbeam_analytics_link"]').click(); - cy.get(".mb-0 > .btn-link").click(); - cy.get(".card-body").should("to.visible"); - cy.wait(3000); - cy.get(".analytics-collapsible").click(); - cy.get(".card-body").should("not.visible"); - }); + it("Privacy policy", function () { cy.get('[id="settings_plugin_mrbeam_analytics_link"]').click(); - cy.get('[style="color: darkgray;font-size: 0.9em"] > a') + cy.get( + '[data-test="mrbeam-ui-settings-better-together-privacy-policy-btn"]' + ) .invoke("attr", "href") .then((myLink) => { cy.request(myLink).then((resp) => { diff --git a/octoprint_mrbeam/static/js/app/view-models/tour.js b/octoprint_mrbeam/static/js/app/view-models/tour.js index bdac6088c..1d19b7abb 100644 --- a/octoprint_mrbeam/static/js/app/view-models/tour.js +++ b/octoprint_mrbeam/static/js/app/view-models/tour.js @@ -249,6 +249,9 @@ $(function () { $( '.file_list_entry[mrb_name="Schluesselanhaenger.svg"]' )[0] || + $( + '.file_list_entry[mrb_name="Schlusselanhanger.svg"]' + )[0] || $( ".gcode_files .entry.files_template_model_svg .file_list_entry " ).last()[0], diff --git a/octoprint_mrbeam/templates/settings/analytics_settings.jinja2 b/octoprint_mrbeam/templates/settings/analytics_settings.jinja2 index 1cd2338f7..c92617eff 100644 --- a/octoprint_mrbeam/templates/settings/analytics_settings.jinja2 +++ b/octoprint_mrbeam/templates/settings/analytics_settings.jinja2 @@ -33,7 +33,7 @@