Ich war in letzter Zeit etwas beschäftigt und hatte leider nicht viel Zeit, zu Open Source beizutragen. Ich freute mich darauf, wieder auf die Strecke zu kommen, hatte aber ein paar Probleme. In meinem letzten Beitrag habe ich besprochen, wie ich in Mattermost Mobile eintauchen und die gleiche Funktion implementieren sollte, an der ich zuvor für die Webanwendung gearbeitet habe – das Hinzufügen einer Einstellung zum Umschalten der Darstellung von Emoticons (:D) als Emojis (?) –, aber ich musste Gib diese Idee sehr schnell auf. Es stellt sich heraus, dass WSL (Windows-Subsystem für Linux) für die mobile Entwicklung nicht besonders gut geeignet ist.
Die Entwicklung für Mattermost wird offiziell nur für MacOS und Linux unterstützt. Bei der Arbeit an der Webapp war das kein Problem. Während ich an der Web-App arbeitete, konnte ich WSL nutzen und alles funktionierte einwandfrei. Aber als ich versuchte, mit der Arbeit an der mobilen App zu beginnen, stieß ich auf ein Problem nach dem anderen.
Nach den Anweisungen zum Einrichten der Entwicklungsumgebung für Linux musste ich einen Android-Emulator einrichten, aber der Versuch, einen innerhalb der WSL auszuführen, funktionierte nicht – der Emulator wurde nicht erkannt. Ich konnte auch nicht einfach unter Windows entwickeln, da das Vorinstallationsskript ein .sh-Skript ausführte. Also habe ich ein paar Tage damit verbracht, von der WSL aus eine Verbindung zum Android-Emulator unter Windows herzustellen, ohne Erfolg – er erschien einfach nicht in der Liste der Emulatoren in der WSL. Ich habe Stunden damit verbracht, Forenbeiträge und GitHub-Hauptinhalte durchzugehen, aber es schien, als würde es einfach nicht klappen.
Ich habe auch versucht, die USB-Verbindung meines eigenen Geräts an WSL weiterzuleiten, um zu versuchen, auf meinem Gerät zu entwickeln. Angeblich sollte usbipd-win dafür sorgen, dass dies funktioniert, wie in diesem Artikel auf Microsoft Learn erwähnt, und dennoch war jedes Mal, wenn ich erneut versuchte, mein Gerät an WSL weiterzuleiten, die Liste der verbundenen Geräte leer.
Ich habe den Nachrichtenverlauf im offiziellen Mattermost Contributors-Chat durchsucht, aber alles, was ich gefunden habe, waren Beiträge von anderen Leuten, die mit dem gleichen Problem zu kämpfen haben. Also dachte ich mir, das Letzte, was ich versuchen könnte, wäre, einen eigenen Beitrag zu verfassen und um Hilfe zu bitten. Glücklicherweise antwortete jemand darauf und versuchte zu helfen, aber leider gehörte er nicht zum mobilen Team und wies mich an, es auf dem Handy zu versuchen Chat des Teams, wo ich noch keine Antwort erhalten habe.
Leider scheint es für die unmittelbare Zukunft so, als ob ich nicht in der Lage sein werde, an dem Problem zu arbeiten.
In der Zwischenzeit habe ich nach weiteren Themen gesucht. Beim Suchen nach Problemen mit der Bezeichnung „Hilfe gesucht“ habe ich dieses Problem für die GitHub-CLI gefunden:
gh run view listet Zweige in Klammern auf, aber ich denke, es sollte sie in eckigen Klammern auflisten, um den Primer-Richtlinien zu entsprechen:
Zweignamen in Klammern und/oder Cyan anzeigen
GH-Run-Ansicht
gh run view-Eingabeaufforderungen sollten Zweige in eckigen Klammern anzeigen.
❯ gh run view ? Select a workflow run [Use arrows to move, type to filter] > - Verifying attestations offline fails, Discussion Triage (trunk) 4h55m1s ago - Decoding, Discussion Triage (patch-1) 4h59m32s ago ✓ Decoding, PR Automation (patch-1) 4h59m43s ago ✓ Issue Automation, Issue Automation (trunk) 5h20m31s ago - `gh repo rename myorg/newname` results in `myorg/myorg-newname`, Discussion Triage (trunk) 10h13m50s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago
Es schien eine ziemlich unkomplizierte Veränderung zu sein und ich dachte, es wäre eine schöne Abwechslung von den kolossalen Problemen, die ich mir vorgenommen hatte – etwas, das mich wieder auf ein anständiges Tempo bringt.
Ich war zufrieden mit der Einfachheit der Entwicklungseinrichtung. Ich hatte Go bereits installiert, also musste ich nur noch die Binärdatei kompilieren.
Ich habe die beitragenden Dokumente gelesen, die ebenfalls sehr hilfreich waren und mir dabei geholfen haben, herauszufinden, wo ich den relevanten Code finden kann. Ich habe es ein wenig durchgesehen und die Funktion gefunden, die für die Anzeige von Zweignamen im Befehl „run“ zuständig ist. Ich hatte Go noch nie wirklich geschrieben, aber es fühlte sich sehr an printf() von C an. Ich habe die Änderung vorgenommen und eine PR geöffnet, aber in der Aufregung habe ich vergessen, die Tests zu aktualisieren, woran mich ein Rezensent erinnert hat.
Behebt #10038
pkg/cmd/run/shared: Klammern in selectRun() in eckige Klammern geändert.
func selectRun() { ... fmt.Sprintf("%s %s, %s (%s) %s", ...) ... }
func selectRun() { ... fmt.Sprintf("%s %s, %s [%s] %s", ...) ... }
Ich habe die Tests durchgesehen, die fehlgeschlagenen Tests identifiziert und sie aktualisiert. Leider wurde ich dann von einem Betreuer darüber informiert, dass sie sich tatsächlich noch im Triage-Prozess für dieses Problem befänden und präventiv die Kennzeichnung „Hilfe gesucht“ angebracht hätten und dass meine PR möglicherweise nicht zusammengeführt werde. Ich war ein wenig enttäuscht, aber ich dachte, ich hätte meinen Teil getan, also war es keine große Sache.
? Hey @uday-rana, danke für dein Interesse, das aufzugreifen!
Ich würde gerne warten, bis dieses Problem von unserem Ersthelfer im Rotationsverfahren diese Woche untersucht wird.
Ich war wahrscheinlich zu eifrig, als ich das Label „Hilfe gesucht“ hinzugefügt habe – ich möchte trotzdem, dass unser Ersthelfer dies selektiert, um sicherzustellen, dass wir uns über die Arbeit einigen, bevor wir sie umsetzen ❤ ?
Ich erwarte keine Probleme, aber ich lasse es Sie trotzdem wissen, damit Sie wissen, worauf wir warten, bevor einer von uns die PR überprüft. Wenn unser Ersthelfer zustimmt, nehmen wir gerne eine PR entgegen ?
Entschuldigung für die Verwirrung! In Zukunft werde ich diese Labels nicht mehr vorzeitig hinzufügen – dadurch wurde unser Triage-Prozess unbeabsichtigt übersprungen?
Als ich auf GitHub nach weiteren Problemen mit der Bezeichnung „Hilfe gesucht“ suchte, an denen ich arbeiten konnte, stieß ich auf ein weiteres Mattermost-Problem, dieses Mal für die Webanwendung. Da ich die Entwicklungsumgebung für die Webanwendung bereits eingerichtet hatte, dachte ich, ich könnte schnell in die Tat umsetzen.
Wenn Sie ein Bild aus der Zwischenablage in die Nachrichteneingabe einfügen, erhält es den Dateinamen image.png. Wenn mehrere Bilder eingefügt werden, erhalten alle denselben image.png-Dateinamen. Dies kann ein Problem sein, wenn alle Dateien mit demselben Namen heruntergeladen werden und die Gefahr besteht, dass sie überschrieben werden.
Generieren Sie automatisch einen Dateinamen, der den Zeitstempel in diesem Format enthält:
image-2024-11-18-6-29-57-PM
Mattermost-Thread: https://hub.mattermost.com/private-core/pl/xryg3tedg3bbxq3xuwnrj9ymyc
Wenn Sie interessiert sind, kommentieren Sie bitte hier und kommen Sie zu unserem Community-Kanal „Mitwirkende“ auf unserem täglichen Build-Server, wo Sie Fragen mit Community-Mitgliedern und dem Mattermost-Kernteam diskutieren können. Für technische Ratschläge oder Fragen treten Sie bitte unserem Community-Kanal „Entwickler“ bei.
Neue Mitwirkende lesen bitte unseren Entwicklerleitfaden.
JIRA: https://mattermost.atlassian.net/browse/MM-62003
Ich beschäftige mich mit diesem Problem, während ich diesen Blogbeitrag schreibe, und habe die Ursache des Problems identifiziert. Wenn Sie ein Bild aus der Zwischenablage in einem Browser oder einer browserähnlichen Umgebung (à la Electron-App) veröffentlichen und das Bild keinen Namen hat, gibt ihm der Browser automatisch den Namen „image.png“. Ich habe dies mit Firefox und Edge getestet und es gilt für beide. Warum ist das ein Problem? Die App verfügt bereits über eine Logik, die unbenannten Dateien Zeitstempel hinzufügt. Da diesen Bildern beim Einfügen aus der Zwischenablage jedoch automatisch Namen zugewiesen werden, werden die Zeitstempel nicht gesetzt.
Die einfachste Lösung wäre, einfach eine Prüfung für den Namen „image.png“ fest zu codieren. Aber ich frage mich, was passiert, wenn das Bild kein PNG ist? Ist das überhaupt in der Zwischenablage möglich? Und was ist, wenn der Benutzer eine Datei mit dem tatsächlichen Namen „image.png“ hochlädt? Das muss ich mit den Entwicklern besprechen.
Auf jeden Fall bin ich fest entschlossen, dieses Problem zu beheben. Wir hoffen, dass alles reibungslos verläuft.
Das obige ist der detaillierte Inhalt vonMehr Open-Source-Sachen machen: Verlorene Zeit aufholen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!