Skip to content

Commit b6f8058

Browse files
authored
Merge pull request #8781 from fossasia/development
Merge dev to master
2 parents 1da36fc + 613710f commit b6f8058

File tree

41 files changed

+14620
-1668
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+14620
-1668
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,4 @@ updates:
101101
- dependency-name: "@babel/core"
102102
versions:
103103
- 7.13.0
104-
- 7.13.1
104+
- 7.13.1

.github/workflows/ci.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ jobs:
5454
needs: install
5555
runs-on: ubuntu-latest
5656
steps:
57-
- uses: actions/checkout@v2
58-
with:
59-
fetch-depth: 0
57+
- uses: actions/checkout@v3
58+
- name: Copy .env
59+
run: cp '.env.example' '.env'
6060
- name: Setup Node.js
6161
uses: actions/setup-node@v1
6262
with:
@@ -69,8 +69,6 @@ jobs:
6969
# no restore-keys here, so we only accept this exact version
7070
- run: yarn l10n:generate
7171
- run: COVERAGE=true yarn test
72-
env:
73-
API_HOST: https://open-event.dokku.fossasia.org
7472
- name: Code Coverage
7573
uses: codecov/codecov-action@v1
7674

.github/workflows/docker-hub.yml

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,37 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
-
16-
name: Login to DockerHub
17-
# The job will terminate early if Docker Hub credentials is not set.
18-
uses: docker/login-action@v1
16+
name: Checkout
17+
uses: actions/checkout@v3
18+
-
19+
name: Docker meta
20+
uses: docker/metadata-action@v4
21+
id: meta
22+
with:
23+
images: |
24+
eventyay/open-event-frontend
25+
tags: |
26+
type=ref,event=branch
27+
type=ref,event=pr
28+
type=semver,pattern={{version}}
29+
type=semver,pattern={{major}}.{{minor}}
30+
-
31+
name: Login to Docker Hub
32+
uses: docker/login-action@v2
1933
with:
2034
username: ${{ secrets.DOCKERHUB_USERNAME }}
2135
password: ${{ secrets.DOCKERHUB_TOKEN }}
2236
-
23-
name: Set up Docker Buildx
24-
uses: docker/setup-buildx-action@v1
37+
name: Set up QEMU
38+
uses: docker/setup-qemu-action@v2
2539
-
26-
name: Docker meta
27-
uses: docker/metadata-action@v3
28-
id: meta
29-
with:
30-
images: eventyay/open-event-frontend
40+
name: Set up Buildx
41+
uses: docker/setup-buildx-action@v2
3142
-
32-
name: Build
33-
id: docker_build
34-
uses: docker/build-push-action@v2
43+
name: Build and push
44+
uses: docker/build-push-action@v4
3545
with:
36-
push: true
46+
context: .
47+
push: ${{ github.event_name != 'pull_request' }}
3748
tags: ${{ steps.meta.outputs.tags }}
3849
labels: ${{ steps.meta.outputs.labels }}
39-
-
40-
name: Image digest
41-
run: echo ${{ steps.docker_build.outputs.digest }}

.gitpod.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ image:
44
tasks:
55
- name: setup
66
init: |
7+
nvm install 14
8+
nvm use 14
79
yarn
810
cp .env.example .env
911
yarn l10n:generate

Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
FROM node:14-alpine3.11 as builder
1+
FROM node:14-alpine as builder
22

33
WORKDIR /app
44

5-
RUN apk add git python2-dev make g++ gettext
5+
RUN apk add git python3-dev make g++ gettext
66

77
COPY package.json yarn.lock ./
88

@@ -18,9 +18,9 @@ RUN yarn l10n:generate && \
1818
JOBS=1 yarn build -prod
1919

2020
##
21-
##
2221

23-
FROM node:14-alpine3.11
22+
FROM node:14-alpine
23+
2424

2525
WORKDIR /fastboot
2626

@@ -36,8 +36,8 @@ RUN apk add --no-cache ca-certificates nginx && \
3636
COPY scripts/* ./scripts/
3737
COPY config/environment.js ./config/
3838

39-
RUN mkdir -p /etc/nginx/conf.d/
40-
COPY config/nginx.conf /etc/nginx/conf.d
39+
RUN mkdir -p /etc/nginx/http.d/
40+
COPY config/nginx.conf /etc/nginx/http.d/
4141
RUN mkdir -p /run/nginx
4242

4343
EXPOSE 4000

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@
1414

1515
The front end for the **Open Event Server**
1616

17-
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
18-
1917
**API Documentation:**
2018

21-
- Every installation of the **Open Event Server** project includes API docs, (e.g. here on the test install [https://open-event.dokku.fossasia.org](https://open-event.dokku.fossasia.org)).
19+
- Every installation of the **Open Event Server** project includes API docs
2220
- A hosted version of the API docs is available in the `gh-pages` branch of the **Open Event Server** repository at [http://api.eventyay.com](http://api.eventyay.com)
2321

2422
## Communication
@@ -78,7 +76,7 @@ It consumes the API exposed by master branch deployment of open event server, ho
7876
#### Development branch
7977

8078
The **development** branch of open-event-frontend gets deployed at [https://open-event-frontend.now.sh/](https://open-event-frontend.now.sh/)
81-
It consumes the API exposed by development branch of open event server, hosted at [https://open-event.dokku.fossasia.org](https://open-event.dokku.fossasia.org)
79+
It consumes the API exposed by development branch of open event server, hosted at [https://test.eventyay.com](https://test.eventyay.com)
8280

8381
### Release Cycle
8482

app/components/forms/events/view/videoroom-form.hbs

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,16 +95,14 @@
9595
{{#if (or (eq this.data.stream.videoChannel.provider 'youtube') (eq this.data.stream.videoChannel.provider 'vimeo'))}}
9696
<div class="field">
9797
<label for="public_name">
98-
{{t 'Autoplay'}}
98+
{{t 'Autoplay'}}
9999
</label>
100100
<UiCheckbox
101101
class="toggle"
102102
@checked={{this.data.stream.extra.autoplay}}
103103
@onChange={{action (mut this.data.stream.extra.autoplay)}} />
104-
</div>
105-
<div class="field">
106104
<label for="public_name">
107-
{{t 'Loop'}}
105+
{{t 'Loop'}}
108106
</label>
109107
<UiCheckbox
110108
class="toggle"
@@ -159,6 +157,27 @@
159157
</div>
160158
{{/if}}
161159

160+
{{#if (eq this.data.stream.videoChannel.provider 'jitsi')}}
161+
<div class="field">
162+
<label>
163+
{{t 'Mute On Start'}}
164+
</label>
165+
<UiCheckbox
166+
class="toggle"
167+
@checked={{this.data.stream.extra.jitsi_options.muteOnStart}}
168+
@onChange={{action this.toggleJitsiMuteOnStart}} />
169+
</div>
170+
<div class="field">
171+
<label>
172+
{{t 'Hide Cam On Start'}}
173+
</label>
174+
<UiCheckbox
175+
class="toggle"
176+
@checked={{this.data.stream.extra.jitsi_options.hideCamOnStart}}
177+
@onChange={{action this.toggleHideCamOnStart}} />
178+
</div>
179+
{{/if}}
180+
162181
{{#if (and showUpdateOptions (and this.data.stream.id this.actualBBBExtra))}}
163182
<div class="ui divider"></div>
164183
<div class="grouped fields">

app/components/forms/events/view/videoroom-form.js

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ const bbb_options = {
1515
endCurrentMeeting : false
1616
};
1717

18+
const jitsi_options = {
19+
muteOnStart : false,
20+
hideCamOnStart : false
21+
};
22+
1823
@classic
1924
export default class VideoroomForm extends Component.extend(FormMixin) {
2025
@service confirm;
@@ -155,6 +160,7 @@ export default class VideoroomForm extends Component.extend(FormMixin) {
155160
const identifier = this.streamIdentifier;
156161

157162
this.data.stream.set('url', channel.get('url') + '/eventyay/' + identifier);
163+
this.data.stream.set('extra', { jitsi_options });
158164

159165
this.integrationLoading = true;
160166

@@ -200,10 +206,7 @@ export default class VideoroomForm extends Component.extend(FormMixin) {
200206
}
201207

202208
addLibre(channel) {
203-
this.data.stream.set(
204-
'url',
205-
channel.get('url')
206-
);
209+
this.data.stream.set('url', channel.get('url'));
207210
}
208211

209212
add3cx() {
@@ -288,6 +291,18 @@ export default class VideoroomForm extends Component.extend(FormMixin) {
288291
}
289292
}
290293

294+
@action
295+
async toggleJitsiMuteOnStart() {
296+
this.data.stream.extra.jitsi_options.muteOnStart
297+
= !this.data.stream.extra.jitsi_options.muteOnStart;
298+
}
299+
300+
@action
301+
async toggleHideCamOnStart() {
302+
this.data.stream.extra.jitsi_options.hideCamOnStart
303+
= !this.data.stream.extra.jitsi_options.hideCamOnStart;
304+
}
305+
291306
@action
292307
async toggleMuteOnStart() {
293308
this.data.stream.extra.bbb_options.muteOnStart
@@ -416,6 +431,11 @@ export default class VideoroomForm extends Component.extend(FormMixin) {
416431
}
417432
this.loadRecordings();
418433
}
434+
if (this.data.stream.videoChannel.get('provider') === 'jitsi') {
435+
if (!this.data.stream.extra?.jitsi_options) {
436+
this.set('extra', { jitsi_options });
437+
}
438+
}
419439
if (
420440
this.data.stream.extra === null
421441
&& ['vimeo', 'youtube'].includes(

app/components/forms/orders/order-form.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -493,12 +493,7 @@ export default Component.extend(FormMixin, {
493493
},
494494
taxBusinessInfo: {
495495
identifier : 'taxBusinessInfo',
496-
rules : [
497-
{
498-
type : 'empty',
499-
prompt : this.l10n.t('Please enter your Tax ID or Business ID.')
500-
}
501-
]
496+
optional : true
502497
},
503498
address: {
504499
identifier : 'address',

app/components/public/add-to-calender.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,16 @@ export default class AddToCalender extends Component<Args> {
9898

9999
get sessionGoogleUrl(): string {
100100
const { event } = this.args;
101-
return 'https://calendar.google.com/calendar/render?cid=webcal://api.eventyay.com/v1/events/' + event.identifier + '.ics?include_sessions';
101+
let host = this.loader.host();
102+
host = host.replace('https://', '')
103+
return 'https://calendar.google.com/calendar/render?cid=webcal://' + host + '/v1/events/' + event.identifier + '.ics?include_sessions';
102104
}
103105

104106
get mySessionGoogleUrl(): string {
105107
const { event } = this.args;
106-
return 'https://calendar.google.com/calendar/render?cid=webcal://api.eventyay.com/v1/events/' + event.identifier + encodeURIComponent('.ics?include_sessions&my_schedule&user_id=') + this.authManager.currentUser.id;
108+
let host = this.loader.host();
109+
host = host.replace('https://', '');
110+
return 'https://calendar.google.com/calendar/render?cid=webcal://' + host + '/v1/events/' + event.identifier + encodeURIComponent('.ics?include_sessions&my_schedule&user_id=') + this.authManager.currentUser.id;
107111
}
108112

109113
get mySessioniCalUrl(): string {

0 commit comments

Comments
 (0)