38 Commits

Author SHA1 Message Date
Huakun Shen
da8e37c4a1
Security with cryptography (#32)
* Add some experiment code for crypto crate

* feat: add crypto crate with ssl, rsa, ed25519 for https, encryption, signing

* Implement aes encryption helper in crypto crate

* ci: add dep for CI rust test (protobuf)

* fix: try to fix window CI with next

* fix: CI

* ci: add dep for ubuntu

* ci: fix

* fix: openssl lib path in CI

* fix: CI

* update applications-rs, disable some tests

* fix: CI

* feat: add file transfer grpc proto and server setup

* CI: try to fix CI

* fix: missing proto in build.rs

* ci: add cargo build before cargo test

* fix: grpc file descriptor

* ci: fix CI by removing a redundant main.rs

* fix: disable local windows test in applications-rs which fails CI

* ci: run CI rust test only on ubuntu, windows is failing. will be handled in another PR

* fix: vue template

* fix: allow unused variable

* fix: remove node:buffer type from api shell.ts to avoid frontend build error

* try to fix test in create-kunkun

* upgrade api to 0.0.44, remove node:buffer

* upgrade next template to 15

* feat: turn the default server into a https server

* feat: make SSL certificate loadable from env

* feat: add conditional SSL cert

in debug mode, use local default cert, in production generate new self-signed cert every time app starts

* chore: add vscode debug config

* feat: add server public key

* feat: setup sqlite db encryption

* fix: settings hotkey

* chore: add .gitkeep

* ci: add node-fetch to dep for api package
2024-11-24 00:45:36 -05:00
Huakun Shen
84b82f47a4
Improve Icon Multiplexer (#31)
* feat: improve IconMultiplexer

* feat: add built-in command "reload extensions"

* bump package version

* feat: replace @gcornut/valibot-json-schema with @valibot/to-json-schema

* fix: some icon bug

* fix: import path

* ci: debug
2024-11-21 07:04:48 -05:00
Huakun Shen
b7724a25ee
Upgrade svelte templates to use @kksh/svelte5 (#29)
* chore: add workspace settings in root package.json

* update dependencies

* upgrade: @kksh/svelte to @kksh/svelte5 in two svelte tempaltes

* feat: add fallback for image multiplexer

* ci: remove bun.lockb from root to avoid cloudflare error
2024-11-21 01:57:48 -05:00
Huakun Shen
ad30a8c3bb
fix: duplicate api calls from comlink (#27)
* refactor: replace comlink with kkrpc

* fix: import path in api pkg and btn styling in ui iframe page

* fix: fixed fetch API from kkRPC migrate

* refactor: replace comlink-stdio with kkrpc

* update deno lock

* bump @kksh/api

* update API version

* publish api pkg again to fix kkrpc version

* update pnpm lock

* dep: fix dependency problems

* dep: update deno.lock

* chore: remove 2 submodules

they were added only for integration development

* update pnpm lock

* fix: test template path

* format: with prettier

* downgrade next version

* ci: try to fix next build on windows

* try to fix CI

* Revert "try to fix CI"

This reverts commit b9c63c392f50f1d2d3ceec406e49b1af2348c740.

* upgrade tauri-api-adapter

* try to fix next

* remove templates from pnpm workspace

* update CI test

* publish @kksh/api with upgraded tauri-api-adapter to fix nextjs template
2024-11-19 05:57:31 -05:00
Huakun Shen
e812d4229d
refactor: move templates folder 2024-11-15 18:28:57 -05:00
Huakun Shen
5ead38bf71
Add extension templates, create-kunkun and cli package (#26)
* chore: add extension templates

* feat: add create-kunkun and cli package

* fix: cli and create-kunkun package location

* fix: cli package test

* ci: run test for CI pipeline only on Linux

The most important E2E test is run with docker, Linux anyways, no need to run on Mac and Windows
2024-11-15 18:15:17 -05:00
Huakun Shen
e9609cf8ee
Update Extension API (#25)
* feat: add file drop API to ui worker extension

* update: some shell API
2024-11-15 17:39:01 -05:00
Huakun Shen
7b9be980b9
feat: implement extension spawned process auto cleanup
If extension doesn't kill the processes it spawns, Kunkun will auto clean up all spawned processes on exit/window close
2024-11-12 14:40:27 -05:00
Huakun Shen
fb0e5761c9
style: UI style updates 2024-11-12 14:06:44 -05:00
Huakun Shen
292d03a51e style: disable window decoration and fixed a flex box issue from unocss 2024-11-12 12:48:03 -05:00
Huakun Shen
c7003326db
fix: implemented file server for custom UI commands on Windows (#24) 2024-11-12 12:25:24 -05:00
Huakun Shen
7865d18580
Feature: Settings (#23)
* feat: add pin screenshot builtin command

* feat: pin screenshot command nows zoom and scroll

* chore: upgrade @kksh/svelte5

* feat: add mdns built-in command

* feat: add sidebar for settings page

* fix: builtin command command listing problem with key id in "each" loop

* feat: add settings

* style: modify settings sidebar style

* feat: add sidebar to troubleshooter pages

* fix: some styling bug

* feat: add menu item highlight for sidebar

* feat: improve some keyboard interaction logic

* fix: improve troubleshooter flex box

* feat: add uuid for mdns

* fix mdns host removing caused by dead lock

* feat: settings page implemented, hotkey, hide on blur implemented

* style: update styles in settings

* feat: improve search bar dropdown menu items
2024-11-11 17:15:42 -05:00
Huakun Shen
0600eca59a
Feature: Pin Screenshot (#22)
* feat: add pin screenshot builtin command

* feat: pin screenshot command nows zoom and scroll
2024-11-10 09:12:33 -05:00
Huakun Shen
f29fe00dcf
chore: update README and pnpm lock, deno lock 2024-11-09 07:32:21 -05:00
Huakun Shen
b24236b9ca
Merge remote-tracking branch 'origin/ui' into develop 2024-11-08 17:16:45 -05:00
Huakun Shen
71e5c5f316
fix: avoid importing @kksh/api/ui/worker in @kksh/ui
the worker package initialize comlink API's and cause trouble for regular website when ui package is imported
2024-11-08 16:51:38 -05:00
Huakun Shen
b311866355
Merge remote-tracking branch 'origin/main' into develop 2024-11-08 15:36:49 -05:00
Huakun Shen
383270c93a
[features] UI Worker Extension, Troubleshooters, Quick Link (#21)
* perf: reduce desktop frontend bundle from 10 to 2MB

Use shiki fine-grained bundle, avoid bundling all languages and themes

* feat: add cross-page transition for ext store back button with gasp Flip

* refactor: move StoreListing.svelte in @kksh/ui back to desktop

I realized that StoreListing is a pure wrapper, all the interactions are done with props. Even if this component is later used in other projects, it either lacks flexibility or require more changes. So it's moved back to desktop as a regular +page.svelte

* feat: Add a bunch of builtin commands for app internal control

* feat: add system commands

* feat: add extensionsInstallDir var to +layout.ts, exposed to all pages

All pages won't need to get the path asynchronously, it's kind of like a global constant

* [feat] troubleshooters (#15)

* feat: add extension loading troubleshooter

* feat: add extension permission inspector

* feat: add extension window map troubleshooter (WIP)

* fix: unregister extension when window is closed

* Feature: Deep Link + Supabase OAuth + open extension in store with deep link (#16)

* feat(auth): add deep link and supabase auth

* fix(deep-link): fix some routing and reactive page rendering

* feat: implement supabase auth with pkce auth flow

* feat: add createTauriSyncStore factory function for creating sync svelte store

* Feature: Quick Link (#17)

* feat: add page for add quick link (not working yet)

* upgrade @kksh/svelte5

* fix: infinite recursive footer

* dep: add @kksh/svelte5 to ui package

* dep: add supabase-js

* dep: add @iconify/svelte

* style: modify StoreExtDetail width control

* fixed: UI for extension store detail

* feat: add page to create quick link

* feat: display quick links in cmd palette

* snapshot

* show queries in command input

* feat: quick link fully implemented

* refactor: format all with prettier

* feat: add icon picker for quick link adder

* fix: make invert for icon optional, caused many types to crash

* [Feature] Implement UI template worker command (#20)

* feat: add ui worker command loading code (not working yet)

* feat: add unocss

* feat: add-dev-extension page

* feat: implemented list view template

* feat: implement list view detail view width, add demo extension for dev

* fix: resize listview, add metadata component

* fix: metadata tag component  background color

* feat: implement boolean (checkbox), date fields for form template

* feat: support default, optional, placeholder for form fields

* feat: implemented form view Select Field

* feat: markdown view

* feat: fixed a markdown schema type error

* fix: markdown styling

* feat: implement action panel for UI worker template list view

* format: format all

* chore: bump desktop version

* fix: fix search term bind in list view
Kunkun-v0.1.10
2024-11-08 15:34:37 -05:00
Huakun Shen
e57e181276
Merge branch 'main' into develop 2024-11-08 15:28:34 -05:00
Huakun Shen
4a05c5a475
[Feature] Implement UI template worker command (#20)
* feat: add ui worker command loading code (not working yet)

* feat: add unocss

* feat: add-dev-extension page

* feat: implemented list view template

* feat: implement list view detail view width, add demo extension for dev

* fix: resize listview, add metadata component

* fix: metadata tag component  background color

* feat: implement boolean (checkbox), date fields for form template

* feat: support default, optional, placeholder for form fields

* feat: implemented form view Select Field

* feat: markdown view

* feat: fixed a markdown schema type error

* fix: markdown styling

* feat: implement action panel for UI worker template list view

* format: format all

* chore: bump desktop version

* fix: fix search term bind in list view
2024-11-08 15:12:20 -05:00
Huakun Shen
ce42409a39
Feature: Quick Link (#17)
* feat: add page for add quick link (not working yet)

* upgrade @kksh/svelte5

* fix: infinite recursive footer

* dep: add @kksh/svelte5 to ui package

* dep: add supabase-js

* dep: add @iconify/svelte

* style: modify StoreExtDetail width control

* fixed: UI for extension store detail

* feat: add page to create quick link

* feat: display quick links in cmd palette

* snapshot

* show queries in command input

* feat: quick link fully implemented

* refactor: format all with prettier

* feat: add icon picker for quick link adder

* fix: make invert for icon optional, caused many types to crash
2024-11-07 12:26:06 -05:00
Huakun Shen
a3dbdb02de
ci: add CI for app build and publish 2024-11-05 16:58:15 -05:00
Huakun Shen
f043d7afe0
feat: add createTauriSyncStore factory function for creating sync svelte store 2024-11-05 14:31:16 -05:00
Huakun Shen
605a7844f2
Feature: Deep Link + Supabase OAuth + open extension in store with deep link (#16)
* feat(auth): add deep link and supabase auth

* fix(deep-link): fix some routing and reactive page rendering

* feat: implement supabase auth with pkce auth flow
2024-11-05 09:27:52 -05:00
Huakun Shen
2c99f231f7
[feat] troubleshooters (#15)
* feat: add extension loading troubleshooter

* feat: add extension permission inspector

* feat: add extension window map troubleshooter (WIP)

* fix: unregister extension when window is closed
2024-11-05 06:04:34 -05:00
Huakun Shen
f64e562034
feat: add extensionsInstallDir var to +layout.ts, exposed to all pages
All pages won't need to get the path asynchronously, it's kind of like a global constant
2024-11-04 17:59:32 -05:00
Huakun Shen
54b7cc58c4
feat: add system commands 2024-11-04 17:15:17 -05:00
Huakun Shen
9c250b99f0
feat: Add a bunch of builtin commands for app internal control 2024-11-04 17:07:27 -05:00
Huakun Shen
d3af1b7b02
[perf]: reduce desktop frontend bundle size from 10MB to 2MB (#14)
* perf: reduce desktop frontend bundle from 10 to 2MB

Use shiki fine-grained bundle, avoid bundling all languages and themes

* feat: add cross-page transition for ext store back button with gasp Flip

* refactor: move StoreListing.svelte in @kksh/ui back to desktop

I realized that StoreListing is a pure wrapper, all the interactions are done with props. Even if this component is later used in other projects, it either lacks flexibility or require more changes. So it's moved back to desktop as a regular +page.svelte
2024-11-04 16:51:31 -05:00
Huakun Shen
e74835ad79
refactor: move StoreListing.svelte in @kksh/ui back to desktop
I realized that StoreListing is a pure wrapper, all the interactions are done with props. Even if this component is later used in other projects, it either lacks flexibility or require more changes. So it's moved back to desktop as a regular +page.svelte
2024-11-04 16:22:12 -05:00
Huakun Shen
0c7c1e8612
feat: add cross-page transition for ext store back button with gasp Flip 2024-11-04 16:14:47 -05:00
Huakun Shen
be07e16b36
perf: reduce desktop frontend bundle from 10 to 2MB
Use shiki fine-grained bundle, avoid bundling all languages and themes
2024-11-04 16:08:23 -05:00
Huakun Shen
11cc79627d
Feature: Page Transition and Component Animation (#9)
* feat: add view transition for page transition, add install btns animation

* feat(desktop): add extension store logo cross-page transition with gasp Flip
2024-11-04 16:03:53 -05:00
Huakun Shen
ad83e89e52
feat: implement pixel dance animation component, page and command (#8)
* feat: implement pixel dance animation component, page and command

* feat: make entire dance page draggable

* feat: add dance transition for ui-iframe extension loading
2024-11-03 19:34:07 -05:00
Huakun Shen
6ec4df5f43
docs: support cloudflare API docs building without Deno 2024-11-03 14:57:49 -05:00
Huakun Shen
ed87fc6c12
App Setup (#2)
* chore: add vendor submodules

* feat: add packages for db,ci,schema,api,jarvis cmds

* feat: add tauri-jarvis-plugin

* feat: implement extension commands list

* fix(desktop): import path errors after packages refactor

* chore: add self signed cert

* fix: prevent prerender for desktop

* fix(desktop): desktop sveltekit static build, use csr for dynamic route

* feat: add error handling page and components

* refactor: component lib

* refactor: move more types, functions and components out of desktop

* refactor(ui): more refactor

* refactor(ui): move store components to @kksh/ui

* ci: add CI for build & test

* refactor: rename @kksh/extensions to @kksh/extension

* ci: add 2 more ci

* ci: fix

* fix: CI env var

* chore: add changeset

* feat: implement extension store item detail view

* feat: implement extension store install, uninstall, upgrade

* format

* revert: upgradable logic, the new one doesn't work yet

* refactor: make @kksh/ui dependent only on @kksh/api

Reason: @kksh/ui may be published later for building website, all its dependency packages must be also published. To avoid trouble it should be standalone, depend only on packages already published

* refactor: cleanup

* fixed: some typescript error

* chore: got typedoc working on @kksh/api

* ci: disable manifest schema upload CI on push
2024-11-03 13:54:44 -05:00
Huakun Shen
2f2404bd1f
feat: add shadcn-svelte, integrate with @kksh/svelte5 and @kksh/ui 2024-10-24 11:34:58 -04:00
Huakun Shen
8ed36a22db
init project with tauri, turborepo and sveltekit 2024-10-24 07:01:00 -04:00