Indexing error when there are percent signs (%) in macros

Fix versions

Priority

Description

Root cause

We assumed all macros had url-encoded their macro parameters, to pass them in the XML without disruption.

However, only requirement keys are encoded in such a way. We’re decoding the parameters of all macros during the rendering, when none of that is necessary.

Original reason: It was to avoid interference with the way Confluence stores macro parameters. In fact, it wasn’t necessary, according to today’s sources (perhaps it was in Confluence 5.x).

Solution

Instead of decoding all macro parameters, we’ll only decode the requirement keys.

Original description

It seems our macro decoder doesn't handle macro parameters very well, since it produces an exception when encountering strings like "20%, 30%, 40%".

Consequence: It fails the indexation of that requirement or that page.

 

Source (MacroParser.java:97):

This is false, at least in Confluence 8.6.1, but I’ve certainly introduced it when it was true, so we need to find the origin of this assertion.

Activity

Show:
Resolved

Details

Assignee

Reporter

Sprint

Release date

Requirement Yogi

Created January 19, 2024 at 11:07 AM
Updated January 21, 2024 at 10:23 PM
Resolved January 21, 2024 at 10:44 AM