martinmouritzen / segment-chromeextension Goto Github PK
View Code? Open in Web Editor NEWChrome extension tracking Segment events
License: MIT License
Chrome extension tracking Segment events
License: MIT License
Problem:
Currently, the application uses String.fromCharCode.apply(null, new Uint8Array(...))
to convert binary data from network requests into strings. This approach, however, has proven to be unreliable for UTF-8 encoded text, especially when dealing with non-ASCII characters such as Chinese characters, leading to garbled text outputs.
Proposed Solution:
It is suggested that we switch to using the TextDecoder
API for decoding binary data. The TextDecoder
interface provides a more robust mechanism for handling UTF-8 encoded text, ensuring accurate representation of all characters, including those outside the ASCII range.
For Example:
In background.js
, line 109
var postedString = String.fromCharCode.apply(null,new Uint8Array(details.requestBody.raw[0].bytes));
change to
var bytes = new Uint8Array(details.requestBody.raw[0].bytes);
var decoder = new TextDecoder('utf-8');
var postedString = decoder.decode(bytes);
If you have any questions, please let me know. Thank you!
Looked a bit around for how to test Chrome extensions properly.
This seems like a good option:
Before I used to be able to copy data from the debugger, which is one of the most useful things to do with it. However a recent change seems to prevent that from happening. THank you !!!
Hey Martin! Very cool plugin, thanks for your work on this.
I'm working on something that sends a lot of Segment events and I want to ensure that they fire when expected. Something that would help a lot would be a persistent view of the plugin, something that doesn't disappear when I click on it. I think this could take a few forms, maybe an independent floating container, maybe something that docks alongside the browser tab, or even just an option so it stays where it is and doesn't disappear on click.
I don't know how easy or hard this is but it would be helpful. Thank you!
How to send the file object from api.js to server through background.js. I am doing in flowwing ways
in api.js
chrome.runtime.sendMessage(
{
action: 'backgroundAjax',
ajax: {
url: url,
type: type,
data: data,
},
},
in Background page the data is coming as empty.
I know this is not a proper place to ask this question, but is there any idea from your side.
Currently, only track calls are tracked via the Chrome extension. Page and identify would be the most important, followed by group and alias. I'll try to do this in the future...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.