AOSSIE-Org / AOSSIE-Org/SocialShareButton

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

Open
#161 4 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
25
Forks
65
Avg merge
2d 11h
Merged PRs (30d)
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

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.