This is the code for the Brave Talk for Calendars browser extension, originally based on https://github.com/jitsi/jidesha.
Learn more about Brave Talk at https://brave.com/talk/.
npm install
npm run build
After building, the extension files are located in the /dist
directory.
- Navigate to brave://extensions.
- Enable Developer Mode.
- Click on Load unpacked and choose the
/dist
directory. - Visit a supported calendar like Google Calendar, Proton Calendar, or Skiff Calendar.
- When creating a new event, look for the option to add a Brave Talk meeting.
- Validate the calendar recognition.
- Ensure the Brave Talk button's position and status are correct.
- Check if the scheduled Brave Talk meeting's URL is present in the event details.
- Confirm the URL's persistence in event details post-refresh.
- Evaluate the Brave Talk button's functions:
- It should schedule a meeting when none exists.
- If a meeting exists, it should provide access to the meeting URL.
- Monitor the Brave Talk button's status changes:
- It should show "Join the meeting" upon adding a meeting.
- It should revert to "create a meeting" once a meeting is removed.
Tests run against live calendars. Therefore, create a .env
file at the project's root, populating it with the credentials of the calendar you're testing. Here's a template:
# Google Details
GOOGLE_AUTH_URL="https://accounts.google.com"
GOOGLE_USERNAME="…"
GOOGLE_PASSWORD="…"
GOOGLE_RECOVERY_PHONE_NUMBER="…"
GOOGLE_STAY_SIGNED_IN="false"
# Proton Details
PROTON_AUTH_URL="https://calendar.proton.me"
PROTON_USERNAME="…"
PROTON_PASSWORD="…"
PROTON_STAY_SIGNED_IN="false"
# Skiff Details
SKIFF_AUTH_URL="https://app.skiff.com/calendar/"
SKIFF_USERNAME="…"
SKIFF_PASSWORD="…"
SKIFF_STAY_SIGNED_IN="false"
Note: You may use the
.env.example
template provided. Rename it to.env
and modify as needed.
Run the tests using Puppeteer:
npm install
npm run build
npm run test # For all calendars
# Or specify a calendar:
npm run test skiff
npm run test proton