Skip to content

URL subjects + Email support + subdomains #1035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 51 commits into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
bd6288c
Register endpoint, URLs #288 #48gister Endpoint and true URLs
joepio Aug 22, 2024
430e136
Fix some tests
joepio Aug 22, 2024
40e88c0
WIP Path URL
joepio Aug 22, 2024
01085e5
#518 Fix cargo in CI
joepio Aug 22, 2024
530a81a
Fix tests
joepio Aug 22, 2024
ec60fbd
Debug for endpoints
joepio Aug 22, 2024
27787b4
Fix URL refactor paths endpoints #502
joepio Aug 22, 2024
45dc543
URL refactor
joepio Aug 22, 2024
f451311
Add rust vscode extension suggestions
joepio Aug 22, 2024
ef3c650
Fix pnpm tasks
joepio Aug 22, 2024
37aa7a1
Improve register endpoint, WIP
joepio Aug 22, 2024
c4772da
Rebased
joepio Aug 22, 2024
fd75795
Update changelog
joepio Aug 22, 2024
c1f8de7
Custom .env parsing, smtp server opts
joepio Aug 22, 2024
ebaad5a
Register endpoint, mail, tokens, #489 #254 #544
joepio Aug 22, 2024
48214ed
WIP
joepio Aug 22, 2024
156ab34
Public key reset endpoint WIP
joepio Aug 22, 2024
3998b10
#502 fix path confirm email
joepio Aug 22, 2024
d05e8e6
Check uniqueness username earlier #489
joepio Aug 22, 2024
c0f293f
Refactor endpoints, update JSON
joepio Aug 22, 2024
e87ff7a
Improve check_append error #558
joepio Aug 22, 2024
cdebc02
556 constrain URLs
joepio Aug 22, 2024
a63f406
Store.tpf public for tests
joepio Aug 22, 2024
412aa9e
import_file test failing on macos #564
joepio Aug 22, 2024
61c7415
Throw error on trailing slash server URL #566
joepio Aug 22, 2024
b87fc22
Fix cookies subject in search
joepio Aug 22, 2024
2e43ea0
Set max chars for meta tags
joepio Aug 22, 2024
107ab3a
Cleanup, imports
joepio Aug 22, 2024
a2c68f5
Fix rebase issues
joepio Aug 22, 2024
fc27524
Use get_subject
joepio Aug 22, 2024
070265d
Do not add `register` endpoint if there is no SMTP server
joepio Aug 22, 2024
d09b138
Fix issues?
joepio Aug 22, 2024
dcaa9d7
Add register form + email confirm #640 #544 #489 #276
joepio Aug 22, 2024
3afed63
502-wildcard-subdomain:
joepio Aug 22, 2024
87c85b3
Fix errors
joepio Aug 22, 2024
2a5f0f5
Migrate trailing slash base URLs #895
joepio Aug 22, 2024
68ad702
WIP fix issues
joepio Aug 22, 2024
9defb09
WIP
joepio Aug 22, 2024
9008db3
Fix build
joepio Aug 22, 2024
2bc5651
Add "report issue" button in error component #911
joepio Aug 22, 2024
904c481
Slow build.rs / rust analyzer #913
joepio Aug 22, 2024
d725f82
Make RegisterSignIn work
joepio Aug 22, 2024
8b14eb3
AsyncMarkdownEditor and MarkdownWrapper should share styles #917
joepio Aug 22, 2024
e0033db
Fix history page
joepio Aug 22, 2024
3a006f8
Improve server FAQ
joepio Aug 22, 2024
ad88966
Clippy fixes
joepio Aug 23, 2024
2e82803
Fix slow build.rs / rust analyzer #913
joepio Aug 23, 2024
c69e268
Fix initialize bug
joepio Aug 23, 2024
02d76d3
Fix issues rebase
joepio Oct 7, 2024
58cd95a
Simplified DB init
joepio Feb 4, 2025
1255691
Remove duplicate email
joepio Feb 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
uses: docker/metadata-action@v5
with:
images: joepmeneer/atomic-server
github-token: ${{ secrets.GITHUB_TOKEN }}
4 changes: 3 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
"vadimcn.vscode-lldb",
"rust-lang.rust-analyzer",
"styled-components.vscode-styled-components",
"svelte.svelte-vscode"
"svelte.svelte-vscode",
"vadimcn.vscode-lldb",
"rust-lang.rust-analyzer"
]
}
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
{
// This is used to prevent `build.rs` from running every time you make a change to a file.
"rust-analyzer.check.extraEnv": {
"IS_RUST_ANALYZER": "true"
},
// The linter in the CI is quite strict, so running `cargo fmt` on save is probably a good idea!
"editor.formatOnSave": true,
"files.autoSave": "onFocusChange",
21 changes: 19 additions & 2 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -15,6 +15,23 @@
"group": "build",
"problemMatcher": []
},
{
"label": "watch atomic-server (cargo watch)",
"type": "shell",
"command": "~/.cargo/bin/cargo-watch",
"args": [
"--",
"cargo",
"run",
"--bin",
"atomic-server",
"--",
"--env-file",
"server/.env",
],
"group": "build",
"problemMatcher": []
},
{
"label": "test atomic-server (cargo nextest run)",
"type": "shell",
@@ -26,9 +43,9 @@
"group": "test"
},
{
"label": "test end-to-end / E2E (npm playwright)",
"label": "test end-to-end / E2E (pnpm playwright)",
"type": "shell",
"command": "cd server/e2e_tests/ && npm i && npm run test",
"command": "cd server/e2e_tests/ && pnpm i && pnpm run test",
"group": "test"
},
{
17 changes: 15 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -86,24 +86,36 @@ See [STATUS.md](server/STATUS.md) to learn more about which features will remain
- Refactor `Endpoint` handlers, uses a Context now #592
- Re-build store + invite when adjusting server url #607
- Use local atomic-server for properties and classes, improves atomic-server #604
- New sign up / register flow. Add `/register` Endpoint #489 #254
- New sign up / register flow. Add `/register`, `/confirm-email`, `/add-public-key` endpoints #489 #254
- Add multi-tenancy support. Users can create their own `Drives` on subdomains. #288
- Refactor URLs. `store.self_url()` returns an `AtomicUrl`, which provides methods to easily add paths, find subdomains and more.
- Add support for subdomains, use a Wildcard TLS certificate #502

## [v0.34.1] - 2023-02-11

- Improve query performance, refactor indexes. The `.tpf` API is deprecated in favor of the more powerful `.query`. #529
- Replace `acme_lib` with `instant-acme`, drop OpenSSL dependency, add DNS verification for TLS option with `--https-dns` #192
- Improved error handling for HTTPS initialization #530
- Add `--force` to `atomic-server import` #536
- Email support. Connect to external SMTP servers. #276
- Basic plugin support through Endpoints. For now only works if you use `**Atomic**-Lib` as a library. Add your plugins by calling `Db::register_endpoint`.
- Allow parsing `.env` files from custom locations using the `--env-file` flag.
- Plugins support `tokio`, so you can spawn async tasks from plugins.
- Add JWT token support, used for emails and registration #544
- Fix index issue happening when deleting a single property in a sorted collection #545
- Update JS assets & playwright
- Fix initial indexing bug #560
- Fix errors on succesful export / import #565
- Fix envs for store path, change `ATOMIC_STORE_DIR` to `ATOMIC_DATA_DIR` #567
- Refactor static file asset hosting #578
- Meta tags server side #577
- Include JSON-AD in initial response, speed up first render #511
- Remove feature to index external RDF files and search them #579
- Add staging environment #588
- Add systemd instructions to readme #271
- Improve check_append error #558
- Fix errors on successful export / import #565
- Most Collection routes now live under `/collections`, e.g. `/collections/agents` instead of `/agents`. #556
- Constrain new URLs. Commits for new Resources are now only valid if their parent is part of the current URL. So it's no longer possible to create `/some-path/new-resource` if `new-resource` is its parent is not in its URL. #556

## [v0.34.0] - 2022-10-31

@@ -114,6 +126,7 @@ See [STATUS.md](server/STATUS.md) to learn more about which features will remain
- `Store::all_resources` returns `Iterator` instead of `Vec` #522 #487
- Change authentication order #525
- Fix cookie subject check #525
- Refactored Subject URLs to use `AtomicUrl`

## [v0.33.1] - 2022-09-25

2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -49,6 +49,8 @@ TL;DR Clone the repo and run `cargo run` from each folder (e.g. `cli` or `server
- Go to `browser`, run `pnpm install` (if you haven't already), and run `pnpm dev` to start the browser
- Visit your `localhost` in your locally running `atomic-data-browser` instance: (e.g. `http://localhost:5173/app/show?subject=http%3A%2F%2Flocalhost`)
- use `cargo watch -- cargo run` to automatically recompile `atomic-server` when you update JS assets in `browser`
- use `cargo watch -- cargo run --bin atomic-server -- --env-file server/.env` to automatically recompile `atomic-server` when you update code or JS assets.
- If you want to debug emails: `brew install mailhog` => `mailhog` => `http://localhost:8025` and add `ATOMIC_SMTP_HOST=localhost` `ATOMIC_SMTP_PORT=1025` to your `.env`.

### IDE setup (VSCode)

Loading
Loading