(879) commits
Antonio Mika
·
18 Nov 24
Change auth endpoints to check plus and space
Add user to analytics entries
de6dafb
Antonio Mika
·
18 Nov 24
Add user to analytics entries
Antonio Mika
·
18 Nov 24
No read timeout when reading metrics
Use shared lib for metrics connection
60a7e0c
(v3.12.0)
Antonio Mika
·
18 Nov 24
Use shared lib for metrics connection
Cleanup and standardize user id for logs
7e4ad3e
(v3.11.3)
Antonio Mika
·
17 Nov 24
Cleanup and standardize user id for logs
Antonio Mika
·
17 Nov 24
Update to add read and write timeouts
Update to use reconnect logger
d946a84
(v3.11.1)
Antonio Mika
·
17 Nov 24
Update to use reconnect logger
Continue on err for analytics
357120e
Antonio Mika
·
17 Nov 24
Continue on err for analytics
Antonio Mika
·
17 Nov 24
Add buffering to analytics collection and make it non-blocking
Antonio Mika
·
16 Nov 24
Update pipe logger and other utils
Eric Bower
·
15 Nov 24
chore(pgs,prose): caddy access logs
Eric Bower
·
11 Nov 24
feat(auth): subscribe to pico's metric-drain pipe We have a lot of services that need to record site usage analytics so we need a distributed way to receive these events. As a result, all of our site visits will be sent through our pipe service. Then inside of our auth service we process the visits and store them in our analytics table. This overloads the auth service since it's now serving as a destination for our metric-drain, but we think that's okay for now.
Eric Bower
·
09 Nov 24
fix(pgs): trust upstream reverse proxies and forward client ip
refactor(pgs): use pobj/storage
af59569
Eric Bower
·
09 Nov 24
refactor(pgs): use pobj/storage
Eric Bower
·
08 Nov 24
fix(pgs): set content-length so caddy can compress content
Antonio Mika
·
07 Nov 24
Allow unauthenticated access to public pipes (#157) Co-authored-by: Eric Bower <me@erock.io>
Eric Bower
·
07 Nov 24
fix(bouncer): previous alpine docker was failing to build
chore: 20gb to 10gb for pico+
7e8bd93
Eric Bower
·
01 Nov 24
chore: 20gb to 10gb for pico+
Eric Bower
·
29 Oct 24
chore(analytics): add indexes to table
Eric Bower
·
28 Oct 24
refactor(pgs): move filehandler to pgs folder
Eric Bower
·
28 Oct 24
fix(pgs): root domain routes were broken
Eric Bower
·
27 Oct 24
refactor(pgs): use `http.ServeMux` v1.22 This change futher separates `pgs` from most of the other services. One important change is refactoring our web router to use the new `http.ServeMux` router that does a better job of routing with templated strings. Further, we try to leverage the `http.Handler` interface that removes the need to use `context.Context` as much.
Antonio Mika
·
22 Oct 24
Decrease loop iteration time for pubsub
chore(pipe): update cicd copy
6364feb
Eric Bower
·
22 Oct 24
chore(pipe): update cicd copy
Eric Bower
·
18 Oct 24
chore(pgs): print 4 decimal places special files
Mac Chaffee
·
14 Oct 24
chore(pgs): limit size of _redirects and _headers files
Eric Bower
·
16 Oct 24
chore(pgs): integration tests for web api (#152)
Eric Bower
·
16 Oct 24
chore: monthly active users script
Eric Bower
·
15 Oct 24
fix(auth): associate payment history and `plus` feature flag
Eric Bower
·
15 Oct 24
fix: check if user is nil when uploading files
Eric Bower
·
14 Oct 24
refactor(pgs): use httputil rev proxy to external service
Eric Bower
·
13 Oct 24
refactor(feeds): only show banner notice when <30 days feat(feeds): extend engagement click once every 6 months
Eric Bower
·
13 Oct 24
fix(pgs): various _redirects fixes with wildcards and splats
Mac Chaffee
·
13 Oct 24
Fix silent failure on invalid redirect syntax (#148)
Add logger and prom to imgs
6503633
(v3.10.1)
Antonio Mika
·
11 Oct 24
Add logger and prom to imgs
Merge pull request #147 from picosh/am/light-refactor
c9b9480
(v3.10.0)
Antonio Mika
·
11 Oct 24
Merge pull request #147 from picosh/am/light-refactor Refactor pubsub->pipe
Antonio Mika
·
09 Oct 24
Add public key comment to pubsub ls
Eric Bower
·
08 Oct 24
chore(pgs): block site access when project is blocked
Eric Bower
·
08 Oct 24
fix(pico): reject external service redirects for non-paid users
chore(pubsub): update asciicast
c388a05
Eric Bower
·
08 Oct 24
chore(pubsub): update asciicast
chore(pubsub): print `-p` flag for pub and pipe stdout msg
6e77947
(v3.9.0)
Eric Bower
·
08 Oct 24
chore(pubsub): print `-p` flag for pub and pipe stdout msg
Antonio Mika
·
08 Oct 24
Merge pull request #145 from picosh/am/lib-refactor Refactor
Eric Bower
·
06 Oct 24
fix(pico): cleanup logs when leaving page
fix(pico): cap log lines to 1k
6203700
Eric Bower
·
06 Oct 24
fix(pico): cap log lines to 1k
chore(pastes): better api logs
6e39371
Eric Bower
·
06 Oct 24
chore(pastes): better api logs
Eric Bower
·
05 Oct 24
feat(pgs): add cache headers etag and last-modified
chore(pgs): better structured logging
1d2e979
(v3.8.0)
Eric Bower
·
04 Oct 24
chore(pgs): better structured logging
Antonio Mika
·
04 Oct 24
Merge pull request #143 from picosh/am/send-log-sink Setup a send log sink
Antonio Mika
·
03 Oct 24
Remove log dep and add data race safe impl
style(pastes): smol-v2 styles
af3ceae
Eric Bower
·
03 Oct 24
style(pastes): smol-v2 styles
chore(pubsub): update pubsub dep
dcfaddb
Eric Bower
·
03 Oct 24
chore(pubsub): update pubsub dep
Update go version and update pubsub features
03091f8
(v3.7.0)
Antonio Mika
·
02 Oct 24
Update go version and update pubsub features
Eric Bower
·
02 Oct 24
style(prose): moved tags block to bottom of page
Eric Bower
·
03 Sep 24
feat(prose): `with_styles` setting in `_readme` This adds a new frontmatter property in `_readme` that allows users to request no styles from us. This allows for better customization in conjunction with `_styles.css` which is the user-defined CSS stylesheet that gets loaded.
Eric Bower
·
24 Sep 24
refactor(pubsub): default timeout set to 30 days
Eric Bower
·
24 Sep 24
feat(pubsub): if no channel is provided, randomly gen one
Eric Bower
·
24 Sep 24
chore(pubsub): pub log when timeout reached
Eric Bower
·
24 Sep 24
feat(pubsub): pub new flag, `-t {duration}` timeout The default is no timeout.
Eric Bower
·
23 Sep 24
fix(feeds): days until expiration date
Eric Bower
·
23 Sep 24
fix(feeds): flip post expiration check
Eric Bower
·
29 Aug 24
feat(feeds): require human interaction to continue sending emails BREAKING CHANGE: we require users to click a link in their feed emails once every 90 days
Eric Bower
·
21 Sep 24
fix(prose): undo footer box for posts
Eric Bower
·
20 Sep 24
chore(feeds): more logging cleanup
chore: structured logging for servier and user info
8e35e95
(v3.6.0)
Eric Bower
·
20 Sep 24
chore: structured logging for servier and user info
Antonio Mika
·
20 Sep 24
Add gifs to marketing page for send
Antonio Mika
·
18 Sep 24
Merge pull request #140 from picosh/am/pubsub-clean Alternate pubsub implementation
chore(prose): revert diff code
11beaab
Eric Bower
·
16 Sep 24
chore(prose): revert diff code
Alternate pubsub implementation
416b082
Antonio Mika
·
10 Sep 24
Alternate pubsub implementation
Eric Bower
·
09 Sep 24
fix(pubsub): proper bidirectional blocking
Eric Bower
·
08 Sep 24
feat(pubsub): send messages over public channels
Eric Bower
·
08 Sep 24
feat(pubsub): flag for empty messages
Eric Bower
·
08 Sep 24
fix(pubsub): scope `ls` to ssh user
Eric Bower
·
05 Sep 24
fix(pubsub): create channel for multicast
Eric Bower
·
05 Sep 24
feat(pubsub): pub waits for a sub
Eric Bower
·
04 Sep 24
chore(pubsub): Caddy use basic reverse proxy
Eric Bower
·
04 Sep 24
chore(pubsub): docker compose config
Add user handler to auth system
2be62f3
Antonio Mika
·
27 Aug 24
Add user handler to auth system
Eric Bower
·
26 Aug 24
refactor(pgs): remove CSP and allow headers to be overriden
Eric Bower
·
19 Aug 24
feat(pgs): block uploads for specific projects
Eric Bower
·
19 Aug 24
chore(pgs): add projects.blocked col Sometimes users have sites that violate our ToS. We can delete the content but if they have a script that will reupload it will automatically recreate the site. So we need a way to prevent uploads to projects.
Eric Bower
·
19 Aug 24
chore(bouncer): remove debug flag
fix(prose): add rss route back
4632c9c
Eric Bower
·
16 Aug 24
fix(prose): add rss route back
Eric Bower
·
16 Aug 24
chore(bouncer): add `-debug` flag to soju chore(bouncer): update patch against soju upstream
feat(prose): live journal
866976a
Eric Bower
·
01 Aug 24
feat(prose): live journal The goal is to be able to use posts as live journals where reader can receive updates to docs via rss.
chore(pgs): marketing page copy
0bd744d
Eric Bower
·
27 Jul 24
chore(pgs): marketing page copy
Eric Bower
·
19 Jul 24
fix(tui): force minimum color profile
feat(pgs): rewrite support
ccb7239
Eric Bower
·
05 Apr 24
feat(pgs): rewrite support feat(pgs): rewrite proxy api support
fix(bouncer): update go to 1.22
2f441a5
Eric Bower
·
12 Jul 24
fix(bouncer): update go to 1.22
Eric Bower
·
01 Jul 24
chore(bouncer): disable inactive users after 30 days See soju docs to read more: https://soju.im/doc/soju.1.html
Eric Bower
·
12 Jul 24
chore(bouncer): switch to codeberg for upstream remote
Eric Bower
·
08 Jul 24
fix: use file size if available when uploading
chore: update `send`
6201f5d
Eric Bower
·
07 Jul 24
chore: update `send` This fixes a memory leak in our ssh apps.
Eric Bower
·
26 Jun 24
style: blockquote for post description
Eric Bower
·
26 Jun 24
style: mv anchor link to end of title
Eric Bower
·
26 Jun 24
style: use `time.DateOnly` format for dates
Eric Bower
·
26 Jun 24
fix(pgs): when removing project, always try to remove objects
refactor(pgs): use pubkey auth handler
35fb876
(v3.4.2)
Eric Bower
·
17 Jun 24
refactor(pgs): use pubkey auth handler
Eric Bower
·
17 Jun 24
refactor: be pickier with which pubkey to accept
Eric Bower
·
16 Jun 24
feat(prose): cli cmd `stats {post}` for analytics
Eric Bower
·
16 Jun 24
feat(pgs): cli cmd `stats {project}` for project analytics
Eric Bower
·
16 Jun 24
chore(pgs): better error message for uploads
Eric Bower
·
16 Jun 24
feat(pgs): change max file size for free tier 1->10mb
Eric Bower
·
12 Jun 24
refactor(pgs): dont copy reader into memory
Eric Bower
·
09 Jun 24
chore(pgs): set memory limit for ssh container
Eric Bower
·
29 May 24
feat(imgs): pubsub for docker image tag updates
Antonio Mika
·
03 Jun 24
Updated go.mod to remove replacement
Eric Bower
·
31 May 24
chore(pastes): set cron to once every 12h
chore(pastes): show unlisted tag
1f86a2e
Eric Bower
·
31 May 24
chore(pastes): show unlisted tag
Merge pull request #136 from picosh/am/update-deps
0068695
(v3.4.1)
Antonio Mika
·
31 May 24
Merge pull request #136 from picosh/am/update-deps Update dependencies (for chroma)
Update dependencies (for chroma
5548864
Antonio Mika
·
31 May 24
Update dependencies (for chroma
Antonio Mika
·
30 May 24
Set ip correctly based on prod-irc as well
Eric Bower
·
30 May 24
chore(plus): change payment history amount to $24
Merge pull request #134 from picosh/am/sshfs
2e6c06e
(v3.4.0)
Antonio Mika
·
30 May 24
Merge pull request #134 from picosh/am/sshfs Added support for sshfs
Eric Bower
·
28 May 24
refactor: remove ability to override CSP for pgs subdomains BREAKING CHANGE: cannot override default CSP for pgs
Eric Bower
·
21 May 24
fix: denylist for discovery feed to remove spam
chore: use consistent date fmt
7e3add8
Eric Bower
·
18 May 24
chore: use consistent date fmt
Eric Bower
·
18 May 24
styles(tui): settings page suggested width
styles(tui): md word wrapping
7f4090c
Eric Bower
·
17 May 24
styles(tui): md word wrapping
styles(tui): create account page
5b0ef24
Eric Bower
·
17 May 24
styles(tui): create account page
Eric Bower
·
17 May 24
styles(tui): update input placeholder
Eric Bower
·
17 May 24
fix(tui): update models when resizing
Eric Bower
·
16 May 24
refactor(tui): reorganize into pages
Eric Bower
·
16 May 24
chore(pgs): set default height to 24
Eric Bower
·
16 May 24
refactor: use bubbletea's renderer fn
Eric Bower
·
15 May 24
chore(pico): better logging statements
chore: update storage quotas from 1024 -> 1000
af05ecd
(v3.3.1)
Eric Bower
·
15 May 24
chore: update storage quotas from 1024 -> 1000
refactor(plus): make plus a single feature (#128)
84f8549
(v3.3.0)
Eric Bower
·
15 May 24
refactor(plus): make plus a single feature (#128)
Eric Bower
·
15 May 24
chore: url shortener for payment processor checkout url
Eric Bower
·
14 May 24
fix: rm `links` from `registry` service minio and registry are not on the same VM so it was failing when running docker compose commands
Eric Bower
·
14 May 24
fix(pico): check for user in new tui pages
refactor(plus): use lemonsqueezy
2624c0e
Eric Bower
·
14 May 24
refactor(plus): use lemonsqueezy feat(plus): support international users
Eric Bower
·
07 May 24
fix(prose): allow .ico to be uploaded Closes: #131
feat: senpai integration (#129)
65b128e
Eric Bower
·
07 May 24
feat: senpai integration (#129) Co-authored-by: Antonio Mika <antoniomika@gmail.com>
Eric Bower
·
04 May 24
fix(tui): don't delete account when active key is deleted (#130)
Eric Bower
·
30 Apr 24
feat: update pubkey comments w authorized_keys chore: better output when uploading pubkeys
Eric Bower
·
30 Apr 24
fix: users not being able to register an account
feat: pico ssh app (#126)
3ceca3b
(v3.2.0)
Eric Bower
·
29 Apr 24
feat: pico ssh app (#126)
Eric Bower
·
19 Apr 24
fix(pgs): analytics for private sites
Eric Bower
·
19 Apr 24
chore: update env.example to include registry url
Eric Bower
·
13 Apr 24
feat(imgs): ssh cli with ls and rm commands
Eric Bower
·
17 Apr 24
chore: downgrade go version requirements
chore: TUI only accessible via pico.sh
a2877c7
(v3.1.0)
Eric Bower
·
08 Apr 24
chore: TUI only accessible via pico.sh BREAKING CHANGE: TUI only accessible via pico.sh
sbatial
·
07 Apr 24
Readme: Bump required version to 1.22.0 (#121)
Eric Bower
·
06 Apr 24
refactor(prose): discover page sorts by publish_at
Eric Bower
·
04 Apr 24
chore(pgs): add better err messages
Eric Bower
·
04 Apr 24
refactor(pgs): switch from allowlist to denylist for files
Eric Bower
·
04 Apr 24
fix(pgs): add trailing slash even with extension
Eric Bower
·
04 Apr 24
feat(pgs): support serving files without extensions
Eric Bower
·
04 Apr 24
feat(pgs): append trailing slash to redirect matchers This change will make it so a user can provide -- or not provide -- a trailing slash for matching a route, that way the user doesn't need to think about it.
Eric Bower
·
03 Apr 24
refactor(pgs): redirects and rewrites
Eric Bower
·
03 Apr 24
feat(pgs): 301 redirect urls that are directories without trailing slash (#116)
Eric Bower
·
02 Apr 24
feat(pgs): support yml, eot, and LICENSE Closes: #118
Eric Bower
·
02 Apr 24
fix(analytics): better analytic queries
Eric Bower
·
01 Apr 24
refactor(feeds): change digest var name
Eric Bower
·
01 Apr 24
fix(analytics): better first day of month calc
feat(pgs): add opml to allowlist
395c5eb
Eric Bower
·
31 Mar 24
feat(pgs): add opml to allowlist
Eric Bower
·
31 Mar 24
fix(ui): scope where statement properly
Eric Bower
·
31 Mar 24
fix(pgs): use full filepath when checking for `.well-known` Closes: #113
Eric Bower
·
29 Mar 24
feat(ui): ability to enable/disable analytics
Eric Bower
·
29 Mar 24
chore(ui): more analytics API endpoints
Eric Bower
·
28 Mar 24
feat(pgs): allow csp to be overriden by upstream
fix(prose): add smol.css route
1fd7bea
Eric Bower
·
26 Mar 24
fix(prose): add smol.css route
Eric Bower
·
26 Mar 24
fix(prose): copy smol.css from pico.sh fix(prose): use relative _styles.css Closes: #112
Eric Bower
·
26 Mar 24
refactor(analytics): cleanup naming and fn params
Eric Bower
·
25 Mar 24
chore(analytics): hmac ip address
Eric Bower
·
25 Mar 24
feat: analytics for visitors on prose and pgs (#111)
chore(ui): authorization checks
eb429da
Eric Bower
·
24 Mar 24
chore(ui): authorization checks
Eric Bower
·
23 Mar 24
chore: add pico+ to latest expiration date instead of now When a user eventually purchases another year of pico+, we don't want to set the expiration date a year from purchase date. Rather, we want to set the expiration date to the expiration date of the feature + 1 year.
Eric Bower
·
22 Mar 24
chore: change toc to Table of Contents
Chloé Vulquin
·
21 Mar 24
md/toc: make it nice, flexible, and fast
Eric Bower
·
21 Mar 24
refactor(prose): dedupe string slice for embedded tags
feat(pgs): support `.xsl`
58da36f
Eric Bower
·
21 Mar 24
feat(pgs): support `.xsl` Closes: https://github.com/picosh/pico/issues/105
Eric Bower
·
19 Mar 24
fix(prose): use image mimetype if file ext provided Closes: #104
Eric Bower
·
17 Mar 24
docs(pgs): change free tier limit
chore(plus): increase imgs quota
17d355e
(v3.0.2)
Eric Bower
·
17 Mar 24
chore(plus): increase imgs quota
Eric Bower
·
17 Mar 24
fix(ui): always fetch user from ctx When a user registers for an account, we set the user ctx, but all the api endpoint are using an closured version of the user.
Eric Bower
·
17 Mar 24
fix(ui): set user ctx after registering
Eric Bower
·
17 Mar 24
feat(auth): stripe webhook integration (#101)
Cotton Hou
·
17 Mar 24
fix(prose): RSS content-type with charset=utf-8 (#103)
Cotton Hou
·
16 Mar 24
feat(prose): CSS var --body-max-width (#102)
Eric Bower
·
15 Mar 24
chore(auth): pico+ activated rss feed item
Eric Bower
·
15 Mar 24
chore(pgs): reduce free trial to 5MB
Eric Bower
·
13 Mar 24
fix(imgs): registry needs imgs network
Eric Bower
·
13 Mar 24
chore(imgs): move ssh app into pico
feat(pgs): impersonation working
f650e5e
Eric Bower
·
13 Mar 24
feat(pgs): impersonation working
feat(pgs): impersonate any user
74f0af0
Eric Bower
·
13 Mar 24
feat(pgs): impersonate any user
chore(pgs): add id to objects
aa98c7d
Eric Bower
·
12 Mar 24
chore(pgs): add id to objects
Eric Bower
·
12 Mar 24
feat(ui): api for fetching project objects
Eric Bower
·
12 Mar 24
docs(pgs): use port `1337` as canonical port for web tunnels
Eric Bower
·
12 Mar 24
chore(prose): use middle dot to separate date and link
Eric Bower
·
12 Mar 24
chore(prose): rm "on" from post date line A small gesture to make prose more multi-lingual
Eric Bower
·
11 Mar 24
fix(ui): posts should fetch all posts
chore: rename plus folder to ui
f767ab9
Eric Bower
·
11 Mar 24
chore: rename plus folder to ui
Eric Bower
·
11 Mar 24
feat: add public_keys.name column
feat(ui): more api endpoints!
351a5aa
Eric Bower
·
11 Mar 24
feat(ui): more api endpoints!
Eric Bower
·
10 Mar 24
fix(ui): don't bomb on rss token missing
Eric Bower
·
10 Mar 24
feat(pgs): allow cors for private sites
Chloé Vulquin
·
08 Mar 24
mdparser: extract hashtag detection into a func Also fix a bug where `tags: []` would still do the detection.
Chloé Vulquin
·
08 Mar 24
mdparser: implicitly capture hashtags in document When they're found, they will be rendered as so: `<span class="hashtag">...</span>`. They are ignored in the following: * block code sections * block quote sections * span code sections This list can be expanded. We then collect all of the matching hashtags and provide them as metadata, but only if there is no explicit frontmatter for them. So a workaround for undesirable hashtag detection is to use front-matter to specify `tags: []` or similar.
Chloé Vulquin
·
08 Mar 24
mdparser: extract ast manipulation into shared fn (#96)
Chloé Vulquin
·
05 Mar 24
prose: infer title from first <h1> before any <p> (#93) This eliminates the need to use explicit title metadata for the vast majority of posts. This still allows explicitly setting a title via the frontmatter. If neither is found, the current logic goes on.
Eric Bower
·
05 Mar 24
fix(prose): rss link should be to website Closes: #94
Eric Bower
·
05 Mar 24
feat(pgs): add `.wasm` to allowlist
Eric Bower
·
03 Mar 24
feat(pgs): support more file formats
fix(pgs): redirect to full url
de1beb0
(v3.0.0)
Eric Bower
·
03 Mar 24
fix(pgs): redirect to full url
Eric Bower
·
03 Mar 24
fix(prose): better front-matter error handling on file upload
Eric Bower
·
02 Mar 24
fix(pgs): various redirect fixes (#92) Closes: #91
fix(pgs): sort rss feed
8186562
Eric Bower
·
02 Mar 24
fix(pgs): sort rss feed feat(pgs): add new updated_at rss feed
Eric Bower
·
01 Mar 24
feat(prose): let user customize 404 page feat(prose): `_404.md` file now supported
Eric Bower
·
01 Mar 24
chore(pgs): docker compose tmp folder
Eric Bower
·
01 Mar 24
fix(scripts): make pico-plus script more flexible
chore: bump docker go version
dca976a
Eric Bower
·
01 Mar 24
chore: bump docker go version
refactor(shared): http router
2f0f0ee
Eric Bower
·
01 Mar 24
refactor(shared): http router
fix: empty username
65ca2e2
(v2.1.4)
Eric Bower
·
29 Feb 24
fix: empty username refactor: ssh styles feat: add pico+ info
chore: rm TERM
886ea6e
(v2.1.3)
Eric Bower
·
29 Feb 24
chore: rm TERM chore: add ico to imgs
Eric Bower
·
28 Feb 24
feat(pgs): support avif and heif image formats
feat(pgs): _headers file (#83)
44be1fd
Eric Bower
·
25 Feb 24
feat(pgs): _headers file (#83) https://docs.netlify.com/routing/headers/ Closes: #82
fix(router): pass writer to create serve basic
d2d691c
(v2.1.1)
Eric Bower
·
24 Feb 24
fix(router): pass writer to create serve basic
chore(pgs): acl for public sites
2527b65
Eric Bower
·
24 Feb 24
chore(pgs): acl for public sites
chore(pgs): web tunnel cleanup
7405bc8
Eric Bower
·
24 Feb 24
chore(pgs): web tunnel cleanup
feat(pgs): private projects with web tunnels (#80)
43ef9bb
(v2.1.0)
Eric Bower
·
24 Feb 24
feat(pgs): private projects with web tunnels (#80) We can support private projects via local forward ssh tunnels. Eric sets ACL for project `hey-docs-dev`: ``` ssh pgs.sh acl hey-docs-dev pico antonio ``` Antonio creates SSH tunnel to project: ``` ssh -L 5000:localhost:80 -N hey-docs-dev@pgs.sh ``` Antonio can access site via http://localhost:5000 Other options we support: - `acl public` -> default, open to everyone - `acl pico` -> private to any pico user - `acl pico xxx,yyy` -> private to specific pico users - `acl public_keys` -> private to anyone with a pubkey - `acl public_keys sha256:xxx,sha256:yyy` -> private to specific pubkeys Further, there is a special API endpoint for any sites accessed via a tunnel: GET http://localhost:5000/pico This will return information about the user accessing the site, like pico username, public key used, etc.
refactor: make public keys unique (#81)
0df20ce
(v2.0.0)
Eric Bower
·
21 Feb 24
refactor: make public keys unique (#81) BREAKING CHANGE: we will no longer support multiple account with the same public key
refactor: make pgs the CMS for pico (#79)
2b6624b
(v1.13.0)
Eric Bower
·
19 Feb 24
refactor: make pgs the CMS for pico (#79)
Eric Bower
·
18 Feb 24
chore: use slog wish middleware logger
refactor: use pobj (#76)
15dc5a8
(v1.12.0)
Eric Bower
·
18 Feb 24
refactor: use pobj (#76)
Eric Bower
·
17 Feb 24
refactor: replace zap with slog (#75) chore: remove lists project
Eric Bower
·
08 Feb 24
fix(prose): allow `_styles.css` to be uploaded again Closes #74
Eric Bower
·
04 Feb 24
chore: update auth and imgs services
Eric Bower
·
03 Feb 24
feat(auth): privileged access based on `auth` feature flag
Eric Bower
·
02 Feb 24
refactor(auth): `/key?space=xxx` instead of inside POST body
Eric Bower
·
02 Feb 24
feat(auth): `/key` support to check any space
fix(pgs): correct content type
6dab28c
(v1.11.0)
Eric Bower
·
31 Jan 24
fix(pgs): correct content type
Eric Bower
·
31 Jan 24
chore(prose): set img proc defaults
Eric Bower
·
31 Jan 24
feat: support more imgproxy options (#73) New options in any combinations: - `/s:w:h` - `/q:1-100` - `/rt:angle` We also still support our imgs api version of sizing.
fix(imgs): redirect to prose.sh
a895946
Eric Bower
·
30 Jan 24
fix(imgs): redirect to prose.sh
chore(imgs): remove unused code
4b951be
Eric Bower
·
30 Jan 24
chore(imgs): remove unused code
Eric Bower
·
30 Jan 24
feat(prose): directory of images at `x.prose.sh/i`
refactor(imgs): merge into prose.sh (#71)
3c82bf5
(v1.10.0)
Eric Bower
·
30 Jan 24
refactor(imgs): merge into prose.sh (#71) feat(pgs): use image proxy for images BREAKING CHANGE: removed imgs.sh blog features
Eric Bower
·
28 Jan 24
fix(pgs): classify xml when calc routes `.xml` files were returning as `text/plain` which has different routing rules than what xml should have. Closes https://github.com/picosh/pico/issues/72
Eric Bower
·
25 Jan 24
chore(pgs): increase storage max to 25MB
Eric Bower
·
25 Jan 24
fix: default size limit fallbacks
Eric Bower
·
25 Jan 24
chore: allow us to use sojuctl (#70)
Eric Bower
·
22 Jan 24
chore: add feeds cmd for testing fetcher
fix(lists): update shutdown date
b077673
Eric Bower
·
20 Jan 24
fix(lists): update shutdown date
fix(lists): add real blog post
2ca589a
Eric Bower
·
20 Jan 24
fix(lists): add real blog post
fix(feeds): move cron to web app
c9de2c5
Eric Bower
·
20 Jan 24
fix(feeds): move cron to web app Our `Dockerfile` doesn't move template files into their respective images when it's an SSH app. feeds' cron requires those template files in order to send emails.
Antonio Mika
·
18 Jan 24
Use new httpmux config option and explicitly set max users
refactor(imgs): use prose ssh app
d1895d2
(v1.8.3)
Eric Bower
·
16 Jan 24
refactor(imgs): use prose ssh app Prose's ssh app does the same thing as imgs so there is no point in having them both. This frees up an IP address for us to use for other purposes.
Eric Bower
·
16 Jan 24
refactor(feeds): cron to run on ssh server
Eric Bower
·
16 Jan 24
style(pastes): add `.post-date` css
chore: force pgit to update
8e9e6c8
(v1.8.2)
Eric Bower
·
16 Jan 24
chore: force pgit to update
Eric Bower
·
16 Jan 24
chore: update license with company name
Antonio Mika
·
14 Jan 24
Update subscriber change for soju
Eric Bower
·
13 Jan 24
style: use docs smol.css as canonical css framework
chore: update service intros
421f370
(v1.8.1)
Eric Bower
·
11 Jan 24
chore: update service intros
Eric Bower
·
11 Jan 24
refactor: move ssh services into service packages The only excpetion is imgs.sh which contains a circular dep.
Refactor docs (#68)
d77b910
(v1.8.0)
Eric Bower
·
09 Jan 24
Refactor docs (#68) Removed all docs associated with our services and moved them to a centralized source: https://pico.sh
securepub
·
08 Jan 24
doc suggestion from IRC #pico.sh @ libera.chat (#67) [10:25am] pareidoliac: I have had problem with the docs apart from the minor detail that the "-> yourusername" should be "-> {username}-myproject" in the https://pgs.sh/help#custom-domain section. [10:25am] pareidoliac: thinking of making a PR to suggest that [10:29am] pareidoliac: also suggest mentioning the CSP policy pico.sh vs custom domain in the https://pgs.sh/help#spa section [10:44am] erock: happy to accept PRs Co-authored-by: jungle <jungle@night.local>
Eric Bower
·
03 Jan 24
docs(pastes): showcase rsync support
Eric Bower
·
03 Jan 24
docs(pastes): showcase sftp support
Eric Bower
·
03 Jan 24
chore(prose): support trailing "/" for post raw
Eric Bower
·
03 Jan 24
fix(prose): support trailing "/" in url Closes: https://github.com/picosh/pico/issues/64
Eric Bower
·
02 Jan 24
fix(imgs): dont clip ext unless actually file ext Closes: https://github.com/picosh/pico/issues/65
Eric Bower
·
02 Jan 24
chore: update golang.org/x/crypto (#63) Reference: https://groups.google.com/g/golang-announce/c/-n5WqVC18LQ
Eric Bower
·
26 Nov 23
refactor: move `wish/*` to its own repo (#62)
Don't send notifications when self
0a92938
(v1.7.2)
Antonio Mika
·
17 Nov 23
Don't send notifications when self
Antonio Mika
·
16 Nov 23
Update soju patch to include selective message notifications
Eric Bower
·
16 Nov 23
fix(pgs): period in route redirects to 404 (#59) Closes #58
Eric Bower
·
16 Nov 23
chore: add tokens view to pgs cms (#60)
Antonio Mika
·
15 Nov 23
Push network id with broadcasted message in soju
Enable panic recovery in ssh and set logger to be based on debug
5a1f3d8
(v1.7.1)
Antonio Mika
·
15 Nov 23
Enable panic recovery in ssh and set logger to be based on debug
Fixed endpoint for caddy metrics
ac9f843
Antonio Mika
·
13 Nov 23
Fixed endpoint for caddy metrics
Antonio Mika
·
13 Nov 23
Update our caddyfiles for imgproxy
refactor(imgs): use imgproxy instead of libwebp (#56)
f1e1fbb
(v1.7.0)
Eric Bower
·
13 Nov 23
refactor(imgs): use imgproxy instead of libwebp (#56) --------- Co-authored-by: Antonio Mika <antoniomika@gmail.com>
Eric Bower
·
13 Nov 23
refactor(imgs): dont bring libwebp into every service (#55) Most of our libwebp related code lived inside the `shared` package. This is problematic since every service imports that package, thereby requiring libwebp for every service. Now references to libwebp live solely inside `imgs` library. Unfortunately, all of our post-based SSH services import `imgs` so they still have the requirement.
Merge pull request #53 from picosh/post-filesize
f8e4071
(v1.6.0)
Antonio Mika
·
12 Nov 23
Merge pull request #53 from picosh/post-filesize post filesize script
Antonio Mika
·
12 Nov 23
Merge pull request #54 from picosh/am/dynamic-list Add the ability to set the per page by window height
Antonio Mika
·
12 Nov 23
Add the ability to set the per page by window height
Eric Bower
·
12 Nov 23
feat(prose): render `unlisted` on post when hidden
Eric Bower
·
12 Nov 23
feat(pastes): set custom expiration and set paste to unlisted (#52)
Eric Bower
·
12 Nov 23
fix(pgs): load created_at and updated_at for projects
chore: `make scripts` command
4e6f6f8
Eric Bower
·
12 Nov 23
chore: `make scripts` command
Eric Bower
·
12 Nov 23
chore(script): clean write env var
Eric Bower
·
12 Nov 23
chore(pgs): rm objects from store when project no longer exists
Eric Bower
·
12 Nov 23
fix(pgs): missing project name when deleting project files from store
Add feature flag for advanced pastes management
ccc0df5
(v1.5.0)
Antonio Mika
·
11 Nov 23
Add feature flag for advanced pastes management
Eric Bower
·
11 Nov 23
fix(gha): copy contents not dir itself
Report same issues on receive
3781df8
(v1.4.2)
Antonio Mika
·
10 Nov 23
Report same issues on receive
Put key auth behind feature flag
f083f44
(v1.4.1)
Antonio Mika
·
10 Nov 23
Put key auth behind feature flag
Add key endpoint for sish
f10bd2a
(v1.4.0)
Antonio Mika
·
10 Nov 23
Add key endpoint for sish
Set correct updated at when creating a post
550b987
(v1.3.6)
Antonio Mika
·
10 Nov 23
Set correct updated at when creating a post
Don't use now for updates
dcf93cb
(v1.3.5)
Antonio Mika
·
10 Nov 23
Don't use now for updates
Properly check mod time as well for updating a post
3a969c2
(v1.3.4)
Antonio Mika
·
10 Nov 23
Properly check mod time as well for updating a post
Use modtime from client, not now
e571347
(v1.3.3)
Antonio Mika
·
10 Nov 23
Use modtime from client, not now
Properly update post time when updated
1a0e40b
(v1.3.2)
Antonio Mika
·
10 Nov 23
Properly update post time when updated
Skip empty files in rsync
0c6b9a9
(v1.3.1)
Antonio Mika
·
10 Nov 23
Skip empty files in rsync
Change to 1.21 for static site builder
358794c
(v1.3.0)
Antonio Mika
·
10 Nov 23
Change to 1.21 for static site builder
Antonio Mika
·
10 Nov 23
Merge pull request #51 from picosh/am/rsync-updates Am/rsync updates
Ignore error on status messages
5980138
Antonio Mika
·
10 Nov 23
Ignore error on status messages
Antonio Mika
·
10 Nov 23
Properly close connection for unsupported flags
Ignore error for chtimes as nop
03e0845
Antonio Mika
·
10 Nov 23
Ignore error for chtimes as nop
Antonio Mika
·
10 Nov 23
More work to properly support rsync
Antonio Mika
·
10 Nov 23
Working on adding more features to rsync
Improve pgs filesystem support (and fix local storage)
a8ab7f3
(v1.2.2)
Antonio Mika
·
09 Nov 23
Improve pgs filesystem support (and fix local storage)
Antonio Mika
·
09 Nov 23
Only build bouncer and caddy when changes are made to their contexts
Antonio Mika
·
09 Nov 23
Merge pull request #50 from picosh/am/update-sftp Fixed issues with sftp file listing and downloading from minio
Antonio Mika
·
09 Nov 23
Refactor actions for matrix builds
Antonio Mika
·
08 Nov 23
Added the ability to remove files using sftp
Antonio Mika
·
08 Nov 23
Fixed issues with sftp file listing and downloading from minio
Eric Bower
·
06 Nov 23
fix(imgs): better handling of 404 images
Eric Bower
·
20 Oct 23
feat(pgs): support `_redirects` special file for routing (#48)
Antonio Mika
·
15 Oct 23
Merge pull request #47 from picosh/am/soju-webpush Added simple diff for soju to fix firefox and ios webpush
Antonio Mika
·
15 Oct 23
Added simple diff for soju to fix firefox and ios webpush
Eric Bower
·
11 Oct 23
doc(pgs): copy edits marketing page
Eric Bower
·
11 Oct 23
feat(pastes): extend file expiration from 7 -> 90 days chore(pastes): update copy refactor(pastes): move ssh server into `pastes` package
Eric Bower
·
07 Oct 23
chore(pgs): add more mime types to helper
Antonio Mika
·
07 Oct 23
Implement a fake oauth login system that uses ssh generated tokens (#44)
Ensure caddy metrics are enabled
d7d2aff
Antonio Mika
·
05 Oct 23
Ensure caddy metrics are enabled
Antonio Mika
·
05 Oct 23
Merge pull request #43 from picosh/am/irc Adds infra support for irc infrastructure
Antonio Mika
·
05 Oct 23
Work on adding bouncer and auth services to deployments
Eric Bower
·
05 Oct 23
chore(docker): sync production changes
Eric Bower
·
05 Oct 23
fix(imgs): regression with upload changes
Eric Bower
·
04 Oct 23
feat(pgs): add .webmanifest and .map
Eric Bower
·
04 Oct 23
chore(irc): separate docker compose file
Eric Bower
·
27 Sep 23
fix(imgs): when calc user's total img size, coalesce null to 0 chore: add more error logging for us to debug
feat(auth): web service (#42)
76d15e5
Eric Bower
·
23 Sep 23
feat(auth): web service (#42) Authentication (oauth2) web service intended for soju bouncer. We are also introducings tokens which users can create through the SSH CMS for all services. This will allow users to generate an API token so they can authenticate with our oauth2 API.
feat: anchor links for prose
aa8502f
Eric Bower
·
14 Sep 23
feat: anchor links for prose design: preserve header `font-size` when there's a `<code />` child
design(pastes): max-width 1025px
5991887
Eric Bower
·
12 Sep 23
design(pastes): max-width 1025px
chore(router): remove noisy logs
128a382
Eric Bower
·
07 Sep 23
chore(router): remove noisy logs
Eric Bower
·
06 Sep 23
doc(pgs): better articulate this is closed beta Also describe the requirements for participation
Eric Bower
·
06 Sep 23
feat(pgs): allowing `.rss` `.atom`, and `.xml` file extensions
Eric Bower
·
06 Sep 23
feat(pgs): `{user}.pgs.sh` supported by creating `{user}` project
Eric Bower
·
06 Sep 23
chore(pgs): move most ssh code to pgs package
Christopher Hoelter
·
05 Sep 23
Consistent ordering of nav items (#40) * Ensuring consistent ordering of nav items If nav items are declared in the yaml without the "-" prefix ordering was random of those items and a page refresh could change where they are. This ensures ordering is preserved in that situation.
Eric Bower
·
05 Sep 23
refactor(pgs): check handler should return 404
Eric Bower
·
05 Sep 23
fix(pgs): new `/check` handler for custom domains
Eric Bower
·
05 Sep 23
chore: add more logging for router
Christopher Hoelter
·
05 Sep 23
Added basic .editorconfig file. (#39)
Christopher Hoelter
·
05 Sep 23
Updated dependencies required in readme. (#38)
Eric Bower
·
01 Sep 23
fix(pgs): routes should prefer `/check` first
Eric Bower
·
01 Sep 23
fix(prose): upload single file without referencing name in destination Fixes #36
Eric Bower
·
01 Sep 23
fix(pgs): allow users to run commands when bucket quota exceeded
Eric Bower
·
19 Aug 23
chore(pgs): print summary for prune op
Eric Bower
·
19 Aug 23
chore(prose): updated blog rss feeds
Eric Bower
·
17 Aug 23
refactor(pgs): cli outputs and asset upload optimizations
refactor: move Cmd to own file
f08fc05
Eric Bower
·
17 Aug 23
refactor: move Cmd to own file
Eric Bower
·
17 Aug 23
refactor(pgs): reorganized ssh cmds feat: all cmds are safe by default, use `--write` to commit
Eric Bower
·
16 Aug 23
fix: `project` might not exist during link
feat: order projects by name asc
2244deb
Eric Bower
·
16 Aug 23
feat: order projects by name asc
Eric Bower
·
16 Aug 23
chore: delete orphaned assets when linking projects
Eric Bower
·
16 Aug 23
fix: only delete assets from exact project match refactor: abstract removing assets
upload to hey instead of erock
80bbdc0
Eric Bower
·
16 Aug 23
upload to hey instead of erock
docs(pgs): rm markdown syntax
b83fb62
Eric Bower
·
14 Aug 23
docs(pgs): rm markdown syntax
Eric Bower
·
14 Aug 23
fix(pgs): only ListObjects with specific match
Eric Bower
·
14 Aug 23
fix: better object detection and route detection
Eric Bower
·
14 Aug 23
feat: delete orphaned files when link succeeds
Eric Bower
·
14 Aug 23
chore: automatically publish static site to pgs
Eric Bower
·
13 Aug 23
feat: pgit static site generation
Eric Bower
·
13 Aug 23
fix(pgs): better error handling for project mgmt
fix: sftp `ListFiles`
757ccfd
Eric Bower
·
12 Aug 23
fix: sftp `ListFiles` It previously wasn't returning something that sftp was expecting
Eric Bower
·
04 Aug 23
feat: make cmd for pgs static site deploy
Eric Bower
·
04 Aug 23
feat: cannot link to a project that is also a link A project linked to another project which is also linked to a project is forbidden. CI/CD Example: - ProjectProd links to ProjectStaging - ProjectStaging links to ProjectMain - We merge `main` and trigger a deploy which uploads to ProjectMain - All three get updated immediately This scenario was not the intent of our CI/CD. What we actually wanted was to create a snapshot of ProjectMain and have ProjectStaging link to the snapshot, but that's not the intended design of pgs. So we want to close that gap here.
feat: pgs.sh (#28)
0b5edcf
Eric Bower
·
03 Aug 23
feat: pgs.sh (#28) A zero-dependency static site hosting service for hackers. Features: - Terminal workflow - No client-side installation required to fully manage static sites - Distinct static sites as "projects" - Unlimited projects created on-the-fly (no need to create a project first) - Deploy via `rsync -a . erock@pgs.sh:/myproject` - Symbolic linking from one project to another (to support promotions/rollbacks) - HTTPS for all projects `https://erock-myproject.pgs.sh` - Custom domains for projects (managed simply by `TXT` records)
Christopher Hoelter
·
04 Jul 23
Updates for macOS build compatibility. (#20) Updated the readme to include a reference to a macOS system package dependency. Added minor additional notes on direnv and running the project. Upgraded project package dependency that includes a macOS build fix.
Christopher Hoelter
·
04 Jul 23
Ensure 'hidden' value gets updated when the draft attribute is modified. (#21)
fix(prose): `/raw/` endpoints should take priority over aliases
494540f
(v1.1.6)
Eric Bower
·
17 Jun 23
fix(prose): `/raw/` endpoints should take priority over aliases
chore(feeds): feed_items table to store feed items (#16)
d520b3d
(v1.1.5)
Eric Bower
·
27 Mar 23
chore(feeds): feed_items table to store feed items (#16) Some RSS feeds are technically invalid but still want to be fetched. In these cases we want to make sure we can still fetch them and properly handle when the feed item does not contain correct tags for dates. Previously we used `published` and internally `last_digest` to determine if a feed has already been sent to the user. Well some feed items do not contain `published` so we would always send the feed item to the user in their email digest. Now we are storing the feed items we have fetched in a separate table along with some of its metadata in order to properly mark a feed item as "already sent." Now it doesn't matter if the feed item has the correct tags or not, we will try to fetch the items, send them to the user, and them mark them as already sent.
Eric Bower
·
26 Mar 23
chore: move docker commands into variable for makefile
Eric Bower
·
16 Mar 23
chore(imgs): add in-memory caching for resizing images This caching could also be used for the other services as well now.
Eric Bower
·
16 Mar 23
bug(imgs): ensure webp imgs are saved Also in this commit is a change to the resize filter algorithm to see if that helps with quality and performance. Read more: https://github.com/disintegration/imaging#image-resizing
Eric Bower
·
15 Mar 23
bug(imgs): resize regression because of incorrect switch case
Eric Bower
·
15 Mar 23
chore(prose): add some more rss endpoints
Eric Bower
·
15 Mar 23
fix(imgs): do not convert svg to webp We never actually tested svg images before "supporting" it.
Eric Bower
·
15 Mar 23
style(prose,lists): each nav link in aside theme gets own line
Eric Bower
·
15 Mar 23
feat(prose): aliases can have a leading slash now It feels more natural to have a leading slash `/` for aliases even though it's a little more work to handle it properly with current slugs.
Eric Bower
·
13 Mar 23
bug(aliases): add support for comma delimited string
feat(prose): post aliases (#13)
ad568e9
Eric Bower
·
13 Mar 23
feat(prose): post aliases (#13) Posts can now have alias routes as well as the default filename as the slug. This is an important feature to support migrating from a self-hosted hugo blog to one hosted by pico. ``` --- title: My post aliases: - my_awesome_post - 2023/03/10/my-post --- ```
Eric Bower
·
07 Mar 23
feat(prose): support custom favicon Now bloggers can supply their own favicon inside the `_readme.md` ``` --- favicon: https://zzz.png favicon: /zzz.png --- ``` If relative paths are supplied we replace it with `imgs.sh`
Eric Bower
·
03 Mar 23
fix(lists): use correct var for blog templates
feat(cms): ability to see view count for posts
68db7f1
(v1.1.4)
Eric Bower
·
28 Feb 23
feat(cms): ability to see view count for posts
Eric Bower
·
28 Feb 23
chore(db): add view count to post struct
Eric Bower
·
28 Feb 23
style(prose,lists): tweaked /read and blog styles
Eric Bower
·
28 Feb 23
feat(prose,lists,imgs): Add rss alt link to blog page Closes #9
Fix feeds panic and lists lint
afce979
(v1.1.3)
Antonio Mika
·
24 Feb 23
Fix feeds panic and lists lint
Update caddy resolvers to use cf
9a89178
Antonio Mika
·
24 Feb 23
Update caddy resolvers to use cf
Eric Bower
·
27 Jan 23
fix(feeds): wrong id for inline content section
Eric Bower
·
24 Jan 23
chore(feeds): http client cleanup
Eric Bower
·
24 Jan 23
fix(feeds): support reddit rss feeds
Eric Bower
·
23 Jan 23
docs(feeds): add inline content section
Eric Bower
·
23 Jan 23
fix(feeds): when inline_content is false we should only send summary in email
Colin Henry
·
23 Jan 23
feat(feeds): add option to disable inlining of post content in feed.sh emails (#8)
Eric Bower
·
21 Jan 23
feat(feeds): add description to feeds
Eric Bower
·
16 Jan 23
feat(feeds): render actual content
Eric Bower
·
15 Jan 23
fix(imgs): support uploading webp We always intended to support `image/webp` but we never actually tested the code path.
Eric Bower
·
05 Jan 23
fix(feeds): remove log stmt used for debugging
Eric Bower
·
05 Jan 23
fix(feeds): fix validation for digest interval to include `6hour`
Eric Bower
·
05 Jan 23
fix(imgs): typo on hotlink for post
Eric Bower
·
05 Jan 23
feat(imgs): return current total size for user storage This value will be displayed when uploading an image to imgs.sh. Example of what it looks like: `https://erock.imgs.sh/barefoot (space: 0.01/1.00GB, 1.39%)`
Eric Bower
·
05 Jan 23
chore(imgs): Add hot links and resizing examples on each imgs post page
Eric Bower
·
05 Jan 23
fix(imgs): allow deletion using the empty post method
Eric Bower
·
27 Dec 22
feat(feeds): add `6hour` to feed digest interval
Eric Bower
·
25 Dec 22
fix(prose): rss link was incorrect
Eric Bower
·
22 Dec 22
fix(feeds): actually use returned date
Eric Bower
·
22 Dec 22
chore(feeds): change subject of email based on post title
feat(feeds): support html
54cc017
Eric Bower
·
22 Dec 22
feat(feeds): support html Also changed how we fetch feeds
Eric Bower
·
22 Dec 22
bug(feeds): cron was not properly validating the digest period
Eric Bower
·
21 Dec 22
fix(feeds): added logging statements and some different fetch logic
fix(feeds): cron log is using incorrect `posts.Total`
34b19ea
(v1.1.2)
Eric Bower
·
21 Dec 22
fix(feeds): cron log is using incorrect `posts.Total`
docs(feeds): update privacy policy
686369f
(v1.1.1)
Eric Bower
·
15 Dec 22
docs(feeds): update privacy policy
Eric Bower
·
15 Dec 22
docs(feeds): marketing page updates
Eric Bower
·
15 Dec 22
fix(feeds): add feeds space to posts
Eric Bower
·
15 Dec 22
change gh action name for feeds img builder
Antonio Mika
·
12 Dec 22
Set default address space to not conflict
Merge pull request #6 from picosh/am/no-matrix
09c53d9
(v1.0.0)
Antonio Mika
·
12 Dec 22
Merge pull request #6 from picosh/am/no-matrix Change build to use composite instead of matrix action
Use proper platforms setting
6100e85
Antonio Mika
·
12 Dec 22
Use proper platforms setting
Antonio Mika
·
12 Dec 22
Change build to use composite instead of matrix action
Antonio Mika
·
12 Dec 22
Return caddy build to separate job
Add caddy step to normal build
508d0cb
Antonio Mika
·
11 Dec 22
Add caddy step to normal build
Use updated image references
2ae8def
Antonio Mika
·
11 Dec 22
Use updated image references
Antonio Mika
·
11 Dec 22
Merge pull request #5 from picosh/am/ci-cd Added basic ci/cd
Antonio Mika
·
11 Dec 22
Install libwebp when running actions
Eric Bower
·
22 Nov 22
chore: reference github instead of sr.ht
Eric Bower
·
09 Nov 22
feat(prose): permit rel attribute on hyperlinks. Closes https://todo.sr.ht/~erock/pico.sh/51
Eric Bower
·
09 Nov 22
refactor(pastes): add col `expires_at` to posts Currently we figure out how to delete pastes by having a cron goroutine check on an interval whether or not posts are older than 3 days. Instead, we want to provide the ability for that delete time to be determined by individual records. So we added `expires_at` column to our `posts` table. I also extended the default expiration from 3 to 7 days.
Eric Bower
·
09 Nov 22
docs: point sourcecode links to github
Eric Bower
·
08 Nov 22
bug(lists): transparency page included wrong templates
Eric Bower
·
08 Nov 22
feat(lists): relative image urls now route to imgs.sh This reaches feature parity with prose.sh where we can reference images hosted by imgs.sh from lists.sh Both "/image", "./image", and "./image.jpg" are supported.
feat(lists): layout support
bc3e29b
Eric Bower
·
07 Nov 22
feat(lists): layout support Introduced parity with prose for different layouts. Right now we support "default" and "aside".
Eric Bower
·
03 Nov 22
fix: remove check for imgs feature flag
Eric Bower
·
02 Nov 22
fix: correctly cast bool frontmatter
jupblb
·
02 Nov 22
feat: support `draft` metadata property Currently we support setting `date` into the future which will result in the post being still URL addressable but not in our discovery feed, rss, or the author's feed.
Eric Bower
·
10 Oct 22
refactor: use neurosnap/go-exif-remove for custom patches `go-exif-remove` uses `go-jpeg-image-structure` in order to strip exif data. Unfortunately there's a bug in `go-jpeg-image-structure` that makes it so some jpeg image aren't detected as jpegs and then fails. See open PR for details: https://github.com/dsoprea/go-jpeg-image-structure/pull/19
Eric Bower
·
10 Oct 22
bug(upload): removed user field from shared file uploader struct When a user attempts to upload files to our server, the logic we use to perform file uploads is baked into a few similar structs (`ScpUploadHandler` and `UploadImgHandler`). In those structs we authenticate their `ssh.Session` by using their name to find a user record in our db. We mistakenly had a user field on those shared structs which would sometimes result in a race condition where user A would upload files to user B's blog. We have removed the user field and instead leverage `ssh.Session.Context` to set and access the user object for our file uploaders.
Eric Bower
·
09 Oct 22
feat(imgs): set img file size limit to 10mb
Eric Bower
·
07 Oct 22
docs(imgs,prose): add more info for docs Also added a section on the prose marketing page about how to upload images with your blog.
Eric Bower
·
06 Oct 22
docs(imgs): fix typo with integrations header
feat(imgs): general availability
4018796
Eric Bower
·
06 Oct 22
feat(imgs): general availability
Eric Bower
·
27 Sep 22
fix(imgs): set level to 1 for lossless warning: this was the only value I could supply to get this to work
Eric Bower
·
27 Sep 22
feat(imgs): small images are lossless
Eric Bower
·
26 Sep 22
feat(imgs): be more explicit about quality setting Also change resize algo to nearest neighbor
Eric Bower
·
26 Sep 22
feat(imgs): only modify quality if file is large
Eric Bower
·
07 Sep 22
refactor(wish): downgrade error stmt to info
Eric Bower
·
07 Sep 22
docs(imgs): update marketing copy
Eric Bower
·
07 Sep 22
refactor(imgs): simplified logic in imgHandler
Eric Bower
·
07 Sep 22
docs: remove wish/readme since it's out of date
Eric Bower
·
05 Sep 22
feat(imgs): we save webp images next to main img
Eric Bower
·
02 Sep 22
fix: use host domain for full urls
Eric Bower
·
02 Sep 22
fix: add other rss routes to subdomains
Eric Bower
·
01 Sep 22
fix(lists): use wrong file for readme text
Eric Bower
·
01 Sep 22
fix(imgs): jpg not always detected in exif scrubber
Eric Bower
·
01 Sep 22
refactor(imgs): move image processsing to shared
Antonio Mika
·
01 Sep 22
Add the ability to download images and fix sftp uploads
Eric Bower
·
01 Sep 22
fix(parser): use right imgs url for custom domains
Antonio Mika
·
31 Aug 22
Cleaned up configuration and added debug flag
Antonio Mika
·
31 Aug 22
Switch to debian based images and implement cgo cross compilation
Eric Bower
·
31 Aug 22
docs(imgs): remove metadata sections
Eric Bower
·
31 Aug 22
feat(prose): special _footer.md appends all posts This allows users to be able to upload a special "hidden" file that will be appended to every post. The intention is to use this as a regular call-to-action like an email address for feedback.
Eric Bower
·
30 Aug 22
fix(imgs): update marketing page with example
Eric Bower
·
30 Aug 22
feat(imgs): strip exif data for png, jpg
feat(imgs): web optimized images
8e0b2c1
Eric Bower
·
30 Aug 22
feat(imgs): web optimized images
Eric Bower
·
30 Aug 22
fix(all): moved auth middleware above bubbletea
Eric Bower
·
28 Aug 22
feat(prose): support for og images on blog and posts
Antonio Mika
·
28 Aug 22
Implement new buffer for sftp and simplify auth logic
Eric Bower
·
28 Aug 22
docs: add section about custom domains check endpoint
Eric Bower
·
27 Aug 22
feat: support for different blog page layouts "default" and "aside" are currently supported by adding `layout` in the _readme.md frontmatter
Eric Bower
·
27 Aug 22
fix(rss): lists set proper rss entries for blog
Eric Bower
·
27 Aug 22
fix(rss): limit blog rss feeds to 10
Antonio Mika
·
26 Aug 22
Fixed image deletes from cms and fixed prose image uploads
Antonio Mika
·
26 Aug 22
Move configuration options and add the ability to delete image files from CMS
Added storage to scp handler
ccf8adf
Antonio Mika
·
26 Aug 22
Added storage to scp handler
Antonio Mika
·
26 Aug 22
Added prometheus settings for minio
Antonio Mika
·
26 Aug 22
Fix minio console port and caddy config
Antonio Mika
·
26 Aug 22
Added caddy configurations for minio
feat(prose): markdown footnotes
3e19682
Eric Bower
·
26 Aug 22
feat(prose): markdown footnotes style: tweak heading sizes
Eric Bower
·
25 Aug 22
feat(prose,lists): filter posts by all tags read Now users can filter posts by tag on the read page. This will allow us to host writing competitions where users can submit their article with the tag specifically for the competition and then we read them to pick a winner.
Antonio Mika
·
25 Aug 22
Added rsync and sftp download support
Antonio Mika
·
24 Aug 22
Cleanup update logic and update to go 1.19
Eric Bower
·
23 Aug 22
style: add some margin between articles
Eric Bower
·
23 Aug 22
refactor(all): making sure every post has shasum
Eric Bower
·
23 Aug 22
fix(imgs): use updated shasum logic
Eric Bower
·
23 Aug 22
refactor(imgs): remove markdown metadata uploader After further thought, using a second markdown file for the metadata of images was just a little too cumbersome. I also have a hunch that most people are not going to take the time to annotate their images into mini-blogs.
Eric Bower
·
22 Aug 22
refactor(imgs): remove tag tmpl files
Eric Bower
·
22 Aug 22
refactor(imgs): redesign blog page for imgs After chatting with the pico members, it became clear that the photo album direction I was heading in was not going to super useful. Instead we decided to revert the design back to how the other pico services function. So now it's just a stream of images not grouped by tags.
Eric Bower
·
22 Aug 22
fix(mdparser): supply goldmark html config for ImgRenderer
Eric Bower
·
19 Aug 22
feat(prose): allow images to be uploaded from other services
Eric Bower
·
19 Aug 22
refactor: move prose markdown parser to shared
Eric Bower
·
18 Aug 22
docs(imgs): add another feature to roadmap
Eric Bower
·
18 Aug 22
docs(imgs): marketing content updates
Eric Bower
·
18 Aug 22
docs(imgs): add section about metadata
Eric Bower
·
18 Aug 22
fix(all): updated rss feeds to contain more information I also added aliases to user blog's rss feeds
Eric Bower
·
18 Aug 22
docs(all): update server costs and provider
Eric Bower
·
18 Aug 22
fix(sql): updated posts table columns to fix regression We did not assume mime_type or shasum could be null, so this adjusts the migration to use what we pasted into our prod db.
Antonio Mika
·
18 Aug 22
Added imgs docker deployment data
Eric Bower
·
18 Aug 22
docs: update example env file with imgs service
Eric Bower
·
18 Aug 22
fix: alignment in pastes blog view
feat: imgs.sh
9b5a1b5
Eric Bower
·
11 Aug 22
feat: imgs.sh This is the initial release for the imgs.sh premium image hosting for hackers.
Eric Bower
·
15 Aug 22
fix(lists): nested parser sometimes would divide by zero
Eric Bower
·
12 Aug 22
fix(lists): fix nil pointer reference in parser
Eric Bower
·
10 Aug 22
docs(prose): add help section for supported hugo variables
Eric Bower
·
10 Aug 22
feat: parse nav links to convert relative urls to absolute This allows users to include posts -- from their prose blog -- as links in the nav without needing to specify an absolute URL.
Eric Bower
·
10 Aug 22
feat: tag posts with slug as classname on body This will make it easier to do per post style changes.
Eric Bower
·
09 Aug 22
feat: add ability to pipe to any service Implements https://todo.sr.ht/~erock/pico.sh/47
Antonio Mika
·
08 Aug 22
Fixed slug being filename when file contents are the same and allow cms post management for future posts
Eric Bower
·
08 Aug 22
fix(lists): need template funcs for rss feeds
Eric Bower
·
08 Aug 22
fix(lists): rss feeds did not handle nested lists
Eric Bower
·
08 Aug 22
feat(css): abstracted common css into single file for all services It was becoming tedious to make the same change in three different css files, so I abstracted the main styling into a single file and am now copying the css into each service's public directory with `make css`.
Eric Bower
·
08 Aug 22
style(prose): update default styling - Increased header sizes - Increased font size - Tweaked colors for light mode - Tweaked blockquote padding
Eric Bower
·
08 Aug 22
fix(prose): init html policy once
Eric Bower
·
08 Aug 22
fix(prose): regression where syntax highlighting was broken bluemonday strips all classes so we had to allow classes.
fix(lists): spec copy changes
0061c96
Eric Bower
·
06 Aug 22
fix(lists): spec copy changes
fix(lists): wrong anchor links
90951e0
Eric Bower
·
06 Aug 22
fix(lists): wrong anchor links
feat(lists): nested lists
0e93909
Eric Bower
·
05 Aug 22
feat(lists): nested lists Nested lists adds more complexity to our parser but the time complexity is still `O(n)` where `n = lines in the list`.
Eric Bower
·
04 Aug 22
feat(prose): support limited raw html inside markdown It would be nice to support limited html in our markdown files so users can futher customize their blog posts. We are using https://github.com/microcosm-cc/bluemonday to handle proper sanitization.
Eric Bower
·
04 Aug 22
feat(pastes): use post filename for the title
Eric Bower
·
03 Aug 22
refactor: db -> sql and wish/cms/db -> db It doesn't make sense to have such an important and all encompasing package such as `wish/cms/db` to live buried in the cms code.
feat: allow registration flag
5c65c99
Eric Bower
·
03 Aug 22
feat: allow registration flag I made it so when a user presses 'esc' in the account creation screen it will quit the app instead of going to the main cms screen. Also added better error handling during account creation. Implements: https://todo.sr.ht/~erock/pico.sh/21 Fixes: https://todo.sr.ht/~erock/pico.sh/41 Fixes: https://todo.sr.ht/~erock/pico.sh/1
fix: add ssh_data to gitignore
141b0dd
Eric Bower
·
03 Aug 22
fix: add ssh_data to gitignore
Eric Bower
·
03 Aug 22
fix: add pipe to ssh command back to pastes Also fixed an issue where pipe to ssh would display a "%".
Eric Bower
·
03 Aug 22
fix: increase key create ui input length
Eric Bower
·
03 Aug 22
fix: increase public key input to 1000 chars
Eric Bower
·
03 Aug 22
feat: dates migration and reorg one-off scripts Since we've been needing to perform more complex migrations that depend on golang, I thought it would be a good idea to have a "home" for our one-off scripts. I like the idea of keeping them in git so we can reference them for future scripts or just for historical reasons.
Antonio Mika
·
02 Aug 22
Support any date format and light refactor
Antonio Mika
·
02 Aug 22
Update readme with information about new deployment method
Antonio Mika
·
02 Aug 22
Remove compose command in favor of direnv configuration
Antonio Mika
·
02 Aug 22
Merge branch 'am/compose-changes'
Antonio Mika
·
02 Aug 22
Add new make targets for docker compose
Antonio Mika
·
02 Aug 22
Added unified compose file and updated deployment method
Eric Bower
·
02 Aug 22
fix: migration script for post tags The only way that post tags get added to our database is if the post gets uploaded. If there is a post in our system that already has tags, the tags will show up in the post but not in the blog tag filter. This script backports tags for all posts that already had tags in their system.
Eric Bower
·
02 Aug 22
fix: incorrect tag in yaml was breaking uploader and web render Also added support for a string based tags value
Antonio Mika
·
02 Aug 22
Merge branch 'main' of git.sr.ht:~erock/pico
Antonio Mika
·
02 Aug 22
Added support for custom domains to lists and pastes
Eric Bower
·
02 Aug 22
feat: ability to tag posts for lists and prose Now users can tag posts and then filter posts on their blog by a single tag. We could have supported the ability to filter by multiple tags but I felt like that was feature creep. If we get enough requests to filter by multiple tags then we can reconsider that decision. I also made it so the blog rss feed will filter based on tag. This allows readers to subscribe and read posts specific to a tag. In a follow up commit we will make it so the `/read` endpoint can also be filtered by tag, but again I felt like that was feature creep and probably not something many people will end up using. Implements: https://todo.sr.ht/~erock/pico.sh/31
fix: custom css should be last
866c2f8
Eric Bower
·
02 Aug 22
fix: custom css should be last
Eric Bower
·
02 Aug 22
fix: _styles.css error when root directory is provided for scp.
Eric Bower
·
01 Aug 22
refactor: abstract api functions into shared I also updated the custom domain logic to apply to all services. Each service has its own special TXT string, e.g. `_prose`, `_lists`, `_pastes` which is based on `cfg.Space`.
Antonio Mika
·
01 Aug 22
Fixed custom domain routing logic
fix: add readme
207b6d9
Eric Bower
·
01 Aug 22
fix: add readme Also update references to our repos to point to the new pico repo
Eric Bower
·
31 Jul 22
fix: log message when user deletes account
fix: adjusted slug migration
0f04902
Eric Bower
·
31 Jul 22
fix: adjusted slug migration We need to ensure that the prod db has the correct filenames since we are not including the extension in the record. We also updated all the post urls to use the slug field.
Eric Bower
·
31 Jul 22
refactor: use post column slug for url By creating a new column for our url slugs, we can allow users to be able to change the slug. It also makes the logic around how to generate a post url easier since it is explicit inside the post record.
fix: cleanup file validate logic
b5a85a0
Eric Bower
·
30 Jul 22
fix: cleanup file validate logic
Eric Bower
·
30 Jul 22
refactor: abstract scp upload handler
Antonio Mika
·
31 Jul 22
Simplified build system and speed up builds
Eric Bower
·
29 Jul 22
refactor: move code from services to root This is the first of a couple refactors to abstract as much service code into a separate package in order to reduce the amount of code duplication. This code was essentially copy pasted into all of the services because we didn't have a good way to abstract it until now.
chore: update make build pushes
42c3628
Eric Bower
·
29 Jul 22
chore: update make build pushes
Eric Bower
·
29 Jul 22
chore: update static paths for template and public files
Eric Bower
·
29 Jul 22
refactor: merge all services code
Eric Bower
·
28 Jul 22
fix: prose public keys were not always being added