From 9b7b63bcfb60adb5b57767e110d5c42fd4cf974a Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Sun, 16 Jan 2022 19:48:56 +0400 Subject: [PATCH] Handle tg://join as tg://joinchat Fix editing monospace text in messageEntityPre --- src/lib/appManagers/appImManager.ts | 28 +++++++++++++++------------- src/lib/richtextprocessor.ts | 4 +++- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/lib/appManagers/appImManager.ts b/src/lib/appManagers/appImManager.ts index d23122d5..cb9417cb 100644 --- a/src/lib/appManagers/appImManager.ts +++ b/src/lib/appManagers/appImManager.ts @@ -486,17 +486,19 @@ export class AppImManager { } }); - this.addAnchorListener<{ - uriParams: { - invite: string - } - }>({ - name: 'joinchat', - protocol: 'tg', - callback: ({uriParams}) => { - const link = this.makeLink(INTERNAL_LINK_TYPE.JOIN_CHAT, uriParams); - this.processInternalLink(link); - } + ['joinchat' as const, 'join' as const].forEach(name => { + this.addAnchorListener<{ + uriParams: { + invite: string + } + }>({ + name, + protocol: 'tg', + callback: ({uriParams}) => { + const link = this.makeLink(INTERNAL_LINK_TYPE.JOIN_CHAT, uriParams); + this.processInternalLink(link); + } + }); }); this.onHashChange(); @@ -688,8 +690,8 @@ export class AppImManager { } private addAnchorListener(options: { - name: 'showMaskedAlert' | 'execBotCommand' | 'searchByHashtag' | 'addstickers' | 'joinchat' | 'im' | - 'resolve' | 'privatepost' | 'addstickers' | 'voicechat', + name: 'showMaskedAlert' | 'execBotCommand' | 'searchByHashtag' | 'addstickers' | 'im' | + 'resolve' | 'privatepost' | 'addstickers' | 'voicechat' | 'joinchat' | 'join', protocol?: 'tg', callback: (params: Params, element?: HTMLAnchorElement) => boolean | any, noPathnameParams?: boolean, diff --git a/src/lib/richtextprocessor.ts b/src/lib/richtextprocessor.ts index a650aa86..b8551f8a 100644 --- a/src/lib/richtextprocessor.ts +++ b/src/lib/richtextprocessor.ts @@ -564,7 +564,9 @@ namespace RichTextProcessor { } case 'messageEntityPre': { - if(!options.noTextFormat) { + if(options.wrappingDraft) { + insertPart(entity, '', ''); + } else if(!options.noTextFormat) { insertPart(entity, `
`, '
'); }