* Percent-encode URI segments in ap_url
* Fix invalid Atoms
* Remove redundant clone according to cargo clippy
* Revert "Percent-encode URI segments in ap_url"
This reverts commit 8253aa79bd.
ActivityPub(JSON-LD) accepts URI.
See https://github.com/Plume-org/Plume/pull/764#issuecomment-623105734
* Use absolute IRI for IDs in Atom
* Reuse formatted string
* Use parent element's creation date for Atom updated if there's no post
* Remove uncecessary UTC conversion
* Extract routes::build_atom_feed function
* [REFACTORING]Use DocumentContext during parsing Markdown
* Add test case for hash in link
* Make DocumentContext derive Debug
* Add in_link field in DocumentContext
* Don't make hash words tags in link
* Add test for atmark in link
* Don't make atmark words in link mentions
* Add test for Persian language hashtags
See https://github.com/Plume-org/Plume/issues/757
* Add regex-syntax with unicode-perl feature to dependencies
* Install regex-syntax
* Allow hashtag to use Unicode word characters
* Run cargo fmt
This is a basic and simple way to display them. No interaction possible.
Alos, this patch is not optimised. as everytime a partial post_card is
called, `Post::count_likes()` and `Post::count_reshares()` are called
which means quite a few more quesies are sent to database unless diesel
uses some cache mechanisem.
A way to enhance this this would be to keep a count of likes and reshares
are kept in Post model / table.
* snap: Update rust compiler
* snap: Fix the build.
We now need libclang
* snap: Fix the non-x86 builds.
The goddamned environment variable is SNAPCRAFT_ARCH_TRIPLE*T*
* snap: Mark as stable.
The snap works fine; we don't need to warn people away
* update compiler to recent nightly
* cargo fmt
* fix clippy
but ructe code is still complaining
* update circleci and rocket_csrf
* fix last clippy problems
* cargo fmt
* fix build issue
was caused be improper handling of recursive template (comment) by old ructe, which is fixed on newer version
* Syntax highlighting mostly... Exists.
* Add dependency to dockerfile
* Handle non-existent languages better
* Make the default a bit nicer
* Improve highlighting. Clean up function
* Add dark theme, add the comment scope to the allowed classes
* update build env
* Address review comments
* Use find_syntax_by_token which produces the desired behavior
* Change flat_map into flatten
(commit cargo.lock)
* remove use of rust in migration
rewrite use_timelines_for_feed in pure sql
delete tantivy related migration. It will require reintroducing tantivy
initialisation in docs
fix#702
* Fill timeline from migrations
should fix#692 , but probably require some testing
* Ensure footnotes classes generated are not filtered
pulldown-cmark add somes classes when footnotes html is generated. This commit ensure they are not filtered by html sanitizer
* Add some footnotes styling
* snap: Store media in the proper directory
* snap/set-environment: Exit successfully when not enabled.
This lets us unconditionally run things under `set-environment` and let it
handle the case where the necessary configuration hasn't yet been set.
* snap: Set the version based on git tags
This will make the version something like `0.3.0-alpha-2-65-g29178aa` at the moment,
as that was the most recent tag, but the commit tagged as `0.4.0` will get *that* as
the version
* snap: Force-install cargo-web
This makes building the *second* time work; otherwise there might be
an existing cargo-web install, and cargo will refuse to overwrite it.
* Add autosaving to the editor
* It saves the subtitle, tags, and license now
* Save the cover too
* Fix broken autosave again
* Use set_value instead of a multitude of setters. Implement debouncing
* Remove unsafe code, remove generic getters when possible
* Paginate the outbox responses. Fixes#669
* Address Ana's review
* Make outbox_fetch page through instance outboxes
* Fix infinite loop in fetch_outbox
* Fix off by one
* Begin adding support for timeline
* fix some bugs with parser
* fmt
* add error reporting for parser
* add tests for timeline query parser
* add rejection tests for parse
* begin adding support for lists
also run migration before compiling, so schema.rs is up to date
* add sqlite migration
* end adding lists
still miss tests and query integration
* cargo fmt
* try to add some tests
* Add some constraint to db, and fix list test
and refactor other tests to use begin_transaction
* add more tests for lists
* add support for lists in query executor
* add keywords for including/excluding boosts and likes
* cargo fmt
* add function to list lists used by query
will make it easier to warn users when creating timeline with unknown lists
* add lang support
* add timeline creation error message when using unexisting lists
* Update .po files
* WIP: interface for timelines
* don't use diesel for migrations
not sure how it passed the ci on the other branch
* add some tests for timeline
add an int representing the order of timelines (first one will be on
top, second just under...)
use first() instead of limit(1).get().into_iter().nth(0)
remove migrations from build artifacts as they are now compiled in
* cargo fmt
* remove timeline order
* fix tests
* add tests for timeline creation failure
* cargo fmt
* add tests for timelines
* add test for matching direct lists and keywords
* add test for language filtering
* Add a more complex test for Timeline::matches, and fix TQ::matches for TQ::Or
* Make the main crate compile + FMT
* Use the new timeline system
- Replace the old "feed" system with timelines
- Display all timelines someone can access on their home page (either their personal ones, or instance timelines)
- Remove functions that were used to get user/local/federated feed
- Add new posts to timelines
- Create a default timeline called "My feed" for everyone, and "Local feed"/"Federated feed" with timelines
@fdb-hiroshima I don't know if that's how you pictured it? If you imagined it differently I can of course make changes.
I hope I didn't forgot anything…
* Cargo fmt
* Try to fix the migration
* Fix tests
* Fix the test (for real this time ?)
* Fix the tests ? + fmt
* Use Kind::Like and Kind::Reshare when needed
* Forgot to run cargo fmt once again
* revert translations
* fix reviewed stuff
* reduce code duplication by macros
* cargo fmt
* Add Snapcraft metadata and install/maintenance hooks
* Move set-environment script into snap/local
* snap: Remove diesel-cli part.
This *was* necessary as of 0.3.0, but now `plm migrations run` does the job.
* snap: Add an actual description
* snap: Add an 'enabled' config item.
Don't try to run until enabled is set, and automatically run the
migrations when we are enabled