Commit graph

664 commits

Author SHA1 Message Date
Steven
46ce0bc62e fix(store): correct PostgreSQL placeholder generation in IN clauses
Fixes a regression introduced in v0.25.2 where PostgreSQL IN clause
placeholders were not properly incremented, causing all parameters to
use the same placeholder index (e.g., $1, $1, $1 instead of $1, $2, $3).

This bug affected:
- ListReactions (ContentIDList) - caused "failed to list reactions" errors
- ListAttachments (MemoIDList)
- ListMemos (IDList and UIDList)

The fix combines placeholder generation and argument appending into a
single loop to ensure proper incrementing.

Fixes #5188

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 06:47:06 +08:00
Claude
e35f16306e feat: add id as final tie-breaker in ListMemos 2025-10-23 19:44:41 +08:00
Steven
2d4361d5fe chore: update memo content formatting and enhance link styling 2025-10-22 08:50:09 +08:00
Steven
d8f7a4e739 chore: tweak demo data 2025-10-21 23:41:46 +08:00
Steven
b19e736f10 chore: tweak demo data 2025-10-20 23:58:49 +08:00
Steven
b4ea7d843f feat: enhance memo sorting functionality to support multiple fields 2025-10-20 23:41:58 +08:00
Steven
95de5cc700 refactor: update migration history methods 2025-10-20 23:05:50 +08:00
Johnny
bc7decf642 refactor: remove unused constants 2025-10-16 20:40:46 +08:00
Copilot
b685ffacdf refactor: memo filter
- Updated memo and reaction filtering logic to use a unified engine for compiling filter expressions into SQL statements.
- Removed redundant filter parsing and conversion code from ListMemoRelations, ListReactions, and ListAttachments methods.
- Introduced IDList and UIDList fields in FindMemo and FindReaction structs to support filtering by multiple IDs.
- Removed old filter test files for reactions and attachments, as the filtering logic has been centralized.
- Updated tests for memo filtering to reflect the new SQL statement compilation approach.
- Ensured that unsupported user filters return an error in ListUsers method.
2025-10-16 09:22:52 +08:00
Steven
c3d4f8e9d1 feat: implement user-specific SQL converter for filtering in user service 2025-09-10 21:05:26 +08:00
Johnny
7cc2df9254 chore: fix linter 2025-08-31 20:22:32 +08:00
varsnotwars
4eb5b67baf
feat: attachments by id (#5008) 2025-08-15 22:02:29 +08:00
varsnotwars
f4bdfa28a0
feat: filter/method for reactions by content_id (#4969) 2025-08-08 00:00:51 +08:00
Colin Holzman
8319516d1a
fix: boolean filters (#4966) 2025-08-06 21:06:15 +08:00
johnnyjoy
506b477d50 fix: get user by username 2025-08-04 19:56:12 +08:00
varsnotwars
fa2fa8a5d7
refactor: remove call to db for parent memo name (#4947) 2025-08-04 19:39:52 +08:00
johnnyjoy
34fb3f1514 chore: fix linter 2025-08-03 19:55:04 +08:00
Colin Holzman
aae7ec8d1f
fix: calendar filter (#4942) 2025-08-03 19:11:09 +08:00
Maximilian Krauß
4d6042e35f
fix(tags): ensure JSON array elements are properly formatted in SQL queries (#4944) 2025-08-03 19:10:59 +08:00
Andrea Marchetta
71464779dd
fix: change itemCount into an Int64 (#4945) 2025-08-03 19:07:17 +08:00
johnnyjoy
ed23cbc011 refactor: memo filter 2025-07-23 22:10:16 +08:00
Steven
1a75d19a89 fix: memo filter for sqlite 2025-07-22 23:39:52 +08:00
johnnyjoy
7098721617 chore: fix linter 2025-07-22 21:15:23 +08:00
johnnyjoy
e24f92b719 fix: tests 2025-07-22 21:13:24 +08:00
johnnyjoy
b55904a428 feat: support more filter factors 2025-07-22 19:18:08 +08:00
johnnyjoy
6d9770b9c8 chore: move filter to filters 2025-07-21 21:52:00 +08:00
johnnyjoy
7481fe10bf chore: remove order by pinned 2025-07-21 21:45:10 +08:00
Johnny
40130350c5 fix: args offset for postgres 2025-07-17 00:05:07 +08:00
Steven
834f92f67c chore: fix linter 2025-07-16 22:24:50 +08:00
Steven
0398df1d21 chore: update migrator comments 2025-07-16 21:59:37 +08:00
Johnny
3e24f8cf62
fix: seed data 2025-06-25 10:07:24 +08:00
Steven
42d1650c6d chore: tweak auth service 2025-06-24 23:31:37 +08:00
Steven
6e1b01cb68 chore: bump version 2025-06-24 23:06:57 +08:00
johnnyjoy
d6a75bba4c refactor: webhook service 2025-06-24 21:28:21 +08:00
jinjingroad
03399a6007
refactor: use the built-in max/min to simplify the code (#4781)
Signed-off-by: jinjingroad <jinjingroad@sina.com>
2025-06-24 07:12:02 +08:00
Johnny
e6e460493c refactor: general user setting 2025-06-23 23:23:57 +08:00
Johnny
9b15936873 refactor: clean unused fields 2025-06-23 22:55:14 +08:00
Johnny
778a5eb184 refactor: memo filter 2025-06-23 22:38:44 +08:00
Johnny
77b7fc4441 feat: implement user session 2025-06-22 12:46:13 +08:00
Steven
9972a77d9e refactor: memo service 2025-06-18 19:58:38 +08:00
Steven
a4920d464b refactor: attachment service part2 2025-06-18 00:09:19 +08:00
Steven
8e8e246ab2 chore: add server tests 2025-06-17 00:29:42 +08:00
Johnny
38b6c3afb9 chore: fix linter 2025-06-15 10:27:24 +08:00
Johnny
3fd29f6493 refactor: schema migrator 2025-06-15 10:23:18 +08:00
Johnny
b942643785 chore: tweak seed data 2025-06-02 20:06:45 +08:00
Steven
f1b365f928 refactor: clean packages 2025-05-29 21:44:43 +08:00
Steven
de3e55c2e6 feat: support now() time functions 2025-05-28 21:18:49 +08:00
Steven
8520e30721 fix: handle type assertion safely 2025-05-27 23:44:39 +08:00
Steven
ef6f80d925 chore: fix linter 2025-05-27 23:22:32 +08:00
Steven
81ae42518e chore: fix linter 2025-05-27 22:49:56 +08:00
Steven
ad2c5f0d05 refactor: store cache 2025-05-27 22:06:41 +08:00
Steven
b89d8f5342 feat: implement hasTaskList filter 2025-05-26 22:37:59 +08:00
johnnyjoy
f9e07a2245 feat: support update user's role 2025-05-15 19:36:15 +08:00
Steven
1f79ee575b fix: create user with avatar url for sqlite 2025-05-14 23:45:02 +08:00
johnnyjoy
2a92baf52c fix: filter args of postgres 2025-05-06 21:19:13 +08:00
Johnny
b94682dc4f
chore: fix linter 2025-04-12 22:16:32 +08:00
Johnny
18b9b9d18f
chore: implement memo filter in list memo relations 2025-04-12 22:13:18 +08:00
Johnny
08f9b18ced
fix: list memo relations 2025-04-12 22:02:13 +08:00
Johnny
3cc0e255ce fix: memo filter for postgres 2025-04-08 23:46:08 +08:00
cmuangs
d649d326ef
fix: remove errors.Wrap(nil) (#4576)
* Fix errors.Wrap(nil)

* fix resource_test failure where resource does not exist
2025-03-31 12:56:51 +08:00
Steven
9b957edd1f chore: fix linter 2025-03-17 21:52:35 +08:00
Steven
8164986fcc chore: move store test 2025-03-17 21:51:02 +08:00
Amir Ehsandar
c0643ff6fa
fix: use valid query parameters for postgres (#4515) 2025-03-15 12:59:00 +08:00
Johnny
34ab88348e chore: sort by pinned 2025-03-13 19:57:12 +08:00
Johnny
e3a4f49c5c feat: implement creator_id factor 2025-03-11 22:00:57 +08:00
Johnny
925e97882e feat: support pinned factor 2025-03-10 18:52:12 +08:00
Johnny
9107a941ca chore: update linter config 2025-02-24 22:21:07 +08:00
Johnny
f98c519834 fix: linter 2025-02-24 22:04:25 +08:00
Johnny
2aaaef79f7 chore: fix tests 2025-02-18 22:32:30 +08:00
Johnny
2dc7766fd0 fix: content contains for postgres 2025-02-18 22:28:25 +08:00
MHZ
174b8b048a
feat: support blur processing for NSFW content with customizable NSFW tags (#4407) 2025-02-16 23:35:31 +08:00
Johnny
9299c216e2 chore: move migration to 0.24.0 2025-02-16 21:02:18 +08:00
Chris Dzombak
d25f355392
chore: allow storing resource references >256 chars long in mysql (#4408)
fix: allow storing resource references >256 chars long in mysql
2025-02-16 18:20:51 +08:00
Johnny
0a429a899f chore: remove version update activity 2025-02-09 11:48:53 +08:00
wzc90
3f33ccd906
fix: update 01__memo_pinned.sql (#4370) 2025-02-06 09:08:31 +08:00
Steven
7996586488 chore: fix migration script for sqlite 2025-02-05 20:56:46 +08:00
johnnyjoy
54a48b58d7 chore: remove random field 2025-02-05 20:48:27 +08:00
johnnyjoy
07336f0392 chore: update condition concat check 2025-02-05 20:07:38 +08:00
johnnyjoy
a7ca63434b feat: validate shortcut's filter 2025-02-03 18:34:31 +08:00
johnnyjoy
ff04fdc459 feat: support more operators in filter 2025-02-03 18:23:09 +08:00
johnnyjoy
f25acfe8e2 chore: fix linter 2025-02-03 17:34:46 +08:00
johnnyjoy
e0e735d14d feat: support memo filter for mysql and postgres 2025-02-03 17:14:53 +08:00
johnnyjoy
364f005ee5 fix: filter 2025-02-03 12:44:01 +08:00
johnnyjoy
3a085f3639 chore: fix filter tests 2025-02-03 12:01:34 +08:00
johnnyjoy
8e586d348e chore: fix tag filter 2025-02-03 11:45:26 +08:00
johnnyjoy
bf5a29524a chore: remove drop index 2025-02-03 11:45:15 +08:00
johnnyjoy
14c72fa7df feat: implement shortcuts 2025-02-02 17:11:52 +08:00
johnnyjoy
b9a0c56163 feat: support more factors in filter 2025-02-02 16:12:44 +08:00
johnnyjoy
2a392b8f8d chore: fix import order 2025-02-02 13:52:45 +08:00
johnnyjoy
f31800456e chore: fix import order 2025-02-02 13:52:29 +08:00
johnnyjoy
58a867e4da fix: linter warning 2025-02-02 13:50:36 +08:00
johnnyjoy
2d731c5cc5 feat: memo filter for sqlite 2025-02-02 13:35:57 +08:00
johnnyjoy
0af08d9c06 chore: add if exists to postgres 2025-02-02 13:19:56 +08:00
Xiao Wei
37a81f9d28
fix: migrate sql error (#4338)
* fix: migrate sql error

sqlite not support postgres sql

* Apply suggestions from code review

---------

Co-authored-by: Johnny <yourselfhosted@gmail.com>
2025-02-01 22:11:17 +08:00
johnnyjoy
b0119f320a chore: tweak migration scripts 2025-02-01 11:19:36 +08:00
johnnyjoy
9bd6d17864 chore: add migration script 2025-01-31 22:00:05 +08:00
johnnyjoy
39d4d4f4f3 chore: update migrate scripts 2025-01-31 21:05:20 +08:00
johnnyjoy
d605faeffa refactor: move pinned to memo 2025-01-31 20:58:18 +08:00
johnnyjoy
2058a8ab7b chore: move references to memo property 2025-01-31 14:18:07 +08:00
Viacheslav Potoropin
7ed3a12a64
fix: internal error on pin/unpin (#4332) 2025-01-31 13:38:43 +08:00