diff --git a/.github/workflows/close-stale-issues.yml b/.github/workflows/close-stale-issues.yml index d5bcb05ca..f3b0b6e9f 100644 --- a/.github/workflows/close-stale-issues.yml +++ b/.github/workflows/close-stale-issues.yml @@ -12,11 +12,11 @@ jobs: steps: - uses: actions/stale@v8.0.0 with: - days-before-issue-stale: 21 + days-before-issue-stale: 14 days-before-issue-close: 7 exempt-issue-labels: "enhancement,bug,javascript,docker" stale-issue-label: "stale" - stale-issue-message: "This issue is stale because it has been open for 21 days with no activity." + stale-issue-message: "This issue is stale because it has been open for 14 days with no activity." close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale." days-before-pr-stale: -1 days-before-pr-close: -1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 835dc8a92..f31f95bda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,23 @@ Notable changes to Mailpit will be documented in this file. +## [v1.9.10] + +### Docs +- Update documentation links + +### Fix +- Correctly display "About" modal when update check fails (resolves [#199](https://github.com/axllent/mailpit/issues/199)) + +### Libs +- Update node modules +- Update Go modules +- Update caniemail test data + +### UI +- Fix column width in search view + + ## [v1.9.9] ### Chore diff --git a/README.md b/README.md index 01201c127..3a5afa68c 100644 --- a/README.md +++ b/README.md @@ -10,47 +10,47 @@ Mailpit is a small, fast, low memory, zero-dependency, multi-platform email test It acts as an SMTP server, provides a modern web interface to view & test captured emails, and contains an API for automated integration testing. -Mailpit was originally **inspired** by MailHog which is now [no longer maintained](https://github.com/mailhog/MailHog/issues/442#issuecomment-1493415258) and hasn't seen active development for a few years now. +Mailpit was originally **inspired** by MailHog which is [no longer maintained](https://github.com/mailhog/MailHog/issues/442#issuecomment-1493415258) and hasn't seen active development for a few years now. ![Mailpit](https://raw.githubusercontent.com/axllent/mailpit/develop/docs/screenshot.png) ## Features -- Runs entirely from a single binary, no installation required -- SMTP server (default `0.0.0.0:1025`) -- Web UI to view emails (formatted HTML, highlighted HTML source, text, headers, raw source and MIME attachments including image thumbnails) -- HTML check to test & score mail client compatibility with HTML emails -- Link check to test message links (HTML & text) & linked images -- Screenshots of HTML messages via web UI ([see wiki](https://github.com/axllent/mailpit/wiki/HTML-screenshots)) +- Runs entirely from a single [static binary](https://mailpit.axllent.org/docs/install/) +- Modern web UI to view emails (formatted HTML, highlighted HTML source, text, headers, raw source, and MIME attachments +including image thumbnails), including optional [HTTPS](https://mailpit.axllent.org/docs/configuration/https/) +- Optional [basic authentication](https://mailpit.axllent.org/docs/configuration/frontend-authentication/) for web UI & API +- [HTML check](https://mailpit.axllent.org/docs/usage/html-check/) to test & score mail client compatibility with HTML emails +- [Link check](https://mailpit.axllent.org/docs/usage/link-check/) to test message links (HTML & text) & linked images +- [Create screenshots](https://mailpit.axllent.org/docs/usage/html-screenshots/) of HTML messages via web UI - Mobile and tablet HTML preview toggle in desktop mode -- Light & dark web UI theme with auto-detect -- Advanced mail search ([see wiki](https://github.com/axllent/mailpit/wiki/Mail-search)) -- Message tagging ([see wiki](https://github.com/axllent/mailpit/wiki/Tagging)) -- Real-time web UI updates using web sockets for new mail -- Optional browser notifications for new mail (when accessed via either HTTPS or `localhost` only) +- Advanced [mail search](https://mailpit.axllent.org/docs/usage/search-filters/) +- [Message tagging](https://mailpit.axllent.org/docs/usage/tagging/) +- Real-time web UI updates using web sockets for new mail & optional browser notifications for new mail (when accessed +via either HTTPS or `localhost` only) +- SMTP server with optional [STARTTLS & SMTP authentication](https://mailpit.axllent.org/docs/configuration/smtp-authentication/) (including an +"accept any" mode) +- [SMTP relaying](https://mailpit.axllent.org/docs/configuration/smtp-relay/) (message release) - relay messages via a different SMTP server +including an optional allowlist of accepted recipients +- Fast SMTP processing & storing - approximately 70-100 emails per second depending on CPU, network speed & email size, +easily handling tens of thousands of emails - Configurable automatic email pruning (default keeps the most recent 500 emails) -- Email storage either in a temporary or persistent database ([see wiki](https://github.com/axllent/mailpit/wiki/Email-storage)) -- Fast SMTP processing & storing - approximately 70-100 emails per second depending on CPU, network speed & email size, easily handling tens of thousands of emails -- SMTP relaying / message release - relay messages via a different SMTP server including an optional allowlist of accepted recipients ([see wiki](https://github.com/axllent/mailpit/wiki/SMTP-relay)) -- Optional SMTP with STARTTLS & SMTP authentication, including an "accept anything" mode ([see wiki](https://github.com/axllent/mailpit/wiki/SMTP-with-STARTTLS-and-authentication)) -- Optional HTTPS for web UI ([see wiki](https://github.com/axllent/mailpit/wiki/HTTPS)) -- Optional basic authentication for web UI ([see wiki](https://github.com/axllent/mailpit/wiki/Basic-authentication)) -- A simple REST API ([see docs](docs/apiv1/README.md)) -- Optional webhook for received messages ([see docs](https://github.com/axllent/mailpit/wiki/Webhook)) -- Multi-architecture [Docker images](https://github.com/axllent/mailpit/wiki/Docker-images) +- A simple [REST API](https://mailpit.axllent.org/docs/api-v1/) for integration testing +- Optional [webhook](https://mailpit.axllent.org/docs/integration/webhook/) for received messages +- Multi-architecture [Docker images](https://mailpit.axllent.org/docs/install/docker/) ## Installation -The Mailpit web UI listens by default on `http://0.0.0.0:8025`, and the SMTP port on `0.0.0.0:1025`. +The Mailpit web UI listens by default on `http://0.0.0.0:8025` and the SMTP port on `0.0.0.0:1025`. Mailpit runs as a single binary and can be installed in different ways: ### Install via package managers -- **Mac**: `brew install mailpit` (to run automatically in background `brew services start mailpit`) +- **Mac**: `brew install mailpit` (to run automatically in the background: `brew services start mailpit`) - **Arch Linux**: available in the AUR as `mailpit` - **FreeBSD**: `pkg install mailpit` @@ -66,31 +66,33 @@ sudo bash < <(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop ### Download static binary (Windows, Linux and Mac) -Static binaries can always be found on the [releases](https://github.com/axllent/mailpit/releases/latest). The `mailpit` binary can extracted and copied to your `$PATH`, or simply run as `./mailpit`. +Static binaries can always be found on the [releases](https://github.com/axllent/mailpit/releases/latest). The `mailpit` binary can be extracted and copied to your `$PATH`, or simply run as `./mailpit`. ### Docker -See [Docker instructions](https://github.com/axllent/mailpit/wiki/Docker-images) for 386, amd64 & arm64 images. +See [Docker instructions](https://mailpit.axllent.org/docs/install/docker/) for 386, amd64 & arm64 images. ### Compile from source -To build Mailpit from source see [building from source](https://github.com/axllent/mailpit/wiki/Building-from-source). +To build Mailpit from source, see [Building from source](https://mailpit.axllent.org/docs/install/source/). ## Usage -Run `mailpit -h` to see options. More information can be seen in [the docs](https://github.com/axllent/mailpit/wiki/Runtime-options). +Run `mailpit -h` to see options. More information can be seen in [the docs](https://mailpit.axllent.org/docs/configuration/runtime-options/). -If installed using homebrew, you may run `brew services start mailpit` to run always run mailpit automatically. +If installed using homebrew, you may run `brew services start mailpit` to always run mailpit automatically. ### Testing Mailpit -Please refer to [the documentation](https://github.com/axllent/mailpit/wiki/Testing-Mailpit) of how to easily test email delivery to Mailpit. +Please refer to [the documentation](https://mailpit.axllent.org/docs/install/testing/) on how to easily test email delivery to Mailpit. ### Configuring sendmail -Mailpit's SMTP server (by default on port 1025), so you will likely need to configure your sending application to deliver mail via that port. A common MTA (Mail Transfer Agent) that delivers system emails to a SMTP server is `sendmail`, used by many applications including PHP. Mailpit can also act as substitute for sendmail. For instructions of how to set this up, please refer to the [sendmail documentation](https://github.com/axllent/mailpit/wiki/Configuring-sendmail). +Mailpit's SMTP server (default on port 1025), so you will likely need to configure your sending application to deliver mail via that port. +A common MTA (Mail Transfer Agent) that delivers system emails to an SMTP server is `sendmail`, used by many applications, including PHP. +Mailpit can also act as substitute for sendmail. For instructions on how to set this up, please refer to the [sendmail documentation](https://mailpit.axllent.org/docs/install/sendmail/). diff --git a/cmd/reindex.go b/cmd/reindex.go index 97ad990d9..e1120c042 100644 --- a/cmd/reindex.go +++ b/cmd/reindex.go @@ -1,7 +1,3 @@ -/* -Copyright © 2022-Now() Ralph Slooten -This file is part of a CLI application. -*/ package cmd import ( diff --git a/cmd/root.go b/cmd/root.go index d5715c1b2..6e2ef4fd5 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -29,7 +29,7 @@ It acts as an SMTP server, and provides a web interface to view all captured ema Documentation: https://github.com/axllent/mailpit - https://github.com/axllent/mailpit/wiki`, + https://mailpit.axllent.org/docs/`, Run: func(_ *cobra.Command, _ []string) { if err := config.VerifyConfig(); err != nil { logger.Log().Error(err.Error()) diff --git a/docs/apiv1/README.md b/docs/apiv1/README.md index 54b34a3da..83e2429d7 100644 --- a/docs/apiv1/README.md +++ b/docs/apiv1/README.md @@ -4,9 +4,9 @@ Mailpit provides a simple REST API to access and delete stored messages. If the Mailpit server is set to use Basic Authentication, then API requests must use Basic Authentication too. -You can view the Swagger API documentation directly within Mailpit by going to `http://0.0.0.0:8025/api/v1/`. +You can view the Swagger API documentation directly within Mailpit by going to https://mailpit.axllent.org/docs/api-v1/. -The API is split into three main parts: +The API is split into four main parts: - [Messages](Messages.md) - Listing, deleting & marking messages as read/unread. - [Message](Message.md) - Return message data & attachments diff --git a/go.mod b/go.mod index 96a8b92be..493c47960 100644 --- a/go.mod +++ b/go.mod @@ -8,11 +8,11 @@ require ( github.com/axllent/semver v0.0.1 github.com/disintegration/imaging v1.6.2 github.com/gomarkdown/markdown v0.0.0-20230922112808-5421fefb8386 - github.com/google/uuid v1.3.1 + github.com/google/uuid v1.4.0 github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.5.0 github.com/jhillyerd/enmime v1.0.1 - github.com/klauspost/compress v1.17.1 + github.com/klauspost/compress v1.17.2 github.com/leporo/sqlf v1.4.0 github.com/mhale/smtpd v0.8.0 github.com/reiver/go-telnet v0.0.0-20180421082511-9ff0b2ab096e @@ -60,7 +60,7 @@ require ( lukechampine.com/uint128 v1.3.0 // indirect modernc.org/cc/v3 v3.41.0 // indirect modernc.org/ccgo/v3 v3.16.15 // indirect - modernc.org/libc v1.24.1 // indirect + modernc.org/libc v1.29.0 // indirect modernc.org/mathutil v1.6.0 // indirect modernc.org/memory v1.7.2 // indirect modernc.org/opt v0.1.3 // indirect diff --git a/go.sum b/go.sum index 1658213f4..638266b0e 100644 --- a/go.sum +++ b/go.sum @@ -55,8 +55,8 @@ github.com/gomarkdown/markdown v0.0.0-20230922112808-5421fefb8386 h1:EcQR3gusLHN github.com/gomarkdown/markdown v0.0.0-20230922112808-5421fefb8386/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= @@ -71,8 +71,8 @@ github.com/jhillyerd/enmime v1.0.1 h1:y6RyqIgBOI2hIinOXIzmeB+ITRVls0zTJIm5GwgXnj github.com/jhillyerd/enmime v1.0.1/go.mod h1:LMMbm6oTlzWHghPavqHtOrP/NosVv3l42CUrZjn03/Q= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= -github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= @@ -217,8 +217,8 @@ modernc.org/ccgo/v3 v3.16.15 h1:KbDR3ZAVU+wiLyMESPtbtE/Add4elztFyfsWoNTgxS0= modernc.org/ccgo/v3 v3.16.15/go.mod h1:yT7B+/E2m43tmMOT51GMoM98/MtHIcQQSleGnddkUNI= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= -modernc.org/libc v1.24.1 h1:uvJSeCKL/AgzBo2yYIPPTy82v21KgGnizcGYfBHaNuM= -modernc.org/libc v1.24.1/go.mod h1:FmfO1RLrU3MHJfyi9eYYmZBfi/R+tqZ6+hQ3yQQUkak= +modernc.org/libc v1.29.0 h1:tTFRFq69YKCF2QyGNuRUQxKBm1uZZLubf6Cjh/pVHXs= +modernc.org/libc v1.29.0/go.mod h1:DaG/4Q3LRRdqpiLyP0C2m1B8ZMGkQ+cCgOIjEtQlYhQ= modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= diff --git a/internal/htmlcheck/caniemail-data.json b/internal/htmlcheck/caniemail-data.json index fd43fde2b..733f217c4 100644 --- a/internal/htmlcheck/caniemail-data.json +++ b/internal/htmlcheck/caniemail-data.json @@ -1,6 +1,6 @@ { "api_version":"1.0.4", - "last_update_date":"2023-09-22 13:57:52 +0000", + "last_update_date":"2023-10-10 15:06:18 +0000", "nicenames":{"family":{"gmail":"Gmail","outlook":"Outlook","yahoo":"Yahoo! Mail","apple-mail":"Apple Mail","aol":"AOL","thunderbird":"Mozilla Thunderbird","microsoft":"Microsoft","samsung-email":"Samsung Email","sfr":"SFR","orange":"Orange","protonmail":"ProtonMail","hey":"HEY","mail-ru":"Mail.ru","fastmail":"Fastmail","laposte":"LaPoste.net","t-online-de":"T-online.de","free-fr":"Free.fr","gmx":"GMX","web-de":"WEB.DE","ionos-1and1":"1&1","rainloop":"RainLoop"},"platform":{"desktop-app":"Desktop","desktop-webmail":"Desktop Webmail","mobile-webmail":"Mobile Webmail","webmail":"Webmail","ios":"iOS","android":"Android","windows":"Windows","macos":"macOS","windows-mail":"Windows Mail","outlook-com":"Outlook.com"},"support":{"supported":"Supported","mitigated":"Partially supported","unsupported":"Not supported","unknown":"Support unknown","mixed":"Mixed support"},"category":{"html":"HTML","css":"CSS","image":"Image formats","others":"Others"}}, "data":[ { @@ -169,7 +169,7 @@ "description":"This media query tests whether the user's input device[s] (i.e mouse, trackpad etc.) can hover over elements", "url":"https://www.caniemail.com/features/css-at-media-hover/", "category":"css", - "tags":[], + "tags":["accessibility"], "keywords":"media, media query, hover, any-hover", "last_test_date":"2022-08-29", "test_url":"https://www.caniemail.com/tests/css-media-hover.html", @@ -201,7 +201,7 @@ "description":"This media query allows to theme for system light and dark mode.", "url":"https://www.caniemail.com/features/css-at-media-prefers-color-scheme/", "category":"css", - "tags":[], + "tags":["accessibility"], "keywords":"media queries, media query, media feature, dark mode, light mode", "last_test_date":"2023-03-08", "test_url":"https://www.caniemail.com/tests/css-media-prefers-color-scheme.html", @@ -1561,7 +1561,7 @@ "description":null, "url":"https://www.caniemail.com/features/css-pseudo-class-active/", "category":"css", - "tags":[], + "tags":["accessibility"], "keywords":"pseudo-class", "last_test_date":"2019-10-28", "test_url":"https://www.caniemail.com/tests/css-selectors-pseudo-classes.html", @@ -1625,7 +1625,7 @@ "description":null, "url":"https://www.caniemail.com/features/css-pseudo-class-focus/", "category":"css", - "tags":[], + "tags":["accessibility"], "keywords":"pseudo-class", "last_test_date":"2019-10-28", "test_url":"https://www.caniemail.com/tests/css-selectors-pseudo-classes.html", @@ -1657,7 +1657,7 @@ "description":null, "url":"https://www.caniemail.com/features/css-pseudo-class-hover/", "category":"css", - "tags":[], + "tags":["accessibility"], "keywords":"rollover, pseudo-class", "last_test_date":"2019-10-23", "test_url":"https://www.caniemail.com/tests/css-selectors-pseudo-classes.html", @@ -2683,10 +2683,10 @@ "category":"css", "tags":[], "keywords":"unit, vh", - "last_test_date":"2020-02-25", + "last_test_date":"2023-10-01", "test_url":"https://www.caniemail.com/tests/css-units.html", - "test_results_url":"", - "stats":{"apple-mail":{"macos":{"13":"y"},"ios":{"13":"y"}},"gmail":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"},"mobile-webmail":{"2020-02":"y"}},"outlook":{"windows":{"2003":"n","2007":"n","2010":"n","2013":"n","2016":"n","2019":"n"},"windows-mail":{"2020-02":"n"},"macos":{"2016":"y"},"outlook-com":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"samsung-email":{"android":{"9.0":"y"}},"thunderbird":{"windows":{"2020-02":"y"},"macos":{"68.4":"y"}},"aol":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"yahoo":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"orange":{"desktop-webmail":{"2020-02":"y","2021-03":"n"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"sfr":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"n"}},"protonmail":{"desktop-webmail":{"2020-03":"y"},"ios":{"2020-03":"y"},"android":{"2020-03":"y"}},"hey":{"desktop-webmail":{"2020-06":"y"}},"mail-ru":{"desktop-webmail":{"2020-10":"y"}},"fastmail":{"desktop-webmail":{"2021-07":"n"}},"laposte":{"desktop-webmail":{"2021-08":"y"}},"gmx":{"desktop-webmail":{"2022-08":"n"},"ios":{"2022-08":"y"},"android":{"2022-08":"a #2"}},"web-de":{"desktop-webmail":{"2022-08":"n"},"ios":{"2022-08":"y"},"android":{"2022-08":"a #2"}},"ionos-1and1":{"desktop-webmail":{"2022-08":"y #1"},"android":{"2022-08":"y"}}}, + "test_results_url":"https://app.emailonacid.com/app/acidtest/AhzTJnsoWULAInwe2B8h7uzlsa6vGOgAkVK1VA6BbuKaW/list", + "stats":{"apple-mail":{"macos":{"13":"y"},"ios":{"13":"y","15":"a #2","17":"a #2"}},"gmail":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"},"mobile-webmail":{"2020-02":"y"}},"outlook":{"windows":{"2003":"n","2007":"n","2010":"n","2013":"n","2016":"n","2019":"n"},"windows-mail":{"2020-02":"n"},"macos":{"2016":"y"},"outlook-com":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"samsung-email":{"android":{"9.0":"y"}},"thunderbird":{"windows":{"2020-02":"y"},"macos":{"68.4":"y"}},"aol":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"yahoo":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"orange":{"desktop-webmail":{"2020-02":"y","2021-03":"n"},"ios":{"2020-02":"y"},"android":{"2020-02":"y"}},"sfr":{"desktop-webmail":{"2020-02":"y"},"ios":{"2020-02":"y"},"android":{"2020-02":"n"}},"protonmail":{"desktop-webmail":{"2020-03":"y"},"ios":{"2020-03":"y"},"android":{"2020-03":"y"}},"hey":{"desktop-webmail":{"2020-06":"y"}},"mail-ru":{"desktop-webmail":{"2020-10":"y"}},"fastmail":{"desktop-webmail":{"2021-07":"n"}},"laposte":{"desktop-webmail":{"2021-08":"y"}},"gmx":{"desktop-webmail":{"2022-08":"n"},"ios":{"2022-08":"y"},"android":{"2022-08":"a #2"}},"web-de":{"desktop-webmail":{"2022-08":"n"},"ios":{"2022-08":"y"},"android":{"2022-08":"a #2"}},"ionos-1and1":{"desktop-webmail":{"2022-08":"y #1"},"android":{"2022-08":"y"}}}, "notes":"", "notes_by_num":{"1":"Buggy. Can affect the preview window size, meaning content can get lost.","2":"Buggy. Value resolves to zero"} }, @@ -2867,6 +2867,22 @@ "notes_by_num":null }, + { + "slug":"html-abbr", + "title":" element", + "description":"Represents an abbreviation or acronym.", + "url":"https://www.caniemail.com/features/html-abbr/", + "category":"html", + "tags":[], + "keywords":null, + "last_test_date":"2023-09-13", + "test_url":"https://www.caniemail.com/tests/html-abbr.html", + "test_results_url":"https://testi.at/proj/xlp4una8f926u48oco8", + "stats":{"apple-mail":{"macos":{"2023-09":"y"},"ios":{"2023-09":"y"}},"gmail":{"desktop-webmail":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"},"mobile-webmail":{"2023-09":"y"}},"orange":{"desktop-webmail":{"2023-10":"n"},"ios":{"2023-10":"n"},"android":{"2023-09":"u"}},"outlook":{"windows":{"2013":"n #1","2016":"n #1","2019":"n #1","2021":"n #1"},"windows-mail":{"2023-09":"n #1"},"macos":{"2023-09":"y"},"outlook-com":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"}},"samsung-email":{"android":{"2023-09":"y"}},"sfr":{"desktop-webmail":{"2023-10":"y"},"ios":{"2023-10":"y"},"android":{"2023-09":"u"}},"thunderbird":{"macos":{"2023-09":"y"}},"aol":{"desktop-webmail":{"2023-09":"n"},"ios":{"2023-09":"n"},"android":{"2023-09":"n"}},"yahoo":{"desktop-webmail":{"2023-09":"n"},"ios":{"2023-09":"n"},"android":{"2023-09":"n"}},"protonmail":{"desktop-webmail":{"2023-10":"y"},"ios":{"2023-10":"y"},"android":{"2023-09":"u"}},"hey":{"desktop-webmail":{"2023-10":"n"}},"mail-ru":{"desktop-webmail":{"2023-09":"n"}},"fastmail":{"desktop-webmail":{"2023-10":"y"}},"laposte":{"desktop-webmail":{"2023-10":"y"}},"free-fr":{"desktop-webmail":{"2023-10":"y"}},"t-online-de":{"desktop-webmail":{"2023-09":"y"}},"gmx":{"desktop-webmail":{"2023-09":"y"}},"web-de":{"desktop-webmail":{"2023-09":"y"}}}, + "notes":null, + "notes_by_num":{"1":"Buggy. Element's content are still kept."} + }, + { "slug":"html-address", "title":"address", @@ -3155,6 +3171,22 @@ "notes_by_num":{"1":"Partial. Not supported with non Gmail accounts."} }, + { + "slug":"html-dfn", + "title":" element", + "description":"It is used to identify a term that is going to be described within the content.", + "url":"https://www.caniemail.com/features/html-dfn/", + "category":"html", + "tags":[], + "keywords":null, + "last_test_date":"2023-09-11", + "test_url":"https://www.caniemail.com/tests/html-dfn.html", + "test_results_url":"https://testi.at/proj/gy2dfo4j19d4176d08y", + "stats":{"apple-mail":{"macos":{"2023-09":"y"},"ios":{"2023-09":"y"}},"gmail":{"desktop-webmail":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"},"mobile-webmail":{"2023-09":"y"}},"orange":{"desktop-webmail":{"2023-09":"u"},"ios":{"2023-09":"u"},"android":{"2023-09":"u"}},"outlook":{"windows":{"2013":"a #1","2016":"a #1","2019":"a #1","2021":"a #1"},"windows-mail":{"2023-09":"a #1"},"macos":{"16.56":"y"},"outlook-com":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"}},"samsung-email":{"android":{"2023-09":"y"}},"sfr":{"desktop-webmail":{"2023-09":"u"},"ios":{"2023-09":"u"},"android":{"2023-09":"u"}},"thunderbird":{"macos":{"2023-09":"y"}},"aol":{"desktop-webmail":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"}},"yahoo":{"desktop-webmail":{"2023-09":"y"},"ios":{"2023-09":"y"},"android":{"2023-09":"y"}},"protonmail":{"desktop-webmail":{"2023-09":"u"},"ios":{"2023-09":"u"},"android":{"2023-09":"u"}},"hey":{"desktop-webmail":{"2023-09":"u"}},"mail-ru":{"desktop-webmail":{"2023-09":"n"}},"fastmail":{"desktop-webmail":{"2023-09":"u"}},"laposte":{"desktop-webmail":{"2023-09":"u"}},"free-fr":{"desktop-webmail":{"2023-09":"u"}},"t-online-de":{"desktop-webmail":{"2023-09":"n"}},"gmx":{"desktop-webmail":{"2023-09":"y"}},"web-de":{"desktop-webmail":{"2023-09":"y"}}}, + "notes":null, + "notes_by_num":{"1":"Partial. The `title` attribute is removed."} + }, + { "slug":"html-dialog", "title":" element", diff --git a/internal/htmlcheck/css.go b/internal/htmlcheck/css.go index 3a8f4357c..53a404e48 100644 --- a/internal/htmlcheck/css.go +++ b/internal/htmlcheck/css.go @@ -2,7 +2,7 @@ package htmlcheck import ( "fmt" - "io/ioutil" + "io" "net/http" "net/url" "strings" @@ -204,7 +204,7 @@ func downloadToBytes(url string) ([]byte, error) { return nil, err } - body, err := ioutil.ReadAll(resp.Body) + body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } diff --git a/internal/updater/updater.go b/internal/updater/updater.go index 4ea6bea5f..f9805502a 100644 --- a/internal/updater/updater.go +++ b/internal/updater/updater.go @@ -1,3 +1,4 @@ +// package Updater checks and downloads new versions package updater import ( @@ -6,13 +7,14 @@ import ( "encoding/json" "fmt" "io" - "io/ioutil" "net/http" "os" "os/exec" "path/filepath" "runtime" + "time" + "github.com/axllent/mailpit/config" "github.com/axllent/mailpit/internal/logger" "github.com/axllent/semver" ) @@ -49,13 +51,27 @@ type Release struct { func GithubLatest(repo, name string) (string, string, string, error) { releaseURL := fmt.Sprintf("https://api.github.com/repos/%s/releases", repo) - resp, err := http.Get(releaseURL) // #nosec + timeout := time.Duration(5 * time.Second) + + client := http.Client{ + Timeout: timeout, + } + + req, err := http.NewRequest("GET", releaseURL, nil) if err != nil { return "", "", "", err } + + req.Header.Set("User-Agent", "Mailpit/"+config.Version) + + resp, err := client.Do(req) + if err != nil { + return "", "", "", err + } + defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) + body, err := io.ReadAll(resp.Body) if err != nil { return "", "", "", err diff --git a/package-lock.json b/package-lock.json index 9b265524b..6c3040b61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -451,12 +451,12 @@ } }, "node_modules/@swagger-api/apidom-ast": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.78.0.tgz", - "integrity": "sha512-mEXmRmkFlmO6dcBuakFkc2gevN4mC6incPAQE1UciaX4hLuJpiv/5DTH9gVWTR0CWUFw/dXROTD/x6ETV0y03A==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.81.0.tgz", + "integrity": "sha512-klp9i25LcBIMc/JASec7hejNMsKhgCXLZmQ4qjaq97nC3T7uAYY0znvzQJxS0gtpK52r2EgcW6puSAyCDd8sWw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-error": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -465,13 +465,13 @@ } }, "node_modules/@swagger-api/apidom-core": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.78.0.tgz", - "integrity": "sha512-Qx9m+1u6H4Bsa38s73ANtGn8zFGqK0peguM+SFuUR5HirjpoFB8JB7IG5E8+ymUlpWhlU43q9QnJjcaYJw9MTg==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.81.0.tgz", + "integrity": "sha512-JWqUhZssF6OiT2poMcYtxhp7rQJoNjff/xBYOmZ0BILkCcc8ox+7IRmOUtF6jMw5EKuOMkvXm3gH4+M0FPpmNw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ast": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", "@types/ramda": "~0.29.6", "minim": "~0.23.8", "ramda": "~0.29.0", @@ -481,9 +481,9 @@ } }, "node_modules/@swagger-api/apidom-error": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.78.0.tgz", - "integrity": "sha512-P0enIK3XymxCPHlhGtqc4TU5H+cHf7L0yDFmfjZEcsjDzGDv5A+m5tf429Pr/R+e51DzpT5/xIcPKTnti0gIOw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.81.0.tgz", + "integrity": "sha512-bgIlp+86+2RCq83TSbBl56z0R6QNh1NQHatqXPONhnlAIfGVLtgvMGp1KxNIfoH2Ma3ziTdI+nwmwx+nXmoPpA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", "@types/ramda": "~0.29.6", @@ -492,28 +492,28 @@ } }, "node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.78.0.tgz", - "integrity": "sha512-Ly4ZfUGxxbNoHHc9vR814mU96ZLGsjaJflCW0jdZnMVfVv20fDCoDoOOmXat6ajxUbS2YKimgxPvdBth3K/CRQ==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.81.0.tgz", + "integrity": "sha512-XHccZotK1/YxVLPc/BeCGPOH/ErwfNT8QoDpPGTfsoyloFMyobeaN6RQJ2UhuqiFKut5FbLNLzBWBV+AcGieUA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-ns-api-design-systems": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.78.0.tgz", - "integrity": "sha512-WoWE6w1P3qsokG3Qyc5F3xpz+e/WablE0EHGSgiYxk+MQJLqYmz5UhS5LxYGT9d6o9XUs24ykSbKrYWYwkpp4w==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.81.0.tgz", + "integrity": "sha512-6+mF7Guza9zFWX55EkwyuzV4aYhpGnAg5N3Yg0IJT3l/cZyRXyw822K4iMfk777tSsapEkcCAs1mxKcR9Z5e8A==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -521,14 +521,14 @@ } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.78.0.tgz", - "integrity": "sha512-QWZohCtXf5UX/I9bnc4MQh16X9jGPdGrByWM93xRvh8X8rIF0BtF9S7lIx028aX3AHYIu4SwYr7JZlqEaZ92Kw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.81.0.tgz", + "integrity": "sha512-8+U7/aeuMc2bwaH8pXNjgqY5XdN2VwX8SVyryaYQf9FUWhU6UxW4qXF0jmYabdZwJk3jmn2oQ5/GQDwJ3bUsEw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-7": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -536,13 +536,13 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.78.0.tgz", - "integrity": "sha512-19NR9lTHMOQTIEV4tJq+FlHQAYnjyH+DgI4mmRu6UMFSZjRjutYF7B8lCGogSus9Uwy8YpUk00prLFTld00wgA==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.81.0.tgz", + "integrity": "sha512-9FGmyumk8FPGfOOa2587dYlxQz8AbTDXDidZ7CARjVTbd/u5nvdU2Gtga94GTUgx5RZVorESASgRWBwi0R/Tpw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ast": "^0.81.0", + "@swagger-api/apidom-core": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -550,15 +550,15 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.78.0.tgz", - "integrity": "sha512-pHyCPU3OWDiPuLepo03rBpi2n+SCH6PZAgguqAB3lDJ2ymitrT2SNpmZ6CcHvPGR9Y7h4/fR5vAypVZfdNr/WQ==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.81.0.tgz", + "integrity": "sha512-HV+/JTUSOrq2GQLI4mnC90t0mSVhak/hlG8zxoOmyZlASZ/Cr+Z8QqzeDEEKIdxp8igzraEPWLZdw301SuObUQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -566,15 +566,15 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.78.0.tgz", - "integrity": "sha512-ScUiNNAdwnikH3Fo2rUsDmXOjV7zXfQ6CGE+QkY5Wj3t1M6siw2HpDjrBaaCyp6w/bemvogsh280GrzAnxKLIw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.81.0.tgz", + "integrity": "sha512-f4KMzUGP4ChbsfV0jo3YJRuuXYDnX69CkmVGte/nBAwd/0V5Sf8ub1UOkAAG4NBq1iO34z/rJT2YiwjEv0nxJA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-6": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -582,14 +582,14 @@ } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.78.0.tgz", - "integrity": "sha512-GRmUOknEzMG37y5sStvjEsk30RLVg5E7iZuougK1rEf+wzzX5XhorSgMx2NQmka5rb814BgzyiqGRmvKQErDBw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.81.0.tgz", + "integrity": "sha512-IC/KM/uuUkdihe8+J+Fl0zvYgh1dnP/Ofde4935Azee28Zu2SEso9r4V8OzzbNcO5I+DoQWgwxoodrb6PU954g==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -597,14 +597,14 @@ } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.78.0.tgz", - "integrity": "sha512-hHpUZLjIiaLK+99cAPiYNV9QzZQxFoMLqBNYo+GQwqizaVOjxQRi5y/hPkfFALqqufZ1L6XWeyjQrtli0ftqBQ==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.81.0.tgz", + "integrity": "sha512-k0lHS3Px5uy2+ubTYkCLniZsrqzx0O9BdmaCVoOKBF7jmpd5ewSNgaMuEYFpP8qabIZ9UEZBgVIy5m5UFZ2c0A==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", + "@swagger-api/apidom-ast": "^0.81.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -612,75 +612,75 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.78.0.tgz", - "integrity": "sha512-g7VlfOrpTzbVV30Ugab0qAJITavLo39apvyFFv2cN2jfuIQa8MlzDP0mZmVtCGQy3IoT4Auns/qWeGcZX0li9w==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.81.0.tgz", + "integrity": "sha512-9x2wSaWygAlL+V4hvtxKPpZ3htmf0sFGS3BbWQ8p+Nmek3KsEisRnQOyQxMiMr7zgIjuZICE18YDajPAsTG0RA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.81.0", + "@swagger-api/apidom-parser-adapter-json": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.78.0.tgz", - "integrity": "sha512-ZueYoHOJARRm84ntCggUZLKNwUHz2U0eG9KHIzw75UW43pyvQVbxAE2ELdyP5f8vr51wMuMp6XYRcFOsNi/oeQ==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.81.0.tgz", + "integrity": "sha512-e7CrCdSW0Ht3eoHI3g4zeG1zCC06AYI4Njx8axpOsnqEo3Py1WUVMBNUzHJI6f/R6uVnHASroUo/vxdd2jSpKQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.81.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.78.0.tgz", - "integrity": "sha512-Jm0hbNXWOH2QJIiF+5QgY+ioVSOBqV3WlhTeyrF5kSxHinah16nR1jUkz5tMsSc9sxTZHzWYVLneyBMW3VSHrw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.81.0.tgz", + "integrity": "sha512-4whlpVnteK79znQubclDlD+Let/FEdiYFPjIyD9Dsmn4yYqk0MJldz+RUXAXUObJk/75Tc+tafBxevVW0CSTRA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.81.0", + "@swagger-api/apidom-parser-adapter-json": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.78.0.tgz", - "integrity": "sha512-zpP8gQBXhrR/t91Z/Jl0nD/cUSzmYjzhE5qWHkfhbGvzaWatiLrNY+CnFS9RcgF4pb2LSqS5cjDVAExBbjdLdQ==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.81.0.tgz", + "integrity": "sha512-ryCpusKPPuyz9QQ3M3dgdgpji710N8ob5Ogys1GxD2eLmoZawrpej2/NuTKN1thypx3elsmKuPKVisIUlxp1lA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.81.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-json": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.78.0.tgz", - "integrity": "sha512-d/8gFj5cc+pnCo7ORGN5dJPGWzTleYkIwGfsyFuLZNjb4KlrOrKlPl0LKQ/t7MSEbVpSStxbgezoUtfdVhGscw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.81.0.tgz", + "integrity": "sha512-iToPxMZcC9mSo9o0BkGMeUSDUbHF+bvneu5xjm8viQeQuXMv7AluseL5DLokjOaf7YZYhTBRw2Qh+851tX/BTA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ast": "^0.81.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -691,75 +691,75 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.78.0.tgz", - "integrity": "sha512-MjXkPAiEyTZIljzjEgvAmqaZel0jpKBBqdtC8nWH/9C2ugkKHetKMSgYu+5wvFh//ixJZZE7dM1QHEIBoPl9nA==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.81.0.tgz", + "integrity": "sha512-ysLrcY6J/F5KC1A/RYsmeeDP6ItDspiyO8D8u/JOV6+GV+A3OO4B/BwHTPcepQ8LXsa34P9H+rwLL4qxDpiD7A==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.81.0", + "@swagger-api/apidom-parser-adapter-json": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.78.0.tgz", - "integrity": "sha512-k+rT6kwu1jAN1lYIP1wVshQdaLu9M+jjCfpvMXXkL/2VpZqq1yP6daFm0ExiHllVUcHWeqRXhubFV3wWkFm6eA==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.81.0.tgz", + "integrity": "sha512-ZEVorwljzA1DSSOBzMz5v7n2/iYMoLSQAf88X+Es9Nq7s1g0mJF1rwd+ZSBwGNE7Zc0meFTiKh70/kO+SNMQsw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.81.0", + "@swagger-api/apidom-parser-adapter-json": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.78.0.tgz", - "integrity": "sha512-RzcqL0kvUl5G75H4qOFSi9FTaVfBtRnjzEcjd8SOKVLg3JJsCv3vrk68laRm8HXocyWgGstU51UzBqkMStXy4A==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.81.0.tgz", + "integrity": "sha512-hVMrdjOIXM0p6+ioW5ClC1gzDyBkAoPq6+qMfKw6QsGzdP2TnAflWY1OhpUt2d1pl8TgbtqCmfF0fWA6T5RvAQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.81.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.78.0.tgz", - "integrity": "sha512-1hB+mcEJd14RJC8lH3yJsoQRDhA8TNNKl3EyQ17eFY0dK29JlluDEbDHIRQpLT1l2jCK/NfqAk2hc37yIwydfw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.81.0.tgz", + "integrity": "sha512-rZWERW8nja8ypEYssr8TybwBAWvadXmlrd1Qh+zzBDB3aN7RdQ6AMcOSHocnsrQiD1ANUEEQEUCNHxNkoCoXyA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.81.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.78.0.tgz", - "integrity": "sha512-L37X+nRNp+2PyJkAwMdSQjP8tb3xoc6FVk2QXLHogghe1Phrmfaal3TPu2rWJNn7NSBcvSyiTAR7gEIULitugA==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.81.0.tgz", + "integrity": "sha512-17iL42Cv/je7QIcnwJwSBuX+hOAzSxlMkb6kDHFUO29IJaqnB1mJNqHMBr0ruay+M2U43gTi/Z4JClT8UyFxLQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ast": "^0.81.0", + "@swagger-api/apidom-core": "^0.81.0", + "@swagger-api/apidom-error": "^0.81.0", "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -770,12 +770,12 @@ } }, "node_modules/@swagger-api/apidom-reference": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.78.0.tgz", - "integrity": "sha512-IiOaMgy+CzpQe5fFwyge4B/lkHQnBhiuNGPgIJELYXJMZle+pN6K/V4muLCG6JjAXllucbCqMpW/KLmPxGAXaw==", + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.81.0.tgz", + "integrity": "sha512-MhAkoQ7Z2mjN5YhkBUdVIHQl80VK4RARF7vYqcgVtpRr3fu6Fh1MQPreIaGUeTxsZqAt2RJzMU0xNLEWGYAxow==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-core": "^0.81.0", "@types/ramda": "~0.29.6", "axios": "^1.4.0", "minimatch": "^7.4.3", @@ -785,21 +785,21 @@ "stampit": "^4.3.2" }, "optionalDependencies": { - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-json-pointer": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.78.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.78.0", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0" + "@swagger-api/apidom-error": "^0.81.0", + "@swagger-api/apidom-json-pointer": "^0.81.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.81.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.81.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.81.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.81.0", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.81.0", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.81.0", + "@swagger-api/apidom-parser-adapter-json": "^0.81.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.81.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.81.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.81.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.81.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.81.0" } }, "node_modules/@types/bootstrap": { @@ -831,36 +831,36 @@ "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" }, "node_modules/@vue/compiler-core": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.5.tgz", - "integrity": "sha512-S8Ma+eICI40Y4UotR+iKR729Bma+wERn/xLc+Jz203s5WIW1Sx3qoiONqXGg3Q4vBMa+QHDncULya19ZSJuhog==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz", + "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==", "dependencies": { "@babel/parser": "^7.23.0", - "@vue/shared": "3.3.5", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.5.tgz", - "integrity": "sha512-dxt6QntN9T/NtnV6Pz+/nmcoo3ULnsYCnRpvEyY73wbk1tzzx7dnwngUN1cXkyGNu9c3UE7llhq/5T54lKwyhQ==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz", + "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==", "dependencies": { - "@vue/compiler-core": "3.3.5", - "@vue/shared": "3.3.5" + "@vue/compiler-core": "3.3.7", + "@vue/shared": "3.3.7" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.5.tgz", - "integrity": "sha512-M6ys4iReSbrF4NTcMCnJiBioCpzXjfkfXwkdziknRyps+pG0DkwpDfQT7zQ0q91/rCR/Ejz64b5H6C4HBhX41w==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz", + "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==", "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.5", - "@vue/compiler-dom": "3.3.5", - "@vue/compiler-ssr": "3.3.5", - "@vue/reactivity-transform": "3.3.5", - "@vue/shared": "3.3.5", + "@vue/compiler-core": "3.3.7", + "@vue/compiler-dom": "3.3.7", + "@vue/compiler-ssr": "3.3.7", + "@vue/reactivity-transform": "3.3.7", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "magic-string": "^0.30.5", "postcss": "^8.4.31", @@ -868,12 +868,12 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.5.tgz", - "integrity": "sha512-v7p2XuEpOcgjd6c49NqOnq3UTJOv5Uo9tirOyGnEadwxTov2O1J3/TUt4SgAAnwA+9gcUyH5c3lIOFsBe+UIyw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz", + "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==", "dependencies": { - "@vue/compiler-dom": "3.3.5", - "@vue/shared": "3.3.5" + "@vue/compiler-dom": "3.3.7", + "@vue/shared": "3.3.7" } }, "node_modules/@vue/devtools-api": { @@ -882,60 +882,60 @@ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "node_modules/@vue/reactivity": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.5.tgz", - "integrity": "sha512-P7OBfPjsbV5lDCwZQDtWFqPh3uAP3Q6bRqYVgsYr6ki7jiaiHGSLmeaevUi+Nkev8nhublUpApnWevNiACN3sw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz", + "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==", "dependencies": { - "@vue/shared": "3.3.5" + "@vue/shared": "3.3.7" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.5.tgz", - "integrity": "sha512-OhpBD1H32pIapRzqy31hWwTFLf9STP+0uk5bVOQWXACTa2Rt/RPhvX4zixbPgMGo6iP+S+tFpZzUdcG8AASn8A==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz", + "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==", "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.5", - "@vue/shared": "3.3.5", + "@vue/compiler-core": "3.3.7", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "magic-string": "^0.30.5" } }, "node_modules/@vue/runtime-core": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.5.tgz", - "integrity": "sha512-kxAW3fTzwzZQqiHV1SndTtLMlNfJ/bsvcYku6NDuPzTeG6sMOAIXvuz6N5NUox+P7sNCInESbSOrPMMvtWx3vA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz", + "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==", "dependencies": { - "@vue/reactivity": "3.3.5", - "@vue/shared": "3.3.5" + "@vue/reactivity": "3.3.7", + "@vue/shared": "3.3.7" } }, "node_modules/@vue/runtime-dom": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.5.tgz", - "integrity": "sha512-seYSeHmBNlTrR0eFyQFocEBtzljNlKzC2JfdebfBqoEmikyNYzLWTouv71DignLFXEXZKWNTqCIs4d7dk5Q3Ng==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz", + "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==", "dependencies": { - "@vue/runtime-core": "3.3.5", - "@vue/shared": "3.3.5", + "@vue/runtime-core": "3.3.7", + "@vue/shared": "3.3.7", "csstype": "^3.1.2" } }, "node_modules/@vue/server-renderer": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.5.tgz", - "integrity": "sha512-7VIZkohYn8GAnNT9chrm0vDpHJ6mWPL+TmUBKtDWcWxYcq33YJP/VHCPQN5TazkxXCtv3c1KfXAMZowX4giLoQ==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz", + "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==", "dependencies": { - "@vue/compiler-ssr": "3.3.5", - "@vue/shared": "3.3.5" + "@vue/compiler-ssr": "3.3.7", + "@vue/shared": "3.3.7" }, "peerDependencies": { - "vue": "3.3.5" + "vue": "3.3.7" } }, "node_modules/@vue/shared": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.5.tgz", - "integrity": "sha512-oNJN1rCtkqm1cIxU1BuZVEVRWIp4DhaxXucEzzZ/iDKHP71ZxhkBPNK+URySiECH6aiOZzC60PS2bd6JFznvNA==" + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz", + "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==" }, "node_modules/anymatch": { "version": "3.1.3", @@ -961,9 +961,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1204,9 +1204,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", - "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==", + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", + "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -1444,14 +1444,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1486,20 +1486,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1533,6 +1525,17 @@ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", "dev": true }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -1583,12 +1586,12 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1782,9 +1785,9 @@ "optional": true }, "node_modules/modern-screenshot": { - "version": "4.4.32", - "resolved": "https://registry.npmjs.org/modern-screenshot/-/modern-screenshot-4.4.32.tgz", - "integrity": "sha512-CWIEVwUep7PE56D3Et20/Nx2b7Bb9aSnfHCLgljnYhPAs3c5Lc20JrcnhRD6gOSb6J4L2PrkRDm3DZfyA1/ezg==" + "version": "4.4.33", + "resolved": "https://registry.npmjs.org/modern-screenshot/-/modern-screenshot-4.4.33.tgz", + "integrity": "sha512-uxxD4PdbIitXFlcNbO6kpRuxssfN+rJDfr8Pk2/eOx1dFz+LcaYDfbfeq7UxKuhsOVeN1tj996wEY3yJYwhnaQ==" }, "node_modules/moment": { "version": "2.29.4", @@ -2154,9 +2157,9 @@ "optional": true }, "node_modules/sass": { - "version": "1.69.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.4.tgz", - "integrity": "sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==", + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -2441,9 +2444,9 @@ } }, "node_modules/undici": { - "version": "5.26.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.4.tgz", - "integrity": "sha512-OG+QOf0fTLtazL9P9X7yqWxQ+Z0395Wk6DSkyTxtaq3wQEjIroVe7Y4asCX/vcCxYpNGMnwz8F0qbRYUoaQVMw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.0.tgz", + "integrity": "sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -2463,15 +2466,15 @@ "optional": true }, "node_modules/vue": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.5.tgz", - "integrity": "sha512-xYpLEGb25yYU1ul9ZhCcavNZ4YW6PS7YTDdDAd0yc/3w69Tra2BwY4EpKguKddfD56QApXQ17XHq+fJJwEP+UQ==", - "dependencies": { - "@vue/compiler-dom": "3.3.5", - "@vue/compiler-sfc": "3.3.5", - "@vue/runtime-dom": "3.3.5", - "@vue/server-renderer": "3.3.5", - "@vue/shared": "3.3.5" + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz", + "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==", + "dependencies": { + "@vue/compiler-dom": "3.3.7", + "@vue/compiler-sfc": "3.3.7", + "@vue/runtime-dom": "3.3.7", + "@vue/server-renderer": "3.3.7", + "@vue/shared": "3.3.7" }, "peerDependencies": { "typescript": "*" diff --git a/server/apiv1/info.go b/server/apiv1/info.go index d0dd123c6..85afe9e7c 100644 --- a/server/apiv1/info.go +++ b/server/apiv1/info.go @@ -30,7 +30,7 @@ type appInformation struct { } // AppInfo returns some basic details about the running app, and latest release. -func AppInfo(w http.ResponseWriter, r *http.Request) { +func AppInfo(w http.ResponseWriter, _ *http.Request) { // swagger:route GET /api/v1/info application AppInformation // // # Get application information diff --git a/server/ui-src/components/AboutMailpit.vue b/server/ui-src/components/AboutMailpit.vue index e0f6702a9..4c6cdfc6d 100644 --- a/server/ui-src/components/AboutMailpit.vue +++ b/server/ui-src/components/AboutMailpit.vue @@ -159,8 +159,12 @@ export default { diff --git a/server/ui-src/views/SearchView.vue b/server/ui-src/views/SearchView.vue index b86e5bcde..797d9c08e 100644 --- a/server/ui-src/views/SearchView.vue +++ b/server/ui-src/views/SearchView.vue @@ -102,14 +102,14 @@ export default {
-
-
+