Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

keep signature #2460

Merged
merged 1 commit into from
Nov 26, 2023
Merged

keep signature #2460

merged 1 commit into from
Nov 26, 2023

Conversation

capoaira
Copy link
Collaborator

fixes #2455

@2Abendsegler So, das ist mein aktueller Stand, Templates funktionieren so weit.
Bei der Signatur gibt 2 Bugs:

  1. Wenn .lt-mirror__canvas nicht existiert, verschwindet die Signatur
  2. Wenn es existiert, wird die Signatur zwar erneut eingefügt, aber das Logdatum wird nicht übernommen.

Was noch auf meiner ToDo List steht:

  • Für die Signatur teste ich nur auf ein leeres Feld, hier muss noch mit Drafts getestet werden.

Ich brauche jetzt aber erstmal eine kleine Pause.... Bin mir nicht sicher, ob ich heute noch fertig werde.

@2Abendsegler
Copy link
Owner

@capoaira
Alles gut.
Den Go Live habe ich für heute schon abgehakt. Ich will diese Anpassungen auch noch gut testen und das würde ich heute auch nicht mehr schaffen. Und falls alles funktioniert, muss ich auch noch ein paar Anpassungen machen.
Also, gönn dir eine Pause.
Und gib Bescheid wenn du fertig bist. Wenn nicht heute dann halt später.

@capoaira capoaira marked this pull request as ready for review November 25, 2023 19:50
@capoaira
Copy link
Collaborator Author

So, jetzt müsste es funktionieren.
Mit den beiden Variablen gclhChanges und keepGClhChanges wird überwacht, ob wir Änderungen gemacht haben. Die Variabel signature ist nötig, um im logpageObserver die Signatur neu zu laden, wenn das Feld .lt-mirror__canvas noch nicht geladen wurde.
Der mirrorObserver hat 3 Zustände:

  1. Wir haben gerade Änderungen durch geführt
  2. Es wird irgendein Feld angeklickt und der mirror löscht unseren Text => keepGClhChanges sorgt dafür, dass der Logtext wieder eingetragen wird.
  3. Wir haben keine Änderungen und speichern uns den Logtext

Copy link
Owner

@2Abendsegler 2Abendsegler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Geniale Sache, super!

Vom Prinzip her scheint das zu klappen, auch wenn sich noch ein paar Probleme zeigen.

  1. Log ohne Draft. TypeError $('#gc-md-editor_md')[0].value weil $('#gc-md-editor_md')[0] noch nicht vorhanden.
    Alt:
    if (signature && $('#gc-md-editor_md')[0].value == (pageData.logValues.note || '')) {
    Neu: Das sollte an der Funktionalität nichts ändern, oder?
    if (signature && $('#gc-md-editor_md')[0] && $('#gc-md-editor_md')[0].value == (pageData.logValues.note || '')) {

  2. Log ohne Draft. Die Meldung 'Hey wait ...' kommt bei mir nie zum Zug.
    Ich denke sie soll dazu dienen, wenn ich zuletzt noch ein Log Template ausgewählt habe, ohne eine weitere Eingabe gemacht zu haben. Bei mir kommt keine Meldung, es wird trotzdem gespeichert, ohne den Inhalt des Log Templates.
    Vielleicht könnten wir aus dem Hey noch ein Please machen.

  3. Draft ohne Logtext aus dem Draft. Anstatt dessen kommt Signatur wie bei einem leeren Log. Das passiert nicht immer, nur gelegentlich.
    Ich vermute dass der Logtext aus dem Draft einfach noch nicht vorhanden ist. Womöglich meint dein Coding festgestellt zu haben, dass die Signatur fehlt und gibt sie in den Logtext. Das Problem sollte durch dein neues Coding entstehen. Zumindest kann ich es ohne dein Coding nicht nachstellen.
    Draft 1

  4. Draft mit Logtext aus dem Draft. Die Dropdown Listen beim Log Type und bei den Log Templates klappen nur kurz auf und sind dann wieder weg. Das passiert nicht immer, nur gelegentlich.
    Man sieht das kurze Erscheinen auf dem gif nur einmal kurz, obwohl ich mehrfach drauf geklickt habe. Besser bekomme ich es nicht hin.
    Draft 2

  5. Log ohne Draft, Signatur wird eingeblendet. Nun wähle ich ein Log Date oder einen Log Type und die Anzahl Wörter werden angezeigt. Die Anzahl Zeichen aber nicht.
    Wenn wir das eine ermitteln können, dann vermutlich auch das andere.
    [Edit]
    Word Count but no Length

@capoaira
Copy link
Collaborator Author

Hm, das ist alles sehr komisch:

  1. Tritt bei mir nicht auf, habe es aber angepasst
  2. Gestern hat es bei mir funktioniert, heute komme ich mit dem Coding in eine Endlosschleife aufpoppender Nachrichten, die ich nur durch Schließen des Fensters beenden kann. (Das mit dem Please habe ich angepasst)
  3. Kann ich nicht reproduzieren
  4. Kann ich nicht reproduzieren
  5. Der Zeichencounter ist von GS, der Word Counter ist von uns, daher wird der Zeichencounter erst aktualisiert, wenn auch die Logvorschau aktualisiert wird. Das sollte auch im alten Coding der Fall sein. Kann ich natürlich trotzdem anpassen, indem wir das selber im change Event anpassen

@2Abendsegler
Copy link
Owner

1., 3. und 4. treten bei mir auf, weil es immer wieder Uncaught Error: Minified React error #418 gibt. Ich bin froh, dass es den Fehler immer wieder bei mir gibt. Nur deshalb habe ich die ganzen Schleifen ... eingebaut und konnte sie auch testen.

zu 2. function buildWarningForGClhChanges

2. Gestern hat es bei mir funktioniert, heute komme ich mit dem Coding in eine Endlosschleife aufpoppender Nachrichten, die ich nur durch Schließen des Fensters beenden kann. (Das mit dem Please habe ich angepasst)

Ändere bitte mal folgendes ab, dadurch kommen nur noch eine bzw. zwei Meldungen:
Alt:
if ($('.post-button-container .submit-button:not(.gclh_change_warning)')) {
Neu:
if ($('.post-button-container .submit-button:not(.gclh_change_warning)')[0]) {

Bei der Auswahl eines LogTypes wird .gclh_change_warning entfernt und das bind erfolgt ein zweites Mal. Vor dem bind $('.post-button-container .submit-button').bind('click', (e) => {, sollte deshalb ein unbind stattfinden.

Bei mir wird der Schalter keepGClhChanges nie gesetzt. Das $('.lt-mirror__canvas')[0] kann ich aber auch nicht finden. Wann kommt das und wo steht das.


off topic: Bei mir ist gerade ein Stromausfall im ganzen Haus. Wo gibt es denn noch so was. Ich arbeite gerade über einen mobilen Hotspot.

@2Abendsegler
Copy link
Owner

zu 5. Vergiss das. :)

@capoaira
Copy link
Collaborator Author

1., 3. und 4. treten bei mir auf, weil es immer wieder Uncaught Error: Minified React error #418 gibt. Ich bin froh, dass es den Fehler immer wieder bei mir gibt. Nur deshalb habe ich die ganzen Schleifen ... eingebaut und konnte sie auch testen.

Hm, dann musst du das wohl versuchen... Ich hasse es, wenn Fehler nicht bei jeden reproduzierbar sind, zumal wir denselben Browser nutzen :(

Ändere bitte mal folgendes ab, dadurch kommen nur noch eine bzw. zwei Meldungen: Alt: if ($('.post-button-container .submit-button:not(.gclh_change_warning)')) { Neu: if ($('.post-button-container .submit-button:not(.gclh_change_warning)')[0]) {

Bei der Auswahl eines LogTypes wird .gclh_change_warning entfernt und das bind erfolgt ein zweites Mal. Vor dem bind $('.post-button-container .submit-button').bind('click', (e) => {, sollte deshalb ein unbind stattfinden.

Oh man, manchmal sieht man den Wald vor lauter Bäumen nicht 😅. Danke, jetzt klappt es. Ich nutze jetzt nur .post-button-container, wie wir das auch schon bei der unsavedChanges Warnung machen.

Bei mir wird der Schalter keepGClhChanges nie gesetzt. Das $('.lt-mirror__canvas')[0] kann ich aber auch nicht finden. Wann kommt das und wo steht das.

Der ist bei mir mal von Anfang an da, und mal erst ab dem ich meinen Curser in das Textfeld setzte.


off topic: Bei mir ist gerade ein Stromausfall im ganzen Haus. Wo gibt es denn noch so was. Ich arbeite gerade über einen mobilen Hotspot.

Oh, das hatte ich zum Glück lange nicht mehr... Kein Licht, kein Desktop PC, kein WLAN, ich wüsste nichts mir anzufangen 😅.

@2Abendsegler
Copy link
Owner

Das $('.lt-mirror__canvas')[0] kann ich aber auch nicht finden. Wann kommt das und wo steht das.

Der ist bei mir mal von Anfang an da, und mal erst ab dem ich meinen Curser in das Textfeld setzte.

Kannst du bitte mal einen Screenshot aus dem Inspektor einstellen, wo ich das sehen kann?

@capoaira
Copy link
Collaborator Author

Das $('.lt-mirror__canvas')[0] kann ich aber auch nicht finden. Wann kommt das und wo steht das.

Der ist bei mir mal von Anfang an da, und mal erst ab dem ich meinen Curser in das Textfeld setzte.

Kannst du bitte mal einen Screenshot aus dem Inspektor einstellen, wo ich das sehen kann?

Der ist bei mir direkt über der textarea.

Ich habe gerade gemerkt, dass das von einem Add-On ist, das ich nutzte und nicht von GS 😢
Mal sehen, ob ich das Coding auf irgendein Element von GS umstellen kann.

Sorry...

@2Abendsegler
Copy link
Owner

@capoaira
Ich habe einen Vorschlag.
Lass uns mit der aktuellen collector Version und mit den Einschränkungen beim Logtext live gehen. Ich werde im den Foren noch mal explizit auf die Problematik hinweisen und auch schreiben, dass wir noch dran sind eine Lösung zu suchen.

Ich gehe etwas auf dem Zahnfleisch. Ich habe die letzten Wochen jede freie Minute hier rein gesteckt und habe etliche Sachen schleifen lassen. Ich kann aktuell nicht noch weitere Zeit, womöglich Tage investieren, bis das hier rund läuft.

Du kannst noch weiter nach einem Ersatz für den mirror suchen und das Coding entsprechend anpassen.
Nach dem Go Live haben wir wieder etwas Luft, schließlich gibt es einen Workaround.

Was meinst du?

@capoaira
Copy link
Collaborator Author

Ja, das ist eine Gute Idee 👍

@capoaira
Copy link
Collaborator Author

Warte doch nochmal ein paar Minuten damit ...

Also warn if send the form and gclh changes are present
@capoaira
Copy link
Collaborator Author

So, ich habe einmal alles schnell durchgetestet und bei mir funktioniert es so weit.
Wenn es bei dir jetzt nicht sofort funktioniert, hau einfach die neue Version ohne das hier raus.

Ich kann verstehen, dass du nicht mehr so viel Zeit hier reininvestieren kannst. Du hast hier wirklich viel in kurzer Zeit geschafft. Ich hatte leider nur Zeit zum testen :(

Copy link
Owner

@2Abendsegler 2Abendsegler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja, genial!
Gut dass du mich zurück gepfiffen hast. :)

Ich bekomme nur noch gelegentlich Punkt 3. Dafür habe ich aber eine Lösung.

  1. Draft ohne Logtext aus dem Draft. Anstatt dessen kommt Signatur wie bei einem leeren Log.

Ich werde das mergen und werde noch etwas nachschieben.
Und dann werde ich noch ein paar Änderungen machen, weil wir die Vorsichtsmaßnahmen bezüglich des Logtextes nicht mehr benötigen.
Und dann gibt es eine neue Version.

@2Abendsegler 2Abendsegler merged commit 3c650d2 into 2Abendsegler:collector Nov 26, 2023
@capoaira capoaira deleted the keepSignature branch December 12, 2023 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Log Form] Signature disappears on changing the logtype
2 participants