9888 Commits

Author SHA1 Message Date
Anton Tananaev
eb941d59b7 Catch Firebase exceptions 2026-07-30 21:06:15 -07:00
Anton Tananaev
94eec53e7a Remove sync notificator methods 2026-07-30 20:57:06 -07:00
Anton Tananaev
5dae439944 Migrate web notificator 2026-07-30 20:52:15 -07:00
Anton Tananaev
f52d84cdb2 Migrate command notificator 2026-07-30 20:43:13 -07:00
Anton Tananaev
49992727b5 Migrate email notificator 2026-07-30 20:42:10 -07:00
Anton Tananaev
76470b9230 Migrate SMS notificator 2026-07-30 20:41:31 -07:00
Anton Tananaev
87944529b3 Migrate Firebase notificator 2026-07-30 20:38:27 -07:00
Anton Tananaev
a9937ab30d Migrate Traccar notificator 2026-07-30 20:35:38 -07:00
Anton Tananaev
c3bf5cad74 Migrate WhatsApp notificator 2026-07-30 20:29:52 -07:00
Anton Tananaev
a94e997ee9 Migrate telegram notificator 2026-07-30 20:21:03 -07:00
Anton Tananaev
1bd51377ea Migrate pushover notificator 2026-07-30 20:14:31 -07:00
Anton Tananaev
e79703ce37 Add notificator async methods 2026-07-30 20:10:12 -07:00
Anton Tananaev
b9e663b7dd Remove unused handler 2026-07-30 17:15:44 -07:00
Anton Tananaev
66f039e5d3 Migrate position forwarder 2026-07-30 17:14:59 -07:00
Anton Tananaev
5ee579a38a Migrate event forwarder 2026-07-30 17:12:26 -07:00
Anton Tananaev
17292f9816 Add timeouts on shared HTTP client 2026-07-30 16:38:04 -07:00
Anton Tananaev
629d53d3a3 Add GT06 TRX16i variant support 2026-07-30 15:10:38 -07:00
Anton Tananaev
602d47375a Fix SEEWORLD P5 decoding 2026-07-30 07:36:20 -07:00
Anton Tananaev
ce874cccb9 Various Eview protocol fixes 2026-07-30 07:34:09 -07:00
Dennis Juhler Aagaard
7a9c01b45e Fix MiniFinder WiFi position decoding (#5866)
Co-authored-by: Dennis Juhler Aagaard <dennis@radixadm.dk>
Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>
2026-07-30 07:22:22 -07:00
Mutasim Issa
663e31bd6a Lazy AMQP connection and forwarding error logging (#5889)
* Lazy AMQP connection and forwarding error logging

* Fix AMQP resource management: store and close Connection on reconnect

* Simplify AMQP exception handling

Extract closeQuietly helper for AutoCloseable, unify connect and publish
under a single try, and always throw on failure so callers report via
ResultHandler instead of silently swallowing connect errors.
2026-07-28 18:23:07 -07:00
Anton Tananaev
f6f22ea32a Move media servlet filter 2026-07-27 07:49:30 -07:00
Anton Tananaev
ff09f38e17 Widen non-autoincrement id columns 2026-07-22 19:38:50 -07:00
Marcos Paulo Diniz
0ba37f779c Include conflicting port in log (#5954)
* refactor: expose connector port

* fix: include conflicting port in log

Fixes #5552
2026-07-22 18:42:06 -07:00
Anton Tananaev
c659809365 Fix permission API (fix #5949) 2026-07-20 06:03:40 -07:00
Timmy Braun
2710d25d83 Fix accumulators getting overwritten bug due to caching. (#5948)
https://github.com/traccar/traccar/issues/5892
https://github.com/traccar/traccar/issues/5882
2026-07-15 17:51:56 -04:00
Rahul Duvedi
b0cef79bc7 Set SSLEngine to server mode for secure protocols (#5944)
* Set SSLEngine to server mode for secure protocols

* rm comments

---------

Co-authored-by: Rahul Duvedi <rahuldvedi77@gmail.com>
2026-07-13 06:48:14 -07:00
Anton Tananaev
6316843e84 Support VL502 & VL533 protocol 2026-07-12 08:05:15 -07:00
Anton Tananaev
8d082fbbcb Extract string strip helpers 2026-07-10 20:22:32 -07:00
Anton Tananaev
fb676b0bdb Match JT808 zero-padded identifiers 2026-07-10 20:21:40 -07:00
Anton Tananaev
83cb935e4c Enable database result streaming 2026-07-10 19:37:55 -07:00
Anton Tananaev
db5bb1ce12 Limit number of positions in reports 2026-07-10 18:18:41 -07:00
Anton Tananaev
3dfa356ab2 Migrate trips to stream 2026-07-10 17:38:49 -07:00
Anton Tananaev
56c2c971c7 Migrate excel route to stream 2026-07-10 16:37:11 -07:00
Anton Tananaev
9dcceb3fcb Migrate summary to stream 2026-07-10 16:34:48 -07:00
Anton Tananaev
5bd0071d80 Kill process on out of memory 2026-07-10 11:00:40 -07:00
Anton Tananaev
74c60b445e Support Jimi VL103M protocol 2026-07-10 10:52:05 -07:00
Anton Tananaev
af380c38eb Add missing message type 2026-07-09 22:22:18 -07:00
Anton Tananaev
84cbc0908c Decode 4G Bluetooth clock 2026-07-09 22:17:38 -07:00
Anton Tananaev
754c65359b Support 4G WiFi alarm 2026-07-09 22:05:39 -07:00
Anton Tananaev
d074b5ca3b Support 4G alarm module 2026-07-09 21:35:41 -07:00
Anton Tananaev
f9c9b5a9f1 Collapse GT06 decode function 2026-07-09 19:23:10 -07:00
Anton Tananaev
267acb346d Combine GT06 basic and extended 2026-07-09 19:16:25 -07:00
Anton Tananaev
e1e0a2ccd8 Add Jimi 4G device status 2026-07-09 18:39:29 -07:00
BastyJuice
1e105ec621 Forgotten BCE decoder issue where some BCE packets could fail completely (#5940)
* Add validation for position coordinates

Validate longitude and latitude before setting position.

* Rename test method and remove Disabled annotation

* Refactor BceProtocolDecoderTest to simplify tests

* Fix BceProtocolDecoder to simplify position decoding

* Refactor decodeMask1 and improve error handling

* index handling in decodeMask1 method
2026-07-09 07:34:09 -07:00
Anton Tananaev
50b43cfab5 Correct log level 2026-07-06 19:15:17 -07:00
Anton Tananaev
98d8512e65 Handle expired login token 2026-07-05 09:43:00 -07:00
BastyJuice
f8f043d983 Limit MemoryStorage to latest position per device (#5936)
* Add DATABASE_SAVE_POSITIONS config key

* Inject Config to DatabaseHandler and manage savePositions

* Add conditional position saving in PostProcessHandler

Refactor PostProcessHandler to conditionally save positions based on configuration.

* Fix missing newline in PostProcessHandler.java

Add missing newline at end of file

* Add DATABASE_SAVE_EVENTS config key

Add configuration key for saving events in the database.

* Add saveEvents flag to NotificationManager

* Remove database save positions and events config keys

Removed configuration keys for saving positions and events in the database.

* Remove saveEvents handling from NotificationManager

Removed the saveEvents variable and related logic from the NotificationManager class.

* Refactor DatabaseHandler to remove savePositions config

Removed dependency on config for saving positions and simplified the DatabaseHandler constructor.

* Refactor PostProcessHandler to remove savePositions

Removed unused config dependency and related logic for saving positions.

* Add latestPositionIds map to MemoryStorage

* Update MemoryStorage.java

* Optimize position handling in MemoryStorage

Refactor position storage logic to use iterator for removal.

* Update src/main/java/org/traccar/storage/MemoryStorage.java

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>

* Refactor MemoryStorage to eliminate duplicate put calls

Removed redundant code for putting entity in items.

---------

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>
2026-07-03 18:11:19 +08:00
Anton Tananaev
9aea33b841 Decode phone number indexes 2026-06-30 06:10:31 +08:00
BastyJuice
f212f83a36 Make memory storage concurrent-safe (#5931)
* Make memory storage concurrent-safe

Update `MemoryStorage` to use concurrent collections for shared in-memory object and permission maps.

The previous implementation used regular `HashMap` instances and exposed lazy streams over `values()`. With `database.memory=true` and `database.registerUnknown=true`, concurrent device logins can read from `getObjectsStream()` while another thread registers or updates an object, which can trigger `ConcurrentModificationException`.

This change replaces the shared maps with `ConcurrentHashMap`, centralizes object-map creation through `getObjectMap()`, and uses concurrent permission sets. This keeps the in-memory storage behavior unchanged while making concurrent access from decoder/session threads safer.

* reforge as inline

* Make memory storage maps thread-safe

Use concurrent maps and sets in MemoryStorage to avoid ConcurrentModificationException when memory storage is accessed from multiple protocol threads.

* Simplify server storage initialization in MemoryStorage

one line
2026-06-27 14:39:44 -07:00