-
1d9a621bd2
publish clears and loads in one transaction

pastilhasandClaude Opus 5
2026-08-29 21:55:02 +01:00
-
472fd9cb88
publish promotes development's content, then builds

pastilhasandClaude Opus 5
2026-08-29 21:52:08 +01:00
-
ccd4e23217
Home picks a gallery instead of managing one

pastilhasandClaude Opus 5
2026-08-29 21:42:20 +01:00
-
300edfb023
sort the walk, because readdir does not

pastilhasandClaude Opus 5
2026-08-29 21:32:32 +01:00
-
9c62777f5b
thumbnails need the token in the query string

pastilhasandClaude Opus 5
2026-08-29 21:26:19 +01:00
-
9fd5f1b3ab
gallery items get a thumbnail and a caption

pastilhasandClaude Opus 5
2026-08-29 21:23:40 +01:00
-
5cfe571db0
the expansion route was doubling the folder into every path

pastilhasandClaude Opus 5
2026-08-29 21:20:27 +01:00
-
6abe5bd337
use the context's client to expand a folder
pastilhas
2026-08-29 21:18:53 +01:00
-
a610f93189
Create Gallery on a folder means the files inside it

pastilhasandClaude Opus 5
2026-08-29 21:16:05 +01:00
-
f61653f7af
Galleries: a panel, and Create Gallery in the file browser

pastilhasandClaude Opus 5
2026-08-29 21:08:25 +01:00
-
063d2c4a88
watch originals, because a move is not an event

pastilhasandClaude Opus 5
2026-08-29 20:50:07 +01:00
-
01652f3480
a moved file relocates its ladder instead of rebuilding it, and orphans go

pastilhasandClaude Opus 5
2026-08-29 20:42:20 +01:00
-
b634de5604
a Galleries section, above Media

pastilhasandClaude Opus 5
2026-08-29 20:36:10 +01:00
-
fc7bc5b8cf
Hero is chosen by browsing originals, not typed

pastilhasandClaude Opus 5
2026-08-29 20:30:33 +01:00
-
95d5661e73
Intro and Hero are their own sections, and Intro comes first

pastilhasandClaude Opus 5
2026-08-29 20:24:00 +01:00
-
d57bd3e72f
a real editor for the site's copy, and the media param stops following you

pastilhasandClaude Opus 5
2026-08-29 20:15:55 +01:00
-
3ae8c960e5
the Home section, built against the site's own admin API

pastilhasandClaude Opus 5
2026-08-29 20:09:29 +01:00
-
f0d29c8000
the site sections open, because there is finally something behind them

pastilhasandClaude Opus 5
2026-08-29 20:00:18 +01:00
-
2153d4875b
open the firewall to the proxy when the dev server starts

pastilhasandClaude Opus 5
2026-08-29 19:51:07 +01:00
-
89adbe37ce
the build needs a working directory, and its absence was silent
pastilhas
2026-08-29 19:42:09 +01:00
-
27f93d6e14
production is a static build behind nginx, not a process

pastilhasandClaude Opus 5
2026-08-29 19:36:29 +01:00
-
752c06d24a
save the pm2 list after starting or stopping a server

pastilhasandClaude Opus 5
2026-08-29 14:16:46 +01:00
-
0a95647b8e
once a server has a domain, stop asking for another

pastilhasandClaude Opus 5
2026-08-29 14:12:17 +01:00
-
3e07ee38c2
a certificate request outlives the browser, so stop treating a timeout as failure

pastilhasandClaude Opus 5
2026-08-29 14:07:13 +01:00
-
26b3ef2ce4
certificates go over the DNS challenge, using the key Officer already holds

pastilhasandClaude Opus 5
2026-08-29 14:02:36 +01:00
-
a064a3d0d6
a Domains block, pointing NPM at the two servers

pastilhasandClaude Opus 5
2026-08-29 13:58:50 +01:00
-
b27969ba57
Servers is a block in Administration, not a section of its own

pastilhasandClaude Opus 5
2026-08-29 13:53:39 +01:00
-
ca43f7ef86
the site gets what it needs to boot, and the status stops lying

pastilhasandClaude Opus 5
2026-08-29 13:50:16 +01:00
-
2e56260a88
a Servers section: development and production, both under pm2

pastilhasandClaude Opus 5
2026-08-29 13:43:48 +01:00
-
b564282609
the naming form is about naming, and it had been wired to the wrong question

pastilhasandClaude Opus 5
2026-08-29 13:39:15 +01:00
-
51ccf55a3c
stop the Database block flickering, properly this time

pastilhasandClaude Opus 5
2026-08-29 13:35:02 +01:00
-
af31b57cdf
the databases say what is in them, and the block folds away when it is done

pastilhasandClaude Opus 5
2026-08-29 13:32:42 +01:00
-
fb234ede5d
the contact inbox is a mailbox, and it is copied the moment it changes

pastilhasandClaude Opus 5
2026-08-29 13:27:36 +01:00
-
9ff25256c1
back up on publish, which is when this site actually changes

pastilhasandClaude Opus 5
2026-08-29 13:19:22 +01:00
-
89c9dd6f63
restore: pick a dump, pick a database, say yes

pastilhasandClaude Opus 5
2026-08-29 13:11:57 +01:00
-
c429dc3455
a remote path without a leading slash is relative to the remote home

pastilhasandClaude Opus 5
2026-08-29 13:07:50 +01:00
-
5fc710f072
backups go to another machine, and old ones are pruned

pastilhasandClaude Opus 5
2026-08-29 13:03:30 +01:00
-
ac3d8b76d9
every six hours, between hourly and daily

pastilhasandClaude Opus 5
2026-08-29 12:57:09 +01:00
-
1b398121b7
backups: a schedule, a location, and a timer that survives a restart

pastilhasandClaude Opus 5
2026-08-29 12:54:54 +01:00
-
bda59bdf03
one spinner per action, one button for both, and the shared console

pastilhasandClaude Opus 5
2026-08-29 12:47:58 +01:00
-
f7df5f8b10
the plugin tells the site what its databases are called

pastilhasandClaude Opus 5
2026-08-29 12:42:24 +01:00
-
0971764fca
once both databases are there, the form becomes two rows of actions

pastilhasandClaude Opus 5
2026-08-29 12:14:39 +01:00
-
30c52e6449
one button, and it appears when there is something to press

pastilhasandClaude Opus 5
2026-08-29 12:09:54 +01:00
-
a1fe543dff
two database names, and a button that creates what is missing

pastilhasandClaude Opus 5
2026-08-29 12:06:40 +01:00
-
300ae1b94f
no Loading row either, since the header is a constant

pastilhasandClaude Opus 5
2026-08-29 11:58:19 +01:00
-
e621bc761d
the block knows it is settled before it paints, so it stops flickering

pastilhasandClaude Opus 5
2026-08-29 11:55:40 +01:00
-
cc283ee7b6
Root location folds away once there is nothing left to do

pastilhasandClaude Opus 5
2026-08-29 11:52:54 +01:00
-
f30d40446a
a ledger of runs, and what is still outstanding

pastilhasandClaude Opus 5
2026-08-29 11:47:32 +01:00
-
792f166c31
the sync lives with the folders it syncs

pastilhasandClaude Opus 5
2026-08-29 11:36:12 +01:00
-
b9f543c2b6
video rungs stop upscaling, which is why the one video failed

pastilhasandClaude Opus 5
2026-08-29 11:32:34 +01:00
-
6db5b1e85d
decode once, encode seven times, and one file at a time

pastilhasandClaude Opus 5
2026-08-29 11:24:18 +01:00
-
e87e19ee46
derived/ is built from originals/, and you can watch it happen

pastilhasandClaude Opus 5
2026-08-29 11:13:56 +01:00
-
1b171c3335
the media preview steps through the folder

pastilhasandClaude Opus 5
2026-08-29 09:28:39 +01:00
-
1d820fc9d4
file preview, which never worked here and had to be built rather than fixed

pastilhasandClaude Opus 5
2026-08-29 09:19:11 +01:00
-
21935cbc27
the media folder lives in ?media=, not in the route

pastilhasandClaude Opus 5
2026-08-29 09:01:41 +01:00
-
3dd4dd6592
one header instead of three rows, and the folder lives in the URL

pastilhasandClaude Opus 5
2026-08-29 08:56:15 +01:00
-
c7caa8af9f
the banner actually goes this time, and the crumb says Media

pastilhasandClaude Opus 5
2026-08-29 08:50:30 +01:00
-
96e2de0162
the media panel is just the browser

pastilhasandClaude Opus 5
2026-08-29 08:46:50 +01:00
-
c38d269faf
Media moves to the foot, and each section asks its own question

pastilhasandClaude Opus 5
2026-08-29 08:44:11 +01:00
-
944d3d9c5b
a Media section, browsing the site's originals in place

pastilhasandClaude Opus 5
2026-08-29 08:39:53 +01:00
-
9da0c31a90
the media docs become an affordance, and the stale ones go

pastilhasandClaude Opus 5
2026-08-29 08:34:27 +01:00
-
1b7ffe3fcd
the directory picker moves to the platform

pastilhasandClaude Opus 5
2026-08-29 07:09:50 +01:00
-
b9f8ce4ee4
originals/ and derived/, because the names are the rule

pastilhasandClaude Opus 5
2026-08-29 01:14:47 +01:00
-
86e18fc7bf
media/ gets its shape: user/ and treated/

pastilhasandClaude Opus 5
2026-08-29 01:11:16 +01:00
-
003613872d
provision <root>/media, beside the checkout

pastilhasandClaude Opus 5
2026-08-29 01:03:28 +01:00
-
c268e8438a
a copy button on the console, and the failure case spelled out

pastilhasandClaude Opus 5
2026-08-29 01:00:13 +01:00
-
91aae3e981
the output is a console, and it clears itself when it worked

pastilhasandClaude Opus 5
2026-08-29 00:57:36 +01:00
-
bab47526f7
clone and update both end in bun install

pastilhasandClaude Opus 5
2026-08-29 00:54:58 +01:00
-
df394e29a4
the website checkout under the root: clone it, update it, say which

pastilhasandClaude Opus 5
2026-08-29 00:51:44 +01:00
-
9cbbc28c82
"Saved" is a moment, top-right, and gone in five seconds

pastilhasandClaude Opus 5
2026-08-29 00:44:46 +01:00
-
df52045eaa
the path gets the row, the actions get their own

pastilhasandClaude Opus 5
2026-08-29 00:41:50 +01:00
-
d5f2d8f370
Root location: an absolute path, with a picker that can make folders

pastilhasandClaude Opus 5
2026-08-29 00:35:16 +01:00
-
ae9c30e53d
Root location, above Database

pastilhasandClaude Opus 5
2026-08-29 00:29:49 +01:00
-
fcc7436965
Administration is emptied, and starts again with a Database block

pastilhasandClaude Opus 5
2026-08-29 00:28:24 +01:00
-
10b7bc34f7
nothing but Administration opens until the plugin is ready

pastilhasandClaude Opus 5
2026-08-29 00:25:57 +01:00
-
5e96274ebd
Administration sits at the foot of the panel, not the end of the list

pastilhasandClaude Opus 5
2026-08-29 00:20:39 +01:00
-
7eec2ec51d
Administration is a section, not an overlay

pastilhasandClaude Opus 5
2026-08-29 00:18:13 +01:00
-
fe77250aa4
the site's own wordmark, flattened onto white

pastilhasandClaude Opus 5
2026-08-29 00:10:31 +01:00
-
7da2640ce4
the fofos logo as the plugin's icon

pastilhasandClaude Opus 5
2026-08-28 23:21:22 +01:00
-
6b87956e44
Everything needed to be a plugin

PastilhasandClaude Opus 5
2026-08-28 23:05:34 +01:00
-
0a967bef98
The name, and what it is for

PastilhasandClaude Opus 5
2026-08-28 22:32:23 +01:00