linux-credentials / linux-credentials/credentialsd

Rewrite webextension shim in Rust

Offen
#71 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

help wanted
Vorherrschende Sprache
Rust
Sterne
259
Forks
19
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
12

Beschreibung

The web extension shim translates between the native messaging protocol and the D-Bus API for credentialsd. It's currently written in Python using the dbus-next Python package.

We target Ubuntu 22.04 as our oldest supported OS, but the dbus-next package isn't packaged until 25.04. To make it easier for people to test using the extension, it may be worth rewriting this in Rust.

However, part of the purpose of using a different language, namely Python, was to catch discrepancies between docs and the implementation. If we do rewrite it, it might be good to use a different library than zbus (like dbus-rs) or not to use the proxy macros from zbus and craft messages manually. This might be overkill, and maybe we just need to write better integration tests.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit webext/app und vergleichen Sie dessen Verhalten bei native messaging und D-Bus mit den dokumentierten Schnittstellen. Prüfen Sie, ob eine Neuschreibung in Rust oder bessere Integrationstests die Packaging-Einschränkung von Ubuntu 22.04 beheben würden, und definieren Sie den Abschluss so, dass das Verhalten des shims erhalten bleibt, ohne auf das nicht verfügbare Paket dbus-next angewiesen zu sein.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
linux, python, rust
Bereich
api, backend
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.