Skip to content
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

feature: nickname field added #7185

Open
wants to merge 1,929 commits into
base: master
Choose a base branch
from
Open

Conversation

etopipec
Copy link

Description & Issue number it closes

Nickname field added.
#6651

Screenshots (if appropriate)

20241014_19h56m20s_grim

How to test the changes?

Visual inspection.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Visual inspection. Creating, editing person. Adding nickname.

DAcodedBEAT and others added 30 commits June 6, 2024 17:56
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Not all countries have Zip codes or equivalent, so we can't force it as
a requirement.

Related to ChurchCRM#7032

## Screenshots (if appropriate)
<!-- Before and after --> 

None.

## How to test the changes?

Manual testing.

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

Manual testing..

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
Snyk has created this PR to upgrade chart.js from 4.4.2 to 4.4.3.

See this package in npm:
chart.js

See this project in Snyk:
https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr
Snyk has created this PR to upgrade i18next from 23.11.4 to 23.11.5.

See this package in npm:
i18next

See this project in Snyk:
https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Resolves ChurchCRM#2771

## Screenshots (if appropriate)
<!-- Before and after --> 

None.

## How to test the changes?

Visual inspection.

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

Visual inspection.

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Allowing HTML in Event Sermon text also allowed XSS. Removed allowing
HTML in said field.

Resolves ChurchCRM#6851

## Screenshots (if appropriate)
<!-- Before and after --> 

None.

## How to test the changes?

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Strip tags and encode HTML characters in form data, preventing XSS.

Resolves ChurchCRM#7029

## Screenshots (if appropriate)
<!-- Before and after --> 

None.

## How to test the changes?

Manually testing using docker image.

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

Manually testing using docker image.

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

The canvass feature has missing database entries going back 20 years.

I don't see any open or closed issues about it, and a quick poll on
Gitter showed no one was using it.

## Screenshots (if appropriate)
<!-- Before and after --> 

None.

## How to test the changes?

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [x] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

- Fix mod_rewrite detection on shared hosting
- Fix formatting of `apache_get_modules` notice
- Make said notice easier to translate
- Add more gettext fields
- Clean up
- Attempt to exclude `.htaccess` from change validation (it frequently
needs to be changed on shared hosting)

Resolves ChurchCRM#7056

## Screenshots (if appropriate)
<!-- Before and after --> 

## How to test the changes?

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
Snyk has created this PR to upgrade flag-icons from 7.2.1 to 7.2.2.

See this package in npm:
flag-icons

See this project in Snyk:
https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr
<p>This PR was automatically created by Snyk using the credentials of a
real user.</p><br
/>![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)


<h3>Snyk has created this PR to upgrade flag-icons from 7.2.1 to
7.2.2.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **1 version** ahead of your current
version.

- The recommended version was released on **22 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>flag-icons</b></summary>
    <ul>
      <li>
<b>7.2.2</b> - <a
href="https://github.com/lipis/flag-icons/releases/tag/v7.2.2">2024-05-21</a></br>No
content.
      </li>
      <li>
<b>7.2.1</b> - <a
href="https://github.com/lipis/flag-icons/releases/tag/v7.2.1">2024-03-26</a></br>No
content.
      </li>
    </ul>
from <a href="https://github.com/lipis/flag-icons/releases">flag-icons
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIyZTdhZDJkMy1lNzZjLTRhYTgtOTRlYS01NDEzMzY1MjkxZGIiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjJlN2FkMmQzLWU3NmMtNGFhOC05NGVhLTU0MTMzNjUyOTFkYiJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates)
> - 🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?pkg&#x3D;flag-icons&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"flag-icons","from":"7.2.1","to":"7.2.2"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"2e7ad2d3-e76c-4aa8-94ea-5413365291db","prPublicId":"2e7ad2d3-e76c-4aa8-94ea-5413365291db","packageManager":"npm","priorityScoreList":[],"projectPublicId":"e27b08aa-e5d2-4b10-8303-630a69d0b669","projectUrl":"https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2024-05-21T20:57:02.725Z"},"vulns":[]})
--->
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Update the software version to 5.9.0

## Screenshots (if appropriate)
<!-- Before and after --> 

## How to test the changes?

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

# Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->

Resolves ChurchCRM#2776

## Screenshots (if appropriate)

Before:

![Screen Shot 2024-05-24 at 18 02
42](https://github.com/ChurchCRM/CRM/assets/201834/d16102c7-3270-4988-8a0c-0473ee841962)

After:

![Screen Shot 2024-05-24 at 18 08
07](https://github.com/ChurchCRM/CRM/assets/201834/5e7dd0af-6f9e-4bc3-9e17-e2a9352408d9)

## How to test the changes?

Visual inspection.

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce. Please also list any relevant
details for your test configuration -->

Visual inspection.

# Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
# Description & Issue number it closes 
<!-- Please include a summary of the changes and the related issue.
Please also include relevant motivation and context. -->
Added Swahili as a supported locale and downloaded terms from POEditor
closes ChurchCRM#7078
DawoudIO and others added 9 commits October 9, 2024 01:10
<h3>Snyk has created this PR to upgrade react-datepicker from 7.3.0 to
7.4.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **1 version** ahead of your current
version.
- The recommended version was released **21 days ago**, on 2024-09-22.

The recommended version fixes:

Severity | Issue | PriorityScore (*) | Exploit Maturity |

:-------------------------:|:-------------------------|-------------------------|:-------------------------
<img
src="https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/m.png"
width="20" height="20" title="medium severity"/> | Cross-site Scripting
(XSS)<br/>
[SNYK-JS-SUMMERNOTE-568471](https://snyk.io/vuln/SNYK-JS-SUMMERNOTE-568471)
| **226/1000** <br/> **Why?** CVSS 4.3 | No Known Exploit

(*) Note that the real score may have changed since the PR was raised.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>react-datepicker</b></summary>
    <ul>
      <li>
<b>7.4.0</b> - <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases/tag/v7.4.0">2024-09-22</a></br><h2>What's
Changed</h2>
<ul>
<li>Remove usages of react-onclickoutside to support React 19 by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hamidrezahanafi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/hamidrezahanafi">@
hamidrezahanafi</a> in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2412103917"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4979"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4979/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4979">#4979</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2416063876" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4986"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/4986/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/4986">#4986</a>:
🐛🎨 Update the hover style to be applied only to the non-disabled
calendar items by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2416086259" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4987"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4987/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4987">#4987</a></li>
<li>The classname "react-datepicker-ignore-onclickoutside" is not
applied to custom input by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/Zulaxy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Zulaxy">@ Zulaxy</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2420869932" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4996"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4996/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4996">#4996</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2431722168" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5010"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/5010/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/5010">#5010</a>:
🐛 Restrict the focus to the disabled months/quarter/year using the
initial Tab key navigation by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2431821034" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5011"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5011/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5011">#5011</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2472956006" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5038"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/5038/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/5038">#5038</a>:
Enhance test case querySelector/querySelectorAll reliability with
ensuring element existance by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2472989577" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5039"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5039/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5039">#5039</a></li>
<li>Simplify event handlers by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2481262055" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5045"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5045/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5045">#5045</a></li>
<li>Fix "Cannot find module 'date-fns/types' ..." by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Svish/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Svish">@ Svish</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2440090618" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5020"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5020/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5020">#5020</a></li>
<li>Parse date range by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2494941097" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5060"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5060/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5060">#5060</a></li>
<li>chore: upgrade yarn to v4 and other dependencies by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/abnud11/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/abnud11">@ abnud11</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2435658073" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5014"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5014/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5014">#5014</a></li>
<li>♻️🧪 Refactor test cases with SafeElementWrapper querySelector chain
to eliminate the unnecessary temporary variable by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2496807574" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5062"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5062/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5062">#5062</a></li>
<li>test: fix a test that would always fail if run on first day of month
by <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2500715660" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5069"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5069/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5069">#5069</a></li>
<li>🐛 Resolve the double-click focus issue of Time input and custom time
component example by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2525079285" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5088"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5088/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5088">#5088</a></li>
<li>✏️ Fix the time input's placeholder typo by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2527652653" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5092"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5092/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5092">#5092</a></li>
<li>Added option to hide time caption by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Qubitza/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Qubitza">@ Qubitza</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2536567163" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5100"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5100/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5100">#5100</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hamidrezahanafi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/hamidrezahanafi">@
hamidrezahanafi</a> made their first contribution in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2412103917" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4979"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4979/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4979">#4979</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Zulaxy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Zulaxy">@ Zulaxy</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2420869932"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4996"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4996/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4996">#4996</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> made their first
contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2481262055"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5045"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5045/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5045">#5045</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Svish/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Svish">@ Svish</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2440090618"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5020"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5020/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5020">#5020</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/abnud11/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/abnud11">@ abnud11</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2435658073"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5014"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5014/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5014">#5014</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Qubitza/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Qubitza">@ Qubitza</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2536567163"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5100"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5100/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5100">#5100</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/v7.3.0...v7.4.0"><tt>v7.3.0...v7.4.0</tt></a></p>
      </li>
      <li>
<b>7.3.0</b> - <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases/tag/v7.3.0">2024-07-08</a></br><h2>What's
Changed</h2>
<ul>
<li>Add multiple months visual selection by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/luistorres/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/luistorres">@ luistorres</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2379832420" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4944"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4944/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4944">#4944</a></li>
<li>fix badge in docs site by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/yuki0410-dev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/yuki0410-dev">@ yuki0410-dev</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2381833379" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4947"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4947/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4947">#4947</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2369448845" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4933"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/4933/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/4933">#4933</a>:
🐛Remove the auto set of the '--keyboard-selected' class from the
disabled dates while switching to the next or the previous view by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2388170031" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4955"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4955/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4955">#4955</a></li>
<li>fix style for quarter by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/asada-no4/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/asada-no4">@ asada-no4</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2382176895" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4948"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4948/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4948">#4948</a></li>
<li>fix DatePickerProps by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/yuki0410-dev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/yuki0410-dev">@ yuki0410-dev</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2367874910" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4932"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4932/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4932">#4932</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/luistorres/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/luistorres">@ luistorres</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2379832420"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4944"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4944/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4944">#4944</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/v7.2.0...v7.3.0"><tt>v7.2.0...v7.3.0</tt></a></p>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases">react-datepicker
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>react-datepicker</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/5454eb6e26741c97ba3111bba563b9d762e988f9">5454eb6</a>
Publish new API docs (automated commit)</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/ac5f224155b9caf04db0ccb9ca903d370554dfac">ac5f224</a>
7.4.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/6903813e5b915dd31bc1ba84f8379f63b6a77b36">6903813</a>
Merge pull request ChurchCRM#5093 from
Hacker0x01/dependabot/npm_and_yarn/lint-staged-15.2.10</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/1a24832050934df63aa6b03cb0710652eb9144b5">1a24832</a>
Merge pull request ChurchCRM#5094 from
Hacker0x01/dependabot/npm_and_yarn/typescript-eslint/parser-8.6.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/becab92779f791ac9380ecea205d186d83ea67c8">becab92</a>
Merge pull request ChurchCRM#5095 from
Hacker0x01/dependabot/npm_and_yarn/types/jest-29.5.13</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/8619218f2cc84b53746d684ad8e22e593a47b7a1">8619218</a>
Merge pull request ChurchCRM#5098 from
Hacker0x01/dependabot/npm_and_yarn/docs-site/sass-1.79.1</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/3e28fca807f0f096cd299a5607b56d79c22b9993">3e28fca</a>
Merge pull request ChurchCRM#5100 from Qubitza/main</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/342d370eaff4c9109441be7e9f0c6a29c45a3705">342d370</a>
fix: improved code readability</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/017183dd9b58cf75b9b933c905d3dc1ae3f03200">017183d</a>
test: shows custom time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/2771fe419dbdf2463fd431c7f734cf93bf2b6bd7">2771fe4</a>
test: hides time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/aea8f6df6d66201f01b9ad05e2680016e9d5e91b">aea8f6d</a>
feat: hide time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/3a8d7e4ecd8bfe596fee917197b03ebf8919a681">3a8d7e4</a>
chore(deps-dev): bump sass from 1.78.0 to 1.79.1 in /docs-site</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c874de2c593061164bb9f4fd943a82cf8adf89e7">c874de2</a>
chore(deps-dev): bump @ types/jest from 29.5.12 to 29.5.13</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c0b68cae47b41415f4c7e75ed44873dfae8ab894">c0b68ca</a>
chore(deps-dev): bump @ typescript-eslint/parser from 7.18.0 to
8.6.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/a5240d2d7eeb1f48db576bd6d31bd1f0cbe6d6bf">a5240d2</a>
chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/f75e1e60555fd48bf22ebd1b698c80f47ac788ff">f75e1e6</a>
Merge pull request ChurchCRM#5089 from
Hacker0x01/dependabot/npm_and_yarn/examples/hello-world/express-4.21.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/50ceb5d41a445caacc57d7927bbfa2a2b4e7ccaf">50ceb5d</a>
Merge pull request ChurchCRM#5090 from
Hacker0x01/dependabot/npm_and_yarn/docs-site/express-4.21.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/e85adf3d3d9a11540ee64e06e2043a2f8c44b9b7">e85adf3</a>
Merge pull request ChurchCRM#5092 from
qburst/issue-4949/fix/placeholder-typo</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/81ab24deed16b6c569ee10f875c9e133dd36dd3a">81ab24d</a>
✏️ Fix the time input&#x27;s placeholder typo</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/18be5fae4bceb27880cce276403d77b5bc4fa048">18be5fa</a>
chore(deps): bump express from 4.19.2 to 4.21.0 in /docs-site</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/5c5a7e00afaa97527a3fc0b037ca43c03e51b01b">5c5a7e0</a>
chore(deps): bump express from 4.19.2 to 4.21.0 in
/examples/hello-world</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/d080ec3d593cdc992de7a48d55ab97a9bef552c6">d080ec3</a>
Merge pull request ChurchCRM#5082 from
Hacker0x01/dependabot/npm_and_yarn/sass-1.78.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/553cdca22cf10b32fafb388428dd78eb93dcd5c9">553cdca</a>
Merge pull request ChurchCRM#5086 from
Hacker0x01/dependabot/npm_and_yarn/rollup-4.21.3</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c0b68b11901f52243caaaf85c426876e0bd88dc4">c0b68b1</a>
Merge pull request ChurchCRM#5087 from
Hacker0x01/dependabot/npm_and_yarn/eslint-plugin-react-7.36.1</li>
    </ul>

<a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/c550195e21191b920bebe7c1430ce22cd39ef03a...5454eb6e26741c97ba3111bba563b9d762e988f9">Compare</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIxNWY4ODBkNi1hNjMzLTQ1ZWItYThmOS1jMDI4ZmI3NDQ3NDQiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjE1Zjg4MGQ2LWE2MzMtNDVlYi1hOGY5LWMwMjhmYjc0NDc0NCJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?pkg&#x3D;react-datepicker&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"15f880d6-a633-45eb-a8f9-c028fb744744","prPublicId":"15f880d6-a633-45eb-a8f9-c028fb744744","dependencies":[{"name":"react-datepicker","from":"7.3.0","to":"7.4.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"e27b08aa-e5d2-4b10-8303-630a69d0b669","env":"prod","prType":"upgrade","vulns":["SNYK-JS-SUMMERNOTE-568471"],"issuesToFix":[{"issueId":"SNYK-JS-SUMMERNOTE-568471","severity":"medium","title":"Cross-site
Scripting
(XSS)","exploitMaturity":"no-known-exploit","priorityScore":226,"priorityScoreFactors":[{"type":"exploit","label":"Unproven","score":11},{"type":"cvssScore","label":"4.3","score":215},{"type":"scoreVersion","label":"v1","score":1}]}],"upgrade":["SNYK-JS-SUMMERNOTE-568471"],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2024-09-22T18:10:18.345Z","isPrivateUpgrade":false},"templateVariants":["priorityScore"],"hasFixes":true,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[226]})
--->
@etopipec etopipec requested a review from a team as a code owner October 14, 2024 13:13
@etopipec etopipec requested review from respencer, DawoudIO, grayeul, DAcodedBEAT, MrClever and bigtigerku and removed request for a team October 14, 2024 13:13
Copy link
Contributor

@DawoudIO DawoudIO left a comment

Choose a reason for hiding this comment

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

I would like to understand why we can do it via custom fields

If we want to add a db field I'm ok with it but we need to regen the orm and do a few more things

@etopipec
Copy link
Author

I will study the issue of custom fields and will definitely come back

@etopipec
Copy link
Author

I found two tables. If I understood you correctly, we need to add a new record to person_custom_master, and add a new column to person_custom. If I'm wrong, please correct me.
20241015_07h03m37s_grim

@DAcodedBEAT
Copy link
Contributor

DAcodedBEAT commented Oct 16, 2024

I would like to understand why we can do it via custom fields

If we want to add a db field I'm ok with it but we need to regen the orm and do a few more things

@DawoudIO This is your project, but I disagree with the idea of custom/dynamic properties, especially for common fields.

In general, dynamic columns in SQL is generally a bad idea for these reasons:

  1. Schema Inconsistency: While the app may not change often, having different columns across deployments makes it harder to maintain consistency. It increases the risk of errors when deploying updates or running queries across environments.
  2. Difficult to Scale: If you ever need to scale the app or share the database across different instances (I.e. the ability to support multiple churches), managing variable schemas becomes much more complicated.
  3. Maintenance Overhead: Even if columns don’t change frequently, tracking which deployment uses which schema creates additional maintenance work. Debugging or updating the app gets harder over time.
  4. Upgrade Challenges: When deploying new versions or updates, migrations and schema changes can become unpredictable, making rollouts riskier and harder to automate.

@MrClever
Copy link
Collaborator

I'm inclined to agree with @DawoudIO on this one; a "nickname" field (or any other arbitrary attribute) can be added by the admin via leveraging custom fields, without us needing to make code changes. Sure, dynamic database stuff introduces some complexity with schema changes (as @DAcodedBEAT pointed out) but I believe this is the lesser of the two evils.

Historically, when support requests have come through for random fields to be added to person/family pages the discussion is usually that whatever the requested attribute is, represents a corner case very few people would actually want or need it. In which case, the custom field feature still allows the admin to create whatever they like and the world keeps spinning.

The next phase of the discussion inevitably centres around being able to "hide" arbitrary fields that admins may not want to see. Deleting them isn't really an option because they are part of the schema etc, but we could simply hide them from the UI. However the current code base has no way to do this (yet) although it would be an interesting project.

Personally, I have no use for a "nickname" field, and would loath having to look at another empty field on an already busy page.

My $0.02 worth 👍🏻

@DAcodedBEAT
Copy link
Contributor

I'm inclined to agree with @DawoudIO on this one; a "nickname" field (or any other arbitrary attribute) can be added by the admin via leveraging custom fields, without us needing to make code changes. Sure, dynamic database stuff introduces some complexity with schema changes (as @DAcodedBEAT pointed out) but I believe this is the lesser of the two evils.

Historically, when support requests have come through for random fields to be added to person/family pages the discussion is usually that whatever the requested attribute is, represents a corner case very few people would actually want or need it. In which case, the custom field feature still allows the admin to create whatever they like and the world keeps spinning.

The next phase of the discussion inevitably centres around being able to "hide" arbitrary fields that admins may not want to see. Deleting them isn't really an option because they are part of the schema etc, but we could simply hide them from the UI. However the current code base has no way to do this (yet) although it would be an interesting project.

Personally, I have no use for a "nickname" field, and would loath having to look at another empty field on an already busy page.

My $0.02 worth 👍🏻

@MrClever I see your point about avoiding clutter, but:

  1. there is already a lot of unnecessary clutter all across this database schema
  2. the custom fields contributes to this clutter and
  3. since non-official names (like nicknames, given names vs legal/government names, etc) are very common, especially in community-oriented systems like church management software, they could be valuable as a base user property.

As a base user property, this would provide consistency across deployments and improve personalization for users who prefer being addressed informally, while keeping it optional for those who don’t need it. It simplifies maintenance by avoiding custom fields and gives flexibility to scale with user needs in the future.

Copy link
Contributor

github-actions bot commented Dec 5, 2024

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.