VRMS
VRMS copied to clipboard
Bug: Users Cannot Check In
Overview
Currently, users cannot check in to VRMS when visiting www.vrms.io. There is no check in button available for a user to select and check in to VRMS.
Desired behavior for the meeting check-in is to allow people to check in to a meeting 30 min before starts and 30 min after the meeting ends
Action Items
- [x] Check to see what the current behavior is. Look into events created
- [x] Move the following issue from Icebox to In Progress and self assign. Use it to check if Guides team check in is working properly and communicate with stakeholder after fix: https://github.com/hackforla/VRMS/issues/1530
Resources/Instructions
See attached screenshot of existing VRMS landing page.
Screenshot from www.vrms.io
Screenshot from dev.vrms.io
Bonnie tried to have people check in during onboarding today and there were no events that were "Check-in ready" that showed up
Trillium and I are doing a bug fix on sat july 15 at 2:15
Dev lead steps for proceeding
- Create an outline on how the events are opened and closed.
- Write unit test for each function to confirm they are operating properly.
@Spiteless Please provide update
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures or links* (if necessary): "Add any pictures or links that will help illustrate what you are working on."
- remember to add links to the top of the issue if they are going to be needed again.
@Spiteless @JackHaeg this issue needs an update every week (as do other issues). But this one will get more scrutiny because the stakeholder (guides team) is looking at it. Please update us with the following
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures or links* (if necessary): "Add any pictures or links that will help illustrate what you are working on."
- remember to add links to the top of the issue if they are going to be needed again.
Progress
- In active exploration of how recurring events are created, opened, closed within the system
- In progress on refactor of functions within createRecurringEvents.js to make them testable
Blockers
- Original code feels difficult to understand, needs to be refactored to allow for proper testing.
- Also don't know how cron jobs work for this project, I am concerned that refactoring things will result in the cron job breaking somehow
Availability
- 6 hours
ETA
- Draft PR by next week, resolved by following week
Pictures or links
- None at this time
- See duplicate issue for additional info on past work related to this bug: https://github.com/hackforla/VRMS/issues/1376
Issue has been re-opened after QA test on dev website. Currently, the event times listed under “Recurring Events” do not appear to match up to the “Manually Edit Events Checkin” times.
See screenshot below (note that the time for GMX Thursday 2pm should be 2-3:30pm, however under "Manual Edit Events Checkin", the times listed are 1-2pm):
Clarifications from @bonniewolfe
It's okay to assume all events are on Los Angeles timezone Right now events are appearing off by one hour due to Daylight Savings Time, will be fixed in a later bug fix
@Spiteless is still working on it, is confident that he can solve it without much more work. - discussed during all team meeting 11/27/23
Re-opening issue due to the fact that event check-ins are still displaying at the incorrect times. Recommend investigating database entries for events and exploring next steps.
- Notably, today (Monday Feb 12, 2024) a number of events are listed as available for check in that are scheduled to take place on Tuesday. Further, a number of events scheduled for today (Monday) have not been displayed correctly (see screenshot for more info)
Check In Screenshot Monday 2/12/2024
Screenshot from database for Home Unite US ALL
Note that Josh updated the database for Home Unite US ALL
Checkin displays wrong time
Also, note that Check In time discrepancies have been observed to be larger than a 1 hour discrepancy as shown in the comment above. In certain cases, the checkin times are shown as more than 1 day early.
For example, the "Onboarding" project shows check in times 25 hours early. (expected = Monday at 6-9pm PST | Actual = Sunday 5-8pm PST)
Onboarding Project Screenshot - 2024-02-20 5:38pm PST
Sorry this is taking so long. I think I finally found the true culprit of the issue:
// client/src/components/manageProjects/utilities/findNextDayOccuranceOfDay.js
export const findNextOccuranceOfDay = (dayOfTheWeek) => {
/***
This takes the number of the day of the week - with Sunday
being day 0 - and returns a Data object with the next
occurance of that day
***/
let day = parseInt(dayOfTheWeek);
const date = new Date(); // < --------------- This line
date.setDate(date.getDate() + ((7 - date.getDay()) % 7 + day) % 7);
return date;
}
Stemming from
// client/src/components/manageProjects/editMeetingTimes.js
if (values.day) {
const date = findNextOccuranceOfDay(values.day);
const dateGMT = new Date(date).toISOString();
theUpdatedEvent = {
...theUpdatedEvent,
date: dateGMT,
};
}
What's supposed to happen:
- Form checks to see if the
.day
value has changed - Triggers a day update
- Day updates to next occurance of that week day (numbers 0 - 6)
- Recurring event is built from updated
.date
info
What's happening:
- Form checks to see if the
.day
value has changed - Triggers a day update
- Util function creates a new
date
from current time - Day updates to next occurance of that week day (numbers 0 - 6)
- Date is never filled in with previous event date information, overwrites all previous info
- Recurring event is built from updated
.date
info
How to fix it
We need to bring in the functions that are used to make createMeetingTimes to resolve this frontend issue
As of 2024-04-08:
- Onboarding Event was not generated on time, was only generated as of 7pm Pacific time (At the time of the event). Also, the event was not automatically available for check in to the users, had to be enabled manually.
- All events have been manually "updated"
- Current Issues:
- Daylight savings time causing events to be out of schedule by an hour (need backend fix to generate correct event times from previous timezone data).
- Inconsistent auto-enabled check ins for recurring events (sometimes enabled for check in, sometimes not).
- Event not generating on time
@Spiteless Please add next steps re: fiddling with service workers / writing & running tests
@Spiteless Please add next steps re: fiddling with service workers / writing & running tests