Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · SecurityService

    TeamController — elenco, creare, leggere, aggiornare ed eliminare (KamoCollab CP01 T10)

    GET|POST /api/security/teams e GET|PUT|DELETE /api/security/teams/{id} (spec §5.7). Ogni impugnatura risolve prima il chiamante (401 senza org); le letture sono aperte a qualsiasi sessione dell'org; le scritture hanno bisogno di CONFIGURE SYSTEM o di un finestra dio aperta (403 MISSING RIGHT con richiestoRight), controllato prima la squadra è cercata. Un percorso non UUID id, un id sconosciuto e un'altra squadra di org sono tutti 404 TEAM NOT FOUND. Una scrittura funziona nella transazione di TeamWriter, poi TeamService.afterWrite al di fuori di esso; creare e aggiornare la risposta {team (il dettaglio, con articoli charter), rightsRecalculated}, delete {deleted: true, rightsRecalculated}. Rifiuti mantenere il corpo di TeamErrors, noleggio rifiuta la forma di CharterErrors, e un vincolo che il database applica contro un salvataggio concomitante è un 409 che chiede una ricarica, non un 500.

  2. · MediaService

    Il percorso interno di DM passa attraverso la politica di chat e il AI turn guard, e ogni chat line dice chi l'ha scritto (KamoCollab CP00 T7)

    POST**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** SISTEMA (else 400 SOURCE REQUIRED). Una linea MEMBER è controllata dalla politica di chat come invio di un membro (open-then-send quando non esiste un DM; il DM esistente guida per la finestra di risposta ONE WAY), ha rifiutato 403 CHAT POLICY, e un AI la linea del mittente è contata dalla guardia di turno (429 AI TURN LIMIT). Il AI la linea al proprio supervisore umano non è mai contata, e passa le regole mentre proteggeManagerLine è attiva. Una linea SYSTEM (avviso di calendario) salta entrambi. Il gestore non apre alcuna transazione: il limite di svolta viene letto prima, poi InternaDirectMessageWriter (@Transactional @RetryOnDbConflict) apre il DM, ammette il turno, scrive la linea e prepara il fan-out; il l'annuncio segue l'impegno. media objs.source è scritto: MEMBER per membro invia e messaggi Exec2Exec, SISTEMA di linee interne di SISTEMA e di benvenuto Exec2Exec, SERVICE di avvisi. Una linea SYSTEM o SERVICE non è una svolta umana, quindi non è più resetta il contatore AI. Le cornici, la risposta di invio, il suo NATS frame e file di storia portano sorgente (MEMBER per una riga NULL).

  3. · kamo-internal

    SP96 modulo di noleggio chiede un sesso di AI e lascia il noleggio lasciare la sua estensione del telefono o workstation; la gente ottiene un sesso opzionale; la lista di controllo Imposta ora (SP96 T18)

    - noleggio AI: una selezione femminile/mala richiesta (il pulsante di noleggio lo aspetta), e Estensione del telefono / Interruttori di postazione di lavoro, sia acceso; il payload invia sempre aiPhoneExtension e aiWorkstation come booleans, e la lista di controllo del modulo l'anteprima elenca solo ciò che questo noleggio sarà impostato. - Persone (proprietario, 2026-10-04): entrambe le forme creano offrono un Sesso opzionale (Non specificato / Femmina / Maschio) a un creatore che può scriverlo (sexEditAtCreate = sexEdit per un nuovo record); inviato solo quando scelto. - La nota di contatto AI promette solo la sua casella di posta. - Elenco di controllo di assunzione: NON REQUESTED AT HIRE è detto in parole; un offerte di fila Preparati ora, la stessa riprovazione, con il proprio brindisi.

  4. · kamo-internal

    SP96 modulo di noleggio chiede un sesso di AI e lascia il noleggio lasciare fuori la sua estensione del telefono o workstation; la gente ottiene un sesso opzionale; la lista di controllo Imposta ora (SP96 T18)

    - Noleggio AI: una selezione femminile/mala richiesta (il pulsante di noleggio lo aspetta), e Estensione del telefono / Interruttori di postazione di lavoro, sia acceso; il payload invia sempre aiPhoneExtension e aiWorkstation come booleans, e la lista di controllo del modulo l'anteprima elenca solo ciò che questo noleggio sarà impostato. - Persone (proprietario, 2026-10-04): entrambe le forme creano offrono un Sesso opzionale (Non specificato / Femmina / Maschio) a un creatore che può scriverlo (sexEditAtCreate = sexEdit per un nuovo record); inviato solo quando scelto. - La nota di contatto AI promette la propria casella di posta. - Elenco di controllo di assunzione: NON REQUESTED AT HIRE è detto in parole; un offerte di fila Preparati ora, la stessa riprovazione, con il proprio brindisi.

  5. · MediaService

    MediaService memorizza il grafico org, legge i fatti dei criteri di chat da esso, e il campo di tracciamento gestito è l'intero subtree (KamoCollab CP02 T17)

    MediaService dichiara il caricatore grafico org e la sua cache da 60 s, e un ascoltatore su security.orggraph.changed.* che sfratta il grafico e poi la politica di chat snapshot su ogni baccello. La politica di chat costruisce i suoi fatti membri dalla cache grafo invece delle proprie domande. La portata gestita del marketing tracking è ora il chiamante più tutti sotto di loro a qualsiasi profondità che è record-attivo e non Sintetico, la stessa lettura della portata TEAM di un rapporto.

  6. · KBService

    La lettura di un supervisore delle note di un membro AI è scritta a phi access log (KamoCollab CP00 T8)

    GET /api/notes/members/{memberId}, .../{noteId} e .../noteId}/versions now registrare il letto dopo che ha successo, attraverso il PhiAccessRecorder condiviso: uno LIST riga per nota elencata (un recordAll batch), una riga VIEW per una nota o la sua storia; risorsa NOTA, org del chiamante e membro, scopoOfUse OPERAZIONI, giustificazione... Una lettura rifiutata (403, 404) o una lista vuota non scrive nulla; VIEW e LIST falliscono aperto, quindi un errore di scrittura non raggiunge mai la risposta del supervisore. kbservice guadagna il suo scrittore PHI: PhiAuditPersistenzaConfig dichiara # Con la distruzione di Method shutdown # e KBServiceApplication scansioni com.kamo.z.shared.phi.audit nella stessa commit (la lezione 2026-08-03; KbPhiAuditWiringTest tiene insieme i due). I francobolli di audit si sono verificatiDi per sé: PhiAccessRecorder ricostruisce un evento senza il suo scopo.

  7. · SecurityService

    Il dominio del team — filo, convalida, scrittore, servizio e cucitura org-graph (KamoCollab CP01 T9)

    TeamWire legge un team corpo tri-stato (absent / null / value); TeamValidator controlli titoli, descrizioni, timeout, ruoli, diritti (normalizzati come livello), membro del personale, il piombo e i tappi contro l'organizzazione prima tutto è scritto; TeamWriter fa ogni squadra scrivere in uno transazione, sostituzione di ruoli e diritti per chiave nell'indice unico (deleti arrotolati prima degli inserti, un a destra tenuto aggiornato in posizione); TeamService serve le letture e dopoWrite: il ricalcolo limitato nel la propria transazione, l'annuncio charter e TeamChangeListener per grafo solo fatti (R1-25). LayerCharterSupport guadagna teamCounts. Niente. serve ancora (Task 10).

  8. · kamo-shared-library

    Costruisci i fatti dei membri dal grafico org, accanto al vecchio percorso di query (KamoCollab CP02 T5)

    ChatPolicySnapshotLoader acquisisce un costruttore che assume LongFunction Con esso, load() mappa il grafico dell'organizzazione a MemberFacts attraverso il nuovo MemberFactsFromGraph, chiedendo il grafico una volta per carico di un org con un set attivo. Il costruttore e il carico di ChatPolicyFactsRepository sono invariato; il Task 18 li rimuove una volta che entrambi i servizi sono commutati. ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Carico di oggiFatti e OrgGraphRows. daSql + OrgGraphBuilder + MemberFactsFromGraph, oltre 2.000 org casuali e il ciclo fisso, dangling e casi fuori linea, e afferma che le due mappe sono uguali.

  9. · kamo-shared-library

    Calcolo compilato da id membro, e modifiche ruolo che raggiungono i membri del team (KamoCollab CP01 T7)

    Non e' vero. ricalcola esattamente questi membri: letto da id in pezzi di 500 (mai membri dell'organizzazione), ogni pezzo attraverso recalcChunk (il Livello TEAM caricato una volta per pezzo; solo un membro cambiato è scritto e notificato). Null. e ids ripetuti sono caduti, nessuno sinistra è 0 senza query, più di 1.000 ids distinti è rifiutato, e un membro proxied non è avvolto prima della cascata. updateRoleMemberRightsApplied ricalcola anche i membri di ogni squadra che trasporta il ruolo (findTeamIdsByRoleId, trovareMemberIdsByTeamIdIn), ogni volta, mai un detentore diretto due volte, preso dai membri dell'organizzazione ha già letto, in pezzi di 500.

  10. · SecurityService

    I fave di org del SecurityService, l'editore di cambiamento post-commit, il suo ascoltatore e le due rotte interne (KamoCollab CP02 T7)

    OrgGraphBeanConfig dichiara il caricatore (una Transazione di sola lettura Modello di il proprio, Clock.systemUTC())) e il 60 s OrgGraphCache. OrgGraphChange Editore raccoglie le modifiche di una transazione per org, e al termine evita questo Il grafico e la politica di chat di pod e pubblica... una volta per org; un rollback non annuncia nulla, nessuna transazione funziona subito, e Non getta mai. OrgGraphEventListener espelle entrambe le cache su ogni capsula evento. OrgGraphInternalController serve GET .../org-graph/{orgId} e .../{orgId}/pair dietro X-Internal-Auth; un org sconosciuto è un grafico vuoto.

  11. · kamo-shared-library

    Il caricatore, le sue domande di otto org-bounded, la cache 60 s, l'evento di cambiamento, il codec del filo e la mappatura della testa del dipartimento (KamoCollab CP02 T4)

    - OrgGraphFactsRepository (donotmodify.dao.repos): otto query native, ciascuna legata da org id attraverso un indice; gli utenti e i tavoli del team di CP01 sono fissati sulle chiavi (verificati EXPLAIN). - OrgGraphRows.fromSql: le mappe minuscole a righe, lenientemente (non noti enum leggi come l'entità default, ChatPolicySnapshotLoader numero e regole booleane). - OrgGraphLoader: una sola transazione per carico; TransientDbRetry al di fuori di una transazione, una tentare dentro uno. - OrgGraphCache: Caffeina, 60 s dopo la scrittura, al massimo 1.000 org, un carico per org; fresco() lo bypassa. - OrgGraphEvents: il suo corpo e un abbonamento di spedizioniere che scende soggetti malformati e contiene guasti del gestore. - OrgGraphWire: le mappe interne dell'istantanea (id come stringhe) e posteriore, rifiutate su un mismatch del francobollo. - Department.headMemberId (solo mappatura), DepartmentDTO campi testa, the TEAM share Javadoc e il commento di sola foglia della cascata.

  12. · kamo-shared-library

    Il livello TEAM dei diritti e delle cascate di sessione (KamoCollab CP01 T6)

    TeamLevels (pure, not a bean) legge una serie di squadre dei membri in quattro domande qualunque sia il loro numero (uno quando nessuno è in una squadra): i membri, le squadre, i loro ruoli con i diritti di ogni ruolo e i loro diritti diretti. Ogni squadra il membro appartiene a pieghe in un livello pari da parte della cascata addSettingToLevel rule (GRANTED beats NUKE), overlaid dopo il titolo di lavoro e prima del membro; FORCE, la chiusura e i guardrails AI continuano a seguire. The timeout di sessione guadagna lo stesso livello: il più breve timeout di squadra non-null sovrascrive il titolo di lavoro e il membro lo sovrascrive ancora. Il personale, come il reparto e il titolo di lavoro: un cliente non costa nessuna richiesta di squadra. I percorsi monomembri caricano il livello di un membro; recalcChunk carica il pezzo una volta. I quattro repository del team sono facoltativi; senza di loro, o per un membro in nessuna squadra, ogni cascata si risolve esattamente come prima: le dorate T1 rimangono verde e unedited in entrambe le modalità.

  13. · kamo-internal

    Collegare gli schermi AI ai loro articoli di aiuto per percorso, e fissare le punte delle impostazioni AI che hanno mostrato segnaposto (SP98 T23)

    - /help-center/ <path> (app/help-center/[...path]): apre l'articolo in /kb quando la base di conoscenza del lettore tiene il centro di aiuto (il organizzazione piattaforma), altrimenti il centro di aiuto pubblico nel lettore lingua. I riferimenti incrociati del centro di aiuto usano lo stesso indirizzo. Sono accettate solo le lumache semplici; qualsiasi altra cosa va al centro di aiuto Prima pagina. - AiutoArticoloLink: stessa scheda; "Per saperne di più nel centro di aiuto" o un nome soggetto; inchiostro per la superficie si siede su (la colonna Suggerimenti rapidi è luce su entrambe le tavolozze). - Collegato: tutte e otto le schede delle impostazioni > intelligenza artificiale, ospitato Computer > Computer, Installazione essenziale > Ruoli di sicurezza, Dipartimenti e titoli di lavoro, la camera AI del profilo, e la console di chiamate AI. - La scheda Modelli di sicurezza leggere "modelli di sicurezza", e i suoi consigli rapidi e quelli di utilizzo & Panoramica leggere "Che titolo" / "Understanding Body": vera copia da nuove chiavi. - HELP ARTICLES è tenuto agli strumenti/help-center/manifest.json da un test.

  14. · kamo-internal

    Collegare gli schermi AI ai loro articoli di aiuto per percorso, e fissare le punte delle impostazioni AI che hanno mostrato segnaposto (SP98 T23)

    - /help-center/ <path> (app/help-center/[...path]): apre l'articolo in /kb quando la base di conoscenza del lettore tiene il centro di aiuto (il organizzazione piattaforma), altrimenti il centro di aiuto pubblico nel lettore lingua. I riferimenti incrociati del centro di aiuto usano lo stesso indirizzo. Sono accettate solo le lumache semplici; qualsiasi altra cosa va al centro di aiuto Prima pagina. - AiutoArticoloLink: stessa scheda; "Per saperne di più nel centro di aiuto" o un nome soggetto; inchiostro per la superficie si siede su (la colonna Suggerimenti rapidi è luce su entrambe le tavolozze). - Collegato: tutte e otto le schede delle impostazioni > intelligenza artificiale, ospitato Computer > Computer, Installazione essenziale > Ruoli di sicurezza, Dipartimenti e titoli di lavoro, la camera AI del profilo, e la console di chiamate AI. - La scheda Modelli di sicurezza leggere "modelli di sicurezza", e i suoi consigli rapidi e quelli di utilizzo & Panoramica leggere "Che titolo" / "Understanding Body": vera copia da nuove chiavi. - HELP ARTICLES è tenuto agli strumenti/help-center/manifest.json da un test.

  15. · kamo-internal

    L'area AI Team, quindici articoli KamoAI, articoli AI rinfrescati e notifiche, e link che lavorano sul sito pubblico (SP98 T23)

    Contenuto (autorizzato, sotto contenuto/): - Nuova categoria AI Team (dopo AI Assistant) con tre sezioni e 15 articoli: AI membri del team hanno spiegato, assumendo, supervisionando, il noleggio, modelli di lavoro e personalità, approvazioni; l'hub Workforce, pausing all membri AI, Routing & Budgets, workstation AI; telefonate AI e consenso, membri AI nelle riunioni, liste di controllo e attività, ripetendo gli eventi e blocchi di lavoro AI, menzioni e membri AI in chat. Le etichette sono da solo, dal dizionario. - Rifiuto a ciò che è stato spedito: fornitori AI (regolamento del fornitore AI), aggiungere un provider, server MCP (solo strumenti di sola lettura raggiungono chiunque), agenti di vendita AI (persona), modelli di sicurezza AI, impostazioni generali AI, politiche di accesso, utilizzo AI, intestazioni e-mail e firme (il AI divulgazione), le tre notifiche articoli, segreteria, e creare un evento (Repeat, Trova un tempo). - Due articoli corretti a mano (843d0291b) non sono stati contrassegnati dall'autore, quindi una ricostruzione li ha deviati; ora lo sono. Pipeline: - I riferimenti incrociati si collegano a /help-center/ <path> (lib/paths.mjs) di /kb/ <guid>, che è un 404 sul sito pubblico. All'interno del prodotto il percorso /help-center apre lo stesso articolo. - import.mjs: --soltanto prende un elenco separato da virgola (prima genitori); --posizioni si muove solo ciò che differisce dal manifesto (le categorie sotto uno inserito); --relazioni-solo set see-anche collegamenti senza un nuova versione. - Un articolo autore relativo: [slugs] semi il suo see-also link (lib/related.mjs), e una slitta che non nomina nulla fallisce la costruzione. - manifest.json e relazioni.json ricostruito.

  16. · kamo-internal

    L'area AI Team, quindici articoli KamoAI, articoli AI rinfrescati e notifiche, e link che lavorano sul sito pubblico (SP98 T23)

    Contenuto (autorizzato, sotto contenuto/): - Nuova categoria AI Team (dopo AI Assistant) con tre sezioni e 15 articoli: AI membri del team hanno spiegato, assumendo, supervisionando, il noleggio, modelli di lavoro e personalità, approvazioni; l'hub Workforce, pausing all membri AI, Routing & Budgets, workstation AI; telefonate AI e consenso, membri AI nelle riunioni, liste di controllo e attività, ripetendo gli eventi e blocchi di lavoro AI, menzioni e membri AI in chat. Le etichette sono da solo, dal dizionario. - Rifiuto a ciò che è stato spedito: fornitori AI (regolamento del fornitore AI), aggiungere un provider, server MCP (solo strumenti di sola lettura raggiungono chiunque), agenti di vendita AI (persona), modelli di sicurezza AI, impostazioni generali AI, politiche di accesso, utilizzo AI, intestazioni e-mail e firme (il AI divulgazione), le tre notifiche articoli, segreteria, e creare un evento (Repeat, Trova un tempo). - Due articoli corretti a mano (843d0291b) non sono stati contrassegnati dall'autore, quindi una ricostruzione li ha deviati; ora lo sono. Pipeline: - I riferimenti incrociati si collegano a /help-center/ <path> (lib/paths.mjs) di /kb/ <guid>, che è un 404 sul sito pubblico. All'interno del prodotto il percorso /help-center apre lo stesso articolo. - import.mjs: --soltanto prende un elenco separato da virgola (prima genitori); --posizioni si muove solo ciò che differisce dal manifesto (le categorie sotto uno inserito); --relazioni-solo set see-anche collegamenti senza un nuova versione. - Un articolo autore relativo: [slugs] semi il suo see-also link (lib/related.mjs), e una slitta che non nomina nulla fallisce la costruzione. - manifest.json e relazioni.json ricostruito.

  17. · EmailService

    Le linee di chat del calendario dicono che sono linee di sistema (KamoCollab CP00 T5)

    MediaChatClient.sendDirect ora pubblica "fonte": "SYSTEM" accanto aMember Id... aMemberId e messaggio: un invito o la cancellazione del calendario è un avviso scritto nel nome dell'organizzatore, non le parole dell'organizzatore. Servizio stampa (CP00 Task 7) lo memorizza come MEDIA OBJS.SOURCE = SISTEMA e lo tiene fuori dalla chat politica e l'intelligenza artificiale; fino ad allora ignora la chiave sconosciuta. Prova: Il corpo a quattro chiavi.

  18. · KlusterServices

    Gli ascoltatori di org-graph possono iscriversi al tema del cambiamento org-graph

    KamoCollab CP02 Task 6A (master R1-23, CP-D75). Sicurezza Pubblicazioni dei servizi ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* che memorizza il grafico org evite su di esso. Nessun utente NATS potrebbe iscriversi a soggetto, così ogni ascoltatore avrebbe colpito una violazione dell'abbonamento e la sua la cache sarebbe sfuggita solo dal TTL 60 s. Aggiunge "security.orggraph.changed.>" all'elenco dei nove iscritti utenti ascoltatori: svc security, svc media, svc kamoai (CP02), svc kb, svc email, svc voip, svc docs (CP05), svc mcpgateway (CP07) e svc rag (CP11). svc docs sottoscritto a nulla (deny ">"); ora può abbonarsi a quel soggetto da solo. Nessuna password hash, pubblicare elenco o altre modifiche utente.

  19. · kamo-shared-library

    CharterLevel.TEAM, tra il titolo del lavoro e il membro (KamoCollab CP01 T5)

    Appendice TEAM a CharterLevel (dopo DEFAULT; ORG da CP03 arriva successivo, R1-11) e afferma nel suo Javadoc che l'ordine di risoluzione è CharterLayer. rango, mai l'ordine di dichiarazione. CharterItems.validate non ha bisogno di cambiare: TEAM è Né ROLE né MEMBER, quindi segue le regole del titolo di lavoro. Test: un team può nascondere e bloccare; ogni sezione valida a TEAM come in JOB TITLE; due strati TEAM tra un titolo di lavoro e un membro (prima in elenco ordine vince una chiave SPECIFICA e i nomi di conflitto l'altro, ADDITIVE sindaci, una squadra nasconde un lavoro-titolo, il membro nasconde un oggetto di squadra, colleghi non possono nascondersi a vicenda); le linee L|/I| di una catena senza team canonica timbro testo uguale le linee catturate sul principale (nessun hash pinned, R1-1); un TEAM strato aggiunge solo le proprie linee. CharterEnumsTest nomina i livelli in qualsiasi ordine (R1-11).

  20. · SecurityService

    Copripiumini per la pulizia della tavola destra org team rights (KamoCollab CP01 T8)

    RoleRightsSyncService nomi org team rights in tutte e tre le sue liste, così via ogni avvio un CHECK congelato su di esso è caduto, una riga che nomina un diritto rimosso è cancellato, e un diritto diviso è seme per le squadre che hanno concesso il suo genitore, esattamente come per dept rights. La guardia NON ESISTE del seme è a chiave (team id, type), l'indice unico della tabella, in modo da non duplicare mai di una squadra a destra o viaggia l'indice.

  21. · kamo-internal

    La politica di outbound del server del telefono in Impostazioni: nuove estensioni' chiamate esterne, e le guardie di toll-fraud (SP93 T14)

    La scheda vocale AI su un server FreePBX ottiene le due impostazioni SP93 VOIPService già negozi: se una nuova estensione inizia a comporre fuori, e i quattro protezioni toll-fraud opzionale (internazionale, premium-rate, codici di area ad alto rischio, personalizzato prefissi), sotto una voce che dice 911 e 933 non possono mai essere bloccati. - Ogni salvataggio invia tutti e cinque, come richiede PUT (SP93-T4-3). - Un prefisso personalizzato VOIPService rifiuta (non 1-15 cifre, o 911, 933 o l'inizio di entrambi) viene rifiutato su Aggiungi e su Salva, prima che tutto venga inviato; un prefisso digitato ma non aggiunto viene salvato anche; la lista si ferma a 25. - Un Kamo PBX non mostra nessuno di loro, poiché solo il piano di linea di FreePBX li applica, e invia ancora i valori memorizzati in un salvataggio (SP93-T14-1). - La casella di anteprima dei chiamanti prende un token a tema, quindi un tema scuro può leggerlo.

  22. · kamo-shared-library

    Il core grafico org puro: OrgGraph, il suo costruttore, nodi e relazioni (KamoCollab CP02 T3)

    Pacchetto com.kamo.z.shared.org.graph (pure, no fagioli), per KamoCollab master §6.2 e CP02 spec §5.2-§5.3: - enums OrgRelationship, CounterpartKind, OrgGraphChangeCause (STRING, append-only); - registra OrgNode, OrgDepartment, OrgTeam e OrgGraphRows con i suoi otto record di fila nidificati; - OrgGraphBuilder.build: albero di reparto e sentieri root-to-leaf (chat's ancestry invertito), nodi, livelli efficaci (D5), poi OrgGraph.of; - OrgGraph: relazioni (cosa b è a), managementChain (BFS over manager e AI-supervisore bordi), managerChain (chat's walk), rapporti, derivatoTeam, più bassoCommonManager (D9), outranks (D6, CP-D15), efficaceLevel, capo dipartimento, team lead, dipartimentoManagerCandidates (D12), e un francobollo di contenuto 24hex. Ciclo-safe durante tutto. I test indicano ogni riga di spec §5.3 della tabella di risposta prevista sul riferimento org, i casi del ciclo, 2000 forme casuali sotto un bilancio di 5 s, i cinque invarianti, e il timbro. Rulli CP02-T3-1..5.

  23. · kamo-shared-library

    Le entità del team, i repository e i limiti (KamoCollab CP01 T4)

    Team (org teams), TeamMembership (org team members, @IdClass Key), TeamRole, TeamRight (tipo attraverso RoleRightTypeIdConverter) e TeamCharterItem (team charter items, colonna di testo 'text'), i cinque repository con spec i metodi della sezione 5.2 e JPQL e TeamLimits (D11). Le tabelle sono create da il DDL applicato a mano del servizio di sicurezza Non e' vero. I test indicano ogni colonna, nullità e lunghezza al DDL, analizza ogni query contro la mappatura reale (formazioni selezionate e forme di riga Object[] incluse), risolvere ogni ricercatore derivato e controllare il @IdClass; verde su Hibernate 6.5.3 e sulla flotta è 6.2.13.

  24. · SecurityService

    Il DDL applicato a mano per teste di reparto e gli indici di carico org-graph, e il suo test di contratto (KamoCollab CP02 T1)

  25. · SecurityService

    Il DDL applicato a mano per le squadre, e il suo test di contratto (KamoCollab CP01 T2)

    ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** org team, org team members, org team roles, org team rights (tipo INT4, unico (team id, type), master CP-D3) e team charter items. Applicato da CP01 Task 3 prima che kamo-shared-library navi le entità della squadra. Cp01TeamsDdlContract Perni di prova la forma del file come liste fisse (R1-12): solo CREATI riabilitabili; nessun CHECK, JSON, DROP, UPDATE o DELETE; ogni NON La colonna NULL ha un DEFAULT tranne le colonne chiave e proprietario; le cinque tabelle, gli unici e le ricerche, le cascate e le colonne esatte di team charter items.

  26. · MediaService

    Il DDL per media objs. fonte, che ha scritto una chat line (KamoCollab CP00 T1)

    Una colonna nullable VARCHAR(16), riattivabile, senza CHECK e senza backfill; NULL si legge come MEMBER. Applicato a mano da CP00 Task 3. E' il momento giusto. mantiene l'additivo del file: ogni dichiarazione un ADD COLUMN IF NOT EXISTS, no NON NULL senza DEFAULT, senza CHECK, JSON, DROP o UPDATE.

  27. · SecurityService

    Impersonation and Enter-As write access-log righe (KamoCollab CP00 T9)

    Entrambe le porte di impersonazione scrivono IMPERSONATION STARTED (HIGH) nel bersaglio org con logEventSync dopo ogni controllo del rifiuto e prima della sessione coniato; una riga che non può essere scritta risposte 503 AUDIT UNAVAILABLE e mints Niente. Enter-As scrive ENTER AS nella destinazione org prima della minzione: MEDIUM per la propria appartenenza (una scrittura fallita è un ATTENZIONE), ALTA come Utente di sistema (una scrittura fallita è 503, niente coniata). La riga nomina il biglietto la sovvenzione dell'utente del sistema poggia su, mai quella che il corpo ha rivendicato. Registrazione di un sessione il cui SUDO MEMBER ID differisce dal suo membroID scrive anche IMPERSONATION ENDED (MEDIUM). La porta cross-org ora legge l'orgID del chiamante per la riga e risponde 401 quando la sessione manca, come la porta dello stesso-org Già fatto. Novità: security/ImpersonationAudit (spec 5.6, D12-D14).

  28. · AIService

    I brevi nomi DEPARTMENT MANAGER come capo del vostro dipartimento (KamoCollab CP02)

    DEPARTMENT MANAGER ora si dirige verso il capo reparto (il grafico org dipartimentoManagerCandidates), così il brief dice "il capo del vostro Dipartimento". CharterCompiler.VERSION non è volutamente urtato (CP02 spec D23, sentenza CP02-P-5): nessuna via di trasporto DEPARTMENT MANAGER, quindi nessun breve immagazzinato porta le vecchie parole e un urto sarebbe ricompilare ogni breve di AI per niente. Nessun perno di prova VERSIONE (R1-24).

  29. · kamo-shared-library

    MediaObjSource e MediaObj.source, creareMessaggio con una fonte, trovareTwoPersonChatSession, e l'impersonazione/Enter-As eventi di accesso-log (KamoCollab CP00 T4)

    - MediaObjSource {MEMBER, SYSTEM, SERVICE}; MediaObj.source (STRING, colonna SOURCE, lunghezza 16, nullable, nessun default) e sorgenteOrMember(), che legge NULL come MEMBER. - MediaService.createMessage guadagna un sovraccarico a sette argomenti prendendo la fonte; sei-argument overload delegati con null, così ogni chiamante esistente memorizza NULL. La meta' delle ricerche trovareOrCreateChatSession, estratto; trovareOrCreateChatSession crea solo quando è vuoto, quindi il suo comportamento è invariato. - AccessLogEventType aggiunge IMPERSONATION STARTED, IMPERSONATION ENDED, ENTER AS. La colonna MEDIA OBJS.SOURCE deve esistere (CP00 Task 3 DDL) prima che questo venga spinto.

  30. · kamo-internal

    FreePBX voicemail in Impostazioni: i campi di interfaccia manager, le caselle di segreteria condivise e un giocatore che dice perché

    SP98 Task 15. - Il modulo FreePBX ottiene i quattro campi Asterisk Manager Interface segreteria necessità (host, porta, nome utente, segreto). Il segreto memorizzato non viene mai mostrato ("(invariato)") e viene inviato solo quando digitato; spostando l'host lo chiede di nuovo e un host vuoto spegne la segreteria vocale, come le regole del server sono. - La scheda Voicemail del server di un telefono gioca ogni riga per il proprio id: ha chiesto /voicemails/±externalId>/audio, che non è id, quindi nessuna riga ha mai giocato lì. Le righe dicono in quale casella di posta il messaggio è stato lasciato in; un server FreePBX condiviso scatole (mailboxes no Kamo estensione possiede, come la linea principale) sono elencati con chi ogni notifica, scelto dai membri che gestiscono i server telefonici. - Impostazioni > Telefono > Voicemails nomina la casella di posta e segna quelli condivisi. - Entrambe le liste giocano attraverso VoicemailAudioPlayer: niente carica fino al gioco, e un messaggio il cui audio Kamo sta prendendo dal sistema telefonico dice così, guarda di nuovo ogni 20 s e gioca una volta che è lì; le altre ragioni si dicono chiaramente, con Prova di nuovo. - L'aiutante SIP WebSocket mostra il suo testo invece della sua chiave (il dizionario valore tenuto <host> tags ICU non poteva formattare).

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta