Contribute to Open Source. Search issue labels to find the right project for you!

RFC: errata / "micro boards" ?


This includes #649 - only the second commit is relevant here.

Errata no. 32 for the nrf52832 rev A makes it such that LEDS 2 and 4 don’t work correctly. Unfortunately, the fix basically shuts off debugging: (p20) Subsequent silicon revisions fix this bug: (p24)

More generally, how should we handle things like this in Tock?

One solution is cfg-gating fixes like is done here, then having the build system build all board revisions, and use an attribute to decide which hardware rev. I think you could automate all of this by listing cfg features in the chip’s Cargo.toml and pulling them out during build.

While this is maybe a bit heavy-handed for some LEDs, there’s more drastic chip errata that I imagine will come up in the future and we’ll want some mechanism for handling this. At the same time, I’m very wary of effectively re-introducing #define hell via cfg :/

Updated 17/10/2017 05:36

Rewrite onto s6 and new base image


Proposed Changes

  • Moved into /usr/bin
  • Moved correcting file permission from Dockerfile into S6
  • Updated
  • Updates config.json with some extra parameters
  • Added new Docker labels
  • Added example options to add-on
  • Moved resulting image build name from build.json into CircleCI
  • Locked down base image version
  • Changed add-on version to ‘dev’

Related Issues


Updated 16/10/2017 19:46 1 Comments

Optional notes for assessment


When all the questions have been gathered for an assessment, we typically show a thanks message and a button to take the user to the review page.

We want to be able to allow users to optional capture some notes about the assessment. This may capture information not captured in the questions or record discussed goals and actions.

When all the questions have been gathered, allow users to optional capture some notes. There should be a text box input available when all the questions have been captured. The input can be arbitrarily large, so the text box should be possible to be resized by the user, I think this typically uses the textarea element type.

The notes should be saved to the server when appropriate depending on the design

Updated 16/10/2017 19:26 2 Comments

Optional notes with question answer


When completing a question, allow the users to add an optional note with their answer. This allows the user and beneficiary to capture any additional detail which comes up whilst discussing the question or the beneficiary’s answer.

There should be a text box input available when completing an answer. This should, by default, be hidden behind an accordion. The accordion text should say “Notes”, when clicked, the text box input should be shown.

The input can be arbitrarily large, so the text box should be possible to be resized by the user, I think this typically uses the textarea element type.

On submitting the answer, the answer and notes should be saved.

Updated 16/10/2017 19:26 2 Comments

Build: babel-preset-es2015 => babel-preset-env.


<!– ESLint adheres to the JS Foundation Code of Conduct. –>

What is the purpose of this pull request? (put an “X” next to item)

[x] Other, please explain:

<!– If the item you’ve checked above has a template, please paste the template questions below and answer them. (If this pull request is addressing an issue, you can just paste a link to the issue here instead.) –>

<!– Please ensure your pull request is ready:

- Read the pull request guide (
- Include tests for this change
- Update documentation for this change (if appropriate)


<!– The following is required for all pull requests: –>

What changes did you make? (Give an overview) babel-preset-es2015 is no longer maintained, replaced with babel-preset-env.

Is there anything you’d like reviewers to focus on?


Updated 16/10/2017 18:36 2 Comments

Order summary plumbing


depends on #210

Order Summary component and story has already been created but no real data has been used.

This ticket is to wire up the component to real data from feathers.

related to #178

Updated 16/10/2017 10:02

Add mouse speed page


Create a new page titled “Mouse speed”. Use the fa-slider icon before its title, and redirect to it upon clicking the Device -> Mouse speed menu item.

The page should contain the following content:

The following options affect the speed of the mouse pointer when being controlled by mouse keys.

Initial pointer speed: [slider] Pointer acceleration: [slider] Maximum pointer speed: [slider] Accelerate key acceleration factor: [slider] Decelerate key deceleration factor: [slider]

I’d like a fancy slider to be used, like this one. I don’t insist to it if it takes a lot of time to implement.

Add the following 5 uint8 fields inside of UserConfiguration after keymaps to represent the above values: * pointerIntialSpeed * pointerAcceleration * pointerMaxSpeed * pointerAccelerateKeyFactor * pointerDecelerateKeyFactor

Make the sliders adjustable from 0 to 255.

This issue requires a firmware change. I’ll provide the updated firmware image.

This issue is dependent on #457.

Updated 15/10/2017 23:04

Allow users to skip questions while doing a meeting/survey


Currently the users are forced to answer a question before moving on to the next one. I think that they should be allowed to skip questions if they want to. I’ve come across this feature in most surveys that can be taken online. Currently, the users can skip a question by clicking on some other tab, for eg. ‘Home’ or ‘Review’ but this would lead to that meeting being abandoned.

Updated 15/10/2017 08:26 1 Comments

Jobs/Pool CPU/Mem/Network usage


Guys thanks for the excellent tool. It will be awesome to have the ability to monitor the nodes usage (CPU, Mem, Network). That will help to pack task per node more smarty. It seems there is a something similar on main Jobs page before Job selection. But the graph always shows me “No jobs in the selected time range”

Updated 16/10/2017 21:27 3 Comments

Allow Generation of Self Assessment Link


Blocked by impactasaurus/server#27. When starting a meeting (aka assessment) add an additional button to allow the user to generate a self assessment link instead of conducting the assessment.

  • When starting a meeting offer a second button which reads “Self Assessment”
  • When clicking, request the link from the server
  • Take the user to a new page showing the link
Updated 16/10/2017 18:24 1 Comments

Add Self Assessment Redirect Page


When a beneficiary uses the self assessment route, the web app should take the beneficiary to the meeting

  • Create route matching the route added in impactasaurus/server#27
  • Get JWT from route and save to local storage
  • Extract the meeting ID from the JWT
  • redirect the beneficiary to that meeting
Updated 16/10/2017 18:24 1 Comments

Self Assessment Write


The add answer to assessment route should allow beneficiary JWTs in addition to the normal auth0 JWTs. Blocked by #26.

  • The add new answer route should accept beneficiary JWTs, if the JWT is a beneficiary JWT, use a new DB method
  • The new DB method should not expect org. metadata in the JWT
  • Should only allow saving to assessment which has the meeting ID which is within the JWT and the beneficiary must match the subject of the JWT
Updated 16/10/2017 18:24 1 Comments

Self Assessment Read


The read assessment (aka meeting) route should allow beneficiary JWTs in addition to the normal auth0 JWTs. Blocked by #26.

  • The read assessment should accept beneficiary JWTs, if the JWT is a beneficiary JWT, use a new DB method
  • The new DB method should not expect org. metadata in the JWT
  • Should gather assessment which has the meeting ID which is within JWT and the benficiary must match the subject of the JWT

This should allow: - the beneficiary to gather the specific assessment - when calling the get all assessment route, it should just return the single assessment the beneficiary is allowed to view

Updated 16/10/2017 18:24 1 Comments

Request Self Assessment Link


Users should be able to generate a self assessment link. This will allow the beneficiary to complete it separately from the charity user. This is complicated because beneficiarys don’t have app accounts.

Is blocked by #26.

  • add new route which takes the same arguments as the new meeting route
  • create a new meeting in the database (same routine as the new meeting route)
  • create JWT (using the method implemented in #25)
  • create link (maybe /meeting/remote/{jwt})
  • return link
Updated 16/10/2017 18:24 1 Comments

Beneficiary JWT Validation


Once beneficiary JWT generation is added (#25), extend the auth middleware to also allow beneficiary JWTs in addition to the auth0 JWTs.

  • auth middleware allow JWTs with local public key, issuer and audience
  • produce User object
  • add IsBeneficiaryJWT method which identifies local and auth0 JWTs
  • add get remote meeting ID method which gets meeting ID from app_metadata if available
Updated 16/10/2017 18:24 1 Comments

Persist conversation text


Description As a user, I would like my conservations to be persisted.

Scope of Work - [ ] Expose port in production - [ ] Have production environment - [ ] Figure out how to conveniently access prod data

Story Points - 5

Priority - [Low, Medium, High]

Risk - Low

Demo requirement 1. User chats with the bot 2. User can see the history of this conversation (in a database)

Acceptance Criteria - User enters piece of conversation which is found in database - Conversation can be retrieved for future analysis

Documentation, files, diagrams, etc. relating to this feature: Url, books, etc.

Changes: - [Optional]

Updated 17/10/2017 02:32 5 Comments

Problem Area Focus


Analyze previous results for a given level and select a collection of questions that have been most problematic based on time taken to get them right.

Objective: Spend time where most of the problems are to get better.

Need to address #255 first and fix the data according to this change so that problem areas can be identified.

Blocked by #255

Updated 13/10/2017 15:11

Rewrite add-on onto the S6 process supervisor



This account currently uses a large script that bootstraps the whole add-on. Our new base images actually contain the S6 process supervisor, which allows us the split all kinds of different add-on responsibilities in an amazing way.

Additionally, the new base images are equipped with an extensive Bash function library full of tools towards Home Assistant add-ons on S6. This will greatly reduce the amount of code and improve stability overall.

Updated 16/10/2017 19:45 1 Comments

Add Recommended Citation term to ETDs


ACCEPTANCE CRITERIA - [ ] If have filled in the fields on the form, when I view my ETD on the single item page I should see a citation - [ ] The citation should show up only on the single item view - [ ] The citation should show the creator name - [ ] The citation should show the title of the ETD - [ ] The citation should show the publication year (ask OHSU) - [ ] The citation should show “Scholar Archive” in italics - [ ] The citation should show the DOI - [ ] The citation should show the Fedora ID - [ ] The citation should the ETD URL - [ ] The citation should reflect the current values in the ETD form

REFERENCE <img width=“565” alt=“sample citation” src=“”>


Updated 16/10/2017 21:42 2 Comments

Add Degree Name term to ETDs


ACCEPTANCE CRITERIA - [ ] When I look at the label for the field it should read “Degree Name” - [ ] Attribute name is documented in the spreadsheet - [ ] Predicate should be - [ ] I have a way to select valid choices for the degree name - [ ] The field should autosuggest, but is not strictly constrained to, values in the list below - [ ] The data type is a string - [ ] I can only select one degree name - [ ] When I look at the catalog search results page I should see the degree name for each ETD - [ ] I should see the degree name on the single item view - [ ] I should be able to facet on degree name - [ ] When I look at the .ttl view I should be able to find the degree name

Controlled Vocab for Degree name D.N.P. M.A. M.B.I. M.M.I. M.N. M.N.A. M.P.H. M.S. M.S.N. Ph.D.


Updated 16/10/2017 21:35 1 Comments

Add Creator term to ETDs


ACCEPTANCE CRITERIA - [ ] When I look at the label for the field it should read “Creator” - [ ] Attribute name is documented in the spreadsheet - [ ] Predicate should be inherited from Hyrax basic metadata - [ ] I can type anything into the form field - [ ] I can type in unconstrained text - [ ] The data type is a string - [ ] When I look at the search results page I should see the creator for each ETD - [ ] All the creators should show up in single item view as a comma separated list - [ ] When I am filling in the ETD form I can add another creator - [ ] I should be able to search on creator by default - [ ] I should be able to facet on creator - [ ] When I look at the .ttl view I should be able to find the creator

NOTES Attribute name should be creator


Updated 16/10/2017 21:40 1 Comments

Removed recipient email variables from email composer


What are the relevant tickets?


What’s this PR do?

removed email variables display from email composer for course team email only

How should this be manually tested?

Go to dashboard as non staff user ```python from dashboard.models import CachedEnrollment from courses.models import * from django.contrib.auth.models import User from exams.factories import ExamRunFactory from exams.models import * from dashboard.factories import CachedEnrollmentFactory from ecommerce.factories import (OrderFactory, LineFactory) from exams.factories import ExamAuthorizationFactory from exams.factories import ExamProfileFactory

user = User.objects.filter(username=‘username’)[0] course_run = CourseRun.objects.get(edx_course_key=‘course-v1:MITx+Digital+Learning+100+Aug_2016’)

pay for run

order = OrderFactory.create(user=user, status=‘fulfilled’, total_price_paid=1200) LineFactory.create(order=order, course_key=course_run.edx_course_key)

enroll for run

CachedEnrollmentFactory.create(user=user, course_run=course_run) ```


Screenshots (if appropriate)

<img width=“720” alt=“screen shot 2017-10-12 at 6 10 49 pm” src=“”>

Updated 16/10/2017 20:19 5 Comments

Refactor number parsing


Create a module with a function that takes in a string (with numbers), and return an object that contains an array of - the start index of the number found - the end index of the number found - the “float” or “int” value of the number found, without formatting.

For example, input: “10,001 miles -4.56 foobar” Should return output: [ { startIndex: 0, endIndex: 5, number: 10001 }, { startIndex: 13, endIndex: 17, number: -4.56 } ] Number types supported, to start:

  • Negative numbers
  • Numbers with commas in groups of 3
  • Numbers without commas
  • Numbers with decimal places

We should try to make each of the different types of numbers defined in their own file, so it is easy to add future kinds of numbers.

This “number standardizing” step can happen after the preprocessing step, but before the conversion step to simplify our conversion number regexes.

We can ignore conversions like “5 foot 2 inches” for now, and put that back in a separate issue (changing when the “preproccess” for each individual conversion is done)

Updated 12/10/2017 12:50

Add "Not news" category


Blocked: This issue can only be done after fake-news-detector/api#1.

We’ve noticed that the plugin is being put on newsfeed items that are not news, including memes, and we have no way to differentiate it:

<img width=“515” alt=“image” src=“”>

This is not actually a fake news, it is not a real news either, nor a satire, it’s not news at all, it’s a meme!

I don’t want to create a Meme category because our interest isn’t classifying memes or categorizing posts in any other way, so anything that isn’t news should fall under this “Not news” category

Thanks for @livinhamattos for suggesting this

Updated 12/10/2017 15:19

zoom out to show nearest quest if nearby


Currently: New users opens app, gives location permission, app zooms in, quest loading message appears. Then nothing changes (at least in cases where downloaded quest is not next to the current location).

Maybe it would be preferable to zoom out to slow nearest quest, once quest download ends? And generally, if no quests are nearby maybe it would be preferable to show where is the nearest one?

Obviously, if showing nearest quest would zoom out to much (because it is too far away) it would be preferable to trigger quest download.

(Tested as a beta tester on Google play)

Updated 12/10/2017 21:47 2 Comments

Visualize aborted keybindings


Description of the Change

Do not merge until atom/atom-keymap#227 is merged into Atom.

<img width=“1065” alt=“screen shot 2017-10-11 at 4 29 56 pm” src=“”>

Adds a new aborted type to the resolver display with the stop octicon so people can see when a keybinding has been selected because others have been aborted before it. This is in addition to the used, unused and unmatched types already present.

Alternate Designs

None considered.


Gives people more information on why a key binding is selected.

Possible Drawbacks

There is confusion around an aborted keybinding which allows other keybindings to be found and the abort! command which does not. This does nothing to alleviate this confusion.

Applicable Issues

  • atom/atom-keymap#227
Updated 11/10/2017 23:36

blacklisted word features


@amyxzhang’s idea - it would be neat to keep track of how effective particular terms are at catching harassment, and show this in the interface. for example, “90% of messages containing x were rejected”, or “10% of messages containing y were rejected”. So that would show them x is a good term to have on their list but that y leads to a lot of false positives and might not be so good.

Some other sites with similar wordlist features require you to manually add variations of words. It would be nice to give you several related suggestions when you add a new word/phrase to your list - its plural, common misspellings, alternate spellings, etc.

There are some privacy issues we’d need to address, but I think letting people share their lists, and suggesting commonly added words (that are not revealing of private info) to users, could be helpful.

We should have a way to batch add/import, so people with extensive lists they’ve built up on other platforms (Youtube, Twitter) can quickly transfer them over.

Updated 16/10/2017 23:59 1 Comments

Scala Native Support


The Scala Native user guide provides a lot of detail on this:

It might also help to look at how another project added Scala Native support:

Scala Native only compiles with specific 2.11 versions (most relevant, 2.11.11). Depending on if dependent libraries are supporting Scala Native or not, tests may not be able to run for Scala Native (ScalaTest, ScalaCheck) and some modules may not build on Scala Native. The core module, being dependency free, should build just fine though. We’ll also somehow need to reflect which modules are available for Scala Native in the readme.

Updated 13/10/2017 11:03 1 Comments

Add HTML Option for Resources in our API


@jag3773 commented on Wed Jan 18 2017


As a developer I want to get resources in HTML format so that I don’t have to do any pre-processing of the text to use it.


Since we are already creating HTML for the live site we should be able to bundle this and provide it as a zip file for download from the API.

@neutrinog commented on Wed Apr 12 2017

@jag3773 how do we want this organized? By chapter? By project/book?

@jag3773 commented on Thu Apr 13 2017

The HTML is already created by the tX pipeline, it’s just a matter of putting a link to it in the API. Possibly this task includes zipping the html if it’s not already. Check with @richmahn on that.

@neutrinog commented on Mon May 15 2017

I’d vote for zipping and signing just like we do with the usfm.

@neutrinog commented on Thu May 18 2017

@richmahn where is the generated html located that @jag3773 mentioned above? And what tx function is generating it?

@neutrinog commented on Thu May 18 2017

See which doesn’t seem to be used. I also see It seems that the code is redundant.

@jag3773 commented on Fri May 19 2017

Joel, you might want the pre convert link that is listed on the dashboard page right now, see

@neutrinog commented on Wed Aug 02 2017

@jag3773 @richmahn I still don’t know what to plug into to get some html. There are two ways to go about this:

  1. trigger html to be generated each time the api is built.
  2. pull re-built html from some location (would require knowing the source version used in the build).

@neutrinog commented on Thu Aug 03 2017

@richmahn do we have something similar to for the rest of the content? e.g. obs, bible, etc.

@jag3773 commented on Wed Aug 09 2017

Yes, HTML is built already. @richmahn Can you please post the URL pattern ?

@neutrinog commented on Thu Aug 31 2017

@richmahn bump.

@richmahn commented on Fri Sep 01 2017

I see I’m still not tracking being tagged in Github comments very well. Sorry for the delay. The HTML files can be gathered from the CDN, but you’d have to know each book/chapter/file for the compiled HTML. For example, for OBS, if you know owner=Door43 repo=en_obs commit=5d0efd50ed you can get the first chapter of OBS:

We should put the ZIP file that those files come from on the CDN in that directory, but currently we do not. Unfortunately the are put in the directory by JOB ID. For example, https:// is the conversion result of some job (not sure which). The only way to know the right file is from the DynamoDB tx-job table.

@jag3773 commented on Fri Sep 01 2017

@richmahn I think we’re looking for the print ready HTML, as if user had hit the print button on the project page.

@richmahn commented on Fri Sep 01 2017

@jag3773 That’s easier, but can be muddled. For OBS:

@richmahn commented on Fri Sep 01 2017

But if you want it to actually end in .html, you can use:, but that above link needs to be at least called once. I assume you’ll put this in a new location, so just use the api link, not the cdn link.

@neutrinog commented on Tue Sep 12 2017

HTML support is working well.. sorta. Some things only work in production and some things only work in develop.

In production we have tA, ULB, and UDB. OBS is only half there because the print url is only returning the title (

In develop only the ULB html link works. If we can get these html links straightened out everything should flow into the API.

@jag3773 commented on Wed Sep 13 2017

Let’s test on 9/14 when our latest tx code is in production.

Updated 11/10/2017 22:41 1 Comments

Add message to CodeSmell


This is just a suggestion and currently won’t compile as we’d have to update every usage of CodeSmell.

After the discussions in #475 and #273 it seemed to me like splitting an Issues description from a CodeSmell’s detailed message makes sense.

With this the Issue description can act as a rationale for the Issue, what it means, the reasoning behind the rule and how it can be fixed. (e.g. “Long function names should be avoided because…….<insert long and detailed description and reasoning here>”)

The CodeSmell message can then point out the specific problem directly. (e.g. “The function ${} has a ${} character long name which is longer than the threshold of $maxFunctionLength. Give this function a shorter name”)

Let me know what you think. If you agree with this I can go through all places we report CodeSmells and give them an empty message to start with "" and we should update them over time.

Updated 16/10/2017 17:39 7 Comments

fs: All parts except the last part should be of the same size


fixes #4881

<!— Provide a general summary of your changes in the Title above –>


<!— Describe your changes in detail –> has detailed explanation on this patch.

How Has This Been Tested?

<!— Please describe in detail how you tested your changes. –> <!— Include details of your testing environment, and the tests you ran to –> <!— see how your change affects other areas of the code, etc. –> go test

Types of changes

<!— What types of changes does your code introduce? Put an x in all the boxes that apply: –> - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change)


<!— Go over all the following points, and put an x in all the boxes that apply. –> <!— If you’re unsure about any of these, don’t hesitate to ask. We’re here to help! –> - [x] My code follows the code style of this project. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [ ] I have added tests to cover my changes. - [x] All new and existing tests passed.

Updated 16/10/2017 20:31 8 Comments

"Votes Submitted" user label disappears upon completion of voting stage


As a facilitator, I want the “Votes Submitted” indicators on user list items to disappear post-voting stage, So that I do not have to visually parse information that is no longer relevant to my facilitation.

By Way Of Explanation: originally, this criteria lived in #294, but it felt like an enhancement, so I’ve extracted it out into its own story.

Acceptance Criteria:

  • [ ] The “Votes Submitted” ribbon from #294 does not appear in non-voting stages.
Updated 10/10/2017 18:48 1 Comments

M2C Existence: multiple processes crawling the same endpoint (blocked by #183)


-This audit task should be shardable on a per-endpoint basis (multiple processes crawling the same endpoint, investigating different portions of the druid tree without contention). - be able to partition with druid name space so maybe like have two instances of audit running one doing the first half or druidss like aa-jj then another instance doing the 2nd half like jj-zz druids??

Updated 13/10/2017 19:22 1 Comments

Navy blue button


<img width=“934” alt=“screen shot 2017-10-09 at 16 05 50” src=“”> <img width=“855” alt=“screen shot 2017-10-09 at 16 05 53” src=“”> <img width=“1046” alt=“screen shot 2017-10-09 at 16 06 17” src=“”>

Updated 09/10/2017 14:15 4 Comments

repo, daemon: use PlugInfo, SlotInfo


Note: followup to #3972, the diff is actually a bit smaller. The is the implementation of item 3 & 4 of the plan

With this PR interface repository uses PlugInfo and SlotInfo internally and also doesn’t return Plug/Slot to daemon/api, the serialization is implemented in the api.

The internals of the repository are still subject for further iterations as pt. 5-7 of the plan are implemented and new types get introduced (ConnectedPlug, ConnectedSlot etc.). There are two FIXMEs in the repository where I temporarily still use Plug/Slot when talking to policy and autoconnect APIs - this is to reduce the scope of changes and diff size and it will be fixed in followup PRs.

Updated 13/10/2017 11:26 1 Comments

Add building Chocolatey packages for the net461 FDD


Don’t replace the existing ones, but add them additionally.

That way users can choose between using the Chocolatey package that requires Microsoft Visual C++ 2015 Redistributable Update 3 to be installed, vs the one that requires the full .NET Framework to be installed.

Maybe even add one for the net451 FDD, for Windows 8.1 and Windows Server 2012 R2 users.

As there’s a Bash script that gets used in, the net461 FDD needs to be builable in a Docker container as well. This is part of #38.

Updated 08/10/2017 12:41 1 Comments

Add ID Attributes to Bootstrap Elements - not working


<!– freeCodeCamp Issue Template –> Add ID Attributes to Bootstrap Elements <!– Please provide as much detail as possible for us to fix your issue –>

<!– Remove any heading sections you did not fill out –>

<!– NOTE: If your issue is CodePen Project / Test Suite related, please open it using the below URL instead –> <!– –>

Challenge Name

<!– Insert link to challenge below –>

Issue Description

<!– Describe below when the issue happens and how to reproduce it –> while clicking the button “Run Tests”, the page is getting stuck

Browser Information

<!– Describe your workspace in which you are having issues–>

  • Browser Name, Version: Chrome (Latest)
  • Operating System: MAC OS SIERRA
  • Mobile, Desktop, or Tablet:

Your Code

<!– If relevant, paste all of your challenge code in here –> ```js



<!– Add a screenshot of your issue –>

Updated 10/10/2017 14:22 1 Comments

Default navigation

  • Blocked by #6

simulate entry point from Gloss provides a default navigation. We have to have something like that.

I don’t really want to implement it as it’s done in Gloss. In Gloss it looks like simulate and play are implemented separately. I want our simulate to be implemented in terms of play with some default event handlers that provide the navigation abilities. Furthermore I want those navigation handlers to be available to the user so they can wrap around them if they need to extend the navigation behaviour.

Updated 07/10/2017 09:26

Fork me on GitHub