LinkedIn Enhancer
by José DA COSTA
Des outils de productivité qui améliorent LinkedIn.
LinkedIn Enhancer ajoute des outils concrets directement dans LinkedIn : il empêche le fil de se recharger quand vous changez d'onglet, masque les pubs et le superflu du fil, copie n'importe quel post et tout son fil de commentaires sous forme de prompt prêt pour l'IA, et affiche votre relation avec chaque auteur. Chaque outil est un simple interrupteur, rien n'est envoyé en ligne, et tous les réglages restent dans votre navigateur.
- Gardez votre position de lecture et votre brouillon en changeant d'onglet
- Un bouton Copier transforme un post et ses commentaires en prompt IA
- Déplie les longs fils de commentaires avant de copier, sans rien oublier
- Masquez les posts sponsorisés et les incitations Premium de LinkedIn
- Masquez les posts suggérés et les cartes 'personnes à suivre'
- Voyez le degré de relation de chaque auteur et si vous le suivez
- Aucune donnée ne quitte votre navigateur ; chaque outil s'active seul
Disponible pour
Les builds s'installent en mode développeur de votre navigateur.
Pourquoi c'est utile
LinkedIn recharge votre fil dès que vous changez d'onglet, ce qui efface votre position de lecture et le commentaire que vous étiez en train d'écrire. Les posts sponsorisés, les incitations Premium de LinkedIn, les posts suggérés et les cartes 'personnes à suivre' repoussent les vraies actualités hors de vue. Et quand un post lance une bonne discussion en commentaires, il n'existe aucun moyen propre d'en extraire le texte pour l'analyser. Cette extension supprime ces frictions sur place.
Fonctionnalités
Stopper le rafraîchissement automatique du fil
Conserve votre position de défilement et votre brouillon de commentaire quand vous changez d'onglet.
Copier les posts en prompt prêt pour un LLM
Un clic copie un post et tout son fil de commentaires, formaté pour un LLM.
Masquer les pubs et posts sponsorisés
Remplace le contenu sponsorisé et promu, ainsi que les incitations Premium de LinkedIn, par un espace réservé.
Masquer suggestions et recommandations
Supprime les posts suggérés et les cartes de recommandation de profils dans le fil.
Badge de relation sur les posts
Affiche le degré de connexion (1er/2e/3e) et si vous suivez chaque auteur.
Notifications de mise à jour
Vous prévient quand une nouvelle version est publiée pour la télécharger et l'installer.
Permissions
Historique des versions
Added
- Per-category hidden counters in the popup and side panel. Each of the four "hide" toggles (sponsored posts, LinkedIn ads, post suggestions, profile recommendations) now shows a count pill of how many items it has removed on the active tab, breaking down the single total already painted on the toolbar icon. The counts are cumulative: because LinkedIn virtualizes the feed (off-screen posts are dropped from the DOM), each item is counted once the moment it is hidden and the running total keeps climbing as you scroll, rather than shrinking. Toggling a category off restores its items and resets its counter. A separator was also added before the relationship-status toggle for visual grouping.
Security
- Build leak gate (
pnpm security:build). A dependency-free script (scripts/check-build-security.mjs) scans every production build dir and fails if it ships a source map (.map, externalsourceMappingURL, or inline map /sourcesContent), an original source file, dev-server / HMR code (localhost:3000,vite-hmr, …) or an absolute dev path. It runs inpnpm validateand as a hard stop in the release workflow before anything is published, so a release can never leak source maps or code.
Removed
- Dropped Safari support. Packaging a Safari Web Extension requires Xcode,
and the MV3 migration it would need (for the stop-feed-refresh
world: 'MAIN'content script) leaked thesidePanelconfig through a WXT browser-detection quirk. All Safari targets, scripts, permissions and docs were removed. The extension now targets Chrome, Edge, Opera, Brave and Firefox.
Changed
- Firefox is now built as Manifest V3. The stop-feed-refresh tool needs a
world: 'MAIN'content script to override LinkedIn's page from inside its strict CSP, andworld: 'MAIN'only exists in MV3. Firefox 128+ supports it (already thestrict_min_version), so the feature now works on Firefox too. Chrome / Edge / Opera / Brave / Firefox are fully supported. CI builds all four browser targets.
Added
- Update notifier. Because the extension is installed manually (no store),
the background periodically (via
chrome.alarms) checks a public releases manifest and shows a one-time notification per version when a newer build is available, linking to the releases page. The options page shows the installed version and a "Check for updates" toggle to disable it entirely. Logic insrc/lib/update-check.ts.
Security
- The extension now makes ONE outbound network request: an anonymous update
check. It fetches a public static JSON
(
…/josedacosta-extensions-releases/…/extension.json) with no query string and no identifier, reading onlylatestVersion. This relaxes the previous "never phones home" posture; it is opt-out via thecheckForUpdatessetting and documented inPRIVACY.md. Newalarms+notificationspermissions back the feature.
Fixed
- Relationship badge now lands on the post author, not the resharer. On "X liked/commented on this" posts, the badge could attach to the reactor (e.g. a followed company) while showing the author's follow state — so it read "Non abonné" next to a page you actually follow. The 3rd-degree token is rendered "3e et +", which the degree matcher missed (length + missing "et +"), causing the fallback to the wrong actor. The matcher now accepts "3e et +" / "3rd+", so the badge anchors on the author's degree and reflects their relationship. (The notification level — the bell's "All / Most relevant / Off" — is not present in the feed HTML, so it cannot be shown per post.)
Added
- Update notifier. Because the extension is installed manually (no store),
the background periodically (via
chrome.alarms) checks a public releases manifest and shows a one-time notification per version when a newer build is available, linking to the releases page. The options page shows the installed version and a "Check for updates" toggle to disable it entirely. Logic insrc/lib/update-check.ts.
Security
- The extension now makes ONE outbound network request: an anonymous update
check. It fetches a public static JSON
(
…/josedacosta-extensions-releases/…/extension.json) with no query string and no identifier, reading onlylatestVersion. This relaxes the previous "never phones home" posture; it is opt-out via thecheckForUpdatessetting and documented inPRIVACY.md. Newalarms+notificationspermissions back the feature.
Fixed
- Relationship badge now lands on the post author, not the resharer. On "X liked/commented on this" posts, the badge could attach to the reactor (e.g. a followed company) while showing the author's follow state — so it read "Non abonné" next to a page you actually follow. The 3rd-degree token is rendered "3e et +", which the degree matcher missed (length + missing "et +"), causing the fallback to the wrong actor. The matcher now accepts "3e et +" / "3rd+", so the badge anchors on the author's degree and reflects their relationship. (The notification level — the bell's "All / Most relevant / Off" — is not present in the feed HTML, so it cannot be shown per post.)