Release Notes, 2020

November 25, 2020 - version 2.20.74 - Ongoing maintenance and feature updates

Here you go!

  • Make it clear to the developer (me) that we aren’t using the bundled meeting js
  • Improve the pre-meeting notes so it doesn’t break stuff
  • Clean up the special-case logic for a google_event PATCH of the meeting source at the meetings resource URL
  • Fix the JS error when clicking on the meeting template agenda tabs.
  • Auto-update the Record tab on the meeting home.
  • Update locally-added agenda items in Notes tab -- no more blank items
  • Update Notes tab on meeting home based on incoming changes
  • Wrap a try/catch around the lucid_api_v1_events routine.
  • Super minor tweak on meeting report.
  • Correct path to windows timezone mapper in a few module_load_include calls
  • Slight tweak to API to only show organization rooms you can access.

October 22, 2020 - version 2.20.70 - Ongoing maintenance and feature updates

Let's see what we've been up to over the past several weeks. Overall I'd say these are mostly about improving the UX flow to remove friction points. There are a couple of minor features, but they all fall under the "make it easy for people" rubric.

  • Simplify the signin process for people invited to meetings via Outlook (primarily)
  • Fix a preventDefault issue I introduced with late-loading tables of people in rooms and accounts.
  • Restore AIs to the meeting record agenda items, treat note and AI display more uniformly, tighten up spacing.
  • Work to remove double encoding of meeting names on the calendar displays.
  • Restore correct descriptive string to Outlook add-in manifest, v 2.2.1
  • Add Outlook add-in version 2.2.1
  • Some tightening / cleaning up of the meeting record.
  • In meeting tweak for the prev/next buttons.
  • Add a Notes tab to pending (not started) meetings.

September 25, 2020 - version 2.20.64 - Ongoing maintenance and feature updates

This is mainly a quality of service update, with improvements to the global site activity reporting, restoration of some user-critical paths for action item interaction, and some UX optimization.

* Quality tweaks on the AI Edit button styling and single quote removal on the calendars.
* Tweak the display of action item status badge (tags) with a bit of top margin.
* Restore edit-in-place for dashboard AIs, plus a couple tweaks.
* Allow enterprise admins to replace or add guides to the support menu.

* Do not present inactive rooms for user role assignment.
* Do not present inactive rooms as viable scheduling targets.

* Add documents to the site-level charts in the site manager.

* More improvements to the site activity charts.
* WIP on site manager activity graphs.
* WIP on site activity reports -- add timeframe selector.
* WIP on improving site activity charts.

September 21, 2020 - version 2.20.59 - Ongoing maintenance and feature updates

 

The most notable improvements in this update are:

1) Better results for SOLR full-text document searching

2) Mute Turbobridge callers by default when joining a meeting call

3) A few updates to the Site Manager for enterprise admins

The details:

* Convert system usage charts from monthly to weekly and set the timeframe to 60 days.
* Allow enterprise admins to get/set the site email address.
* Extended the muted-by-default to update existing bridges when the meeting starts.
* Make the full-text search results more forgiving in the case of invalid unicode and the like (case 11151)
* Use multibyte-safe substr when creating abstracts in full text search (case 11151)
* Fix malformed html textarea markup that caused the recess widget to fail on D6.54
* Mute Turbobridge callers by default when they join a conference.
* Updates to o365 addin icons per MS review
* Improve our modifications to the HTML5 elements module.
* Clean up the logging of SOLR errors in the case of a 403 from s3.
* Indexing improvements
* Simplify indexer's access to s3 by using s3_key field.
* Do not redirect anonymous users to the login page (user page instead).
* Fix some to/from specifiers for Pandoc.

September 6, 2020 - version 2.20.56 - Ongoing maintenance and feature updates

Summary:

 * Brandable meeting record exports (PDF) with custom headers and logo

 * Improve the first-time user experience

 * Improve client-side validation for various user interactions

 * Miscellaneous bug fixes and improvements

Change details:

* Restore the ability to toggle notes and action items between each type.
* Terminology update.
* Move note and todo delete onto the object view.
* A bit more to transition a few links from nouns to verbs.
* Improve the room filter display for user global records.
* Remove vestiges of the click-to-edit for notes, etc.
* Allow site managers to change the site name.

* Slight style tweak to accommodate dark mode.

* In-meeting display tweaks.
* Slight lucifier optimization tweak for dashboard event calendars.
* Make the user Tag records display consistent with the Notes display.

* Fix some to/from specifiers for pandoc.
* Needed to add a can_add_organization gate on a couple links.
* Some logos are shorter than 90px, so don’t force the height to 90 (use max-height).
* Add messaging about upgrading to a paid account for logo-branded records.
* Wording tweak for the Teams / Individual Plan.
* Some billing plan name swizzling.
* Make it easier for new users to add their first meeting.
* Do not notify myself if I’ve just muted myself (case 11141).
* Fix improper string comparison to use === instead of == (case 11140).
* Fix a typo in the account pdf export settings.
* Merge
* Get fallback defaults properly on account pdf settings form
* Fix a 500 error that occurred when a user rescheduled a meeting series so all events were in the past.
* Create a replace-drupal-core script that does what it says.
* Create patches for the bootstrap.inc check_plain() changes.
* Itsy bitsy bling on the signin page.
* Apply wordsmithing changes to the sign-in and password reset pages.
* Just a slight wording tweak on sign in page.
* I accidentally put a few default English strings in Spanish on my dev site. Oops.
* Fixed some wording and behaviorial consistency on the password reset page.
* Let’s try adding HTML5 client-side validation for required fields.
* Slight messaging tweak on the sign in page.
* Tweaks to the sign-in, sign-up, password reset language on those pages.
* Starting to work on the new Guest log-in issue.
* Remove the first_name token from the new user activation email because we often don’t have a first name and the fallback is ugly.
* Very minor WIP on pandoc conversion to XXX (pdf).
* Added a user display option that allows people to set their own DB query limit.
* Add a comment so I remember why we did a certain thing.
* Hide the actions column on phone for user note and tag records.

August 19, 2020 - version 2.20.53 - Ongoing maintenance and feature updates

This update includes a handful of small changes and a re-enabling of screen sharing by Glance in some browsers. Glance is now supported on Mac OS and Windows in chromium-based browsers (including the new Microsoft Edge), and in IE 11. 

  • Replaced the word "View" with "Visit" in links to rooms or meetings.
  • Temporarily disable edit in-place for notes and action items in various large listings.
  • Add room selection to the pagination widget for the user records list.
  • Fix bug that prevented non-manager meeting facilitators from starting a meeting. 
  • Sort some lists by time of item creation, rather than update time.
  • Update the Glance screen-share integration, and restore the "Set up screen sharing" button within a meeting, for presenters and facilitators using supported browsers.

August 10, 2020 - version 2.20.51 -- Ongoing maintenance and feature updates

This update is primarily focused on improved interactivity with larger data sets (of all sorts of data).  Lots of attention on loading data as called for, vs. preloading for quicker user interaction, simplification of some data displays, and some additional data views. In addition you'll find the usual set of minor fixes and polishing.

August 5, 2020 - version 2.20.49 -- Ongoing maintenance and feature updates

 A few small functional delighters, plus continuing our focus on extending the API to support the full range of synchronizer needs AND work on UI performance for large data collections.

July 31, 2020 - version 2.20.48 -- Ongoing maintenance and feature updates

Besides the usual quality fixes, the main development theme remains pulling all the Office 365 synchronizer pieces into place.

* Big WIP on loading room tabbed content on click, rather than preload.
* Add version 2.1.9 Outlook add-in
* merge akf into default (Rework "Edit Meeting Series Schedule" form)
Performance tuning while looking at data fetches from Lucifier.
* Disable the FC global drag listener so we can properly edit dashboard notes and AIs.
* Remove the cache prefetch initialization.
* Lucifier: only preload the core entities updated within the past 90 days on startup.
* Ensure we can save an AI when editing from the dashboard page.
* Restored CTRL+b as it should be in our ckeditor keybindings.
Make dashboard notes and AIs editable in place.
* More dashboard notes improvements.
Do a better job with notes that are locked from editing.
* Fixes for the hook cleanup. Cut-n-paste silliness.
* WIP on hook cleanup for account downgrades.
* WIP on cascading delete for api hooks.
* Set the synch_organization_created TS on account creation or upgrade.
* Add synchronizer to AppDomains in o365 add-in manifest
* Set higher rate limit for synchronizer user on setup (case 11066)
* Separate can delete docs from can manage room (Sains).
* Looks like canView and canManage attachment access tests were reversed.
* Change the test for a valid account passed into our user_access function.
* Fix access to account_id that wasn't yet set.
* use a placeholder for the app_id in the version 2.1.8 Outlook add-in manifest 

July 20, 2020 - version 2.20.44 -- Ongoing maintenance and feature updates

There's a bunch of stuff here, but the main thrust is putting updates in place so we can deploy the two-way synchronizer that keeps Lucid and MS Office 365 Outlook in sync.

 * Move the audio mute/unmute from F1 to Shift+Esc
* Some minor WIP on the room past meeting history.
* Fix routine that spreads out priority ordering of meeting templates in a room (case 11117). Bonus fix to room cascade delete.
* Outlook synch crons -- trigger updates on synch server
* Comment out synch crons -- need to generalize target (case 11099)
* WIP on O365 integration deployment (case 11099, case 10981)
* WIP on update to office365 addin
* API: fix bug where meeting_series PATCH would not set until_ts if timezone was not provided.
* API: documentation updates
* Fix an undefined attribute. Wasn't actually breaking anything, just sloppy.
* Make the annual pass effective period more obvious to the purchaser.
* Send fewer unnecessary meeting_series_scheduled notifictions
* Clean up the lazy-load / reset logic in Lucid_Model, some more
* Clean up the lazy-load / reset logic in Lucid_Model
* Add dtstart_ts to recurrence/meeting_series API (case 11112)
* Clear dependent lazy_load attributes when fields they depend on change!
* WIP on correcting the meaning of start_ts in a recurrence (case 11112)
* Calculate true start_ts for a recurrence taking added and excluded dates into account (case 11112)
* Use the correct time when comparing meeting series patterns for potential TB conflicts (case 11112)
* Recurrence Nth Occurrence takes into account start_time may not be time of first occurrence, in case of exceptions.
* Add a first_ts to meeting_series that reflects start of first meeting, even if that meeting has been rescheduled before the start time in the recurrence rule.
* merge o365integration into default (preliminary add-in update)
* Small start to only return paid organizations to the synchronizer.
* If we're gonna have default policies for organizations it makes sense to set them upon creation.
* Change name of the organization_created API hook to indicate it's for orgs that can use the synchronizer only
* Append pinned note tags to the Records droplist

July 5, 2020 - version 2.20.42 -- Turbobridge UI updates

Comments:

We're rolling back some our (purported) improvements and adding a couple others we think will work better. The previous set wasn't quite magical enough, so this puts a bit more control in the hands of the meeting host and provides more info to call participants about what's happening when hosts mute or unmute them.

Changelog:

July 2, 2020 - version 2.20.41 -- Ongoing maintenance and feature updates

Comments:

Most of the changes in this release are the result of our continued performance profiling and work to remove scalability blocks.  We also made more update to the Turbobridge UI integration to support calls that only support one call modality (e.g., only web calls permitted or only SIP, etc.). It's a bit of an edge case, but some people prefer to de-feature the number of call options, rather than allow more.

Changelog:

June 30, 2020 - version 2.20.40-- Ongoing maintenance and feature updates

Comments:

We've been working to update all our translatable strings, so that's mostly complete. We're also continuing work on the Office 365 synchronizer, which means development-driven API updates. For my part I've been focused pretty tightly on performance at all levels, so there's been a lot of inspection, tracing, and tuning regarding that.

Changelog:

June 16, 2020 - version 2.20.39 -- Ongoing maintenance and feature updates

Comments:

We're doing some work on the Turbobridge integration, driven by support conversations. In particular, the ability to mute or unmute all callers and mute integration with the speaker queue. The problem we're addressing is the increase line noise with more people working from home with kids, dogs, etc. People are looking for more controls. We'll probably do a bit more refinement work in a future update.

Changelog:

  • Fix bug when adding an action item outside a meeting (close date bug).
  • Add mute all and unmute all for TB audio
  • Add ctrl key down/up for temporary unmute for TB audio
  • Integrate TB audio muting with the speaker queue
  • Lengthen bridge.description to 2048 to accommodate Teams URLs
  • Translation refresh readiness
  • Set per-meeting custom audio via the REST API
  • Set per-meeting_series custom audio via the REST API
  • Autolink URLs in custom audio
  • Improvements to custom audio bridges in general
  • Some minor improvements to dark mode
  • REST API extensions to support the O365 add-in work

May 17, 2020 - version 2.20.35 -- Ongoing maintenance and feature updates

Comments:

These are just some bug fixes for the calendar synch from Google.

Changelog:

  • Google synch: for individual meetings, if there is a meeting_series_id, use the meeting series URL instead of the individual meeting URL.
  •  Google sync: bug fix (syntax error).
  •  Google sync: Skip event and unsubscribe from watch when user is not found

May 15, 2020 - version 2.20.33 -- Ongoing maintenance and feature updates

Comments:

  • Work on Google sync
  • Work on API fixes to support Office 365 integration
  • Work on Action Items
  • Work on tabular data displays
  • Work on meeting series display
  • Work on Outlook add-in "do not prompt" ticket
  • Work on downloading motions in a room
  • Some bug fixes

Changelog:

April 28, 2020 - version 2.20.33 -- Ongoing maintenance and feature updates

 

Changelog:

April 22, 2020 - version 2.20.31 -- Ongoing maintenance and feature updates

 Comments:

This is all WIP for the continuing Outlook 365 integration project.

Changelog:

  • API: add a way to set a custom rate limit for a user.
  •  Update Outlook add-in: handles auth denial more gracefully
  •  API: add hooks and events for addition/update of rooms for synchronizer
  •  API: Add resource endpoint for synch_outlook_rooms/:id. Needed for hook payload.
  •  Log a timestamp stat on addition/update to Outlook room synch mapping
  •  API: add ability to request a single outlook room mapping by Lucid room ID
  •  Log meeting_scheduled stat when meeting end_time is changed; it is a change to the schedule. Affects API rest hook

April 15, 2020 - version 2.20.30 -- Ongoing maintenance and feature updates

 Changelog:
  • Fill out the Window/PHP time zone mappings as best we can.
  •  Timezone cleanup -- remove a misspelled obsolete timezone and guard against making bogus menu entries
  •  Revert nginx config to include the X-Frame-Options header on the oauth authorize page
  •  Tweak hybridauth to not open a pop-up if it's already in our OAuth flow.
  •  API: fix permissions check for creating a meeting_series, just like creating a meeting
  •  API. Fix post permissions check for creating meetings in a room by a non-manager.
  •  WIP on template gallery improvements.
  •  Remove attempt to "fix" until time in lucid_admin_meeting_series_create. It was wrong.

April 10, 2020 - version 2.20.28 -- Ongoing maintenance and feature updates

 Changelog:

April 5, 2020 - version 2.20.27 -- Ongoing maintenance and feature updates

Comments:

Most of this update was focused on large enterprise needs, primarily in site-level config and scalability, with a couple bug fixes tossed into the mix.

Changelog:

March 29, 2020 - version 2.20.25 -- Ongoing maintenance and feature updates

 Changelog:
  • WIP on Zombie account detection and removal
  • Make date-filtered tabular listings more obvious
  • WIP on the room meeting history page
  • Add SameSite browser checking handle older chrome browsers

March 26, 2020 - version 2.20.24 -- Ongoing maintenance and feature updates

Comments:

More work on the synchronizer API support, plus a number of small support-driven fixes and tweaks. We're also continuing work on UI scalability for very large, long-lived organizations that accrue a lot of data over time.

Changelog:

  • Minor behavioral and messaging tweak for the past/recent meetings display.
  • WIP on fixing up the room people tables.
  • Tweak on meeting list in room
  • WIP on improving the past meeting display for rooms.
  • Add more logging and handling for the missing member object issue.
  • Add a little bling to the See all rooms link.
  • Some WIP on footable pagination.
  • API: correct an error message in the synch_graph_access_tokens endpoint
  • Add a itsy bitsy arrow on the 'See all rooms' link in the left nav.
  • Add a link to the API docs on the Authorize New Applications page.
  • Make the pagination more sensible for large data sets with large user pagination settings.
  • Minor fix to the room and account people upload to allow adding people.
  • Prevent observer votes from being recorded server-side
  • Don't show observer voting options, and don't facilitator option to record votes for observers
  • Restore ability of facilitator to manually record attendee votes
  • Quick fix for error on room member that refers to a nonexistent (?) member
  • Add some explanatory text and nada to the RSVP boilerplate UI. For site managers that aren't us.
  • API: Ensure the action items also allow you to embed tags and update the docs to reflect that.
  • Purify the access check functions by removing the exit for lucid/missing redirects.
  • Remove the from_api access check param (and the need for it).
  • Fix the account missing blank page (now access denied).
  • WIP to improve zombie account listing.
  • API: update documentation for hooks
  • API: add option to filter hooks by organization ID or room ID
  • Add a "delete default room" form for synchronizer configuration (case 10985)
  • API: allow the synchronizer to create hooks (case 10986)

March 22, 2020 - version 2.20.21 -- Ongoing maintenance and feature updates

Comments:

We're continuing to expand the API to support the full, two-way integration between Lucid Meetings and MS Outlook 365 calendars (for linked meetings).

Changelog:

March 14, 2020 - version 2.20.18 -- Ongoing maintenance and feature updates

Comments:

The point of pushing this release out now is to get the SameSite=None patch (to support the Outlook add-in) out

Changelog:

* Add patch to add SameSite=None when setting cookie for the user session
* API WIP on retrieving notes in a room.
* Switch out a nada icon.
* Fix the past meetings history page for rooms that have been quiescent for more than 12 months.

March 12, 2020 - version 2.20.17 -- Ongoing maintenance and feature updates

Changelog:

March 6, 2020 - version 2.20.13 -- Ongoing maintenance and feature updates

Comments:

We put a change in the next release to re-enable editing of a meeting series schedule after the series has ended. Typical scenario being, the user wants to extend the series. It turns out the reason we disabled that was somewhat indirect -- we were removing the ability to mess with a bunch of things on past meetings, prompted by Elise's noticing that when you do that, you don't get prompted to send invitations again.

We added some little improvements -- when you extend an "expired" meeting series you will land on the next upcoming meeting, instead of the past one you started with, and I added a prompt to re-send the series invitations to the success message.

Bug fixes:

User-visible:

* Fix JS error after adding a new member to an organization. I

introduced this when removing footable SPF for some tables.

* Remove the optional password field from the add your organization form.

* Add "Add a URL" to agenda item editor for meeting templates

* Correct the download behavior for link attachments in the meeting template editor

* Fix broken facilitator guide upload for meeting template in a room (case 10999)

* Fix up the Add Meeting list in the top nav. Was missing some.

* Tune the permissions related to who can edit post-meeting content.

* Correct an error in recurrence descriptions, was putting wrong start date in invitation emails.

* Delete integration links when the associated integration_auth is deleted via drupal-side code; corrects a situation where Bascamp mappings were repeatedly lost.

Not user-visible:

* Stop calling the fullcontact API (issue with a google signup).

* Small change to set the member_id before calling fullcontact.

* Fix a bug found by inspection while performance profiling.

* Fix a little array merge bug I just introduced.

* Fix a user_access check.

* Fixed a user delete bug and made related changes associated with cascading deletes.

New features and changes:

* Improve UI for selecting timezone when scheduling or finding a

meeting time. (Add the chosen() widget to the timezone selector

for scheduling or finding a meeting time.)

* Add an attendance download button to the past meetings history page.

* Restore ability to change the schedule of a meeting series that has ended

* Restore the old behavior of account links going to the organization overview page instead of the rooms page.

* Allow meeting participants to edit post-meeting data under more circumstances

Subscriptions and Billing:

* WIP on allowing end users to to change their subscription plan.

* For enterprise billing count organization members instead of room members.

* WIP on showing billing for various org types

* More WIP to integrate the fixed-price business plan

* Cleaning up the personal and business flex upgrade / downgrade paths.

* Loosen up the ability to manage an account in dunning, so people can actually update their credit card.

* Only record active organizer for a meeting starter if that person is a manager in one or more rooms.

Performance:

* Add just a wee bit of manual in-process caching to reduce DB calls.

* More WIP on UI scalability. Create a separate page for large amounts of meeting history.

* WIP on UI scale.

* Minor WIP on performance for larger tables of data. Such as the org home w/tabs.

* Some WIP on UI scalability (footables mostly).

* WIP on the room-level meeting attendance report. A small step forward.

* WIP on user-perceived performance improvements for rendering the room list for an organiztion tab..

* Cache failure to find room member so we don't keep trying during a single page load.

* Remove static caching of access results (now in user.inc).

* Cache user access checks used by the access functions.

* Do not include the delete modal on room meetings page.

* Optimize the getting of followups to-be-sent for large numbers of meetings (room meetings page).

* Cache the results of user access queries in a give page session to reduce excessive user_load() calls.

* Do not check lucid forms for captchas. Excessive SQL queries.

Chrome extension:

* Add the calendar.readonly scope to our Google auth list.

Office add-in

* Update to the Office 365 add-in

* API: Add windows_timezone to recurrence resource fields. (Case 10994)

* Add a routine for getting the Windows zone for an IANA timezone name (case 10994)

* Add a mapping from IANA to Windows time zones. (Case 10994)

* API: Allow Synchronizer user to look up meeting sources by type and ID, or by meeting ID, independent of member_id. (case 10982)

* API: Allow Synchronizer user to look up meeting series sources by type and ID, or by meeting series ID, independent of member_id. (case 10982)

* API: bug fix for synchronizer access to deleted attendee

* API: Extend synchronizer's search for a user to impersonate (case 10982)

* API: Extend synchronizer impersonation; if meeting lacks facilitators, get a room manager.

* API: merge synchronizer access work into default

* API: add source_data to meeting_series_source POST; was not being saved (case 10981)

* merge

* API: Include source_data with embedded meeting_source, meeting_series_source

* Add full meeting_series_source to meeting_series POST

* API: add documentation for including a meeting_source when creating a meeting

* API: quick addition of full meeting_source (with data) to meeting POST

* API: add start_time, end_time to deleted_meetings

Code cleanup:

* Remove an unnecessary reference to global vars.

* More consistent use of account_member::makeXXX functions.

* Minor tweaks while doing some performance review.

* Correct the download behavior for link attachments in the meeting template editor

* Update to the Office 365 add-in

* Add "Add a URL" to agenda item editor for meeting templates

* API: Add windows_timezone to recurrence resource fields. (Case 10994)

* Add a routine for getting the Windows zone for an IANA timezone name (case 10994)

* API: Allow Synchronizer user to look up meeting sources by type and ID, or by meeting ID, independent of member_id. (case 10982)

* API: Allow Synchronizer user to look up meeting series sources by type and ID, or by meeting series ID, independent of member_id. (case 10982)

* API: add source_data to meeting_series_source POST; was not being saved (case 10981)

* Add a mapping from IANA to Windows time zones. (Case 10994)

* API: Include source_data with embedded meeting_source, meeting_series_source * Fix up the Add Meeting list in the top nav. Was missing some.

* Small change to set the member_id before calling fullcontact. * Add an attendance download button to the past meetings history page.

* API: bug fix for synchronizer access to deleted attendee

* Add full meeting_series_source to meeting_series POST

* API: add documentation for including a meeting_source when creating a meeting

* API: quick addition of full meeting_source (with data) to meeting POST

* Add the calendar.readonly scope to our Google auth list.

* Tune the permissions related to who can edit post-meeting content.

* WIP on showing billing for various org types

* Fix broken facilitator upload for meeting template in a room (case 10999)

* More WIP to integrate the fixed-price business plan

* Cleaning up the personal and business flex upgrade / downgrade paths.

* API: add start_time, end_time to deleted_meetings

* Add just a wee bit of manual in-process caching to reduce DB calls.

* More WIP on UI scalability. Create a separate page for large amounts of meeting history.

* WIP on UI scale.

* Remove an unnecessary reference to global vars.

* Minor WIP on performance for larger tables of data. Such as the org home w/tabs.

* Some WIP on UI scalability (footables mostly).

* Restore the old behavior of account links going to the organization overview page instead of the rooms page.

* WIP on the room-level meeting attendance report. A small step forward.

* WIP on user-perceived performance improvements for rendering the room list for an organiztion tab..

* For enterprise billing count organization members instead of room members.

* More consistent use of account_member::makeXXX functions.

* Correct a really boneheaded error in recurrence descriptions.

* Restore ability to change the schedule of a meeting series that has ended (see case 9521)

* API: Extend synchronizer's search for a user to impersonate (case 10982)

* Loosen up the ability to manage an account in dunning, so people can actually update their credit card.

* Minor tweaks while doing some performance review.

* Cache failure to find room member so we don't keep trying during a single page load.

* Remove static caching of access results (now in user.inc).

* Cache user access checks used by the access functions.

* Do not include the delete modal on room meetings page.

* Fix a bug found by inspection while performance profiling.

* Optimize the getting of followups to-be-sent for large numbers of meetings (room meetings page).

* Cache the results of user access queries in a give page session to reduce excessive user_load() calls.

* Do not check lucid forms for captchas. Excessive SQL queries.

* Fix a user_access check.

* Fixed a user delete bug and made related changes associated with cascading deletes.

* API: Extend synchronizer impersonation; if meeting lacks facilitators, get a room manager.

* API: merge synchronizer access work into default

* Allow meeting participants to edit post-meeting data under more circumstances.

* Delete integration links when the associated integration_auth is deleted via drupal-side code (case 10974)

* Only record active organizer for a meeting starter if that person is a manager in one or more rooms.

February 6, 2020 - version 2.20.12 -- Ongoing maintenance and feature updates

Changelog:

  1. Tighten up the behavior of the magic invitation links to match our documented behavior.
  2. Fix a hardcoded reference to $19 per month starting cost in the business upgrade page
  3. Fix the nav and breadcrumb display for room members who are account guests
  4. Fix an issue when working with collections of all or active members.
  5. Doing some work to optimize count(collections) in places.
  6. Get the proper list orgs for a member on the site manager member page.
  7. Remove the enforced binding between room "member" and account "member"
  8. Remove the consequences warning for changing org members to guests
  9. More WIP on the account vs. room roles
  10. Fix an html injection issue the organization name.

January 28, 2020 - version 2.20.11 -- Ongoing maintenance and feature updates

 Okay, first update of 2020! Let's go:
  • Navigation update to segment orgs without menu-visible rooms from org with menu-visible rooms
  • Extend the filter/pagination date selection to room notes and motions
  • Incidental tweaks to meeting model; meetings can lack an account_id (template meetings)
  • De-icon the room list in the menu and the save submit buttons (too cluttered)
  • UI consistency tweaks on the meeting template manage page.

  • More email template cleanup
  • Improvements to how we determine which tags should be available in a room

  • Pep up the sickly grey in the daily and weekly emails

  • Handle emailed RSVPs a bit better

  • Improve MIME type detection for uploaded files

  • Add a new org-level policy to restrict who can see the org member roll-up

  • Work on the O365 add-in (messaging mainly) to support the Microsoft verification process

  • Miscellaneous bug fixes

  • Performance improvements
  • Security improvements
    • Improved login security
    • Improved password construction requirements and enforcement
    • Improved auto-logout for inactivity
    • Add more output filtering for XSS prevention
    • Continued tuning our web application firewall rules

Apart from all the work generally, the notable part here is that we're well into the Office 365 add-in verification process with Microsoft. We've made a few minor suggested changes and have resubmitted for (what we hope to be) the final manual review step.

Stay tuned for next month's update! We hope to be celebrating the new O365 add-in release :)

Cheers,

John