Saltar al contenido
KAMOUniverse

Changelog

Qué hay de nuevo.

Cada mejora de la plataforma, a medida que se envía.

  1. · SecurityService

    Digamos en qué lugar se traduce realmente cada entrada

    El sitio de marketing ahora enumera cada versión de cada idioma de cada la entrada, y cada página de entrada nombra a los demás como su hreflang se alterna. A la fila de traducción no es la prueba de una: TranslateService contesta instrucciones no tiene proveedor para la fuente inglesa, así que cada ta fila, y el sw y hileras de entradas más antiguas, repiten el título en inglés palabra por palabra. Nombrando Esos apuntarían motores de búsqueda en páginas que son canónicos de vuelta al inglés. - **************** devuelve, por entrada, los locales cuyo título o descripción difiere del inglés, comparado en el base de datos en lotes de 1.000 ids. - /public/sitemap lleva .locales por entrada y toma orden=oldest, por lo que el Los archivos de cambio de Sitemap se llenan y luego nunca cambian. - /public/entrada/slug. lleva .locales, y "traducida", ahora significa un real traducción en lugar de una pelea.

  2. · kamo-internal

    Vaid una organización de la Plataforma - Configuración - Organizaciones

    La pestaña Organizaciones gana sub-tabs activos y de vacío, y de cada organización cajón una forma de anularlo o, en la pestaña Vacío, restaurarlo. - Sub-tabs Active / Vacío por encima del directorio, contados desde el servidor activeOrgs / voidedOrgs (que siguen la búsqueda, cualquiera que sea la pestaña abierta). La pestaña vive en la URL como orgStatus=void, como el resto de la consola vista; es un lugar, no un filtro, así que Clear lo mantiene. - La sección Vacío del cajón (nunca en la plataforma org) abre una confirmación que detalla lo que hace el vacuo: todo el mundo adentro está firmado, se va /neta, inicio de sesión y cada lista, su creador es tratado como nunca tener lo creó, y nada se elimina. - Un cajón de org anulado conduce con "Voided . . . . . . . . . . . . . . . . . . . . . . . . sus controles de prueba y de plataforma-producto están apagados. - Las negativas del servidor org, la org en la que estás firmado, en vivo sub-orgs, todavía cargados se muestran en el diálogo, en palabras. - POST ********** a través de una ruta de relé (SecurityService hace cumplir MANAGE-ORGANIZACIONES). Backend: kamo-shared-library d2c09630, securityservice 6c8d789, de facturación 072ca5f, mediaservice db90b81; Inglés en kamo-translation-dictionary deba6215.

  3. · MediaService

    La lista ya no nombra a una organización anulada

    Una organización anulada de Plataforma - Configuración - Organizaciones (orgs.is-active = FALSE) no existe en ninguna parte excepto la pestaña Vacío de la consola. findOwnedOrgsByOwnerIds - la propia copia de la lista de "que hace orgs cada uno ejecutivo", mantenido para el id de org al lado de cada título ahora lleva lo mismo live-org filtrar el hallazgo compartidoOwnedTitlesByOwnerIds y findDistinctOwnerUserIds ganó en la biblioteca compartida de kamo d2c09630. Pinned in Exec2ExecQueryParseTest, que también la analiza contra el modelo de entidad.

  4. · BillingService

    Pestañas activas y de vacío en el directorio de plataforma org

    La pestaña Organizaciones de la consola ahora se divide en sub-tabs Active y Vacío. A organización anulada es orgs.is-active = FALSE (establecido por el vacío de SecurityService endpoint); el directorio es el único lugar que sigue enumerando uno en la pestaña Vacío, para que un operador pueda encontrarlo para restaurar. - GET /api/billing/platform/orgs toma estatus=void; cualquier otra cosa, incluyendo sin estatus, lista orgs vivos solamente. Cada persona mayor que llama, el mago del comercio búsqueda de target-org entre ellos - pregunta sin estatus, por lo que ninguno de ellos puede ser mostró una organización que ya no existe. - Las filas llevan anulada, anuladaAcadé, sin efectoByUserId y un ByName vacías hidratadas (una búsqueda por lotes, sólo cuando la página ha anulado filas). - Los agregados siguen la pestaña, y añaden ActiveOrgs / voidedOrgs, que ignoran la pestaña (ambas pestañas necesitan ambos números) mientras honran a cualquier otro filtro. - Los conteos de sub-orgojos dejan fuera a los niños anulados. - La instantánea de almacenamiento nocturno y el informe de almacenamiento de la plataforma se saltan anulados orgs; la historia se mantiene y el manejo de la brecha del escritor atrapa a un org restaurado. Verificaron las declaraciones generadas sólo en vozíjese con la base de datos en vivo: Activo 40 filas / cuenta 40 x 0, Vacío 0 filas.

  5. · SecurityService

    Vaden una organización, y no dejen entrar en contacto con uno anulado

    Plataforma - Configuración - Las organizaciones ahora pueden anular una organización. El vacío es orgs.is-active = FALSE; este compromiso añade la acción y hace En todo momento EN UN organización rechaza una anulada. La acción "POST ******************* y /restore, MANAGE-ORGANIZACIONES (el propio derecho de la pestaña): - OrgVoidService se niega, no cambiando nada: la plataforma org, el org el se inscribe en el operador, una org con sub-orgs vivos, y una org todavía está siendo cargada (una suscripción en vivo de PAID con un precio, dirigida o pagada por su cuentas). De lo contrario, pone la bandera, registra la anulación de voided.at / voided.by.user.id, y revoca cada sesión que sus miembros celebran. Restaurar despeja los tres. Nada se elimina; los miembros y los datos vuelven como estaban. - 200 con el nuevo estado, 404 desconocido, 409 con una razón que la consola se traduce. Los caminos en: - KSessionService.createSession La cintura cada *** se acuña a través de rechaza un org cebado vía VoidedOrgGuard (uncached PK read, falla abierta), a continuación a la puerta de la cuenta sintética. - mis redes deja orgs cepis OUT: la pantalla de inicio cuenta sus filas de es el propietario decidir si un miembro ha creado una org, por lo que un miembro cuyo único creó org fue cegado se ofrece el flujo de creación de su primera or de nuevo. sigue a través de la recepción compartida de todas las organizaciones (). - la respuesta de la suplantación de entradas y cruzadas 404, en cuanto a una org desaparecida. - La encuesta de sesión termina una sesión dentro de una zona anulada (parador de espaldas por uno acuñado antes de que la bandera aterrizara). - Intercambio de dispositivos móviles, auto-login post-verificación, el directorio de red búsqueda y los buscadores de correo desconectados / correo electrónico de correo electrónico saltan los orgs anulados. - Conteo de visión general de la plataforma, barridos de almacenamiento y el informe de impacto abierto de fallos leídos la enumeración en vivo. ******************* ya aplicado a la base de datos en vivo.

  6. · kamo-shared-library

    Una organización anulada queda fuera de cada listado y busca a anfitrión

    Los operadores de plataformas ahora pueden anular una organización de la Plataforma - . Configuración - . Organizaciones. El vacío es orgs.is-active = FALSE - el letr-in y anfitrión de la bandera La resolución ya estaba comprobando, así que este cambio de biblioteca hace los listados que nunca lo comprobó de acuerdo: - encontrarAllLive(): la enumeración de org menos orgs de propiedad sintética y vacías. ************* el punto de estranjo detrás de la org lista, todas las redes y los diagnósticos cuentan, ahora lo lee. findAllExcludingFakeOwned () permanece para que los servicios construidos antes de que esto todavía se compile. - findAllByVerifiedDomain: el dominio de un org cebado ya no se resuelve, por lo que se detiene aceptar las inscripciones y los registros. - findOwnedTitlesByOwnerIds / findDistinctOwnerUserIds: la lista de Exec2Exec no Nombres más largos anularon a las organizaciones como de cualquiera. - Organization.voidedAt / voidedByUserId: que lo anuló y cuándo, para el Consola está en la pestaña Vacío. Nunca serializado. Columnas aplicadas a la base de datos en vivo antes de este commit **************** en el servicio de seguridad). - Organization.isVoided (): lee el estado de registro, nunca guardado dos veces. - El org general PATCH ya no acepta el registroEstado: nulo y restaurado son los sólo escritores de isactivo, por lo que un escenario excepto que se hace eco de la fila atrás no puede Restablezca tranquilamente un org cebado.

  7. · kamo-internal

    Títulos de los tesillos en los desplegaciones del bar se sientan en un plato más oscuro de la marca

    El propio nombre de un menú en su parte superior y cada sección de partida (Apoyo en línea" de Soporte, "Bugs & Mejoras, "Formando"; "Create new") de Docs se sienta ahora en un plato redondeado de la organización primaria, más oscura, en blanco completo, por lo que un título se lee como una etiqueta sobre sus filas en lugar de una más fila para hacer clic. El marcador de la flotación va más ligero, los títulos se oscos; los dos nunca se parecen. La placa es de color negro translúcido (TOPIC-PLATE), que sobre el suelo ES el suelo se mezcló hacia Negro: mismo tono, sea cual sea la marca. Una "primaria primaria en el N%" se habría apagado más ligero que el molida bajo un menú en el extremo izquierdo de la barra, donde la rampa de costura comienza desde la mezcla del 60% de la barra. Medido en un navegador real sobre 11 marcas en ambos extremos de la barra: cada placa es 0.73-0.80 de la tierra junto a él en cada canal (sin cambio de tono), blanco en él es 7.4:1 o mejor, y el deslizamiento Nunca aterrice en una partida. Un guardia en navTopMenuIsWhite.test.ts pins ambos títulos al plato.

  8. · kamo-internal

    Rostros de mensajes sólo en conversaciones de tres o más

    Una cara junto a cada mensaje le dice a la gente aparte, y entre dos personas el lado un mensaje ya se dibuja que - por lo que la cara de esquina ahora aparece sólo cuando tres o más personas están en la conversación (muestras, y nunca mientras se desconoce el recuento, por lo que nunca se muestra una cara y luego se quita. - Chat: contado desde la lista que la ventana ya tiene, que sigue a la gente unirse y salir en directo; una charla de dos personas ni siquiera pide caras. - Soporte, Social, Exec2Exec: el conteo del servidor, ahora en la respuesta de las caras (MediaService e722c90) - cada persona una vez que tengan muchos asientos, a contacto social incluido. Inicias de nombre/atribución y la cabecera de la fila que hacer espacio para la cara se aplica sólo cuando está allí. - SMS y AI Chat son siempre dos partes (un número y otro; el miembro y el asistente), por lo que su código facial se elimina por completo - de vuelta exactamente a lo que eran - junto con useOwnPhoto y MessageAvatar's glyph, que sólo usaron.

  9. · MediaService

    La respuesta de las caras dice cuántas personas hay en la conversación

    GET ************* ahora lleva .participants: la consola pone una cara al lado de cada mensaje sólo cuando tres o más personas están en un conversación, ya que entre dos, el lado se di cuenta ya un mensaje que lo escribió. Contado desde los asientos, no los autores - alguien que escribió y se fue mantiene un cara sobre lo que escribieron sin estar en la conversación; menos nadie más tiempo elegido para una conversación en vivo (la propia regla de la lista de chat, que siempre mantiene al espesor); una vez por PERSONA, porque una persona puede sostener varios asientos (un cliente de Exec2Exec está sentado de cada organización de la que escribió); Además del contacto de una conversación social, que no tiene ninguna fila de miembros. Un chat web El asiento del visitante es miembro del org, por lo que cuenta una vez, como ellos.

  10. · kamo-marketing

    Genera los mapas de los sitemaps por petición, y da cada cambio de su propia página

    /sitemap.xml era un archivo de metadatos prerender en tiempo de construcción, en un contenedor que no puede llegar a KBService o SecurityService, por lo que cada despliegue enviado a Sitemap sin un artículo de centro de ayuda en él hasta la primera actualización de ISR. Y /api/sitemap guardaba una segunda copia de la lista de la página que se había desviado de ella. - /sitemap.xml es un índice de mapa del sitio generado por petición. Enumera /sitemaps/pages.xml (páginas escritos a mano, páginas de colección, entradas de blogs y cada artículo de base de conocimiento, con hreflang) y /sitemaps/changelog/.xml (5.000 entradas de cambio cada una). /api/sitemap y /api/sitemap/changelog/n. son las renders JSON del mismo módulo, app/lib/sitemap-source.ts. - La lista de páginas manuscritas vive una vez, en app/lib/sitemap-pages.ts, y guardia:sitemap falla la construcción cuando una ruta estática no está listada ni listada ni Excluido con una razón. - /changelog se muestra en el servidor: ?page=N, con ?project= y ?type= respondida por SecurityService, donde los viejos filtros sólo escondían entradas entre el 50 en pantalla. Cada página es su propio canónico; las vistas filtradas son noindex, sigue. - Cada entrada tiene su propia página en /changelog/slug, enlazado a las entradas a ambos lados. Es canónico al inglés donde la localidad no tiene traducción todavía, y una ortológica más antigua de su dirección 308s a la corriente uno. La tira de la página de inicio enlaza a estas páginas. - Se leen en el servidor las estadísticas y los filtros. La ruta /api/changelog/stats ellos provenían de ellos habían estado sirviendo el total de 0 del contenedor de construcción.

  11. · SecurityService

    Dale a cada entrada pública una dirección y despaja la lista en el servidor

    El registro de cambios público sirvió a las entradas sin identificador, por lo que el sitio de marketing No podía vincularse a uno ni enumerarlos en un mapa de sitio. Cada entrada ahora lleva un babosa - su título en inglés en forma URL, luego doce caracteres de su commit hash - y: - GET ************* devuelve una entrada con las entradas a ambos lados. Se encuentra solo por el prefijo de hachbo, por lo que una entrada El título ha cambiado aún se resuelve en su antigua dirección, y el que llama rediraciones a la actual. - GET /api/changelog/public/sitemap devuelva la babosa, el título y la fecha de cada entrada en trozos de hasta 5.000, leyendo tres columnas por fila. - GET /api/changelog/public acepta filtros de proyecto y tipo, que pueden sólo reducir la lista pública, y los pedidos en (fechaComprometida, id): se compromete compartir una marca de tiempo ya no intercambia páginas entre dos solicitudes. Una página es Con un tope de 100 entradas. Las consultas viven en PublicChangelogService en lugar de CommitLogRepository, así que Nada de esto necesita una liberación de la biblioteca compartida.

  12. · kamo-internal

    Cada mensaje lleva la cara de su autor, en la esquina de la burbuja

    En cada ventana de herramientas de chat - Chat, Soporte, Exec2Exec, Social, SMS, IA Chat - cada mensaje ahora lleva una foto de 16x16 que se superpone a la parte superior izquierda de la burbuja córner para un mensaje a la izquierda y su esquina superior derecha para uno a la derecha. Cada mensaje, no sólo el primero de una carrera: la cara vieja de la ventana de la chat en el línea de cabeza se ha ido, y las líneas de nombre/atribución se inset para que la cara nunca se sienta en su primera carta. Inicialmente sólo cuando la persona no tiene foto. La cara está de tres valoradas (MessageAvatar): una URL es una foto, probada como su variante de "sm" y luego como la Archivo de tamaño completo (pequeñas variantes son opcionales lado del servidor; las subidas más antiguas carecen de ellos); null son iniciales; indefinido -no se conoce todavía- es un disco en blanco, por lo que Alguien con una foto nunca parpadea como iniciales mientras es mirada hacia arriba. De dónde vienen las fotos. Las ventanas solían leer sólo la del espectador Directorio miembro (miembros del equipo de ACTIVE de la organización) así como miembros sencillos, la otra cara de un ticket de apoyo o una conversación Exec2Exec, y cualquiera que hubiera dejado un grupo fue dibujado como iniciales con una foto en su Perfil. Ahora una tienda por conversación (app/lib/chat/sessionFaces.ts) se lee El nuevo GET de MediaService ************* - todo el mundo en el conversación Y todos los que alguna vez escribieron en ella, desde su propio perfil, en un host la consola puede cargar - a través de un archivo de ruta propio (/api/media no es un prefijo axilado). El primer mensaje de un recién llegado vuelve a preguntar una vez; alguien el servidor todavía no cubre, o todos mientras un MediaService más viejo no puede responder, cae de nuevo en la mirada de directorio las ventanas utilizadas antes. Las filas que nunca deben usar la cara del miembro bajo el que están guardadas: - un visitante de chat web (almaces bajo el miembro del SISTEMA de la organización, el propietario) obtiene el las iniciales del visitante; - un contacto social (almacenado bajo el propietario de la conexión) consigue la foto su proveedor dio, a través del representante de la imagen. SMS: Los textos enviados son los propios del espectador (una conversación pertenece a la de un miembro número); los recibidos llevan la foto del contacto desde el directorio la cabecera Lee, sus iniciales, o una marca telefónica para un número en el que nadie se salva. AI Chat: la foto del miembro sobre lo que preguntaron; el asistente, que no tiene Perfil, lleva el chispa de la IA. Las filas en las listas llenas de 4px sin línea de nombre arriba consiguen 4px de la cabecera: medido en el verdadero Chrome, la cara de lo contrario se sentó 1-2px de la marca de tiempo de la mensaje antes.

  13. · kamo-internal

    La ficha Solicitudes de firma, y el ahorro de un colega en el editor de plantillas

    Solicitudes de firma, entre plantillas y Common in the Docs manager: cada documentar las plantillas de la colección enviadas para su firma, en una página de cuadrícula en el servidor y dividido en tres cubos (No Ejecutado, parcialmente ejecutado, Totalmente ejecutado), cada uno mostrando cuántos son nuevos para este miembro. La cuenta muestra el total que es nuevo. Mirar un cubo despeja su conteo para este miembro Sólo, y la pestaña se abre en el primer cubo sosteniendo algo nuevo. Columnas: el documento y quién lo envió, los firmantes (un anillo por letrero en el color de dónde se erranú), x de y firmado, estado, enviado, última actividad y completamente ejecutado. Cada fila puede empujar a todo el mundo todavía esperando, descargar el documento ejecutado, el certificado de terminación o ambos como ZIP, y abierto la petición. El cajón de la solicitud añade un empujón por señalro, lo que pasó cuando, y la retirada de la solicitud con una razón. El editor de plantilla ahora registra que tiene una plantilla abierta (un latido del corazón para ************* por lo que un colega ha salvado o restaurado de Ese archivo lo alcanza, y dice quién hizo el cambio. Su tema en vivo fue construido a partir de la identificación del miembro como número JS, que redondea los ids más allá de los 2o53, por lo que el Guardar aviso nunca llegó. Ahora usa la cuerda de identificación.

  14. · ESigService

    Solicitudes de firma para el gerente de Docs, con nuevos conteos por miembro

    El gerente de los Docs obtiene una pestaña Solicitud de Firma: cada documento una colección plantillas enviadas para firm, en tres cubos por firmas (nadie, algunos, o todo el mundo ha firmado), cada uno con cuántos son nuevos para este miembro. /api/esig/solicaciones enumera un cubo una página a la vez, ordenada y registrada en la base de datos. /Condentas da el total y nuevo conteo de cada cubo, y /seen graba que un miembro miró un cubo. En lo que cada miembro ha visto vive esign-request.views **************** aplicado a mano), teclado por miembro, colección y cubo. Una petición es nueva en un cubo cuando entró en ese cubo después de que el miembro miró allí por última vez. Por petición: tráelo, empujar a los firmantes todavía esperando (una re-invitar con un línea de recordatorio, como máximo una vez por hora por letrero), retirarla y descargarla el documento ejecutado, el certificado de terminación o ambos como ZIP. La lectura necesita VERDIB VERDIBADOS; empuje y retiro de la necesidad EDIT-DOCUMENTS. A solicitud sólo es accesible a través de una plantilla en una colección que el miembro puede Verá, en su autorización.

  15. · DocsService

    Un ahorro llega a cada colega con la plantilla abierta

    Un ahorro del archivo de una plantilla le dijo sólo al miembro que lo guardó, por lo que un colega con la misma plantilla abierta manteniendo campos a través de páginas el archivo se había movido a partir de. El editor de plantillas ahora dice cuando tiene una plantilla abierta: POST ************* cada 30 segundos mientras es, DELETE cuando Cierra. OpenEditorRegistry lo mantiene en Redis como un conjunto ordenado por documento (me miembros -oh mismo tiempo, 95 s), así que un editor que desapareció sin caídas de cierre Por sí solo. Un ahorro publica un marco por miembro con la plantilla abierta, cada uno en el propio tema de ese miembro, y dice quién hizo el cambio. El reloj comprueba que el miembro puede leer el documento, como lo hace cada lectura. Una restauración ahora le dice a los colegas, con la versión de diseño que trajo de vuelta, Así que su editor recarga los campos, así como las páginas.

  16. · MediaService

    Una cara para cada mensaje en cada ventana de chat

    GET ************* respuestas, para una conversación, la foto para dibujar al lado de cada mensaje: todos en él ahora Y todos los que alguna vez escribieron en ella (una lista olvida a la gente que se fue; sus mensajes no), cada uno listado en miembroIds tienen o no una foto, por lo que la consola puede decir "no foto: iniciales" de "no se ha preguntado todavía". Las fotos son Exec2ExecFaces.memberPhotos - la foto de perfil del miembro, de lo contrario la propia persona - construida en vivo del espesor anfitrión de tema, el que la consola-ing-src permite. Una conversación social también nombre a su contacto (no un miembro en absoluto) como "contraparto", con el proveedor foto. Por qué el servidor: la única fuente de la consola era el propio miembro del espesor directorio - miembros del equipo ACTIVE de la zona-in firmante - miembros tan sencillos, el otra cara de un boleto de apoyo o una conversación Exec2Exec, y cualquiera que habían dejado un grupo estaban todos dibujadas como iniciales con una foto en su perfil. La mirada por miembro podría caer en los desechos de otros orgs. Quién puede preguntar es quién puede leer la transcripción (un miembro firmado, una sesión que existe): una cara dice menos que los mensajes a su lado. También: la historia lee ahora etiquetas lo que un contacto social escribió como SOCIAL-VISITOR bajo el nombre del contacto, como siempre tiene el marco en vivo. Esas filas se almacenan bajo el miembro del propietario de la conexión, por lo que una conversación recarga presentó el palabras de contacto a nombre del propietario, por el lado del propietario cuando el propietario estaba leyendo - y habría puesto la foto del dueño a su lado.

  17. · MediaService

    Un enlace de encuentro en la conversación, siempre en Kamo Meet de la plataforma

    POST ************* deja a cada lado de una conversación Exec2Exec añadir un enlace de reunión, detrás de la misma puerta que enviar un mensaje. La reunión se crea como la Organización PLATFORM, en Kamo Meet, en el dominio en vivo de la plataforma (meet.kamocrm.com/-room). quien pregunte - el propio anfitrión de la etiqueta blanca de un cliente o Zoom pondría una reunión con KamoCRM's Los ejecutivos de una empresa con la que KamoCRM se limita a hablar con él como su creador. Es luego se publicó como el mensaje del llamante a través de Exec2ExecService.post, por lo que llega a ambos lados en vivo, levantado, maldito y empujado; una contrasala, cuando las habitaciones de la plataforma necesitan una, va a su lado. **************** resuelve Kamo Meet para un proveedor de org que tenga elegido (que todavía se aplican ajustes, las credenciales de otro proveedor no), y **************** crea a través de él; el camino de creación existente no cambia. No se pide razón de START-MEETING al que llama: ese derecho es sobre su propia organización reuniones, y ésta no es suya.

  18. · kamo-internal

    Añada un enlace de reunión a la conversación - siempre Kamo Meet de la plataforma

    Ambos lados de una ventana Exec2Exec ahora llevan la cámara las otras ventanas de chat tienen: Añadir un enlace de reunión. La reunión es creada por MediaService como la organización PLATFORM, sobre la La dirección Kamo Meet de la plataforma (meet.kamocrm.com/...), cualquier lado que lo presie - nunca el La propia marca blanca del cliente se encuentra con el host o proveedor - y se publicó como el mensaje del prensado, por lo que Llega en ambas ventanas en vivo, levantada y trabada como cualquier mensaje. Los enlaces en la transcripción de Exec2Exec ahora se pueden hacer clic, a través del mismo linkifyPlainTexto cada otros usos de la ventana de chat (exportado desde MessageList en lugar de copiado).

  19. · kamo-internal

    Filtraciones, rostros y presencia del escritorio; una insignia Exec2Exec que arde

    Centro de Interacción - Chats - Exec2Exec obtiene dos filtros bajo las sub-tabs: Org Owner (Todos sin Org - Org Owner) y Ordenar por (último mensaje - Ultimar Iniciar sesión) con una ASC/DESC Cambiar. Recordado para la sesión del navegador como cada lugar en el panel, y un nuevo Sesión se abre en Todos los últimos Iniciar sesión. Desc. Alguien sin una cita dura de cualquier manera. Cada fila ahora muestra la propia foto del cliente (iniciales sólo cuando no tienen ninguna), si están en línea, cuando firmaron por última vez y cuando se habló por última vez en - en la propia zona horaria del miembro - además de la cuenta no leída. El escritorio se relee una vez a minuto mientras es visible, por lo que la presencia no se desvanece. La ventana Exec2Exec dibuja la foto de cada ejecutivo de KamoCRM de su perfil de miembro de KamoCRM en sus participantes se desnudan, y la foto del cliente en la cabecera del escritorio, llevada desde el fila de roster o desde el marco que levantó la ventana. El control Exec2Exec de NavTop, para un cliente y para el escritorio por igual, se quema mientras que cualquier cosa es une: un cometa de oro, luz blanca y celebriendo alrededor del cerrojo, una onda de choque de oro, el Patear cada par de segundos y la palanca del conteo. Bajo movimiento reducido sostiene quieto y permanece encendido, y el conde se habla a nombre del botón. Los conteos ya estaban en vivo por el WebSocket sin leer.

  20. · kamo-internal

    Archivos y plantillas, historia de la versión y ajustes de versión

    Los diputados pidieron documentos que mantuvieran su historia en su camino organización elige, y para plantillas que se paran por su cuenta en su lugar de los Originales/Sinificado split. Los servicios ya lo tienen (uno registro por documento, img-versions, un modo por org y por categoría); Esta es la aplicación web sobre ella. Gerente de los Docs - Las pestañas de archivos y plantillas sustituyen a los originales y modificados. Una plantilla es un documento con una capa de plantilla, hecho de un archivo (u otro template) por "Agregar capa de plantilla" y separarse de ella a partir de entonces. - Acciones de filas, en el orden solicitado. Archivos: Descargar, Editar archivo, Añadir capa de plantilla, Añadir a carpeta, Compartir, Enviar a la basura. Plantillas añaden Editar plantilla tras Editar archivo. Una acción a la que el miembro no tiene derecho a no se muestra; uno que el documento no puede apoyar (un PDF en el clásico editor, las páginas que aún se están preparando) se muestran desactivadas con su razón. - Columna de la versión: una píldora que lee v4, con un punto ámbar cuando un Manual La copia de trabajo ha pasado su última instantánea, abriendo la historia. - La participación se ofrece en todas las colecciones, no sólo My Docs. Rejas de basura se puede restaurar. Los cuentos son de la pestaña abierta. Cajón de la historia de la versión - Las páginas de la versión seleccionada en un escenario (una baraja de las versiones bajo los campos de una plantilla dibujando sobre ellos) y el versiones en un carril, el más nuevo primero, con lo que produjo cada uno y quién. Comparar las diapositivas del estado actual a través de cualquier versión anterior. - Tome instantánea (Manual), Restore (confirmado en las palabras de la modo de categoría: en qué se convierte la restauración, y qué descartaría), Nombre una versión, Descargar cualquier versión, Subir una nueva versión con progreso. Editor de plantilla - Editar el archivo subyacente abre el propio archivo de la plantilla en el clásico editor en otra cuenta. Cada salvado llega sobre el tema de las salvas; las páginas son re-elaboradas y redibujas bajo los campos en su lugar, con sin recarga de pantalla completa y nada sin salvar perdido, y la píldora de la versión se mueve al nuevo número. Un chip dice que el archivo está abierto en otros lugares y lleva al miembro de vuelta a ella. - La píldora de la versión y el cajón de historia sustituyen al diseño-sólo panel de versión: la versión de una plantilla es su archivo y sus campos juntos, y un restablecimiento pone a ambos de vuelta. - Vistas previas de la página se tecla en el identificador de contenido, por lo que la caché del navegador puede nunca mostrar páginas del que el documento ha pasado; un PDF sigue siendo se espera a que se espere en lugar de reportarse como un error. Ajustes - Gestión de documentos - General: el defecto de la organización versionación (Automático, instantáneas manuales, Off), dilatada como lo que cada uno lo hace a una historia, y a las categorías que establecen las suyas. - Configuración de una categoría: seguir el valor predeterminado o elegir el suyo propio; categorías las cerraduras de la plataforma a Automatic lo dicen. - La tabla de categorías gana una columna de versiones. Las cuerdas del diccionario aterrizaron primero en kamo-translación-diccionario 9b83d282.

  21. · MediaService

    Caras en el escritorio - foto de un cliente, última sesión de entrada y presencia

    La lista del escritorio ahora lleva, para cada cliente, su propia foto (usuarios.avatar-id, construido sobre el anfitrión de temas en vivo del operador, el único de su consola carga imágenes de), cuando última firmada en cualquier lugar de la plataforma (usuarios.last-login, pared una vez y enviado en el forma de última actividadAt), y si alguna de sus filas de miembros sostiene un enchufe vivo. La tira de los participantes recibe la foto de cada ejecutivo de KamoCRM de su perfil de miembro de KamoCRM (miembro avatar, de lo contrario el de la persona), construido para la consola del espesor; y el marco que levanta una ventana de escritorio que lleva la foto del cliente junto a su nombre. Todo ello vive en un pequeño componente de Exec2ExecFaces: cargado por id en lugar de fuera del perezoso Asociación JOINED (cuyo proxy no tiene ruta de fotos), una lectura de avatar y una presencia barriendo por página, y cada fallo se degrada a las iniciales / offline en lugar de fallar en la lista.

  22. · DocsService

    Lea la capa de una plantilla por versión de diseño

    El historial de la versión dibuja los campos de una plantilla sobre las páginas de cada versión. Les pidió a través de una versión de documento (/.imgId./n-/design) y a La copia de trabajo de la plantilla no tiene ninguna: sus campos se salvaron después de la última instantánea, en una versión de diseño sin nombres de versión de documento todavía, por lo que el El estado actual no pudo elaborarse en versión Manual. GET ************* lee el capa por versión de diseño en su lugar, detrás de las mismas puertas que el resto de la historia. Un archivo no tiene capa y responde con ninguna.

  23. · ConversionService

    Sube una nueva versión de un documento

    La única manera de cambiar un archivo el editor de documentos no puede abrir - un PDF sobre todo, que es lo que más plantillas lo son. POST ************* toma el nuevo archivo, escanear para Malware y contenido-addresss exactamente como una primera subida, y entrega el cambio a ************* (kamo-shared-library 6d0523e8): el documento mantiene su id, nombre, acciones, aglutinantes y capa de plantilla, y el modo de versión de su categoría decide lo que es mantener de lo que tenía - una nueva versión bajo Automatic, la copia de trabajo moviándose bajo Manual, un sobrescribe bajo Discapacitado. La versión PDF y las miniaturas de página se hacen para los nuevos bytes por el El mismo oleoducto una carga corre. EDIT-DOCUMENTS, no CREATE-DOCUMENTS: no se crea nada nuevo. La política de extensión de la categoría aplica ************* es público para esto), y el tipo se lee de la bytes - una nueva versión puede ser un formato diferente, y la extensión del nombre lo sigue. Rechazado por un paquete legal EXECUTED - el expediente firmado HR emitido a un miembro, que nadie da una nueva versión, ni siquiera su tema - a través de IssuedArtifactLookup, un repositorio local de sólo lectura sobre la entidad de cesión compartida; y para las colecciones hipotecarias por partido, que el genérico Los endpoints de imagen nunca tocan. esign.repos se escanea ahora aquí, porque una versión de una plantilla registra la versión de diseño de su capa.

  24. · ESigService

    Ahorrando los campos de una plantilla es una versión de la plantilla

    Una plantilla es un documento con una capa de campos sobre él, y una versión de él es la mitad: su bytes y esa capa. Sus ahorros de archivo subyacente ya llegan al historial de la versión (library compartida de kámo 6d0523e8, docsservice 3ef26d1); esta es la otra mitad. saveDesign y resignar la mano el cambio a **************** en el mismo transacción como el diseño escribe, por lo que una versión nunca nombra un diseño que fue revertido. Lo que escribe es el modo de versión de la categoría: en Automática una nueva versión de la plantilla (un miembro ahorra en diez minutos crece una versión, así que presionar Guardar después de cada campo es Todavía una versión del trabajo), bajo Manual la copia de trabajo se mueve, bajo Discapacitado nada. A capas clavadas en algo que no es un identificador de documentos no tiene antecedentes que escribir, y ahorra como antes.

  25. · DocsService

    Archivos y plantillas, editados en su lugar, con las versiones que cada categoría mantiene

    Un documento era dos registros: la subida, que nada editado, y una copia modificada derivaba la primera vez que alguien lo abrió en cualquiera de los editores. El gerente de Docs mostró a la pareja como "Originals" y "Modificado", y los miembros lo encontraron confuso. Un documento es un registro ahora, y lo que cada cambio Los guardas del contenido que reemplaza es el modo de versión de la categoría (caliada compartida de kámo 6d0523e8): Discapacitados, Automáticos o Manual. Edición - /open edite el documento en sí - un archivo, o bytes propios de una plantilla ("Editar Archivo subyacente"). /new abre el documento que creó. Ninguno deriva una copia. - Un salvado clásico pasa por ************* una nueva versión debajo Automático (el ficha de la WOPI ahora lleva un identificador de sesión, así que una sentada que se autosalva es una versión), la copia de trabajo moviéndose bajo Manual, una sobreescritura bajo Discapacitado. - El aviso de ahorro ahora se dispara para cualquier documento cuyo bytes realmente cambió - no para un re-sentimiento archivo - y lleva la versión que escribió; un editor de plantillas abre en los redraws de documentos. - Guardar como hace una nueva FILE y el editor continúa en ella. - Un salvoro que sigue llegando para una copia clásica que dejó el modelo antiguo (una pestaña abierta antes del despliegue) aterriza en su original en lugar de una fila nada lista. Planlates - POST ************* ("Añadir la capa de plantilla"): una nueva plantilla compartiendo el source es bytes y nada más a partir de entonces, en la misma colección, carpeta y nivel de acceso. Ramado de una plantilla puede llevar los campos de la plantilla: los firmantes se copian y cada uno SignerUid en el diseño se reescribe a su copia. Su capa lleva su nombre, y su primera versión registra de qué se hizo. Toma CREATE-DOCUMENTS - hace un documento. - /form-fillable abre una plantilla solamente; un archivo responde 409 NO-A-TEMPLATE. Versiones - ******************* - historia; instantánea (con nombre opcional); renombra; restauración; y descarga de cada versión, PDF, páginas miniaturas y diseño de capas de plantilla. Las mismas puertas que las rutas de byte de imágenes: VIEW/EDIT documentos, organización y liquidación, la puerta de paquetes emitida por HR, la hipoteca por partido colecciones, y la auditoría de acceso PHI en cada byte leído. Las versiones son inmutables, por lo que son en caché como tal, y una versión antigua descargada se llama "Nombre (v3).ext". Listado y configuración - La lista es una consulta (DocumentListQuery, sobre un repositorio local de especificaciones): el viejo el filtro en memoria después de la zoquea podría dejar caer un tipo raro - una plantilla entre 300 archivos - fuera de la página. ArchivosSólo / plantillasSómbre solo las dos pestañas; las filas llevan la bandera de la plantilla, el id de contenido y un resumen de la versión. Las copias clásicas que dejó el viejo modelo nunca aparecen. - Configuración: GET-PUT /imagen/configuración/versión para el predeterminado de la organización; assoc-config y las categorías llevan la anulación de cada categoría, a qué se resuelve y si está bloqueada. Escritos tomar MANAGE-DOCS-SETTINGS, que las páginas de configuración siempre requerían y estos endpoints nunca Froté. - Classic guarda ahora las miniaturas clave de la página en el propio dat del documento, como siempre lo hicieron las subidas; el Los lectores de miniatura miran en ambos lugares, por lo que los documentos guardados antes de hoy todavía muestran sus páginas. Esquema: ******************* (aplicado). Datos: **************** - correr una vez que esta construcción se despliega: el 5 filas derivadas con una capa de plantilla se convierten en plantillas, los 2 clásicos vivos se doblan en su originales como v2, y cada copia clásica se retira.

  26. · kamo-shared-library

    Versiones de documentos, y el modo de versionación que una organización elige

    Los documentos eran dos registros: la carga, que nada editado, y una copia modificada derivaba la primera vez que alguien lo abrió para editarlo. Los miembros encontraron a la pareja confusa, y no encajaba con la de nadie. reglas reales - una organización quiere cada edición guardada, otra quiere una copia y ninguna historia, un El tercero quiere congelar un estado a propósito y seguir trabajando encima de él. Un documento es un registro ahora, y lo que le pasa a su contenido anterior cuando cambia es un modo de versión elegido por organización (img.org.assoc.versioning-mode) y por categoría de documento **************** que gana): - DISABLADO: el cambio sobrescribe. Una copia, sin historia. - AUTO: cada cambio es la siguiente versión y la antigua se mantiene. Una sesión de editor clásico es una versión sin embargo a menudo se autoguarda; la capa de plantilla de un miembro ahorra en diez minutos son una versión también. - MANUAL: los cambios sobrecribanan una copia de trabajo encima de la última instantánea; unas instantáneas de los miembros para mantener un estado permanentemente y continúa la edición encima de él. La subida es la primera instantánea. Desconándome en todas partes, una categoría es AUTO - el único modo que no pierde nada, como el modelo que reemplaza Nunca perdió una subida. Una categoría cuyos documentos son registros (sobrescribirse y no establecer, por ejemplo. Gráficos de Paciente) está bloqueado a AUTO. - ImgVersion / img.versions: una versión es un POINTER en el contento-dijo de la fila de img-dats de contenido documento mantenido, más la versión de diseño de plantilla-capa en una plantilla. Mantenerse no cuesta nada hasta que los bytes sigan adelante sin él. - DocumentVersioningService: la única vía de escritura para "el contenido de este documento cambió" - aplicarContentChange, recordTemplateLayerChange, instantánea, restauración, registroBranch - por lo que los modos Lo mismo que si el cambio vino de un salvado clásico (DocsService), una nueva subida sobre el documento (ConversionService) o una capa de plantilla de ahorro (ESigService). Versiones están escritas perezosamente: un documento que nunca cambió no tiene ninguno, y el primer cambio guardado escribe v1 de la Así que una organización puede encejar en cualquier momento sin relleno. Restaurar es en sí mismo una nueva versión bajo AUTO; la historia nunca se reescribe. El e-sign Los repositorios son ObjectProviders, ya que no todos los servicios los escanea (SharedLibBeanSafetyTest). - Img.isTemplate() sobre la bandera existente de la ha-form-layer, y isRetiredDerivedCopy() para el copias clásicas que dejó el viejo modelo, que no vuelve a mostrar. - **************** para las píldoras de versión en una página de plantillas en una sola consulta. - **************** es público, así que una nueva versión cumple con su primera regla de subida. El esquema es **************** en el servicio de documentos, aplicado al clúster antes de este compromiso: se lee en cada carga, por lo que la columna tuvo que existir primero.

  27. · kamo-internal

    Una superposición de logotipo de Nav y una superposición de logotipo de carreras

    Comportamiento & Etiquetado gana dos capas más de logotipo en el vocabulario el otros seis usos - un token, resuelto contra la propia paleta de la org: - "Nav Logo Overlay", directamente bajo "Home Page Logo Overlay". Pinta el logotipo simple en la parte superior del ferrocarril principal de navegación (NavPri) - sea cual sea Marcar los espectáculos ferroviarios, la compañía o el software - colapsado y expandido. In-app como su hermano de la página principal, por lo que monta el récord de org a través de OrgContext: el esquema de la ruta org, Organización.fromJSON (que corre dos veces en el camino al navegador) y los accesorios de OrgProvider todos ellos llévalo, y tiene efecto en la salvación. - "Careers Logo Overlay", directamente bajo "Register Site Logo Overlay". Pintada por kamo-careers de la seguridad de color hornea en el tema config.json (10d4a9e), como las de inicio de sesión, registro y aplicaciones. Ese sitio reelea el archivo por hora, y la pista lo dice. También corrige la ruta de salvación para tres superposiciones existentes: letrenta, registro y las aplicaciones fueron almacenadas pero nunca copiadas de nuevo en el estado salvado, así que sus filas de sólo lectura mostraron la elección anterior hasta una recarga, y el la siguiente edición comenzó de ella. logoOverlayWiring.test.ts camina las ocho superposiciones a través de los siete lugares que cada uno debe aparecer (estado, carga, amortiguador de edición, chequeo sucio, PUT cuerpo, sincronización post-salvar, ambas vistas), comprueba que ambas vistas las listan en el el mismo pedido, cheques en.json tiene cada nombre e insinuación - el guardia i18n no puede ver las claves que la página construye a partir de una variable - y comprueba ambas de las ThemeLogos de NavPri toma el color. Contra el anterior Labelmando Falla para nav, carreras y las tres sincronizadas post-salvaje faltantes. Verificado en Chrome con el verdadero NavPri abundado sobre contextos descabados: la caja del logotipo no cambia y la silueta toma Blanco, Negro y el org es el secundario más ligero, colapsado y expandido. Needs kamo-shared-library 7d80fab y el servicio de seguridad 10d4a9e para el dos columnas para guardar; el diccionario lleva las cuatro cuerdas inglesas.

  28. · SecurityService

    Hornee la superposición del logotipo del sitio de carreras en config.json

    kamo-cares pinta el logotipo de la org en su cabecera y no tiene OrgContext; lee el tema config.json en el servidor, el mismo archivo de login, registrarse y las aplicaciones se lleven sus superposiciones. Así que la superposición de carreras va Allí también, como carrerasLogoOverlayColor: el TOKEN resolvió contra el La paleta de org aquí, ausente cuando el org no eligió a ninguno - que es como todos El cliente lee "sin superposición". Necesita kamo-shared-library 7d80fa7b **************** que construyó clones de lo principal. La superposición del ferrocarril de navegación, añadida en el la misma biblioteca de confirmación, está en la aplicación y llega al navegador en el registro org en sí mismo; aquí nada lo horne. Verificado: principal y todo el conjunto de fuentes de prueba compilar contra eso biblioteca; ************* 14/14 (dos nuevos: la clave es llevar, y un org que superpeca sólo su sitio de registro no consigue un Funcional de carreras), OrgThemeProvisionServiceTest 20/20.

  29. · kamo-shared-library

    Una superposición de logotipo para el ferrocarril de navegación y una para el sitio de carreras

    Dos columnas más en el vocabulario home-logo-overlay establecido: a ficha, no un hechizo, así que un org que remarca que rebautiza mantiene una superposición que coincide sus nuevos colores. Ambos anulados sin relleno - null es NONE, que es Cómo se ve cada org hoy. nav-logo-overlay pinta el simple logotipo en la parte superior de kamo-internal's Rábano de nav primario. Su propia columna porque el carril es una sombra oscura de el color primario; el masthead blanco de la página de inicio rara vez quiere lo mismo la sombra. Entregado a OrgContext como su hermano de la página principal. careers.logo-overlay pinta el logo de encabezado en la carrera de kamo. Ese sitio no tiene OrgContext, así que el servicio de seguridad hornea el color resuelto en el tema config.json, el inicio de sesión de la ruta, registro y aplicaciones ya toman. Parche es un ALLOW-LIST, así que ambos nombres van allí también, y un nuevo prueba camina cada superponer la página de configuración envía - no sólo estos dos - porque una columna el método no se acepta con un 200 y Nunca se almacenó. Provido eliminando las dos nuevas líneas: 3 de sus 4 casos fallan. Las columnas se añadieron a la mesa de orgs en vivo a mano antes de este empujón (ddl-auto no es ninguno e InitializerService no está desplegado): ALTER TABLE orgs ADD COLUMN IF NOT EXISTS nav-logo.overlay VARCHAR (24); ALTER TABLE orgs ADD COLUMN IF NOT EXISTS careers.logo.overlay VARCHAR (24);

  30. · kamo-internal

    Una cabeza Exec2Exec minimizada corre una corriente de luz alrededor de su llanta

    Una línea a los ejecutivos de KamoCRM nunca debe sentarse en el muelle luciendo como una charla más. Es La cabeza minimizada ahora lleva una llanta de energía: un arco de oro a blanco al cielo corrindo alrededor de la hexágono, una contracorriente más delgada persiguiendo hacia el otro lado, y un aura de oro pulsante detrás ellos. Bajo la medida reducida de preferencias se mantiene quieto como un anillo de oro brillante. El efecto es una propiedad a nivel de herramientas (hexHeadEfect en la entrada de la plataforma Exec2Exec), Re-inyectado con el icono en cada desove, para que cada cabeza de Exec2Exec lo consiga y ningún otro La cabeza puede.

Tu universo está esperando.

Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.

Gratis para siempre: no se requiere tarjeta de crédito