Commit Graph

85 Commits (main)

Author SHA1 Message Date
Meng Zhang d1563d82cd
fix(ui): use local tabby icon (#1020) 2023-12-11 07:24:08 +00:00
Clément Joly c461a835f9
chore: update rusqlite, rusqlite_migration and tokio-rusqlite (#1017)
I’ve released a new beta version of rusqlite_migration today and I’ve
renamed the `async-tokio-rusqlite` feature that you use to
`alpha-async-tokio-rusqlite`. I suggest updating dependencies as done in
this PR. By the way, if you would like to share feedback on the async
APIs, feel free to use this conversation:
https://github.com/cljoly/rusqlite_migration/discussions/127

Reading the release notes from [tokio-rusqlite][1], the main breaking
change is to the method `Connection::call`:

> - **breaking:** `Connection::call` now takes `tokio_rusqlite::Result` instead
>   of `rusqlite::Result`.

My understanding is that we can either deal with a `Result<Result<…>>`
or call `Connection::call_unwrap`, which could panic if the connection
is closed. I’ve opted for using only `Connection::call` and,
effectively, flattening the `Result<Result<…>>`, to limit the potential
for panics.

[1]: https://github.com/programatik29/tokio-rusqlite/blob/master/CHANGELOG.md#050-25-nov-2023
2023-12-11 10:59:05 +08:00
Meng Zhang 5af19dc807
feat(ui): refine invitation-table and user-table (#1016)
* feat(ui): refine invitation-table and user-table

* update-ui
2023-12-10 16:10:50 +00:00
Meng Zhang 34842141e4
fix: for html paths, .html suffix should be appended automatically (#1015)
* fix: for html paths, .html suffix should be appended automatically

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-10 15:58:21 +00:00
Meng Zhang 6686033505
refactor: implement delete_expired_token with Utc::now() (#1011) 2023-12-10 14:16:06 +00:00
Meng Zhang 7361e6c987
refactor(ui): extract useMutation (#1010) 2023-12-10 13:47:30 +00:00
Meng Zhang 835d35ee90
feat(webserver): update ui (#1008) 2023-12-10 08:22:36 +00:00
Meng Zhang 7bd18a41bc
feat(ui): adjust team page layout (#1007)
* feat(ui): display green check button after copy success

* feat(ui): set max width for getting started page

* feat(ui): adjust team management layout

* adjust team table layout
2023-12-10 08:07:10 +00:00
Meng Zhang 766c481c68
fix: update updated_at when reset user auth token (#1006) 2023-12-10 07:18:24 +00:00
Meng Zhang 58787e707b
feat(ui, webserver): support list users in team management (#1005)
* feat(webserver): support list users

* feat(ui, webserver): support list users in team management

* fix lint
2023-12-10 15:14:17 +08:00
Meng Zhang ae4dc5f8d0
feat(tabby-ui): support user auth token reset (#1003) 2023-12-10 04:16:31 +00:00
Meng Zhang 03c418340a
feat(webserver): add reset_user_auth_token mutation (#1001)
* feat(webserver): add reset_user_auth_token mutation

* fix

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-10 12:12:49 +08:00
Meng Zhang f00b2c3334
chore(webserver): generates better frontend error message when invitation is already exists (index constraint error) (#1000) 2023-12-10 04:11:23 +00:00
Meng Zhang 1d3fe5cc2b
feat(tabby-webserver): when user is registered with invitation code, … (#999)
* feat(tabby-webserver): when user is registered with invitation code, delete invitation when user is created

* update cmts

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-10 11:16:44 +08:00
Meng Zhang 95d15f1224 fix: typo in cluster information page, registeration -> registration 2023-12-10 01:20:57 +08:00
Meng Zhang 9d607956f5 feat(tabby-ui): add endpoint url to home page 2023-12-10 01:11:59 +08:00
Meng Zhang fc93cf80b4
feat(tabby-ui): add cluster information page and team management page (#997)
* feat(tabby-ui): move swagger API from sidebar to header

* feat(tabby-ui): extract /workers page

* feat(tabby-ui): add reset button for registeration token

* refactor: extract <SlackDialog />

* feat(tabby-ui): display authToken in dashboard

* add team management page

* extract invitation-table

* fix lint

* rename /workers -> /cluster

* cleanup team management page

* cleanup

* fix

* fix link title

* fix title

* fix nextjs build

* fix lint

* fix missing window error

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-09 16:51:05 +00:00
Meng Zhang fbceaafbc9
feat: implement strong password check (#995)
* extract schema::User as format for MeQuery

* refactor: restructure JWTPayload

* feat: update frontend to adapt JWT token format change

* delete generated files

* feat: implement strong password check

* [autofix.ci] apply automated fixes

* fix format

* fix unit test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-09 20:13:46 +08:00
Meng Zhang 8dc09ea4e7
refactor: restructure JwtPayload and MeQuery (#994)
* extract schema::User as format for MeQuery

* refactor: restructure JWTPayload

* feat: update frontend to adapt JWT token format change

* delete generated files
2023-12-09 10:12:54 +00:00
Meng Zhang b26a7f7cf3
refactor(tabby-ui): add unused-imports lint (#993) 2023-12-08 17:52:09 +00:00
Meng Zhang 6c6a2c803f
feat: make all features in webserver requires auth (#992)
* feat: require auth for webserver features

* cleanup frontend

* feat: add flag --webserver

* implement admin

* update format
2023-12-08 17:49:10 +00:00
Meng Zhang 8c02c22373
feat(tabby-ui): properly set accessToken for api access if user is login (#989)
* feat(tabby-ui): properly set accessToken for api access if user is login

* [autofix.ci] apply automated fixes

* fix: use return data from useSWR (#991)

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: aliang <1098486429@qq.com>
2023-12-09 00:15:26 +08:00
Meng Zhang d060888b5c
feat: when is_admin_initialized, implement strict api access check in graphql / v1beta / v1 (#987) 2023-12-08 11:59:56 +00:00
Meng Zhang 711a389197
refactor: add warnings about jwt token secret not set (#986) 2023-12-08 11:46:06 +00:00
Meng Zhang 2714b88878
refactor(webserver): split db.rs into sub implementations for each table (#985) 2023-12-08 05:25:24 +00:00
Meng Zhang 3f8f7fb7c6
refactor(webserver): enable import order + remove useless import (#984)
* refactor(webserver): enable import order + remove useless import

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-08 12:40:45 +08:00
Meng Zhang c303c00b68
feat(webserver): implement optional secure access for dashboard (#983)
* feat: implement optional access secure for login flow

* update

* fix

* remove useless import

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-08 12:16:26 +08:00
Meng Zhang 8b97ec5d0c
refactor: gitignore generates dir (#982) 2023-12-08 04:08:37 +00:00
Meng Zhang 779eef0c1f
feat: add register / signin / signup / logout workflow (#976)
* feat: extract signup page

* feat: add signin page

* feat: implement auto redirecting

* fix: show slack dialog after signin

* feat: tweak signin page

* feat: add basic user panel + signout

* [autofix.ci] apply automated fixes

* fix: correct page title

* fix lint

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-07 17:56:08 +08:00
Meng Zhang 2df3b1c00d fix: add back header to playground 2023-12-07 15:09:23 +08:00
Meng Zhang 48340a775f
fix: import ThemeToggle directly, fix hydration error (#972) 2023-12-07 06:11:40 +00:00
Meng Zhang d8d1399f6d
refactor: merge tabby-stream as StreamAdapter (#971) 2023-12-07 05:56:28 +00:00
Meng Zhang bfc2de49a3
refactor: move tabby specific libs to lib/tabby (#970)
* refactor: move useGraphQL to useGraphQLQuery

* refactor: tabby-gql-client -> tabby/gql

* refactor: tabby-fetcher -> tabby/fetcher

* fix
2023-12-07 05:52:59 +00:00
Meng Zhang 27d2f18302
feat: add authentication page example (#955)
* feat: add authentication page

autogen

* feat: pass invitation code to UserAuthForm in SignUp

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-07 05:39:39 +00:00
Meng Zhang bec96a176a
feat: implement tabby/auth (#969)
* feat: implement tabby/auth

* update

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-07 13:31:09 +08:00
Meng Zhang 98006552eb
refactor(tabby-webserver): remove next-auth (#956)
* refactor(tabby-webserver): remove next-auth

* add autofix-tabby-ui
2023-12-06 15:08:30 +00:00
Meng Zhang d772e44c17
refactor: move graphql query to individual files (avoid abstract for single use query) (#954)
* refactor: mofve graphql query to individual files (avoid abstract for single use query)

* fix codegen

* fix
2023-12-06 22:57:04 +08:00
Meng Zhang c54091d4bc
refactor: extract dashboard layout (#952)
* refactor: extract dashboard layout

* fix formatting
2023-12-06 22:41:35 +08:00
Meng Zhang 5cbb2b3a4c
fix: correct tabby-webserver validation logic (#953) 2023-12-06 14:38:04 +00:00
Meng Zhang 7de4073779 refactor: fix tabby-ui formatting 2023-12-06 22:35:31 +08:00
Meng Zhang 74f81cb02a
refactor: Use DateTime<Utc> for sqlite datetime fields (#946)
* refactor: use DateTime<Utc> for RefreshToken.expires_at

* refactor: set other date time fields to be DateTime<Utc>

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-05 15:47:10 +00:00
Eric 73442c33a7
feat: implement refresh_token API (#938)
* feat: impl refresh token api

* resolve comment
2023-12-04 13:26:24 +08:00
Eric 870638cbbf
feat: Add me_query API (#940)
* feat: add me query

* fix compile

* update schema
2023-12-04 12:20:05 +08:00
Meng Zhang 305b3f913b
refactor: cleanup autofix (#937) 2023-12-02 04:21:37 +00:00
Meng Zhang f3a31082ef
refactor(webserver): extract RegisterError and TokenAuthError and add unit test (#936)
* refactor: extract RegisterError and TokenAuthError

* update

* update test

* fix token auth test

* cleanup

* fix

* add down operations

* cleanup error type

* [autofix.ci] apply automated fixes

* update

* cleanup

* Process InvalidationErrors directly

* update error handling

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-02 04:10:42 +00:00
Meng Zhang fb879e5ddf
refactor(webserver): cleanup user crud (#935)
* refactor(webserver): cleanup user crud

* fix
2023-12-01 16:56:15 +00:00
Meng Zhang 19d773e7ad
feat: implement register api check with invitation code (#934)
* feat(webserver): implement is_admin_initialized graphql api

* refactor

* add unit test

* [autofix.ci] apply automated fixes

* renaming

* temp invitations

* update

* update

* implement register check

* test

* update invitations

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-02 00:14:29 +08:00
Meng Zhang 88e5187b57
feat(webserver): implement is_admin_initialized graphql api (#929)
* feat(webserver): implement is_admin_initialized graphql api

* refactor

* add unit test

* [autofix.ci] apply automated fixes

* renaming

* refactor: server -> locator

* fix unused

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-01 22:35:02 +08:00
Meng Zhang 5c52a71f77
refactor: extract ServiceLocator interface (#933)
* refactor: cleanup the dependency chain - ServerContext should be the only thing being public in server mod

* refactor ServiceLocator

* refactor: extract worker.rs

* refactor: move db as private repo of server

* rename server -> service
2023-12-01 22:16:59 +08:00
Meng Zhang 1a9cbdcc3c
feat(ee): implement auth claims (#932)
* feat(ee): implement auth claims

* fix test

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-01 12:46:01 +00:00