Utilizare /api/securitate/membri/denumiri pentru rezoluția numelui membrului desemnat
Filtrele de evaluare a obiectivului de la distanță numai pentru membrii activi ai echipei, lipsă sarcinile membrilor de bază sau ale membrilor inactivi. Comută ...
Adăugare /nume obiectiv returnarea id→nume pentru toți membrii indiferent de stat
Criteriul final de evaluare a departamentului se filtrează numai pentru membrii activi ai echipei, dar se extinde sarcinile pot face trimitere la membrii de baz...
Face cel mai bun contact Timp un câmp de text liber
Înlocuiți dimineața / după-amiaza / seara picătură pe plumb Adăugați Vizualizează formularele de editare cu o intrare simplă de text astfel încât membrii să poa...
Lăţime completă Adaugă formă de plumb şi clearance-ul pentru picior lipicios
Picătură 1200px max-lățime pe /lide/nou astfel încât forma se întinde zona de pagină, și bumping de fund astfel încât bara de acțiune lipicios nu se mai suprapu...
Adaugă forma plumbului cu un singur plumb la /lide/nou
Refactor Adăugați plumbul dintr-un geam multi-tab pe o rută dedicată la /liders/new astfel încât să poată fi conectat direct. Piaţa actuală este trecută prin in...
Adaugă ***************** Obiectivul final
Description formularul Add Lead poate reda câmpuri subtip și formulare personalizate de admisie fără a crea mai întâi o pistă.
Rezolvaţi numele de afişare cu prioritate corectă în cadrul obiectivului de evaluare a departamentului
Prioritate: membru.username Alias → utilizator.name.formatFull() → utilizator.alias → utilizator.username
Adăugare lipsă isDisplayOnItake field to FormField interface and new field literal
Utilizați tipul de șir pentru UED atribuit pentru a preveni pierderea de precizie
Serialize Lung ca șir de caractere pentru a preveni pierderea de precizie JS pe ID-uri mari CockroachDB
Adaugă afișare pe comutatorul de admisie, blocare automată atunci când este necesar
Coerce isDisplayOnItake=true when is Required=true in CustomFormService
Adăugați ecran nume membru și butonul de neasignare la fila extensii per-stanță
Arată numele membrilor și adaugă acțiunea Unassign la fila extensii org
Configuratie VOIP de sarma catre selectorii de pret+extensie cu aplicare a misiunii
Adăugați DTO-uri, metoda API neasignată și actualizați tipurile de VOIP-uri ale membrilorTab
Adăugați obiectivul de atribuire DELETE la VoipExtensionsController pentru admin unassign
Adaugă MemberVoipConfigController pentru membru VOIP config with extension asignation
Adăugaţi găsirePrinMetode de interogareAtribuitePhoneExtensionRepository
Ascunde cardul ATF în întregime atunci când toate câmpurile sunt blocate după modelul aplicat
Proba de evaluare a modelului principal și fixați ID-ul model org aplicat
- Înlocuiți poarta aplicatăModel.Source cu o sondă directă de /api/security/master-model on mount; r.ok=fals (409) means the org este guvernată de un tip de suc...
Gate censorship tab options by applied model constraints
- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...
Persistă căsuța poștală activă în parole URL
Comutarea căsuţelor poştale actualizează acum URL-ul (?mailboxType, ?mailboxId, ?mailbox) atât de revigorant browser-ul restaurează aceeași cutie poștală. Mesaj...
Mark-as-read and message fetch for shared/member mailboxes
Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Show accurate provider connection status from isConnected field
Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Add isConnected field to VoipProviderInstance
Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
Handle IMAPInputStream in getMessage pentru a preveni ClassCastException
JavaMail poate returna un IMAPInputStream în loc de un string decodat de la part.getContent() atunci când conținutul mesajului nu a fost pre-inventat. ă mulaje ...
Arată banner de ofertă activă cu numărătoare inversă de milisecunde live
Fetches activ de promovare server-side pe pagina de start și redă un HeroOfferBanner între linia subheadline și apel gratuit pentru totdeauna. Bannerul arată su...
Wire Available/Indisponibil switch to backend and fix OFFLINE present bug
- Redenumește cipul întrerupt/activ disponibil/ indisponibil în NavTop - Adu disponibilitatea inițială pe montare și persistă comutații prin intermediul noi min...
Crește TTL de la 90 la 300 pentru a preveni fals OFFLINE pe trepidație filă
Adăugați răspunsul de la distanță și criteriile finale de disponibilitate
Rescrie toate întrebările/mutările GQL împotriva introspecţiei de schemă live
Verificat fiecare nume de câmp și tip împotriva schema FreePBX 17 reale. Set complet de corecții: Întrebări: - aduceţiAllExtensii: eliminaţi câmpul inexistent ...
Pasează dosarul selectat către ThreadDetailView astfel e-mail:foldere schimbate cu un dosar valid
conversation.folder este întotdeauna nedefinit deoarece Conversația JavaEntity are foldIds (text[]) nu este un câmp de coarde. Acest lucru a cauzat sarcinaThrea...
Numele de câmp GrafQL corect pentru a aduceAsteriskDetails
FreePBX API întoarce "Aţi vrut să spuneţi "AsteriskDetails"? verifică interogarea și accesorul traseului de date în consecință.
Adăugați antetele XHR/Accept și răspunsul String parsing la clientul GraphQL
Același model ca FreePBXTokenCache: adăugați X-Requested-Cu + Accept: aplicație/json pentru a suprima răspunsurile de redirecționare HTML FreePBX, și comuta toa...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.