client-web icon indicating copy to clipboard operation
client-web copied to clipboard

BUG: Innovation Flow states cannot have a comma in their name

Open ccanos opened this issue 9 months ago • 2 comments

Describe the bug When an innovation flow state has a comma in the display name, weird things happen. the flow-state tagset is misinterpreted and the callouts in that state disappear.

To Reproduce Steps to reproduce the behavior:

  1. Go to Any subspace with admin rights
  2. Click on Manage innovation flow
  3. Add a state with a comma in its name
  4. Move a callout to that new state
  5. See how that callout dissappears
  6. See in the how the callout flow-state tagset comes with two tags instead of one.

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context Add any other context about the problem here.

Areas that will be affected Optional, to be added by developer if relevant

ccanos avatar May 02 '24 07:05 ccanos

I guess that's what happens when you store arrays as comma-separated string in the database. For the issue I see 3 solutions:

  1. (nameID-like?) id for each flow state, so that it never has a comma
  2. Migrate from simple-array to JSON for tags
  3. Stop misusing tags for connecting callouts to innovation flow states

I'd personally go with the 3rd because unlike as with callout locations there seems to be a strong relation between a callout and a flow state and it seem to lay within the business logic/domain.

me-andre avatar May 02 '24 10:05 me-andre

@me-andre my preference for now is #1, going to 2 is possible, #3 is too disruptive a change to pick up at the moment.

After furthter discussion: please do option 1, with enforcement server side.

techsmyth avatar May 03 '24 06:05 techsmyth