Add capabilities, SIP credentials, and call management REST controllers
Implement RingCentral call management methods (sip, history, voicemail, presence, queues)
Extend PhoneProvider interface with call management methods; update stubs
Add OAuth callback forwarding with no-redirect RestTemplate
- Add noRedirectRestTemplate bean (HttpClient.Redirect.NEVER) so the 302 from VOIPService's OAuth callback is passed through to the browser instead of being...
Replace JWT config with OAuth connect UI for RingCentral
- RingCentralConfig: OAuth connect/disconnect button with status indicator, main phone number field, test connection (only when connected) - voipApi: add getO...
Refactor RingCentral to OAuth 2.0 Authorization Code flow
- New OAuthController: /oauth/start (returns authUrl), /oauth/callback (exchanges code, saves tokens), /oauth/status, DELETE /oauth/token - OTKValidationFilte...
Create KamoTokens schema and org_oauth_token table
- CREATE SCHEMA IF NOT EXISTS kamotokens - CREATE TABLE kamotokens.org_oauth_token with unique (org_id, provider) - DROP COLUMN jwt_key from voip_provider_confi...
为 OAuth 2.0 令牌存储添加 OrgOAuthToken 实体
- 在卡莫托肯斯计划(kamotokens.org oauth token)中添加 OrgOAuthToken实体 - 添加 OrgOuth Token 存储器, 并找到 ByOrgIdAnd Provider / 删除 ByOrgIdAndProvider - 从VoipProviderConfig(由OAuth流取...
Equal-height feature cards and Kazoo-aware provider descriptions
- Set height: 100% on FeatureCard motion wrapper so cards in the same row match the tallest card - Update KamoPBX description to highlight Kazoo as a carrier-gr...
Add SmsChatTab with search, emoji, attach, timestamps, quick replies
Add SMS tool button to NavTop, gate softphone + SMS on organization.isVoip
Redesign phone provider setup to match email provider format with logos, help tips, and correct nav tabs
- Rewrite PhoneProviderSetup to match EmailProviderSetup pattern: list/config view split, AnimatePresence transitions, back button with provider name in header,...
Add Personal Calendars & Contacts section to member membership-permissions tab
Add PersonalProviderSection component for member CalDav/CardDav integrations
Initial DaemonService project — Quartz jobs, NATS publishers, K8s, CI/CD
Write ContactSyncLog on calendar/contact mutations for bidirectional sync
Add Google, Microsoft, and GenericDav provider stubs with token refreshers
Add IntegrationSettingsController, IntegrationSettingsService, SyncTriggerPublisher stub
Add GroupwareProvider interface, ProviderContext, and model classes
- GroupwareProvider interface defines calendar and contact book operations - ProviderContext carries runtime context for provider invocations - Model classes: P...
CalDav/CardDav Part 4 — schema indexes and email repo scan
- Add supplemental indexes on **************** and **************** via SchemaCleanupRunner (Hibernate ddl-auto:update adds the FK columns; indexes are extr...
CalDav/CardDav 第4部分——共享库库和实体添加
- 添加联系人整合 FK 到联系人Book 实体 - 添加查找ByContact集成Id到用户算法仓库 - 添加查找ByContact集成Id到联系文件库 - 添加 findByStatusIsNull 到联系人同步日志存储库 - 以 QQ 创建日历晚报存储器
Add proxyDav route, fix forward() body guard for DAV methods, add email service URL
Add CardDavController and ContactService DAV methods for CardDAV support
添加查找ByUid和ContactBookId,查找已更改 自此, 查找已删除的连接仓库; 将查找 ByOwnerId 添加到连接库
Add CalDavController and CalendarService DAV methods
Adds findEventByUid, getChangedEventsSince, getDeletedEventsSince to CalendarService. Adds CalDavController handling PROPFIND, REPORT, MKCALENDAR, PROPPATCH, GE...