Thursday, October 5, 2017

Change Log: 2.33.709

Rawhide set + Deranged Expression (work in progress).
The dashboard upgrade is finally here!

Release 2.33.709 pushes a major update to the Manager's dashboard that improves page load times* and enhances/expands the information that you see on the dashboard about your settlements. It also adds a first-time user message for new users (i.e. anyone who is not currently involved in any campaigns)!

The next view on the agenda to be upgraded/refactored is the Campaign Summary, which is the heaviest/slowest of the views, since it depends the most on the legacy webapp and leverages the API the least. I'm going to try to get some more work on that done before the end of the month.

I also plan to get some more improvements to the Survivor Sheet rolled out in the next week or two: one of the final controls that needs to be refactored/enhanced is the Disorders controls, and I'm going to knock that out very soon!

In back-end news, work on The Watcher is really ramping up: release 2.33.709 includes many enhancements to game asset definitions and the routes that retrieve those assets that are intended to facilitate the new UI/UX design requirements.

Finally, since it looks like 1.5 is going to ship in the very near future and I've seen the question come up on BGG/Reddit a few times, and I would like to officially reiterate that, once my copy shows up, my plan is to go into lock-down/overtime mode and push updates until I have full 1.5 support in both the app and the API.


* Prior to release 2.33.709, render times for the dashboard have taken, on average, anywhere between a quarter of a second to a half of a second, which is no bueno: if it takes half a second just to create the HTML for the view, there's no way we're getting the page rendered in under a second, even given optimal network conditions, etc.

Corrections and Fixes

  1. Corrected a typo in the "Marrow Hunger" A&I that could throw tracebacks when applied to survivors.
  2. Addressed a bug where creating a new settlement without any expansions could throw API errors. -Khoa
  3. Corrected some typo issues in the names.py assets file of the API that caused name elisions on random-name selection.
  4. Fixed a typo that prevented population/death count auto-normalization from saving.
  5. Addressed a javascript issue that prevented the corner loader from being hidden on the Dashboard view after a successful refresh of the World info.
  6. Addressed a FireFox presentation issue affecting wide resolution where Fighting Art and Disorder "cards" could sometimes NOT totally fill the column (width-wise)

Application Enhancements

  1. All views now load with the full page loader/spinner (all views).
  2. User dashboard no longer uses the legacy webapp to retrieve/display user settlements! This should massively improve page load times (which currently have an average of 0.201527877551 and a max of 0.496006). Other improvements include:
    1. Clicking the "+ New Settlement" button on the dashboard now shows the full page loader, i.e. to prevent the customers from clicking into a settlement after they start spinning up the request to do the new one.
    2. Similarly, clicking on a settlement from the dashboard shows the full page loader now.
    3. Active campaigns now appear a.) with their age and b.) sorted by their age (i.e. in reverse chronological)
    4. World data is now initialized/retrieved when the dashboard is initialized, i.e. during the big init call at the top of the HTML (in the legacy app's html.dashboard.initializer() method). This should get it filled out way faster, especially if the user's got a bunch of settlements/campaigns to retrieve.
    5. Javascript logging has been enhanced to include 'facility' which, in this case, is the panel a given method is working on.
    6. First-time users (i.e. anyone who has zero settlements, abandoned or otherwise) gets to see a modal "welcome" message.
    7. Deprecated a bunch of 'display: none' hard-coding from the dashboard.
    8. Campaigns not started by you show up with a note about who created them.
    9. Settlements are neither normalized on retrieval, nor do they include survivor/player assets (see API notes below).
  3. Deprecated the no-scope/document-scope version of the showHide() method in kdmManager.js (which turned everything into a display: block--yikes!) and moved the AngularJS-scope version out into the document scope. Refactored dependent code.
  4. The kdmManager.js controller rootController now adds the no-scope showHide() method to the rootScope (just in case).
  5. Implemented the visible class in style.css as the opposite of hidden.

Primer, some basic inking, partial assembly.
API Development

  1. Continued to improve the UI prompting for The Watcher re: Survivor Sheet attributes:
    1. Added maximum value data to default 'survivor_attribute_milestones' dictionary used by all campaigns.
    2. Added ui_prompts type events to assets.events.py for max Courage/Understanding/Weapon Proficiency events
    3. Updated the "People of the Stars" campaign asset to reflect maxes/mins
  2. Keyed in about 75 new settlement, male, female and neuter names.
  3. Documented the /user/dashboard/<oid> route (which some how didn't make it into the docs when it was added). -Khoa
  4. Added the 'ui' attribute to expansion assets, to facilitate the new settlement creation UI in The Watcher. -Logan
  5. Updated the /new_settlements output to include the 'ui' attribute of expansions. -Caleb
  6. Added 'node' attribute to monster assets. -Caleb
  7. Settlement serialization has been enhanced:
    1. The 'sheet' element now contains 'campaign_pretty', which is the 'name' of the settlement's campaign asset
    2. The 'meta' element of serialized settlements now includes the 'age' key
    3. The 'sheet' element also now comes back with 'player_email_list', which, unsurprisingly is a list of player emails (and is different from the user asset summaries you get back in the 'user_assets' element).
    4. The 'meta' element now includes the settlement creator's email.
  8. Loading the user's 'dashboard' now initializes all of his settlements (which should help us blast through the backlog of legacy data settlements).
  9. The utils.list_to_pretty_string() method has been enhanced to support using a quote character to wrap list items in the output string. You know, for readability in the logs, etc.
  10. The /user/set/<oid> route now ALWAYS returns a 200. It now also returns a concise description of which user attribute keys it updated and which it did not. -Khoa
  11. The Settlement object's serialize() method now handles 'dashboard' as a value for the 'return_type' kwarg: you get the bare-ass minimum back when you serialize for the dash, but dang is it zippy!
  12. Survivor names are now duck-typed to str if they're not unicode or str type.
  13. Added the 'bleeding_tokens' attribute to the Survivor object's self.stats, which makes it so that A&Is can update a survivor's bleeding tokens now.
  14. Keyed in 'bleeding_tokens' attributes for Severe Injury A&Is.

No comments:

Post a Comment