Commit graph

146 commits

Author SHA1 Message Date
f78ad5f968
test header button removal 2026-08-10 23:01:58 +03:00
e6ccc7ebe1
add community destination links 2026-08-10 22:45:01 +03:00
b502ad2393
test community destination links 2026-08-10 22:42:25 +03:00
aaea745737
Merge branch 'feature/landing-page' 2026-08-05 21:28:17 +03:00
37b7e4f619
add static landing page 2026-08-05 20:18:22 +03:00
26a5baf72a
test landing page deployment 2026-08-05 20:01:54 +03:00
21cca99e9e
Merge branch 'refactor/tide-discourse' 2026-07-19 10:37:55 +03:00
95cdeaedfa
replace app with discourse module 2026-07-19 10:29:50 +03:00
63a68f8ae0
test discourse module configuration 2026-07-19 10:20:13 +03:00
ae9dd787a6
update vendor hash 2026-05-11 10:44:09 +03:00
8d72ff121f
add mailjet config 2026-05-11 10:38:28 +03:00
0f3b1b560d
add frontend url to config 2026-05-11 10:38:19 +03:00
ee675b8e76
install mailjet sdk 2026-05-11 10:38:11 +03:00
2902addc76
bind mailjet mailer to emailer 2026-05-11 10:37:54 +03:00
d726da1e04
add mailjet mailer 2026-05-11 10:37:45 +03:00
96f4de4cf6
add nginx to tide group 2026-05-10 19:35:53 +03:00
a864ff23e8
remove env data, its set in infra repo as secrets 2026-05-10 11:00:18 +03:00
2dfc44045b
fix url for api 2026-05-09 23:18:12 +03:00
62afd2f9d6
add cors middleware 2026-05-09 23:15:11 +03:00
23ec371386
add cors 2026-05-09 23:13:17 +03:00
5081729b99
fix slash 2026-05-09 23:08:20 +03:00
236db20789
add env with api base 2026-05-09 23:05:06 +03:00
069d62b5d9
Merge branch 'fix-laravel-app-root' 2026-05-09 22:29:15 +03:00
4ca6d492e6 copy laravel app root instead of symlinking
PHP's __DIR__ follows symlinks, so an artisan symlink at
/var/lib/tide/app/artisan resolved back to the read only store
path. That made every Laravel file path ultimately resolve into
the store, including storage/logs/laravel.log and bootstrap/cache,
which Laravel must be able to write. The redirected symlinks for
those two subtrees never even got consulted because resolution
happened upstream of them.

Switch tide-prepare to copy the package contents into appRoot,
then mount /var/lib/tide/state over storage/ and bootstrap/cache/
via symlinks out of a writable parent. Now __DIR__ resolves to
the writable copy and Laravel can boot.
2026-05-09 22:29:12 +03:00
9bdabd50e7
Merge branch 'add-pdo-pgsql' 2026-05-08 16:06:39 +03:00
b8d60d088d add pdo_pgsql to backend php
Laravel connects to the production postgres database through PDO,
so the runtime interpreter must include pdo_pgsql. Without it,
tide-migrate fails on activation with 'could not find driver' and
phpfpm-tide never starts.
2026-05-08 16:06:34 +03:00
dfa5327a2b
Merge branch 'nix-deploy' 2026-05-08 10:59:38 +03:00
83f53355be add services.tide nixos module
Exposes the laravel backend behind phpfpm + nginx and the vue
frontend as a static vhost. Wires postgres, runtime tmpfiles for
laravel's writable storage/ and bootstrap/cache/, and a oneshot
tide-migrate service for migrations and config caching.
2026-05-08 10:50:17 +03:00
b7db23b6aa package vue frontend with nix 2026-05-08 10:50:11 +03:00
d7f7460601 package laravel backend with nix 2026-05-08 10:50:08 +03:00
72cdd7dc4e
merge frontend-cypress 2026-05-06 23:27:09 +03:00
d40efeec70
add cypress admin actions spec 2026-05-06 23:26:55 +03:00
db910c9431
add cypress post page spec 2026-05-06 23:26:37 +03:00
6f160ddd4e
add cypress new-post spec 2026-05-06 23:26:14 +03:00
66ad7b1a0f
add cypress profile page spec 2026-05-06 23:26:00 +03:00
84ee24c2ee
add cypress home page spec 2026-05-06 23:25:44 +03:00
07f9746316
add cypress guest-routes spec 2026-05-06 23:25:26 +03:00
910bc98197
add cypress confirm-email spec 2026-05-06 23:25:14 +03:00
9db7920f80
add cypress login spec 2026-05-06 23:25:01 +03:00
75ada812bc
add cypress signup spec 2026-05-06 23:24:50 +03:00
178193bfd8
add cypress api-driven seeding helpers
cy.signupViaApi, cy.fetchLatestConfirmToken (parses the mailpit
inbox), cy.confirmViaApi, cy.loginViaApi, cy.logoutViaApi, plus
composed seedConfirmedUser/seedAdmin/seedPostAs/seedFeaturedPost
so each spec can build its own fixture without going through
the UI for setup.
2026-05-06 23:24:26 +03:00
7f744410bf
wire mailpit and db:promote cypress tasks 2026-05-06 23:23:13 +03:00
30738b163d
add user:promote artisan command
Marks the user with the given email as an admin. Used by the
cypress harness to bootstrap an admin without a public promote
endpoint and is also useful for ops.
2026-05-06 23:23:00 +03:00
eb59f4ca2d
route dev mail through mailpit
Switch from MAIL_MAILER=log to smtp pointing at mailpit on
:1025. From-address mirrors LaravelEmailFactory's confirmation
email format. phpunit.xml keeps MAIL_MAILER=array so unit and
feature tests do not touch mailpit.
2026-05-06 23:21:48 +03:00
4ac2323a2a
add mailpit to dev shell and process-compose
Mailpit listens on 1025 (smtp) and 8025 (web ui). Backend now
depends on it as a healthy dep so dev signups can flush their
confirmation emails to mailpit instead of /dev/null.
2026-05-06 23:21:25 +03:00
effdde84a5
merge frontend-profile-and-post 2026-05-06 22:52:32 +03:00
6ffa499c79
implement profile, post, and new-post views
ProfilePage shows a user's posts and exposes a New Post button
when the logged-in user is the owner; admins see a Promote
control. PostPage shows the post, its comments, and forms for
adding/deleting comments. Post-author and admin can delete
posts; admins can feature or unfeature any post into one of
the two slots from this view.
2026-05-06 22:52:32 +03:00
bc80556d7c
merge frontend-home-and-search 2026-05-06 22:50:56 +03:00
1997870da5
implement home page with featured posts, recent posts, and user search 2026-05-06 22:50:55 +03:00
f4f2d22440
merge frontend-auth-views 2026-05-06 22:49:32 +03:00