템플릿의 선언된 슬롯에서 보내는 대화 상자의 수신자
서명 대화 상자의 전송은 한 명의 수신자를 행하고 언바운드를 제공합니다. "수신자 추가",하지만 템플릿의 Signer 슬롯을 묶지 못했습니다. ESig서비스 over-supplied send를 400로 거부합니다. - 고정 슬롯이 없습니다. 추가, unbound 수신자는 0 필드를 표시...
템플릿의 Signer 슬롯을 채우고, 오버 필을 거부하십시오
Signer-count 체크 추가 마지막 라운드는 EXACT 일치를 요구 템플릿의 선언 된 슬롯, 침묵적으로 mortgage disclosures를 중지 할 것 계속하기 SecurityService의 native-disclosure sender derives URLA 당 하나의 서명자 ...
Delegated envelopes를 완료하고 보내기 전에 나쁜 signer 조사를 거부
envelopeComplete는 모든 수신자로부터 리터의 서명을 요구하지만 delegate() delegator DELEGATED forever와 ADDS 대신 교체를 나눕니다. 그것을 요약. 위임되지 않은 봉투는 SIGNED에 도달 할 수 없었다 : CompleteAt was 결코 설...
NATS/WebSocket의 나머지 오염된 화면을 구동
앱의 15 개 네트워크 설문 조사, 이미 있던 이벤트로 대체 사건이나 행사가 국가를 소유하는 서비스에 추가되었습니다. 메일 - 폴더 트리, 대화 목록 및 메시지 목록 각각 자신의 30s 타이머. EmailService는 도착시 mailbox-change 이벤트를 게시합니다. flag ...
Push platform-admin state changes instead of being polled for them
Every platform screen backed by this service refreshed on a timer, because this service has no WebSocket and therefore no way to tell anyone anything: the close...
Mailbox-change 이벤트를 게시하므로 mail view stop polling
폴더 트리, 대화 목록 및 메시지 목록 각각 자신의 30 초 timer, 뭔가가 이동 한 기회에 다시로드. WebSocket은 이미 메일이 도착했을 때 그들에게 말했지만 mailbox가 변경되는 방법 중 하나입니다. - Roundcube 또는 휴대 전화에서 메시지를 읽고, 이동, 삭제,...
STOMP에 릴레이 SecurityService 플랫폼 이벤트
SecurityService는 플랫폼 관리자 표면을 소유합니다 - 시스템 구성, DNS 프로비저닝, 상거래 동기화 — 하지만 WebSocket 엔드포인트가 없습니다, 그래서 모든 화면 그것에 의해 뒷받침은 아무것도 말하지 않고 대신 타이머에 새로 고침 : 닫히는 로난 트레이너 탭 매 4...
Sync 진행 및 도메인 상태는 polled 대신 발표됩니다
SecurityService의 푸시 변환을위한 두 개의 후크, 몇 가지 플랫폼 화면은 타이머에 상쾌했습니다. 아무 것도 말할 수 없기 때문에. RetailSyncLogListener는 RetailSyncOrchestrator에 선택적인 통보 솔기입니다, sync run이 IN PROG...
디코더드 수신자에 대한 디코더
모든 단일 수신자는 전체 봉투 DECOderD를 설정, 그래서 카운터 서명 다른 당사자가 이미 주어진 서명을 파괴 할 수 있습니다, 복구 경로. envelope 이제는 아직 로그인 할 수 없을 때만 종료합니다. 또한 완료를 위해 서명 한대로 계산을 중지: 그것은 안전 단지 invari...
Per-envelope 초대 이메일 억제
Envelope unconditionally 이메일을 보내, 그래서 많은 콜러 배치 한 개의 알림 뒤에 봉투는 조용히 머물 수있는 방법이 없었다. Null 보존 기존의 행동; 액세스 토큰은 여전히 두 가지 방법을 발표했다.
서버의 필수 필드는 브라우저에서 아닙니다
제출() 만의 동의와 step-up; 빈 값 목록을 허용 그리고 여전히 수신자 표시. 포트 validation.ts (esign-core), 포함 checkbox/toggle는 리터 문자열 "true"와 multi select를 필요로 하는 규칙 비empty이어야하는 JSON 배열입니다...
템플릿 Signer 슬롯에 모든 수신자
Caller 공급되지 않는 signerUid, 그래서 수신자는 하나 없이 창조되었습니다. 회사연혁 signerUid에 의해 signer의 필드를 필터링, 그래서 myFields는 빈, CompleteStats를 다시 와서 0의 0을 요구하고, signer는 서명한 아무튼 압박할 수 있었...
법적 패키지 entities 플랜 추가
HR 법률 및 규정 준수 시리즈의 1 단계 : com.kamo.z.shared.hr.legal 법인 설정 및 스키마 마이그레이션.
푸시된 읽지 않은 수에서 메일 배지를 드라이브, 30s poll
MailButton ran setInterval(fetchUnreadCount, 30 000) 의 모든 열린 탭, 그리고 /api/email/folders라는 각 진드기 — 모든 폴더를 엽니다. mailbox는 배지를 필요로 한 정수를 생산합니다. 이메일 WebSocket 이미 연결되었...
Push INBOX unread counts over NATS/WebSocket instead of polling
The nav-top mail badge in kamo-internal refreshed itself by calling /api/email/folders every 30 seconds, per browser tab. That endpoint walks the entire folder ...
필요한 UNIQUE 인덱스가 생성될 때 실행 실패
는() 예외를 붙 잡았고, 실패한 CREATE UNIQUE INDEX가 보고되었습니다. 성공과 서비스는 모든 고유의 보증과 부팅 — 하나 런너가 막을 수 있습니다. 버전 색인 2 concurrent 없이 게시는 같은 버전 번호 및 할당을 핀으로 주위; attestation 색인 없이 1...
청중 FK와 attested wording 실제로 파악하십시오
전체 벤치 리뷰에서 다섯 가지 결함, 증거 경로의 모든. 관객 FKs는 캐스케이드하지 않았다. 캐스케이드 = CascadeType.DETACH는 persistence-context cascade와 DDL에서 아무것도 방출, 그래서 Hibernate는 창조했습니다 제한 없음. 부서 및 ...
법적 패키지 schema 랜드
저장소 스캔 목록에 com.kamo.z.shared.hr.legal을 추가하고 보장 독특하고 룩업은 엔티티티 매핑을 안전하게 표현할 수 없습니다.
기록 패키지 attestation as append-only proof
패키지 레벨 '나는 읽고 동의합니다'는 다른 법률 기기입니다 E-SIGN은 모든 문서 서명을 전달하며, 표시 가능한 문서없이 패키지에 대한 유일한 증거. Guards는 업데이트 거부 그리고 PhiAccessLog 메서드를 삭제합니다.
회원 할당 및 per-document 진행 추가
문서 행은 N e-sign envelopes가 하나의 패키지로 읽는 결합입니다. 배지 카운트는 할당 상태, e-sign 상태: 수신자 상태에는 VOIDED 또는 EXPIRED가 없습니다. void는 수신자 행을 결코 만지지 않습니다. 인정 전용 패키지에는 모든 봉투가 없습니다.
Freeze 패키지 내용 immutable 버전
ImgDat blob id 및 그 SHA-256, 그냥 imgId - Docs 저장을 핀 새로운 바이트에서 동일한 Img을 다시 점, 그래서 imgId 혼자 두 개의 회원 기호를하자 동일한 ids의 밑에 다른 문서. snapshots 디자인 너무, 그래서 실행 fixDesignJson의...
부서, 직업 유형 또는 이름 회원에 패키지를 대상
시스템에 연결UserAccess. TeamMemberRepo에 대한 청중 해결자를 추가합니다. 빈 인터페이스이었다; ACTIVE + recordState predicate is what keep 종결된 직원과 납품의 외출 후보자.
법적 패키지 템플릿 entities 추가
패키지는 바인더와 청중의 주문 세트입니다. Binder 참조는 바인더가 user-deletable이기 때문에 부드러운 에이즈와 아이템을 캐스케이드. 더 보기 attestation wording는 해시로 가득 차 있습니다 — 포인터는 증명할 수 없습니다 회원이 동의하는 것.
AddItem에 있는 문서/binder 수집 범위
BinderService.addItem는 접근을 확인하고 VAULT/LOAN 문서를 거부합니다. 하지만 문서의 자신의 컬렉션을 바인더에 비교하지 않는, 그래서 손으로 만들어진 요청은 여전히 다른 문서에서 문서를 교차 할 수 binder로 수집 - UI-only 수정은 API를 엽니다.
Scope 빈 바인더 (MY DOCS, '') 소유자의 회원 ID
My Docs DocManager는 assocObjectId prop을 전달하지 않고 항상 해결 및 쿼리 (3, ''). BACKFILL EMPTY SQL은 빈 바인더를 사용하여 (3, memberId) 대신 UI에 영구적으로 접근할 수 있도록 합니다. 추가하기 좁은 수리 진술은 바인더...
법률 및 규정 준수 디자인 및 바인더 득점 계획 추가
디자인은 HR 법률 및 규정 준수 모듈의 전체 크로스-레포 분석입니다. (패키지 템플릿, 배달, 실행 마법사, navtop 배지, 알림 이메일) 8개의 고정된 결정으로. 계획은 그 시리즈의 0 단계입니다: scoping 문서 수집에 바인더는에 속합니다.
Guard LoadBinders by request identity, 범위 값이 아닌
sameBinderScope 혼자는 SAME 범위를 위한 2개의 in-flight 요구 말할 수 없습니다 apart (A -> B -> A), 그래서 더 느린 이전 요청은 여전히 더 새로운 쓰기 할 수 이름 * monotonic 세대 카운터로 최신 요청을 추적, 그리고 더 넓은 중지 *...
열린 컬렉션에 속하는 바인더 만보기
주최자Tab은 이미 assocType/assocObjectId를 받았고 그들에게 전달했습니다. 편집기의 문서 선택기, 하지만 바인더 LIST unscoped로드 — 그래서 모든 DocManager는 동일한 풀과 바인더가 HR 리소스에 따라 열었습니다. 마케팅 문서로 채워집니다.
컬렉션의 바인더 매장 인식
상점은 단위 singleton입니다, 그래서 지금 활동 범위를 추적, 에 명확 범위 변경 및 스테이플 in-flight 응답을 삭제합니다.
NULL 열을 위한 Hibernate ddl-auto 행동에 정확한 javadoc
CockroachDB는 ADD COLUMN을 거부 ... 팝업에 DEFAULT없이 NULL을 거부 테이블, 그래서 Hibernate의 ddl 자동 시도 실패 (그렇게 기록되지 않음) 오히려 아니 opping. 예상된 무해한 ERROR 소음을 문서화하여 작업자 시작을 보는 것은 실제 실패...
한 컬렉션 내에서 바인더를 만들고
DocManager의 (assocType, assocObject)에 대한 가시 알림 쿼리 Id), 생성에 대한 범위를 스탬프, 복제에 상속, 및 범프 last modified binders row를 작성하지 않는 항목 mutations에서.
Backfill the collection 각각의 기존 바인더가 속한
Derives 첫번째 DOC 품목의 Img에서 범위; 빈 바인더는 뒤로 떨어졌습니다 내 문서의 소유자. backfill 후에만 NULL를 적용하지 않습니다.
Narrow 바인더 가시성
FindVisibleToMember를 범위 변형으로 바꾸고 2를 떨어뜨립니다. unreferenced finders that sorted by a dead date updated 열.
Binder 문서를 수집합니다
Binders는 assoc scoping가 없었다, 그래서 모든 DocManager는 동일한 세계를 렌더링 1인 풀과 바인더는 마케팅에 의해 HR로 채워질 수 있었습니다 문서. Img.assocId와 일치하기 위하여 ImageAssocType ordinal를 저장하십시오. 또한 app...
자동화된 계정 관리 대화 상자로 닫기 버튼을 추가하십시오
관리 팝업은 헤더에 감당하지 않았다 — only backdrop 및 Esc는 닫힙니다. 편집 작업 옆에 X 아이콘 버튼을 추가합니다.
그룹은 극대화 할 때 의미로 회의 초대장
동일한 반으로 형태를 나누는 것은 잘못된 단위를 사용했습니다. 그것은 날짜를 펴 창의 절반에 입력하고 멀리 가장자리에 그것의 모든 일 상자를 좌초했습니다, 왼쪽 몇 백 픽셀의 아무것도 추적하는 2 개의 짧은 시간 입력, 및 푸시 Reminders에서 전체 창폭을 추가하는 것은 속합니다....
DocManager 주최자 탭을 Binders로 변경
탭 목록 바인더, 그래서 그것이 무엇에 대해 이름을. 탭 라벨 및 포인트 이름의 사전 키 (tabs.binders, addToBinder);에서 행 동작 Picker 대화 상자 제목 및 빈 바인더 힌트는 사전 및 키 유지.
창이 극대화 될 때 도구 구성 요소를 말해
도구 창을 최대화 100vw/100vh에 쉘을 repaints하지만 잎 창의 저장된 크기 untouched, 그 저장된 크기는 ToolDock 손이 무엇이다 부품. 작곡 창은 360을 저장하므로 모든 너비의 Breakpoint가 내부에 있습니다. sat 영구적으로 좁은 측면에 큰 창문이...
문서가 기억된 급상승에서 열릴 때 페이지에 필드를 유지하십시오
문서가 작은 각 필드를 그릴 수 있으므로 코너에서, 때까지 줌 컨트롤의 한 번의 클릭은 모두 배치됩니다. 필드와 주석이 저장 된 페이지 상자는 이미 급상승에 의해 곱하고, 단지 곱한 효력 *changed*를 줌 때 랜. toolbox 상점은 단위 ROId, 그래서 급상승 세트입니다 세...
편집 가능한 몸에서 인용 된 원본을 유지
대답은 전체 인용 된 메시지를 Quill 편집기로 몸 텍스트로 떨어졌다. Quill는 간단한 격자만, 그래서 인용에 있는 각 배치 테이블만 할 수 있었습니다 flattened into one — and layout table are how Signatures and virtually a...
반환은 인용 된 서명의 gridded 사본을 그림
Kamo에서 보낸 메시지에 대한 답변은 서명 두 번 보여주었습니다. 라이브 하나, 그리고 그 위에 인용 된 원본의 mangled 버전, 경계로 그려 스프레드 시트. 두 개의 별도의 원인, 모두 여기에 고정. 그리드 라인은 a1798507에서 회귀했다. 그 변화는 각 <table>을 ...
회의 초대 필드를 최대화할 때 두 개의 컬럼으로 페어링합니다
초대 양식은 최대 규모의 작곡가 인 8 개의 전체 폭 행을 스택합니다. window pushed the body editor most of the way off screen while left half the 창의 폭은 입력의 측을 비웁니다. Maximized, 이제 필드는 기존 DO...
문서에 대 한 번호 페이지 리더 을 얻
Modifiers는 디자인의 페이지 색인을 끄고, 정체성입니다. 파괴 및 재주문, 위치가 아닙니다. 그래서 삭제 페이지 2 왼쪽 "Page 3 of 5"를 4 페이지의 세 번째로 보여주는 미리보기. 페이지 번호와 modifier 페이지는 이제 완성된 순서에 대해 해결합니다. 삭제 된 ...
서명된 문서에 페이지 작업 및 수정을 적용
디자이너는 항상 페이지를 회전, 삭제, 주문 및 추가 공백, 플러스 제공 워터 마크, 페이지 번호 및 라벨 modifiers, 그리고 flatten 읽지 않은 것: 그것은 소스 페이지와 appended 인증서에 각인된 필드 값. 자주 묻는 질문 아직도 배송, 당신이 구성 된 워터 마크는...
Stop tracking build 출력
대상/은 여기에 전념, 혼자 Java 서비스 중 - 다른 모든 것 그것을 무시합니다. 모든 빌드에 churn을 보고, 클래스를 컴파일 할 수 있습니다 소스에 관계되는 stale입니다.
모든 팝업 도구 창 40px 더 많은 룸 모두 axes
레지스트리의 각 도구의 디폴트 크기와 minSize는 40x40로 성장하며, 그와 함께 하드 코딩 된 기하학은 오히려 배설보다 계약 중 : - CalculatorTool의 per-mode size table, 계산기의 거울 기본값. - AiChatWindow의 복원 된 크기. 420x...
전화를 두지 않고 소프트 폰에 번호를로드
커넥티드 카드에 확장 또는 숫자를 태핑하므로 autoDial을 통과 호출은 softphone 등록 된 순간을 갔다. 카드는 호버에 열립니다, colleague 또는 클라이언트 1개의 stray 포인터 및 1개의 누르기에 살아있는 전화를 두는 그대는 그대에게도 없다. 지금 softpho...
카드의 읽는 라벨을 호흡하는 방
라벨 열은 손으로 찍은 76px이었다. DEPARTMENT는 그것 보다는 더 넓습니다, 그래서 그것 그것의 상자 및 sat 플러시를 흘러 내지 않고, LOCAL TIME 2개의 선에 감싸. 행은 이제 두 개의 열망이 있습니다. 긴 라벨, 또한 번역을 살아남는 - 같은 단어는 더 길다 ...
끌기, 커트, 사본 및 풀 수신자 칩 사이 To, Cc 및 Bcc
Bcc에서 누군가가 칩을 삭제하고 주소를 입력하지 않는 기억에서 다시. 칩은 지금 선택할 수 있고 끌기 일 수 있습니다 다른 세 가지 필드 중 하나에서 클립 보드. - 칩을 선택하세요. ctrl/cmd-click toggles and shift-click 범위가 걸립니다. 정보 카드는...