Commit Graph

33 Commits

Author SHA1 Message Date
Alexandr Stelnykovych
73ce148ad6 Refactor registerEventCallbacks to remove error handling and simplify callback registration 2025-09-03 12:55:58 +03:00
Alexandr Stelnykovych
1ee7db6948 Unnecessary filterlists database update on service start
https://github.com/safing/portmaster/issues/1988

---
The filterlists database is often updated when the service starts, even if the latest version is already cached in the database.
This does not affect PM’s functionality, but it unnecessarily consumes CPU resources.

**Technical explanation:**
This happens because the filterlists update check sometimes runs before the module is fully initialized.

**Steps to Reproduce:**
1. Start PM and ensure the filterlists are up to date.
2. Fully stop PM.
3. Start PM again.

**Observed result:**
PM reprocesses the filterlists cache database.

**Expected result:**
PM should update only when new data is available. Already processed data should not be reprocessed.
2025-08-28 17:21:17 +03:00
Alexandr Stelnykovych
58f4058633 v2 tests fix (#1956)
* v2 tests fix
* test: added tests for sqlite
2025-08-07 02:04:38 +03:00
Alexandr Stelnykovych
878de4ba9d refactor(filterlists): Improve index update logging
feat(updates): Add String method
2025-08-05 15:40:02 +03:00
Alexandr Stelnykovych
645438bbf4 fix(filterlists): Semantic version comparison for filter lists index file
Avoid false positives, like: "2025.04.14" != "2025.4.14"
2025-08-05 15:33:14 +03:00
Alexandr Stelnykovych
440e605123 fix(filterlists): Resolve occasional FilterLists initialization failures
Improved module initialization and processing logic to enhance concurrency handling and ensure reliable
https://github.com/safing/portmaster/issues/1951
2025-08-05 13:50:03 +03:00
Alexandr Stelnykovych
ec2d4ca9eb Merge branch 'master' into merge/master-into-v2-with-history (v1 into v2)
# Conflicts:
#	Earthfile
#	base/config/main.go
#	base/database/dbmodule/db.go
#	base/database/main.go
#	go.mod
#	go.sum
#	service/core/base/global.go
2025-05-28 11:52:15 +03:00
Alexandr Stelnykovych
b9a9129e81 Merge branch 'feature/sqlite-db-v1' into develop 2025-03-25 17:08:32 +02:00
Daniel
5ffb637321 Remove geoip db loading fallback with binary index 2025-03-17 16:10:38 +01:00
Daniel
be133b8856 Improve filterlist ingestion logging 2025-03-17 15:43:59 +01:00
Alexandr Stelnykovych
32c7f6e7d1 Merge branch 'feature/sqlite-db-v1' into develop 2025-03-17 16:31:48 +02:00
Daniel
c0d8d0c2f0 Add new PurgeOlderThan interface method to SQLite Database 2025-03-10 10:34:57 +01:00
Daniel
67cfefde9b Fix tests 2025-03-04 17:05:03 +01:00
Daniel
b8ab348095 Fix tests and linters 2025-03-04 15:25:44 +01:00
Daniel
76c352da5a Make test parallel 2025-02-26 13:21:51 +01:00
Daniel
83292d761c Fix domain list generation within public suffix 2025-02-26 13:13:28 +01:00
Vladimir Stoilov
5039e9efca Merge branch 'develop' into feature/new-installer 2025-01-14 16:59:21 +02:00
Alexandr Stelnykovych
df70c70ab5 [improvement] Small cache size
(2 ^ 8) = (2 XOR 8) = 10.
Was it intended to be 256?
2024-12-16 16:01:42 +02:00
Vladimir Stoilov
b3c867efc6 Fix stack overflow bug 2024-12-11 16:12:31 +02:00
Vladimir Stoilov
c21a93a4d6 Add missing TODOs 2024-12-10 14:21:34 +02:00
Vladimir Stoilov
5ae261f062 [WIP] Fix tauri notifications 2024-12-03 17:28:40 +02:00
Daniel
7bc1c3b764 Replace dataroot module with BinDir and DataDir on instance, adapt modules 2024-11-06 10:48:02 +01:00
Daniel
0f3f3c360f [WIP] Simplify update system 2024-10-31 16:38:12 +01:00
Vladimir Stoilov
a874ec9412 [WIP] Fix unit tests 2024-10-08 14:13:08 +03:00
Vladimir Stoilov
89b533f949 [WIP] Refactoring 2024-09-20 17:36:07 +03:00
Vladimir Stoilov
84a15b5fb3 [WIP] updater rafactoring, minor improvments 2024-09-17 12:36:44 +03:00
Vladimir Stoilov
701505ae75 [WIP] working download and replace. 2024-09-05 10:25:57 +03:00
Vladimir Stoilov
9bae1afd73 [WIP] New updater first working prototype 2024-09-05 10:25:57 +03:00
Daniel
b6b07296ae [service] Do not warn when custom filter lists are not configured 2024-08-23 10:18:26 +02:00
Daniel Hååvi
80664d1a27 Restructure modules (#1572)
* Move portbase into monorepo

* Add new simple module mgr

* [WIP] Switch to new simple module mgr

* Add StateMgr and more worker variants

* [WIP] Switch more modules

* [WIP] Switch more modules

* [WIP] swtich more modules

* [WIP] switch all SPN modules

* [WIP] switch all service modules

* [WIP] Convert all workers to the new module system

* [WIP] add new task system to module manager

* [WIP] Add second take for scheduling workers

* [WIP] Add FIXME for bugs in new scheduler

* [WIP] Add minor improvements to scheduler

* [WIP] Add new worker scheduler

* [WIP] Fix more bug related to new module system

* [WIP] Fix start handing of the new module system

* [WIP] Improve startup process

* [WIP] Fix minor issues

* [WIP] Fix missing subsystem in settings

* [WIP] Initialize managers in constructor

* [WIP] Move module event initialization to constrictors

* [WIP] Fix setting for enabling and disabling the SPN module

* [WIP] Move API registeration into module construction

* [WIP] Update states mgr for all modules

* [WIP] Add CmdLine operation support

* Add state helper methods to module group and instance

* Add notification and module status handling to status package

* Fix starting issues

* Remove pilot widget and update security lock to new status data

* Remove debug logs

* Improve http server shutdown

* Add workaround for cleanly shutting down firewall+netquery

* Improve logging

* Add syncing states with notifications for new module system

* Improve starting, stopping, shutdown; resolve FIXMEs/TODOs

* [WIP] Fix most unit tests

* Review new module system and fix minor issues

* Push shutdown and restart events again via API

* Set sleep mode via interface

* Update example/template module

* [WIP] Fix spn/cabin unit test

* Remove deprecated UI elements

* Make log output more similar for the logging transition phase

* Switch spn hub and observer cmds to new module system

* Fix log sources

* Make worker mgr less error prone

* Fix tests and minor issues

* Fix observation hub

* Improve shutdown and restart handling

* Split up big connection.go source file

* Move varint and dsd packages to structures repo

* Improve expansion test

* Fix linter warnings

* Fix interception module on windows

* Fix linter errors

---------

Co-authored-by: Vladimir Stoilov <vladimir@safing.io>
2024-08-09 18:15:48 +03:00
Daniel
dc1b9f98f2 Add support for showing anycast addresses in the UI 2024-05-28 15:56:48 +02:00
Patrick Pacher
61176af14e Fix linting errors 2024-03-27 16:17:58 +01:00
Patrick Pacher
8579430db9 wip: migrate to mono-repo. SPN has already been moved to spn/ 2024-03-20 09:45:32 +01:00