mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-31 10:18:19 +02:00 
			
		
		
		
	Update web-vault and admin resources (#6044)
- Updated web-vault to v2025.7.0 - Updated admin JS and CSS files Signed-off-by: BlackDex <black.dex@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							4fd22d8e3b
						
					
				
				
					commit
					55945ad793
				
			| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| vault_version: "v2025.6.0" | vault_version: "v2025.7.0" | ||||||
| vault_image_digest: "sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c" | vault_image_digest: "sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e" | ||||||
| # Cross Compile Docker Helper Scripts v1.6.1 | # Cross Compile Docker Helper Scripts v1.6.1 | ||||||
| # We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts | # We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts | ||||||
| # https://github.com/tonistiigi/xx | https://hub.docker.com/r/tonistiigi/xx/tags | # https://github.com/tonistiigi/xx | https://hub.docker.com/r/tonistiigi/xx/tags | ||||||
|   | |||||||
| @@ -19,15 +19,15 @@ | |||||||
| # - From https://hub.docker.com/r/vaultwarden/web-vault/tags, | # - From https://hub.docker.com/r/vaultwarden/web-vault/tags, | ||||||
| #   click the tag name to view the digest of the image it currently points to. | #   click the tag name to view the digest of the image it currently points to. | ||||||
| # - From the command line: | # - From the command line: | ||||||
| #     $ docker pull docker.io/vaultwarden/web-vault:v2025.6.0 | #     $ docker pull docker.io/vaultwarden/web-vault:v2025.7.0 | ||||||
| #     $ docker image inspect --format "{{.RepoDigests}}" docker.io/vaultwarden/web-vault:v2025.6.0 | #     $ docker image inspect --format "{{.RepoDigests}}" docker.io/vaultwarden/web-vault:v2025.7.0 | ||||||
| #     [docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c] | #     [docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e] | ||||||
| # | # | ||||||
| # - Conversely, to get the tag name from the digest: | # - Conversely, to get the tag name from the digest: | ||||||
| #     $ docker image inspect --format "{{.RepoTags}}" docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c | #     $ docker image inspect --format "{{.RepoTags}}" docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e | ||||||
| #     [docker.io/vaultwarden/web-vault:v2025.6.0] | #     [docker.io/vaultwarden/web-vault:v2025.7.0] | ||||||
| # | # | ||||||
| FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c AS vault | FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e AS vault | ||||||
|  |  | ||||||
| ########################## ALPINE BUILD IMAGES ########################## | ########################## ALPINE BUILD IMAGES ########################## | ||||||
| ## NOTE: The Alpine Base Images do not support other platforms then linux/amd64 | ## NOTE: The Alpine Base Images do not support other platforms then linux/amd64 | ||||||
|   | |||||||
| @@ -19,15 +19,15 @@ | |||||||
| # - From https://hub.docker.com/r/vaultwarden/web-vault/tags, | # - From https://hub.docker.com/r/vaultwarden/web-vault/tags, | ||||||
| #   click the tag name to view the digest of the image it currently points to. | #   click the tag name to view the digest of the image it currently points to. | ||||||
| # - From the command line: | # - From the command line: | ||||||
| #     $ docker pull docker.io/vaultwarden/web-vault:v2025.6.0 | #     $ docker pull docker.io/vaultwarden/web-vault:v2025.7.0 | ||||||
| #     $ docker image inspect --format "{{.RepoDigests}}" docker.io/vaultwarden/web-vault:v2025.6.0 | #     $ docker image inspect --format "{{.RepoDigests}}" docker.io/vaultwarden/web-vault:v2025.7.0 | ||||||
| #     [docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c] | #     [docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e] | ||||||
| # | # | ||||||
| # - Conversely, to get the tag name from the digest: | # - Conversely, to get the tag name from the digest: | ||||||
| #     $ docker image inspect --format "{{.RepoTags}}" docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c | #     $ docker image inspect --format "{{.RepoTags}}" docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e | ||||||
| #     [docker.io/vaultwarden/web-vault:v2025.6.0] | #     [docker.io/vaultwarden/web-vault:v2025.7.0] | ||||||
| # | # | ||||||
| FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:494be10bd99d9d05c7bec13dad71ad99102ea920de9a5d3587529709a64fb42c AS vault | FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:f6ac819a2cd9e226f2cd2ec26196ede94a41e672e9672a11b5f307a19278b15e AS vault | ||||||
|  |  | ||||||
| ########################## Cross Compile Docker Helper Scripts ########################## | ########################## Cross Compile Docker Helper Scripts ########################## | ||||||
| ## We use the linux/amd64 no matter which Build Platform, since these are all bash scripts | ## We use the linux/amd64 no matter which Build Platform, since these are all bash scripts | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								src/static/scripts/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								src/static/scripts/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| /*! | /*! | ||||||
|   * Bootstrap v5.3.6 (https://getbootstrap.com/) |   * Bootstrap v5.3.7 (https://getbootstrap.com/) | ||||||
|   * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) |   * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) | ||||||
|   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) | ||||||
|   */ |   */ | ||||||
| @@ -647,7 +647,7 @@ | |||||||
|    * Constants |    * Constants | ||||||
|    */ |    */ | ||||||
|  |  | ||||||
|   const VERSION = '5.3.6'; |   const VERSION = '5.3.7'; | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * Class definition |    * Class definition | ||||||
| @@ -4805,7 +4805,6 @@ | |||||||
|    * |    * | ||||||
|    * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38 |    * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38 | ||||||
|    */ |    */ | ||||||
|   // eslint-disable-next-line unicorn/better-regex |  | ||||||
|   const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; |   const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; | ||||||
|   const allowedAttribute = (attribute, allowedAttributeList) => { |   const allowedAttribute = (attribute, allowedAttributeList) => { | ||||||
|     const attributeName = attribute.nodeName.toLowerCase(); |     const attributeName = attribute.nodeName.toLowerCase(); | ||||||
| @@ -5349,6 +5348,7 @@ | |||||||
|         if (trigger === 'click') { |         if (trigger === 'click') { | ||||||
|           EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { |           EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { | ||||||
|             const context = this._initializeOnDelegatedTarget(event); |             const context = this._initializeOnDelegatedTarget(event); | ||||||
|  |             context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]); | ||||||
|             context.toggle(); |             context.toggle(); | ||||||
|           }); |           }); | ||||||
|         } else if (trigger !== TRIGGER_MANUAL) { |         } else if (trigger !== TRIGGER_MANUAL) { | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								src/static/scripts/bootstrap.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								src/static/scripts/bootstrap.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| @charset "UTF-8"; | @charset "UTF-8"; | ||||||
| /*! | /*! | ||||||
|  * Bootstrap  v5.3.6 (https://getbootstrap.com/) |  * Bootstrap  v5.3.7 (https://getbootstrap.com/) | ||||||
|  * Copyright 2011-2025 The Bootstrap Authors |  * Copyright 2011-2025 The Bootstrap Authors | ||||||
|  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) | ||||||
|  */ |  */ | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								src/static/scripts/datatables.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								src/static/scripts/datatables.css
									
									
									
									
										vendored
									
									
								
							| @@ -4,10 +4,10 @@ | |||||||
|  * |  * | ||||||
|  * To rebuild or modify this file with the latest versions of the included |  * To rebuild or modify this file with the latest versions of the included | ||||||
|  * software please visit: |  * software please visit: | ||||||
|  *   https://datatables.net/download/#bs5/dt-2.3.1 |  *   https://datatables.net/download/#bs5/dt-2.3.2 | ||||||
|  * |  * | ||||||
|  * Included libraries: |  * Included libraries: | ||||||
|  *   DataTables 2.3.1 |  *   DataTables 2.3.2 | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| :root { | :root { | ||||||
| @@ -17,17 +17,18 @@ | |||||||
|   --dt-row-stripe: 0, 0, 0; |   --dt-row-stripe: 0, 0, 0; | ||||||
|   --dt-row-hover: 0, 0, 0; |   --dt-row-hover: 0, 0, 0; | ||||||
|   --dt-column-ordering: 0, 0, 0; |   --dt-column-ordering: 0, 0, 0; | ||||||
|  |   --dt-header-align-items: center; | ||||||
|   --dt-html-background: white; |   --dt-html-background: white; | ||||||
| } | } | ||||||
| :root.dark { | :root.dark { | ||||||
|   --dt-html-background: rgb(33, 37, 41); |   --dt-html-background: rgb(33, 37, 41); | ||||||
| } | } | ||||||
|  |  | ||||||
| table.dataTable td.dt-control { | table.dataTable tbody td.dt-control { | ||||||
|   text-align: center; |   text-align: center; | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| table.dataTable td.dt-control:before { | table.dataTable tbody td.dt-control:before { | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|   box-sizing: border-box; |   box-sizing: border-box; | ||||||
|   content: ""; |   content: ""; | ||||||
| @@ -36,7 +37,7 @@ table.dataTable td.dt-control:before { | |||||||
|   border-bottom: 5px solid transparent; |   border-bottom: 5px solid transparent; | ||||||
|   border-right: 0px solid transparent; |   border-right: 0px solid transparent; | ||||||
| } | } | ||||||
| table.dataTable tr.dt-hasChild td.dt-control:before { | table.dataTable tbody tr.dt-hasChild td.dt-control:before { | ||||||
|   border-top: 10px solid rgba(0, 0, 0, 0.5); |   border-top: 10px solid rgba(0, 0, 0, 0.5); | ||||||
|   border-left: 5px solid transparent; |   border-left: 5px solid transparent; | ||||||
|   border-bottom: 0px solid transparent; |   border-bottom: 0px solid transparent; | ||||||
| @@ -163,7 +164,7 @@ table.dataTable tfoot > tr > td div.dt-column-header, | |||||||
| table.dataTable tfoot > tr > td div.dt-column-footer { | table.dataTable tfoot > tr > td div.dt-column-footer { | ||||||
|   display: flex; |   display: flex; | ||||||
|   justify-content: space-between; |   justify-content: space-between; | ||||||
|   align-items: center; |   align-items: var(--dt-header-align-items); | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| } | } | ||||||
| table.dataTable thead > tr > th div.dt-column-header span.dt-column-title, | table.dataTable thead > tr > th div.dt-column-header span.dt-column-title, | ||||||
| @@ -421,6 +422,10 @@ table.dataTable tbody td.dt-body-nowrap { | |||||||
|   white-space: nowrap; |   white-space: nowrap; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | :root { | ||||||
|  |   --dt-header-align-items: flex-end; | ||||||
|  | } | ||||||
|  |  | ||||||
| /*! Bootstrap 5 integration for DataTables | /*! Bootstrap 5 integration for DataTables | ||||||
|  * |  * | ||||||
|  * ©2020 SpryMedia Ltd, all rights reserved. |  * ©2020 SpryMedia Ltd, all rights reserved. | ||||||
|   | |||||||
							
								
								
									
										36
									
								
								src/static/scripts/datatables.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								src/static/scripts/datatables.js
									
									
									
									
										vendored
									
									
								
							| @@ -4,13 +4,13 @@ | |||||||
|  * |  * | ||||||
|  * To rebuild or modify this file with the latest versions of the included |  * To rebuild or modify this file with the latest versions of the included | ||||||
|  * software please visit: |  * software please visit: | ||||||
|  *   https://datatables.net/download/#bs5/dt-2.3.1 |  *   https://datatables.net/download/#bs5/dt-2.3.2 | ||||||
|  * |  * | ||||||
|  * Included libraries: |  * Included libraries: | ||||||
|  *   DataTables 2.3.1 |  *   DataTables 2.3.2 | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| /*! DataTables 2.3.1 | /*! DataTables 2.3.2 | ||||||
|  * © SpryMedia Ltd - datatables.net/license |  * © SpryMedia Ltd - datatables.net/license | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @@ -124,7 +124,7 @@ | |||||||
| 			_fnCamelToHungarian( defaults.column, defaults.column, true ); | 			_fnCamelToHungarian( defaults.column, defaults.column, true ); | ||||||
| 			 | 			 | ||||||
| 			/* Setting up the initialisation object */ | 			/* Setting up the initialisation object */ | ||||||
| 			_fnCamelToHungarian( defaults, $.extend( oInit, $this.data() ), true ); | 			_fnCamelToHungarian( defaults, $.extend( oInit, _fnEscapeObject($this.data()) ), true ); | ||||||
| 			 | 			 | ||||||
| 			 | 			 | ||||||
| 			 | 			 | ||||||
| @@ -513,7 +513,7 @@ | |||||||
| 		 * | 		 * | ||||||
| 		 *  @type string | 		 *  @type string | ||||||
| 		 */ | 		 */ | ||||||
| 		builder: "bs5/dt-2.3.1", | 		builder: "bs5/dt-2.3.2", | ||||||
| 	 | 	 | ||||||
| 		/** | 		/** | ||||||
| 		 * Buttons. For use with the Buttons extension for DataTables. This is | 		 * Buttons. For use with the Buttons extension for DataTables. This is | ||||||
| @@ -554,6 +554,11 @@ | |||||||
| 		 */ | 		 */ | ||||||
| 		errMode: "alert", | 		errMode: "alert", | ||||||
| 	 | 	 | ||||||
|  | 		/** HTML entity escaping */ | ||||||
|  | 		escape: { | ||||||
|  | 			/** When reading data-* attributes for initialisation options */ | ||||||
|  | 			attributes: false | ||||||
|  | 		}, | ||||||
| 	 | 	 | ||||||
| 		/** | 		/** | ||||||
| 		 * Legacy so v1 plug-ins don't throw js errors on load | 		 * Legacy so v1 plug-ins don't throw js errors on load | ||||||
| @@ -4025,7 +4030,7 @@ | |||||||
| 					if ( write ) { | 					if ( write ) { | ||||||
| 						if (unique) { | 						if (unique) { | ||||||
| 							// Allow column options to be set from HTML attributes | 							// Allow column options to be set from HTML attributes | ||||||
| 							_fnColumnOptions( settings, shifted, jqCell.data() ); | 							_fnColumnOptions( settings, shifted, _fnEscapeObject(jqCell.data()) ); | ||||||
| 							 | 							 | ||||||
| 							// Get the width for the column. This can be defined from the | 							// Get the width for the column. This can be defined from the | ||||||
| 							// width attribute, style attribute or `columns.width` option | 							// width attribute, style attribute or `columns.width` option | ||||||
| @@ -4271,7 +4276,7 @@ | |||||||
| 			// to the object for the callback. | 			// to the object for the callback. | ||||||
| 			var empty = {}; | 			var empty = {}; | ||||||
| 	 | 	 | ||||||
| 			DataTable.util.set(ajax.dataSrc)(empty, []); | 			_fnAjaxDataSrc(oSettings, empty, []); | ||||||
| 			callback(empty); | 			callback(empty); | ||||||
| 		} | 		} | ||||||
| 		else { | 		else { | ||||||
| @@ -5799,6 +5804,8 @@ | |||||||
| 			var run = false; | 			var run = false; | ||||||
| 			var columns = column === undefined | 			var columns = column === undefined | ||||||
| 				? _fnColumnsFromHeader( e.target ) | 				? _fnColumnsFromHeader( e.target ) | ||||||
|  | 				: typeof column === 'function' | ||||||
|  | 					? column() | ||||||
| 					: Array.isArray(column) | 					: Array.isArray(column) | ||||||
| 						? column | 						? column | ||||||
| 						: [column]; | 						: [column]; | ||||||
| @@ -6866,6 +6873,19 @@ | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	/** | ||||||
|  | 	 * Escape HTML entities in strings, in an object | ||||||
|  | 	 */ | ||||||
|  | 	function _fnEscapeObject(obj) { | ||||||
|  | 		if (DataTable.ext.escape.attributes) { | ||||||
|  | 			$.each(obj, function (key, val) { | ||||||
|  | 				obj[key] = _escapeHtml(val); | ||||||
|  | 			}) | ||||||
|  | 		} | ||||||
|  | 	 | ||||||
|  | 		return obj; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	 | 	 | ||||||
| 	 | 	 | ||||||
| 	/** | 	/** | ||||||
| @@ -10211,7 +10231,7 @@ | |||||||
| 	 *  @type string | 	 *  @type string | ||||||
| 	 *  @default Version number | 	 *  @default Version number | ||||||
| 	 */ | 	 */ | ||||||
| 	DataTable.version = "2.3.1"; | 	DataTable.version = "2.3.2"; | ||||||
| 	 | 	 | ||||||
| 	/** | 	/** | ||||||
| 	 * Private data store, containing all of the settings objects that are | 	 * Private data store, containing all of the settings objects that are | ||||||
|   | |||||||
| @@ -31,6 +31,10 @@ app-root ng-component > form > div:nth-child(1) > div > button[buttontype="secon | |||||||
| } | } | ||||||
| {{/if}} | {{/if}} | ||||||
|  |  | ||||||
|  | /* Hide the `Log in with passkey` settings */ | ||||||
|  | app-change-password app-webauthn-login-settings { | ||||||
|  |   @extend %vw-hide; | ||||||
|  | } | ||||||
| /* Hide Log in with passkey on the login page */ | /* Hide Log in with passkey on the login page */ | ||||||
| {{#if (webver ">=2025.5.1")}} | {{#if (webver ">=2025.5.1")}} | ||||||
| .vw-passkey-login { | .vw-passkey-login { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user