Skip to content

✨ feat(login): show targeted wrong-password message for merged sim4life accounts ⚠️ 🚑#9035

Merged
giancarloromeo merged 35 commits intoITISFoundation:masterfrom
giancarloromeo:feat/targeted-wrong-password-msg-merged-accounts
Apr 21, 2026
Merged

✨ feat(login): show targeted wrong-password message for merged sim4life accounts ⚠️ 🚑#9035
giancarloromeo merged 35 commits intoITISFoundation:masterfrom
giancarloromeo:feat/targeted-wrong-password-msg-merged-accounts

Conversation

@giancarloromeo
Copy link
Copy Markdown
Contributor

@giancarloromeo giancarloromeo commented Apr 17, 2026

What do these changes do?

This pull request enhances the login error handling to support users affected by the databases merge. It introduces logic to detect users who belong to both merged products and provides them with a targeted error message when they enter the wrong password.

Related issue/s

How to test

cd services/web/server
make install-dev
pytest -vv --pdb tests/unit/isolated/test_login_rest_exceptions.py

🗃️ Database

The vendor column in the products table now supports a marketing_fallback_products_on_wrong_password field: a list of product names suggested to the user when they enter an incorrect password, guiding them toward the product where their account may have been merged.

Example of vendor column content:

{
   "marketing_fallback_products_on_wrong_password": ["s4l", "s4lacad"]
}

🎤 Q&A

  • Q: Why not a single bool instead of a list?
    A: It's more flexible and I avoid to hardcode product names (pre-existing in the target deployment) in the codebase.

Dev-ops

No changes.

@giancarloromeo giancarloromeo added this to the Etna milestone Apr 17, 2026
@giancarloromeo giancarloromeo self-assigned this Apr 17, 2026
@giancarloromeo giancarloromeo added the a:webserver webserver's codebase. Assigning the area is particularly useful for bugs label Apr 17, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 17, 2026

Codecov Report

❌ Patch coverage is 94.11765% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.54%. Comparing base (19ad461) to head (2a06993).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9035      +/-   ##
==========================================
+ Coverage   87.35%   89.54%   +2.19%     
==========================================
  Files        2056     1722     -334     
  Lines       80971    68603   -12368     
  Branches     1451      585     -866     
==========================================
- Hits        70732    61432    -9300     
+ Misses       9828     7020    -2808     
+ Partials      411      151     -260     
Flag Coverage Δ
integrationtests 63.90% <30.30%> (-0.04%) ⬇️
unittests 88.24% <94.11%> (+2.01%) ⬆️
Components Coverage Δ
pkg_aws_library ∅ <ø> (∅)
pkg_celery_library ∅ <ø> (∅)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library 92.63% <ø> (ø)
pkg_notifications_library 84.48% <ø> (ø)
pkg_postgres_database 89.30% <100.00%> (+<0.01%) ⬆️
pkg_service_integration ∅ <ø> (∅)
pkg_service_library ∅ <ø> (∅)
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 85.94% <ø> (-0.11%) ⬇️
agent 93.26% <ø> (ø)
api_server 91.40% <ø> (ø)
autoscaling 95.48% <ø> (ø)
catalog 92.10% <ø> (ø)
clusters_keeper 98.59% <ø> (ø)
dask_sidecar 91.74% <ø> (ø)
datcore_adapter 97.95% <ø> (ø)
director 75.45% <ø> (ø)
director_v2 91.60% <ø> (-0.09%) ⬇️
dynamic_scheduler 95.77% <ø> (ø)
dynamic_sidecar 87.50% <ø> (ø)
efs_guardian 89.73% <ø> (ø)
invitations 90.93% <ø> (ø)
payments 92.87% <ø> (ø)
resource_usage_tracker 92.00% <ø> (-0.47%) ⬇️
storage 86.78% <ø> (ø)
webclient ∅ <ø> (∅)
webserver 86.75% <93.93%> (-0.02%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 19ad461...2a06993. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@giancarloromeo giancarloromeo marked this pull request as ready for review April 17, 2026 12:50
@giancarloromeo giancarloromeo changed the title ✨ feat(login): show targeted wrong-password message for merged sim4life accounts ✨ feat(login): show targeted wrong-password message for merged sim4life accounts 🚑 Apr 17, 2026
Comment thread packages/postgres-database/src/simcore_postgres_database/models/products.py Outdated
Comment thread services/web/server/src/simcore_service_webserver/login/errors.py Outdated
Comment thread services/web/server/tests/unit/isolated/test_login_rest_exceptions.py Outdated
giancarloromeo and others added 12 commits April 17, 2026 15:00
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Andrei Neagu <[email protected]>
…thub.com:giancarloromeo/osparc-simcore into feat/targeted-wrong-password-msg-merged-accounts
Copy link
Copy Markdown
Member

@odeimaiz odeimaiz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beautiful 💅

Copy link
Copy Markdown
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot, much better.

Copy link
Copy Markdown
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx.
Left some comments

Comment thread services/web/server/src/simcore_service_webserver/login/constants.py Outdated
Comment thread packages/postgres-database/src/simcore_postgres_database/models/products.py Outdated
@giancarloromeo giancarloromeo changed the title ✨ feat(login): show targeted wrong-password message for merged sim4life accounts 🚑 ✨ feat(login): show targeted wrong-password message for merged sim4life accounts ⚠️ 🚑 Apr 20, 2026
@giancarloromeo giancarloromeo enabled auto-merge (squash) April 21, 2026 07:11
@sonarqubecloud
Copy link
Copy Markdown

@giancarloromeo giancarloromeo merged commit 1a10aac into ITISFoundation:master Apr 21, 2026
93 of 96 checks passed
@giancarloromeo giancarloromeo deleted the feat/targeted-wrong-password-msg-merged-accounts branch April 21, 2026 07:40
giancarloromeo added a commit that referenced this pull request Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a:webserver webserver's codebase. Assigning the area is particularly useful for bugs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants