LinkedIn Enhancer
by José DA COSTA
Ferramentas de produtividade que melhoram o LinkedIn.
O LinkedIn Enhancer acrescenta ferramentas práticas dentro do próprio LinkedIn: impede que o feed se recarregue ao mudar de separador, oculta anúncios e ruído do feed, copia qualquer publicação e toda a sua árvore de comentários como um prompt pronto para IA, e mostra a sua relação com cada autor. Cada ferramenta é um simples botão de ligar/desligar, nada é enviado para a Internet, e todas as definições ficam no seu navegador.
- Mantenha a posição de leitura e o rascunho ao mudar de separador
- Um botão Copiar transforma a publicação e os comentários num prompt de IA
- Expande fios de comentários longos antes de copiar, sem deixar nada de fora
- Oculte publicações patrocinadas e ofertas Premium do próprio LinkedIn
- Oculte publicações sugeridas e cartões de 'pessoas a seguir'
- Veja o grau de ligação de cada autor e se o segue
- Nenhum dado sai do navegador; cada ferramenta liga-se de forma independente
Disponível para
As builds instalam-se no modo de programador do seu navegador.
Porque ajuda
O LinkedIn recarrega o feed assim que muda de separador, apagando a sua posição de leitura e o comentário que estava a escrever. Publicações patrocinadas, ofertas Premium do próprio LinkedIn, publicações sugeridas e cartões de 'pessoas a seguir' empurram as atualizações reais para fora do ecrã. E quando uma publicação gera uma boa discussão nos comentários, não há forma limpa de extrair o texto para o analisar. Esta extensão elimina essa fricção no momento.
Funcionalidades
Parar a atualização automática do feed
Mantém a sua posição de rolagem e o rascunho de comentário ao mudar de separador.
Copiar publicações como prompt pronto para um LLM
Um clique copia uma publicação e toda a sua árvore de comentários, formatada para um LLM.
Ocultar anúncios e publicações patrocinadas
Substitui conteúdo patrocinado e promovido, e as ofertas Premium do LinkedIn, por um marcador.
Ocultar sugestões e recomendações
Remove publicações sugeridas e cartões de recomendação de perfis no feed.
Selo de relação nas publicações
Mostra o grau de ligação (1.º/2.º/3.º) e se segue cada autor.
Notificações de atualização
Avisa quando uma nova versão é publicada para a descarregar e instalar.
Permissões
Histórico de versões
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.)