Skip to content

Re-apply Enhancement branch with resolved merge conflicts - #32

Merged
fL0P1337 merged 1 commit into
masterfrom
devin/1779131517-enhancement-fixed
May 18, 2026
Merged

fL0P1337 merged 1 commit into
masterfrom
devin/1779131517-enhancement-fixed

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Re-applies all changes from the enhancement branch (PR #30, commit d3192ec) with all merge conflicts properly resolved and binary artifacts removed.

Root cause of original failure: The enhancement branch was created by merging ~16 feature branches together, but several merges left unresolved conflict markers (<<<<<<<, =======, >>>>>>>) in the source code. This caused MSVC compilation errors on CI.

Conflicts resolved:

  • AppWindow.cpp — 4 nested conflicts in includes section; resolved to include <vector> and <windows.h> (no comments)
  • InterceptionBackend.cpp — nullptr vs NULL in LoadLibraryExW; resolved to nullptr (modern C++)
  • gui/GuiManager.cpp — same nullptr vs NULL conflict; resolved to nullptr
  • tests/mock/windows.h — 45 conflict markers from 6+ branches; unified into clean mock header with all needed types/macros
  • tests/mock/tchar.h — 18 conflict markers; unified to include all needed defines
  • tests/mock/Utils.h / Utils.cpp — unified mock implementations
  • tests/test_SuperglideLogic.cpp — main() vs run_superglide_tests() entry point conflict
  • tests/Makefile — 6 conflicting build configurations; unified into single target
  • combine.yml — fixed target_branch from main to master (matches actual default branch)

Junk files excluded (were in the enhancement branch but shouldn't be committed):

  • commit_message.txt, fix_linkage.py, pr.txt
  • Binary .o files and test_runner executable
  • tests/mock/windows_mock.cpp (duplicated inline functions now in header)

Feature changes preserved from enhancement:

  • Replace side-mouse polling thread with Raw Input API (WM_INPUT)
  • Fix DLL hijacking via LoadLibraryExW with LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR
  • Optimize Config.cpp string ops (const ref params)
  • Support hex/octal in ParseKeyValue via std::stoi(_, nullptr, 0)
  • Remove redundant // <-- Add comments on includes
  • Remove commented-out constants in globals.h
  • Add Globals.h symlink for case-sensitive filesystems
  • Add unit tests for SuperglideLogic, Utils, and Config
  • Update combine.yml merge strategy

Review & Testing Checklist for Human

  • Build the project in Visual Studio (Release|x64) — confirms no remaining syntax errors
  • Run the application and verify side-mouse buttons (Mouse4/Mouse5) still work for keybinds — the Raw Input API replaces the old polling thread
  • Verify Interception backend loads correctly — LoadLibraryExW with restricted search paths may behave differently if DLL is not in the exe directory
  • Check that the combine workflow works for future branch merges — devops-infra/action-pull-request replaces peter-evans/create-pull-request

Notes

  • All conflict markers have been removed and verified with a full grep scan
  • The combine.yml was fixed to target master instead of main (the enhancement branch had main which is incorrect for this repo)

Link to Devin session: https://app.devin.ai/sessions/b12cb4073e064845a826beb32e332637
Requested by: @fL0P1337

Resolved merge conflicts in:
- AppWindow.cpp: Fixed includes and added WM_INPUT raw input handling
- InterceptionBackend.cpp: Use LoadLibraryExW with secure flags (nullptr)
- gui/GuiManager.cpp: Use LoadLibraryExW with secure flags (nullptr)
- tests/mock/windows.h: Unified all mock types and functions
- tests/mock/tchar.h: Unified mock definitions
- tests/mock/Utils.h/.cpp: Combined mock implementations
- tests/test_SuperglideLogic.cpp: Use run_superglide_tests() entry point
- tests/Makefile: Unified build targets

Changes from the enhancement branch:
- Replace side-mouse polling thread with Raw Input API
- Fix DLL hijacking via LoadLibraryExW with restricted search paths
- Optimize Config.cpp string operations (pass by const ref)
- Support hex/octal in ParseKeyValue via std::stoi base=0
- Remove redundant comments on includes
- Remove commented-out constants in globals.h
- Add Globals.h symlink
- Add unit tests for SuperglideLogic, Utils, and Config
- Update combine.yml: use proper merge strategy and devops-infra action
- Exclude binary artifacts (.o files, test_runner)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@fL0P1337
fL0P1337 merged commit 41ecb2c into master May 18, 2026
3 of 4 checks passed
@fL0P1337
fL0P1337 deleted the devin/1779131517-enhancement-fixed branch May 18, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant