Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-internal
Types de tâches, sessions et clients principaux, et temps voulu dans la zone du membre
· kamo-shared-library
Colonnes de tâches, liens, commentaires, Type de boîte de réception, liens de notes et paternité
· kamo-shared-library
Déclaration de signature AI sur le champ de signature config
· KlusterServices
Esquisse, modèle vérifié fetchon et un échauffement qui maintient la gousse jusqu'à ce que chaque modèle soit résident
L'échauffement laisse également tomber un modèle dont la charge est défaillante: Speaches 0.9.0-rc.3 maintient le entrée d'une charge irréparable, donc la prochaine startup Probe aurait 409 et /api/ps lister un modèle qui n'a jamais chargé.
· kamo-shared-library
Droits d'IA n'a jamais été granifiés, type de modèle ARTIFICIAL, événements d'accès à l'IA
· kamo-internal
Bibliothèque cliente membre AI et proxies BFF
Le client pour l'état d'un membre de l'IA, pause/reprise/retire, liste de contrôle de recrutement et retry, les sièges, les contrôles des effectifs de l'organisation et la plate-forme tuent commuter, plus quatre relais vers SecurityService. Un relais refuse un segment . ou .. avec 404 avant le transfert: encodeURIComponent laisse des points intacts et l'URL fetch builds les résoudrait au-dessus du préfixe relayé.
· kamo-shared-library
Cratif de récurrence, codeur de rappel et entité EXDATE; zone UTC par défaut
· TranslateService
Présenter le jeton en amont de Kamo à la bergamote et à la libre-translation
· SecurityService
L'onglet Tâches est tâches - servies par KBService, fermé ici comme le lead lui-même
· RAGService
Présenter la clé de l'API TEI pour les modèles d'intégration et de reclassement
· kamo-shared-library
Enums de registre STRING, 24 types de fournisseurs, convertisseurs tolérants à la chiffres
· APIService
Itinéraire vers le téléphone du centre de notification
· DaemonService
Le fait de faire des embauches de Kamoai-hires entraîne un balayage de la campagne de recrutement par Service toutes les minutes
· KBService
Le schéma SP06 - tâches, liens, commentaires, boîte de réception, liens de note et paternité
· kamo-shared-library
Colonnes de l'AI, arrêt de l'administration et des tueurs de commutateurs (lecture seule dans l'APP)
· KlusterServices
Svc ai publie ai.registry.changed.> (Événements du registre de la SP01 de KamoAI)
· kamo-shared-library
État des tâches, priorité, types de liens d'enregistrement, boîte de réception et sections de note de référence
· KlusterServices
Svc security publie kamoai.platform.state, svc kamoai s'y abonné (KamoAI SP02)
SecurityService annonce la plateforme AI kill switch sur kamoai.platform.state et Le service KamoAI l'écoute. rt.org.<org>.ai-workforce n'a pas besoin d'une nouvelle subvention : svc security publie déjà rt.org.>.
· KlusterServices
Retir la connexion partagée kamo-svc
· kamo-internal
Les bulles d'image dessinent un aperçu de 480px; la boîte à lumière garde l'original
Une image de chat est dessinée au maximum 240x240 CSS px et la bulle téléchargée l'ensemble original pour le faire 3 à 8 Mo par photo par téléphone, par spectateur. AttachmentChip est maintenant tiré sur le tirage :: 480px WebP de MediaService (à peu près KB), a fait la première fois que quelqu'un demande et a répondu avec l'original chaque fois qu'un image n'en a pas (une animation, un vecteur). La boîte à lumière, les téléchargements, la vidéo et audio continuez à lire l'original. Retour de chute: si le prévisualisation échoue, la bulle essaie l'original à la même URL génération, et seule l'échec de l'ORIGINE entre dans l'utilisationAttachmentSource récupération (replantation de cookie, puis verdict HEAD) - un aperçu cassé n'est jamais signalé comme un fichier manquant. La puce se souvient de l'url l'avant-première qui a échoué, donc une récupération qui change l'url (la re-plantation, Retry) essaie l'aperçu Encore une fois au lieu de laisser l'original entier dans la bulle. /api/media/- n'est pas un préfixe proxié, donc la prévisualisation a son propre fichier de route. Les deux routes partagent maintenant app/lib/imagingProxyRelay.ts (même OTK forward, même transmission du CSP/nosniff/disposition de MediaService, plus x-positions-rénalisation), et refuser une id qui n'est pas un UUID avant la construction l'URL amont. Déployer AFTER MediaService (le critère d'évaluation/prévisualisation). Si ces terres sont d'abord demande de prévisualisation 404 en amont et chaque bulle revient à l'original Le comportement d'aujourd'hui, une demande supplémentaire.
· MediaService
Les pièces jointes sont tirées d'un aperçu 480px, et non de l'original.
Une bulle de discussion dessine une image au maximum 240x240 CSS px et chaque spectateur téléchargé l'original pour le faire 3 à 8 Mo par photo par téléphone. EME - répond maintenant à un WebP limité à 480px sur son bord long; le point d'extrémité d'origine, la boîte à lumière et les téléchargements sont inchangé. Un aperçu par fichier stocké (ImgDat), non par pièce jointe: dans le seau d'imagerie, à côté de l'original. L'infixe de zthumb est ce que Les factures OrgObjectStorageSweep de SecurityService en tant que dérivé de ce dat. C'est délibérément pas la bibliothèque d'imagerie 'thumb'p0.png (a 640px PNG DocsService sert sous la forme de droits de document et de drapeaux sur le dat partagé). Fabriqué au téléchargement et à la première demande. Les deux chemins de fixation (téléchargement, et le ddupup lien) la mettre en file d'attente en arrière-plan; une demande qui ne trouve aucune la spot via ConversionService/api/conversion/image/preview, de sorte que chaque élément existant Fixation obtient une première fois que quelqu'un regarde, sans remblai. Concurrent les demandes d'un même contenu s'associent d'une génération; au plus deux par dosette; Les files d'attente de fond chutent plutôt que de croître. Un refus (animation, non déconcertable, non plus petite) est mémorisé comme un objet de zéro octet et l'original est servi à partir de là; une défaillance (encours, vers le bas, a 404 d'un service de conversion sans le n'est pas mémorisée. Chaque fois qu'il n'y a pas de prévisualisation, le critère d'évaluation dess - dessert l'original exactement comme /imaging/proxy/'id' fait, donc un "img" a pointé vers lui a toujours une image. X-Attachment-Rendition dit lequel. Accès: les deux points d'extrémité passent par une autorisation() et l'authentification, l'existence, révocation, suppression de messages, contenu manquant, composition de la session, même ordre, les mêmes réponses - avant que le magasin de prévisualisation ne soit touché. Un attachement révoqué l'avant-première est refusée au même instant que son original. ImagingProxyPreviewAccessEsses d'essai chaque refus de l'original (status et corps, GET et HEAD); un contrôle négatif (contrôle de l'adhésion sauté pour le preview) échoue. Un aperçu de GET enregistre le premier téléchargement du membre, comme le fichier entier GET de la originel l'a fait quand les bulles ont dessiné l'original. Déployer AFTER ConversionService f7729d9 (critère d'évaluation). Avant qu'il n'atterrit La demande de prévisualisation ne suffit pas à l'original; rien n'est marqué.
· ConversionService
/image/aperçu coupe une photo de chat en un WebP 480px
Une pièce jointe d'image de chat est dessinée au plus 240x240 CSS px et chaque spectateur téléchargé l'original pour le faire — une photo de téléphone est de 3-8 Mo. MediaService sera stocker un aperçu par fichier stocké (ImgDat) et le servir pour chat bulles; c'est le coupeur qu'il appelle. ImagePreviewService s'adapte au bord long à 480 (2x la boîte), jamais haut de gamme, et écrit un WebP perdu sans métadonnées. L'orientation EXIF est cuite (un portrait l'aperçu de la photo serait autrement couché sur son côté à côté de son origine verticale), avec le propre autorotation de ffmpeg hors pour qu'aucune construction ne puisse tourner deux fois. Vecteurs, animations (GIF, APNG, WebP animé), octets non écodables, sources surdimensionnées et les prévisualisations pas plus petites que l'original sont REFUSES — 422 avec X-Preview-Refus, que l'appelant peut se rappeler. Occupé/timeout/ffmpeg panne est 503 et dit Rien sur l'image. Mémoire, après l'échelle de logo OOM-tué les deux pods: ffmpeg exécute une à la fois, Un seul fil **************** 1), échelles avant de tourner, et décode un JPEG à 1/2^k dans l'IDCT (-bas, garde 2x le bord d'aperçu). Cap RSS mesuré avec /usr/bin/time -f %M sur l'exactitude commande: 12 MP JPEG 68 MB, 48 MP JPEG 123 MB, progressive 12 MP 92 MB, 16 MP PNG 115 Mo (184 Mo pour le bruit pur). Plafonds: JPEG 52 MP, PNG/WebP/GIF 16,8 MP, source 40 MIB. Interne-seulement sur le public-chat secret MediaService présente déjà à /transcribe; échoue fermé.
· kamo-internal
Dessiner des logos à partir des variantes pré-dimensionnées du serveur, jamais l'original multi-MB
Un membre a vu le logo de l'en-tête de l'orge petit dans le compositeur, mais une image de 3 MB en l'envoi de courrier: chaque surface de logo liée à la base de données, 'img/logo-full.svg' / 'img/logo.svg', 'img/logo'-load, 'img/logo-load', 'img/logo' qui, pour une org de raster-logo, est un SVG enveloppant l'ensemble du téléchargement (crm: 2,95 MB), Tiré 24-120 px de haut - et dans l'e-mail, dans un format Outlook ne montre pas. Maintenant, écrivez maintenant à côté des originaux (LOGO-VARIANTS-CONTRACT). Cela égare chaque consommateur de logos par l'intermédiaire d'un assistant et garde l'original comme repli, parce que les variantes manqueront sur le seau en direct pendant un certain temps: - LOGO-RUNGS, pickLogoRung (le plus petit rung cssPx x 2, ailleurs 1024), logoVariantUrl, logoDisplayCap, la sonde (probeImage, mis en cache par onglets), cachedRemoteImageExists (HEAD, 10 min) et le envoyer-email régler/vérifier des rungs PNG useLogoVariant.ts: useLogoVariantSrc ('img': variante, puis original à l'erreur, puis la contre-recousse de l'appelant), utiliser ProbedLogoUrl (CSS/masque/toile: '' jusqu'à sonde, jamais les deux), utiliserEmailLogoLadders, utiliserRemoteImageVerdicts. - ThemeLogo choisit l'ergot dans sa propre boîte (NavPri 64, maison 128, réglages 128, le chargement 256, valider 192, filigrane/panne 1024) et retomber à l'erreur; masque de surposition suit. Filet de couverture/filet de filature/non trouvé, la transition de page Couvercle (chooseCoverLogo et sonde), filigrane d'essign (1024) et cueilleur (64), échecs mark (192), page de lancement de l'ordinateur hébergée (128, data-fallback onerror), Meet Prévisualisations de marque (128), prévisualisations de l'éditeur de modèles de courrier électronique, /puces de réseau (via les faces de puce Hold'em (128). - Courriel: ResolvedImages porte l'échelle PNG de chaque logo (probed); l'en-tête, Les catéteurs de signature et de badge impriment l'ergot pour la taille qu'ils dessinent. Tous les un chemin d'envoi confirme chaque ergot imprimé avec un HEAD et remet l'original lorsqu'il fait défaut (composant et son invité à la réunion, campagne/enroulement, le sur la voie de la rencontre des invitations). Insignes de pied de page téléchargés demandent EmailService pour (art. 128). L'espace réservé stocké ne porte jamais un mètre. L'itinéraire de la rencontre-invitation On lit maintenant le thème de l'alias org au lieu du dossier FQDN avant. - Laissé sur les originaux par conception: LabelManager, connecteur de configuration LogosStep, favicons. Tests: cueillette de rung, forme d'URL, caches de sonde/HEAD, deux gouffres, ThemeLogo, choix de couverture, chaîne OrgLogo, repli de la page de lancement, badge ?h, et un câblage un dispositif de protection qui rend chaque présentation d'en-tête/signature avec un logo léger et échouent sur n'importe quelle URL brute /img/logo ou sur un chemin d'envoi non vérifié.
· kamo-register
Enregistrez les logos chargez une copie prédimensionnée, et l'original quand il manque
Chaque dossier thématique porte désormais img/size/<stem>/h<rung>.webp à côté de chaque logo. Un org's PNG logo.svg / logo-full.svg est son téléchargement complet enveloppé dans la base64 (plusieurs MB), dessiné 30-72px haut ici; l'échelon est la plus petite hauteur couvrant la taille tirée à 2x. - logoVariants.ts : échelle à échelons, pickLogoRung, URLs de variante et enregistrement par tab des variantes ça a échoué. - ThemeLogo essaye d'abord la variante, sonne la lecture de sa hauteur numérique : le logo d'atterrissage (72) h192, l'en-tête de flux (30/44) h64/h96, l'écran d'achèvement (52), /org (60) et /sorry (64) H128. Il n'avait aucune manipulation d'erreur du tout ; maintenant une variante échouée montre l'URL originale exactement comme elle a été construit avant. Le <img> caché est la sonde que suit le masque de recouvrement.
· kamo-login
Les logos de connexion chargent une copie prédimensionnée, et l'original quand il manque
Chaque dossier thématique porte désormais img/size/<stem>/h<rung>.webp à côté de chaque logo. Un org's PNG logo.svg / logo-full.svg est son téléchargement complet enveloppé dans la base64 (plusieurs MB), dessiné 30-140px haut ici; l'échelon est la plus petite hauteur couvrant la taille tirée à 2x. - logoVariants.ts: l'échelle à échelons, pickLogoRung, les URLs de variante, un enregistrement par tab des variantes qui échoué, et utiliserLogoVariantSrc pour les images qui ne sont pas un ThemeLogo. - ThemeLogo essaie d'abord la variante (longueur de lecture hauteur / maxHauteur / largeur): la connexion et récupérer le logo (hauteur max 140) h384, le logo de dialogue (96) h192, réinitialiser le mot de passe et vérifier-email-changement (52) h128, débrayage (120) h256. Sur une erreur, il affiche l'URL originale exactement comme il a été construit avant, puis marche les replis de l'extension comme il l'a toujours fait. Le <img> caché est la sonde le masque de recouvrement suit. - La marque animée 48px sur l'inscription et récupérer: h96, puis l'original. Sa précharge attend monter, de sorte que le rendu hydratant ne récupère plus l'original entier. - WorkspacePicker rangs (~30px): h64, puis le logo de l'org Url, puis le monogramme.
· EmailService
Logos PNG pré-dimensionnés en ligne; badges en pied de page servis à la hauteur dessinée
Les e-mails transactionnels n'ont mis en ligne un logo que lorsque l'original était un SVG sous 512 ko. Un org de logo PNG a relié l'ensemble du téléchargement à la place et 2,2 MB logo-full.png pour un en-tête dessiné au plus 48px de haut. - EmailTemplateService demande à EmailLogoService pour le service PNG pré-daille maintenant coupe à côté de chaque logo (img/taille/logo-plex/h96.png pour l'en-tête 48px, img/ taille/logo/h64.png pour la marque de bascule 28px), en ligne sous forme de cid: parties et mise en cachet 10 min. Par logo, l'ancien chemin (rasteriser le SVG d'origine, sinon le relier) reste le gouffre tant qu'il n'existe pas encore d'exemplaire. - prend ?h: une badge PNG/JPEG plus haute que la la hauteur demandée (snappée jusqu'à 32/48/64/96/128) est réduite avec la superficie GIF/WebP/SVG, badges courts et tout échec les octets stockés, donc chaque URL dans le courrier déjà envoyé est inchangée.
· SecurityService
Copies de la taille préalable de chaque logo d'org à côté de l'original
Chaque surface a dessiné des logos d'orgge à partir du téléchargement original: 2,2 Mo pour le logo complet de crm à un nav/en-tête de 30-56px, 2,95 MB (son stand-in .svg) dans le compositeur de courrier électronique, 4,3 Mo pour son style de vie tracé SVG. ThemeLogoVariantService maintenant keep (en) pour les huit fentes de logo (nem et nom du fichier de l'original), découpées par ConversionService /image/logo-variants. Les clients choisissent le plus petit échelon et la hauteur tirée x 2 et la chute Revenons à l'original. Les originaux ne sont pas touchés. - upload-logo: les copies du vieux logo sont supprimées en premier (rien n'est jamais périmé servis), puis les nouveaux sont découpés; la demande attend au plus une vingtaine, le reste finit en arrière-plan. Après que l'ex est sauvé. - provisionpleples-mise à jour: assurer Toutes les redécoupes ne se déforment que les tiges dont les octets de source changé (SHA-256 dans le manifeste), abandonne les copies d'un logo qui a disparu. Avant writeConfigFiles, comme les favicons. - DataLoader: un remblai d'arrière-plan pour chaque orgon en direct (pas sur le chemin du démarrage). - img/dimension/ne s'écarte jamais du thème de base.
· kamo-signer-monorepo
Dessiner le logo de l'orge de sa variante pré-dimensionnée, l'original seulement si elle manque
Une page de signature a dessiné le logo de l'orge et le logo-full.svg de l'orge est de 2,95 Mo, au 28-44px, haut de 28-44px. Le service à thème réduit désormais img/taille/-stem/h'rung'.webp à côté de chaque logo; demander à l'adresse suivante: le plus petit ergot qui est pointu à dpr 2 et retomber à l'URL d'origine, exactement comme il a été construit avant, sur toute erreur (dossiers non encore rembvertis, une génération en échec). - paquets/logième logoVariant.ts: LOGO-RUNGS, pickLogoRung (dpr 2), logoVariantUrl, logoVariantFromUrl; exporté à partir du paquet thématique. - ThèmeLogo: la variante est la première tentative, calibrée à partir de la hauteur numérique de l'appelant, sinon maxHauteur, sinon la largeur liée (pas de limite: l'original, comme précédemment). Une erreur dessus va à l'original, puis la marche de l'extension existante et la contre-pressionText. Le masque de recouvrement suit le 'img' caché, qui est la sonde. TopBar h64, h96. - En-tête de cotation (hauteur max 56 - . h128): QuoteLogo dérive de la variante de marqueing.logoUrl au moment du rendu, donc citationThemeAlias lit toujours le dossier de l'URL inchangée. La page est Remise en serveur, de sorte que le support capte également une variante qui 404 était avant l'hydratation.
· kamo-apps
Logos demandent une variante pré-dimensionnée, et revenir à l'original
Le logo d'une organisation est dessiné 30-180px haut ici mais téléchargé entier: crm logo-full.png est de 2,2 Mo, son .svg stand-in 2,95 Mo. ThemeLogo demande maintenant pour img/sized/<stem>/h<rung>.webp d'abord, l'échelon de taille pour deux fois le plus haut il peut être tiré (lire sa propre hauteur/max. la barre supérieure 64, l'en-tête 96 reçu, le portail sign-in 384, le portail coque 64). Une variante manquante revient à l'original exactement comme il était construit avant, et seulement alors marche la liste d'extension. Les peintures de masque de recouvrement avec une variante seulement après que l'image cachée l'a chargé. La photo de l'agent de prêt demande le 150px md coupe au lieu de la pleine upload; son erreur revient à l'original, puis aux initiales.
· ConversionService
/image/logo-variants découpe un logo en PNG pré-dimensionné et en internautes WebP
Les logos Org sont téléchargés une fois et dessinés partout à 24-120px, et chaque surface téléchargé le logo-full.png original: crm's logo-full.png is 2.2 MB (svg stand-in 2,95 MB, qui est ce que le compositeur d'e-mails relie à 40-48px), son style de vie tracé SVG 4.3 MB. LogoVariantService rend n'importe quel logo (SVG via Batik, raster via ffmpeg avec un pincement demuxer) à une échelle de hauteur 32..1024 en PNG (courrier électronique) et en perdant WebP avec alpha (web, mobile), ne jamais augmenter la taille d'une taille de trame et de plafonnement à 4096. Un ffmpeg par logo. Le critère d'évaluation répond à une fermeture à glissière de h'rung'.png/.webp''.man.com.man.json. SVG: données intégrées: les images sont autorisées (les exportations de fig. une) sont les unes) une ressource et tous les scripts sont refusés; un SVG 1.1 DOCTYPE (Illustrator) est L'un avec un sous-ensemble interne est refusé. Mesurée sur des logos réels: crm logo-full h128 et 67 KB PNG / 19 KB WebP.

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise