🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher /> - #1554

Merged
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher
Aug 10, 2023
Merged

🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />#1554
panteliselef merged 11 commits into
mainfrom
ORG-59_switcher

Conversation

@panteliselef

@panteliselefpanteliselef commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/clerk-js
  • @clerk/clerk-react
  • @clerk/nextjs
  • @clerk/remix
  • @clerk/types
  • @clerk/themes
  • @clerk/localizations
  • @clerk/clerk-expo
  • @clerk/backend
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/fastify
  • @clerk/chrome-extension
  • gatsby-plugin-clerk
  • build/tooling/chore

Description

  • npm test runs as expected.
  • npm run build runs as expected.

In order to display this list we introduced the following:

  • useInView a minor hook wrapper on top of IntersectionObserver
// use the ref to track an elementconst{ ref }=useInView({threshold: 0,onChange: inView=>{if(inView){// When the element is visible fetch the next pagevoiduserInvitations.fetchNext?.();}},});

Result (Photo)

image

@panteliselefpanteliselef self-assigned this Aug 4, 2023
@changeset-bot

changeset-botBot commented Aug 4, 2023

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 386ce2e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
NameType
@clerk/localizationsPatch
@clerk/clerk-jsPatch
@clerk/typesPatch
@clerk/chrome-extensionPatch
@clerk/clerk-expoPatch
@clerk/backendPatch
@clerk/fastifyPatch
gatsby-plugin-clerkPatch
@clerk/nextjsPatch
@clerk/clerk-reactPatch
@clerk/remixPatch
@clerk/clerk-sdk-nodePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jit-cijit-ciBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

❌ The following Jit checks failed to run:

  • secret-detection

#jit_bypass_commit in this PR to bypass, Jit Admin privileges required.

More info in the Jit platform.

@panteliselef

Copy link
Copy Markdown
ContributorAuthor

!snapshot

@clerk-cookie

Copy link
Copy Markdown
Collaborator

Hey @panteliselef - the snapshot version command generated the following package versions:

PackageVersion
@clerk/backend0.28.0-snapshot.59e2549
@clerk/chrome-extension0.3.27-snapshot.59e2549
@clerk/clerk-js4.56.0-snapshot.59e2549
eslint-config-custom0.3.0
@clerk/clerk-expo0.18.18-snapshot.59e2549
@clerk/fastify0.6.4-snapshot.59e2549
gatsby-plugin-clerk4.4.5-snapshot.59e2549
@clerk/localizations1.24.2-snapshot.59e2549
@clerk/nextjs4.23.3-snapshot.59e2549
@clerk/clerk-react4.24.0-snapshot.59e2549
@clerk/remix2.9.2-snapshot.59e2549
@clerk/clerk-sdk-node4.12.3-snapshot.59e2549
@clerk/shared0.22.0-snapshot.59e2549
@clerk/themes1.7.5
@clerk/types3.50.0-snapshot.59e2549

Tip: use the snippet copy button below to quickly install the required packages.

# @clerk/backend
npm i @clerk/backend@0.28.0-snapshot.59e2549
# @clerk/chrome-extension
npm i @clerk/chrome-extension@0.3.27-snapshot.59e2549
# @clerk/clerk-js
npm i @clerk/clerk-js@4.56.0-snapshot.59e2549
# eslint-config-custom
npm i eslint-config-custom@0.3.0
# @clerk/clerk-expo
npm i @clerk/clerk-expo@0.18.18-snapshot.59e2549
# @clerk/fastify
npm i @clerk/fastify@0.6.4-snapshot.59e2549
# gatsby-plugin-clerk
npm i gatsby-plugin-clerk@4.4.5-snapshot.59e2549
# @clerk/localizations
npm i @clerk/localizations@1.24.2-snapshot.59e2549
# @clerk/nextjs
npm i @clerk/nextjs@4.23.3-snapshot.59e2549
# @clerk/clerk-react
npm i @clerk/clerk-react@4.24.0-snapshot.59e2549
# @clerk/remix
npm i @clerk/remix@2.9.2-snapshot.59e2549
# @clerk/clerk-sdk-node
npm i @clerk/clerk-sdk-node@4.12.3-snapshot.59e2549
# @clerk/shared
npm i @clerk/shared@0.22.0-snapshot.59e2549
# @clerk/themes
npm i @clerk/themes@1.7.5
# @clerk/types
npm i @clerk/types@3.50.0-snapshot.59e2549

@panteliselefpanteliselef changed the title [ORG-59] List invitations in <OrganizationSwitcher />🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselefpanteliselef changed the title 🚫2️⃣[ORG-59] List invitations in <OrganizationSwitcher />🚨2️⃣[ORG-59] List invitations in <OrganizationSwitcher />Aug 9, 2023
@panteliselef
panteliselef marked this pull request as ready for review August 9, 2023 13:06

@brkalowbrkalow left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good! I don't have a ton of context here, but left a high-level review.

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts Outdated
id: string;
name: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Some reason as bellow 👇

name: string;
id: string;
slug: string;
slug: string | null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

❓ Why did we have to change this type?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I didn't properly type this one. Organizations have a slug of string | null so the slug of UserOrganizationInvitationResource needs to match that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef, @desiprisg since the response of the BAPI/FAPI is defined as slug: string i think we should update the type to have it the same.
If there are cases where the Organization type is used as part of a request param, I would suggest we update it to another type to avoid confusion.
Do you think the refactoring is feasible or am i missing something? If you agree with my suggestion could you open a ticket to refactor this?

Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
Comment threadpackages/clerk-js/src/ui/hooks/useInView.ts
@panteliselef
panteliselefforce-pushed the ORG-59_switcher branch 2 times, most recently from 2e78889 to 8a48c3fCompareAugust 10, 2023 07:01

@SokratisVidrosSokratisVidros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@panteliselef I am accepting this for now but we should add a mental note to add list virtualization to every list in ClerkJS components.

@panteliselef
panteliselef merged commit 09bfb79 into mainAug 10, 2023
@panteliselef
panteliselef deleted the ORG-59_switcher branch August 10, 2023 09:18
@clerk-cookieclerk-cookie mentioned this pull request Aug 10, 2023
@clerk-cookie

Copy link
Copy Markdown
Collaborator

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@clerkclerk locked as resolved and limited conversation to collaborators Aug 28, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@panteliselef@clerk-cookie@brkalow@SokratisVidros@dimkl