Fix captcha route parsing

This commit is contained in:
Jamie Kyle 2023-11-10 10:46:27 -08:00 committed by GitHub
parent fea85d3a99
commit 31d680d194
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View file

@ -106,12 +106,14 @@ describe('signalRoutes', () => {
});
it('captcha', () => {
const captchaId =
'signal-hcaptcha.foo-bar_baz.challenge.foo-bar_baz.foo-bar_baz';
const result: ParsedSignalRoute = {
key: 'captcha',
args: { captchaId: 'foobar' },
args: { captchaId },
};
const check = createCheck({ hasWebUrl: false });
check('signalcaptcha://foobar', result);
check(`signalcaptcha://${captchaId}`, result);
});
it('linkCall', () => {

View file

@ -48,7 +48,7 @@ type AllHostnamePatterns =
| 'start-call-lobby'
| 'show-window'
| 'set-is-presenting'
| ':captchaId'
| ':captchaId(.+)'
| '';
/**
@ -325,7 +325,8 @@ export const linkDeviceRoute = _route('linkDevice', {
* ```
*/
export const captchaRoute = _route('captcha', {
patterns: [_pattern('signalcaptcha:', ':captchaId', '', {})],
// needs `(.+)` to capture `.` in hostname
patterns: [_pattern('signalcaptcha:', ':captchaId(.+)', '', {})],
schema: z.object({
captchaId: paramSchema, // opaque
}),