Firstly: Big thank you for providing open source version of Waffle board.
Secondly: Sorry for a wall of text. I do understand that this issue is not in desired format and I apologize about that. This is more of an discussion opening and general feedback for few things and it might be better to create issues separately if this discussion provides to be useful.
I finally managed to set my own prototype board up and running locally and I encountered few undocumented installation issues.
There are no mention that nodejs 10+ is required. I tried to run it with 8.12 but .finally() method is not supported in that version and therefore board only updated once (added one card only) after restarting the app. Some googling and issue was resolved but had I've known what were the requirements my life would have been a bit easier. Others might find that info valuable also as we use older nodejs for different reasons.
When using probot to create the github app the websocket secret in .env file must be updated manually as it differs from what is set in github app settings.
BASE_URL is missing in .env file if you use Probot, of course you can check the .env.example file to see how the .env should be configured.
In .env.example file there is mention that BASE_URL must match the Webhook URL which is configured in github app settings. However that setting in my case refers to smee.io (that is eventually pointed to localhost) and BASE_URL is set to http://localhost:3000. I found this a bit confusing.
sorting:true
Sorting, I do not understand how this should work and how it should behave when it's added to columns. I tried with sorting:true and without it and nothing changed.
I used for testing following wuffle.config.js file:
module.exports = {
name: 'xxx',
columns: [
{ name: 'Stuff and Things...', label: null, sorting: true, states: [ 'DEFAULT', 'EXTERNAL_CONTRIBUTION' ] },
{ name: 'Needs Grooming', label: 'groom', sorting: true },
{ name: 'Planned and Ready', label: 'PLANNED', sorting: true },
{ name: 'Bugs, those nasty creatures!', label: 'bug', sorting: true },
{ name: 'Do it Fred!', label: 'IN PROGRESS', sorting: true, states: [ 'IN_PROGRESS' ] },
{ name: 'Needs Review', label: 'NEEDS REVIEW', sorting: true, states: [ 'IN_REVIEW' ] },
{ name: 'WE DID IT!', label: null, closed: true, sorting: true, states: [ 'DONE' ] }
]
};
Manually sort columns
We have quite a big backlog and icebox (because reasons) and it would be nice to be able to sort columns asc/desc by issue creation date.
Labels
I found out that labels defined in wuffle.config.js do not appear on cards on the board which makes sense. However I would like to suggest that when using previously made labels to sort issues to different columns (like in our example above) those non state related labels should/could/would be visible (we use red bug label which is very easy to spot and now it does not appear at all), or maybe add another field that forces label to be visible ie. forceLabelVisible:true or something like that.
I found out that it's very nice to be able to use previously made labels to sort issues as it adds awful lot of flexibility to this boards use cases.
Rebuild app
After messing around with columns names etc. I found out (there's an another issue about this too #49) that if you change the column name you cannot see any issues in that column anymore even if the state or label are unaltered.
I would like to know how to rebuild the app and/or how to destroy the fetched data. I deleted storedump.json file from tmp folder but it did not do anything obviously. I ended up backuping .env and wuffle.config.js files and reinstalling everything from the scratch.
Is there a way to purge every fetched card or do users have to reinstall this app every time if some column name needs to be changed?
Force Refresh cards sorting
Is there any way to force cards column based sorting ie. if I add new column called "Koalas are cute" and I want that column to be populated with issues that have label "Koala" in github they don't appear in that column after restarting the app.
Currently I have to re-add the label in github to the issue and then it will update the board properly.
IN_PROGRESS state
Does this state follow the same ruling in branch naming as it were in Waffle? If so it might be good idea to actually document this as I had to dig interwebs a bit to actually remember the naming convention for new branches.