* Add transceivers module
Move os specific code to OS
Fix errors and updated connector names
Add RouterOS, a lot less data there.
Add Comware
Add Exa, required a transformer function (mw to dBm)
Add Junos, revision was too short
Just starting on ui
Graphs, and more ui
some polling fixes
collapse header for small screens
refactor a bit
Missed graphs
Transceivers icon inline
Use @once on popup javascript
update db_schema.yaml
Don't show transceivers in basic view
basic view could use a review
Apply fixes from StyleCI
API functions
Comware don't fail if port is missing
Apply fixes from StyleCI
Add alert rules to collection
Device Overview
Attempt to fix bad alert rule, probably needs more
Fix up Comware and remove old sensors
Mark transceiver metrics without thresholds as Unknown
Routeros cleanup
Exa cleanup
Handle missing port
Graph allow filter by channel
More translations
Add transceiver graphs to port graphs
Add Cisco support, use entPhyscial module data if available
Fix OcNos divisors
Labels on transceiver page
Show encoding if available
Hacky OcNos port mapping
Fix up Junos optics and remove old sensors
FS switch support
Metric casts to prevent thrashing
Extra transform_function support
Add link to transceivers page from overview
Change default sort to group by type, then channel
move some code out of overview blade template
Fix bad type ocnos
Apply fixes from StyleCI
Add scales to graphs
Add some test data
Default sort order for metrcis in SQL applied by default
Transceiver metrics threshold manual settings via WebUI and API
Fixes to channels verbiage
Fix severity calculations
Add cable field for SM/MM/Copper
Apply fixes from StyleCI
update test data
Show DDM
Update DB schema file
Extend serial field to 32, even though devices shouldn't be able to have one longer than 16
Missing import
Add status field to database, that way we can support snmp implementations that only return an enum
Add missing files
Fix db_schema
Fix style
Fixes
Style fix
Work around phpstan issue
Update transceivers.blade.php
Missed getStatus() call
Prevent extra dots when channels are not changed
Update module to match upstream
Save ocnos metrics as sensors
Move to regular sensors
add entity physical index
Update UI to sensors WIP
Apply fixes from StyleCI
Forgot one change
Update ui to use sensors
Remove transceiver metrics
Remove metric os discover code
fs-switch pending
Remove transceiver metrics for fs-centec
Exa link up
Revert all test data
Fix up transceiver module interface
Remove unused Convert class
comware cache and transceiver type
Fix some transceiver metrics filtering and formatting issues
Consolidate display formatting
Coalesce commare hh3cTransceiverTable walks to prevent double walk
Use group to identify transceiver sensors
Fixup routeros
Fix up cisco
update db_schema
Small addition to docs
Improve overview layout and add graph popup
Update Junos
update css files
ddm should be nullable
Increase the field length for type and model
Cisco Improve detection when there is an intermediary container
Add transceiver test data
Apply fixes from StyleCI
Fix incorrect test data
Improve display formatting
Fix test data
Apply fixes from StyleCI
Fix up more data
Fix up more data
Fix incorrect return type in routeros
Update ocnos data
* Remove some remaining references to transceiver_metrics table
* Remove flasher
Just use a bit of custom code to interface with toastr js
This is able to retain our custom theme and work properly
* Fix style issues
* Missed reference rename
* Remove test code :)
* Fix a missed rename
* Fix one more missed reference
* Fix typo
* Iterate in javascript and separate processing
* Widget refresh/destroy events
* Remove old dom and unbind events
* fix whitespace
* Fix up bootgrid tables, they inserted a div before the first div breaking event propagation
switch to regular js function to scope variables instead of jquery
* Handle settings the same way as the normal widget
* Use standard init_map and add layer control
* May need L.Control.Locate now
* Set maxZoom for marker cluster
* Try setMaxZoom
* worldmap size 100 and resize on refresh/widget resize
* Add resize event (and throttle it a bit)
* Further worldmap cleanup
* Move most javascript to common js, will cause js errors until page is reloaded, but better in the long run
* Custom Maps: geo map and color background
tabs blade component
geo-map blade component and related script enhancements
* Update css/js
* style fixes
* update db_schema.yaml
* fix db_schema hand edit
* ignore phpstan being wrong
* Handle null
* another possible null spot
* Use standard file cache for custom map background images
* Create map->image as jpeg so we can compress it
* whitespace fix
* Fix background cancel button when other type is selected than the saved type
* Save and restore layer
* Map must exist before creating static image
* Don't show set as image button for Google and Bing.
Bing gives an odd error, but Google won't work.
* Modified the date selector to use the session timezone
* Set the timezone in the datetime picker and make sure it is always passed a moment date object, then altered the submit javascript function to use the existing moment object instead of creating its own
* Update the poll log to display in the correct timezone
* Fix the poll log to make the search work and be timezone aware
* Fix the displayed time on the device overview event log
* Style fixes
* Install bouncer
* Seeder and level migration
* Display and edit roles
* remove unused deluser page
* Update Radius and SSO to assign roles
* update AlertUtil direct level check to use roles instead
* rewrite ircbot auth handling
* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider
* Small cleanups
* centralize role sync code
show roles on user preferences page
* VueSelect component WIP and a little docs
* WIP
* SelectControllers id and text fields.
* LibrenmsSelect component extracted from SettingSelectDynamic
* Handle multiple selections
* allow type coercion
* full width settings
* final style adjustments
* Final compiled assets update
* Style fixes
* Fix SSO tests
* Lint cleanups
* small style fix
* don't use json yet
* Update baseline for usptream package issues
* Change schema, not 100% sure it is correct
not sure why xor doesn't work
* Added support for user timezones and user browser timezone byt default
* Formatting fixes
* Use the timezone for alert log display
also added validation for the timezone because it's being used in SQL.
* Formatting fixes
* Added return type
* Formatting"
* Update the latency graphs to use the user timezone
* Simplify the web routes config
* Update phpstan to ignore type error
* Fixed up the phpstan config
* Reverse phpstan change
* Re-apply phpstan override
* Remove the option to unset the session timezone
* Formatting fix
* Update outge and event logs to use session timezone
* Fix route for the timezone control
* Made the timezone more dynamic
* Fix a logic error that was stopping the timezone from being set automatically on login
* Prevent getPref from being called twice
* again prevent getPref double call
* getPref double call
* Fixed typo made during merge
* Fixed merge error in phpstan-baseline.neon
* Change spaces to tabs in phpstan-baseline.neon
* Update error count
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Revamp validate web page
to load page then validate, instead of validate then load page
* style fixes
* lint cleanups
* fixes
* translations and a couple fixes
* style fixes
* move result serialization into the class.
* Implement OAuth and SAML2 support via Socialite
* Add socialite docs
* fixes
* Additional information added
* wip
* 22.3.0 targeted version
* Allow mysql auth as long as there is a password saved
Co-authored-by: laf <gh+n@laf.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Global search: search device display
Add display field to search (also port_desc_descr, portName, and bgpPeerDescr)
Rewrite backend
update typeahead bundle
update devices and ports indexes
reduce some port field sizes so we can index them
* Style fixes
* remove nonsense
* PHP-Flasher for toast messages
Allows customized template
removes dependency on unmaintained package using dev stability
no solution for javascript toasts yet
Use DI in places it makes sense
allow html in flashes
Use "template.librenms" as a default notification style
merge toast containers
toastr needs to be second because it will find the containr made by flasher, but the inverse is not true
upgrade php-flasher to add custom options and persistent notifications
Add dark theme
* update composer.lock
* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* working popover
* popup component
* cleanup
* finalize device-link component
* attributes WIP
* working graph component
* widgets WIP
* More dynamic configs
* Graph row component
* Build CSS so we can use a dark theme
* graph row set columns
* only one popup visible at a time.
* Just set graph row width statically
* responsive WIP
* rsponsive option for graph-row "working"
* remove @deviceLink and @portLink
* fix non-responsive graph row
* update js/css
* fix style
* bad type?
* types
* types
* types #3
* remove testing code
* full rebel, no closing tags for meta and link
* match previous formatting
* fix vlans display
* restore newline
* remove silly comment
* remove unused line
* style I guess
* Dynamic Select setting
embeds select2 and uses ajax to call to backend for options
poller-group included
* fix validation a bit
* fix typehint
* move minProperties into the select schema
* Change dashboard-select to select-dynamic
Love deleting code
* Change dashboard-select to select-dynamic
Love deleting code
wire up a few select2 options
* fix whitespace
* Not a model, just an object
* Suggestion from @SourceDoctor autocomplete values of select and select-dynamic
Got a little creative with InternalHttpRequest...
* Oxidized API cleanup
Import more settings to the UI
use lnms config:set
* validate os and type exist
* map settings WIP
* oops
* editing working. Needed to add new property to pass update state to child
* implement deleting and handle text overflow a little better.
* Update app/Models/Device.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Update app/Models/Device.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* revert change
* fix style
* add return
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add a executable type to settings page
This allow us to validate the value is a valid executable
* Add a directory type to settings page
This allow us to validate the value is a valid directory
* fixes
* Poller settings WIP
* Poller settings WIP2
* working on SettingMultiple
* setting multiple working
* settings sent with all required info
* fix translation
* Fix keys
* fix groups setting
* Apply settings to service
fixes and validations for setting
* don't error when no poller_cluster entry exists
* hid tab when no poller cluster entries
* Authorization
* make prod
* daily maintenance toggle should be advanced
* Update schema def