KamoPBX 구현 계획 (프로그램 + 9 단계)
단계별 1개의 계획으로 분해; 단일 계획은 생성하지 않을 것입니다 끝까지 일 소프트웨어. 가득 차있는 가닥 크기 TDD 세부사항: 단계 0 인프라 게이트 (방화벽, TURN-TLS, 포트 테이블) 단계 1 포크 및 빌드 (5 저장소, CI, 이미지) 단계 2 단일 영역 스택 (실제 통...
기록 KamoPBX 결정 - KAZOO 확인, k3m1 배치, ACDc, Tier 3 브랜드
대답되는 6개의 열려있는 질문: 1. KAZOO는 노선입니다; 소유된 기계설비, 그래서 완전히 제거된 framing 비용. 2. 1개의 노드/ 클러스터 지금, 3개의 나중에 — CouchDB q=8 일에서 (shard count) DB 작성에 고정되어 있습니다. n은 나중에 제기 할 수...
닫기 SW5
6 출발. 가장 날카로운: 작업 책 프록시는에서 복사 할 수 없습니다 따옴표 프록시, 이는 PATCH 및 PUT를 내보내는 - 동사각형 복사 모든 읽기 작업과 모든 저장 405 다음에서, 조용히. 카탈로그 버전을 피하기 전에 DDL을 적용하는 기록 완전히 창: 0은 지난 10 분 동안...
BaseLosController's unauthorized()/forbidden()는 존재하지 않습니다
작업 간결은 그 도우미가 발명하고하지 않았다는 것을 주장 현재 위치 requireOrgId는 사실하지 않습니다; 그 두 가지는, 보호 선언 BadRequest/notFound/conflict와 함께 BaseLosController에 정적. QuoteController는 해당 상태의 bo...
Enum-ordering 트랩 PBX 롤아웃 히트 기록
그의 price model가 새로운 enum 값이 행하는 카탈로그 행을 Seeding 이전의 공유-lib에 여전히 어떤 서비스에 읽을 수 있으며 getCatalog로드 ONE 쿼리의 모든 활성 애드온 - 그래서 하나의 나쁜 행은 전체 카탈로그를 아래로 가지고, 공공 가격 페이지 및 주문...
복원 SW4의 닫기 아웃, stale 작업 트리 편집에 손실
이전 커밋은 이 계획의 온 디스크 복사본을 편집했습니다. Shipped 단면도 — 그 단면도는 scratchpad 사본과 착륙된 거기에서, 그래서 작업 나무가 없었다. 파일 편집 따라서 123의 선을 거꾸로 했습니다. 4136abc2에서 복구하고 DDL 경고는 정상에 재 승인.
DDL 적용은 40001 창을 엽니 다 — 그것을 보고, 재시작하지 마십시오
카탈로그 버전이 오래된 것을 들고있는 JDBC 연결 풀을 나타낸다 그리고 각을 통해 다음 쿼리는 SQLState 40001을 실패, Hibernate는 retry, 그래서 그것은 500 사용자에 도달. 오늘 측정 : 41 10 분 3개의 서비스를 통해, 17 안에 0. 그것을 명확하게...
닫기 SW4
나인 출발. 가장 중요한 두 가지 :이 계획의 자체 검토 세 곳에서 일관되고, 일관되게 그리고 틀린; 그리고 D4 시험은 둘 다로 통과한 tautology이었습니다 삭제 된 감시. 또한 cp -al build-copy 조리법이 소스를 격리하지 않았는지 기록합니다.
QuoteConversionResult.orderUid는 문자열이며, UUID가 아닙니다
주문은 BaseEntity를 확장합니다. 즉, id는 Long — only Quote, QuoteOption 및 QuoteLineItem 확장 BaseUuidEntity. 계획은 UUID와 그 자체를 선언 Self-Review는 세 곳에서 일관되게되었습니다. 그것은 컴파일되지 않았습니다...
SW4의 사전 키 토지
Task 6a의 파일 목록은 kamo-internal/messages/en.json이라는 이름입니다. gitignored는 약속 할 수 없습니다. 단계의 prose는 맞았다; 목록 아니.
계획 SW5, 평면 작업 책
Spec의 전제는 선이 노동 내구가 stale 시간을 갔다는 것을 전제합니다 이전 — SW3 착륙 labourMinutes and taskCode on ServiceLineItem, 과 taskCode의 javadoc은 이 하위 프로젝트의 이름을 붙입니다. 대부분의 모양은 이미 소매 ...
메일박스 청구 및 개인 메일박스 백엔드 계획
계획 B와 C의 3. Self-review는 5개의 격차를 닫았습니다: mail cost mode를 놓지 않는 것은, 서버 측은 mail add-ons를 사는 청구 그룹을 중단했습니다, 송장 mailbox-count 란은 작업이 없었다, 계획 C의 OAuth는 침묵적으로 깨어 났습니다 ...
Spec - StorageAutoExpandSweep 이미 존재
Spec는 reuse에 존재하지 않는 서버 중심 양 reconciler를 주장했습니다 저장 자동 폭발 열을 죽은대로 나열했습니다. 둘 다 거짓: 청소는 읽습니다 그날 밤과 사서함 리콘서를 위한 올바른 모델입니다.
디자인 per-mailbox 이메일 청구 및 부가 기능
해당 이용 후기에 달린 코멘트가 없습니다. 그것을 덮는 추가에, 그리고 각 mailbox를 청구하는 속성 그것을 지불해야 그룹. 또한 두 개의 인접한 간격이 작업이 실행됩니다. is primary는 독특합니다. 회원 당, 그래서 두 번째 회원은 mailbox 중지를 주장 누구에게나 정...
SW4의 시장없는 견적에 대한 행동 정의
Task 1 만든 create() read marketUid 하지만 backfill 하지 않았다, 그래서 모든 견적 그 존재는 여전히 null 시장이 있습니다. 변환기는 다시 PurchaseLineItem 오히려 던지기 보다는 - 던지는 변환을 만들 것입니다 시스템에서 모든 견적에 대해...
SW4의 청구 선택은 per-org 윤곽입니다
소유자의 전화 및 오른쪽 : 유지 보수 계약자 청구서 각 기간, 자본 비용 설치자 청구 기간을 앞. 하드 코딩 선택은 절반 임의 금액과 순서의 총입니다 실제 캡처 된 지불. Task 5a (OrgPOSConfig 칼럼) 및 Task 6a (제어) 추가 및 기타 제품 Task 6's C...
Plan SW4, quote to order conversion
Five defects, not the spec's three. The converter deliberately does NOT mint a Commitment: processOrderPaid returns immediately when one exists, so hand-creatin...
채팅 스위처 란 왼쪽 undone 기록
자주 묻는 질문 첫 번째 항목은 가치가 있습니다. MediaService에서 볼 수 없었던 5개의 Switcher의 6개의 물통 그 엔드포인트를 통해 페이지.
닫기 SW3
계획에서 15 출발. 가장 중요 한 두: OrderLineItem .discountType은 문자열이 없고, DDL을 전출해야 한다. DEFAULT unique rowid()를 상속하는 3개의 외국 열쇠를 보여주었습니다 — 각각의 임의의의 id를 가지고 있습니다. 5 작업은 작성되지 ...
Correct SW3의 ServiceJob 수입품과 핀 PROCUREMENT 함정
작업 2 가져온 dao.beans.account. 계정 및 dao.beans.organization .Organization. 실제 패키지는 계정과 orgs입니다 - 그것은 가지고 있지 않습니다 컴파일. 작업 6의 지원()은 EngagementType.SERVICE에 직접 일치해야 하...
SW3 계획의 정책 템플릿 요구
Task 6는 RetailInventoryPolicy에서 구현된 멤버로 지적했습니다. 정책 가족에서 사출 모양을 복사합니다. 그것은 결코 즉석이고 결코 injected — InventoryPolicy that RetailService References는 관련 항목 가족의 모든 구성원은...
계획 SW3, 서비스 작업 도메인 핵심
ServiceJob 1..N ServiceVisit는 FulfillmentOrder, 채워진 ServiceLineItem, 4 분류 축 및 상태 기계 응답 대신에 던져 200 아무것도 변경. Task 5는 생산에 대한 KamoInitializer를 실행하고 소유자에 문질러 확인: dd...
닫기 SW2
4개의 작업, 계획에서 5개의 출발. 가장 날카로운: 계획의 자신의 제한 사항 Mask snippet는 null dayOfWeek를 필터링했습니다. day' — 마스크를 비난하고 모든 것을 침묵으로 비활성화해야합니다. 일주일에 한하지 않고 구성 된 어린이 제한.
SW2 계획에서 두 오류를 수정
Rsync 레시피는 bare 'rsync -a'를 사용하며, mtimes를 보존합니다. 이전 버전에 복원 .class보다 이전 도착 나중에 컴파일 된, 그래서 Maven은 그것을 건너 뛰고 테스트 운동 stale 바이트 코드. 이 비트 동안 검증 작업 1 : 가드가 실패 결함은 이미 디...
계획 SW2, 세 가지 캘린더 수리
연구는 1 점에 spec를 정정했습니다: recurrence는 둘 다에 죽지 않습니다 끝. UI는 오늘 달력 페이지에 렌더링하고 침묵적으로 무슨을 방해 회원가입.
알림-spine 후속, triaged
33-task 계획에서 항목을 Deferred, 모든 리뷰 및 모든 비 차단에 의해 제기. 전체 벤치 검토의 4 개의 콧물 찾기가 고정되어 나열되지 않았습니다. vitest.config.ts의 누락된 app/contexts/** 으로 시작한다 — 그것은 무엇인가 자주 묻는 질문.
대신 softphone 측정을 가져 가라
38은 지난 30일 동안 PHONE CALL LOG의 전체 역사에서 전화합니다. 더 보기 drop-then-redial 지문은 4 쌍, 모든 규정 테스트 호출을 찾습니다 4월. 그래서 떨어졌다 불평은 실제하지만 그들의 불분명은 0 근처에 있습니다. 두 주 telemetry 대기는 데이터...
계획 서비스 일의 첫 번째 권리와 상업 허가 격차
진짜 부호에 대하여 2개의 spec assumptions: 역할 없음 유형 사용 ****** ************************************************************************************************************...
행 창 실행 표시
4개의 repos를 통하여 발송된 모든 8개의 작업, 4개의 deliberate 탈선과 더불어 기록 — most importantly that Task 6's call surface was written fresh 오히려 2,078-line 파일에서 추출한 것보다 동시 세션이 편집되었습...
결정 기록 유지 - 18 돌진 및 잘못된 경우 각 비용
계획은 배송 된 것을 기록합니다. 이 기록은 왜 계획과 다릅니다. 세 개의 rulings 자체가 나중에 검토에 의해 수정되었습니다 (스트라이프 쓰기 개수는 15 -> 15 -> 14 -> 20, 키링 규칙을 갔다 'every write' -> 'creates only' -> 'durab...
KamoDesktop 링크는 현재 단일 사용
댓글은 재부팅 재부팅 ?data=을 주장하고 세션을 복원. 그것은 없습니다 더 긴: 링크는 순간을 보냈다 탭이 열리고, 그래서 그것은 가치가 없다 역사상 또는 재개폐된탭 목록에서 - 포인트입니다. Kamo 로그인에 착륙을 새로 고침하고, 이 아이콘을 다시 한 번.
돈 공감 버그를 지시하는 계획을 중지하여 수정되었습니다
작업 8 단계 4 여전히 리더가 키 업데이트 / CANcel / detach / 델에 말했다 "키에서 현재 의도". 그것은 중요 한 결함 최종 검토 반전: 그 호출은 명시된 대상 상태를 설정, 그래서 안정적인 키가 전환 합법적인 재발행은 침묵적으로 삼키는 no-op로 - 취소, 재활성화...
Softphone spec의 가장 큰 열려있는 질문 응답
클러스터에서 검증 된 라이브 : 모든 FreePBX AOR는 max contacts=1이며 remove existing=yes를 제거하십시오. 그 값은 어떤 Kamo repo에서 아무것도 설정되지 않았다, 왜 그것은 unchecked 갔다 - 전체 단계 2 이중 등록 위험은 켜져 그것은...
Softphone guardrails 계획 실행 표시
Real SHAs는 placeholder의 장소에, 그리고 47 단계 ticked. 완료된 버려진 작업으로 모든 체크 박스를 보여주는 계획.
Softphone line window 구현 계획
Spec가 2개의 subsystems 및 첫번째 배 일을 커버하기 때문에 2개의 계획, 자체에 소프트웨어. 난간 계획은 새로운 검색 컨텍스트가 필요없는 7 가지 작업입니다. beforeunload 확인, 도구:requestClose veto, 세션으로 라이브 호출 활동, pagehid...
소프트폰 라인 윈도우 디자인
호출은 시작 후 창으로 이동할 수 없습니다 — RTCPeerConnection 그리고 미디어스트림은 검색 컨텍스트 사이에 이동할 수 없습니다. re-attach에 서버 측 호출 손잡이가 없습니다. 그래서 창은 호출을 두는 것, 이는 호출보다 LINE을 만드는 것: 그것은 소프트 폰과 함...
Dispatch/Service Work 프로그램 설계 및 그 증거 손상을 해결
두 프로그램 specs 및 모든 56 연구 파일은 추적되지 않았고 만 존재 한 디스크에 HANDOFF.md는 다음 세션을 먼저 읽습니다. 또한 4 명의 소유자 결정과 세 가지 주장을 수정 실제 코드에 대해 확인하고 false를 발견했습니다. - 'BillingService는 순서를 볼...
BillingService, shared-library 및 APIService를 통해 웹훅 경화 및 idempotency 계획
10 가지 작업, TDD 전반적으로, severity는 실제로 무엇을 복원 인증: 줄무늬 실패 개방은 늦게 (비밀은 prod, 38에서 존재합니다) 바이트)와 두 개의 소매가 실패 개방은 오늘 (0 행) **************** 그러나 소매점은 진짜로 입니다 첫 번째 구성 공급자에...
조용한 hexheads 및 알림 척추 구현 계획
순서가 짐 방위인 5 단계의 맞은편에 33 작업: schema는 실행되어야 합니다 모든 서비스지도 열 전에, 서비스 전에 출판 된 라이브러리 kamo-internal pins 앞에 간행된 구조 및 공구 핵심.
조용한 hexheads 및 per-surface 알림에 대한 설계
채팅 창을 최소화하여 모든 도착 메시지에 자체를 엽니다. 헥스 헤드 대신 흡수해야 한다 — count, thump, stay put — and only a interactive with 창문과 그 자체의 머리는 팝해야합니다. 수를 정직하게 만들기는 더 큰 절반: 다섯 대화의 3 표면 ...
웹 사이트 브랜드 스캔 디자인
/network/create 웹 사이트 필드는 로고, 색상 및 세 가지 브랜딩 단계에 대한 배경 제안. 나중에 잘못되기 쉬운 두 가지 기록 : 왜 fetch가 모든 서버 측에 일어나기 (CORS, 화포 tainting 및 페이지의 자신의 img-src 정책 각 규칙은 브라우저를 수행)...
KamoDesktop SSO 토큰의 수명이 실제로 무엇인지 정확히 파악하십시오
링크 "짧은 라이브, 단일 사용" 및 "5 분"라고 불리는 의견은, 토큰 만료가 URL 상환 창이 된 경우 설정되는 것. 데스크톱 세션의 재연결 창입니다. 또한 기록 왜 탭이 스크럽보다는 전체 URL에 점유 : 다시로드 ?data = 로그인 화면에서 dead-ending 대신 세션을 복...
Java 필드 주문이 DDL 키 순서를 제어하지 않는 기록
Ddl-auto가 실제로 내장 된 동안 통과 한 복합 키 assertion PRIMARY KEY (logical id, resource type, tenant id) - Hibernate는 방출합니다 @EmbeddedId 열 ALPHABETICALLY, 선언 순서에 아닙니다. 유가바이트...