Fix semver parsing, add "+soapbox" to instance version
Semver uses dots to separate parts of the version number. Pleroma uses these dots correctly, and then incorrectly strips them out at the wrong time.
For example (wrong):
2.7.2 (compatible; Pleroma 2.4.51-1267-gcfbf24d1-gleasonator+soapbox-dev)
Now becomes (correct):
2.7.2 (compatible; Pleroma 2.4.51-1267-gcfbf24d1.gleasonator+soapbox.dev)
This allows semver to correctly parse the branch and env. Before:
> semver.parse('2.4.51-1267-gcfbf24d1-gleasonator+soapbox-dev')
SemVer {
options: {},
loose: false,
includePrerelease: false,
raw: '2.4.51-1267-gcfbf24d1-gleasonator+soapbox-dev',
major: 2,
minor: 4,
patch: 51,
prerelease: [ '1267-gcfbf24d1-gleasonator' ],
build: [ 'soapbox-dev' ],
version: '2.4.51-1267-gcfbf24d1-gleasonator'
}
After:
> semver.parse('2.4.51-1267-gcfbf24d1.gleasonator+soapbox.dev')
SemVer {
options: {},
loose: false,
includePrerelease: false,
raw: '2.4.51-1267-gcfbf24d1.gleasonator+soapbox.dev',
major: 2,
minor: 4,
patch: 51,
prerelease: [ '1267-gcfbf24d1', 'gleasonator' ],
build: [ 'soapbox', 'dev' ],
version: '2.4.51-1267-gcfbf24d1.gleasonator'
}
Pay attention to the build and prerelease sections.
Also, Application.get_env/2
no longer works inside of mix.exs
after the move from Mix.Config
to Config
, so I've removed it and hardcoded a default build, +soapbox
.
This will help us finally be able to detect Soapbox BE in Soapbox FE.