Code Monkey home page Code Monkey logo

ensembler's People

Contributors

dependabot[bot] avatar lexler avatar tedyoung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ensembler's Issues

Send "scheduled" notification even when video conference creation fails

Right now, if the EnsembleService gets a FailedToScheduleMeeting exception, it never sends notifications that the Ensemble was scheduled. Even if the video conference is created later (via the changeTo), no notification is sent.

  • 1. send notification regardless of whether the Zoom is created or not.
  • 2. send notification about change in information for those who Accepted (so they get the right Zoom link)

Constrain Editing of existing Ensembles

For future ensembles: only allow editing of Name, Zoom link, and date/time.

For past (but not completed) ensembles: only allow editing of Name

For completed ensembles: edit only video recording link

Add Time Zone ๐Ÿ˜ญ to the Member's Profile

Initially for sending emails, need to localize the date/time included in "registration confirmation" and "new huddle created" emails.

Editable on the profile edit page.

Get initial value from the browser when registering.

Send full Ensemble to Notifier

Instead of pieces:

int ensembleScheduled(String description, URI registrationLink);

send the whole Huddle so we can get other info, such as date/time, to add to notifications. Use the Member's Time Zone to convert.

Constrain Existing Editing of Ensembles

Name: may not allow edits after Completed

Start Date/Time changes not allowed:

  • New Date/Time in the past
  • For events that are in the past -- must use Reschedule
  • For Completed

Zoom API: Use Passcode and not Waiting Room

When using the API to create a Zoom meeting, apparently I'm using "waiting room" as the security measure and I should be using the "passcode" option. Set the default_password setting to true.

Reschedule Ensemble

Sends notification

This is really a Cancel + Create shortcut as those who registered for the original date/time should not already be registered.

Later: prioritize those who already registered to be able to register for the rescheduled one.

Accepted Member Notification of Ensemble Completed (Recording Available)

After the recent fix for #11, all emails now get sent with recipients emails in BCC. For direct email notifications, such as registration confirmation, there's only one recipient.

These are group notifications: New Ensemble Scheduled, and Ensemble Recording Available.

This is an individual notification: Registration Confirmation

Send group emails using BCC not TO

For notifications such as the "new ensemble", put recipients in the BCC list, not the TO list, so we don't unintentionally expose emails to others.

Some unit tests fail for non-english locale

The following unit tests fail on my local machine (which is located in Austria):

  • membersInDifferentTimeZonesGetCustomizedEnsembleScheduledEmail
  • memberWithEmailWhenEnsembleScheduledThenCustomEmailSentToMember
  • memberWithEmailAcceptsThenEmailSentToMemberWithEnsembleDetails

Here's an example of one of the assertion errors:

java.lang.AssertionError: 
Expecting actual:
  ["Ensembler: New Ensemble Scheduled for 2021-12-17 at 1:00pm (GMT-08:00)",
    "Ensembler: New Ensemble Scheduled for 2021-12-17 at 4:00pm (GMT-05:00)"]
to contain exactly (and in same order):
  ["Ensembler: New Ensemble Scheduled for 2021-12-17 at 1:00PM (PST)",
    "Ensembler: New Ensemble Scheduled for 2021-12-17 at 4:00PM (EST)"]
but some elements were not found:
  ["Ensembler: New Ensemble Scheduled for 2021-12-17 at 1:00PM (PST)",
    "Ensembler: New Ensemble Scheduled for 2021-12-17 at 4:00PM (EST)"]
and others were not expected:
  ["Ensembler: New Ensemble Scheduled for 2021-12-17 at 1:00pm (GMT-08:00)",
    "Ensembler: New Ensemble Scheduled for 2021-12-17 at 4:00pm (GMT-05:00)"]


	at com.jitterted.mobreg.adapter.out.email.EmailToSendEnsembleScheduledNotifierTest.membersInDifferentTimeZonesGetCustomizedEnsembleScheduledEmail

Possible fix

The tests pass if I change the DateTimeFormatter setup in EmailNotifier to contain a specific locale:

private static final DateTimeFormatter LONG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("LLLL d, uuuu 'at' h:mma (zzz)", Locale.ENGLISH);
private static final DateTimeFormatter SHORT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' h:mma (zzz)", Locale.ENGLISH);

However, I don't know how you would like to approach this. I suppose, you might want to hard-code English for now?

Test Failure: Precision of LocalDateTime comparison with PostgreSQL

Can't reproduce locally.

Error: Failures:
Error: PostgresqlEntityTest.huddleEntityStoredViaJdbcIsRetrievedWithMembers:63
Expecting:
com.jitterted.mobreg.adapter.out.jdbc.HuddleEntity@feb57b4
to be equal to:
com.jitterted.mobreg.adapter.out.jdbc.HuddleEntity@7893b8c
when recursively comparing field by field, but found the following difference:

field/property 'dateTimeUtc' differ:

  • actual value : 2021-10-27T23:22:14.995996 (java.time.LocalDateTime)
  • expected value : 2021-10-27T23:22:14.995996225 (java.time.LocalDateTime)

Design: Multiple groups, priority for accepting, etc.

Question: do I need anything more than the current Set<String> roles? Or can this support:

  1. Priority for registration: higher "tiers" can Accept before lower tiers
  2. Define which Ensemble groups Member is eligible to see
  3. Wait list priority

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.