Thomas
28736d6b66
Gist expiration + scheduled actions ( #726 )
...
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
2026-06-20 01:28:48 +08:00
Thomas
3b8d947ad8
Fix SSH key generation ( #708 )
...
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
2026-06-04 02:09:26 +08:00
Thomas
8e462397f4
API for gists and users ( #707 )
...
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
2026-06-03 02:26:17 +08:00
awkj
690f151592
feat: add REST API v1 with admin toggle and OpenAPI spec ( #702 )
...
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
Adds an HTTP REST API under /api/v1 with bearer-token auth, served
alongside the existing web UI. The API exposes seven endpoints:
GET /api/v1/user
GET /api/v1/gists
POST /api/v1/gists
GET /api/v1/gists/:uuid
PATCH /api/v1/gists/:uuid
DELETE /api/v1/gists/:uuid
GET /api/v1/gists/:uuid/files/:filename/raw
Auth reuses the existing AccessToken model (extended with a new
ScopeUser permission for /user) and accepts both 'Authorization: Bearer
og_...' and the legacy 'Token og_...' header.
The API is gated by a new 'api-enabled' admin setting (default off) so
deployments must explicitly opt in from Admin Panel → Configuration.
When disabled, requests get a 503 with an actionable hint, and the
access-token settings page shows a banner pointing admins straight to
the toggle.
An embedded OpenAPI 3.1 spec is served at GET /api/v1/openapi.yaml;
import it into Postman / Insomnia / Bruno / openapi-generator for
interactive testing or client generation.
Other UX polish bundled in:
- Settings access-token form now exposes the new User scope and uses
the existing locale.Tr lookups (translations backfilled for zh-CN).
- Language switcher distinguishes 简体中文 vs 繁體中文 instead of both
appearing as '中文'.
- Settings page header tabs translated for zh-CN.
- POST /gists cleans up the on-disk repo when commit/create fails
(previously orphaned).
- visibility=public list excludes private/unlisted gists (regression
guard added).
- Content-Disposition filename in raw responses is RFC-escaped.
Docs: docs/usage/api.md walks through enabling the API, creating a
token, the seven endpoints with curl examples, error codes and v1
limitations.
2026-05-22 04:12:33 +08:00
Thomas Miceli
8da72b9545
Limit display if there is too much files in one gist ( #701 )
...
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
2026-05-10 03:28:02 +08:00
Webysther Sperandio
279da52899
feat: search all fields ( #622 )
...
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
* ✨ feat(search): search all feature
- add Description field to Gist struct and index it
- extend SearchGistMetadata with Description and Content
- update Bleve and Meilisearch to index and search Description
- modify ParseSearchQueryStr to parse description: and content: keywords
- update templates and i18n for new search options
* Fix test
* Set content by default
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
* Config to define default searchable fields
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
---------
Signed-off-by: Thomas Miceli <tho.miceli@gmail.com >
Co-authored-by: Thomas Miceli <tho.miceli@gmail.com >
2026-03-12 00:55:23 +08:00
Thomas Miceli
7b1048ec30
Display a form to create an Opengist account coming from a OAuth provider ( #623 )
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.25, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.25, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.25, windows-latest) (push) Has been cancelled
Go CI / Build (1.25, macOS-latest) (push) Has been cancelled
Go CI / Build (1.25, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.25, windows-latest) (push) Has been cancelled
2026-02-08 16:32:24 +08:00
Thomas Miceli
2e10c1732a
Add images and binary content on gist preview ( #615 )
2026-02-03 16:55:44 +08:00
Thomas Miceli
5ddea2265d
Add access tokens ( #602 )
2026-01-27 14:43:12 +08:00
Thomas Miceli
f653179cbf
Upgrade JS and Go deps versions ( #517 )
2025-10-07 16:59:37 +02:00
Thomas Miceli
5ef5518795
Fix CSV errors for rendering ( #514 )
2025-09-29 19:02:33 +02:00
Thomas Miceli
4106956f6d
Fix human date on iOS devices ( #510 )
2025-09-21 04:31:58 +02:00
Fabio Manganiello
c02bf97b63
feat: Add support for rendering .ipynb Jupyter/IPython notebooks ( #491 )
2025-09-21 03:48:59 +02:00
Thomas Miceli
53ce41e0e4
Add file upload on gist creation/edition ( #507 )
2025-09-16 01:56:38 +02:00
Thomas Miceli
594d876ba8
Add binary files support ( #503 )
2025-09-16 01:35:54 +02:00
Aly Smith
867aa6e57b
Replace unicode characters with HTML entity codes in embed template ( #480 )
2025-07-01 14:39:47 +02:00
Thomas Miceli
897dc43790
Add LDAP authentication ( #470 )
...
* Introduce basic LDAP authentication.
* Reformat LDAP code; use ldap in Git HTTP
* lint
---------
Co-authored-by: Santhosh Raju <santhosh.raju@gmail.com >
2025-05-09 19:32:22 +02:00
Thomas Miceli
dc43fccc04
Style preference tab for user ( #467 )
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, windows-latest) (push) Has been cancelled
Go CI / Build (1.23, macOS-latest) (push) Has been cancelled
Go CI / Build (1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.23, windows-latest) (push) Has been cancelled
2025-05-05 01:31:42 +02:00
Johannes Kirchner
8cfaceb303
feat: read admin group from OIDC token claim ( #445 )
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, windows-latest) (push) Has been cancelled
Go CI / Build (1.23, macOS-latest) (push) Has been cancelled
Go CI / Build (1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.23, windows-latest) (push) Has been cancelled
2025-04-02 13:38:11 +02:00
jmjl
7907c7bc1e
Fix gist.html using relative URL ( #451 )
...
Due to the fact the file templates/base/base_header.html contains a
<base> element, all relative URLs are interpreted as dependant on the
base.[1]
I've noticed the base isn't the current page, but the element linking to
anchor identifier isn't using the complete URL to the gist page, which
means that if you go to a gist, and try to click on the link that leads
you to the file (which would make browsers automatically go down if it's
a file that has a lot of lines), you get taken to the homepage, and
unless you look at the URL closely you wouldn't notice the
fragment/anchor part.
I'm sure there's a better way of dealing with this, such as removing
<base> from the template mentioned above, but due to the fact I'd like
to have this work, I've made it put the full URL to this page.
Something that might be good to do is making the relative URLs always be
absolute, by having the '{{ $.c.ExternalUrl }}' thing everywhere where a
relative URL would be, as that'd probably fix #415 , and would allow for
this commit to be reverted if that's desired.
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
2025-03-31 23:07:01 +02:00
Philipp Eckel
e3aa994d30
fix: do not hide file delete button on gist edit page ( #447 )
2025-03-31 22:44:04 +02:00
Thomas Miceli
efba783c56
Add Meilisearch indexer ( #444 )
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Has been cancelled
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, windows-latest) (push) Has been cancelled
Go CI / Build (1.23, macOS-latest) (push) Has been cancelled
Go CI / Build (1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.23, windows-latest) (push) Has been cancelled
2025-03-19 23:28:04 +01:00
Philipp Eckel
dbdfcd4e85
feat: add option to name an OIDC provider ( #435 )
Go CI / Build (1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.23, windows-latest) (push) Has been cancelled
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, windows-latest) (push) Has been cancelled
Go CI / Build (1.23, macOS-latest) (push) Has been cancelled
2025-03-17 17:19:48 +01:00
Thomas Miceli
6fd7f77003
Fix user avatar on gist likes list ( #425 )
2025-02-03 23:43:43 +01:00
Thomas Miceli
7aa8f84eff
Search gists on user profile with title, visibility, language & topics ( #422 )
2025-02-02 18:14:03 +01:00
Thomas Miceli
62d56cd1c7
Save content form on gist create error ( #420 )
Go CI / Lint (push) Waiting to run
Go CI / Check (push) Waiting to run
Go CI / Build (1.23, ubuntu-latest) (push) Waiting to run
Go CI / Build (1.23, windows-latest) (push) Waiting to run
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Waiting to run
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Waiting to run
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Waiting to run
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Waiting to run
Go CI / Test (sqlite, 1.23, windows-latest) (push) Waiting to run
Go CI / Build (1.23, macOS-latest) (push) Waiting to run
2025-01-29 16:00:58 +01:00
Thomas Miceli
28c7e75657
Use jdenticon for default avatars ( #416 )
2025-01-27 00:08:50 +01:00
Thomas Miceli
f5b8881d35
Add topics for Gists ( #413 )
Go CI / Lint (push) Has been cancelled
Go CI / Check (push) Has been cancelled
Go CI / Test (mysql, 1.23, mysql:8, ubuntu-latest, 3306:3306) (push) Has been cancelled
Go CI / Test (postgres, 1.23, postgres:16, ubuntu-latest, 5432:5432) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, macOS-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Test (sqlite, 1.23, windows-latest) (push) Has been cancelled
Go CI / Build (1.23, macOS-latest) (push) Has been cancelled
Go CI / Build (1.23, ubuntu-latest) (push) Has been cancelled
Go CI / Build (1.23, windows-latest) (push) Has been cancelled
2025-01-24 14:39:42 +01:00
Thomas Miceli
f935ee1a7e
Refactor server code ( #407 )
2025-01-20 01:57:39 +01:00
Sangelo
20aef5e694
feat: Add custom instance names ( #399 )
...
* Add custom name variable
* Add custom name variable usage to docs
* Remove leftover testing config options (oops)
2024-12-15 17:39:51 +01:00
soup
00951bf63b
feat(web): prevent password manager autofill on filename inputs ( #357 )
...
* feat(web): add data-1p-ignore attribute to ignore fields
* feat(web): extend password manager ignore attributes
- Add autocomplete="off" to prevent browser autofill
- Add data-lpignore for LastPass compatibility
- Add data-bwignore for Bitwarden compatibility
2024-12-15 17:35:08 +01:00
Thomas Miceli
6a8e827d61
Fix nits typos and translation ( #388 )
2024-11-23 17:41:15 +01:00
Thomas Miceli
73c2fb55bc
Fix confirm() popup messages ( #370 )
2024-11-02 01:40:10 +01:00
Thomas Miceli
75162b3ef9
Hide passkey login when login form is disabled ( #369 )
2024-11-02 01:06:14 +01:00
Thomas Miceli
2bf434f00e
Add TOTP MFA ( #342 )
2024-10-24 23:23:00 +02:00
Thomas Miceli
df226cbd99
Add SVG parser ( #346 )
2024-10-14 21:20:56 +02:00
Emmanuel Ferdman
12696d23b0
Update config file ( #343 )
...
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com >
2024-10-13 23:47:06 +02:00
Thomas Miceli
6959929094
Add passkeys support + MFA ( #341 )
2024-10-07 23:56:32 +02:00
Thomas Miceli
fa8217e27f
Separate OAuth unlink URL ( #336 )
2024-09-22 23:21:43 +02:00
Thomas Miceli
17237713a1
Add Postgres and MySQL databases support ( #335 )
2024-09-20 16:01:09 +02:00
Thomas Miceli
6499e3cc63
Hide secret values in admin config page
2024-09-08 03:45:28 +02:00
Thomas Miceli
de6578d9e8
Add file delete button on create editor ( #320 )
2024-09-07 15:17:56 +02:00
Thomas Miceli
f881e1c13c
Hide change password form when login via password disabled ( #314 )
2024-09-03 17:48:45 +02:00
Jade Lovelace
22052bd38f
Add a setting to allow anonymous access to individual gists while still RequireLogin everywhere else ( #229 )
...
* Add a setting to allow accessing individual gists without auth
This is a middle ground between the existing setting "Require Login",
which requires login to do anything at all, and having it off, which
shows a public list of gists and more generally allows discovering info
about the users/gists of the instance without login.
The idea of this setting is that it is "require login" for everything
except individual gists.
Fixes #228 .
Co-authored-by: Thomas Miceli <tho.miceli@gmail.com >
2024-05-12 23:40:11 +02:00
John Olheiser
2fd053a077
feat: make edit visibility a toggle ( #277 )
...
* feat: make edit visibility a toggle
Signed-off-by: jolheiser <john.olheiser@gmail.com >
* Tweak SVG dropdown icon size & color
---------
Signed-off-by: jolheiser <john.olheiser@gmail.com >
Co-authored-by: Thomas Miceli <tho.miceli@gmail.com >
2024-05-11 21:03:25 +02:00
Thomas Miceli
e439d96e43
Add translation strings ( #269 )
2024-05-05 00:24:25 +02:00
Thomas Miceli
1aa94292db
Frontend fixes ( #267 )
...
* Fix mermaid display
* Move Login/Register buttons on mobile
* Min width on avatar
2024-04-28 02:54:18 +02:00
Thomas Miceli
785d89d6ab
Rework git log parsing and truncating ( #260 )
2024-04-27 01:49:53 +02:00
hitian
f1541368e5
Fix auth page GitlabName Error ( #242 )
...
`FTL error="template: auth_form.html:71:65: executing \"auth_form.html\" at <.c.GitLabName>: can't evaluate field GitLabName in type interface {}"`
2024-04-03 10:22:52 +02:00
Thomas Miceli
ef004675a5
Create invitations for closed registrations ( #233 )
2024-04-03 01:56:55 +02:00