Κανάλια
Τα κανάλια φέρνουν ομαδικές συνομιλίες στο Libre WebUI: δημόσια και ιδιωτικά δωμάτια
και άμεσα μηνύματα, με νήματα, αντιδράσεις, pins, unread, συνημμένα και απαντήσεις
@model — στην ίδια μόνιμη κρυπτογραφημένη βάση με το chat.
Τύποι και μέλη
| Τύπος | Ποιος βλέπει | Ποιος συμμετέχει |
|---|---|---|
public | Όλοι περιηγούνται | Ο καθένας εισέρχεται μόνος |
private | Μόνο μέλη | Ο ιδιοκτήτης προσκαλεί |
dm | Οι δύο συμμετέχοντες | Αυτόματα· πάντα ακριβώς δύο |
Η συμμετοχή είναι η μόνη εξουσία για περιεχόμενο: κάθε ανάγνωση και εγγραφή, συμπεριλαμβανομένων downloads και live events, ελέγχει πρώτα το μέλος. Μη μέλη παίρνουν μη απαριθμήσιμο 404. Ο global admin σκόπιμα δεν αποκτά πρόσβαση.
Ο δημιουργός public/private είναι ιδιοκτήτης και μπορεί να μετονομάζει, αρχειοθετεί, προσκαλεί, αφαιρεί, συντονίζει και διαγράφει. Φεύγει διαγράφοντας, όχι εγκαταλείποντας. Υπάρχει ένα DM ανά ζεύγος: άνοιγμα με ίδιο άτομο οδηγεί στην ίδια συνομιλία.
Χρονολόγιο
Τα μηνύματα είναι μόνιμο ταξινομημένο timeline με keyset cursors (created_at + ID)
και στις δύο κατευθύνσεις χωρίς παραλείψεις ή διπλότυπα.
- Idempotent posts. Ο πελάτης δίνει identity· retry καταλήγει μία φορά στην ίδια γραμμή.
- Tombstone διαγραφή. Καθαρίζει περιεχόμενο αλλά κρατά τη γραμμή, ώστε νήματα και σειρά να μένουν. Συγγραφείς διαγράφουν δικά τους, ιδιοκτήτες συντονίζουν όλα.
- Edits μόνο από συγγραφέα με
editedAt. - Νήματα ενός επιπέδου. Root μήνυμα φιλοξενεί νήμα· replies σε replies απορρίπτονται.
- Reactions ανά χρήστη/emoji χωρίς διπλομέτρηση.
- Pins από μέλη ανά κανάλι.
Ονόματα, περιγραφές και μηνύματα κρυπτογραφούνται σε ηρεμία όπως το chat.
Unread κατάσταση
Κάθε συμμετοχή έχει μονότονο cursor ανάγνωσης. Το backend υπολογίζει unread (δικά σας
δεν είναι ποτέ unread) και POST /api/channels/:channelId/read κινείται μόνο εμπρός.
Παράδοση realtime
Κάθε αλλαγή προστίθεται στο channel:<id> και διανέμεται μέσω
GET /api/channels/:channelId/events (SSE). Η συμμετοχή επανελέγχεται πριν κάθε
παράδοση, άρα η αφαίρεση κλείνει τη ροή. Το SQL timeline είναι η αλήθεια· χαμένα events
ανακτώνται με νέα ανάγνωση.
Συνημμένα
Τα αρχεία ανεβαίνουν πρώτα (POST /api/channels/:channelId/attachments), μένουν
σύντομα σε shared claim cache και επισυνάπτονται με το μήνυμα. Claim μίας χρήσης λήγει
σε 15 λεπτά. Τα blob ανήκουν στον uploader και τα downloads ξαναελέγχουν συμμετοχή.
Απαντήσεις @model
Το μήνυμα μπορεί να στοχεύει μοντέλο. Η απάντηση εμφανίζεται pending και ολοκληρώνεται σε μόνιμη εργασία αυστηρά με την ταυτότητα του μέλους: πρόσβαση, credentials και routing του, ποτέ άλλου. Αν αφαιρεθεί όσο είναι queued, η εργασία ξαναελέγχει και καταγράφει ορατή αποτυχία. Τα σφάλματα εμφανίζονται στην απάντηση.
Μια αναφορά φτάνει επίσης στο αναφερόμενο μέλος μέσω email όταν έχει ενεργοποιήσει τα Channel mentions στις Settings → Notifications και ένας διαχειριστής έχει ρυθμίσει τον εξερχόμενο mail server (δείτε Ειδοποιήσεις).
Χρησιμοποιούνται έως 30 πρόσφατα μηνύματα ως context.
Τα εργαλεία συνομιλίας είναι συνδεδεμένα: όταν το μέλος που έκανε την αναφορά περνά το feature gate εργαλείων και έχει μη κενό κατάλογο, η απάντηση εκτελεί τον ίδιο πολυκυκλικό βρόχο εργαλείων που εκτελεί ένας γύρος chat, πάνω στους δικούς του ορατούς διακομιστές εργαλείων και ενσωματωμένα εργαλεία. Ένα κανάλι δεν δεσμεύει καμία περσόνα, άρα καμία δέσμευση εργαλείων περσόνας δεν περιορίζει τον κατάλογο.
Κανείς δεν παρακολουθεί μια αναφορά όπως παρακολουθεί κάποιος ένα chat, οπότε μια κλήση εργαλείου με παρενέργεια απορρίπτεται εξ ορισμού εκτός αν το μέλος κατέχει ήδη μόνιμη έγκριση για αυτήν. Η απάντηση το αναφέρει, και το μοντέλο ενημερώνεται να την εκτελέσει από ένα chat αντ' αυτού. Τα εργαλεία μόνο για ανάγνωση εκτελούνται χωρίς να ρωτήσουν, ακριβώς όπως στο chat. Οι μόνιμες εγκρίσεις έχουν εμβέλεια ανά κανάλι: μια απόφαση "να επιτρέπεται για αυτή τη συνομιλία" δεν περνά ποτέ σε κανάλι, και μια έγκριση ανά κανάλι δεν διαρρέει ποτέ σε άλλο κανάλι ή στο chat. Επειδή μόνο δουλειά μόνο για ανάγνωση μπορεί να εκτελεστεί χωρίς επίβλεψη, μια επαναλαμβανόμενη εργασία αναφοράς είναι ασφαλής να ξανατρέξει.
Η απάντηση φέρει οριοθετημένη περίληψη των κλήσεων που έκανε (έως 12, με περικομμένα ορίσματα και προεπισκοπήσεις αποτελεσμάτων), που εμφανίζεται ως αναδιπλούμενο "Tools used" κάτω από το μήνυμα. Η ανάκτηση γνώσης και η αναζήτηση ιστού δεν έχουν ακόμη συνδεθεί στις αναφορές καναλιού.
Όρια
| Όριο | Τιμή |
|---|---|
| Κανάλια ανά χρήστη | 50 |
| Μέλη ανά κανάλι | 200 |
| Μηνύματα ανά κανάλι | 50,000 |
| Μήκος μηνύματος | 8,000 χαρακτήρες |
| Συνημμένα ανά μήνυμα | 5 × 10 MB |
| Αντιδράσεις ανά μήνυμα | 200 |
Περιορισμοί
- Presence και typing δεν έχουν υλοποιηθεί.
- Export και retention ακολουθούν backup εγκατάστασης· δεν υπάρχει export ανά κανάλι.
- Οι αναφορές ειδοποιούν μέσω της υπηρεσίας· δεν υπάρχει προτίμηση ανά κανάλι πέρα από έξοδο.