Skip to content

Merge upstream and update test expectations #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
62c94f3
Bump elliptic from 6.5.7 to 6.6.0 in /frontend
dependabot[bot] Oct 31, 2024
d6791f4
docs(setup): Remove deprecated version from docker-compose.yml
jonasrdl Oct 31, 2024
a0b26b9
Add woff2 format to assets.conf for Cache Assets
irexyc Nov 4, 2024
87998a0
Fix bootloop if stream is used for http/https port
Jasparigus Nov 14, 2024
20646e7
Bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /test
dependabot[bot] Nov 15, 2024
640a1ee
Return generic auth error to prevent user enumeration attacks
tametsi Nov 22, 2024
07a4e57
Merge pull request #4179 from tametsi/develop
jc21 Nov 23, 2024
2075f98
Bump cross-spawn from 7.0.3 to 7.0.6 in /backend
dependabot[bot] Nov 24, 2024
93ea17a
Fix entries of a deleted user break the UI
kerstenremco Nov 25, 2024
586afc0
Merge pull request #4187 from kerstenremco/avatar
jc21 Nov 25, 2024
b20dc5e
Merge pull request #4167 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Nov 25, 2024
cb3e4ed
Merge pull request #4137 from irexyc/add-woff2-asset
jc21 Nov 25, 2024
53ed12b
Merge pull request #4163 from Jasparigus/stream_error_correction
jc21 Nov 25, 2024
4ea50ca
Merge pull request #4126 from jonasrdl/remove-deprecated-version-line
jc21 Nov 25, 2024
81c9038
Refactor user form structure
badkeyy Nov 27, 2024
61e2bde
Merge pull request #4184 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 1, 2024
fe068a8
Bump cross-spawn from 7.0.3 to 7.0.6 in /test
dependabot[bot] Dec 1, 2024
97212f2
Merge pull request #4123 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 2, 2024
8351dd4
Merge pull request #4199 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 2, 2024
03018d2
Merge branch 'NginxProxyManager:develop' into bugfix/fix-user-edit-em…
badkeyy Dec 4, 2024
19ed4c1
Change click to submit
badkeyy Dec 4, 2024
d26e8c1
Change onRender function to always update the dashboard stats
badkeyy Dec 4, 2024
fcf4117
Merge pull request #4206 from badkeyy/bugfix/update-dashboard-stats-o…
jc21 Dec 4, 2024
b3de76c
Merge pull request #4192 from badkeyy/bugfix/fix-user-edit-email-form…
jc21 Dec 4, 2024
d714fee
Merge remote-tracking branch 'upstream/develop' into FEAT/open-id-con…
chutch1122 Dec 11, 2024
46f0b52
Update error messages for login tests
chutch1122 Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions backend/internal/token.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ const authModel = require('../models/auth');
const helpers = require('../lib/helpers');
const TokenModel = require('../models/token');

const ERROR_MESSAGE_INVALID_AUTH = 'Invalid email or password';

module.exports = {

/**
Expand Down Expand Up @@ -69,15 +71,15 @@ module.exports = {
};
});
} else {
throw new error.AuthError('Invalid password');
throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
}
});
} else {
throw new error.AuthError('No password auth for user');
throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
}
});
} else {
throw new error.AuthError('No relevant user found');
throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
}
});
},
Expand Down
4 changes: 3 additions & 1 deletion backend/schema/components/stream-object.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
"incoming_port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
"maximum": 65535,
"if": {"properties": {"tcp_forwarding": {"const": true}}},
"then": {"not": {"oneOf": [{"const": 80}, {"const": 443}]}}
},
"forwarding_host": {
"anyOf": [
Expand Down
6 changes: 3 additions & 3 deletions backend/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -711,9 +711,9 @@ crc32-stream@^4.0.2:
readable-stream "^3.4.0"

cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
version "7.0.6"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"
Expand Down
2 changes: 1 addition & 1 deletion docker/rootfs/etc/nginx/conf.d/include/assets.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
location ~* ^.*\.(css|js|jpe?g|gif|png|webp|woff|eot|ttf|svg|ico|css\.map|js\.map)$ {
location ~* ^.*\.(css|js|jpe?g|gif|png|webp|woff|woff2|eot|ttf|svg|ico|css\.map|js\.map)$ {
if_modified_since off;

# use the public cache
Expand Down
3 changes: 0 additions & 3 deletions docs/src/advanced-config/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ networks:
Let's look at a Portainer example:

```yml
version: '3.8'
services:

portainer:
Expand Down Expand Up @@ -92,8 +91,6 @@ This image supports the use of Docker secrets to import from files and keep sens
You can set any environment variable from a file by appending `__FILE` (double-underscore FILE) to the environmental variable name.

```yml
version: '3.8'

secrets:
# Secrets are single-line text files where the sole content is the secret
# Paths in this example assume that secrets are kept in local folder called ".secrets"
Expand Down
2 changes: 0 additions & 2 deletions docs/src/setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ outline: deep
Create a `docker-compose.yml` file:

```yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
Expand Down Expand Up @@ -55,7 +54,6 @@ are going to use.
Here is an example of what your `docker-compose.yml` will look like when using a MariaDB container:

```yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
Expand Down
4 changes: 1 addition & 3 deletions frontend/js/app/dashboard/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ module.exports = Mn.View.extend({
onRender: function () {
let view = this;

if (typeof view.stats.hosts === 'undefined') {
Api.Reports.getHostStats()
Api.Reports.getHostStats()
.then(response => {
if (!view.isDestroyed()) {
view.stats.hosts = response;
Expand All @@ -61,7 +60,6 @@ module.exports = Mn.View.extend({
.catch(err => {
console.log(err);
});
}
},

/**
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/access/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/certificates/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/dead/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/proxy/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/redirection/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions frontend/js/app/nginx/stream/list/item.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<td class="text-center">
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
<div class="avatar d-block" style="background-image: url(<%- (owner && owner.avatar) || '/images/default-avatar.jpg' %>)" title="Owned by <%- (owner && owner.name) || 'a deleted user' %>">
<span class="avatar-status <%- owner && !owner.is_disabled ? 'bg-green' : 'bg-red' %>"></span>
</div>
</td>
<td>
Expand Down
24 changes: 12 additions & 12 deletions frontend/js/app/user/form.ejs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><%- i18n('users', 'form-title', {id: id}) %></h5>
<button type="button" class="close cancel" aria-label="Close" data-dismiss="modal">&nbsp;</button>
</div>
<div class="modal-body">
<form>
<form>
<div class="modal-header">
<h5 class="modal-title"><%- i18n('users', 'form-title', {id: id}) %></h5>
<button type="button" class="close cancel" aria-label="Close" data-dismiss="modal">&nbsp;</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-sm-6 col-md-6">
<div class="form-group">
Expand Down Expand Up @@ -49,10 +49,10 @@
</div>
<% } %>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary cancel" data-dismiss="modal"><%- i18n('str', 'cancel') %></button>
<button type="button" class="btn btn-teal save"><%- i18n('str', 'save') %></button>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary cancel" data-dismiss="modal"><%- i18n('str', 'cancel') %></button>
<button type="submit" class="btn btn-teal save"><%- i18n('str', 'save') %></button>
</div>
</form>
</div>
2 changes: 1 addition & 1 deletion frontend/js/app/user/form.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ module.exports = Mn.View.extend({

events: {

'click @ui.save': function (e) {
'submit @ui.form': function (e) {
e.preventDefault();
this.ui.error.hide();
let view = this;
Expand Down
6 changes: 3 additions & 3 deletions frontend/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2648,9 +2648,9 @@ electron-to-chromium@^1.3.47:
integrity sha512-67V62Z4CFOiAtox+o+tosGfVk0QX4DJgH609tjT8QymbJZVAI/jWnAthnr8c5hnRNziIRwkc9EMQYejiVz3/9Q==

elliptic@^6.5.3, elliptic@^6.5.4:
version "6.5.7"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b"
integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==
version "6.6.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210"
integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==
dependencies:
bn.js "^4.11.9"
brorand "^1.1.0"
Expand Down
8 changes: 4 additions & 4 deletions test/cypress/e2e/ui/Login.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ describe('Login', () => {
// Expect a 401 from the backend
cy.get('@login').its('response.statusCode').should('eq', 401);
// Expect an error message on the UI
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid password');
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid email or password');
});

it('should show an error message if the email is incorrect', () => {
Expand All @@ -85,7 +85,7 @@ describe('Login', () => {
// Expect a 401 from the backend
cy.get('@login').its('response.statusCode').should('eq', 401);
// Expect an error message on the UI
cy.get('div[data-cy="password-error"]').should('contain.text', 'No relevant user found');
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid email or password');
});
});
});
Expand Down Expand Up @@ -150,7 +150,7 @@ describe('Login', () => {
// Expect a 401 from the backend
cy.get('@login').its('response.statusCode').should('eq', 401);
// Expect an error message on the UI
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid password');
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid email or password');
});

it('should show an error message if the email is incorrect', () => {
Expand All @@ -168,7 +168,7 @@ describe('Login', () => {
// Expect a 401 from the backend
cy.get('@login').its('response.statusCode').should('eq', 401);
// Expect an error message on the UI
cy.get('div[data-cy="password-error"]').should('contain.text', 'No relevant user found');
cy.get('div[data-cy="password-error"]').should('contain.text', 'Invalid email or password');
});
});

Expand Down
12 changes: 6 additions & 6 deletions test/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,9 @@
integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==

"@eslint/plugin-kit@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz#8712dccae365d24e9eeecb7b346f85e750ba343d"
integrity sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==
version "0.2.3"
resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz#812980a6a41ecf3a8341719f92a6d1e784a2e0e8"
integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==
dependencies:
levn "^0.4.1"

Expand Down Expand Up @@ -628,9 +628,9 @@ [email protected]:
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=

cross-spawn@^7.0.0, cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
version "7.0.6"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"
Expand Down