Commit Graph
11 Commits
Author SHA1 Message Date
thanhnvandClaude Opus 5 9d42d38d83 fix(jira-knowledge): replace popup with inline help toggle for macOS reliability
QFrame+Qt.Popup and QDialog popups are unreliable on macOS inside
QDialog parents — they may appear behind the parent or not receive
clicks. Replace with a simple inline QLabel that toggles visibility
when the ? button is clicked. This is the most reliable approach
across all platforms.

- Add self._inline_help QLabel below the mapping input (hidden by default)
- _toggle_inline_help() simply shows/hides the label
- Styled with dark background, blue border, matching the app theme
- No external popup windows needed

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 10:21:45 +09:00
thanhnvandClaude Opus 5 c2a9ea22f3 fix(jira-knowledge): use QDialog popup instead of QFrame+Qt.Popup for macOS compatibility
Qt.Popup flag is unreliable on macOS inside QDialog parents — popup may
appear behind the parent or not receive clicks. Replace with a small
QDialog using Qt.Tool|Qt.FramelessWindowHint which is stable on macOS.

- Add explicit close button (✕) in the popup
- Call activateWindow() to ensure popup gets focus
- Position 4px below the help button for visual separation

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 10:16:47 +09:00
thanhnvandClaude Opus 5 0cb6035863 fix(jira-knowledge): replace hover tooltip with click-based popup for help button
Native Qt tooltips on macOS are unreliable (delayed or invisible). Replace
with a QFrame popup that appears on click, positioned below the ? button,
and closes when clicking elsewhere (Qt.Popup flag handles ESC and outside-click).

- Store help text in self._help_text instead of setToolTip()
- Add _toggle_help_popup() method: creates/destroys floating QFrame
- Update test to check _help_text attribute instead of toolTip()

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 10:08:15 +09:00
thanhnvandClaude Opus 5 42f4a058ea feat(jira-knowledge): add contextual help tooltips and inline validation for Project Mapping
- Add QToolButton help icon (?) next to Project Mapping label
- Implement comprehensive tooltip explaining Project ID and Jira Key concepts
- Add inline validation to detect common mistake: entering issue keys (ABC-123) instead of project keys (ABC)
- Add 13 new i18n keys for help text in English, Vietnamese, and Japanese
- Add 15 comprehensive UX tests covering icon presence, tooltip content, validation logic, and accessibility
- Update jira-knowledge-guide.md with help icon reference and setup instructions
- Fix missing _on_paste method that was causing AttributeError

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 01:38:41 +09:00
thanhnv 9b4dc01c1a feat(jira-knowledge): complete production capability (UI, Observability, Docs, Regression)
- Phase 9: Extend JiraConnectDialog with Project Knowledge config, mapping, and Sync Now button
- Phase 10: Wire JiraSyncService to CanonicalAuditLogger for sync start/complete/fail events
- Phase 11: Add retrieval regression suite with synthetic corpus and baseline metrics
- Phase 14: Add comprehensive production guide (docs/jira-knowledge-guide.md)
- Fix UI status label references (self.status -> self.conn_status)
- Implement real sync trigger logic in UI using JiraSyncService
2026-09-07 01:42:45 +09:00
thanhnv 1caded98e9 fix(jira): support Jira Server/Data Center Bearer auth alongside Cloud Basic auth
Jira Server self-hosted instances (e.g. insight.fsoft.com.vn) reject
Basic Auth with email+API token (403). Auto-detect by hostname:
- *.atlassian.net → Basic Auth (email + API token)
- everything else → Bearer header with Personal Access Token

User pastes PAT into the same 'API token' field in UI Connectors.
2026-09-07 00:53:26 +09:00
thanhnv 4cdd4fc98e update project knowledge function 2026-09-07 00:10:08 +09:00
thanhnv e5fa21ecfd feat(mcp): add project issue context and knowledge search
CI / test (push) Canceled after 0s
CI / test (pull_request) Canceled after 0s
2026-09-05 09:32:08 +09:00
thanhnv 202925e6ed feat(mcp): scaffold three project context tools
CI / test (pull_request) Canceled after 0s
2026-08-20 20:50:37 +07:00
thanhnv 3827552909 fix(security): remove shared unlock defaults 2026-08-20 20:20:04 +07:00
thanhnv 414eaddca3 chore(repo): initialize Cowork Local Gitea repository
CI / test (push) Canceled after 0s
2026-08-09 20:12:05 +07:00