Open
Conversation
Extract TransactionRow and TransactionSkeletonRow into shared components used by both tick and address transaction tables. Add txID and status translation keys across all locales.
…ring Replace mock event generation with RTK Query endpoints calling the Events API. Add VITE_EVENTS_API_URL env var, dev proxy config, event type filter support, NaN guards on URL params, and contractReserveDeduction adapter.
…mprovements Add filter dropdown with reset button on tick events tab, extract duplicated BETA banner into shared BetaBanner component, preserve tab selection when navigating between ticks, and hide stale count labels during loading.
Remove TX Type filter from address transactions (desktop and mobile). Remove address events tab and related hooks since the events API does not yet support identity-based filtering.
Key the ErrorBoundary on location.pathname so it remounts when navigating, clearing stale error state from failed lazy chunk loads.
…ering - New /network/blockchain/events page with event type and tick filters - Shared validation hooks: useValidatedPage, useValidatedPageSize, useSanitizedEventType - Consolidated events API endpoint with reusable filter components - Shared updateSearchParams utility to reduce duplication
Replace ErrorBoundary key={pathname} with pathname prop and
componentDidUpdate to reset error state without unmounting the
entire component tree. The previous approach caused a full
unmount/remount cycle on every tick navigation, which broke
RTK Query subscriptions for the events tab.
Also surface API errors in the events tab instead of silently
showing an empty list.
Add null checks before accessing tickData properties in the search result matching logic and render. When the API returns a 200 response for an empty tick with null/undefined tickData, the code previously crashed with a TypeError.
Store page and pageSize in URL search params instead of local state, consistent with the events tab behavior.
The events API returns timestamps in epoch seconds, but JavaScript Date expects milliseconds, causing dates to display as 1970.
Replace hardcoded 1000-event bulk fetch with paginated getEvents API using transactionHash filter. Auto-corrects page if it exceeds available results.
Remove redux-logger, @tailwindcss/aspect-ratio, and @tailwindcss/typography which are not used anywhere in the codebase.
Replace inline "Show X items" dropdown with a PageSizeSelect wrapper that renders "Show [dropdown] per page" with i18n prefix/suffix labels. Fixes text truncation in non-English locales and simplifies all 5 consumer pages. Also validates pageSize in RichListPage.
- Add getProcessedTickIntervals RTK Query endpoint (GET) - Add getEpochForTick utility to resolve epoch from tick number - Add useGetEpochForTick convenience hook - Display epoch in transaction extended details - Handle ticks falling in gaps between epoch intervals
- Add sharesAuctionEpoch field to SmartContract type - Detect Place Bid transactions based on destination, inputType, and epoch - Add decodeSharesAuctionBid utility for future bid details display - Override transaction type label to "Place Bid" for auction bids
- Move isSharesAuctionBid logic from TransactionDetails into qubic utils - Pass epoch to getTransactionTypeDisplay/Long for auction bid detection - Both TransactionRow (table) and TransactionDetails now show Place Bid
Switch shortDate format from US locale (MM/DD/YYYY) to sv-SE locale for ISO-style dates (YYYY-MM-DD HH:MM:SS)
…tilities - Extract shared useEventFilters hook replacing 3 duplicated filter hooks - Create EventsFilterBar and EventsMobileFiltersModal shared components - Add mobile filter validation for tick range and date range - Centralize TickRangeValue type and toTickRangeValue helper - Compose formatRangeLabel inside getAmountRangeLabel - Extract AddressCell component for highlighted address pattern - Centralize buildTickFilter and parseTickRange utilities
The events API now returns timestamps in milliseconds, matching the transactions API. The previous * 1000 conversion is no longer needed.
Add incoming/outgoing/all direction control to the events filter bar, with bidirectional sync between direction and source/destination filters. Extract shared applyEventDirectionSync utility for desktop and mobile.
Replace single event type filter with multi-select chip-based UI supporting up to 5 concurrent selections. Unify EventTypeChips and EventTypeDropdownList into a single component. Add input validation with deduplication and empty-string filtering.
New event detail page showing all event fields (epoch, tick, timestamp, type, contract index, source, destination, amount, asset details). Event IDs in the events table are now clickable links. Unify contractIndex field naming across adapter.
Virtual TX IDs are now clickable links that open a reduced transaction preview showing TX type, tick, epoch, timestamp, and filtered events. Add support for CUSTOM_MESSAGE and smartContractMessage event types. Hide amount field when no meaningful data exists. Add hideTopBorder to SubCardItem.
Display token issuers as "<name> Issuer" (e.g., "CFB Issuer") instead of two separate tags "Token" + "<name>". The change is centralized in useGetAddressName hook so all consumers (address page, transactions, events, rich list) show the unified label. Also match token website lookup by both name and issuer for correctness.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.