Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
afed011
Remove Reverse SSH subsystem: sources, daemon, scripts, config, and docs
No0ne558 Dec 21, 2025
38890c3
Remove reverse SSH configuration, settings, init/shutdown, and CMake …
No0ne558 Dec 21, 2025
f65f603
docs(changelog): record removal of Reverse SSH subsystem
No0ne558 Dec 21, 2025
6aea88d
Fix compiler warnings: use safe string concat in SMTP, silence unused…
No0ne558 Dec 21, 2025
9dc9807
fix(clang-tidy): replace NULL with nullptr and fix reserved identifiers
No0ne558 Dec 21, 2025
e08abc4
fix(clang-tidy): remove reserved identifier prefixes from header guards
No0ne558 Dec 21, 2025
40cbbbe
fix(clang-tidy): replace NULL with nullptr and bzero with memset
No0ne558 Dec 21, 2025
1bf525b
fix(clang-analyzer): initialize char arrays in PrintWorkOrder to avoi…
No0ne558 Dec 21, 2025
d2d5ed6
fix(check.cc): correct floating point rounding with lround()
No0ne558 Dec 21, 2025
da08966
docs(changelog): document clang-tidy fixes, nullptr conversions, mems…
No0ne558 Dec 21, 2025
9ec84ec
Add missing override specifiers to Printer derived classes (clang-tid…
No0ne558 Dec 22, 2025
a45dd24
Add missing override specifiers to CDU derived classes (clang-tidy: m…
No0ne558 Dec 22, 2025
cd2531c
Add missing override specifiers (report_zone.hh, settings.hh) — clang…
No0ne558 Dec 22, 2025
0067463
Add missing override specifiers to inline getters and ReadZone::FileN…
No0ne558 Dec 22, 2025
86de43a
Add override specifiers to PosZone/PosPage (clang-tidy: modernize-use…
No0ne558 Dec 22, 2025
6aecb92
Add override specifiers to LayoutZone methods (clang-tidy: modernize-…
No0ne558 Dec 22, 2025
cd49d24
Add override specifiers to DialogZone-derived classes (clang-tidy: mo…
No0ne558 Dec 22, 2025
0d3ac17
Add missing override specifiers to ButtonZone methods
No0ne558 Dec 22, 2025
7b99b5b
Annotate ButtonZone-derived classes with override where appropriate; …
No0ne558 Dec 22, 2025
39b8911
Annotate ListField destructor with override in form_zone.cc
No0ne558 Dec 22, 2025
4076feb
Add override annotations to AccountZone methods
No0ne558 Dec 22, 2025
eff1cad
Annotate CDUZone destructor and overrides in cdu_zone.hh
No0ne558 Dec 22, 2025
f88a1c3
docs(changelog): document clang-tidy/override audit and current test …
No0ne558 Dec 22, 2025
22b301d
zone(drawer): add safe override specifiers to DrawerAssignZone and Dr…
No0ne558 Dec 22, 2025
425d151
zone(creditcard): add override specifiers to CreditCardListZone methods
No0ne558 Dec 22, 2025
b5c984b
zone(chart): add/remove override specifiers and fix mismatched annota…
No0ne558 Dec 22, 2025
e4da3f4
logger: flush on info and explicit flush after structured JSON to mak…
No0ne558 Dec 23, 2025
3aff81b
feat: comprehensive nullptr modernization across entire codebase
No0ne558 Dec 23, 2025
d59dd89
feat: apply targeted C++ modernizations
No0ne558 Dec 23, 2025
6a53f44
feat: extend clang-tidy modernizations
No0ne558 Dec 23, 2025
676ea8d
refactor: modernize C-arrays to std::array in manager.cc
No0ne558 Dec 23, 2025
e64d8fa
fix: resolve narrowing conversion warnings (bugprone-narrowing-conver…
No0ne558 Dec 23, 2025
67ade57
fix: add missing default cases to switch statements (bugprone-switch-…
No0ne558 Dec 23, 2025
262b4a5
docs: add changelog entry for bugprone-switch-missing-default-case fixes
No0ne558 Dec 23, 2025
69b671d
refactor: remove duplicate branch bodies (bugprone-branch-clone)\n\n-…
No0ne558 Dec 23, 2025
0631955
docs: changelog for bugprone-branch-clone refactor in manager.cc
No0ne558 Dec 23, 2025
c6d1e47
refactor: eliminate branch-clone patterns in button_zone.cc\n\n- Merg…
No0ne558 Dec 23, 2025
8e3fbba
docs: extend changelog with button_zone.cc branch-clone cleanup details
No0ne558 Dec 23, 2025
4caefc0
refactor: reduce branch-clone patterns in dialogs and credit card lis…
No0ne558 Dec 23, 2025
dd00023
docs: note branch-clone cleanups in dialog and credit card modules
No0ne558 Dec 23, 2025
4e1cb47
Fix logging system test failure to achieve 40/40 passing tests
No0ne558 Dec 23, 2025
df56674
Fix critical bugprone warnings: empty catch blocks and narrowing conv…
No0ne558 Dec 23, 2025
e50273b
Modernize fixed-size buffers to std::array in manager.cc
No0ne558 Dec 23, 2025
83ff2f5
zone: convert ZONE_* macros to enum ZoneType for type safety; preserv…
No0ne558 Dec 23, 2025
98cb9d3
print: convert PRINT_* macros to enum PrintModeFlags; dedupe in repor…
No0ne558 Dec 23, 2025
e5598fa
receipt: convert RECEIPT_* macros to enums (ReceiptCopy, ReceiptPrint…
No0ne558 Dec 23, 2025
852ab3e
settings: use ReceiptPrintType at call sites (check/payment) via vt::…
No0ne558 Dec 23, 2025
296ac34
settings-ui: switch ReceiptPrint display/cycle to ReceiptPrintType; r…
No0ne558 Dec 23, 2025
d6a8ded
drawer-print: migrate to DrawerPrintType enum; remove legacy arrays; …
No0ne558 Dec 23, 2025
36408a0
Macro → Enum sweep: DrawerModeType + printer/server/op/window protocols
No0ne558 Dec 23, 2025
e0302f8
Clean up lingering SERVER_* macro references in debug/locale strings
No0ne558 Dec 23, 2025
c96a911
Enum migration: Complete settings format enums (PriceRounding, Measur…
No0ne558 Dec 23, 2025
5f19499
Fix duplicate branch bodies in settings.cc (clang-tidy bugprone-branc…
No0ne558 Dec 23, 2025
e751a1f
perf: optimize enum sizes to reduce memory footprint
No0ne558 Dec 23, 2025
6f282b9
fix: add missing default cases in switch statements
No0ne558 Dec 23, 2025
a46404b
fix: correct rounding in tax calculation
No0ne558 Dec 23, 2025
fa6afa4
refactor: consolidate duplicate branch bodies in check.cc
No0ne558 Dec 23, 2025
c283fdd
fix: eliminate narrowing conversions in check.cc
No0ne558 Dec 23, 2025
da5e043
refactor: resolve remaining branch-clone warnings
No0ne558 Dec 23, 2025
c08ccdd
Address clang-tidy findings and update changelog
No0ne558 Dec 23, 2025
a5bd65f
Add Development.md for dev branch and remove README.md
No0ne558 Dec 23, 2025
56432de
Add README for development branch
No0ne558 Dec 23, 2025
457c654
Delete Development.md
No0ne558 Dec 23, 2025
b8b033b
Fix lambda capture of member variable file_version in Archive constru…
No0ne558 Dec 24, 2025
896892b
Fix job security touch flow and hardware view toggle
No0ne558 Dec 24, 2025
2ab82a1
Fix Sales Item List button view separation - show list and form separ…
No0ne558 Dec 27, 2025
0da2cb7
feat: Complete C++23 modernization - convert all snprintf/sprintf to …
No0ne558 Jan 2, 2026
0d56140
fix: Remove default case breaking page inheritance in Page::Init()
No0ne558 Jan 2, 2026
fcd9c90
fix: Add C++20/C++23 feature detection for compiler compatibility
No0ne558 Jan 2, 2026
5165581
ci: Update Linux builds workflow to use C++23 standard
No0ne558 Jan 2, 2026
86d59cb
ci: Restrict CI to GCC 14+ for C++23 stdlib support
No0ne558 Jan 2, 2026
0474d4c
ci: Remove old compiler entries from include section
No0ne558 Jan 2, 2026
46163ff
Fix double-touch and click area issues in ListField
No0ne558 Jan 3, 2026
9aade33
Fix ListField double-touch and improve Order Comment dialog
No0ne558 Jan 4, 2026
ffb3673
Complete OrderCommentDialog redesign with modern layout
No0ne558 Jan 7, 2026
45110a1
Merge pull request #335 from No0ne558/dev
No0ne558 Jan 7, 2026
96b0300
test: Add comprehensive test suite expansion with 26 new test cases
No0ne558 Jan 8, 2026
c259bcf
fix: Prevent NULL pointer dereference crash in UserEditZone::SaveRecord
No0ne558 Jan 8, 2026
5160ede
Fix User Edit Zone crashes on save operations
No0ne558 Jan 8, 2026
c829b02
Merge pull request #336 from No0ne558/dev
No0ne558 Jan 8, 2026
e3191f3
perf: Add memory efficiency optimizations for Raspberry Pi CM5
No0ne558 Jan 10, 2026
0523bc1
fix: Preload all textures to fix button highlighting bug
No0ne558 Jan 10, 2026
1b7f546
fix: Remove broken static tile cache causing button highlighting bugs
No0ne558 Jan 10, 2026
e898370
Merge pull request #337 from No0ne558/dev
No0ne558 Jan 10, 2026
d02a77c
UI: Modernize quantity entry keypad
No0ne558 Jan 15, 2026
7546353
Merge pull request #338 from No0ne558/dev
No0ne558 Jan 15, 2026
6439b95
Performance: Optimize screen saver drawing efficiency
No0ne558 Jan 15, 2026
0389027
Merge pull request #339 from No0ne558/dev
No0ne558 Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
Checks: >
-*,
clang-analyzer-*,
bugprone-*,
-bugprone-easily-swappable-parameters,
performance-*,
-modernize-use-trailing-return-type,
-modernize-avoid-c-arrays,
-modernize-macro-to-enum,
modernize-use-nullptr,
modernize-use-override,
modernize-use-equals-default
HeaderFilterRegex: '^.*/(main|src|zone|tests)/.*'
30 changes: 3 additions & 27 deletions .github/workflows/linux-simple-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,16 @@ jobs:
fail-fast: false
matrix:
cxx:
- g++-12
- g++-13
- g++-14
- clang++-16
- clang++-17
- clang++-18
# Note: Older compilers (g++-12, g++-13, clang++-16, clang++-17, clang++-18)
# don't have full C++23 stdlib support (missing std::format in libstdc++)
build_type: [Debug] #, Release]
std: [20]
std: [23]
include:
# cannot be installed on ubuntu-24.04 be default?
- cxx: g++-12
cc: gcc-12
other_pkgs: g++-12
cxxflags: "-O1 -fmax-errors=5"
- cxx: g++-13
cc: gcc-13
other_pkgs: g++-13
cxxflags: "-O1 -fmax-errors=5"
- cxx: g++-14
cc: gcc-14
other_pkgs: g++-14
cxxflags: "-O1 -fmax-errors=5"
- cxx: clang++-16
cc: clang-16
other_pkgs: clang-16
cxxflags: "-O1 -fmax-errors=5"
- cxx: clang++-17
cc: clang-17
other_pkgs: clang-17
cxxflags: "-O1 -fmax-errors=5"
- cxx: clang++-18
cc: clang-18
other_pkgs: clang-18
cxxflags: "-O1 -fmax-errors=5"

steps:
- uses: actions/checkout@v4
Expand Down
34 changes: 4 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ endif()
# https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html
string(COMPARE EQUAL "${CMAKE_CXX_STANDARD}" "" no_cmake_cxx_standard_set)
if(no_cmake_cxx_standard_set)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
message(STATUS "Using default C++ standard ${CMAKE_CXX_STANDARD}")
Expand Down Expand Up @@ -419,7 +419,6 @@ add_library(vtcore
src/core/error_handler.cc src/core/error_handler.hh
src/core/crash_report.cc src/core/crash_report.hh
src/network/remote_link.cc src/network/remote_link.hh
src/network/reverse_ssh_service.cc src/network/reverse_ssh_service.hh
src/core/debug.cc src/core/debug.hh
src/core/generic_char.cc src/core/generic_char.hh
src/core/logger.cc src/core/logger.hh
Expand Down Expand Up @@ -552,9 +551,7 @@ target_link_libraries(vt_print vtcore)
add_executable(vt_cdu cdu/cdu_main.cc main/hardware/cdu_att.cc)
target_link_libraries(vt_cdu vtcore)

# Reverse SSH daemon
add_executable(reverse_ssh_daemon src/network/reverse_ssh_daemon.cc)
target_link_libraries(reverse_ssh_daemon vtcore)


# Test executable to verify Catch2 integration
if(BUILD_TESTING)
Expand Down Expand Up @@ -588,7 +585,7 @@ install(CODE "file(MAKE_DIRECTORY \${CMAKE_INSTALL_PREFIX}/viewtouch/dat/crashre
install(CODE "file(MAKE_DIRECTORY \${CMAKE_INSTALL_PREFIX}/viewtouch/bin/vtcommands)")
install(CODE "file(MAKE_DIRECTORY \${CMAKE_INSTALL_PREFIX}/share/viewtouch/fonts)")

install(TARGETS vtpos vt_cdu vt_print vt_term vt_main reverse_ssh_daemon
install(TARGETS vtpos vt_cdu vt_print vt_term vt_main
RUNTIME DESTINATION viewtouch/bin
LIBRARY DESTINATION viewtouch/lib
ARCHIVE DESTINATION viewtouch/lib/static)
Expand Down Expand Up @@ -626,30 +623,7 @@ else()
endif()
install(PROGRAMS scripts/tools/vtcommands.pl DESTINATION viewtouch/bin/vtcommands)

# Install reverse SSH daemon service, configuration, and management scripts
# Skip systemd service installation in CI environments (requires root permissions)
if(NOT DEFINED ENV{CI})
install(PROGRAMS scripts/system/reverse-ssh-daemon.service DESTINATION /etc/systemd/system/)
message(STATUS "Installing reverse SSH daemon systemd service to /etc/systemd/system/")
else()
message(STATUS "Skipping systemd service installation (CI environment detected)")
endif()
install(PROGRAMS scripts/tools/vt_reverse_ssh DESTINATION viewtouch/bin/)
install(PROGRAMS scripts/tools/vt_ssh_security DESTINATION viewtouch/bin/)
install(PROGRAMS scripts/tools/vt_reverse_ssh_setup DESTINATION viewtouch/bin/)

# Install reverse SSH configuration file
# Skip /etc/viewtouch/ installation in CI environments (requires root permissions)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config/reverse_ssh_daemon.conf")
if(NOT DEFINED ENV{CI})
install(FILES config/reverse_ssh_daemon.conf DESTINATION /etc/viewtouch/ RENAME reverse_ssh.conf)
message(STATUS "Installing reverse SSH configuration file to /etc/viewtouch/reverse_ssh.conf")
else()
message(STATUS "Skipping /etc/viewtouch/ configuration file installation (CI environment detected)")
endif()
else()
message(WARNING "Reverse SSH configuration file not found: config/reverse_ssh_daemon.conf")
endif()


#install(CODE "MESSAGE(\"Sample install message.\")")

Expand Down
Loading