Thursday, July 25, 2019

Change Log: 3.85.1641

Kingdom Death Fighter (work in progress).
One of the main goals of refactoring and migrating the API was to increase efficiency (make it faster) and decrease overhead (make it cost less for me to run it).

Release 3.85.1641 of the Manager is mostly focused on those goals, specifically as they pertain to the (expensive/inefficient) bits of the World module that creates stats about survivors, settlements and users.

The main thing in this one that's user-facing in this one is a handful of fixes for the data on the World section of the Dashboard: some of the averages have been broken since the migration, the number of subscribers was off, etc.

As far as tickets go, there's one more issue regarding World stuff that I've got to take care of, and that should get us moved on from the last of the outstanding migration work.

From there, the plan for the Manager is to continue to stabilize the production application by fixing application issues as they arise (or are brought to my attention) and doing break/fix work on the API. Once I close all open tickets for the webapp and the API, I will reveal the details of (sinister) Phase Two of my 2019 project.

Until then, hit the jump for complete release details.

And thanks for using the Manager!

Fixes and corrections:

  1. Continued to work thee API issue where certain world queries failed due to extremely large data sets that broke the MongoDB 32MB sort rule.
  2. Enabled log rotation for the legacy webapp (which was disabled at the migration).
  3. Tidied up a bit in the API modules:
    1. Removed some old print-debugging in the settlements module (that dates back to before the migration).
    2. Fixed some typos in the admin logs re: "subscrubers", etc.
  4. Normalized user subscriber data (i.e. ran the patch).
  5. Fixed the issue where the world panel was showing incorrect counts of subscribers.
  6. Corrected an issue where 'White Lion' type quarries were added to the killboard collection with the type of 'monsters' (rather than 'quarry').
  7. Addressed the issue that was preventing the Dashboard's "Killboard" from refreshing.
  8. Fixed an issue where the Admin panel failed to post multiple updates.

API Enhancements:

  1. The world module now has a create_indexes() method that can be accessed from the CLI. It currently creates indexes on the settlements, survivors and settlement_events collections.
  2. Beefed up the debugging on the killboard query in the world module:
    1. added an error alert for monsters with the wrong type (i.e. the default type of 'monsters')
    2. added a bunch of debug logging that prints to the world.log when running in debug mode
  3. Created a model for working with killboard objects in app.models.__init__, which SEEMS like overkill, if you don't know what my master plan is for the kilboard (mwahah):
    1. created a basic __init__() method
    2. implemented normalize() and save() methods. 
  4. Admin panel got some love in this release:
    1. The admin panel now refreshes webapp alerts every 120 seconds.
    2. Added a loading modal to the alerts controls on the admin panel that blocks the panel if it's pulling data down.
    3. The admin user who is signed in (i.e. present in the Flask request) throws a JS console error if it doesn't have an '_id' value.
    4. Changed the template substitution in app.routes.panel() so that all of the user's document comes through (instead of just the strings).

No comments:

Post a Comment