* Implement function to prune string keeping HTML closing tags
Fixes#1587
* change const name
remove unneeded comment
* move pruneHTML to separated file
* move const back to telegram.go
* Add unit tests for string array manipulation and HTML pruning
Introduce comprehensive test cases for stringArr methods (Push, Pop, Unshift, Shift, String) to ensure correct behavior and state management. Additionally, add tests for HTML pruning functions (pruneHTML, pruneStringToWord) to validate handling of length constraints and formatting scenarios.
* Improve behavior
* Fix pruneHTML to count visible text only, add parent text pruning
- Fix bug where HTML tags were counted toward the character limit
instead of only visible text content
- Add pruning for parent comment text in Telegram notifications
- Simplify pruneStringToWord using strings.LastIndex
- Remove unused stringArr type and its tests
- Consolidate and simplify test cases
---------
Co-authored-by: Umputun <umputun@gmail.com>
Co-authored-by: Dmitry Verkhoturov <paskal.07@gmail.com>
Previously it was done through writing bot first,
clicking a button, copying the token, and pasting
it into the web interface.
The new flow is way simpler: click the link
to write bot a message, then click the "Check"
button in the web UI and you got notifications
enabled.
* improve TestServer* reliability
* improve TestService_UserReplies reliability
* increase timeout for Test_Main
* improve TestRest_CreateWithPictures readability and reliability
* introduce random port to REST over SSL tests
* tinker TestRest_InfoStreamSince to have more slack before failure
* finalize test errors check unification
* simplify prepServerApp in cmd package tests
* improve TestRest_InfoStreamCancel reliability
* add notify service with no destinations
* change to request for destinations
* add telegram notify and wire to main
* lint: missed err checks
* fix notify factory
* externalize timeout for notify
* fix race in notifier mock
* lint: check notify send status in tests
* lint: write warn
* lint: wrong assignment
* lint: two more writes in tests
* missing notif timeout default