Cloud Sprint 13.05 Work
A lot of interesting work took place at the 13.05 Cloud Sprint, and I figured I’d be a good idea to summarize some of them. If I miss any or don’t go into enough detail, I’m sure other folks would be more than happy to add notes about additional work.
- Test for resizing textarea breaks in IE10 – Different browsers report dimensions differently for different means of getting them (getComputedStyle, etc). This is now tested across all browsers working around this problem
- Containergeddon – Tests now use a makeContainer method for testing GUI elements, which allows these containers to be easily cleaned up in tear-down methods in test suites. This leads to greatly reduced DOM trash during testing.
- Pop-up help and keyboard shortcuts – Keyboard shortcuts are now created using a declarative syntax, which also allows a pop-up help system (with the shortcut “?”) that utilizes the same delcarations.
- GUI hangs in internal views if the object is deleted elsewhere – Concurrent editing of the environment was causing problems with internal (e.g.: service or unit) pages.
- Sandbox simulator – This branch adds an environment simulator to the sandbox env that mocks deltas coming in from a real environment. This helps with development branches to ensure that the branch you’re working on currently takes concurrent editing into account.
- Silent errors in certain instances – Some errors did not provide very much in the way of user feedback. For instance, dragging a service caused a permission denied error in read-only mode due to annotations. This was an incremental branch, with the end goal of implementing a read-only indicator.
- Unscaled pack layout – This branches a portion of the D3 layout code so as to ensure that the pack layout does not scale to a minimimum area (such as the window size or a default size). The end result is that the initial layout doesn’t overlap services, with the eventual goal being different possible automatic layouts in the future.
- Feature flags – A little micro-branch that allows controlling features through the URL using our name-spaced routing. For instance, the /:flags:/charmbrowser.draganddrop.enable URL would set that feature-flag to true so that the UI could, say, only enable drag and drop from the charm browser if the flag is set.
Looking forward to a cycle full of interesting work!