Commit Graph

31 Commits

Author SHA1 Message Date
973580ef2b feat: bookmark threads 2025-12-09 00:34:35 +02:00
3e1e0d2ada refactor: user stats -> forum users 2025-11-29 23:08:24 +02:00
0f6988b71c feat: user signatures 2025-11-29 18:51:41 +02:00
50258e95da refactor: remove post slugs 2025-11-28 20:12:19 +02:00
a907e4beba feat(Category): add threads pagination 2025-11-28 15:36:13 +02:00
53159e66b7 feat(Thread): add replies pagination 2025-11-28 15:18:04 +02:00
4b468dbfc8 test: add tests 2025-11-27 08:47:01 +02:00
229f93c551 test: add user/admin settings tests 2025-11-26 01:03:32 +02:00
c807929c94 feat: allow moving thread to a different category (admin/moderator) 2025-11-25 10:53:09 +02:00
a85dbaed91 feat: allow updating thread title (author/admin/moderator) 2025-11-25 10:52:34 +02:00
d2baf2a813 feat: add optional guest access with role-based permissions
Implement opt-in guest access system allowing unauthenticated users to
view forum content with configurable permissions.

Features Added:
  - Guest access toggle in admin settings for forum-wide control
  - Guest role with configurable category-level permissions
(view/post/reply)
  - Role type system (admin, moderator, default, guest, custom) for
enhanced access control
  - Public page support in routing with automatic redirect to login when
disabled
  - Public settings API endpoint for unauthenticated access to forum
metadata
  - Guest role permissions UI in admin panel with clear capability
restrictions
  - Database migration with automatic role type assignment and guest
role seeding

Security & Permission Improvements:
  - Permission middleware now validates permissions on public pages
instead of skipping checks
  - Admin/moderator roles have full access; guest/default roles
restricted from moderation
  - Guest role cannot be assigned to authenticated users

Breaking Changes:
  - Forum title/subtitle moved from system config to app config
(auto-migrated)
  - Permission middleware behavior changed for PublicPage routes (now
checks permissions)
2025-11-25 02:02:46 +02:00
20a15b42d9 chore(test): swap phpunit local/docker 2025-11-23 00:17:15 +02:00
04ec7ffcf8 test: add/update role & permission tests 2025-11-22 23:47:53 +02:00
5ebeb56636 test: add missing tests 2025-11-22 02:29:36 +02:00
a66bcd4612 fix(PostController): exclude first posts from post_count fields 2025-11-22 02:29:14 +02:00
36d8ecd5bb test: fix failing tests 2025-11-22 02:01:31 +02:00
f3b5fa3273 refactor: user, post and thread enrichment service instead of static methods 2025-11-21 22:55:15 +02:00
caf05dae9d chore(test): improve local testing 2025-11-21 22:13:45 +02:00
e071f79300 chore(test): update phpunit.xml 2025-11-21 21:46:39 +02:00
b90ab6151f test: repair tests 2025-11-21 21:40:30 +02:00
3f99ec854b feat: user profile page 2025-11-10 14:40:12 +02:00
af487fb20a fix: mark thread read when replying 2025-11-10 10:09:42 +02:00
4c2452aa1c test: fix tests 2025-11-10 10:03:47 +02:00
a6929dd84d feat: search 2025-11-10 09:57:51 +02:00
b22284f5ed feat: improve thread creation 2025-11-09 22:50:01 +02:00
4b87b45eda test: update tests 2025-11-09 21:28:42 +02:00
9f12097f43 feat: use bbcode library 2025-11-09 17:40:02 +02:00
1fbe247aa6 fix: bbcode param parser - prevent xss 2025-11-09 02:40:38 +02:00
eda901d57a test: add tests 2025-11-09 02:40:25 +02:00
f4b1c87f05 feat: rename project 2025-11-06 02:03:11 +02:00
9c2ed298e6 Initial commit 2025-11-06 00:33:58 +02:00