Apply go fix ./... analysers (Go 1.26) across backend and examples:
- interface{} → any (type alias, no behaviour change)
- for i := 0; i < N; i++ → for range N / for i := range N
- slices.Contains / slices.ContainsFunc replacing manual loops
- strings.SplitSeq replacing strings.Split in range (avoids allocation)
- strings.CutPrefix replacing HasPrefix+TrimPrefix
- min() replacing manual if/else
- fmt.Appendf replacing []byte(fmt.Sprintf(...))
- strings.Builder replacing string += concatenation
- wg.Go(func(){}) replacing wg.Add(1)/go/wg.Done() pattern
- removed redundant ii := i loop variable copies (unnecessary since Go 1.22)
omitempty on struct-typed JSON fields: go fix removed omitempty from
struct-typed fields (time.Time, PostInfo, UserDetailEntry) because
encoding/json's omitempty never applied to struct types — it was always
a no-op. Kept as bare tags (no omitzero replacement) to preserve the
existing serialisation behaviour.
Previously, the error printed was just the following:
error response "401 Unauthorized", Unauthorized"
New error:
error response "401 Unauthorized", ensure you have set ADMIN_PASSWD
and provided it to the command you're running: Unauthorized
Previously, status 200 was set for file export, which is used
for backup, which resulted in an inability to set an error status code
in case of a problem with file generation.
After this change, status code 200 would be written automatically by Go
before we start writing the response's body.
Previously, top-level comments were incorrectly assigned
parent comment id "root", which made them non-root,
so they are not returned when requested
in the `/find?format=tree` API call.
To fix the previously imported comments, please export all your comments
and replace `"pid":"root"` with `"pid":""` and then re-import them.
* make tests more resilient
* adjust drone for v1.x and dev-box, remove travis support
* add backend build step on branch for drone
* fix from email
* change notif email
* less demanding test wait
* add settings section to drone plugins
* adjust branch build
* convert all drone ci docker confs
* rename drone targets
* WIP: url mapper, wrapped reader approach
* create url mapper on start
* add pattern matching in mapper
* check pattern matching in test
* change site-id from radio-t to remark42 in tests
* create new url mapper on demand, based on given func, union strict and prefix rules
* rename convert to remap
* add import with mapper test
* rename mapper func to UrlMapperMaker, create comments in test via data service
* move /import/wait to /wait ctrl
* add remap cmd
* fix url naming
* WIP: start with aud verification
* adjust rest test for token's site_id remark42
* add tests for non-matching aud
* fix auth hook test with updates limiter
* check siteID with enabled call for static store
* fix site enabled check
* fresh vendor
* enforce vendor flag with env
* move tree to service package
* move controllers routing to rest.go, remove separate subrouters
* cleanup/formatting
* missing vendor packages
* move rss, img proxy, robots and getstarted to top-level routes
* simplify logger middleware usage
* randomize server test ports
* check for non-admin in admin tests
* lint: minor warns
* admin test to jwt admin
* remove cache, switch to go-pkgz/rest/cache
* remove mongo cache from server test
* remove old caching code
* test tricky disqus inputs
* fix migrator test
* stacktrace dump test
* import with two-stages, wait api and prevnts double run for the same site #231
* lint: missing err check on tmp import file removal
* catch SIQQUIT
* add imprter comments
* add new import apis to spec
* add test for form import
* timeout for import wait api
* lint: uncecked errs
* add keyStore and switch all secret usage to this store
- implement static ks
- add shared secret
* lint: shadow in jwt and missing comment
* rename static key group to shared and use top-level shared secret
* move siteID extraction (from token) to internal func
* lint: merge var and assign for key test
* add siteID to cache Get
* indirect option setters
* add mongo cache with tests, add Key and Flusher
* lint: minor warns
* workaround for cache parallel test
* repeater in mongo cache
* missing repeater vendor
* fix nop cache
* add cache mongo benchmark
* wired mongo cache, single opts group for mongo
* disable goconst
* stop cache repeated on not found error
* use local mongo for tests in travis