My recent random thoughts

Clye Einladungslink

Link der das Einmalige Anmelden und Beitreten in vorher ausgewählte spaces ermöglicht. Die unter diesem Link angezeigte Seite erlaubt je nach Zustand unterschiedliche Aktionen.

  • Immer
    • QR-Code der mobil gescannt werden kann und das Selbe ermöglicht wie am desktop
    • Mobil link zur app-installation falls diese noch nicht installiert sein sollte
  • Schon Benutzt (Der Link wurde bereits zur Anmeldung oder Registrierung verwendet)
    • Zeigt an das der Link bereits verwendet wurde und erlaubt die Anmeldung (Google, Apple oder Email vorausgewählt da die zuletzt gewählte Anmeldemethode gespeichert wurde)
  • Unangemeldet
    • Anmeldung/Registrierung mittels Google, Apple oder Email. Nach der Anmeldung erfolgt der Beitritt zu entsprechenden Spaces
  • Angemeldet
    • Verhält sich wie eine Space einladung und erlaubt den Beitritt in entsprechnde Spaces mit einem Button

Entfernen eines Nutzer über die API

Nutzer können von jedem Admin eines Spaces aus dem Space entfernt werden. Dafür kann ein API key eines Admins des Spaces genutzt werden. Der endpoint DELETE /spaces/{id}/members/{memberId} ist in der swagger doku zu finden.

Anlegen eines Nutzers über die API

Neue Benutzer so wie Einladungen zu Spaces können über die API erzeugt werden. Dabei muss beim Aufruf angegeben werden in welche Spaces der neue Nutzer mit welcher Rolle beitreten soll. Daraufhin wird ein Einladungslink erzeugt der genau das ermöglicht.

Der Endpoint dafür ist POST /invites und die zurück gegebene URL kann noch mit Search parameter erweitert werden um Informationen über den Nutzer zu ergeänzen wie z.B. Name oder Email. Die resultierende URL ist dann https://clye.app/invites/TAOSDJFAOSDF?name=Simon+Vetter&email=simon.vetter@clye.app. Dieser link erlaubt dann für eine Person die Registrierung auf dieser Seite und verlinkt danach zu dieser Person.

GPT4 ist für automatisches refactoring ungeeignet

Für die Clye Codebase haben wir kürzlich von MUI zu Tailwind umgestellt. Dabei sollten all sx properties zu tailwind klassen umgewandelt werden. Diese aufgabe ist zu kompliziert um sie mit regexp zu erledigen, aber auch nicht sehr schwierig da es ohne Verständnis der Codebase möglich ist. Da es aber über 500 Stellen in der Codebase gibt habe ich den Task mit einem kleinen script automatisiert und alle Zeilen die verändert werden müssen mittels OpenAI Chat api modifiziert. Leider sind die Ergebnisse ohne gute Beschreibung miserabel. Es weiß nicht das man z.B. Pixelwerte nicht einfach so setzen kann sonder brackets benutzen muss. Einiges davon ließ sich allerdings mit einem besseren prompt erledigen.

Darüber hinausgehen sind die Ergebnisse aber leider so unzuverlässig das man alles überprüfen muss. Außerdem braucht es ewig die Vorschläge zu erzeugen und verschachtelte Queries habe ich garnicht zuverlässig zum Laufen bekommen. Deshalb spart es nahezu keine Zeit und wenn man das schreiben und Verifizieren des Prompts mit einrechnet kostet es in diesem Scale mehr Zeit die AI zu nutzen als es von Hand und mit Find and replace zu machen.

Vorteile von NATS Microservices vs HTTP API

NATS request in kubernetes sind 2,3x schneller als HTTP requests

Irgendwie war mein implizite anname das es schneller wäre einfach HTTP request zu machen als NATS zu benutzen. Ich habe komplett übersehen das ja auch bei HTTP requests in Kubernetes ein Load-Balencer dazwischen ist.

Um das zu testen habe ich ein kleines benchmark gemacht das jeweils 1000 request über nats und über http macht. Dabei ist der payload identisch. Das Resultat ist:

{"http":"2.319668433s","nats":"994.679073ms"}

Daraus folgt das NATS sogar effizienter ist als es über HTTP zu machen und deshalb steht einer Nutzung von NATS für APIs nichts entgegen zumal das außerdem mit einer Reihe Vorteile kommt

vom 20.3.2024 📣

Neuerungen

Verbesserungen

  • Man kann nun auch nur mit Emoticons in Kommentaren antworten (dafür : eingeben)

Eine volle Hand

Sobald du mehr als 25 Karten auf deiner Hand hast, werden die untersten Karten automatisch aus der Hand gelegt. Sie sind nicht gelöscht und du findest sie auch jederzeit über die Suche, oder bei "Kürzlich entfernt" (ganz unten in der Hand).

👍Lege Karten, die nicht mehr brauchst, aus der Hand

👍Behalte die Übersicht und nur das Wichtigste auf der Hand

  • Mobil: Karten nach links swipen / wischen
  • Laptop: Links oben in der Handkarte auf das Icon klicken

Nächste Seite

Simon Vetter © 2024

StartImpressum