Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · KlusterServices

    Ricevi postmaster@/abuse@stack.loans su k3m1 per i controlli di massa dell'IP

    47.181.8.87's reverse DNS è mail.stack.loans e il router inoltra la sua porta 25 a k3m1, ma niente c'è posta accettata, quindi un fornitore verifica chi gestisce l'IP (Microsoft SNDS offre solo postmaster@/abuse@ di quel dominio) non poteva raggiungere nessuno. postfix-k3m1-inbound ascolta su k3m1 rete host, prende esattamente quegli indirizzi a postmaster@kamocrm.com attraverso il postfix principale, e rifiuta tutto il resto. Non cancella nulla.

  2. · EmailService

    Nominare il destinatario in un intestazione che i rapporti di reclamo solo intestazione mantengono

    I rapporti di Microsoft di feedback-loop ora portano solo le intestazioni del messaggio originale, con qualsiasi cosa a forma di indirizzo mascherato. Ogni messaggio di campagna porta X-Kamo-FBL (il token del destinatario, l'unico List-Unsubscribe ha già), e il parser del reclamo legge prima.

  3. · kamo-internal

    Tariffe aperte e click, opzioni di tracciamento, 10.000+ conteggi outbox, persona-asked sui lead

    - Carta di campagna: aperta e cliccata, come parte di posta consegnata (o "Non rintracciata"). - Modalità di consegna > Regole della campagna: apertura e click tracking, default della piattaforma o la scelta dell'organizzazione. - Eroe di Outbox: un conteggio incappucciato legge "10.000+", e ciò che aspetta accanto a esso "Ap to ...". - Lead opt-out panel: sollevare un'iscrizione, un rapporto spam o una pausa chiede al membro per confermare la persona richiesta, che il registro richiede ora. - Gli stili visivamente nascosti usano '1px' (un nudo 1 è 100% in sx); il polso Opt Out nascosto tavolo siede all'interno di un blocco nascosto, in modo che non può più ampliare uno schermo del telefono. - L'attività di consegna legge il suo giorno attraverso toServerDate.

  4. · EmailService

    Aprire e fare clic su tracciamento, segnalazioni di reclamo per e-mail, conteggi in uscita bloccati

    - Tracciamento: il compositore avvolge i link web di una campagna in un redirect firmato ( <base>/c/ <token>?u=&s=) e aggiunge un pixel aperto ( <base>/o/ <token>), come ogni org sceglie (Impostazioni > Email > Deliveryability; piattaforma predefinita bulk-email.tracking.*). Il link di cancellazione, mailto/tel/anchor link e tutto ciò che già i nostri non sono mai avvolto, e un link la cui firma non è nostra va da nessuna parte. Aprire ogni destinatario e fare clic conta una volta (Redis), mostrato sulla campagna contro la posta consegnata. - Reclami: POST /api/internal/complaints/mail legge feedback-loop report (ARF) e abuse@ forwards from the mail server's lamenta sidecar, trova il destinatario dal token il messaggio originale portato, e sopprime l'indirizzo come spam lamentela per quell'org, contato una volta. Ogni messaggio di campagna porta un Feedback-ID. - Posta in uscita: due e riprovazione sono contati fino a 10.000 (dueCapped/retryingCapped); il vista ospite è dovuto allo stesso modo. - Opt Out: toChange passa personaAsked al registro, che ora lo applica per ogni cambio membro; la guardia locale è sparita.

  5. · SecurityService

    Lead opt-out pannello passa personaAsked al libro principale

    L'aggiornamento opt-out della pagina principale richiede una persona facoltativa al registro, che ora rifiuta di sollevare la propria sottoscrizione di una persona, reclamo o pausa a meno che il membro confermi la persona richiesta. Il rifiuto raggiunge il cliente come un 400 con campo "persona Asked", come il registro altri rifiuti.

  6. · kamo-shared-library

    Il libro di testo mantiene l'iscrizione di una persona a meno che non chieda di riunirsi

    Un'iscrizione, un reclamo o una pausa è la scelta della persona. Un membro può ora sollevare uno solo quando il cambiamento dice che la persona ha chiesto di essere e-mail di nuovo (OptOutChange.personAsked); altrimenti il ledger lo rifiuta con campo "personAsked". Il controllo corre contro lo stato letto all'interno si applica, solo per MEMBER cambia, prima della regola di nota esistente, che si applica ancora ad una permesso ascensore. I rimbalzi e il blocco MANUAL di un membro hanno bisogno solo della nota. OptOutChange guadagna una settima componente, personAsked, con un punteggio di sei costruttore che lo predefinisce a falso così i chiamanti esistenti sono invariati.

  7. · KlusterServices

    Percorso fbl@/abuse@hello.kamocrm.com segnalazioni di reclamo a EmailService

    Resoconti di feedback-loop (ARF, RFC 5965) e rapporti di abuso inviati a fbl@ e abuse@hello.kamocrm.com sono riscritti a reclami-mail. invalidità e consegnato a un nuovo tubo `spiegati`, che riutilizza la bobina disiscrizione script con la propria directory spool. abuse@ invia ancora una copia umana a postmaster. Un nuovo sidecar di denuncia-mail, che esegue lo stesso script di unsubscribe-mail, ogni messaggio spooled a EmailService's /api/internal/complaints/mail. Con INCLUDE RAW=1 aggiunge l'intero messaggio spooled (al massimo 256 KiB), base64-encoded, come `raw`: la parte di feedback-report leggibile dalla macchina e allegato messaggio originale sono parti MIME i campi esistenti lasciare fuori. Con le nuove bandiere disattivate, il sidecar si comporta esattamente come prima.

  8. · EmailService

    Un motore di ammissibilità decide chi una campagna può inviare

    Ogni lista aggiunge (un membro, un pubblico, una copia) e l'invio stesso chiede un motore se un indirizzo può ricevere la campagna, controllare prima più economico: sintassi, quindi soppressione (non sottoscritta, lamentata, rimbalzata, bloccata; per l'organizzazione o piattaforma-wide), i domini bloccati e riservati, monouso domini, indirizzi di ruolo e di prova, validazione cache, DNS/MX e ultimi un validatore esterno opzionale all'interno del suo budget. Suppresse e indirizzi non rispettabili non vengono mai inviati. Le chiamate di giudizio sono impostazioni, e un'organizzazione può restringerli. - Il controllo finale viene eseguito appena prima che un host prenda ogni messaggio, quindi un indirizzo che non è stato sottoscritto dopo che è stato in coda non è mai inviato. Un assegno che non può essere fatto non invia nulla su un'ipotesi. - Niente è caduto: un indirizzo che non verrà inviato rimane nella lista (SUPPRESSED con una nota codificata, dal momento che il vincolo di stato CHECK non ha SKIPPED) e dice perché. Le righe tenute aspettano che un membro li rilascia. - I rimbalzi sono classificati una volta per il percorso di invio e i rapporti del relè: duro (soppresso; a livello di piattaforma dal relè), morbido (retried con back-off esponenziale e jitter, soppresso dopo una soglia), tasso limiti e rifiuti host (ritirato, host backed off), e politica blocchi (falliti, mai soppressi). Un blocco di reputazione 5.7.x non più sopprime l'indirizzo. - Relè di reclami e disscrizioni sopprimere l'indirizzo; conteggi e comunicazioni una volta per rapporto. - Un messaggio che l'host ha accettato non è mai ri-queued se la registrazione fallisce. - Un'iscrizione, un reclamo o una pausa che la persona scelta può essere sollevata da un membro solo quando la persona ha chiesto, e il membro deve dirlo. - Motivi dettagliati cavalcano nella fonte della soppressione; cache, contatori e de-duplication live in Redis; regole live nei blobs del fornitore. Nessun cambiamento di schema. - Nuovi endpoint: /api/email/deliverability (controllo indirizzo, impostazioni, E' un'attivita'. # POST # Le campagne portano una consegna sommario. - Impostazioni: bulk-email.deliverability.* (reti, tappi di velocità della piattaforma, soft soglia di rimbalzo, validatore). Il validatore è facoltativo e spento; la sua chiave viene da e-mail-validation-credentials facoltativo segreto.

  9. · kamo-internal

    Vedere chi arriva una campagna e perché non tutti

    - Carta di pre volo della campagna: "1.000 selezionati · 742 idonei · 258 saltati", con ogni ragione (non sottoscritta, rimbalzata prima, monouso, ruolo indirizzo...) aprire l'elenco a quei destinatari. Dopo l'invio mostra consegnati, differiti, lamentele e cancellazioni anche. - L'elenco dei destinatari ha chip saltati e Held, mostra il motivo di ogni riga, e rilascia righe trattenute (una o tutte). - Il progresso è misurato contro quello che è destinato ad andare: saltato, tenuto e i destinatari annullati non vengono mai contati come inviati. - Impostazioni → Email → Consegnabilità: controllare un indirizzo (verdict, controlli, soppressione, convalida, rimbalzo, le sue campagne e la storia), set regole dell'organizzazione e domini bloccati, e vedere gli ultimi 14 giorni. - Il pannello di consegna della piattaforma: domini bloccati globali, i overrides usa e getta, indennità del validatore e la piattaforma attività. - Sollevare il rapporto di disiscrizione o spam di qualcuno chiede al membro di confermare la persona richiesta.

  10. · kamo-internal

    Un'icona creata dalle organizzazioni accanto a ogni membro e membro del team

    Le schede Membri e Membri del Team su /account ottengono una colonna accanto a Nome: a edificio pieno nel colore del marchio con un conteggio per qualcuno che ha creato organizzazioni, un profilo debole per qualcuno che non ha. Le liste della tooltip ogni per nome (un nome non chiamato come "Unnamed {branch}"), e l'intestazione usa Il sostantivo dell'inquilino. Ordina e filtra dal conto; la ricerca rapida corrisponde al nome di un'organizzazione. La griglia è ora live: usareOrgChanges(['members', 'member-orgs') refetches silenziosamente, e un aggiornamento fallito mantiene le righe sullo schermo. Servizio di sicurezza invia membro-orgs a ogni org il proprietario appartiene. Refresh non le mani più fare clic su evento per caricareData. Ha bisogno dei tasti dizionario e SecurityService's creatoOrgs.

  11. · SecurityService

    Le organizzazioni che ogni membro ha creato, sugli elenchi dei membri

    E' una cosa che non va. ora portare creatiOrg per persona: i nomi delle organizzazioni che possiedono (orgs.user id owner, impostata una volta da POST /org e mai riassegnata), da uno trovareOwned TitoliByOwnerIds query per l'intero elenco, titolo di nuovo a Titolo breve. Le organizzazioni Voided non sono elencate. MemberOrgsChange Publisher invia rt.org.{orgId}.member-org ad ogni organizzazione il proprietario è un membro di quando una delle loro organizzazioni è creato (dopo commit), rinominato tramite PUT /org/{id}, cancellato, vuoto o restaurato. Il segnale del proxy API raggiunge solo l'org sessione del chiamante, e org creazione sposta quella sessione nel nuovo org.

  12. · SecurityService

    La transizione di un'organizzazione e di un membro

    La transizione della pagina è ora scelta a tre livelli, membro risolto, quindi organizzazione, poi piattaforma — per la scelta della transizione e, una transizione Alla volta, per le sue proprietà... - PAGE TRANSITION OVERRIDES detiene l'organizzazione e i livelli dei membri, una riga per proprietario: un token di catalogo o null per seguire il livello sopra, e proprietà solo per le transizioni che livello sintonizzato. L'entità vive qui piuttosto che nella biblioteca condivisa; nient'altro lo legge. - GET /api/security/page-transition risponde anche org, membro ed efficace. Non fallisce mai su un override: uno non può leggere segue il livello sopra. - PUT /org cambia l'organizzazione della sessione; Configure System. - GET|PUT /member/{memberId}: te stesso, amministratore di quel membro organizzazione (Configurare il sistema, gestire i membri, gestire la sicurezza dei membri), o un operatore idoneo. - Le scritture sono patch, convalidate rigorosamente prima di tutto è scritto; un livello che segue quello sopra in tutto non lascia fila.

  13. · kamo-internal

    La transizione di un'organizzazione e di un membro

    La transizione della pagina è ora scelta a tre livelli. La piattaforma rimane su Platform Administration → Transizioni; un'organizzazione può scegliere la propria Comportamento & Etichettatura, e un membro loro in Il mio profilo → Aspetto. Che cosa? tab plays risolve membro, quindi organizzazione, quindi piattaforma — per la scelta di transizione, e per le proprietà di ogni transizione una transizione alla volta, così un membro può ricolorare la transizione della loro organizzazione senza prendere il sopravvento La scelta e'... - Entrambi gli schermi sono un editore. lo stesso catalogo e dettaglio come scheda piattaforma, con un "Platform default" o "Organization default" carta prima che gioca qualsiasi livello sopra gioca e lo segue di nuovo quando scelto. Proprietà un livello mai sintonizzato mostrano il livello sopra, contrassegnato come tale, e può essere restituito ad esso. - La scheda della piattaforma è ricostruita sulle stesse parti; il suo comportamento è invariato. - Il guscio gioca la transizione efficace del negozio, caldo-avviato da localStorage, e segue questa organizzazione E l'argomento della piattaforma. Scrive andare avantiToApi, che la pubblica. - Nuove rotte proxy: PUT****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** # Solo quelle forme sono # inoltrato. - Il mio profilo registra la carta e un campo di tavolozza, recintato al membro, un amministratore della loro organizzazione, o un operatore di Dio-eleggibile.

  14. · InitializerService

    Page transition overrides, un'organizzazione e una transizione pagina di un membro

    Una riga per proprietario (ORG con org id, MEMBER con il membro id): un catalogo token o NULL per seguire il livello sopra, e le proprietà per solo le transizioni quel livello sintonizzato. SecurityService risolve membro, quindi organizzazione, quindi piattaforma. Una nuova tabella piuttosto che colonne su org, quindi nessuna tabella ogni servizio le letture sono alterate. Nessun backfill: nessuna riga significa seguire il livello sopra.

  15. · kamo-internal

    Altre cinque transizioni di pagina, ognuna con le proprie proprietà

    Aperture, Curtain Split, Tende veneziane, Liquid Wipe e Shatter uniscono Tile Dissolvere. Ogni transizione è ora un effetto in app/lib/transitions/effects, disegnato da un motore (transitionEngine / Transition.worker / TransitionRenderer) dall'immagine di copertina composta, sul lavoratore quando può e questo filo quando Non può. Scala di dimensioni fissa con il coperchio, quindi la scheda Transitions Le miniature sono la cosa reale, solo più piccole. - Aperture: un'iride piumata da qualsiasi angolo o centro, con un cerchio di luce. - Tenda Spalato: le parti di copertura lato o superiore e inferiore, cuciture ombreggiate. - Tende veneziane: le slitte illuminate si allontanano in un'onda; dimensioni slitte e orientamento. - Liquid Wipe: un fronte increspante con una cresta lucida e un percorso traslucido onda, in quattro direzioni; onda. - Shatter: crepe flash, poi frammenti di vetro scoppiano dal punto di impatto, tumble attraverso la luce e la caduta; conteggio pezzo e punto di impatto. Ognuno ha un colore (la copertina lo indossa), e le sue proprietà provengono dalla sua schema in catalog.ts, che la scheda si trasforma in controlli: un cursore, un toggle, un selezionato, o il bevior & etichettare swatch picker. La scheda Transitions è ora un catalogo: sei carte che poggiano su un volo medio telaio che gioca su hover, quindi la transizione selezionata full size con la sua proprietà, bozze per transizione, Impostare come attivo e Giocare su questa pagina, che prevede la bozza sulla copertina reale.

  16. · SecurityService

    Altre cinque transizioni di pagina, ognuna con le proprie proprietà

  17. · kamo-internal

    Aggiungi destinatari e Invia all'ultimo su una campagna che è uscita

    - La pagina di avanzamento di una campagna ha Aggiungi destinatari: i destinatari passo in un finestra di dialogo (upload, ID, Tutte le caselle, indirizzi), salvato in fette come le editor li salva, in qualsiasi stato. - Invia all'ultimo manda a chiunque debba raggiungere e non ancora. A banner dice quanti indirizzi stanno aspettando, e la conferma dice che succede. - Cancellare gli spettacoli rimanenti solo mentre una campagna sta inviando: la casella di uscita cancella la posta delle campagne che stanno uscendo.

  18. · EmailService

    Conta la campagna in esecuzione, e Invia alle ultime

    Contro: - Ogni cambiamento di stato muove i conti di una campagna esattamente quello che è cambiato: a send +1 inviato, un rapporto di rimbalzo successivo -1 inviato +1 rimbalzato, un aggiungere +n, un rimozione da ciò che il suo DELETE ha restituito. Niente conta la lista sulla strada; prima, ogni invio ha raccontato ogni stato della campagna. - Queued deriva dal totale. Annullato è un contatore Redis, ricostruito dalle file se è perso. Ogni run finito racconta una volta, che mette qualsiasi cosa che un conteggio in esecuzione ha perso. - Complezione, "può inviare" e il pubblico top-up chiedere se una fila esiste, o contare su un tappo, invece di contare la lista. Invia al più tardi: - I destinatari possono essere aggiunti, e tutte le caselle cambiate, in qualsiasi stato (PUT /campaigns/{id}/audience). - POST /campaigns/{id}/send-latest invia una campagna che è uscita chi deve raggiungere e non ha ancora. Questo è l'indirizzo aggiunto da allora, e le registrazioni le sue All Box raggiungono che sono state aggiunte da: ogni fonte è camminata di nuovo, e gli indirizzi già sulla lista sono saltati. - La soppressione tardiva e la pagina di preferenza è tirata da un invio di attesa contare solo una fila che si è effettivamente spostata.

  19. · kamo-internal

    Tile Dissolve dimensioni piastrelle e colore piastrelle, set per transizione sulla scheda Transizioni

    Ogni transizione ora porta le proprie proprietà, memorizzate per transizione accanto a quella attiva, quindi cambiare le transizioni mantiene le scelte di ognuno. Tile Dissolve ha due: - Dimensioni piastrelle, da 20 a 160 px (default 50), su un cursore. La rivelazione taglia la copertura a quella dimensione da cambio pagina successiva. - Colore piastrelle, dallo stesso vocabolario token del Behavior & Labeling logo-overlay seleziona (White, Nero, e ogni ombra primaria e secondaria), disegnato allo stesso modo: lo swatch, poi il suo nome. I gettoni si risolvono contro la tavolozza di ogni organizzazione, quindi una scelta della piattaforma rimane sul marchio ogni spazio di lavoro; un'ombra un'organizzazione mai impostata è la sua primaria. La copertina indossa la tegola anche il colore, perché la copertina e le piastrelle sono un'immagine. La scheda modifica una bozza che l'anteprima dal vivo gioca prima di qualsiasi cosa viene salvata, con Save, Discard e Reset to defaults, e una modifica che arriva da un'altra console non sovrascrive mai una bozza mid-edit. Aprire le schede rileggere l'impostazione su ogni cornice /topic/platform/page-transition, quindi una proprietà salvare li raggiunge senza ricaricare. Una nuova scheda dipinge il colore giusto nella sua prima cornice dall'ultima specifica la sua organizzazione utilizzata in questo browser, tenuta per organizzazione in localStorage.

  20. · SecurityService

    Sintonizzare ogni pagina di transizione, formato piastrelle e colore per iniziare

    GET e PUT /api/security/page-transition opzioni di risposta per ogni catalogo id, normalizzato da PAGE TRANSITION OPTIONS: un documento mancante, illeggibile o fuori portata si legge come di default, mai un 500. PUT prende un oggetto di opzioni facoltative, convalidato rigorosamente prima di qualsiasi cosa è salvato; l'ingresso di una transizione chiamata è sostituito con la sua forma canonica e ogni altra voce è tenuto. TILE DISSOLVE prende tileSize (20-160 px, default 50) e tileColore (un token di tavolozza, predefinito PRIMARY).

  21. · InitializerService

    a parte il passaggio

    Una colonna TEXT che tiene le proprietà di ogni transizione come JSON keyed by transito id. No. backfill: null significa che i default di ogni transizione, come page transition accanto a esso.

  22. · kamo-shared-library

    Proprietà di transizione di ogni pagina, mantenuto per transizione

    E' il momento giusto. mappe PAGE TRANSITION OPTIONS, un oggetto JSON id di transizione, ad esempio. E' il momento giusto. Registrato da transizione così sintonizzazione uno sopravvive passando ad un altro. Null o illeggibile significa ogni I predefiniti della transizione.

  23. · kamo-internal

    Abbreviare le etichette della barra di amministrazione a Billing, Stats, Roles, Block, Log

    L'intestazione del pannello mantiene il nome completo di ogni schermo tramite il titoloKey, come White Etichettatura e applicazioni già fanno.

  24. · kamo-internal

    La copertina della pagina e il suo Tile Dissolve rivelano, al posto della schermata di caricamento

    Tra le pagine l'area vista principale (mai NavTop o NavPri) è ora coperta nell'organizzazione colore primario con il suo logo pieno incentrato su di esso, dipinto con il Behavior & Labeling "Loading Schermo Logo Overlay" quando uno è impostato. Si cade nello stesso compito del clic che inizia un navigazione, è dipinto dal server nella prima cornice di ogni documento in modo da ricaricare e fare clic guardare lo stesso, e viene portato via il momento in cui il nuovo percorso ha reso. Tile Dissolve è la rivelazione: il coperchio, il colore e il logo come una immagine, tagliato in 50 px piastrelle che sollevano, girare, arrotondare gli angoli e svanire dall'angolo in alto a sinistra verso il basso a destra su un seme, jittered onda diagonale, normalizzata in modo che ci vogliono circa 1,2 s su qualsiasi schermo. - La navigazione viene rilevata attraverso il Next suRouterTransitionStart (instrumentation-client.ts), che segnala ogni Link, spingi, sostituisci e torna/in avanti sincronizzatamente. Una copertura per l'ascoltatore ancoraggio full-document, e un clic che si scopre di non navigare è annullato prima che sia dipinto. Le regole sono pure: tutte le copertine di modifica dell'URL, gli interruttori inclusi; filtro, ricerca e selezione sostituisce stare in silenzio; l'hash non conta mai. - La rivelazione aspetta una sonda di commit resa dopo la pagina, e app/loading. tsx ora solo detiene la copertura mentre il ritorno di Suspense di un percorso è in su. - Le piastrelle sono disegnate da un Web Worker su un OffscreenCanvas, perché il rivelato viene eseguito mentre la nuova pagina è il montaggio e un main-thread animazione stutters attraverso esattamente quello. Lo stesso motore funziona filo principale quando un lavoratore o un logo CORS-clean non è disponibile. Il lavoratore vernici telaio 0 prima del La copertura DOM si nasconde e l'orologio inizia solo dopo, quindi il handoff non ha cuciture. - Non può attaccare: un cane da guardia rivela dopo 12 s senza impegno, una rivelazione che non può essere disegnata fades, un CSS failsafe cancella una copertura nessuna sceneggiatura ha preso il sopravvento, e il movimento ridotto ottiene una dissolvenza di 180 ms. - La spec di copertura è validata, tenuta per scheda in sessioneStorage, e applicata prima vernice da una bloccare lo script della testa, quindi l'host condiviso non lampeggia mai il branding della piattaforma. - La transizione della piattaforma è seguita dal vivo. CaricamentoContesto, CaricamentoManagerClient, NavigazioneIntercettore, CaricamentoStatus e utilizzoNavigationLoading sono andati; /validate e /logout mantenere CaricamentoScreen, non avendo guscio da coprire.

  25. · kamo-internal

    Una scheda Transizioni per scegliere e visualizzare in anteprima la transizione della pagina

    Gestione della Piattaforma → Configurazione → Transizioni, gated by the new MANAGE PLATFORM TRANSITIONS piattaforma destra e registrata ovunque una scheda console è: il catalogo dei diritti, la mappa della scheda, diritti colore e icona, il menu impostazioni e la scheda di atterraggio impostazioni. Il catalogo contiene una transizione, Tile Dissolve, mostrata larghezza piena con un'anteprima dal vivo: questo copertura propria dell'organizzazione, lo stesso markup e motore che la shell utilizza, dissolvendo fuori una miniatura Pagina di Kamo su un loop che si ferma fuori schermo e nelle schede nascoste. "Giocare in questa pagina" esegue il vero coprire e rivelare sull'area contenuti. L'impostazione segue: operatore senza destra vede un avviso di sola lettura piuttosto che un salvataggio che 403s.

  26. · kamo-internal

    L'elenco dei destinatari della campagna è impaginato, con i totali

    La griglia dei destinatari su una campagna ora pagine come un elenco di miliardi dovrebbe: Primo, Precedente, Successivo e Ultimo, righe per pagina, "101–150 di 3,916" e "Page 3 di 79", con ogni chip di stato che mostra il suo conteggio. Ogni passo è una richiesta per una pagina — Successivo continua dopo l'ultimo indirizzo mostrato, Precedente legge indietro dal primo, Last legge indietro dalla fine — quindi nessuna pagina costa più del primo, per quanto tempo la lista. I totali provengono dai banchi della campagna, mai dal conteggio delle file; una ricerca conta fino a 10.000 e poi dice "10.000+". Un aggiornamento live rilegge la pagina sullo schermo dove è.

  27. · EmailService

    L'elenco dei destinatari di una campagna pagine entrambi i modi, con i totali, a qualsiasi dimensione

    L'elenco era già letto una pagina alla volta, ma solo in avanti, come un rotolo infinito senza alcun totale — e un filtro di stato trovato le sue righe camminando l'elenco in ordine di indirizzo, che per una dozzina di guasti tra un miliardo di destinatari legge il miliardo. - /recipients/page prende prima= e ultimo= così come dopo=: precedente legge l'indice dell'indirizzo all'indietro dalla prima riga mostrata, e l'ultima pagina legge all'indietro dalla fine — una ricerca In entrambi i casi, mai una passeggiata. - Ogni pagina porta il suo totale, preso dai banchi della campagna piuttosto che contando le righe; la ricerca conta fino a 10.000 e poi lo dice. - Uno stato con poche righe viene letto attraverso l'indice (campagna, stato) e ordinato; uno comune lungo l'ordine dell'indirizzo. Gli stessi contatori decidono.

  28. · kamo-shared-library

    L'impostazione di transizione pagina, e il diritto che lo sceglie

    ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** MANAGE PLATFORM TRANSITIONS gates Platform Administration → Configurazione → Transizioni, allegate alla fine così nessun diritto sotto è rinumerato nella console.

  29. · InitializerService

    # di fronte a ogni lettore #

    Un token di catalogo, NULL che significa il TILE DISSOLVE spedito, quindi niente è riempito. Ordine 0 perché l'entità mappa la colonna da questa build su, e un precedente corridore di caricamento SystemConfiguration altrimenti fallirebbe su una colonna che non esiste ancora.

  30. · SecurityService

    Ogni scheda legge la transizione della pagina, e un operatore lo sceglie

    GET /api/security/page-transition risponde a qualsiasi sessione firmata, dal momento che ogni scheda ha bisogno di scoprire una pagina; un valore unset o sconosciuto legge come TILE DISSOLVE. Il PUT prende MANAGE PLATFORM TRANSITIONS, rifiuta un gettone al di fuori del catalogo prima di salvare o inviare nulla, e pubblica ************************************************************************************************************ Così le schede aperte seguono senza ricarica. Il proprio controller perché /system-config è gated ai diritti VoIP e Document AI e alle risposte con le credenziali KamoPBX.

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