Skip to content

Hashrate sparklines - #2018

Open
mutatrum wants to merge 6 commits into
bitaxeorg:masterfrom
mutatrum:feature/hashrate-sparklines
Open

mutatrum wants to merge 6 commits into
bitaxeorg:masterfrom
mutatrum:feature/hashrate-sparklines

Improved visuals

71ba770
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results succeeded Oct 9, 2026 in 0s

All 253 tests pass in 2s

  2 files  ±0    2 suites  ±0   2s ⏱️ ±0s
253 tests ±0  253 ✅ ±0  0 💤 ±0  0 ❌ ±0 
255 runs  ±0  255 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 71ba770. ± Comparison against earlier commit f4e77f7.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results

253 tests found

There are 253 tests, see "Raw output" for the full list of tests.
Raw output
ANSIPipe ‑ ANSIPipe create an instance
AddressPipe ‑ AddressPipe create an instance
AppChartComponent ‑ AppChartComponent should create
AppChartComponent ‑ AppChartComponent should destroy chart on ngOnDestroy
AppChartComponent ‑ AppChartComponent should execute pending update when visibility changes to visible
AppChartComponent ‑ AppChartComponent should initialize chart when visible
AppChartComponent ‑ AppChartComponent should not update chart when hidden and should mark pendingUpdate
AppChartComponent ‑ AppChartComponent should schedule resize when visible without pending update
AppChartComponent ‑ AppChartComponent should update chart with "none" mode when visible
AppComponent ‑ AppComponent should create the app
ByteSuffixPipe ‑ ByteSuffixPipe create an instance
DateAgoPipe ‑ DateAgoPipe create an instance
DiffSuffixPipe ‑ DiffSuffixPipe create an instance
DropdownComponent ‑ DropdownComponent should close on Escape
DropdownComponent ‑ DropdownComponent should create
DropdownComponent ‑ DropdownComponent should navigate options with arrow keys and select with Enter
DropdownComponent ‑ DropdownComponent should return option value or index from trackByOption
DropdownComponent ‑ DropdownComponent should select option on click
DropdownComponent ‑ DropdownComponent should set openUpward to true when space below is insufficient
DropdownComponent ‑ DropdownComponent should toggle open/close on trigger click
EditComponent ‑ EditComponent should create
EditComponent ‑ EditComponent should not offer the fixed ST7789 display as a selectable option
EditComponent ‑ EditComponent should treat a fixed ST7789 display as non-configurable
GithubUpdateService ‑ GithubUpdateService should be created
HashSuffixPipe ‑ HashSuffixPipe computes correct power and suffix from static helpers
HashSuffixPipe ‑ HashSuffixPipe create an instance
HashSuffixPipe ‑ HashSuffixPipe formats standard hashrate with suffix
HashSuffixPipe ‑ HashSuffixPipe hides unit when hideUnit is true
HashSuffixPipe ‑ HashSuffixPipe scales by fixed power when provided
HomeComponent pool selection ‑ HomeComponent pool selection should follow automatic failover and recovery while primary remains preferred
HomeComponent pool selection ‑ HomeComponent pool selection should preserve a pending manual switch to Fallback until the preference is acknowledged
HomeComponent pool selection ‑ HomeComponent pool selection should preserve a pending manual switch to Primary until the preference is acknowledged
HomeComponent pool selection ‑ HomeComponent pool selection should reflect reset pool fields (responseTime, poolDifficulty, coinbaseOutputs) on failover
HomeComponent pool selection ‑ HomeComponent pool selection should release a failed manual selection and follow subsequent pool status
HomeComponent pool selection ‑ HomeComponent pool selection should show primary when fallback is preferred but primary is active
HomeComponent pool selection ‑ HomeComponent pool selection should show the active pool if the saved manual preference has not become active
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should NOT set stale data error when hidden and last message is old
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should call loadPreviousData and not prematurely updateChart when awayTime exceeds threshold
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should call updateChart immediately when awayTime is below threshold
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should clear flash timeouts on destroy
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should not update chartData reference when hidden in limitDataPoints
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should reset lastMessageTime and clear stale error when transitioning to visible
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should set stale data error when visible and last message is old
HomeComponent stale data and visibility state ‑ HomeComponent stale data and visibility state should update chartData reference when visible in limitDataPoints
HomeComponent ‑ HomeComponent keeps telemetry and messages live while settings load and after settings fail
HomeComponent ‑ HomeComponent should create
HomeComponent ‑ HomeComponent should render the dashboard widgets and dropdowns when info is loaded
HomeComponent ‑ HomeComponent uses the device presets for frequency messages
LoadingComponent ‑ LoadingComponent should create
LoadingService ‑ LoadingService should be created
LocalStorageService ‑ LocalStorageService should be created
LogsComponent ‑ LogsComponent should create
ModalComponent ‑ ModalComponent should create
NetworkComponent ‑ NetworkComponent should create
NetworkEditComponent ‑ NetworkEditComponent should create
PoolComponent ‑ PoolComponent should create and initialize form with mock data
PoolComponent ‑ PoolComponent should handle secondaryPoolIndex swap, mark controls dirty, and update previousPrim/previousSec on save
PoolComponent ‑ PoolComponent should save both modified pool details and changed pool indices when updateSystem is called
PoolComponent ‑ PoolComponent should update form values when interacting through dropdown DOM elements and inputs
SatsPipe ‑ SatsPipe create an instance
ScoreboardComponent ‑ ScoreboardComponent should create
SettingsComponent ‑ SettingsComponent should create
ShareRejectionExplanationService ‑ ShareRejectionExplanationService should return explanations for known keys from JSON
ShareRejectionExplanationService ‑ ShareRejectionExplanationService should return null for unknown key
SwarmComponent addressValidator ‑ SwarmComponent addressValidator should allow bare hostnames
SwarmComponent addressValidator ‑ SwarmComponent addressValidator should allow hostnames with .local, .lan, .home.arpa, .internal, and other TLDs
SwarmComponent addressValidator ‑ SwarmComponent addressValidator should allow valid IPv4 addresses
SwarmComponent addressValidator ‑ SwarmComponent addressValidator should reject invalid addresses and hostnames
SwarmComponent addressValidator ‑ SwarmComponent addressValidator should return null for empty input
SwarmComponent getDeviceLink ‑ SwarmComponent getDeviceLink should link via .home.arpa when dashboard is accessed via .home.arpa
SwarmComponent getDeviceLink ‑ SwarmComponent getDeviceLink should link via .lan when dashboard is accessed via .lan
SwarmComponent getDeviceLink ‑ SwarmComponent getDeviceLink should link via .local when dashboard is accessed via .local
SwarmComponent getDeviceLink ‑ SwarmComponent getDeviceLink should link via IP when dashboard is accessed via IP
SwarmComponent getDeviceLink ‑ SwarmComponent getDeviceLink should link via bare hostname when dashboard is accessed via bare hostname
SwarmComponent ‑ SwarmComponent does not guess a minimum for a legacy peer or hide higher-priority faults
SwarmComponent ‑ SwarmComponent should create
SwarmComponent ‑ SwarmComponent should render swarm list details and custom components when devices are present
SwarmComponent ‑ SwarmComponent uses each peer's own presets for low and normal frequencies
SystemApiService ‑ SystemApiService should be created
SystemComponent ‑ SystemComponent should create
TooltipDirective ‑ TooltipDirective should update tooltip content when appTooltip binding changes while active
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should append device URI if provided
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should format HttpErrorResponse with JSON error body containing message
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should format HttpErrorResponse with ProgressEvent error body
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should format HttpErrorResponse with status 0 as network error
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should format HttpErrorResponse with string error body
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should format generic Error object message
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should return fallback message for null/undefined/other types
UpdateComponent getHttpErrorMessage ‑ UpdateComponent getHttpErrorMessage should return string directly
UpdateComponent verifyFirmware ‑ UpdateComponent verifyFirmware should report a match when the release digest equals the device checksum
UpdateComponent verifyFirmware ‑ UpdateComponent verifyFirmware should report a mismatch when the digests differ
UpdateComponent verifyFirmware ‑ UpdateComponent verifyFirmware should report an error for other failures
UpdateComponent verifyFirmware ‑ UpdateComponent verifyFirmware should report no-digest when the release asset has no digest
UpdateComponent verifyFirmware ‑ UpdateComponent verifyFirmware should report no-release when the tag does not exist
UpdateComponent ‑ UpdateComponent should create
WebSocketService ‑ WebSocketService should be created
WifiIconComponent ‑ WifiIconComponent should create
isFrequencyLow ‑ isFrequencyLow accepts frequencies at or above the lowest supplied preset
isFrequencyLow ‑ isFrequencyLow does not guess a threshold for missing, malformed, or empty metadata
isFrequencyLow ‑ isFrequencyLow warns about missing or invalid frequency even without metadata
isFrequencyLow ‑ isFrequencyLow warns below the lowest supplied preset
test_asic_job ‑ Bitcoin header encodes hash bytes and little-endian integers
test_asic_result_job ‑ ASIC results preserve complete matched jobs across slot reuse for every driver
test_asic_result_job ‑ BM1366 and BM1397 reject response job IDs outside the active slots
test_asic_result_task ‑ result task discards results when nonce hashing fails
test_asic_result_task ‑ result task preserves thresholds self test and repeated delivery
test_asic_result_task ‑ result task separates registers and empty ASIC responses
test_asic_result_task ‑ result task submits embedded job snapshots without a job store for every protocol
test_asic_submit ‑ job submission owns metadata and recovers from allocation failures
test_asic_submit ‑ job submission rejects unterminated metadata before allocation
test_base58 ‑ Base58 P2PKH encoding
test_base58 ‑ Base58 P2SH encoding
test_base58 ‑ Base58 buffer too small
test_bech32 ‑ Bech32 P2WPKH encoding
test_bech32 ‑ Bech32 P2WSH encoding
test_bech32 ‑ Bech32 invalid v0 length
test_bech32 ‑ Bech32 invalid witness version
test_bech32 ‑ Bech32 testnet encoding
test_bech32 ‑ Bech32m P2TR encoding
test_bm_job_packet_building ‑ BM1397 packet limits midstates and clears unused entries
test_bm_job_packet_building ‑ Bitmain packet builders support unaligned outputs without overwriting guards
test_bm_job_packet_building ‑ Validate midstate generation
test_bm_job_packets ‑ BM1397 disabled rolling sends one midstate and returns the base version
test_bm_job_packets ‑ BM1397 register results preserve type address value and reset job fields
test_bm_job_packets ‑ BM1397 rejects inactive job results and repeated nonces
test_bm_job_packets ‑ BM1397 sparse mask wrap keeps packet midstates and returned versions paired
test_bm_job_packets ‑ BM1397 work packet and returned midstate preserve version mapping
test_bm_job_packets ‑ BM13xx work packets preserve complete header fields byte exact
test_bm_job_packets ‑ Bitmain occupied work slots transfer ownership to replacements
test_coinbase_decoder ‑ BIP-110 signaling detected
test_coinbase_decoder ‑ BIP-110 signaling expired
test_coinbase_decoder ‑ BIP-110 signaling last block
test_coinbase_decoder ‑ BIP-110 signaling not detected
test_coinbase_decoder ‑ Coinbase decoder requires exactly one locktime
test_coinbase_decoder ‑ Coinbase outputs below capacity are not aggregated
test_coinbase_decoder ‑ Coinbase outputs beyond capacity are aggregated
test_coinbase_decoder ‑ Decode P2PKH address
test_coinbase_decoder ‑ Decode P2SH address
test_coinbase_decoder ‑ Decode P2TR address
test_coinbase_decoder ‑ Decode P2WPKH address
test_coinbase_decoder ‑ Decode P2WSH address
test_coinbase_decoder ‑ Decode regtest P2WPKH address
test_coinbase_decoder ‑ Decode testnet P2PKH address
test_coinbase_decoder ‑ Decode testnet P2SH address
test_coinbase_decoder ‑ Decode testnet P2TR address
test_coinbase_decoder ‑ Decode testnet P2WPKH address
test_coinbase_decoder ‑ Decode via miner_job_t directly
test_coinbase_decoder ‑ Varint decode FD format
test_coinbase_decoder ‑ Varint decode FE format
test_coinbase_decoder ‑ Varint decode FF format
test_coinbase_decoder ‑ Varint decode single byte
test_coinbase_decoder ‑ Varint decode truncated buffer bounds checks
test_common_jobs ‑ coinbase hash failures preserve common job output and permit recovery
test_common_jobs ‑ job builder encodes zero short and wide extranonces
test_common_jobs ‑ job builder rejects invalid metadata without changing output
test_common_jobs ‑ job rolling requires a job extranonce and coinbase prefix together
test_common_jobs ‑ standard jobs copy header fields and submission metadata
test_job_building ‑ coinbase hash failures clear output and permit next-call recovery
test_job_building ‑ coinbase hash rejects null destination
test_job_building ‑ coinbase streaming hash keeps large inputs byte exact
test_job_building ‑ coinbase streaming hash preserves segment order across SHA blocks
test_miner_job ‑ miner_job_get_slot indexing and buffer validity
test_miner_job ‑ miner_job_is_rollable validation
test_mining ‑ Check coinbase tx construction
test_mining ‑ Test nonce diff checking
test_mining ‑ Test nonce diff checking 2
test_mining ‑ Validate another merkle root calculation
test_mining ‑ Validate merkle root calculation
test_mining ‑ Validate version mask incrementing
test_mining ‑ Version mask increment preserves unmasked bits across carries and wraparound
test_mining_pipeline ‑ SV1 notify produces expected Bitmain job fields
test_mining_pipeline ‑ SV2 extended messages roll extranonce into the ASIC job byte exact
test_mining_pipeline ‑ SV2 standard messages produce expected Bitmain job fields
test_mining_pipeline ‑ coinbase hash failures skip sending work and permit the next cycle
test_mining_pipeline ‑ job allocation failure skips a send and permits the next cycle
test_mining_pipeline ‑ job task harness preserves idle and staged work behavior
test_mining_pipeline ‑ job task harness rejects oversized extranonce work
test_mining_pipeline ‑ job task preserves maximum accepted metadata and detached ownership
test_mining_pipeline ‑ large coinbase job streams hashing and retains extranonce order
test_mining_pipeline ‑ zero-length extranonce waits for new work and preserves owned metadata
test_pll ‑ Check PLL frequency calculation
test_stratum_json ‑ Parse stratum client.get_version
test_stratum_json ‑ Parse stratum client.reconnect
test_stratum_json ‑ Parse stratum client.show_message
test_stratum_json ‑ Parse stratum client.show_message invalid params
test_stratum_json ‑ Parse stratum configure result
test_stratum_json ‑ Parse stratum error array format
test_stratum_json ‑ Parse stratum error jsonrpc object with code
test_stratum_json ‑ Parse stratum invalid json or malformed parameters
test_stratum_json ‑ Parse stratum method
test_stratum_json ‑ Parse stratum mining.notify abandon work
test_stratum_json ‑ Parse stratum mining.notify hardening
test_stratum_json ‑ Parse stratum mining.notify job_id length validation
test_stratum_json ‑ Parse stratum mining.notify large coinbase suffix (multi-payout pool)
test_stratum_json ‑ Parse stratum mining.notify version, nbits, ntime length validation
test_stratum_json ‑ Parse stratum mining.ping
test_stratum_json ‑ Parse stratum mining.set_extranonce invalid params
test_stratum_json ‑ Parse stratum mining.set_extranonce negative length clamped
test_stratum_json ‑ Parse stratum mining.set_extranonce params
test_stratum_json ‑ Parse stratum mining.set_version_mask params
test_stratum_json ‑ Parse stratum mining.subscribe result malformed
test_stratum_json ‑ Parse stratum notify params
test_stratum_json ‑ Parse stratum notify type confusion
test_stratum_json ‑ Parse stratum result alternative error
test_stratum_json ‑ Parse stratum result error
test_stratum_json ‑ Parse stratum result success
test_stratum_json ‑ Parse stratum result success with large id
test_stratum_json ‑ Parse stratum result success with larger id
test_stratum_json ‑ Parse stratum result with error string (Stale)
test_stratum_json ‑ Parse stratum result with null result and error string
test_stratum_json ‑ Parse stratum set_difficulty params
test_stratum_json ‑ Parse stratum set_difficulty params with fractional
test_stratum_json ‑ Parse stratum set_difficulty rejects invalid values
test_stratum_json ‑ Parse stratum subscribe result extranonce negative size
test_stratum_json ‑ Parse stratum unknown method returns false
test_stratum_json ‑ Parse stratum version mask BIP320 clamping
test_stratum_json ‑ Receive accepts maximum line and preserves the next line
test_stratum_json ‑ Receive fragmented JSON-RPC line
test_stratum_json ‑ Receive preserves consecutive JSON-RPC lines
test_stratum_json ‑ Receive rejects embedded NUL
test_stratum_json ‑ Receive rejects oversized JSON-RPC line
test_stratum_json ‑ Reject invalid numeric and trailing JSON-RPC values
test_stratum_json ‑ Test mining.subcribe result parsing
test_sv2 ‑ SV2 accepts direct and group channel broadcasts
test_sv2 ‑ SV2 extended job reports fixed-version jobs
test_sv2 ‑ SV2 parse new extended mining job direct decoding
test_sv2 ‑ SV2 parse open extended channel extranonce bounds
test_sv2 ‑ SV2 parse submit shares error
test_sv2 ‑ SV2 setup requires version rolling
test_timeout ‑ Check asic timeout 1x BM1397
test_timeout ‑ Check asic timeout 2x BM1370
test_timeout ‑ Check asic timeout 3x BM1370
test_timeout ‑ Check default asic timeout 0x BM1370
test_timeout ‑ Check max asic timeout 1x BM1370
test_utils ‑ Test bin2hex
test_utils ‑ Test double_sha256_bin
test_utils ‑ Test hex2bin
test_utils ‑ Test hex_val_table and hex_decode_byte
test_utils ‑ Test sha256_bin
test_utils ‑ Test url_decode
test_utils ‑ diff_to_target
test_utils ‑ nbits_to_target
test_utils ‑ reverse_32bit_words
test_utils ‑ reverse_endianness_per_word
test_utils ‑ target_to_diff safety
test_utils ‑ uint256_lte boundary conditions
test_utils ‑ word reversal supports overlapping buffers
test_version_rolling ‑ BM1373 version mask writes retry without changing command bytes
test_version_rolling ‑ BM13xx initialization enables the full version rolling mask
test_version_rolling ‑ BM13xx missing jobs and register replies do not produce rolled shares
test_version_rolling ‑ BM13xx response version bits reconstruct rolled block versions
test_version_rolling ‑ BM13xx rolled version reaches SV1 and SV2 share messages byte exact
test_version_rolling ‑ BM13xx version mask register command remains byte exact