Commit graph

501 commits

Author SHA1 Message Date
Steven
6b14d87521 chore: fix linter 2024-02-21 23:45:12 +08:00
Steven
51d58d3982 chore: add workspace setting migrator 2024-02-21 23:43:18 +08:00
Steven
80b64c02fd chore: tweak workspace setting seeds 2024-02-21 20:25:25 +08:00
Steven
fa62e8b59a chore: tweak linter errors 2024-02-20 23:07:42 +08:00
Steven
8e11826db1 chore: update workspace setting service 2024-02-20 23:02:01 +08:00
Steven
b3ca9969c4 chore: tweak linter 2024-02-09 22:18:55 +08:00
Steven
3dddd3ec4c chore: tweak reaction store 2024-02-09 21:59:45 +08:00
Steven
4081a6f5ad chore: add more reactions 2024-02-08 21:20:51 +08:00
Steven
3a5bc82d39 chore: implement reaction service 2024-02-08 11:54:59 +08:00
Steven
43a2d6ce09 chore: tweak user setting 2024-02-08 08:06:55 +08:00
Mehad Nadeem
d2434111b4
chore: impl compact mode setting (#2935)
* chore: backend/DB related files for compact view setting.

* fix: passing lint errors

* fix2: passing linter errors
2024-02-08 08:05:56 +08:00
Steven
559e427c50 chore: implement reaction store 2024-02-07 23:40:23 +08:00
Steven
b4f2a3bd14 chore: remove migrator 2024-01-31 22:58:43 +08:00
Lincoln Nogueira
279cba0e6b
chore: greatly speed up migrator and lower memory usage (#2874)
* chore: add en-GB language

* chore: remove en-GB contents

* chore: prevent visitors from breaking demo
- prevent disabling password login
- prevent updating `memos-demo` user
- prevent setting additional style
- prevent setting additional script
- add some error feedback to system settings UI

* Revert "chore: add en-GB language"

This reverts commit 2716377b04ca684abd03f76c1661000fd6994be8.

* chore: speed-up migrator and lower memory usage
- remove all Store indirections
- query database directly with prepared statements

* chore: fix golangci-lint warnings
2024-01-31 16:45:21 +08:00
Steven
de8db63811 chore: rename workspace setting service 2024-01-29 22:43:40 +08:00
Aleksandr Baryshnikov
fa17dce046
feat: pre-signed URL for S3 storage (#2855)
Adds automatically background refresh of all external links if they are belongs to the current blob (S3) storage. The feature is disabled by default in order to keep backward compatibility.

The background go-routine spawns once during startup and periodically signs and updates external links if that links belongs to current S3 storage.

The original idea was to sign external links on-demand, however, with current architecture it will require duplicated code in plenty of places. If do it, the changes will be quite invasive and in the end pointless: I believe, the architecture will be eventually updated to give more scalable way for pluggable storage. For example - Upload/Download interface without hard dependency on external link. There are stubs already, but I don't feel confident enough to change significant part of the application architecture.
2024-01-29 21:12:29 +08:00
Steven
ef73299340 chore: update resource name migrator 2024-01-28 21:40:24 +08:00
Steven
f05a89315c chore: fix list memos 2024-01-28 08:38:29 +08:00
Steven
5e74394643 chore: add resource name migrator 2024-01-28 07:58:53 +08:00
Wei Zhang
ddc89029b7
fix: use mysql to parse dsn (#2838)
Signed-off-by: Zhang Wei <kweizh@gmail.com>
2024-01-26 13:43:48 +08:00
Steven
f8b9a83d4a chore: tweak default value 2024-01-26 09:22:47 +08:00
Steven
2f16b7065a chore: tweak scripts 2024-01-26 09:15:27 +08:00
Steven
4f2b00b4f3 chore: add migration scripts 2024-01-26 08:29:11 +08:00
Steven
54a24833a7 chore: fix resource seeds 2024-01-21 21:36:31 +08:00
Steven
582cc6609c feat: add user-defined id to resource 2024-01-21 10:49:30 +08:00
Steven
b2fc3076f6 chore: update memo store 2024-01-21 01:23:55 +08:00
Steven
8382354ef7 feat: add user-defined name to memo 2024-01-20 23:48:35 +08:00
Steven
d426f89cf0 chore: add time filter to timeline 2024-01-18 14:30:20 +08:00
Wen Sun
a22ad90174
fix: set memo resources error in mysql (#2761)
Fix error updating memo resources in mysql
2024-01-15 20:05:07 +08:00
Steven
8e0ce4d678 fix: list memos with pinned 2024-01-14 20:51:52 +08:00
Wen Sun
6cfd94cc69
fix: deleting inbox records that senders have been deleted (#2743)
Deleting inbox records that senders have been deleted
2024-01-11 21:29:22 +08:00
Steven
9c663b1ba2 fix: merge mysql dsn with params 2024-01-10 00:03:47 +08:00
Steven
9459ae8265 chore: update postgres stmt builder 2024-01-06 17:12:10 +08:00
Steven
d67eaaaee2 chore: update database migrator 2024-01-06 16:55:13 +08:00
Steven
fd8333eeda chore: fix memo parent_id 2024-01-06 13:22:02 +08:00
Steven
a297cc3140 chore: exclude comments in memo list response 2024-01-06 09:48:11 +08:00
Steven
8b9455d784 chore: fix memo resources position 2024-01-06 09:23:20 +08:00
Steven
501f8898f6 chore: fix postgres stmts 2024-01-05 21:27:16 +08:00
Lincoln Nogueira
369b8af109
chore: improve resource internal_path migrator (#2698)
* chore: improve internal path migrator
- handle mixed path styles
- handle Windows paths
- add tests

* chore: fix goimports error
2024-01-03 08:31:59 +08:00
Steven
c797099950 chore: update resource internal path migrator 2024-01-02 08:29:18 +08:00
Lincoln Nogueira
411e807dcc
chore: use consistent relative paths for resources (#2683)
- always store resources with a relative path with forward slashes, which will be transformed as needed when the file is accessed

- fix an issue with thumbnail generation on Windows

- add several validations for local storage setting

- improve front-end error feedback when changing local storage

- add migrations to make existing resource paths relative (not needed, but improves database consistency)
2023-12-29 07:49:55 +08:00
Steven
02265a6e1a chore: fix memo search 2023-12-22 00:31:29 +08:00
Athurg Gooth
f184d65267
fix: attachments send from telegram lost (#2650) 2023-12-21 09:47:25 +08:00
Steven
762cb25227 chore: update memo service 2023-12-20 23:14:15 +08:00
Steven
fc01a796f8 chore: fix demo seed data 2023-12-20 08:18:56 +08:00
Steven
e0cacfc6d6 chore: retire auto backup for sqlite 2023-12-19 22:34:06 +08:00
Steven
a3a1bbe8de chore: tweak responsible styles 2023-12-19 08:41:41 +08:00
Steven
fe4ec0b156 chore: rename navigator 2023-12-19 00:13:22 +08:00
Steven
7c5fdd1b06 chore: remove demo banner 2023-12-18 23:46:48 +08:00
Steven
d8a0528135 chore: tweak variable names 2023-12-18 20:47:29 +08:00
Steven
2c4b5d75b3 chore: fix html escaping 2023-12-17 23:37:00 +08:00
Steven
1c7fb77e05 chore: update user setting names 2023-12-16 12:18:53 +08:00
Steven
47af632c79 chore: update inline parser 2023-12-16 10:09:20 +08:00
Steven
7735cfac31 chore: update seed data 2023-12-15 22:34:19 +08:00
Steven
2d9c5d16e1 chore: fix user string 2023-12-13 19:08:06 +08:00
Steven
7eb5be0a4e chore: fix update user 2023-12-12 20:01:31 +08:00
Steven
603a6a4971 chore: fix vacuum memo 2023-12-12 19:56:15 +08:00
Cologler
6bda64064e
fix: delete one memo will delete all memos on pgsql (#2611)
fix: delete single memo will all memos on pgsql

Close #2605
2023-12-12 19:52:39 +08:00
Steven
c608877c3e chore: clean binary entries 2023-12-11 22:16:39 +08:00
Steven
52f399a154 chore: remove unused functions 2023-12-11 21:53:16 +08:00
Steven
9f4f2e8e27 chore: fix user setting values 2023-12-10 11:57:31 +08:00
Steven
0127e08a28 fix: data conflict handler 2023-12-10 10:07:26 +08:00
Steven
d275713aff chore: fix timestamp type in postgres 2023-12-09 23:19:57 +08:00
Steven
c50f4f4cb4 chore: update migration scripts 2023-12-09 22:18:05 +08:00
Steven
abda6ad041 chore: update latest schema 2023-12-09 12:05:45 +08:00
Steven
7fc7b19d64 chore: deprecate user setting legacy api 2023-12-08 22:41:47 +08:00
Steven
b2d898dc15 chore: fix import order 2023-12-08 22:06:42 +08:00
Steven
15425093af chore: skip user setting key checks 2023-12-08 22:05:43 +08:00
steven
c68bfcc3b9 chore: fix user setting store 2023-12-08 09:54:32 +08:00
Steven
fa6693a7ae chore: update list memos 2023-12-06 22:44:49 +08:00
Athurg Gooth
5f86769255
fix: field type of row_status for table webhook (#2579)
Fix field type of row_status for table webhook
2023-12-06 10:57:03 +08:00
Irving Ou
9c18960f47
feat: support Postgres (#2569)
* skeleton of postgres

skeleton

* Adding Postgres specific db schema sql

* user test passed

* memo store test passed

* tag is working

* update user setting test done

* activity test done

* idp test passed

* inbox test done

* memo_organizer, UNTESTED

* memo relation test passed

* webhook test passed

* system setting test passed

* passed storage test

* pass resource test

* migration_history done

* fix memo_relation_test

* fixing server memo_relation test

* passes memo relation server test

* paess memo test

* final manual testing done

* final fixes

* final fixes cleanup

* sync schema

* lint

* lint

* lint

* lint

* lint
2023-12-03 13:31:29 +08:00
Steven
a12844f5db chore: tweak seed data 2023-11-25 10:34:54 +08:00
Steven
1a5bce49c2 chore: implement webhook store 2023-11-24 22:45:38 +08:00
Athurg Gooth
91296257fc
chore: remove invalid access token from db (#2539)
Remove invalid access token from db
2023-11-22 23:20:45 +08:00
Steven
6529375a8b chore: update seed data 2023-11-19 23:58:35 +08:00
Steven
ec2995d64a chore: fix order by pinned 2023-11-19 09:42:59 +08:00
Steven
981bfe0464 feat: add version checker 2023-11-06 20:49:02 +08:00
Steven
695fb1e0ca chore: update migration history store 2023-11-06 08:33:31 +08:00
Steven
405fc2b4d2 chore: simplify find migration history 2023-11-05 15:49:57 +08:00
Steven
eacd3e1c17 chore: fix mysql latest schema 2023-11-05 15:38:45 +08:00
Athurg Gooth
b966c16dd5
fix: data too large for mysql (#2470)
* Extend some TEXT field to LONGTEXT in mysql

* move db migration version

* fix error in migrate SQL
2023-10-31 10:23:15 +08:00
Steven
dca712d273 chore: fix resource tests 2023-10-28 10:51:03 +08:00
Steven
ac81d856f6 chore: delete resource file sync 2023-10-28 10:42:39 +08:00
Steven
88fb79e458 chore: impl inbox store for mysql 2023-10-28 09:44:52 +08:00
Steven
0ee938c38b chore: remove unused inbox status 2023-10-28 02:49:35 +08:00
Steven
3c36cc2953 feat: add inbox ui 2023-10-28 02:43:46 +08:00
Steven
79bb3253b6 chore: add activity service 2023-10-28 00:21:53 +08:00
Steven
18107248aa chore: rename list inbox 2023-10-28 00:08:42 +08:00
Steven
1b34119e60 chore: update activity store definition 2023-10-27 23:24:56 +08:00
Steven
67d2e4ebcb chore: update method name 2023-10-27 08:36:43 +08:00
Steven
4ea78fa1a2 chore: impl inbox store methods 2023-10-27 08:17:58 +08:00
Steven
93b8e2211c chore: update dev latest schema 2023-10-27 01:18:00 +08:00
Steven
052216c471 chore: fix list activities typo 2023-10-27 01:11:41 +08:00
Steven
e5978a70f5 chore: initial inbox store model 2023-10-27 01:10:19 +08:00
Athurg Gooth
215981dfde
chore: remote context.Context pointer (#2448)
remote context.Context pointer
2023-10-26 20:21:44 +08:00
Steven
5b3af827e1 chore: move common packages to internal 2023-10-26 09:02:50 +08:00
Steven
d06d01cef2 chore: release mysql driver 2023-10-21 01:25:07 +08:00
Athurg Gooth
af7c0a76d0
fix: fail to update user's update_ts (#2410) 2023-10-20 19:10:38 +08:00
Steven
1b105db958 chore: fix field syntax 2023-10-20 08:52:16 +08:00
Steven
6f2ca6c87a chore: update find memo api 2023-10-20 08:48:52 +08:00
guopeng
73f59eaf09
fix: storage setting changed don't take effect (#2385)
* fix: Storage setting changed don't take effect

* fix: Storage setting changed don't take effect

* fix: Storage setting changed don't take effect
2023-10-16 08:07:21 -05:00
Athurg Gooth
6bb6c043e5
feat: add support for ListMemoOrganizer (#2367)
* Add support for ListMemoOrganizer

* fix rows not close
2023-10-09 08:18:47 -05:00
Athurg Gooth
fa2bba51c1
feat: add support for ListActivity (#2365)
Add support for ListActivity
2023-10-09 08:18:33 -05:00
Athurg Gooth
425b43b3bb
fix: ListTag not support omit params (#2366)
fix ListTag not support omit params
2023-10-09 01:40:54 -05:00
Athurg Gooth
287f1beb90
fix: create storage without some attributes (#2358) 2023-10-08 05:30:24 -05:00
Athurg Gooth
7680be1a2f
fix: create user without some attributes (#2357) 2023-10-08 05:29:32 -05:00
Athurg Gooth
55e0fbf24e
fix: create activity without some attributes (#2356) 2023-10-08 05:29:22 -05:00
Athurg Gooth
eaac17a236
fix: create memo without some attributes (#2355) 2023-10-08 05:29:12 -05:00
Athurg Gooth
1fbd568dfe
fix: create resource without some attributes (#2354) 2023-10-08 05:29:03 -05:00
Athurg Gooth
c0619ef4a4
fix: CreateIdentityProvider without id (#2352) 2023-10-08 05:28:22 -05:00
Athurg Gooth
b2aa66b4fd
fix: migration always in mysql (#2353) 2023-10-08 05:28:11 -05:00
Steven
b938c8d7b6 chore: only show comments in memo detail page 2023-10-08 00:42:02 +08:00
Steven
553de3cc7e fix: mysql syntax 2023-10-07 22:56:12 +08:00
Steven
c0422dea5b chore: fix sqlite migrator 2023-10-06 00:34:06 +08:00
Steven
7791fb10d8 chore: update new db driver 2023-10-05 23:19:52 +08:00
Steven
a6ee61e96d chore: update package name 2023-10-05 23:11:29 +08:00
Steven
7dcc5cbaf1 chore: fix mysql migrator 2023-10-05 17:11:28 +08:00
Steven
d474d1abd0 chore: update store cache 2023-10-05 15:17:40 +08:00
Steven
fd395e5661 chore: update list memo relations 2023-10-01 21:35:17 +08:00
Steven
be046cae8e chore: add parent field to memo 2023-10-01 16:27:40 +08:00
Steven
922de07751 feat: impl memo comment api 2023-10-01 14:44:10 +08:00
steven
a928c4f845 chore: update error format 2023-09-29 13:04:54 +08:00
steven
8168fb71a8 chore: update migrator 2023-09-29 12:47:49 +08:00
Steven
87ddeb2c79 chore: adjust store test for mysql 2023-09-29 09:15:54 +08:00
Athurg Gooth
c72f221fc0
feat: support mysql as backend storage driver (#2300)
* Rename checkDSN to checkDataDir

* Add option to set DSN and db driver

* Add mysql driver skeleton

* Add mysql container in compose for debug

* Add basic function for mysql driver

* Cleanup go mod with tidy

* Cleanup go.sum with tidy

* Add DeleteUser support for mysql driver

* Fix UpdateUser of mysql driver

* Add DeleteTag support for mysql driver

* Add DeleteResource support for mysql driver

* Add UpdateMemo and DeleteMemo support for mysql driver

* Add MemoRelation support for mysql driver

* Add MemoOrganizer support for mysql driver

* Add Idp support for mysql driver

* Add Storage support for mysql driver

* Add FindMemosVisibilityList support for mysql driver

* Add Vacuum support for mysql driver

* Add Migration support for mysql driver

* Add Migration support for mysql driver

* Fix ListMemo failed with referece

* Change Activity.CreateTs type in MySQL

* Change User.CreateTs type in MySQL

* Fix by golangci-lint

* Change Resource.CreateTs type in MySQL

* Change MigrationHistory.CreateTs type in MySQL

* Change Memo.CreateTs type in MySQL
2023-09-28 09:09:52 -05:00
CorrectRoadH
4ca2b551f5
chore: update seed data (#2311) 2023-09-28 09:03:32 -05:00
Steven
c54febd024 chore: fix reset script 2023-09-27 18:55:26 +08:00
Athurg Gooth
5121e9f954
chore: move migration and seed code into driver (#2294)
Move migration and seed code into driver
2023-09-27 11:56:20 +08:00
Athurg Gooth
ca98367a0a
chore: store vacuum and clean (#2293)
* Move all vacuum code into driver

* Remove db from Store
2023-09-26 20:27:31 -05:00
Steven
9abf294eed chore: update seed data 2023-09-27 09:13:56 +08:00
Athurg Gooth
9ce22e849c
chore: move SQL code of Memo into Driver (#2292) 2023-09-27 00:57:12 +00:00
Athurg Gooth
58b84f83d1
chore: move SQL code of MemoOrganizer into Driver (#2291) 2023-09-26 19:54:50 -05:00
Athurg Gooth
acbde4fb2d
chore: move SQL code of MemoRelation into Driver (#2290) 2023-09-26 19:43:46 -05:00
Steven
71ee299de7 chore: drop shortcut 2023-09-27 07:28:17 +08:00
Steven
03a0972712 chore: rename sqlite entry file name 2023-09-27 00:51:16 +08:00
Steven
6007f48b7d chore: retire memo resource relation table 2023-09-27 00:40:16 +08:00
Steven
4180cc3a3d refactor: migrate storage to driver 2023-09-26 19:43:55 +08:00
Steven
d6789550a0 refactor: migrate tag to driver 2023-09-26 19:37:22 +08:00
Steven
d68da34eec refactor: migrate idp to driver 2023-09-26 19:17:17 +08:00
Steven
96395b6d75 chore: rename package sqlite3 to sqlite 2023-09-26 19:07:14 +08:00
Athurg Gooth
d3a6fa50d6
chore: move sql code of Resource into driver (#2286)
Move sql code of Resource into driver
2023-09-26 19:04:07 +08:00
Athurg Gooth
14ec524805
chore: move sql code of UserSetting into Driver (#2282)
* Move SQL code of UserSetting into Driver

* Fix golang import issue
2023-09-26 19:02:48 +08:00
Athurg Gooth
fcba3ffa26
chore: move sql code of User into driver (#2281)
Move SQL code of User into Driver
2023-09-26 18:23:45 +08:00
Athurg Gooth
41eba71f0f
chore: split sql to driver (#2279)
* Add new database interface for SQL operations

* Move SQL code of Activity into Database

* Rename `Database` into `Driver`

* Move SQL code of SystemSetting into Driver

* Fix store.New in text code

* Change database into driver in the variables

* Change sqlite3.New into sqlite3.NewDriver
2023-09-26 17:16:58 +08:00
Steven
8c2f89edc5 chore: update demo username 2023-09-25 09:10:39 +08:00
Steven
6cff920f0c chore: update user demo data 2023-09-23 20:41:47 +08:00
Steven
465b173b36 chore: fix resource int type 2023-09-19 09:05:34 +08:00
Steven
9bf1979fa8 fix: list resources 2023-09-19 08:24:24 +08:00
Steven
cd0ea6558d chore: update golangci-lint config 2023-09-17 22:55:13 +08:00