AOSSIE-Org / AOSSIE-Org/SocialShareButton

[BUG]: Prevent false-positive share success events in Discord fallback

Ouverte
#161 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
TypeScript
Étoiles
25
Forks
65
Merge moyen
2 j 11 h
PR mergées (30 j)
1

Description

### Bug Description

## Description

The current Discord fallback share flow emits `social_share_success` and triggers the `onShare` callback immediately after calling `copyLink()` and `window.open()`.

If clipboard access fails or the popup is blocked by the browser, the library can still report a successful share even though the fallback action did not complete successfully.

## Expected Behavior

Only emit `social_share_success` and invoke `onShare` after confirming that the fallback action has completed successfully.

## Possible Solution

- Return a success/failure result from `copyLink()`.
- Verify that `window.open()` succeeds.
- Emit the success event only when the fallback action completes successfully.

I'd be happy to work on this Issue

### Steps to Reproduce

_No response_

### Logs and Screenshots

_No response_

### Environment Details

_No response_

### Impact

Critical - Application is unusable

### Code of Conduct

- [x] I agree to follow the Code of Conduct
- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by locating the TypeScript Discord fallback and its copyLink() and window.open() call sites. Trace how their outcomes reach social_share_success and onShare, then validate both success and failure paths with the repository’s existing test setup; done means neither callback nor event fires when clipboard access or the popup fails.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.