Browse Source

up homepage and footer

chapril chapril-1.0.3
tykayn 1 year ago committed by Baptiste Lemoine
parent
commit
fad649c8eb
  1. 52
      CHANGELOG.md
  2. 29
      README.md
  3. 32
      SECURITY.md
  4. 2
      docker-compose.test.yml
  5. 4
      docker-compose.yml
  6. 43
      js/src/common.scss
  7. 2
      js/src/components/Event/EventListCard.vue
  8. 13
      js/src/components/Footer.vue
  9. 11
      js/src/components/NavBar.vue
  10. 68
      js/src/variables.scss
  11. 1
      js/src/views/Group/Group.vue
  12. 20
      js/src/views/Home.vue
  13. 1
      js/src/views/User/Register.vue
  14. 2
      test/fixtures/mastodon-accept-activity.json
  15. 2
      test/fixtures/mastodon-follow-activity.json
  16. 2
      test/fixtures/mastodon-like.json
  17. 124
      test/fixtures/mastodon-post-activity-hashtag.json
  18. 114
      test/fixtures/mastodon-post-activity.json
  19. 88
      test/fixtures/mastodon-undo-announce.json
  20. 2
      test/fixtures/mastodon-undo-like.json
  21. 64
      test/fixtures/mastodon-unfollow-activity.json
  22. 2
      test/fixtures/mobilizon-invite-activity.json
  23. 2
      test/fixtures/mobilizon-join-activity.json
  24. 2
      test/fixtures/mobilizon-leave-activity.json
  25. 160
      test/fixtures/mobilizon-members-collection.json
  26. 118
      test/fixtures/prismo-url-map.json
  27. 2
      test/fixtures/vcr_cassettes/activity_pub/activity_object_bogus.json
  28. 2
      test/fixtures/vcr_cassettes/activity_pub/event_update_activities.json
  29. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_framapiaf.org_users_tcit.json
  30. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_framapiaf_framasoft_status.json
  31. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_framasoft_framapiaf_reply.json
  32. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_mobilizon_post_activity.json
  33. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_reply_to_framatube.json
  34. 2
      test/fixtures/vcr_cassettes/activity_pub/fetch_tcit@framapiaf.org.json
  35. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_activity_hashtag.json
  36. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_announce_activity.json
  37. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_announce_existing_activity.json
  38. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_follow_activity.json
  39. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_post_activity.json
  40. 2
      test/fixtures/vcr_cassettes/activity_pub/mastodon_unannounce_activity.json
  41. 2
      test/fixtures/vcr_cassettes/activity_pub/object_bogus_origin.json
  42. 2
      test/fixtures/vcr_cassettes/activity_pub/signature/invalid_not_found.json
  43. 2
      test/fixtures/vcr_cassettes/activity_pub/signature/invalid_payload.json
  44. 2
      test/fixtures/vcr_cassettes/activity_pub/signature/valid.json
  45. 2
      test/fixtures/vcr_cassettes/activity_pub/signature/valid_payload.json
  46. 2
      test/fixtures/vcr_cassettes/activity_pub/unfollow_existing_follow_activity.json
  47. 2
      test/fixtures/vcr_cassettes/activity_pub/update_actor_activity.json
  48. 2
      test/fixtures/vcr_cassettes/activity_pub_controller/mastodon-post-activity_actor_call.json
  49. 2
      test/fixtures/vcr_cassettes/actors/remote_actor_mastodon_tcit.json
  50. 2
      test/fixtures/vcr_cassettes/actors/remote_actor_mastodon_tcit_actor_deleted.json
  51. 2
      test/fixtures/vcr_cassettes/actors/remote_actor_mastodon_tcit_bad_key.json
  52. 2
      test/fixtures/vcr_cassettes/relay/fetch_relay_unfollow.json
  53. 2
      test/fixtures/vcr_cassettes/webfinger/friendica.json
  54. 2
      test/fixtures/vcr_cassettes/webfinger/mastodon.json
  55. 2
      test/fixtures/vcr_cassettes/webfinger/peertube.json
  56. 2
      test/fixtures/vcr_cassettes/webfinger/pleroma.json
  57. 4
      tsconfig.json

52
CHANGELOG.md

@ -1,4 +1,5 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@ -12,23 +13,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Special operations
* **Reattach media files to their entity.**
- **Reattach media files to their entity.**
When media files were uploaded and added in events and posts bodies, they were only attached to the profile that uploaded them, not to the event or post. This task attaches them back to their entity so that the command to clean orphan media files doesn't remove them.
* Source install
- Source install
`MIX_ENV=prod mix mobilizon.maintenance.fix_unattached_media_in_body`
* Docker
- Docker
`docker-compose exec mobilizon mobilizon_ctl maintenance.fix_unattached_media_in_body`
* **Refresh remote profiles to save avatars locally**
- **Refresh remote profiles to save avatars locally**
Profile avatars and banners were previously only proxified and cached. Now we save them locally. Refreshing all remote actors will save profile media locally instead.
* Source install
- Source install
`MIX_ENV=prod mix mobilizon.actors.refresh --all`
* Docker
- Docker
`docker-compose exec mobilizon mobilizon_ctl actors.refresh --all`
* **imagemagick and webp are now a required dependency** to build Mobilizon.
- **imagemagick and webp are now a required dependency** to build Mobilizon.
Optimized versions of Mobilizon's pictures are now produced during front-end build.
See [the documentation](https://docs.joinmobilizon.org/administration/dependencies/#misc) to make sure these dependencies are installed.
@ -71,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed error message not showing up when you are already an anonymous participant for an event
- Fixed error message not showing up when you pick an username already in user for a new profile or a group
- Fixed translations not fallbacking properly to english when not found
-
-
### Security
@ -80,6 +81,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Translations
Updated translations:
- Catalan
- Dutch
- English
@ -252,20 +254,21 @@ Updated translations:
### Special operations
* We added `application/ld+json` as acceptable MIME type for ActivityPub requests, so you'll need to recompile the `mime` library we use before recompiling Mobilizon:
```
MIX_ENV=prod mix deps.clean mime --build
```
- We added `application/ld+json` as acceptable MIME type for ActivityPub requests, so you'll need to recompile the `mime` library we use before recompiling Mobilizon:
* The [nginx configuration](https://framagit.org/framasoft/mobilizon/-/blob/master/support/nginx/mobilizon.conf) has been changed with improvements and support for custom error pages.
```
MIX_ENV=prod mix deps.clean mime --build
```
* The cmake dependency has been added (see [our documentation](https://docs.joinmobilizon.org/administration/dependencies/#basic-tools))
- The [nginx configuration](https://framagit.org/framasoft/mobilizon/-/blob/master/support/nginx/mobilizon.conf) has been changed with improvements and support for custom error pages.
- The cmake dependency has been added (see [our documentation](https://docs.joinmobilizon.org/administration/dependencies/#basic-tools))
### Added
- Possibility to login using LDAP
- Possibility to login using OAuth providers
- Enabled group features in production mode
- Enabled group features in production mode
- including posts (that can be public, unlisted, or restricted to your group members)
- resources (collections of links, with folders, accessible to your group members)
- discussions (group private and organized chats)
@ -289,11 +292,12 @@ Updated translations:
### Security
- Fix group settings being accessible and editable by non-group-admins (thx @pigpig for reporting this responsibly)
- Fix events being editable by profiles without permissions (thx @pigpig for reporting this responsibly)
- Fix events being editable by profiles without permissions (thx @pigpig for reporting this responsibly)
## [1.0.0-beta.3] - 2020-06-24
### Special operations
Config has moved from `.env` files to a more traditional way to handle things in the Elixir world, with `.exs` files.
To migrate existing configuration, you can simply run `mix mobilizon.instance gen` and fill in the adequate values previously in `.env` files (you don't need to perform the operations to create the database).
@ -303,6 +307,7 @@ A minimal file template [is available](https://framagit.org/framasoft/mobilizon/
Also make sure to remove the `EnvironmentFile=` line from the systemd service and set `Environment=MIX_ENV=prod` instead. See [the updated file](https://framagit.org/framasoft/mobilizon/blob/master/support/systemd/mobilizon.service).
### Added
- Possibility to participate to an event without an account (confirmation through email required)
- Possibility to participate to a remote event (being redirected by providing federated identity)
- Possibility to add a note as a participant when event participation is manually validated (required when participating without an account)
@ -319,6 +324,7 @@ Also make sure to remove the `EnvironmentFile=` line from the systemd service an
- Allow user to change language
### Changed
- Configuration handling (see above)
- Improved a bit color theme
- Signature validation also now checks if `Date` header has acceptable values
@ -329,6 +335,7 @@ Also make sure to remove the `EnvironmentFile=` line from the systemd service an
- Improved public event page
### Fixed
- Fixed URL search
- Fixed content accessed through URL search being public
- Fix event links in some emails
@ -336,17 +343,21 @@ Also make sure to remove the `EnvironmentFile=` line from the systemd service an
## [1.0.0-beta.2] - 2019-12-18
### Special operations
These two operations couldn't be handled during migrations.
They are optional, but you won't be able to search or get participant stats on existing events if they are not executed.
These commands will be removed in Mobilizon 1.0.0-beta.3.
In order to populate search index for existing events, you need to run the following command (with prod environment):
* `mix mobilizon.setup_search`
- `mix mobilizon.setup_search`
In order to move participant stats to the event table for existing events, you need to run the following command (with prod environment):
* `mix mobilizon.move_participant_stats`
- `mix mobilizon.move_participant_stats`
### Added
- Federation is active
- Added an interface for admins to view and manage instance followers and followings
- Ability to comment below events
@ -371,6 +382,7 @@ In order to move participant stats to the event table for existing events, you n
- Upgraded frontend and backend dependencies
### Changed
- Move participant stats to event table **(read special instructions above)**
- Limit length (20 characters) and number (10) of tags allowed
- Added some backend changes and validation for field length
@ -384,6 +396,7 @@ In order to move participant stats to the event table for existing events, you n
- Also consider the PeerTube `CommentsEnabled` property to know if you can reply to an event
### Fixed
- Fix event URL validation and check if hostname is correct before showing it
- Fix participations stats on the MyEvents page
- Fix event description lists margin
@ -413,8 +426,11 @@ In order to move participant stats to the event table for existing events, you n
- Fixed event HTML representation when `GET` request has no `Accept` header
### Security
- Sanitize event title to avoid XSS
## [1.0.0-beta.1] - 2019-10-15
### Added
- Initial release

29
README.md

@ -20,7 +20,7 @@ Mobilizon is your federated organization and mobilization platform. Gather peopl
Mobilizon is a tool designed to create platforms for managing communities and events. Its purpose is to help as many people as possible to free themselves from Facebook groups and events, from Meetup, etc.
The Mobilizon software is under a Free licence, so anyone can host a Mobilizon server, called an instance. These instances may federate with each other, so any person with an account on *ExampleMeet* will be able to register to an event created on *SpecimenEvent*.
The Mobilizon software is under a Free licence, so anyone can host a Mobilizon server, called an instance. These instances may federate with each other, so any person with an account on _ExampleMeet_ will be able to register to an event created on _SpecimenEvent_.
## ✨ Features
@ -33,7 +33,7 @@ You will have the power to create multiple identities from the same account, lik
### πŸ“… Events and groups
Create your events and make sure they will appeal to everybody.
Create your events and make sure they will appeal to everybody.
Privacy settings and participants roles are supported.
There's no lock-in, you can interact with the event without registration.
@ -46,23 +46,26 @@ We appreciate any contribution to Mobilizon. Check our [CONTRIBUTING](CONTRIBUTI
## Links
### Learn more
* 🌐 Official website: [https://joinmobilizon.org](https://joinmobilizon.org)
* πŸ”’ Pick an instance [https://mobilizon.org](https://mobilizon.org)
* πŸ’» Source: [https://framagit.org/framasoft/mobilizon](https://framagit.org/framasoft/mobilizon)
* πŸ“œ Documentation [https://docs.joinmobilizon.org](https://docs.joinmobilizon.org)
- 🌐 Official website: [https://joinmobilizon.org](https://joinmobilizon.org)
- πŸ”’ Pick an instance [https://mobilizon.org](https://mobilizon.org)
- πŸ’» Source: [https://framagit.org/framasoft/mobilizon](https://framagit.org/framasoft/mobilizon)
- πŸ“œ Documentation [https://docs.joinmobilizon.org](https://docs.joinmobilizon.org)
### Discuss
* πŸ’¬ Element/Matrix: [https://matrix.to/#/#Mobilizon:matrix.org](https://matrix.to/#/#Mobilizon:matrix.org)
* πŸ—£οΈ Forum: [https://framacolibri.org/c/mobilizon](https://framacolibri.org/c/mobilizon)
- πŸ’¬ Element/Matrix: [https://matrix.to/#/#Mobilizon:matrix.org](https://matrix.to/#/#Mobilizon:matrix.org)
- πŸ—£οΈ Forum: [https://framacolibri.org/c/mobilizon](https://framacolibri.org/c/mobilizon)
### Follow
* 🐘 Mastodon: [https://framapiaf.org/@mobilizon](https://framapiaf.org/@mobilizon)
* 🐦 Twitter [https://twitter.com/@joinmobilizon](https://twitter.com/@joinmobilizon)
Note: Most federation code comes from [Pleroma](https://pleroma.social), which is `Copyright Β© 2017-2018 Pleroma Authors - AGPL-3.0`.
- 🐘 Mastodon: [https://framapiaf.org/@mobilizon](https://framapiaf.org/@mobilizon)
- 🐦 Twitter [https://twitter.com/@joinmobilizon](https://twitter.com/@joinmobilizon)
Note: Most federation code comes from [Pleroma](https://pleroma.social), which is `Copyright Β© 2017-2018 Pleroma Authors - AGPL-3.0`.
## ❀️ Supports of our crowdfunding
---
We have run [a crowdfunding campaign](https://framablog.org/2019/05/14/mobilizon-lets-finance-a-software-to-free-our-events-from-facebook/) to pave the road to the version 1.0.0 of Mobilizon. Thanks to everyone who pitched in and shared the news around! The list of [everyone who donated is available here](https://joinmobilizon.org/hall-of-fame).

32
SECURITY.md

@ -5,15 +5,15 @@ Framasoft, the Mobilizon maintainer team and community take all security bugs in
### Goals
* Mobilizon users can understand the distinctions between public data and private data/metadata on Mobilizon.
- Mobilizon users can understand the distinctions between public data and private data/metadata on Mobilizon.
* Users always know where their private data/metadata resides, who has access to it, and are able to access, export, and delete it.
- Users always know where their private data/metadata resides, who has access to it, and are able to access, export, and delete it.
* Protect private user data/metadata, not just from hackers but also (as much as is possible) from other users, instance admins, community moderators, and external applications.
- Protect private user data/metadata, not just from hackers but also (as much as is possible) from other users, instance admins, community moderators, and external applications.
* Secure from malicious creation, alteration or deletion of public data.
- Secure from malicious creation, alteration or deletion of public data.
* GDPR compliance.
- GDPR compliance.
Framasoft is both a developer of open-source/free/libre self-hosted software, and a service provider with users in the European Union. As a result, we are putting user privacy, data sovereignty, and GDPR compliance into our security plans, including asking both the Framasoft community and outside hackers to review our approaches and implementations.
@ -21,11 +21,11 @@ Framasoft is both a developer of open-source/free/libre self-hosted software, an
[Mobilizon](https://joinmobilizon.org) will be challenging to keep secure, as it is:
* open source, both back-end and front-end
- open source, both back-end and front-end
* self-hosted by diverse organisations and individuals
- self-hosted by diverse organisations and individuals
* federated (data is transmitted between different hosted instances)
- federated (data is transmitted between different hosted instances)
This means there are more attack surfaces compared to typical proprietary, centralised platforms, but also means that hackers and even users can review every part of Mobilizon and make sure that it works as expected. This should result in more secure software, and higher trust in the application and its ecosystem.
@ -33,14 +33,14 @@ This means there are more attack surfaces compared to typical proprietary, centr
We are committed to working with security researchers to verify, reproduce, and respond to legitimate reported vulnerabilities. You can help us by following these simple guidelines:
* Alert us about the vulnerability as soon as you become aware of it by emailing the lead maintainer at tcit+mobilizon@framasoft.org.
* Provide details needed to reproduce and validate the vulnerability and a Proof of Concept (PoC) as soon as possible
* Act in good faith to avoid privacy violations, destruction of data, and interruption or degradation of services
* Do not access or modify users’ private data, without explicit permission of the owner. Only interact with your own accounts or test accounts for security research purposes;
* Contact Framasoft or a maintainer of the Mobilizon project (or the instance admin) immediately if you do inadvertently encounter user data. Do not view, alter, save, store, transfer, or otherwise access the data, and immediately purge any local information upon reporting the vulnerability;
* The lead maintainer will acknowledge your email within 48 hours, and will send a more detailed response within 48 hours indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.
* Give us time to confirm, determine the affected versions and prepare fixes to correct the issue before disclosing it to other parties (if after waiting a reasonable amount of time, we are clearly unable or unwilling to do anything about it, please do hold us accountable!)
* Please test against a local instance of the software, and refrain from running any Denial of Service or automated testing tools against Framasoft's (and our partners') infrastructure
- Alert us about the vulnerability as soon as you become aware of it by emailing the lead maintainer at tcit+mobilizon@framasoft.org.
- Provide details needed to reproduce and validate the vulnerability and a Proof of Concept (PoC) as soon as possible
- Act in good faith to avoid privacy violations, destruction of data, and interruption or degradation of services
- Do not access or modify users’ private data, without explicit permission of the owner. Only interact with your own accounts or test accounts for security research purposes;
- Contact Framasoft or a maintainer of the Mobilizon project (or the instance admin) immediately if you do inadvertently encounter user data. Do not view, alter, save, store, transfer, or otherwise access the data, and immediately purge any local information upon reporting the vulnerability;
- The lead maintainer will acknowledge your email within 48 hours, and will send a more detailed response within 48 hours indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.
- Give us time to confirm, determine the affected versions and prepare fixes to correct the issue before disclosing it to other parties (if after waiting a reasonable amount of time, we are clearly unable or unwilling to do anything about it, please do hold us accountable!)
- Please test against a local instance of the software, and refrain from running any Denial of Service or automated testing tools against Framasoft's (and our partners') infrastructure
Note : Please report security bugs in third-party modules to the person or team maintaining the module.

2
docker-compose.test.yml

@ -1,4 +1,4 @@
version: '3'
version: "3"
services:
postgres:

4
docker-compose.yml

@ -1,4 +1,4 @@
version: '3'
version: "3"
services:
postgres:
@ -15,7 +15,7 @@ services:
restart: unless-stopped
build: .
volumes:
- '.:/app'
- ".:/app"
ports:
- "4000:4000"
depends_on:

43
js/src/common.scss

@ -23,11 +23,10 @@ main > .container {
background: $whitest;
min-height: 70vh;
}
.step-content{
.step-content {
height: auto;
}
a.out,
.content a,
.ProseMirror a {
@ -45,17 +44,18 @@ main {
min-height: 80vh;
}
}
> #homepage{
> #homepage {
background: $whitest;
#featured_events{
#featured_events {
background: $whitest;
}
#picture{
.container, .section{
#picture {
.container,
.section {
background: $whitest;
}
}
> .container{
> .container {
min-height: 25vh;
}
}
@ -63,7 +63,6 @@ main {
.section {
padding: 1rem 1% 4rem;
}
figure img.is-rounded {
@ -109,11 +108,10 @@ body {
background: $body-background-color;
font-family: BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, "Segoe UI",
"Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#mobilizon{
> main{
#mobilizon {
> main {
background: $body-background-color;
}
> .container > .message {
@ -173,12 +171,17 @@ a.list-item {
.setting-title {
margin-top: 2rem;
margin-bottom: 1rem;
h1,h2,h3,h4,h5,h6{
h1,
h2,
h3,
h4,
h5,
h6 {
background: $secondary;
color : $white;
span{
color: $white;
span {
background: $secondary !important;
color : $white !important;
color: $white !important;
}
}
h2 {
@ -190,11 +193,11 @@ a.list-item {
}
}
.hero-body{
.hero-body {
background-color: $chapril_blue_light;
}
.columns{
.columns {
background: $whitest;
}
.setting-menu-item {
@ -219,9 +222,7 @@ a.list-item {
}
}
.time.datetime-container{
.time.datetime-container {
color: $white;
background: $chapril_blue_light;
span.month {
@ -233,7 +234,7 @@ a.list-item {
footer
*/
footer.footer[data-v-40ab164b] span.select select{
footer.footer[data-v-40ab164b] span.select select {
background: $chapril_blue_light;
color: $footer-text-color;
}

2
js/src/components/Event/EventListCard.vue

@ -440,7 +440,7 @@ article.box {
line-height: 1em;
margin-top: 0.5em;
}
.participation-actor{
.participation-actor {
margin-top: 1em;
}
</style>

13
js/src/components/Footer.vue

@ -35,21 +35,26 @@
}}</router-link>
</li>
<li>
<a href='https://www.chapril.org/Mentions-legales.html' >
<a href="https://www.chapril.org/Mentions-legales.html">
Mentions lΓ©gales
</a >
</a>
</li>
<li>
<router-link :to="{ name: RouteName.TERMS }">{{ $t("Terms") }}</router-link>
<router-link :to="{ name: RouteName.TERMS }">{{
$t("Terms")
}}</router-link>
</li>
<li>
<a
hreflang="en"
href="https://framagit.org/framasoft/mobilizon/blob/master/LICENSE"
href="https://forge.april.org/Chapril/mobilizon.chapril.org-mobilizon/blob/master/LICENSE"
>
{{ $t("License") }}
</a>
</li>
<li>
<a href="mailto:mobilizon-support@chapril.org">{{ $t("Contact") }}</a>
</li>
</ul>
<div class="content has-text-centered">
<i18n

11
js/src/components/NavBar.vue

@ -5,9 +5,11 @@
:active.sync="mobileNavbarActive"
>
<template slot="brand">
<b-navbar-item tag="router-link"
<b-navbar-item
tag="router-link"
:aria-label="$t('Home')"
:to="{ name: RouteName.HOME }">
:to="{ name: RouteName.HOME }"
>
<img
src="/img/long_logo_chapril_mobilizon.png"
alt="logo mobilizon"
@ -43,7 +45,10 @@
href="https://www.chapril.org"
:aria-label="'www.chapril.org'"
>
<img src="/img/pics/logo_chapril_mobilizon.png" alt="logo chapril mobilizon" />
<img
src="/img/pics/logo_chapril_mobilizon.png"
alt="logo chapril mobilizon"
/>
</b-navbar-item>
<b-navbar-item tag="div">
<search-field @navbar-search="mobileNavbarActive = false" />

68
js/src/variables.scss

@ -4,8 +4,8 @@
// chapril colors
$chapril_blue: #2e5281;
$chapril_blue_light: #bcd0e5;
$white: mix( #fff,#bcd0e5);
$whitest: #fff;
$white: mix(#fff, #bcd0e5);
$whitest: #fff;
$chapril_orange: #ff5e00;
$chapril_grey: #5f5f5f;
// other
@ -55,7 +55,7 @@ $secondary: lighten($chapril_blue, 20%);
$secondary-invert: findColorInvert($secondary);
$background-color: mix($chapril_blue, $violet-2);
$background-color-darker: darken($background-color,10%);
$background-color-darker: darken($background-color, 10%);
$success: mix($chapril_blue, #0d8758);
$success-invert: findColorInvert($success);
@ -68,33 +68,33 @@ $link-invert: $primary-invert;
$text: mix($chapril_blue, $violet-1);
$colors: map-merge(
$colors,
(
"primary": (
$primary,
$primary-invert,
),
"secondary": (
$secondary,
$secondary-invert,
),
"success": (
$success,
$success-invert,
),
"info": (
$info,
$info-invert,
),
"danger": (
$danger,
$danger-invert,
),
"link": (
$link,
$link-invert,
),
)
$colors,
(
"primary": (
$primary,
$primary-invert,
),
"secondary": (
$secondary,
$secondary-invert,
),
"success": (
$success,
$success-invert,
),
"info": (
$info,
$info-invert,
),
"danger": (
$danger,
$danger-invert,
),
"link": (
$link,
$link-invert,
),
)
);
// Navbar
@ -105,15 +105,15 @@ $navbar-height: 4rem;
// Footer
$footer-padding: 3rem 1.5rem 1rem;
$footer-background-color: $violet-2;
$footer-text-color: mix( #000, $violet-2);
$footer-text-color: mix(#000, $violet-2);
$body-background-color: mix( $chapril_blue, #efeef4);
$body-background-color: mix($chapril_blue, #efeef4);
$fullhd-enabled: false;
$hero-body-padding-medium: 6rem 1.5rem;
$title-color: $chapril_blue;
$title-family: "Liberation Sans", "Helvetica Neue", Roboto, Helvetica, Arial,
serif;
serif;
$title-weight: 700;
$title-size: 40px;
$title-sub-size: 45px;
@ -121,7 +121,7 @@ $title-sup-size: 30px;
$subtitle-color: $chapril_grey;
$subtitle-family: "Liberation Sans", "Helvetica Neue", Roboto, Helvetica, Arial,
serif;
serif;
$subtitle-weight: 400;
$subtitle-size: 32px;
$subtitle-sub-size: 30px;

1
js/src/views/Group/Group.vue

@ -818,7 +818,6 @@ div.container {
.media-content {
h2 {
font-family: "Liberation Sans", "Helvetica Neue", Roboto,
Helvetica, Arial, serif;
font-size: 1.5rem;

20
js/src/views/Home.vue

@ -12,17 +12,12 @@
</h1>
<p
v-html="
$t('Join <b>{instance}</b>, a Mobilizon instance', {
`${$t('Join <b>{instance}</b>, a Mobilizon instance', {
instance: config.name,
})
})}.`
"
/>
<p class="instance-description">{{ config.description }}</p>
<p class='contact contact-home'>
<a href='mailto:mobilizon-support@chapril.org' >
{{ $t("Contact") }}
</a >
</p>
<!-- We don't invite to find other instances yet -->
<!-- <p v-if="!config.registrationsOpen">
{{ $t("This instance isn't opened to registrations, but you can register on other instances.") }}
@ -36,7 +31,15 @@
tag="router-link"
:to="{ name: RouteName.REGISTER }"
v-if="config.registrationsOpen"
>{{ $t("Create an account") }}</b-button
>
<i class="mdi mdi-account"></i>
{{ $t("Create an account") }}</b-button
>
<a
class="button is-light"
:title="config.contact"
href="mailto:mobilizon-support@chapril.org"
>{{ $t("Contact") }}</a
>
<!-- We don't invite to find other instances yet -->
<!-- <b-button v-else type="is-link" tag="a" href="https://joinmastodon.org">{{ $t('Find an instance') }}</b-button> -->
@ -660,7 +663,6 @@ section.hero {
}
.container.section {
@include tablet {
margin-top: -4rem;
}

1
js/src/views/User/Register.vue

@ -292,7 +292,6 @@ export default class Register extends Vue {
}
h2.title {
font-size: 2.5rem;
text-decoration: underline;
display: inline;

2
test/fixtures/mastodon-accept-activity.json vendored

@ -31,4 +31,4 @@
"Emoji": "toot:Emoji"
}
]
}
}

2
test/fixtures/mastodon-follow-activity.json vendored

@ -26,4 +26,4 @@
"Emoji": "toot:Emoji"
}
]
}
}

2
test/fixtures/mastodon-like.json vendored

@ -26,4 +26,4 @@
"Emoji": "toot:Emoji"
}
]
}
}

124
test/fixtures/mastodon-post-activity-hashtag.json vendored

@ -1,70 +1,66 @@
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"atomUri": "ostatus:atomUri",
"conversation": "ostatus:conversation",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"movedTo": "as:movedTo",
"ostatus": "http://ostatus.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#"
}
],
"actor": "https://framapiaf.org/users/admin",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"atomUri": "ostatus:atomUri",
"conversation": "ostatus:conversation",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"movedTo": "as:movedTo",
"ostatus": "http://ostatus.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#"
}
],
"actor": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"http://mobilizon.com/@tcit"
],
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822/activity",
"nickname": "lain",
"object": {
"atomUri": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"attachment": [],
"attributedTo": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"http://mobilizon.com/@tcit"
"https://framapiaf.org/users/admin/followers",
"https://framapiaf.org/users/tcit"
],
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822/activity",
"nickname": "lain",
"object": {
"atomUri": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"attachment": [],
"attributedTo": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"https://framapiaf.org/users/tcit"
],
"content": "<p><span class=\"h-card\"><a href=\"https://framapiaf.org/users/tcit\" class=\"u-url mention\">@<span>tcit</span></a></span> #moo</p>",
"conversation": "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation",
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"inReplyTo": null,
"inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z",
"sensitive": true,
"summary": "cw",
"tag": [
{
"href": "https://framapiaf.org/users/tcit",
"name": "@tcit@framapiaf.org",
"type": "Mention"
},
{
"href": "http://mastodon.example.org/tags/moo",
"name": "#moo",
"type": "Hashtag"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note",
"url": "https://framapiaf.org/@admin/99512778738411822"
},
"content": "<p><span class=\"h-card\"><a href=\"https://framapiaf.org/users/tcit\" class=\"u-url mention\">@<span>tcit</span></a></span> #moo</p>",
"conversation": "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation",
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"inReplyTo": null,
"inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z",
"signature": {
"created": "2018-02-12T14:08:20Z",
"creator": "https://framapiaf.org/users/admin#main-key",
"signatureValue": "rnNfcopkc6+Ju73P806popcfwrK9wGYHaJVG1/ZvrlEbWVDzaHjkXqj9Q3/xju5l8CSn9tvSgCCtPFqZsFQwn/pFIFUcw7ZWB2xi4bDm3NZ3S4XQ8JRaaX7og5hFxAhWkGhJhAkfxVnOg2hG+w2d/7d7vRVSC1vo5ip4erUaA/PkWusZvPIpxnRWoXaxJsFmVx0gJgjpJkYDyjaXUlp+jmaoseeZ4EPQUWqHLKJ59PRG0mg8j2xAjYH9nQaN14qMRmTGPxY8gfv/CUFcatA+8VJU9KEsJkDAwLVvglydNTLGrxpAJU78a2eaht0foV43XUIZGe3DKiJPgE+UOKGCJw==",
"type": "RsaSignature2017"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
"sensitive": true,
"summary": "cw",
"tag": [
{
"href": "https://framapiaf.org/users/tcit",
"name": "@tcit@framapiaf.org",
"type": "Mention"
},
{
"href": "http://mastodon.example.org/tags/moo",
"name": "#moo",
"type": "Hashtag"
}
],
"type": "Create"
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"type": "Note",
"url": "https://framapiaf.org/@admin/99512778738411822"
},
"published": "2018-02-12T14:08:20Z",
"signature": {
"created": "2018-02-12T14:08:20Z",
"creator": "https://framapiaf.org/users/admin#main-key",
"signatureValue": "rnNfcopkc6+Ju73P806popcfwrK9wGYHaJVG1/ZvrlEbWVDzaHjkXqj9Q3/xju5l8CSn9tvSgCCtPFqZsFQwn/pFIFUcw7ZWB2xi4bDm3NZ3S4XQ8JRaaX7og5hFxAhWkGhJhAkfxVnOg2hG+w2d/7d7vRVSC1vo5ip4erUaA/PkWusZvPIpxnRWoXaxJsFmVx0gJgjpJkYDyjaXUlp+jmaoseeZ4EPQUWqHLKJ59PRG0mg8j2xAjYH9nQaN14qMRmTGPxY8gfv/CUFcatA+8VJU9KEsJkDAwLVvglydNTLGrxpAJU78a2eaht0foV43XUIZGe3DKiJPgE+UOKGCJw==",
"type": "RsaSignature2017"
},
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"type": "Create"
}

114
test/fixtures/mastodon-post-activity.json vendored

@ -1,65 +1,61 @@
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"atomUri": "ostatus:atomUri",
"conversation": "ostatus:conversation",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"movedTo": "as:movedTo",
"ostatus": "http://ostatus.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#"
}
],
"actor": "https://framapiaf.org/users/admin",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"atomUri": "ostatus:atomUri",
"conversation": "ostatus:conversation",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"movedTo": "as:movedTo",
"ostatus": "http://ostatus.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#"
}
],
"actor": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"http://mobilizon.com/@tcit"
],
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822/activity",
"nickname": "lain",
"object": {
"atomUri": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"attachment": [],
"attributedTo": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"http://mobilizon.com/@tcit"
"https://framapiaf.org/users/admin/followers",
"https://framapiaf.org/users/tcit"
],
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822/activity",
"nickname": "lain",
"object": {
"atomUri": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"attachment": [],
"attributedTo": "https://framapiaf.org/users/admin",
"cc": [
"https://framapiaf.org/users/admin/followers",
"https://framapiaf.org/users/tcit"
],
"content": "<p><span class=\"h-card\"><a href=\"https://framapiaf.org/users/tcit\" class=\"u-url mention\">@<span>tcit</span></a></span></p>",
"conversation": "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation",
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"inReplyTo": null,
"inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z",
"sensitive": true,
"summary": "cw",
"tag": [
{
"href": "https://framapiaf.org/users/tcit",
"name": "@tcit@framapiaf.org",
"type": "Mention"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note",
"url": "https://framapiaf.org/@admin/99512778738411822"
},
"content": "<p><span class=\"h-card\"><a href=\"https://framapiaf.org/users/tcit\" class=\"u-url mention\">@<span>tcit</span></a></span></p>",
"conversation": "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation",
"id": "https://framapiaf.org/users/admin/statuses/99512778738411822",
"inReplyTo": null,
"inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z",
"signature": {
"created": "2018-02-12T14:08:20Z",
"creator": "https://framapiaf.org/users/admin#main-key",
"signatureValue": "rnNfcopkc6+Ju73P806popcfwrK9wGYHaJVG1/ZvrlEbWVDzaHjkXqj9Q3/xju5l8CSn9tvSgCCtPFqZsFQwn/pFIFUcw7ZWB2xi4bDm3NZ3S4XQ8JRaaX7og5hFxAhWkGhJhAkfxVnOg2hG+w2d/7d7vRVSC1vo5ip4erUaA/PkWusZvPIpxnRWoXaxJsFmVx0gJgjpJkYDyjaXUlp+jmaoseeZ4EPQUWqHLKJ59PRG0mg8j2xAjYH9nQaN14qMRmTGPxY8gfv/CUFcatA+8VJU9KEsJkDAwLVvglydNTLGrxpAJU78a2eaht0foV43XUIZGe3DKiJPgE+UOKGCJw==",
"type": "RsaSignature2017"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
"sensitive": true,
"summary": "cw",
"tag": [
{
"href": "https://framapiaf.org/users/tcit",
"name": "@tcit@framapiaf.org",
"type": "Mention"
}
],
"type": "Create"
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"type": "Note",
"url": "https://framapiaf.org/@admin/99512778738411822"
},
"published": "2018-02-12T14:08:20Z",
"signature": {
"created": "2018-02-12T14:08:20Z",
"creator": "https://framapiaf.org/users/admin#main-key",
"signatureValue": "rnNfcopkc6+Ju73P806popcfwrK9wGYHaJVG1/ZvrlEbWVDzaHjkXqj9Q3/xju5l8CSn9tvSgCCtPFqZsFQwn/pFIFUcw7ZWB2xi4bDm3NZ3S4XQ8JRaaX7og5hFxAhWkGhJhAkfxVnOg2hG+w2d/7d7vRVSC1vo5ip4erUaA/PkWusZvPIpxnRWoXaxJsFmVx0gJgjpJkYDyjaXUlp+jmaoseeZ4EPQUWqHLKJ59PRG0mg8j2xAjYH9nQaN14qMRmTGPxY8gfv/CUFcatA+8VJU9KEsJkDAwLVvglydNTLGrxpAJU78a2eaht0foV43XUIZGe3DKiJPgE+UOKGCJw==",
"type": "RsaSignature2017"
},
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"type": "Create"
}

88
test/fixtures/mastodon-undo-announce.json vendored

@ -1,47 +1,45 @@
{
"type": "Undo",
"signature": {
"type": "RsaSignature2017",
"signatureValue": "VU9AmHf3Pus9cWtMG/TOdxr+MRQfPHdTVKBBgFJBXhAlMhxEtcbxsu7zmqBgfIz6u0HpTCi5jRXEMftc228OJf/aBUkr4hyWADgcdmhPQgpibouDLgQf9BmnrPqb2rMbzZyt49GJkQZma8taLh077TTq6OKcnsAAJ1evEKOcRYS4OxBSwh4nI726bOXzZWoNzpTcrnm+llcUEN980sDSAS0uyZdb8AxZdfdG6DJQX4AkUD5qTpfqP/vC1ISirrNphvVhlxjUV9Amr4SYTsLx80vdZe5NjeL5Ir4jTIIQLedpxaDu1M9Q+Jpc0fYByQ2hOwUq8JxEmvHvarKjrq0Oww==",
"creator": "http://mastodon.example.org/users/admin#main-key",
"created": "2018-05-11T16:23:45Z"
},
"object": {
"type": "Announce",
"to": [
"http://www.w3.org/ns/activitystreams#Public"
],
"published": "2018-05-11T16:23:37Z",
"object": "https://framapiaf.org/@Framasoft/statuses/102501959686438400",
"id": "https://framapiaf.org/users/Framasoft/statuses/102501959686438400/activity",
"cc": [
"https://framapiaf.org/users/Framasoft/",
"https://framapiaf.org/users/Framasoft/followers"
],
"atomUri": "https://framapiaf.org/users/Framasoft/statuses/102501959686438400/activity",
"actor": "https://framapiaf.org/users/Framasoft"
},
"id": "https://framapiaf.org/users/Framasoft#announces/100011594053806179/undo",
"actor": "https://framapiaf.org/users/Framasoft",
"@context": [
"http://www.w3.org/ns/activitystreams",
"http://w3id.org/security/v1",
{
"toot": "http://joinmastodon.org/ns#",
"sensitive": "as:sensitive",
"ostatus": "http://ostatus.org#",
"movedTo": "as:movedTo",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"focalPoint": {
"@id": "toot:focalPoint",
"@container": "@list"
},
"featured": "toot:featured",
"conversation": "ostatus:conversation",
"atomUri": "ostatus:atomUri",
"Hashtag": "as:Hashtag",
"Emoji": "toot:Emoji"
}
]
"type": "Undo",
"signature": {
"type": "RsaSignature2017",
"signatureValue": "VU9AmHf3Pus9cWtMG/TOdxr+MRQfPHdTVKBBgFJBXhAlMhxEtcbxsu7zmqBgfIz6u0HpTCi5jRXEMftc228OJf/aBUkr4hyWADgcdmhPQgpibouDLgQf9BmnrPqb2rMbzZyt49GJkQZma8taLh077TTq6OKcnsAAJ1evEKOcRYS4OxBSwh4nI726bOXzZWoNzpTcrnm+llcUEN980sDSAS0uyZdb8AxZdfdG6DJQX4AkUD5qTpfqP/vC1ISirrNphvVhlxjUV9Amr4SYTsLx80vdZe5NjeL5Ir4jTIIQLedpxaDu1M9Q+Jpc0fYByQ2hOwUq8JxEmvHvarKjrq0Oww==",
"creator": "http://mastodon.example.org/users/admin#main-key",
"created": "2018-05-11T16:23:45Z"
},
"object": {
"type": "Announce",
"to": ["http://www.w3.org/ns/activitystreams#Public"],
"published": "2018-05-11T16:23:37Z",
"object": "https://framapiaf.org/@Framasoft/statuses/102501959686438400",
"id": "https://framapiaf.org/users/Framasoft/statuses/102501959686438400/activity",
"cc": [
"https://framapiaf.org/users/Framasoft/",
"https://framapiaf.org/users/Framasoft/followers"
],
"atomUri": "https://framapiaf.org/users/Framasoft/statuses/102501959686438400/activity",
"actor": "https://framapiaf.org/users/Framasoft"
},
"id": "https://framapiaf.org/users/Framasoft#announces/100011594053806179/undo",
"actor": "https://framapiaf.org/users/Framasoft",
"@context": [
"http://www.w3.org/ns/activitystreams",
"http://w3id.org/security/v1",
{
"toot": "http://joinmastodon.org/ns#",
"sensitive": "as:sensitive",
"ostatus": "http://ostatus.org#",
"movedTo": "as:movedTo",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"focalPoint": {
"@id": "toot:focalPoint",
"@container": "@list"
},
"featured": "toot:featured",
"conversation": "ostatus:conversation",
"atomUri": "ostatus:atomUri",
"Hashtag": "as:Hashtag",
"Emoji": "toot:Emoji"
}
]
}

2
test/fixtures/mastodon-undo-like.json vendored

@ -31,4 +31,4 @@
"Emoji": "toot:Emoji"
}
]
}
}

64
test/fixtures/mastodon-unfollow-activity.json vendored

@ -1,34 +1,34 @@
{
"@context":[
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"toot":"http://joinmastodon.org/ns#",
"sensitive":"as:sensitive",
"ostatus":"http://ostatus.org#",
"movedTo":"as:movedTo",
"manuallyApprovesFollowers":"as:manuallyApprovesFollowers",
"inReplyToAtomUri":"ostatus:inReplyToAtomUri",
"conversation":"ostatus:conversation",
"atomUri":"ostatus:atomUri",
"Hashtag":"as:Hashtag",
"Emoji":"toot:Emoji"
}
],
"signature":{
"type":"RsaSignature2017",
"signatureValue":"Kn1/UkAQGJVaXBfWLAHcnwHg8YMAUqlEaBuYLazAG+pz5hqivsyrBmPV186Xzr+B4ZLExA9+SnOoNx/GOz4hBm0kAmukNSILAsUd84tcJ2yT9zc1RKtembK4WiwOw7li0+maeDN0HaB6t+6eTqsCWmtiZpprhXD8V1GGT8yG7X24fQ9oFGn+ng7lasbcCC0988Y1eGqNe7KryxcPuQz57YkDapvtONzk8gyLTkZMV4De93MyRHq6GVjQVIgtiYabQAxrX6Q8C+4P/jQoqdWJHEe+MY5JKyNaT/hMPt2Md1ok9fZQBGHlErk22/zy8bSN19GdG09HmIysBUHRYpBLig==",
"creator":"https://social.tcit.fr/users/tcit#main-key",
"created":"2018-02-17T13:29:31Z"
},
"type":"Undo",
"object":{
"type":"Follow",
"object":"http://localtesting.pleroma.lol/users/lain",
"nickname":"lain",
"id":"https://social.tcit.fr/users/tcit#follows/2",
"actor":"https://social.tcit.fr/users/tcit"
},
"actor":"https://social.tcit.fr/users/tcit",
"id": "https://social.tcit.fr/users/tcit#follow/2/undo"
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"toot": "http://joinmastodon.org/ns#",
"sensitive": "as:sensitive",
"ostatus": "http://ostatus.org#",
"movedTo": "as:movedTo",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"atomUri": "ostatus:atomUri",
"Hashtag": "as:Hashtag",
"Emoji": "toot:Emoji"
}
],
"signature": {
"type": "RsaSignature2017",
"signatureValue": "Kn1/UkAQGJVaXBfWLAHcnwHg8YMAUqlEaBuYLazAG+pz5hqivsyrBmPV186Xzr+B4ZLExA9+SnOoNx/GOz4hBm0kAmukNSILAsUd84tcJ2yT9zc1RKtembK4WiwOw7li0+maeDN0HaB6t+6eTqsCWmtiZpprhXD8V1GGT8yG7X24fQ9oFGn+ng7lasbcCC0988Y1eGqNe7KryxcPuQz57YkDapvtONzk8gyLTkZMV4De93MyRHq6GVjQVIgtiYabQAxrX6Q8C+4P/jQoqdWJHEe+MY5JKyNaT/hMPt2Md1ok9fZQBGHlErk22/zy8bSN19GdG09HmIysBUHRYpBLig==",
"creator": "https://social.tcit.fr/users/tcit#main-key",
"created": "2018-02-17T13:29:31Z"
},
"type": "Undo",
"object": {
"type": "Follow",
"object": "http://localtesting.pleroma.lol/users/lain",
"nickname": "lain",
"id": "https://social.tcit.fr/users/tcit#follows/2",
"actor": "https://social.tcit.fr/users/tcit"
},
"actor": "https://social.tcit.fr/users/tcit",
"id": "https://social.tcit.fr/users/tcit#follow/2/undo"
}

2
test/fixtures/mobilizon-invite-activity.json vendored

@ -39,4 +39,4 @@
"uuid": "sc:identifier"
}
]
}
}

2
test/fixtures/mobilizon-join-activity.json vendored

@ -38,4 +38,4 @@
"uuid": "sc:identifier"
}
]
}
}

2
test/fixtures/mobilizon-leave-activity.json vendored

@ -38,4 +38,4 @@
"uuid": "sc:identifier"
}
]
}
}

160
test/fixtures/mobilizon-members-collection.json vendored

@ -1,84 +1,84 @@
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://litepub.social/litepub/context.jsonld",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://litepub.social/litepub/context.jsonld",
{
"Hashtag": "as:Hashtag",
"PostalAddress": "sc:PostalAddress",
"address": {
"@id": "sc:address",
"@type": "sc:PostalAddress"
},
"addressCountry": "sc:addressCountry",
"addressLocality": "sc:addressLocality",
"addressRegion": "sc:addressRegion",
"anonymousParticipationEnabled": {
"@id": "mz:anonymousParticipationEnabled",
"@type": "sc:Boolean"
},
"category": "sc:category",
"commentsEnabled": {
"@id": "pt:commentsEnabled",
"@type": "sc:Boolean"
},
"ical": "http://www.w3.org/2002/12/cal/ical#",
"joinMode": {
"@id": "mz:joinMode",
"@type": "mz:joinModeType"
},
"joinModeType": {
"@id": "mz:joinModeType",
"@type": "rdfs:Class"
},
"location": {
"@id": "sc:location",
"@type": "sc:Place"
},
"maximumAttendeeCapacity": "sc:maximumAttendeeCapacity",
"mz": "https://joinmobilizon.org/ns#",
"participationMessage": {
"@id": "mz:participationMessage",
"@type": "sc:Text"
},
"postalCode": "sc:postalCode",
"pt": "https://joinpeertube.org/ns#",
"repliesModerationOption": {
"@id": "mz:repliesModerationOption",
"@type": "mz:repliesModerationOptionType"
},
"repliesModerationOptionType": {
"@id": "mz:repliesModerationOptionType",
"@type": "rdfs:Class"
},
"sc": "http://schema.org#",
"streetAddress": "sc:streetAddress",
"uuid": "sc:identifier"
}
],
"attributedTo": "http://mobilizon.test/@demo",
"first": {
"attributedTo": "http://mobilizon.test/@demo",
"id": "http://mobilizon.test/@demo/members?page=1",
"orderedItems": [
{
"actor": "http://mobilizon.test/@tcit",
"id": "http://mobilizon.test/member/2fec2e84-5719-48f9-92bd-077f50ff2e6e",
"object": "http://mobilizon.test/@demo",
"role": "administrator",
"type": "Member"
},
{
"Hashtag": "as:Hashtag",
"PostalAddress": "sc:PostalAddress",
"address": {
"@id": "sc:address",
"@type": "sc:PostalAddress"
},
"addressCountry": "sc:addressCountry",
"addressLocality": "sc:addressLocality",
"addressRegion": "sc:addressRegion",
"anonymousParticipationEnabled": {
"@id": "mz:anonymousParticipationEnabled",
"@type": "sc:Boolean"
},
"category": "sc:category",
"commentsEnabled": {
"@id": "pt:commentsEnabled",
"@type": "sc:Boolean"
},
"ical": "http://www.w3.org/2002/12/cal/ical#",
"joinMode": {
"@id": "mz:joinMode",
"@type": "mz:joinModeType"
},
"joinModeType": {
"@id": "mz:joinModeType",
"@type": "rdfs:Class"
},
"location": {
"@id": "sc:location",
"@type": "sc:Place"
},
"maximumAttendeeCapacity": "sc:maximumAttendeeCapacity",
"mz": "https://joinmobilizon.org/ns#",
"participationMessage": {
"@id": "mz:participationMessage",
"@type": "sc:Text"
},
"postalCode": "sc:postalCode",
"pt": "https://joinpeertube.org/ns#",
"repliesModerationOption": {
"@id": "mz:repliesModerationOption",
"@type": "mz:repliesModerationOptionType"
},
"repliesModerationOptionType": {
"@id": "mz:repliesModerationOptionType",
"@type": "rdfs:Class"
},
"sc": "http://schema.org#",
"streetAddress": "sc:streetAddress",
"uuid": "sc:identifier"
"actor": "http://mobilizon2.com/@tcit",
"id": "http://mobilizon.test/member/13b0fc1e-2ceb-401c-bef7-0eba02fb92dc",
"object": "http://mobilizon.test/@demo",
"role": "member",
"type": "Member"
}
],
"attributedTo": "http://mobilizon.test/@demo",
"first": {
"attributedTo": "http://mobilizon.test/@demo",
"id": "http://mobilizon.test/@demo/members?page=1",
"orderedItems": [
{
"actor": "http://mobilizon.test/@tcit",
"id": "http://mobilizon.test/member/2fec2e84-5719-48f9-92bd-077f50ff2e6e",
"object": "http://mobilizon.test/@demo",
"role": "administrator",
"type": "Member"
},
{
"actor": "http://mobilizon2.com/@tcit",
"id": "http://mobilizon.test/member/13b0fc1e-2ceb-401c-bef7-0eba02fb92dc",
"object": "http://mobilizon.test/@demo",
"role": "member",
"type": "Member"
}
],
"partOf": "http://mobilizon.test/@demo/members",
"type": "OrderedCollectionPage"
},
"id": "http://mobilizon.test/@demo/members",
"totalItems": 2,
"type": "OrderedCollection"
}
"partOf": "http://mobilizon.test/@demo/members",
"type": "OrderedCollectionPage"
},
"id": "http://mobilizon.test/@demo/members",
"totalItems": 2,
"type": "OrderedCollection"
}