modules/invite.jsView |
---|
9 | 9 … | var plugs = require('../plugs') |
10 | 10 … | var sbot_publish = plugs.first(exports.sbot_publish = []) |
11 | 11 … | var follower_of = plugs.first(exports.follower_of = []) |
12 | 12 … | |
13 | | - |
14 | | - |
15 | | - |
16 | | -function parseMultiServerInvite (invite) { |
17 | | - var redirect = invite.split('#') |
18 | | - if(!redirect.length) return null |
19 | | - |
20 | | - var parts = redirect[0].split('~') |
21 | | - .map(function (e) { return e.split(':') }) |
22 | | - |
23 | | - if(parts.length !== 2) return null |
24 | | - if(!/^(net|wss?)$/.test(parts[0][0])) return null |
25 | | - if(parts[1][0] !== 'shs') return null |
26 | | - if(parts[1].length !== 3) return null |
27 | | - var p2 = invite.split(':') |
28 | | - p2.pop() |
29 | | - |
30 | | - return { |
31 | | - invite: redirect[0], |
32 | | - remote: p2.join(':'), |
33 | | - key: '@'+parts[1][1]+'.ed25519', |
34 | | - redirect: '#' + redirect.slice(1).join('#') |
35 | | - } |
36 | | -} |
37 | | - |
38 | 13 … | exports.invite_parse = function (invite) { |
39 | | - return parseMultiServerInvite(invite) |
| 14 … | + return ref.parseInvite(invite) |
40 | 15 … | } |
41 | 16 … | |
42 | 17 … | exports.invite_accept = function (invite, onProgress, cb) { |
43 | 18 … | var data = exports.invite_parse(invite) |
82 | 57 … | } |
83 | 58 … | |
84 | 59 … | exports.screen_view = function (invite) { |
85 | 60 … | |
86 | | - var data = parseMultiServerInvite(invite) |
| 61 … | + var data = ref.parseInvite(invite) |
87 | 62 … | if(!data) return |
88 | 63 … | |
89 | 64 … | var progress = Progress(4) |
90 | 65 … | |
125 | 100 … | |
126 | 101 … | return div |
127 | 102 … | } |
128 | 103 … | |
| 104 … | + |
| 105 … | + |
| 106 … | + |