Repository navigation
Expand file tree
/
Copy pathvariables.js
More file actions
169 lines (138 loc) · 6.23 KB
/
Copy pathvariables.js
File metadata and controls
169 lines (138 loc) · 6.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
'use strict';
///////////////////////////////////////////////////////////////////////////////////////
// VARIABLES
///////////////////////////////////////////////////////////////////////////////////////
const defaultTopicCount = 25;
const maxMessageByPage = 20;
const entitySubject = 'subject';
const entityAuthor = 'author';
const entityTopicId = 'topicid';
const jvarchiveUrl = 'https://jvarchive.net';
const avatarUseJvArchiveApi = true;
const deboucledRepositoryUrl = 'https://github.com/Rand0max/deboucled';
const deboucledBackendUrl = 'https://deboucled.randomax.com';
const deboucledApiUrl = `${deboucledBackendUrl}/api`;
const apiChangelogUrl = `${deboucledApiUrl}/changelog`;
const apiChangelogLatestUrl = `${deboucledApiUrl}/changelog/latest`;
const apiYoutubeBlacklistUrl = `${deboucledApiUrl}/youtubeblacklist`;
const apiPrebouclesDataUrl = `${deboucledApiUrl}/preboucles`;
const apiAiLoopsDataUrl = `${deboucledApiUrl}/loops/v2`;
const apiAiBoucledAuthorsDataUrl = `${deboucledApiUrl}/loops/authors`;
const apiCheckUpdateUrl = `${deboucledApiUrl}/checkupdate`;
const apiUpdateUserUrl = `${deboucledApiUrl}/user`;
const apiDiagnosticUrl = `${deboucledApiUrl}/diagnostic`;
const apiMessageQuoteUrl = `${deboucledApiUrl}/message/quote`;
const apiReactionsConfigUrl = `${deboucledApiUrl}/reactions/config`;
const apiMessageReactionUrl = `${deboucledApiUrl}/message/reaction`;
const apiMessageReactionsUrl = `${deboucledApiUrl}/message/reactions`;
const apiMessageReactionsBulkUrl = `${deboucledApiUrl}/message/reactions/bulk`;
let forumReactionEmojis = [];
let forumReactionStickers = [];
let forumReactionStickerMap = new Map();
const checkUpdateExpire = TimeSpan.FromHours(1);
const checkUpdateDeferredExpire = TimeSpan.FromDays(5);
const youtubeBlacklistRefreshExpire = TimeSpan.FromHours(1);
const prebouclesRefreshExpire = TimeSpan.FromMinutes(60);
const aiLoopsRefreshExpire = TimeSpan.FromMinutes(5);
const aiBoucledAuthorsRefreshExpire = TimeSpan.FromMinutes(30);
const updateUserExpire = TimeSpan.FromHours(3);
const diagnosticExpire = TimeSpan.FromHours(12);
const hotTopicsRefreshExpire = TimeSpan.FromMinutes(15);
const messageQuotesRefreshExpire = TimeSpan.FromMinutes(1);
const pendingMessageQuoteExpire = TimeSpan.FromDays(3);
const imageRootUrl = 'https://image.jeuxvideo.com';
const avatarSmallSizeRoute = 'avatar-sm';
const defaultAvatarUrl = `${imageRootUrl}/${avatarSmallSizeRoute}/default.jpg`;
let subjectBlacklistArray = [];
let authorBlacklistArray = [];
let topicIdBlacklistMap = new Map();
let subjectsBlacklistReg;
let authorsBlacklistReg;
let userSubjectBlacklistReg;
let userAuthorBlacklistReg;
let topicIdWhitelistArray = [];
let shadowent = [];
let youtubeBlacklistArray = [];
let youtubeBlacklistReg;
let aiLoopData = undefined;
let aiLoopSubjectReg;
let aiLoopAuthorReg;
let aiBoucledAuthorsData = undefined;
let aiBoucledAuthorsReg;
let hotTopicsData = undefined;
let messageQuotesPendingArray = [];
let messageQuotesData = undefined;
let jvChatActive = false;
let pocTopicMap = new Map();
let topicAuthorMap = new Map();
let authorAvatarMap = new Map();
let pendingAvatarRequests = new Map();
let saveAvatarsTimer = null;
let topicFilteredAuthorMap = new Map();
let entityBlacklistMatches = new Map();
let decensuredUsersSet = new Set();
let hiddenTotalTopics = 0;
let hiddenSubjects = 0;
let hiddenTopicsIds = 0;
let hiddenMessages = 0;
let hiddenAuthors = 0;
let hiddenPrivateMessages = 0;
let hiddenSpammers = 0;
let hiddenAuthorArray = new Set();
let deboucledTopicStatsMap = new Map();
let preBoucleArray = [];
let preBoucleSubjectEnabledArray;
let preBoucleAuthorEnabledArray;
let vinzBoucleArray = [];
let vinzBoucleMessageArray = [];
let matchedSubjects = new Map();
let matchedAuthors = new Map();
let matchedTopics = new Map();
let stopHighlightModeratedTopics = false;
let moderatedTopics = new Map();
let sortModeSubject = 0;
let sortModeAuthor = 0;
let sortModeTopicId = 0;
let disabledFilteringForumSet = new Set();
let firstLaunch = false;
let userId = undefined;
let userPseudo = undefined;
let currentTopicId = undefined;
let currentTopicPageId = undefined;
let currentTopicAuthor = undefined;
let currentForumId = undefined;
let forumFilteringIsDisabled = false;
let fetchedChangelog = false;
let settingsLoaded = false;
const domParser = new DOMParser();
const regexCache = new Map();
let smileyGifMap = new Map();
let brokenSmileyGifArray = [];
let smileyGifRegex = new RegExp();
const deboucledPseudos = ['rand0max', 'rand0max2', 'rand0max3', 'rand0max4', 'rand0max5', 'rand0max6', 'rand0max7', 'rand0maxreborn', 'deboucled', 'decensured', 'roninwf', 'roninwf2'];
const deboucledTopics = ['67697509', '68410257', '68982055', '70029449', '71596925', '76209003'];
// Decensured
const decensuredBackendUrl = 'https://deboucled.randomax.com';
const decensuredApiUrl = `${decensuredBackendUrl}/decensured/api`;
const apiDecensuredMessagesUrl = `${decensuredApiUrl}/message`;
const apiDecensuredSingleMessageUrl = `${decensuredApiUrl}/message/single`;
const apiDecensuredUsersUrl = `${decensuredApiUrl}/user`;
const apiDecensuredCreateMessageUrl = `${decensuredApiUrl}/message/create`;
const apiDecensuredCreateTopicUrl = `${decensuredApiUrl}/topic/create`;
const apiDecensuredTopicByIdUrl = `${decensuredApiUrl}/topic/id`;
const apiDecensuredTopicsByIdsUrl = `${decensuredApiUrl}/topic/ids`;
const apiDecensuredTopicsPaginatedUrl = `${decensuredApiUrl}/topic`;
const apiDecensuredLatestMessagesUrl = `${decensuredApiUrl}/message/latest`;
const apiDecensuredStatsUrl = `${decensuredApiUrl}/stats/online`;
const apiDecensuredUsersOnlineUrl = `${decensuredApiUrl}/users/online`;
const apiDecensuredChatStreamUrl = `${decensuredApiUrl}/chat/stream`;
const apiDecensuredChatMessageUrl = `${decensuredApiUrl}/chat/message`;
const apiDecensuredChatMessagesUrl = `${decensuredApiUrl}/chat/messages`;
const apiDecensuredChatTypingStartUrl = `${decensuredApiUrl}/chat/typing/start`;
const apiDecensuredChatTypingStopUrl = `${decensuredApiUrl}/chat/typing/stop`;
const apiDecensuredChatReactionUrl = `${decensuredApiUrl}/chat/reaction`;
const apiDecensuredChatReactionsUrl = `${decensuredApiUrl}/chat/reactions`;
const apiDecensuredChatReactionConfigUrl = `${decensuredApiUrl}/chat/reactions/config`;
let chatReactionEmojis = [];
let chatReactionStickers = [];
let chatReactionStickerMap = new Map();