Merge branch 'master' into stages

This commit is contained in:
ouwou 2024-06-30 16:35:46 -04:00
commit cf5c94947b
5 changed files with 42 additions and 15 deletions

3
.gitignore vendored
View File

@ -3,6 +3,9 @@
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# Build directory contents
build/*
# User-specific files
*.rsuser
*.suo

7
.lapce/gen_compile_commands.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
# Use this script to create the compile_commands.json file.
# This is necessary for clangd completion.
cmake . -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_EXPORT_COMPILE_COMMANDS=True

24
.lapce/run.toml Normal file
View File

@ -0,0 +1,24 @@
# The run config is used for both run mode and debug mode
[[configs]]
name = "cmake-debug"
program = "sh"
args = [".lapce/gen_compile_commands.sh"]
[configs.env]
CC = "/usr/bin/clang"
CXX = "/usr/bin/clang++"
[[configs]]
name = "cmake"
program = "cmake"
args = ["--build", "build"]
[configs.env]
CC = "/usr/bin/clang"
CXX = "/usr/bin/clang++"
[[configs]]
name = "run"
type = "lldb"
program = "build/abaddon"

1
compile_commands.json Symbolic link
View File

@ -0,0 +1 @@
build/compile_commands.json

View File

@ -32,22 +32,11 @@ std::optional<std::pair<std::string, std::string>> ParseCookie(const Glib::ustri
}
std::optional<Glib::ustring> GetJavascriptFileFromAppPage(const Glib::ustring &contents) {
auto regex = Glib::Regex::create(R"(/assets/\w+\.?\w{20}\.js)");
std::vector<Glib::ustring> matches;
auto regex = Glib::Regex::create(R"(/assets/sentry.*?\.js)");
// regex->match_all doesnt work for some reason
int start_position = 0;
Glib::MatchInfo match;
while (regex->match(contents, start_position, match)) {
const auto str = match.fetch(0);
matches.push_back(str);
int foo;
match.fetch_pos(0, start_position, foo);
start_position += str.size();
}
if (matches.size() >= 8) {
return matches[matches.size() - 8];
if (regex->match(contents, match)) {
return match.fetch(0);
}
return {};
@ -67,7 +56,7 @@ std::optional<uint32_t> GetBuildNumberFromJSURL(const Glib::ustring &url, const
auto res = req.execute();
if (res.error) return {};
auto regex = Glib::Regex::create(R"(Build Number: "\).concat\("(\d+))");
auto regex = Glib::Regex::create(R"(buildNumber",\(.="(\d+))");
Glib::MatchInfo match;
Glib::ustring string = res.text;
if (regex->match(string, match)) {
@ -130,6 +119,9 @@ void DiscordStartupDialog::RunAsync() {
auto js_url = GetJavascriptFileFromAppPage(app_page);
if (js_url.has_value()) {
m_build_number = GetBuildNumberFromJSURL(*js_url, *opt_cookie);
if (m_build_number.has_value()) {
spdlog::get("discord")->debug("Found build number: {}", *m_build_number);
}
}
}
m_dispatcher.emit();