segmentio / segmentio/analytics.js-integrations

[intercom] Single page app login/logout

Open
#307 7 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
125
Forks
136
Avg merge
2h 45m
Merged PRs (30d)
1

Description

Migrated from #6 by @f2prateek

From https://github.com/segmentio/integration-intercom/issues/6

I'm using segment with intercom on a single page app that allows the user to login/logout without refreshing the page. It doesn't look like this use case was thought through though (or I'm using things incorrectly).

When I call window.analytics.user().reset() to clear the user data for a logout, the standard intercom shutdown method (window.Intercom('shutdown')) isn't called. I've worked around this by intentionally invoking the shutdown method.

However, that's created a bug with logging back in where calling analytics.identify(...) doesn't invoke window.Intercom('boot', ...). I can't as easily manually call this because I don't know where the intercom key is.

Would y'all take a look at supporting this use case?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by tracing the Intercom integration's handling of window.analytics.user().reset() and analytics.identify(), focusing on the shutdown and boot calls described in the issue. Done means SPA logout clears the Intercom session and a later login boots it again with the configured key.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.