Conversation
mostly works! ✨
ur not dumb. i am
remove all old webpack stuff too
fixed source/type table duplication fixed refresh interval fixed inputs on config page fixed errors not showing up on config page removed custom Alert component to use BAlert
and Error fetching source display from wise. fix ugly source nav fix random bottom empty space make alerts the same across pages and pin them to bottom
Closed
31453
added a commit
that referenced
this pull request
Dec 2, 2025
* try and free python interps, new main named funcs (#3290)
* try and free python interps, new main named funcs
* remove Py_FinalizeEx, reorder exits
* Py_FinalizeEx was killing threads :(
* session_exit needs to come before packet_exit since it adds a session cmd
* move packet exit even later because of packet loop
* node 22.18.0 (#3292)
* db.pl requires leading http/https for OpenSearch/Elasticsearch URLs
* fix navbar wonky colors
* Parliament Vue3 (#3296)
* use vue3 slot syntax
https://v3-migration.vuejs.org/migration-build.html#preparations
* working parliament in vue3 compat!
still needs a lotta work, but it renders!
* misc fixes
get apis working
fix a bunch of css
remove $set in most places
make some fixes on dark mode
* more css fixes
dark mode actually works
checkboxes have checks
and a bunch of other stuff because BS5 is BS
* tooltip directive -> component because Vue3 is mean
* move fetchwrapper to real common (used in viewer)
* prettier stuff!
stats smaller, prettier (?)
show edit mode suggestion for admin with no groups
fix tooltip for delete all button on issues page
* fix wise and remove webpack config from parliament
* remover vue3 compat and fix parliament bundle
* silly case insensitve mac
* fix parliament setCookie ?!?!?!?
remove some commented out code
* fix missing tooltip targets
* copy views file for index ejs template (#3301)
* fix assets endpoint for prod
* force ci for now
* more force
* remove force - just put components in parliament/common
these will be removed when everything is vue3!
* fix quit to call main interations without blocking (#3302)
* support cityname/region from mmdb-city fix #3291 (#3308)
* support cityname/region from mmdb-city
* add fields and display
* fix up some names
* switch to gptrarray for rules and extensions (#3312)
* switch to gptrarray for rules and extensions
* handle free of empty rules
* Gptrarray 2 (#3313)
* more switching to GPtrArray and array cleanup
* fix comment
* WISE Vue3 (#3306)
* first pass at vue3 WISE
mostly works! :sparkles:
* force esbuild version to fix cont3xt npm ci
* remove lots of unnecessary deps!
* fix config.t tests
ur not dumb. i am
* eslint 9 works!!!
remove all old webpack stuff too
* misc fixes
fixed source/type table duplication
fixed refresh interval
fixed inputs on config page
fixed errors not showing up on config page
removed custom Alert component to use BAlert
* fix config source display
and Error fetching source display from wise.
fix ugly source nav
fix random bottom empty space
make alerts the same across pages and pin them to bottom
* config json not config ini!
* use url instead of file in config.test.json for values
* new json editor, upgrade json prettier
* dark mode works and is persisted
---------
Co-authored-by: Andy Wick <andywick@amazon.com>
* remove vuex-persisted state - not maintained
use localStorage directly
* remove lodash.template
used in vue-server-renderer which has been removed and replaced by ejs
* deal with html text response from server in fetch wrapper
remove error from parliament users page (common users takes care of it)
* Consolidate common (#3315)
* consolidate everything into top level common
* remove todo vue3 comment
* standardize navbar styles across apps
except cont3xt for now since it has a different css framework
* fix not iterable selectedIntegrations
add note that there are no integrations selected
* consolidate common navbar styles
add transition to some navs
* fix negative toggles for users
* small buttons
* fix missing assets
use vue data vars so vite knows how to do things
* fix parliament images
i'm not dumb you are
relative paths are for magic losers
* update package lock because of wise
* copy views dir in wise makefile
* add link to github release (#3318)
* add link to github release
* use -GIT to find version
* actually use the path in wise
fix arkime assets vs bundle assets
* fix wise config error messages
don't clear the alert state on the config page for every request
update changelog
remove vue3 compat, whooooops
use just @common
* put back authMode: digest in wise config
* remove base path from wise - run locally from /
* add BIG search expression typeahead (#3326)
* add BIG search expression typeahead
fixes #2948
use modal for text area search expression
make typeahead results a reusable component
also fix field values being interpreted as string in typeahead
* Update viewer/apiSessions.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/vueapp/src/components/search/TypeaheadResults.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* misc fixes
hitting enter applies search expression and closes modal
fix ? tooltip on search expression input
add hint to expand input on the ? tooltip
add tooltip for big search expression input
cancel -> close on big search expression modal
clear results under the small input when modal closes
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* boring navbar styles
because andy thinks my fancy css looks childish
*ouch*
* move to 6.0.0-2 (#3327)
* upgrade to node-22.19.0 (#3330)
* fix a python mem leak (#3329)
* Python reader thread (#3332)
* wip reader python thread
* fix tpacketv3
* fix spelling mistake
* handle no python files, duh
* added arkime_packet and get/set (#3333)
* fix stats tab route params and toggle toolbars
* Cursor Vue3 Migration Bug Fixes (#3334)
* optimize col vis menu
fix clicking in search input closing dropdown
only show first 50
* optimize info col menu
fix clicking in search input closing dropdown
only show first 50
fix some styles to be more condensed
remove .lazy, deprecated in vue3
* Update viewer/vueapp/src/components/sessions/Sessions.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* implement feedback from copilot pr review
make button, not div in dropdown for showing more results
remove !important where unnecessary
* Update viewer/vueapp/src/components/sessions/Sessions.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix(vue3): replace this.$parent.$emit with proper event emission
Replace deprecated this.$parent.$emit pattern in Search component with proper
event emission and handlers in parent components. Fixes Vue 3 compatibility
for CollapsibleWrapper recalc-collapse functionality.
[skip ci]
* fix(vue3): replace deprecated this.$delete with native delete operator
[skip ci]
* fix(vue3): add missing emits declarations to components
Add explicit emits declarations to 9 Vue components that use $emit.
Fixes Vue 3 compatibility and removes undeclared emit warnings.
[skip ci]
* fix(vue3): move v-for keys to template elements per Vue 3 convention
improves performance for Vue 3 template fragment tracking.
* Update viewer/vueapp/src/components/settings/Settings.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* ai is so silly!
removed the entire block instead of removing the duplicate key
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix bounds check
* don't use omit dev to build bundles
remove esbuild pinned version in cont3xt
* don't parse manifest for regression tests
* upgrade vuetify and use modern sass to fix cont3xt build warnings
* set NODE_ENV=development for tests.pl
* Cursor fixes (#3336)
* fix (vue3): $destroy -> unmount
* fix: Replace deprecated keyCode with e.key
for Vue 3 and browser compatibility
* Update viewer/vueapp/src/App.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix (vue3): transition naming convention
* remove .capture from click modifiers
no longer needed for dropdown click handlers in vue3
* add emits to segement select
[skip ci]
* remove $parent usage
* prevent ref access errors in Vue 3
and remove toggle nav chevron on users page
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* upgrade a bunch of npm packages (#3338)
remove vue server renderer
* remove all the ui test configs (#3340)
* Scheme pcapng (#3335)
* Support pcapng with scheme mode
WIP
* ts and pos i think work
* fix file table entries for NG
* Check files index mapping on start (#3341)
* Check files index mapping on start
* update PR num
* fixed compiler warning [noci]
* Container based on Debian 13 now (#3342)
* rename/move constants to arkime_packet
* fix no rules crash (#3347)
* exit in python mode faster (#3349)
* The Session HashTable now can resize as needed (#3350)
* The Session HashTable now can resize as needed
* session hash table can resize
* no longer uses macros so we can replace easier in future
* check hash value before memcmp the key
* fixed hash count
* cppcheck and ip plugin logexit (#3351)
* misc fixes (#3353)
* misc fixes
fix navbar toggle pxl perf
go to correct stats tab based on route params
add more descriptive tooltips for managing (previously master) nodes
fix missing tooltips for non-main managing nodes
fix color of badge for main managing node and use "M" THEN use "m" for just managing nodes
fix invalid date for esnode uptime
fix unflood button on esadmin page
fix es shards node dropdown css
add vertical lines on esshards table
* Update viewer/vueapp/src/components/stats/EsNodes.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix package lock json (#3354)
upgrade packages
* fix missing map data (#3355)
consolidate the map param setter into utils
* misc fixes (#3356)
fix uptime metric on es nodes table
fix files table spacing
fix cluster dropdown spacing
* fix some tooltips
* Sctp 1 (#3357)
* sctp wip
* move most of tcpinfo into tcpData
* change back the register callback
* add lots of sctp stuff
* add the mid_save extra clearing to a callback
* which now can have session id in it (don't love)
* handle out of order - poorly
* deliver sctp msg at a time
* more error checking
* fix mem leak
* fix DLL_ADD_BEFORE
* fix reroute to sessions on expression change
* add container description
* fix clicking outside of create user/role
* misc fixes (#3362)
* misc fixes
fix page length param (inadvertently switched from length to pageLength)
autofocus inputs
fix selecting saved configs
fix sticky vis breaking page
* fix history page
fix table header wrapping
make show all a checkbox with good tooltip
* Update viewer/vueapp/src/components/sessions/Sessions.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix toggle button colors and users page len
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix some lil buggies
* mostly tooltip fixes
* feat: add internationalization (i18n) support with Vue I18n (#3343)
* feat: add internationalization (i18n) support with Vue I18n
- Implement Vue I18n v11 with 7 language support (en, es, fr, de, ja, ko, zh)
- Add shared LanguageSwitcher component with browser language detection
- Create common locale files and comprehensive documentation
- Enable smart language detection: localStorage → browser → English fallback
* add i18n options
[skip ci]
* update internationalization readme
[skip ci]
* intl users page
* more intl
* roles page
* oink oink
* fix some css
* use computed property for user fields
* client part of notifiers done
* finish common
* dynamically load language files
* use express to serve locales
* sessions p1
* sessions p2
* fixed header
* sessions p3
* sessions p4
* missed some :
* new +clickableLabelBody, Elyse should have done this years ago
* fix test
* amazing new directives
* files columns improvements
* use flexbox for all session action menus
* history
* remove <Fieldset> and add export fields lang key
* uploads
* complete sessionOptions sessionPackets
* spiview
* hunts p1
* finished hunts
* spigraph and eshealth
* connections
* fix truncation
* settings cron
* settings done enough
* done!!!
* add de and es translations
cursor generated using claude-4-sonnet
* lint
* do the rest of the language files
generated by cursor using caude-4-sonnet
---------
Co-authored-by: Andy Wick <andywick@amazon.com>
* switch to ptrarray
* remove extra LOG
* Add possible SLL and ctrl_probe hash implementations (#3369)
* Add possible SLL and ctrl_probe hash implementations
* switch to SLL
* first pass at sankey diagram for spigraph/connections (#3366)
* first pass at sankey diagram for spigraph/connections
needs lots of improvements still
i'm not sure that the connections graph makes sense in sankey form
* remove connections sankey
add sankey to english
* move sankey into hierarchy
remove toplevel if 2+ levels
support popups
* remove duplicate mouseover
* popups for sankey labels
fix height causing scroll
fix some styles
* cppcheck fixes
* enforce vue linting (#3364)
* enforce vue linting
cause andy's all butthurt about js having so many rules
do strongly-recommended vue settings (the strictest)
- might change my mind and take it down to recommended
use same js rules in .js and .vue files (so fair now!)
* lint fix all vue files
still linting errors to be fixed manually
* commit an ERROR
* most of the way through the vue warnings!
* fix all the vue linting warnings
* html tag end on same line
* remove vue-loader! no more webpack
* fix some computed and prop types
* more computed tables
* fix lua build
* added rollup-linux-x64-gnu
* fix os
* misc fixes (#3372)
* misc fixes
remove cancel button from upload page
fix session detail button font size
fix spigraph refresh every select input not having a value on load
fix spiview cancel button
fix spiview split buttons
make lang button smaller
fix colors of dst/both nodes on connections
* Update viewer/vueapp/src/components/spiview/Spiview.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* build docker/ja4 on d13
* new image for d13
* Allow multiviewer to change password if usersElasticsearch is set (#3374)
* For WISE/Rules fields that are lower/upper case, capture updates string (#3375)
* More fixes (#3373)
* pixel perfect language switching button!
* fix connections error if d3 isn't initialized
fix type error
* silly string booleans. let's create a type for a 3 state variable!
* update changelog
[skip ci]
* add CHANGELOG to paths-ignore
* viewerhang works with vite!!! [no ci]
* multiviewer logs history for only clusters selected (#3376)
* missed freeSpaceP and memoryP
* re2, vue-i18n, nodemon, axios, better-sqlite3, unzipper, lmdb (#3377)
* re2, vue-i18n, nodemon, axios, better-sqlite3, unzipper, lmdb
* back out better-sqlite3 upgrade because of RHEL8
* newer lru-cache finally, a few breaking changes (#3378)
* newer lru-cache finally, a few breaking changes
del => delete
reset => clear
maxAge => ttl
* missed some reset->clear
* remove ora, update jsdoc-to-markdown, csv (#3379)
* remove ora, update jsdoc-to-markdown, csv
* remove semver
* Clicking on a -GIT version link to go to the commit link (#3381)
* Clicking on a -GIT version link to go to the commit link
also fix non -GIT url
* update cont3xt version too
* update ioredis (#3380)
* upgrade aws, clickhouse, databricks, moment-timezone, sortablejs (#3382)
* Fix scripts (#3383)
* simplify npm package scripts
* Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove unnecessary script from parliament
[skip ci]
* fix viewer:all!
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fixed i18n key spelling
* update arkime-notifme-sdk
which has updated nodemailer dep
* fix crash if no rules
* upgrade some deps (#3387)
to fix npm audit warnings
* misc fixes (#3389)
* misc fixes
fix the modal close bug for good - use @hidden which is always triggered instead of specific close events (backdrop, close, etc)
show view form error
fix view create
fixed cluster Extraneous non-props attributes (class) were passed to component
fix build session query error not showing on sessions page
fix error on connections page not clearing the graph
* Update viewer/vueapp/src/components/settings/Views.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* use recommended js linting rules (#3391)
fix all the linting errors
* upgrade to new splunk which has no more CBs :( (#3390)
* upgrade to new splunk which has no more CBs :(
* lint fix
* fix common.Creating
* more misc fixes :) (#3393)
fix spigraph not issuing query when selecting new field
fix create views not populating existing search expression
fix create view error
fix upload error not displaying cause it's html, not json
* Parliament Intl (#3386)
* add language switcher to parliament
* Update parliament/vueapp/src/main.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* put i18n setup into common
* part 1
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Andy Wick <andywick@amazon.com>
Co-authored-by: Andy Wick <awick@purple.org>
* Shards node left shows which left. (#3399)
* Shards node left shows which left.
Now track ES node ids in dstats so on Shards tab we can show which node is missing for node_left. ES should do this for us!
* handle clusters
* Parliament Improvements (#3395)
* Add clickable links from Issues page to node stats
Make issue table rows clickable to navigate directly to the node's stats
page, similar to the Parliament page. Checkboxes and action buttons
remain functional with click event propagation stopped.
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add URL parameters for Issues page filter toggles
Filter options now persist in URL query parameters, allowing filters to
survive page refresh and be bookmarked/shared. Filters are stored as
computed properties that read from route query params, with watchers
triggering data reload on changes.
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* consolidate 'route.query' handler on issues page
* Add toggle button to show/hide all issues on Parliament page
Button displays eye/eye-slash icon based on visibility state and
hides/shows all cluster issues when clicked.
* Add nav ES status indicator with navigation to problem clusters
Add button in navbar that appears when clusters have ES health issues
(yellow, red status, or health errors). Button displays count and cycles
through affected clusters on click. Scrolls to and highlights each cluster
with a pulsing scale animation. Shares stats via Vuex store for cross-
component access.
* Update parliament/vueapp/src/components/Navbar.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Issues.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Parliament.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Parliament.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* update comment and add check
* fix moving cluster
[skip ci]
* Add Elasticsearch version to Parliament cluster tooltip
* Add low disk space issue detection to Parliament
Monitor capture node disk space and alert when free space falls below
configurable threshold (default 10%). Includes UI settings and filtering.
* check for lowdiskspace being a number before doing anything
* 4% default for capture node disk space
allow long decimals
[skip ci]
* Add percentage or GB option for low disk space threshold
Allow users to configure disk space alerts using either percentage or GB values via dropdown selection in settings.
[skip ci]
* Update parliament/parliament.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Help.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Settings.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Settings.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/parliament.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix missing } - silly ai
* Add Elasticsearch node disk space monitoring to Parliament
Monitor ES node disk space separately from capture nodes with configurable
thresholds. Default is 15% for ES nodes vs 4% for capture nodes. Both support
percentage or GB thresholds.
* misc fixes
Refactor ES node data extraction into reusable helper
Fix unit conversion consistency (decimal units throughout)
Fix Vuex state mutation in Settings component
fix parliament test to include new variables
* Update viewer/apiStats.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/vueapp/src/components/Settings.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update parliament/parliament.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove unnecessary es nodes added to stats endpoint
* use the top promise.all, duh!
* remove unnecessary changes from silly ai
* don't fail parliament fetch if esnodes fetch fails
don't process roles if they don't exist
add test for esNodes in parliament response
* update text
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add footer config to all apps (#3392)
* add footer config to all apps
parliament! - default is "_version_ | <a
href="https://arkime.com/parliament">arkime.com/parliament</a>"
break footer out into common
* add wise footer config
* revert a few silly ai changes
* update changelog
[skip ci]
* add classes to pass into language switcher
for customizing by parent
* enforce no trailing spaces in eslint (#3400)
* enforce no trailing spaces in eslint
* fix all trailing spaces!
* move dedup slots to use and instead of mod
* finish up parliament i18n
* more parliament, someone didn't i18n their new code :)
* add domain tools whois integration (#3406)
* wise intl (#3403)
* wise intl
* finish wise
---------
Co-authored-by: Andy Wick <andywick@amazon.com>
* add greynoise malicious tidbit (#3407)
* Card Highlighting (#3405)
* add URL query parameter highlighting
Add support for highlighting keywords/regex patterns via ?highlight= query parameter.
Highlights appear in pink on page load and change to yellow when searching within tables.
Works across all integration and overview card field types (strings, URLs, JSON, arrays, tables).
* remove unnecessary function
[skip ci]
* add search bar mode selector for query/highlight
Add dropdown to switch between query search and highlight pattern modes.
Highlight mode auto-updates ?highlight= parameter as user types (debounced).
Previous search term is preserved when switching between modes.
* update changelog and help
* update help and misc fixes
* fix memory leak
* rdap improvements (#3409)
add rdap domian integration
add rdap cards for domain and ip
* add crt.sh integration (#3410)
also fix lint error
* add a README to explain adding integrations (#3413)
* add a README to explain adding integrations
* add a bit more info
* update integration readme
* update npm deps (#3416)
* update npm deps
fix vue-color for major version change
* rollback unnecessary change
* fix a few link group bugs (#3417)
* fix a few link group bugs
fix not being able to create link group
fix link group being empty when trying to edit
fix color picker not setting a link's color
* whoops copy pasta
* add zetalytics for ips and domains (#3421)
* add zetalytics for ips and domains
fix lint warning
* remove duplicate code
remove search url that didn't work (zetalytics doesn't have one publicly
accessible)
* update threatfox integration (#3422)
* update threatfox integration
now requires api key (free on site https://auth.abuse.ch/)
add threatfox domain processing
* update changelog with all new integrations
[skip ci]
* handle map=true when facets=false
* fix es indices display
* fix python file loading
* add first vlan back to packet (fixes #3300) (#3427)
* Multiple Notifiers per Resource (#3423)
* periodic queries with multiple notifiers
* Update viewer/apiCrons.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* simplify cron alert logic
don't care about whether it compeltes, just issue alert
don't block continue process if alert can't be issued
* use comma separated string for cron notifiers
* notifier dropdown component!
* add multi-notifiers to hunts!
* remove unnecessary function
[skip ci]
* intl notifier dropdown component
[skip ci]
* misc fixes
use arkime isstring util
remove all (s)'s from en.json
add git commit hook for checking for bad stuffs
* actually add the pre-push git hook
* update changelog
[skip ci]
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* change script setup i18n this.$t to t (#3429)
* node 22.21.1 (#3428)
* node 22.21.1
* fix libnl-genl-3-dev install
* forgot install command
* Handle ES returning 503 better (fixes #3270) (#3430)
* add sctp.protoId (#3434)
* New wise urlapi source (fixes #1633) (#3435)
* misc v6 bugs (#3431)
* misc v6 bugs
- Copy values doesn't work over http, show alert and allow manual copy
- Fix spiview section toggle icons (- to +)
- Fix sessions value/label alignment by forcing min-height
- Fix PCAP download filename format
- Fix table column resize affecting sort order
- Remove unnecessary map=true parameters
- Hunt search expression error disables create hunt button
- Fix session packets error message for $t
* fix the map query param logic
* simplify logic a lot assuming the map is never shown when there are no
facets
* fix the custom theme not getting set on load (#3436)
* fix the custom theme not getting set on load
* actually fix the custom theme
* remove ai edit
[skip ci]
* use connectionsLength as route param for connections paging (#3437)
fixes #3202
* fix parliament highlight (#3438)
* fix parliament highlight
parliament cluster highlight didn't wait for the cluster to scroll into
view, causing the user to not see which cluster was being highlighted
* fix not clearing highlight fallback timer
* ES Admin Improvements (#3445)
* Add shard allocation explanation for unassigned ES shards
Add a new feature that allows ES Admin users to view Elasticsearch's
cluster allocation explanation for unassigned shards. When hovering over
an unassigned shard in the ES Shards tab, users can click an "Explain
Allocation" button in the tooltip to open a modal displaying the full
allocation explanation as JSON.
Changes:
- Add /api/esadmin/allocation endpoint to query ES allocation explain API
- Add Db.allocationExplain() method to interact with Elasticsearch
- Add interactive tooltip functionality to keep tooltips open on hover
- Add modal component to display allocation explanation JSON with loading
states and error handling
- Restrict feature to ES Admin users only
- Add localization for button and modal title
* Fix ES admin settings save and add allocation.enable restore button
- Fix bug where ES admin settings weren't saving due to incorrect parameter name (body -> data)
- Fix same bug in shrinkIndex method
- Add visual warning when cluster.routing.allocation.enable is not "all"
- Add restore button with tooltip to easily change it back to "all"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update viewer/vueapp/src/components/stats/EsShards.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/vueapp/src/components/stats/EsShards.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Updated EsAdmin.vue to use $t('stats.esAdmin.restoreAllocationTip') instead of hardcoded text
Added the translation key to all locale files (en, es, et, zh, de, fr, x-pl)
remove unused assignment
* test new esadmin api endpoints
* fix show allocation explain in light mode
[skip ci]
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add clusterDefault to config (#3439)
* add clusterDefault to config
pass it to client
use it to populate cluster dropdown
* Update viewer/vueapp/src/components/utils/Clusters.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/vueapp/src/components/utils/Clusters.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add changelog
[skip ci]
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add Claude Code agents and repository documentation (#3442)
* add Claude Code agents and repository documentation
Adds specialized agents for Vue 3 UI development, Express API building,
protocol parsing, D3.js visualization, and Elasticsearch integration to
improve AI-assisted development workflows.
Includes CLAUDE.md with architecture overview, build commands, testing
infrastructure, and development patterns to help future Claude Code
instances quickly understand the codebase structure.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update CLAUDE.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* put CLAUDE.md in .claude
add cont3xt integration creation agent
* update claude.md file
[skip ci]
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* node left sets oldNode instead of node now (#3444)
* node left sets oldNode instead of node now
* add old node to the esshards popup
---------
Co-authored-by: 31453 <ecrinne@gmail.com>
* DNS compress pointer chaining max increased to 10 (#3460)
and copilot fixes
* New DHCP Session linking (#3461)
* New DHCP Session linking
* fix mising init
* fix test
* clean up ARKIME_SIZE_ALLOC some
* Moved sessionQ to be baesd on mProtocol and not ses (#3462)
* Moved sessionQ to be baesd on mProtocol and not ses
* now each mProtocol can have its own timeout
* eventually could do different streams
* maybe even remove ses concept eventually.
* copilot improvements
* Update capture/packet.c
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update capture/session.c
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update capture/packet.c
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Added dhcp.classId (#3463)
* Added dhcp.classId
* increase fields to 500
* Added id for dhcpv6 (#3464)
* Added id for dhcpv6
* fix PR numbers
* added dhcp.requestIp (#3465)
* fix warning
* remove support for old password storage (fixes #1774) (#3468)
* remove support for old password storage (fixes #1774)
* lint
* update log msg
* include geoipupdate
* change to official geoipupdate pkg
* mention should be the same as db.pl init
* support --ilm and --ism
* add which setting should be updated
* dnsOutputAnswers defaults to true now (#3473)
* Summary (#3440)
* summary backend
* just increment current obj instead of creating new
* add summary page with charts and export functionality
- Add Summary.vue component with D3.js visualizations for IPs, protocols, tags, and ports
- Implement tables for DNS queries and HTTP hosts
- Add PNG export for charts and CSV export for tables
- Add summary navigation (looks cute, might remove later)
- Add i18n translations
* Update viewer/apiSessions.js
[skip ci]
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiSessions.js
[skip ci]
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiSessions.js
[skip ci]
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiSessions.js
[skip ci]
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiSessions.js
[skip ci]
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* update docs
[skip ci]
* switch summary to use aggregations
* fixed uniqueTcpDstPorts/uniqueUdpDstPorts spelling
* change count to sessions, add packets, add dst:port
* support map/facets in summary query
* Integrate summary as a toggleable view mode within sessions page
Replaced the standalone /summary route with a view mode toggle in the sessions
page, allowing users to seamlessly switch between table and summary views
without navigation. This improves workflow by keeping users on a single page
and persisting their view preference in URL parameters.
Key changes:
- Added table/summary view toggle buttons near the search bar
- Removed /summary route and navigation menu entry
- Removed summary option from actions dropdown (form-based workflow)
- Integrated Summary component directly into Sessions view
- Added sessionsViewMode URL parameter to persist view preference
- Refactored SessionsService to use shared buildSessionParams helper
- Reorganized summary statistics into compact sections with time information
- Added timestamp display (first/last packet, current time) with timezone support
- Optimized layout to minimize vertical space while maintaining readability
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* revert some silly changes
[skip ci]
* refactor summary page with reusable widget components and view modes
- Extract chart/table rendering into SummaryWidget component
- Add view mode selection (pie/bar/table) with export (PNG/CSV)
- Add empty states with folder icons for sections with no data
- Remove unused computed properties and clean up code
- Add i18n translations for all languages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* enhance summary view with configurable results and improved charts
- Add length parameter (10/20/50/100) to control results per widget
- Add results limit dropdown in Sessions navbar for Summary view
- Hide pagination controls when in Summary view mode
- Store results limit in route query for persistence
- Add metric selector dropdown for charts (sessions/packets/bytes)
- Add packets column to all summary tables (DNS, HTTP, protocols, tags, IPs, ports)
- Update column headers: "Queries" → "Sessions", "Requests" → "Sessions"
- Reduce bar chart width from 60px to 30px per bar for better density
- Dynamically scale charts to 600x600px when displaying > 20 items
- Convert pie charts to donut charts with conditional labels (> 2% slices only)
- Make bar charts horizontally scrollable with constrained widget overflow
- Encapsulate chart sizing logic within SummaryWidget component
- Implement responsive grid layout based on results limit
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* lint fix
* replace spigraph popup with interactive chart tooltips
- Create SummaryChartTooltip component with compact stat card layout
- Use shared tooltip at Summary level (single instance for all charts)
- Display sessions, packets, bytes, and percentage (pie charts only)
- Integrate session field dropdown for filtering directly in tooltip
- Use Teleport to render tooltip at body level for proper z-index
- Position tooltip using clientX/clientY for viewport-relative coords
- Remove individual tooltip state from chart components
- Add click-outside handler to close tooltip
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* enhance summary view with sortable tables and fix multi-viewer aggregations
- Replace HTML tables with sortable BTable component
- Use ArkimeLoading spinner and clarify "Sessions %" label
- Add api-summary.t test suite (82 tests) with multi-viewer validation
Fix: multies.js aggregation merge only supported bucket aggregations
(terms/histogram with {buckets} array). The summary endpoint also uses
metric aggregations (min/max/sum with {value}) and filter aggregations
({doc_count} with nested aggs), causing crashes or incorrect merges in
multi-viewer mode.
Enhanced aggConvert2Obj/Arr, aggAdd, and newResult to detect and handle
all three aggregation types. Added null value handling for clusters with
no matching documents. Verified backward compatibility with api-sessions.t.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update viewer/apiSessions.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiSessions.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix(summary): dynamic tooltip labels and proper search handling
- Update pie chart tooltip to show dynamic percentage labels based on
selected metric type (Sessions %, Packets %, or Bytes %)
- Add i18n support for percentage labels with new translation keys
(sessionsPercent, packetsPercent, bytesPercent)
- Fix search button to call /api/sessions/summary instead of /api/sessions
when in summary view mode
- Implement proper parent-child communication between Sessions.vue and
Summary.vue using defineExpose pattern
- Summary component now reloads data when search is triggered via parent
ref call and auto-updates when route query changes via watcher
- Remove duplicate summary request on component mount
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(summary): ensure date parameter and use summaryLength query param
- Add default date parameter when switching to summary view without one
- Use summaryLength instead of length to avoid conflicts with sessions table
- Add useSessionField to all table column definitions for proper rendering
- Remove invalid API documentation parameters
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* enhance summary endpoint with POST support and request cancellation
- Convert summary endpoint from GET to GETPOST with fillQueryFromBody middleware
- Add cancel fetch functionality to Summary.vue with cancelAndLoad method
- Refactor SessionsService to share postSessionsRequest helper between sessions and summary
- Fix map parameter not being included in request params
- Add cancel button to summary loading overlay
- Add i18n keys for cancel messages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* actually send back map/graph for summary
* fix(summary): emit map/graph data to Sessions for visualizations
- Summary.vue now emits map/graph data to parent Sessions.vue
- Moved sessions view selector to the left
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(summary): pull time params from store and add must-sort
- Summary.vue now reads startTime/stopTime from Vuex store (not just route.query)
- Load summary data on mount to prevent stuck loading indicator
- Add must-sort prop to prevent table unsorted state
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix date=0 getting unnecessarily added
[skip ci]
* fix not passing in facets to summary api endpoint
[skip ci]
* fix dstIpPort to use : or . before port
* I broke the tests, I fix the tests, change port test
* issue request when changing page size on summary
[skip ci]
---------
Co-authored-by: 31453 <ecrinne@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* fix DOINIT/DOUPGRADE initialization
* fix python with tzsp
* fix python start/stop with libpcap-file and pcapoverip
* standardize on JSON_SIZE_INCR
* use a cached fieldInfo when saving session
* enforce spaces inside curly braces
update the baseline browser mapping
* always use g_array_sized_new
* add support for 15 and 30 minute queries (#3474)
* add support for 15 and 30 minute queries
* updated
* Add type stub files (*.pyi) to provide type hints and definitions for Python `arkime`, `arkime_session` and `arkime_packet` modules (#3433)
* Fix delete shard for unassigned shards (#3441)
* Fix delete shard for unassigned shards
Use cancel command for unassigned shards instead of allocate_empty_primary
which only works when shard is truly unassigned.
make stats search input wider
* simplify logic
* fix delete shard logic
fix delete shard button tooltip location
* Update viewer/vueapp/src/components/stats/Stats.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiStats.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update viewer/apiStats.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add comprehensive tests for delete shard endpoint
Adds 11 new tests to validate the delete shard functionality:
- Invalid shard number handling (non-numeric values)
- Prevention of deleting assigned/STARTED shards
- Token authentication requirement
- Shard data retrieval and structure validation
- Primary vs replica shard identification (prirep field)
- MultiES cluster mode support
- Edge cases: shard 0, negative shard numbers
These tests validate the fix where primary shards use allocate_empty_primary
and replica shards use cancel commands when deleting unassigned shards.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* Summary improvements (#3475)
* Improve summary page UI: streamline tooltips and consolidate controls
- Remove value labels from bar chart tops for cleaner appearance
- Redesign tooltip with vertical layout (more compact)
- Reposition to top-right of pointer instead of bottom-left
- Increase text size to 11px for better readability
- Prevent text wrapping with white-space: nowrap
- Add label/value spacing for better visual hierarchy
- Consolidate three separate buttons into single gear icon dropdown
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix protocol instead of protocols
fix cancelwith calls
---------
Co-authored-by: Claude <noreply@anthropic.com>
* new authJwsAlgorithm setting, defaults to RS256 (#3476)
* Ip4tostr (#3477)
* new arkime_ip4tostr
* add length checks
* fix arkime_field_getcb_dst_ip_port
* arkime_field_getcb_dst_ip_port v6 was broken forever
* http zlib compression per stream (#3479)
* Use a thread safe ArkimePacket_t freelist (#3481)
* Use a thread safe ArkimePacket_t freelist
This should help with memory fragmentation on bsuy captures.
It does prealloc maxPacketsInQueue*packetThreads, so those
need to be set right on low bandwidth networks.
* fix PR num
* merge main into dev6 (#3485)
* fix settings buttons and clearing url params
* Only count interfaces if set
* Writer simple buf lockfree (#3487)
* move the simple buffer freelist to be global and lock free
previous free list was per thread, being global should help
save memory after things go insane
* add docs and switch to for
* fix comment and cppcheck
* fix fuzzloch
* When talking to remote viewers only the viewUrl is used now and not webBasePath (#3488)
* When talking to remote viewers only the viewUrl is used now and not webBasePath
* fix S2S signing
* move db.js to async and start type removal (#3490)
* Refactor Summary components for extensibility (#3486)
* Refactor Summary components for improved maintainability
This commit significantly simplifies the Summary page architecture through
several targeted improvements:
**Phase 1: Remove duplicate field props**
- Consolidated fieldConfig prop containing all field metadata
**Phase 2: Create column factory function**
(note: will be removed when the user is able to configure the summary)
- Replaced 6 nearly-identical column arrays (~165 lines) with factory
- Single createColumns() function generates all table column definitions
**Phase 3: Delete unused computed properties**
- Removed dead code: currentModeLabel, currentModeIcon, currentMetricLabel
**Phase 4: Simplify export configuration**
- Replaced verbose exportConfig objects with optional exportDataKey
- Derive filename from widget.id and itemLabel from fieldConfig.friendlyName
**Phase 5: Move label constants and clean up props**
- Relocated LABEL_FONT_SIZE and LABEL_RADIUS to SummaryPieChart
- Better encapsulation - constants live where they're used
- Changed enableViewMode default to true, removed from template
- Removed checkboxes from selected dropdown items
**Impact:**
- Summary.vue: 1,304 → 885 lines (32% reduction, 419 lines removed)
- SummaryWidget.vue: 247 → 220 lines (27 lines removed)
- Improved code organization and maintainability
- Easier to add/modify widgets
- Single source of truth for column definitions
**Files modified:**
- viewer/vueapp/src/components/sessions/Sessions.vue
- viewer/vueapp/src/components/summary/Summary.vue
- viewer/vueapp/src/components/summary/SummaryBarChart.vue
- viewer/vueapp/src/components/summary/SummaryPieChart.vue
- viewer/vueapp/src/components/summary/SummaryWidget.vue
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor summary components: integrate FieldService and remove dead code
- Replace hardcoded fieldConfig with dynamic FieldService.getField()
- Remove 150+ lines of dead code (isPieChart logic, CHART_CONSTANTS, unused CSS)
- Simplify props: remove colorScheme, combine chartWidth/chartHeight
- Extract getSlicePercentage helper to eliminate duplicate logic
- Clean up: remove unused parameters, simplify promise handling with .finally()
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add i18n support to summary widgets and fix no-data error
Add internationalization for "No data available" message in SummaryWidget with translations across all 9 locales. Fix 500 error in summary API when aggregations are undefined by returning proper empty response structure. Clean up unused summary translation keys.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Refactor summary endpoint for extensibility
- Add configurable aggFields array with dynamic field aggregations
- Use Config.getFieldsMap() for field-to-dbField mapping
- Add special fields (ip, ip.dst:port) with Painless script aggregations
- Return fields array with viewMode/metricType instead of hardcoded properties
- Update client to consume dynamic fields array with FieldService fallbacks
- Remove legacy backward compatibility response fields
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update summary API tests for new fields array structure
The /summary API now returns aggregated data in a flexible 'fields' array
instead of hardcoded top-level properties. Updated tests to:
- Add getField() helper to locate fields by name in the array
- Replace checks for old properties (uniqueIp, protocols, etc.) with
tests for the new fields array structure
- Verify all 10 expected fields exist with correct data format
- Ensure field objects contain field, data, viewMode, and metricType
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Move summary endpoint fields list to client
- Server now accepts comma-separated fields parameter in POST body
- Client defines default fields array in SessionsService.generateSummary()
- Added validation for missing/invalid fields parameter
- Fields format matches existing sessions endpoint pattern
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* no more types in db.js, woot (#3491)
* no more types in db.js, woot
* convert Db.fileIdToFile to async only
* async\.* that have async iterator have no nextCb
* missed a nextCb
* fix the order of default summary fields
* default pcapDir to /opt/arkime/raw for expire (#3492)
this might fix some folks problems with files never being
expired since capture would default to /opt/arkime/raw
but viewer had no default
* convert Db.fileNameToFiles and some Db.search callers (#3493)
* Use PyUnicode_FromString instead
* change some field names, not sure I love (#3494)
* change some field names, not sure I love
* capture will update fiendlyName, clarify log msgs
* update CHANGELOG
* Trying to get all Db.search folks to async (#3495)
* Trying to get all Db.search folks to async
* lint
* Db.searchScroll is so pretty now
* add/remove tags, csv export improvements
* clean up, missing await, caching wrong key :(
* addTagsList can't be private since cron uses
* do a flush
* Db.initialize is async, missed some s3 stuff
* add flush
* sendSessions is async now, code cleanup (#3496)
* sendSessions is async now, code cleanup
* woot everything uses #sessionsListFromQueryChunky now
* cache the node lookups per request for pcap download
* use a buffer pool
* update primary viewer even if forced
* Db more async 7 (#3497)
* pull fixPacketPos out so other session routines can use
* make local downloads faster maybe
* use buffer pool
* improve pool
* use blocks and cache when reading pcap files
* lint
* newer container for rhel10 arm
* Optimize pcap ressembly memory usage for speed improvements (#3498)
* reduce duplicate log msg
* make sure to clear out pcap block cache
* Handle retransmits correctly in new tcp reassemble
* modernize pcap.js and change item => packet
* fix missing i18n and read extra for compressed
* add fixed size to uncompress block size
* use an even bigger block size
* handle packets spanning 2 uncompressed blocks better
* move viewer to mostly use for-of (#3500)
* move viewer to mostly use for-of
* common for-of conversion
* Added reader-bpf (#3501)
* more for-of
* see if we can get github actions building freebsd (#3502)
* see if we can get github actions building freebsd
* lets call it freebsdmatrix
* fix uses hopefully
* fix comment
* fix bash
* more bash and install sudo
* add autoconf gmake
* stop wrong freebsd build
* removed rules.yara
* add automake
* fpm!
* more packages
* added m4
* try freebsd 14.3
* remove e2fsprogs
* added libuuid
* node22, run capture tests
* gonna work
* remove tests for now
* use gmake not make
* sigh, fix freebsd rollup
* fix ARKIME_VERSION
* hack using gtar with fpm
* don't build freebsd arm for PR
* add deps and update release.yml
* freebsd15, make it easier to select prbuild targets
* freebsd ja4 (#3503)
* freebsd ja4
* use gmake
* only do ja4 on freebsd14
* fix freebsd release and ja4 hopefully
* spelling
* fix if AND don't use -arm for freebsd arm, lol
* fix where we build ja4
* don't ls all at once, ugh
* freebsd arm builds too slow for now
* fix sessionsList to deal with search iterator
* support a postPcapFetch that sends the session to save db fetch (#3505)
* increase max body size
* more pcap retrieval cleanup
* Provide a generic way to share different types of data, fixes #3466 (#3467)
* wip
* don't allow type changing
* validateUser
* add description
* change for loops to use local loop vars (#3507)
* run capture tests on freebsd (#3508)
* move reassemble away from cbs (#3509)
* update before main merge
---------
Co-authored-by: 31453 <ecrinne@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: __z__ <imzqqq@hotmail.com>
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.
mostly works! ✨
License
I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.