Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
"moment": "^2.29.1",
"moment-duration-format": "^2.3.2",
"moment-timezone": "^0.5.33",
"openstack-uicore-foundation": "5.0.34",
"openstack-uicore-foundation": "5.0.36-beta.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check the beta version's package contents and changelog for breaking changes

# Check if the beta version exists and review its published contents
npm view openstack-uicore-foundation@5.0.36-beta.1 dist.tarball
npm view openstack-uicore-foundation@5.0.36-beta.1 version

# Check for latest stable version
npm view openstack-uicore-foundation version

# Look for any references to filters-row or event-list-date-picker in the codebase
echo "== Files using .filters-row or .event-list-date-picker =="
rg -n --type js --type jsx 'className=.*["\'].*\b(filters-row|event-list-date-picker)\b'

Repository: fntechgit/summit-admin

Length of output: 444


🏁 Script executed:

#!/bin/bash
# Fix syntax: use proper escaping for the rg pattern
echo "== Files using .filters-row or .event-list-date-picker in className =="
rg -n '(filters-row|event-list-date-picker)' --type js --type jsx

echo ""
echo "== Package.json content (focusing on dependency versions) =="
sed -n '80,110p' package.json

echo ""
echo "== Check latest stable versions of openstack-uicore-foundation =="
npm view openstack-uicore-foundation versions --json | tail -20

Repository: fntechgit/summit-admin

Length of output: 1656


🏁 Script executed:

#!/bin/bash
# Broader search for CSS classes - search all file types
echo "== Search for .filters-row and .event-list-date-picker in all files =="
rg '(filters-row|event-list-date-picker)' --type-list 2>&1 | grep -i "css\|scss\|less"

echo ""
echo "== Actually search CSS/SCSS/LESS files =="
rg '(filters-row|event-list-date-picker)' --type css --type scss --type less 2>&1 | head -20

echo ""
echo "== Broader text search (no type restrictions) =="
rg '(filters-row|event-list-date-picker)' 2>&1 | head -30

echo ""
echo "== Check full package.json for react-redux and redux versions =="
cat package.json | grep -A 2 -B 2 '"react-redux"\|"redux"'

Repository: fntechgit/summit-admin

Length of output: 1982


🏁 Script executed:

#!/bin/bash
# Check beta version package details and try to find changelog/breaking changes
echo "== Beta version info =="
npm view openstack-uicore-foundation@5.0.36-beta.1 2>&1 | head -50

echo ""
echo "== Check if there's a changelog or breaking changes doc =="
npm view openstack-uicore-foundation@5.0.36-beta.1 repository.url 2>&1

echo ""
echo "== Compare with stable version =="
npm view openstack-uicore-foundation@5.0.34 2>&1 | head -20

Repository: fntechgit/summit-admin

Length of output: 1643


Do not use beta version of openstack-uicore-foundation in production code.

Line 95 specifies openstack-uicore-foundation@5.0.36-beta.1, a beta version published recently with no stable release yet. Beta versions are unstable and unsuitable for production.

Additionally, 5 files across the codebase depend on CSS classes exported by this dependency:

  • src/pages/tickets/ticket-type-list-page.js
  • src/pages/orders/purchase-order-list-page.js
  • src/pages/emails/email-log-list-page.js
  • src/pages/attendees/summit-attendees-list-page.js
  • src/components/audit-logs/index.js

All these files use .filters-row and .event-list-date-picker classes. If the beta version removes or breaks these styles, list filtering and date picker functionality will break across the application.

Downgrade to the latest stable version 5.0.34.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 95, The openstack-uicore-foundation dependency is
pinned to beta version 5.0.36-beta.1 in package.json, which is unsuitable for
production as it may break CSS classes used across the application. Multiple
files including ticket-type-list-page.js, purchase-order-list-page.js,
email-log-list-page.js, summit-attendees-list-page.js, and audit-logs/index.js
depend on the .filters-row and .event-list-date-picker CSS classes exported by
this package. Downgrade the openstack-uicore-foundation dependency from the beta
version to the stable version 5.0.34 in the package.json file to ensure
stability and prevent filtering and date picker functionality from breaking.

"p-limit": "^6.1.0",
"path-browserify": "^1.0.1",
"postcss-loader": "^6.2.1",
Expand All @@ -114,7 +114,7 @@
"react-dropzone": "^4.2.13",
"react-final-form": "^6.5.9",
"react-google-maps": "^9.4.5",
"react-redux": "^5.0.7",
"react-redux": "^7.1.0",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-rte": "^0.16.3",
Expand All @@ -124,7 +124,7 @@
"react-switch": "^6.0.0",
"react-tooltip": "^5.28.0",
"react-window": "^1.8.10",
"redux": "^3.7.2",
"redux": "^4.2.1",
"redux-persist": "^5.10.0",
"redux-thunk": "^2.3.0",
"segmented-control": "0.1.12",
Expand Down
11 changes: 4 additions & 7 deletions src/actions/__tests__/event-actions.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ describe("Event Actions", () => {
capturedParams = null;
});

test("builds speakers_count between filter using [] syntax", async () => {
test("passes pre-built [] range filter strings through to the request", async () => {
const store = mockStore({
currentSummitState: {
currentSummit: {
Expand All @@ -63,15 +63,14 @@ describe("Event Actions", () => {
});

store.dispatch(
getEvents(null, 1, 10, "id", 1, { speakers_count_filter: [1, 3] }, [])
getEvents(null, 1, 10, "id", 1, ["speakers_count[]1&&3"], [])
);

await flushPromises();

expect(getRequest).toHaveBeenCalledTimes(1);
expect(capturedParams).toBeTruthy();
expect(capturedParams["filter[]"]).toContain("speakers_count[]1&&3");
expect(capturedParams["filter[]"]).not.toContain("speakers_count[]]1&&3");
});

test("requests type.use_speakers in fields for event list", async () => {
Expand All @@ -93,7 +92,7 @@ describe("Event Actions", () => {
expect(capturedParams.fields).toContain("type.use_speakers");
});

test("builds speakers_count operator filter when value is not an array", async () => {
test("passes pre-built operator filter strings through to the request", async () => {
const store = mockStore({
currentSummitState: {
currentSummit: {
Expand All @@ -103,9 +102,7 @@ describe("Event Actions", () => {
}
});

store.dispatch(
getEvents(null, 1, 10, "id", 1, { speakers_count_filter: ">=2" }, [])
);
store.dispatch(getEvents(null, 1, 10, "id", 1, ["speakers_count>=2"], []));

await flushPromises();

Expand Down
Loading
Loading