Prove the deploy by digest, not by tag
Il commit precedente si ferma `set image` essendo un no-op silenzioso. Questo afferma che risultato: dopo il rollout, il tag viene risolto per digerire al Regis...
Una ricostruzione dello stesso commit non ha dispiegato nulla e ha riferito il successo
L'immagine è contrassegnata con il commit SHA, così la ricostruzione dello stesso commit produce un riferimento di immagine identico. `kubectl set immagine` qui...
Costruire l'URL avatar del mittente dal loro org, non l'host richiesta
Il mittente di una notifica di chatAvatar è stato risolto da X-Forwarded-Host, cadendo torna al nome del server. Sia il BFF di kamo-internal e APIService raggiu...
Invia l'avatar del mittente con il messaggio e la sua spinta
La notifica di chat ha portato `senderAvatar: "" con il commento "avatar risolto su frontend", e la spinta non ha portato avatar affatto. Un browser può risolve...
Invia un nome host dell'org come reindirizzamento dell'incontro OAuth
La stessa regola del flusso di posta ora segue, per gli incontri Zoom e Teams: un'organizzazione sulla sua app OWN ha registrato tale app contro api. Il callba...
Fermare dieci posti di lavoro programmati da eseguire due volte ora MediaService ha due pod
Scaling MediaService a due repliche avrebbe raddoppiato ogni spazzata programmata che possiede. Due coloro che inviano la posta — MeetingReminderSweep e ChatEma...
Fare MediaService corretto su più di un baccello, e eseguire due
MediaService ha mai eseguito solo una singola replica, quindi una distribuzione di esso era un outage di chat totale e un OOM era lo stesso. Non poteva eseguire...
Smettere di cancellare l'unica chat pod prima di iniziare la sua sostituzione
Deploys ha sostituito l'unico pod di ogni servizio con nulla per catturare le richieste in volo. Tre impostazioni, applicate attraverso la flotta: - preStop do...
Un tipo EMAIL, e ogni spinta ora nomina il suo org
EmailService solleva la notifica fuori IMAP IDLE e chiede MediaService a fornire attraverso il punto finale di spedizione interno che esiste per esattamente que...
Pubblicare ha bisogno di GD, non di una finestra aperta
L'interruttore era invisibile agli operatori divini. È stato recintato Il GD più un vetro aperto. finestra — e tenere GD non è lo stesso fatto di averlo attivat...
Lasciare un operatore Dio-mode file un bug di sistema privatamente
Pubblicare un report ora offre un interruttore di pubblicazione a un operatore con un aperto finestra di Dio-mode. Di default: il rapporto rimane con la modalit...
Costruire contro i due campi SystemBugDispatchDTO
Non correlato al lavoro OAuth nel commit precedente — MediaService principale non ha compilato da kamo-shared-library ad78dfa8 aggiunto terminaleSessionId e ter...
Risolvere le credenziali Canva, Meta, X e meeting per organizzazione
Ogni flusso qui ora legge qualsiasi applicazione l'org è su — la sua registrazione se ne ha portato uno, altrimenti l'app della piattaforma di Kamo. I punti di...
Il collegamento profondo in arrivo deve usare il kamocopilot://
Lo schema kamomobile:// di KamoMobile è il passo 2 di un rinominato che non è successo. Il binario pubblicato registra kamocopilot da solo, e un link profondo a...
Anelli il telefono di un membro per una chiamata in arrivo
VoipStompRelayController relayed voip.call.* suonando eventi al browser e Non li ha mai spinti deliberatamente, riservando all'avviso in arrivo per il futuro AP...
Annunciare un messaggio solo una volta che può essere letto
POST /sessions/{guid}/messages è @Transactional, e la pubblicazione NATS del il messaggio ha sempre aspettato per il commit — con un commento dicendo esattament...
Rifiutare una modifica una volta che un altro membro ha letto il messaggio
PATCH /api/media/messages/{id} è stato deliberatamente ungated sulle ricevute, a differenza del DELETE accanto a esso. Il ragionamento scritto in esso era che u...
Invia la citazione con una risposta, non solo il puntatore
media objs msg.parent id è stato lì tutto il tempo e questo punto è accettato genitoreId sulla strada in quanto il threading è stato modellato, ma una risposta ...
Trascorrere il sito cancella prima che le sostituzioni siano scritte
Modifica di un rapporto è tornato "Il bug non poteva essere salvato: Server interno Errore" ogni volta che il reporter ha lasciato un sito collegato — così ogni...
Lasciare una chat di gruppo, e mantenere unire / lasciare le linee nella trascrizione
La partenza è DELETE /sessions/{guid}/membership, non rimuovereMembri destinati a te stesso — che il percorso rifiuta l'autorimozione di proposito. La rimozione...
Avanti rimossoByMemberId al browser
Le copie relè denominate campi fuori ChatMessageDto sul telaio STOMP, quindi un campo non copia è caduto anche una volta che il DTO lo dichiara. MEMBRE ora port...
Nome di una chat di gruppo, stella una conversazione, rimuovere qualcuno da una stanza
Tre percorsi, e ogni rifiuto è una regola che qualcuno deve essere in grado di distinguere da un outage — così ognuno porta il proprio codice piuttosto che un 4...
Servire una finestra riaperta solo quello che mancava, e controllare una pagina in una sola scrittura
Due costi, entrambi pagati su ogni singola apertura di una finestra di chat. ?since on GET/sessions/{guid}/messages. Una finestra riaperta vuole che messaggi d...
Un relè solo inoltra la propria conversazione
ChatSessionSubscriptionManager pubblica un argomento chiamato dopo la sessione sottoscritto PER, mai dopo la sessione il frame è venuto da. Questo è sicuro solo...
E-mail il reporter quando il loro bug o miglioramento cambia stato
Triage era silenzioso. Qualcuno ha presentato un rapporto e poi ha dovuto continuare ad aprire la scheda per scoprire se qualcuno l'avesse guardato — che è lo s...
Per-viewer legge lo stato, un distintivo dal vivo, e per-status conta
La polizia si occupava della questione, non di te. /new-count ha contato ogni NUOVO rapporto a livello di piattaforma, in modo che potrebbe cadere solo quando q...
Pin lo sniff dell'attacco all'uscita di encoder reale
I casi esistenti costruiscono un intestazione a mano, che testa il codice contro la mia credenza sul formato piuttosto che contro il formato. Questi prefissi di...
Collegare un video a un bug report, non solo uno screenshot
Un ancora non può mostrare i tre clic prima che la cosa si sia rotta, quindi i giornalisti erano descrivendo le registrazioni in prosa e postando il file in una...
Un attaccamento che non può essere letto dice così invece di 500ing
Il proxy di imaging risponde già 410 per l'accesso revocato e per un rimosso messaggio, ma lascia che l'IOException di OpenRange sfugga di sorpresa — così l'uni...
Ricostruire contro la correzione di upload del documento
Picks up kamo-shared-library d21e01ce, che atterrato minuti dopo il precedente costruire. Il percorso di chat-attachment ha già f848f394; questo porta il second...
Ricostruisci contro il dispositivo di archiviazione
Raccoglie kamo-shared-library f848f394. Un allegato di chat il cui caricamento non è riuscito una riga ImgDat che in seguito carica dello stesso file deduplicat...
Una reazione attivata due volte alla volta è un no-op, non un 500
setReazione leggere, quindi salvato, quindi catturato la violazione del vincolo che la lettura doveva prevenire — che non funziona: le superfici di violazione a...
Reagire a un messaggio con un emoji, e correggere quello che hai inviato
"POST"... "Sistema o cancella l'emoji del chiamante e risponde con... l'intero set di reazione del messaggio, quindi un client che si è corsa converge sul serve...
La lobby di un bambino org offre i propri background, non la piattaforma
La cartella che tiene sottofondo di una riunione di org e la configurazione del tema è stata derivata da un nome host — la richiesta, o il dominio org che il si...
Utilizzare il motore di disponibilità condiviso
MemberAvailabilityService mantiene il CRUD e diventa BusySource; aritmetica che possedeva ora vive in kamo-shared-library. Siti di chiamata sono — le delegazion...
Un telefono, un avviso — crollare le destinazioni push duplicate
Members were getting the same chat message three-plus times on their phone. Registrations are unique on (device_token_id, org_id, push_kind), NOT on the push t...
Percorso getChatSessions' ambiguità illeggi attraverso l'Ambiguità
MediaController.getChatSessions lanciò a mano la versione pre-estrazione della "era scritto da qualcun altro?" regola (rowVisitor!= null && callerId Il che ha r...
Gestione coerente degli errori e stratificazione su due risultati di recensione
Risultati delle valutazioni sulle attività 14 e 15: - SystemBugController ha tenuto un campo SystemBugRepository e l'ha interrogato direttamente per il nuovo c...
Controllare il non letto-guardare se stesso, non solo la trasmissione
Risultato del compito 9: persistInbound è @Transactional, e solo il broadcast() la chiamata all'interno del loop per-membro era sicuro per l'eccezione (inghiott...
GET /api/webinar/presenting
The webinar types the CALLER is a presenter for. The calendar asks this before it offers an availability layer at all: hours declared by a member no type lists ...
Tell a member about a webinar booked on their behalf
Not gated on a webinar right, unlike the ticket counters: the case this exists for is one where the member took no action at all, so requiring the right to requ...
Contare segnalazioni di bug non visualizzate per gli amministratori della piattaforma
Zero per un chiamante ungated piuttosto che un 403: il nav lo sonda in ogni pagina carico per ogni membro, e un errore che devono regolarmente ingoiare è come r...
Percorso istantanee non lette al proprio argomento STOMP
Tutto su voip.> è andato a un argomento, il cui abbonato del browser gioca l'SMS suono di arrivo e apre una finestra degli strumenti per ogni cornice. Un rinfre...
Refresh unread badges when a visitor message lands
persistInbound announces its own message (publishRealtimeEvent=false, so a visitor's reply does not render as the owner's), and in doing so also skipped the unr...
Pin kamo-shared-library 1.6.0
La biblioteca si trasferì a 1.6.0 mentre i consumatori rimasero a 1.5.0. Consumer CI costruisce la biblioteca da un clone fresco in un freddo ~/.m2 e ci-setting...
Risolvere gli orari prenotabili dalla disponibilità dei membri
La disponibilità è ora calcolata piuttosto che memorizzata. Il servizio di disponibilità dei membri possiede l'aritmetica: espandere le finestre dichiarate di o...
Il nome di un sito è facoltativo
Era necessario e richiedeva che fosse sbagliato. Un sito è un suggerimento per chi sceglie — un membro che non è certo quale di cinque superfici guardare è megl...
File un bug o un miglioramento
Il tipo è rifiutato piuttosto che predefinito su una scrittura: un miglioramento tranquillamente archiviato come un bug invia la sessione AI a caccia di un dife...
Fornire avvisi cluster nel thread di chat di un membro
Alertmanager webhook ricevitore a /api/internal/alerts/chat, quindi un KamoDesktop l'avviso raggiunge una persona invece di un cruscotto. Questa è la gamba BES...
Costruire il modello di ricerca al di fuori della query, e analizzare la query in un test
likePattern trasforma un termine di ricerca assente in '%' quindi nessun parametro null mai raggiunge un'espressione di stringa, e sfugge % e nel termine in m...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
