LinkedIn Tool

Minor enhancements to LinkedIn. Mostly just hotkeys.

Estas são as versões deste script em que o código foi atualizado. Mostrar todas as versões.

  • v. 95 08/08/2026

    JSDoc: Update all @typedefs and added many @method tags.

    All current @typedefs are accounted for and @methods added up to ScrollerService.

    Issue #369.


    Update UidModes for the Languages section.

    Issue #302.


    Retire the isInput() fork.

    Closes #325.


    Update release notes.


    Bump version number.


  • v. 94 07/08/2026

    JSDoc: Address many issues.

    This file is complicated enough that getting them all done in one shot is difficult.

    Issue #369.


    Update UidModes for the Honors & awards section.

    Issue #302.


    Update UidModes for the Test scores section.

    Issue #302.


    Detect if activeElement is actually in a shadow dom.

    Issue #325.


    Enhance focus event listening to take shadow doms into account.

    This also includes adding listeners to the detected shadow doms as they are encountered.

    Issue #325.


    Update release notes.


    Bump version number.


  • v. 93 06/08/2026

    JSDoc: Minimal changes to not crash the jsdoc command.

    Issue #376.


    Update UidModes for the Courses section.

    Issue #302.


    Make cssClassName() and scrollerClassName instance properties.

    Closes #352.


    Update release notes.


    Bump version number.


  • v. 92 05/08/2026

    Update UidModes for the Patents section.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes div() an instance method.

    Tried renaming to #div(), but due to strict code organization, it would be referenced before defined. Would not be surprised if it got hoisted up to Page at some point anyway, so not a big deal.

    Closes #352.


    Update release notes.


    Bump version number.


  • v. 91 04/08/2026

    Update UidModes for the Publications section.

    Issue #302.


    More partial ordering pairs.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes This makes #divN instance variables.

    Issue #352.


    Update release notes.


    Bump version number.


  • v. 89 02/08/2026

    Update UidModes for the Skills section.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes #entriesSelectorFooter an instance variable.

    Issue #352.


    Retire old Style-2 detection code.

    Closes #370.


    JSDoc: Add file header.

    Issue #369.


    Update release notes.


    Bump version number.


  • v. 88 01/08/2026

    Update the Volunteering section.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes more section specific selectors instance variables.

    Issue #352.


    Update to latest lib/widget.

    Issue #375.


    Update release notes.


    Bump version number.


  • v. 87 31/07/2026

    Update the Projects section.

    Issue #302.


    Another partial ordering pair.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes more section specific selectors instance variables.

    Issue #352.


    Update all library versions to the latest.

    These should all be code comment changes.

    Issue #369.


    Update release notes.


    Bump version number.


  • v. 86 30/07/2026

    Another partial ordering pair.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes more section specific selectors instance variables.

    Issue #352.


    Update release notes.


    Bump version number.


  • v. 85 29/07/2026

    More partial ordering pairs.

    Issue #302.


    Tweak the selector for ANCHOR_OVERLAY.

    It may not be the first anchor. Would not be surprising if a future change needs to make this an even more precise selector.

    Issue #302.


    Update the Licenses & certifications section.

    Issue #302.


    Additional update on how Profile's Scrollers are configured.

    This makes more section specific selectors instance variables.

    Issue #352.


    Update release notes.


    Bump version number.


  • v. 84 27/07/2026

    Include more information in the timeout alert.

    Issue #372.

    Update the Connected apps section.

    Issue #302.

    Another partial ordering pair.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    This makes some section specific selectors instance variables.

    Doing all of them caused some issues, so doing them in batches.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 83 25/07/2026

    Update UidModes for the Education section.

    Issue #302.

    Another partial ordering pair.

    Issue #302.

    Remove now unused @typedef.

    Issue #352.

    Remove now unnecessary static block.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 82 23/07/2026

    Update UidModes for the Experience section.

    Issue #302.

    Rework a bit to treat input types consistently.

    Issue #325.

    Additional update on how Profile's Scrollers are configured.

    This implements a method that does the same as the previous static blocks, renames them, and makes the results instance variables.

    Issue #352.

    Update to latest lib/xunit and lib/base.

    Issue #369.

    Update release notes.

    Bump version number.

  • v. 81 22/07/2026

    Update UidModes for the Activity section.

    Issue #302.

    Make UidMode an instance variable.

    Issue #352.

    Bring back a recently deleted logging statement.

    It turns out 0e00abf was wrong.

    Issue #372.

    Replace a one line log with intro/outro.

    That old one was confusing.

    Issue #372.

    Update the current page navigation selector.

    Issue #209.

    Additional monitoring for containers and enable the item cache.

    There is no way to detect when an observed element itself is removed. So the existing #containersMutationsObserver() cannot help here.

    This helps quite a bit. But there is still a bug where, sometimes, the navigation scroller stops working, and unable to create reproducible case.

    Issue #372.

    Update release notes.

    Bump version number.

  • v. 80 21/07/2026

    Update UidModes for the Featured section.

    Issue #302.

    Make #entriesModeToUid an instance method.

    Issue #352.

    Explicitly clear the item cache when stopping container monitoring.

    Issue #372.

    Keep the containers around for later reuse.

    Issue #372.

    Update CSS in response to site change.

    Update release notes.

    Bump version number.

  • v. 79 20/07/2026

    Update UidModes for the About section.

    Issue #302.

    Update UidModes for the Services section.

    Issue #302.

    Make #entriesSuggestUids an instance method.

    Issue #352.

    Factor out starting/stopping container monitoring.

    Issue #372.

    Update release notes.

    Bump version number.

  • v. 78 19/07/2026

    Another partial ordering pair.

    Issue #302.

    Updated UidModes for the Highlights section.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesCurrentModes an instance variable.

    Issue #352.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesUidFromModes use Profile's logger. This should have been done as part of 33eac65.

    Issue #352.

    Update to latest lib/xunit and lib/base.

    The latest lib/xunit was just some JSDoc changes and did not get a version bump.

    Issue #369.

    Fix a couple of comments.

    Remove unnecessary intermediate array.

    Issue #372.

    Rename some internal symbols.

    Issue #372.

    Remove an old logging statement.

    Issue #372.

    Temporarily disable the item cache.

    Issue #372.

    Remove the explicit shortcut for selecting the next page of results.

    Native support is sufficient, and the ability to activate a selected page while focused on something else was a bit confusing.

    Closes #373.

    Update release notes.

    Bump version number.

  • v. 77 18/07/2026

    Add footer support for the Highlights section.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesUidFromModes an instance method.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 76 17/07/2026

    Treat /in/opportunities/ as an ANCHOR_OVERLAY.

    Issue #302.

    Wrap a particular new URL(...) call with a try/except.

    Saw an anchor of https://.

    Issue #302.

    Updated UidModes for the Topcard section.

    Issue #302.

    Another partial ordering pair.

    Issue #302.

    Enable the item cache.

    Closes #341.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesScrollerConfigDefault an instance variable.

    Issue #352.

    Update to latest lib/xunit.

    Issue #369.

    Update release notes.

    Bump version number.

  • v. 75 16/07/2026

    Add a UidMode for the Suggested for you section.

    Issue #302.

    Create MULTI_IMG for elements of mostly imgs.

    Issue #302.

    Rename variable to something permanent.

    Issue #341.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesScrollerConfigs an instance variable.

    The associated initialization method still makes use of a lot of class level properties, so the diff appears large even though it is mostly moving lines around.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 74 15/07/2026

    Exclude the premium footer from the Topcard section.

    Improves the premium badge selector as well.

    Issue #302.

    Support a common external link seen in the Topcard section.

    Issue #302.

    Turn a static block into a static function.

    This will ease a subsequent refactor.

    Issue #352.

    Update the Style-2 navbar hint.

    Issue #370.

    Update release notes.

    Bump version number.

  • v. 73 14/07/2026

    Treat <a href="#"> as an ANCHOR_OVERLAY.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    This makes #sectionsPartialOrder an instance property.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 72 13/07/2026

    Update the Suggested for you section's selector.

    If a carousel is present, do match that container.

    Issue #302.

    Ignore another common element id.

    Issue #302.

    Simplify how the default config is initialized.

    Issue #302.

    Create FOOTER as an alternative to HREF.

    Now HREF will not match the footer.

    Added FOOTER to all locations with the selector. Also kept HREF is many locations for later review. Simple sections which only have a footer had HREF replaced.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    This makes #entriesCurrentUid an instance variable.

    Issue #352.

    Move the default configuration into the map with a symbol key.

    Issue #302.

    Update release notes.

    Bump version number.

  • v. 71 12/07/2026

    Retire uniqueEntryIdentifier in favor of #entriesUidFromModes.

    Issue #302.

    Update release notes.

    Bump version number.

  • v. 70 10/07/2026

    Support the Causes section.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    Bit-by-bit.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 69 09/07/2026

    Move a global into the only function that now uses it.

    Issue #302.

    Support the Interests section.

    Issue #302.

    Additional update on how Profile's Scrollers are configured.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 68 08/07/2026

    Give DebugKeys their own section in the shortcut list.

    Closes #129.

    Add a debug key for resetting Scroller IDs.

    Normalize a comment.

    Issue #302.

    Support the Organizations section.

    Issue #302.

    Migrate Education from using ANCHOR_PROFILE to ANCHOR_OVERLAY.

    Issue #302.

    Partially update how Profile's Scrollers are configured.

    Issue #352.

    Add recommendations for implementing uidCallbacks.

    Closes #359.

    Update release notes.

    Bump version number.

  • v. 67 07/07/2026

    Update to latest lib/base.

    Issue #129.

    Support the Languages section.

    Issue #302.

    Focus on the current item again on an initial page load.

    This seems to resolve the issue where scrolling does not actually happen.

    Closes #366.

    Minor code formatting issue.

    Update release notes.

    Bump version number.

  • v. 66 07/07/2026

    Support the Test Scores section.

    Issue #302.

    Call focus() if user clicks on the current item.

    This helps with focus issues. It appears to at least makes sure the correct item has focus, even if the focus-ring is not visible.

    Issue #363.

    Convert freezing an object to a more standard method.

    Closes #364.

    Update release notes.

    Bump version number.

  • v. 65 06/07/2026

    Add an official #div7.

    Issue #302.

    Normalize some comments.

    Issue #302.

    Support the Honors section.

    Issue #302.

    Enforce the name field.

    Closes #361.

    Move all Page oriented static #details into the constructors.

    Closes #362.

    Tweak regex to catch the interstitial URL.

    Issue #360.

    Update release notes.

    Bump version number.

  • v. 64 04/07/2026

    Support the Courses sections.

    Issue #302.

    Use an official API for getting the UID.

    Issue #341.

    Move Feed.#details into the constructor.

    Issue #362.

    Update release notes.

    Bump version number.

  • v. 63 03/07/2026

    Fine-tune the pathname for My Network.

    After re-enabling monitoring of unsupported pages, interstitial pages more likely to trigger. In this case, /mynetwork before it redirects to /mynetwork/grow/.

    Issue #332.

    Support the Patents sections.

    Issue #302.

    Acknowledge SearchResultsAll page.

    Issue #360.

    Update how SearchResultsPeople's Scrollers are configured.

    Issue #352.

    Minor grammar tweak.

    Issue #293.

    Include reference to issue in issue posting.

    Issue #289.

    Enable temporary monitoring for a possible #getItems() cache.

    It may be possible to add a cache here. So monitor for a while to see if this is sufficient.

    Issue #341.

    Utilize Scroller's click() method.

    Closes #241.

    Update release notes.

    Bump version number.

  • v. 61 01/07/2026

    Support the Publications sections.

    Issue #302.

    Update how Notifications' Scrollers are configured.

    Issue #352.

    Update to latest lib/base.

    Issues #356, #357.

    Update release notes.

    Bump version number.

  • v. 60 30/06/2026

    Remove errant debug code.

    Issue #302.

    Support the Recommendations section.

    Issue #302.

    Replace tracking list with a tracking Page.

    Some result, different implementation.

    Closes #332.

    Update to latest lib/spa.

    Closes #347.

    Update how Messaging's Scrollers are configured.

    Issue #352.

    Install the news badge in a hidden mode.

    In very rare cases, checking for news may not be possible, leaving the badge enabled.

    Issue #356.

    Rename #checkForNewRelease() to #checkForNews().

    Issue #356.

    Update release notes.

    Bump version number.

  • v. 59 28/06/2026

    Retire the dev version of StyleService.

    Closes #240.

    Update a couple of comments missed during a copy-and-paste.

    Issue #302.

    Support the Skills section.

    Issue #302.

    Add a check that pages are registered before reporting unsupported.

    Issue #332.

    Update how JobsView's Scrollers are configured.

    Issue #352.

    Update to latest lib/base.

    Issues #356, #357.

    Update release notes.

    Bump version number.

  • v. 58 28/06/2026

    Update to latest lib/web.

    Issue #240.

    Migrate all users of StyleService to NH.web.StyleService.

    Issue #240.

    Make UidMode.TEST_ID more resistent to duplicates.

    This greatly reduces the usability of this mode, and may end up causing it to be retired. But sections with multiple ... more expansions are more common than originally thought.

    Issue #302.

    Make how UidMode.ID is used consistent with UidMode.TEST_ID.

    Basically, build the whole selector rather than duplicating bits.

    Issue #302.

    Update how JobsCollections' Scrollers are configured.

    Issue #352.

    Fix the TODO bug reference.

    Issue #332.

    Hook into the new activated type for monitoring active pages.

    Some differences between this and the implementation in Global:

    • No longer depends on being an active page itself
    • Explicitly ignores patch matching everything like Global and WatchPage
    • Does not have an ignore list (will create Pages instead)

    This does not yet work because of how the new SPA is implemented. Every time a page is registered with SPA, this gets called. As result, we see lots of false positives until class for the current page is registered.

    While being able to register classes on the fly seemed like a good idea at the time, we know need a way to know we are done registering. That will be next.

    Issue #332.

    Update release notes.

    Bump version number.

  • v. 57 27/06/2026

    Retire ScrollerStyleService.

    Issue #240.

    Copy StyleService to lib/web.

    Issue #240.

    More partial ordering pairs.

    Issue #302.

    Ignore certain IDs in UidMode.ID.

    Issue #302.

    Support the Volunteering section.

    Issue #302.

    Update how Jobs' Scrollers are configured.

    Issue #352.

    Update to latest lib/spa.

    Issues #332, #353.

    Update release notes.

    Bump version number.

  • v. 56 26/06/2026

    Retire LinkedIn.pageChanged().

    It was not wired in after migrating to the new SPA implementation. Since the only thing it did was invoke #navbarHandler(), and that method seems to be getting invoked in the correct places, it now seems redundant.

    Migrate SearchResultsPeople to StyleService.

    Issue #240.

    Add COMPANY as another UID source for Experience.

    Previously this was avoided because a person may have worked at a given company more than once, causing duplicated UIDs. Now that other content is mixed in, conflicts seem less likely.

    Issue #302.

    Ignore empty sections names when checking partial ordering.

    When navigating before the page is fully loaded, section names can be empty strings, causing false positives.

    Issue #302.

    Create ANCHOR_OVERLAY as an alternative to ANCHOR_PROFILE.

    Initially using in the Experience section.

    When it exists, it is precise and stable.

    Issue #302.

    Update how InvitationManager's Scrollers are configured.

    Issue #352.

    Update release notes.

    Bump version number.

  • v. 55 24/06/2026

    Migrate Events from ScrollerStyleService to StyleService.

    Issue #240.

    Add TEST_ID as another UID source for About.

    Issue #302.

    Support the Projects section.

    Issue #302.

    Update how MyNetwork's Scrollers are configured.

    Issue #352.

    Remove margin support from Scroller.

    Closes #322.

    Update release notes.

    Bump version number.

  • v. 54 23/06/2026

    Fix a couple of docstrings missed in recent changes.

    Issue #240.

    Remove a class variable missed in a recent change.

    Issue #240.

    More partial ordering pairs.

    Issue #302.

    Migrate Profile from ScrollerStyleService to StyleService.

    Issue #240.

    Support the Connected apps section.

    Issue #302.

    Consistently use this.#navbar vs this.navbar.

    Closes #349.

    Update how Feed's Scrollers are configured.

    Issue #352.

    Normalize how const me = is set for a couple of classes.

    Update release notes.

    Bump version number.

  • v. 53 22/06/2026

    Migrate Notifications to StyleService.

    This was also a good time to adapt to the fact that the asides no longer scroll into view, and mix in the height of filter "pill".

    Issue #240.

    Rename per-section selectors for consistency.

    Issue #302.

    Retire LinkedIn.navbarHeightPixels as it has no users.

    Issue #349.

    Split a function missed in b1f9649.

    Oops.

    Issue #352.

    Fix a couple of minor formatting issues.

    Issue #352.

    Factor out transient Scroller initialization.

    This simply makes it consistent with the permanent ones, for maintenance.

    Issue #352.

    Normalize how const me = is set for Messaging.

    Update release notes.

    Bump version number.

  • v. 52 22/06/2026

    Remove a blank line between related code blocks.

    Issue #240.

    Migrate JobsView from ScrollerStyleService to StyleService.

    Issue #240.

    Change ANCHOR_COMPANY to COMPANY.

    Like SCHOOL, this mixes in a hash of the content as well as the URL.

    An upcoming section is likely to need multiple companies, and this solution seems like it will work well.

    Issue #302.

    Support the Certifications section.

    Issue #302.

    Rename #entriesMentionUidPossibilities to #entriesSuggestUids.

    Issue #302.

    Retire LinkedIn.navbarHeightCSS as it has no users.

    Issue #349.

    Refactor all #initScrollers() methods even more.

    Issue #352.

    Normalize how const me = is set for Jobs and JobsCollections.

    Update release notes.

    Bump version number.

  • v. 51 21/06/2026

    Linkify release notes to the associated issue.

    Add links to GitHub issues for certain debug alerts.

    Rework how Feeds's "load most posts" feature works.

    The HTML surrounding the top button had changes. But more importantly, the bottom button no longer exists. It is no longer possibly to use a UI element to pre-load posts.

    Closes #351.

    Fix how the closing } is added to the CSS Style.

    Issue #240.

    Insert a blank line for consistency.

    Issue #240.

    Migrate Jobs from ScrollerStyleService to StyleService.

    Issue #240.

    Update to the latest base library.

    Closes #254, #335.

    Filter out non-viewable items earlier in the post processing.

    In particular, empty elements typically have trivial UIDs causings lots of duplicates. . Issue #341.

    Change suggested anchors to a Set to remove duplicates.

    Issue #302.

    Suggest any implemented UidMode solutions that work.

    Issue #302.

    Stop scrolling the sidebars into view.

    Now that we focus on them, this seems to happen naturally (like tabbing would).

    Issue #349.

    Bump version number.

  • v. 50 19/06/2026

    Bump version number.

  • v. 49 19/06/2026

    Migrate InvitationManager to StyleService.

    Issue #240.

    Update to the latest widget library.

    Issue #254.

    Rename a variable.

    Issue #302.

    Support the Education section.

    Issue #302.

    Retire navbarDispatcher; it not longer has any listeners.

    Issue #349.

    Add this as the first argument to uidCallback().

    Closes #350.

    Bump version number.

  • v. 48 18/06/2026

    Insert missing blank line.

    Issue #240.

    Migrate MyNetwork from ScrollerStyleService to StyleService.

    Issue #240.

    Introduce "commonmark" support for release notes.

    Also switched the static header.

    This has exposed some CSS issues that were previously worked around with raw HTML.

    Existing HTML notes continue to work. The globalIssues list will be migrated later. Individual content items are likely to be ignored, and new ones will show up in markdown format.

    Issue #345.

    Retire the unused navbarScrollerFixup() method.

    Issue #322.

    Normalize how const me = is set for Global and Feed.

    Factor out Experience into a secondary config.

    Issue #302.

    Add placeholders for all other known sections.

    Issue #302.

    Rename some enums from *_ANCHOR to ANCHOR_*.

    Issue #302.

    Make UidModes more precise for a couple of sections.

    Issue #302.

    Filter out certain anchor paths that have their own modes.

    Issue #302.

    Bump version number.

  • v. 47 17/06/2026

    Accidentally left the resize observer unused

    Issue #240.

    Fix a couple of docstrings post API changes.

    Issue #240.

    Migrate Feed from ScrollerStyleService to StyleService.

    Also note that this includes moving away from class properties to instance properties.

    Issue #240.

    Update to the latest base library.

    Issue #254.

    Make an error message more precise.

    Issue #302.

    Note when a URL points to the same page.

    This is a common cause of duplicates, so capturing will hopefully make it easier to debug.

    Issue #302.

    Prefer dashReplyUrn over dashCommentUrn as a UID.

    Issue #302.

    Factor out Activity into a secondary config.

    Issue #302.

    Fix up some formatting issues.

    Bump version number.

  • v. 46 14/06/2026

    Refactor all Scroller configs out of constructor().

    Issue #240.

    Revert "Fine tune the Style-2 body selectors."

    This reverts commit e92083cb6484d0c421f512c9d023b737f3513d78.

    This no longer seems necessary and breaks at least My Network.

    Closes #346.

    Factor out Featured into a secondary config.

    Issue #302.

    Bump version number.

  • v. 45 13/06/2026

    Initial implementation of StyleService.

    A second generation of ScrollerStyleService that will replace it.

    Enhancements include:

    • Supports multiple elements.
    • Supports EventTarget event listeners.

    Issue #240.

    Update to the latest base library.

    Issue #254.

    Factor out Services into a secondary config.

    Issue #302.

    Bump version number.

  • v. 44 12/06/2026

    A new partial ordering pair.

    Issue #302.

    Refactor a constructor() that is about a grow a bit.

    Issue #240.

    Use optional chaining in more shortcuts.

    Likely some are missed, but this should be the majority of the ones previously ignored.

    Closes #299.

    Bump version number.

Mostrar todas as versões do script