FIX UI: simplify profile controls and settings - #143
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: https://github.com/lefinepro/kefine/issues/140
…tors
Addresses issue #140 (FIX UI) — simplify the profile page, reduce
duplication, and keep internal/secret data out of the public view.
Public view:
- Render declared widgets directly inside the profile (KefineProfileWidgets)
instead of only behind the command palette.
- Keep tasks ("Profile tasks" / new-task row) private — they only render
for the owner, never in the public view.
Owner editor:
- Split into clearly labelled "Public profile" and "Private zone" sections
for a consistent public/private separation.
- Remove the raw Org textarea editors (Profile tasks / workspace widgets).
- Move secret data (SSH key + private key) into the private settings zone.
- Auto-generate the private key as a random string (persisted via the
publickey cookie) and show it read-only.
- Relocate copy/download/save actions into a single footer.
Removals:
- Remove the "$100 bonus" card flow entirely: bonus card panel/input
components, the bin-lookup API route, the dead verifyProfileCard flow in
KefineWorkspace, and the bonus e2e spec. The referral bonus is unaffected.
Tests:
- Rewrite e2e/profile-repository.spec.ts to assert tasks stay private and
declared widgets render inline in the public profile.
Screenshots of the owner and public views added under docs/screenshots/.
Working session summaryThat earlier background monitor has now finished too — it confirms the same result I already verified directly: CI run 27013228765 completed successfully. Everything is done and confirmed:
No further action needed. This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost: $10.253337📊 Context and tokens usage:Claude Opus 4.8: (3 sub-sessions)
Total: (15.9K new + 377.2K cache writes + 11.7M cache reads) input tokens, 77.8K output tokens, $10.253338 cost 🤖 Models used:
📎 Log file uploaded as Gist (6210KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
This reverts commit 049e91a.
|
You can remove the Solver profile as well as the oauth link. |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-05T12:13:24.132Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Addresses PR #143 review feedback from the issue author: the Solver profile card (an OAuth-style workspace connection element) is removed from the profile's private zone. Cleans up the component, derived state, copy handlers, e2e coverage, locale strings (en/ru/hy), and the ProfileMetadata solver fields. The private zone now shows only the SSH public key and the auto-generated private key. Refs #140
|
Done — removed the Solver profile card and its OAuth-style connection link from the Private zone in d7c3c25. This also cleans up everything tied to it:
The Private zone now shows only the SSH public key and the auto-generated private key. Owner screenshot in the PR description is regenerated to reflect this. Lint/type-check pass with 0 errors. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost: $4.135584📊 Context and tokens usage:Claude Opus 4.8: (2 sub-sessions)
Total: (7.0K new + 133.0K cache writes + 4.9M cache reads) input tokens, 32.0K output tokens, $4.135584 cost 🤖 Models used:
📎 Log file uploaded as Gist (3077KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-05T12:31:43.674Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
|
Fixed the oversized social-link rows in commit 79a7657. The owner editor now uses compact form-control sizing for social links, the owner screenshot was refreshed, and I added an E2E assertion that keeps the social-link input font size <= 15px and row height <= 44px. Local verification passed: pnpm lint, pnpm check, pnpm test, pnpm test:integration, targeted profile E2E, full pnpm test:e2e, and pnpm build. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (300.2K + 6.1M cached) input tokens, 23.6K output tokens, $10.183632 cost 🤖 Models used:
📎 Log file uploaded as Repository (37586KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
|
Short info block remove, ssh key in a publick and support more 1 ssh key, privatekey is remove field |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-05T12:57:01.400Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Working session summaryImplemented and pushed the review updates to PR #143: What changed:
Verification:
This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (642.8K + 9.6M cached) input tokens, 47.1K output tokens, $18.130161 cost 🤖 Models used:
📎 Log file uploaded as Repository (59815KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
|
download and open copy in button on header hide, open the menu of download button and open social org profile, download and more. In a settings add support ssh key adding, theme settings and language |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-05T14:07:13.085Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Working session summaryImplemented and pushed commit Updated PR 143: #143 What changed:
Verification:
This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (544.0K + 9.5M cached) input tokens, 38.3K output tokens, $16.683917 cost 🤖 Models used:
📎 Log file uploaded as Repository (61138KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
|
Settings into modal on header please for profile |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-05T15:36:14.755Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Working session summaryImplemented the latest PR feedback in commit Updated and pushed PR #143: #143 Verified locally:
Also refreshed the owner screenshots and updated the PR description. The PR is marked ready for review. Fresh CI and Lighthouse runs for This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (186.3K + 2.2M cached) input tokens, 11.0K output tokens, $4.605303 cost 🤖 Models used:
📎 Log file uploaded as Gist (20136KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |

Fix profile UI (issue #140)
Closes #140.
This PR simplifies the profile page, keeps owner-only tasks private, removes secret/private-key profile UI, and moves owner settings into a header modal as requested in review.
What changed
Public view
Owner editor and header actions
Repository SSH API
actor_ssh_public_keyswith(actor_handle, public_key)as the key.actor_ssh_keysdata is migrated into the plural table on setup.GET/PUT /actor/:username/keys/sshreturn both legacypublicKeyand pluralpublicKeysfor compatibility.Earlier cleanup still included
How to reproduce / verify
/@<handle>as a public viewer with a seeded public profile. The README and inline widgets render, while owner tasks, secrets, and editor controls are absent.publicKeysarray and profile metadata keepssshPublicKeysplus a legacysshPublicKeymirror.Tests
pnpm lint-> 0 errors, 19 existing warnings.pnpm check-> 0 errors, 63 existing warnings.pnpm test:e2e e2e/profile-repository.spec.ts-> 12 passed.pnpm build-> passed.pnpm test,pnpm test:integration, fullpnpm test:e2e, and addedcrater/spec/lepos_ssh_key_store_spec.cr; local Crystal execution was not available becausecrystalandshardsare not installed in this workspace.Screenshots
Public view (README + inline widgets only for visitors; no owner task controls or secrets):
Owner view (header social.org menu plus header Settings modal with SSH keys/theme/language):