Mehr Open-Source-Sachen machen: Verlorene Zeit aufholen
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.
„Könnte nicht so schwer sein..“
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.
Etwas anderes ausprobieren
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` sollte Zweige in eckigen Klammern auflisten
#10038
Beschreiben Sie den Fehler
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
Schritte zur Reproduktion des Verhaltens
GH-Run-Ansicht
Erwartetes vs. tatsächliches Verhalten
gh run view-Eingabeaufforderungen sollten Zweige in eckigen Klammern anzeigen.
Protokolle
❯ 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.
Fix: Zweige in eckigen Klammern in der „GH-Run-Ansicht“ auflisten
#10043
Behebt #10038
Änderungen
pkg/cmd/run/shared: Klammern in selectRun() in eckige Klammern geändert.
Vorher
func selectRun() { ... fmt.Sprintf("%s %s, %s (%s) %s", ...) ... }
Nachher
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.
Kommentar für
#10038
? 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?
Runde zwei
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.
Fügen Sie den eingefügten Bilddateinamen einen Zeitstempel hinzu, um sie zu unterscheiden
#29524
Das Problem
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.
Lösungsvorschlag
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...
