mirror of
https://github.com/lukaszraczylo/kportal.git
synced 2026-07-11 07:22:15 +00:00
style: Extract UI constants and refactor main view rendering (#30)
- [x] Add golangci-lint configuration with gocritic ifElseChain disabled
- [x] Rename error variables to avoid shadowing (createErr, watcherErr, watchErr, etc.)
- [x] Replace `interface{}` with `any` type alias throughout codebase
- [x] Add package-level documentation comments to all internal packages
- [x] Reorder struct fields alphabetically for consistency
- [x] Extract UI constants (terminal dimensions, column widths, colors) to constants.go
- [x] Refactor BubbleTeaUI main view rendering into smaller helper functions
- [x] Simplify nested conditionals and improve code clarity
- [x] Add `isForwardDisabled()` helper method to BubbleTeaUI
- [x] Update file permissions from 0644 to 0600 in config tests
- [x] Add `#nosec` comments and error suppression where appropriate
- [x] Improve test table struct field ordering for readability
- [x] Fix resource parsing in AddForward using strings.SplitN
- [x] Add comprehensive tests for new UI helper functions and constants
This commit is contained in:
@@ -1,3 +1,19 @@
|
||||
// Package retry provides exponential backoff with jitter for retry logic.
|
||||
// It implements a backoff sequence of 1s → 2s → 4s → 8s → 10s (max),
|
||||
// with 10% random jitter to prevent thundering herd problems.
|
||||
//
|
||||
// Basic usage:
|
||||
//
|
||||
// backoff := retry.NewBackoff()
|
||||
// for {
|
||||
// err := doSomething()
|
||||
// if err == nil {
|
||||
// backoff.Reset()
|
||||
// break
|
||||
// }
|
||||
// delay := backoff.Next()
|
||||
// time.Sleep(delay)
|
||||
// }
|
||||
package retry
|
||||
|
||||
import (
|
||||
@@ -19,8 +35,8 @@ const (
|
||||
// Backoff implements exponential backoff with jitter for retry logic.
|
||||
// The backoff sequence is: 1s → 2s → 4s → 8s → 10s (max, then stays at 10s).
|
||||
type Backoff struct {
|
||||
attempt int
|
||||
rng *rand.Rand
|
||||
attempt int
|
||||
}
|
||||
|
||||
// NewBackoff creates a new Backoff instance with a seeded random number generator.
|
||||
@@ -53,7 +69,7 @@ func (b *Backoff) Next() time.Duration {
|
||||
|
||||
// Add jitter (±10%)
|
||||
jitter := b.calculateJitter(delay)
|
||||
delay = delay + jitter
|
||||
delay += jitter
|
||||
|
||||
b.attempt++
|
||||
return delay
|
||||
|
||||
Reference in New Issue
Block a user