Compare commits
7 Commits
73bfac679a
...
74a3757e1e
Author | SHA1 | Date | |
---|---|---|---|
74a3757e1e | |||
|
3b00ad66c9 | ||
|
7997a10c29 | ||
|
0b6d21fe7a | ||
|
c934889b58 | ||
|
c4b997bc52 | ||
|
c6590415a3 |
16
CHANGELOG.md
16
CHANGELOG.md
|
@ -5,7 +5,17 @@ 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/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## 1.0.6 - 04-02-2020
|
## 1.0.7 - 27-02-2021
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed accessing group event unlogged
|
||||||
|
- Fixed broken redirection with Webfinger due to strict connect-src
|
||||||
|
- Fixed editing group discussions
|
||||||
|
- Fixed search form display
|
||||||
|
- Fixed wrong year in CHANGELOG.md
|
||||||
|
|
||||||
|
## 1.0.6 - 04-02-2021
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
@ -17,13 +27,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- Fixed sending events & posts to group followers
|
- Fixed sending events & posts to group followers
|
||||||
- Fixed redirection after deleting an event
|
- Fixed redirection after deleting an event
|
||||||
|
|
||||||
## 1.0.5 - 27-01-2020
|
## 1.0.5 - 27-01-2021
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed duplicate entries in search with empty search query
|
- Fixed duplicate entries in search with empty search query
|
||||||
|
|
||||||
## 1.0.4 - 26-01-2020
|
## 1.0.4 - 26-01-2021
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mobilizon",
|
"name": "mobilizon",
|
||||||
"version": "1.0.6",
|
"version": "1.0.7",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
|
|
@ -296,11 +296,9 @@ export default class Comment extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
get commentFromOrganizer(): boolean {
|
get commentFromOrganizer(): boolean {
|
||||||
return (
|
const organizerId =
|
||||||
this.event.organizerActor !== undefined &&
|
this.event?.organizerActor?.id || this.event?.attributedTo?.id;
|
||||||
this.comment.actor != null &&
|
return organizerId !== undefined && this.comment?.actor?.id === organizerId;
|
||||||
this.comment.actor.id === this.event.organizerActor.id
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get commentId(): string {
|
get commentId(): string {
|
||||||
|
|
|
@ -320,11 +320,9 @@ export default class CommentTree extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
get isEventOrganiser(): boolean {
|
get isEventOrganiser(): boolean {
|
||||||
return (
|
const organizerId =
|
||||||
this.currentActor.id !== undefined &&
|
this.event?.organizerActor?.id || this.event?.attributedTo?.id;
|
||||||
this.event.organizerActor !== undefined &&
|
return organizerId !== undefined && this.currentActor?.id === organizerId;
|
||||||
this.currentActor.id === this.event.organizerActor.id
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get areCommentsClosed(): boolean {
|
get areCommentsClosed(): boolean {
|
||||||
|
@ -335,7 +333,7 @@ export default class CommentTree extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
get isAbleToComment(): boolean {
|
get isAbleToComment(): boolean {
|
||||||
if (this.currentActor && this.currentActor.id) {
|
if (this.currentActor?.id) {
|
||||||
return this.areCommentsClosed || this.isEventOrganiser;
|
return this.areCommentsClosed || this.isEventOrganiser;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -578,7 +578,7 @@ export default class EditEvent extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
private getDefaultActor() {
|
private getDefaultActor() {
|
||||||
if (this.event.organizerActor && this.event.organizerActor.id) {
|
if (this.event.organizerActor?.id) {
|
||||||
return this.event.organizerActor;
|
return this.event.organizerActor;
|
||||||
}
|
}
|
||||||
return this.currentActor;
|
return this.currentActor;
|
||||||
|
@ -724,7 +724,7 @@ export default class EditEvent extends Vue {
|
||||||
get isCurrentActorOrganizer(): boolean {
|
get isCurrentActorOrganizer(): boolean {
|
||||||
return !(
|
return !(
|
||||||
this.eventId &&
|
this.eventId &&
|
||||||
this.event.organizerActor &&
|
this.event.organizerActor?.id !== undefined &&
|
||||||
this.currentActor.id !== this.event.organizerActor.id
|
this.currentActor.id !== this.event.organizerActor.id
|
||||||
) as boolean;
|
) as boolean;
|
||||||
}
|
}
|
||||||
|
@ -821,19 +821,17 @@ export default class EditEvent extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
get attributedToEqualToOrganizerActor(): boolean {
|
get attributedToEqualToOrganizerActor(): boolean {
|
||||||
return (this.event.organizerActor &&
|
return (this.event.organizerActor?.id !== undefined &&
|
||||||
this.event.attributedTo &&
|
this.event.attributedTo?.id === this.event.organizerActor?.id) as boolean;
|
||||||
this.event.attributedTo.id === this.event.organizerActor.id) as boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build variables for Event GraphQL creation query
|
* Build variables for Event GraphQL creation query
|
||||||
*/
|
*/
|
||||||
private async buildVariables() {
|
private async buildVariables() {
|
||||||
this.event.organizerActor =
|
this.event.organizerActor = this.event.organizerActor?.id
|
||||||
this.event.organizerActor && this.event.organizerActor.id
|
? this.event.organizerActor
|
||||||
? this.event.organizerActor
|
: this.currentActor;
|
||||||
: this.currentActor;
|
|
||||||
let res = this.event.toEditJSON();
|
let res = this.event.toEditJSON();
|
||||||
if (this.event.organizerActor) {
|
if (this.event.organizerActor) {
|
||||||
res = Object.assign(res, {
|
res = Object.assign(res, {
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
/>
|
/>
|
||||||
</b-field>
|
</b-field>
|
||||||
<b-field :label="$t('Radius')" label-for="radius">
|
<b-field :label="$t('Radius')" label-for="radius">
|
||||||
<b-select v-model="radius" id="radius">
|
<b-select v-model="radius" id="radius" expanded>
|
||||||
<option
|
<option
|
||||||
v-for="(radiusOption, index) in radiusOptions"
|
v-for="(radiusOption, index) in radiusOptions"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
@ -42,7 +42,12 @@
|
||||||
</b-select>
|
</b-select>
|
||||||
</b-field>
|
</b-field>
|
||||||
<b-field :label="$t('Date')" label-for="date">
|
<b-field :label="$t('Date')" label-for="date">
|
||||||
<b-select v-model="when" id="date" :disabled="activeTab !== 0">
|
<b-select
|
||||||
|
v-model="when"
|
||||||
|
id="date"
|
||||||
|
:disabled="activeTab !== 0"
|
||||||
|
expanded
|
||||||
|
>
|
||||||
<option
|
<option
|
||||||
v-for="(option, index) in options"
|
v-for="(option, index) in options"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
@ -463,5 +468,16 @@ form {
|
||||||
::v-deep .field label.label {
|
::v-deep .field label.label {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.field.is-expanded:last-child > .field-body > .field.is-grouped {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex: 1;
|
||||||
|
.field {
|
||||||
|
flex: 1 0 auto;
|
||||||
|
&:first-child {
|
||||||
|
flex: 3 0 300px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -43,7 +43,8 @@ defmodule Mobilizon.Discussions do
|
||||||
:replies,
|
:replies,
|
||||||
:tags,
|
:tags,
|
||||||
:mentions,
|
:mentions,
|
||||||
:discussion
|
:discussion,
|
||||||
|
:media
|
||||||
]
|
]
|
||||||
|
|
||||||
@discussion_preloads [
|
@discussion_preloads [
|
||||||
|
|
|
@ -52,8 +52,9 @@ defmodule Mobilizon.Web.Plugs.HTTPSecurityPlug do
|
||||||
|
|
||||||
media_src = ["media-src 'self' "] ++ Config.get([:http_security, :csp_policy, :media_src])
|
media_src = ["media-src 'self' "] ++ Config.get([:http_security, :csp_policy, :media_src])
|
||||||
|
|
||||||
|
# Connect-src is available for any origin because of webfinger query to redirect to content
|
||||||
connect_src =
|
connect_src =
|
||||||
["connect-src 'self' blob: ", static_url, ?\s, websocket_url] ++
|
["connect-src 'self' * blob: ", static_url, ?\s, websocket_url] ++
|
||||||
Config.get([:http_security, :csp_policy, :connect_src])
|
Config.get([:http_security, :csp_policy, :connect_src])
|
||||||
|
|
||||||
script_src =
|
script_src =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user