Giter Club home page Giter Club logo

copy-shorturl's People

Contributors

dependabot[bot] avatar erikvold avatar fwenzel avatar gion-andri avatar klofutar avatar meteormatt avatar mofumoca avatar sole avatar steekid avatar tofumatt avatar tymofij avatar yfdyh000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

copy-shorturl's Issues

Deprecate hybrid notification library

Every relevant OS now has a OS-specific notification function that's also used for webnotifications and such. We can remove the hybrid/fallback approach and just use that.

Fix babelzilla integration

Babelzilla isn't picking this up right yet, even though that'd help getting this translated. Time to figure out why.

Want tests

That's right! jetpack-sdk has a test suite, so we should use it.

Get rid of simple-notify

Notifications have become commonplace since I started this, I can now trust the SDK will do what it promises.

Time to dramatically simplify the notification code.

Crashing Firefox 10.0.2

I am running Firefox 10.0.2 on Ubuntu 10.10. I was having problems with Firefox continously crashing after the 10.0.0 update. I gradually went through all my add-on's, disabling them and enabling them. I narrowed it down to Copy ShortURL causing Fx to crash. Whenever I have Copy ShortURL enabled, Fx crashes within a few seconds of loading. When I disables Copy ShortURL, it stopped crashing. I tried removing Copy ShortURL and re-installing it, this didn't solve the problem.

This is my Firefox Troubleshooting Information:

Application Basics

    Name
    Firefox

    Version
    10.0.2

    User Agent
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

    Profile Directory

      Open Containing Folder

    Enabled Plugins

      about:plugins

    Build Configuration

      about:buildconfig

    Crash Reports

      about:crashes

    Memory Use

      about:memory

Extensions

    Name

    Version

    Enabled

    ID

    After the Deadline
    1.51
    true
    [email protected]

    Context Search
    0.4.6
    true
    {902D2C4A-457A-4EF9-AD43-7014562929FF}

    Disconnect
    1.0.1
    true
    [email protected]

    FireFTP
    2.0.1
    true
    {a7c6cf7f-112c-4500-a7ea-39801a327e5f}

    FlashGot
    1.3.9
    true
    {19503e42-ca3c-4c27-b1e2-9cdb2170ee34}

    Google Shortcuts
    2.1.7.1
    true
    {5C46D283-ABDE-4dce-B83C-08881401921C}

    gTranslator
    1.0.5
    true
    [email protected]

    LastPass
    1.90.0
    true
    [email protected]

    RSS Icon In Awesombar
    1.4
    true
    [email protected]

    Scriptish
    0.1.7
    true
    [email protected]

    SearchLoad Options
    0.6.3
    true
    [email protected]

    Shareaholic
    3.0.1
    true
    [email protected]

    Ubuntu Firefox Modifications
    0.9.3
    true
    [email protected]

    URL Link
    2.04.1
    true
    {139a120b-c2ea-41d2-bf70-542d9f063dfd}

    Add-on Collector
    2.1
    false
    [email protected]

    DownThemAll!
    2.0.13
    false
    {DDC359D1-844A-42a7-9AA1-88A850A938A8}

    MAFIAAFIRE: Gee! No evil!
    1.0.0.0
    false
    [email protected]

Modified Preferences

  Name

  Value

    accessibility.typeaheadfind.flashBar
    0

    browser.places.smartBookmarksVersion
    2

    browser.startup.homepage
    about:home

    browser.startup.homepage_override.buildID
    20120216081259

    browser.startup.homepage_override.mstone
    rv:10.0.2

    browser.tabs.warnOnClose
    false

    extensions.lastAppVersion
    10.0.2

    gfx.blacklist.direct2d
    2

    gfx.blacklist.layers.direct3d10
    2

    gfx.blacklist.layers.direct3d10-1
    2

    gfx.blacklist.layers.direct3d9
    2

    gfx.blacklist.layers.opengl
    2

    gfx.blacklist.suggested-driver-version
    Mesa 7.10.3

    gfx.blacklist.webgl.angle
    2

    gfx.blacklist.webgl.msaa
    2

    gfx.blacklist.webgl.opengl
    2

    network.cookie.prefsMigrated
    true

    network.protocol-handler.app.picasa
    /usr/bin/picasa

    network.protocol-handler.external.picasa
    true

    places.database.lastMaintenance
    1328307428

    places.history.expiration.transient_current_max_pages
    72411

    places.history.expiration.transient_optimal_database_size
    115856178

    print.tmp.printerfeatures.PostScript/default.can_change_colorspace
    false

    print.tmp.printerfeatures.PostScript/default.can_change_downloadfonts
    false

    print.tmp.printerfeatures.PostScript/default.can_change_jobtitle
    false

    print.tmp.printerfeatures.PostScript/default.can_change_num_copies
    true

    print.tmp.printerfeatures.PostScript/default.can_change_orientation
    true

    print.tmp.printerfeatures.PostScript/default.can_change_paper_size
    true

    print.tmp.printerfeatures.PostScript/default.can_change_plex
    false

    print.tmp.printerfeatures.PostScript/default.can_change_printincolor
    true

    print.tmp.printerfeatures.PostScript/default.can_change_resolution
    false

    print.tmp.printerfeatures.PostScript/default.can_change_spoolercommand
    true

    print.tmp.printerfeatures.PostScript/default.colorspace.0.name
    default

    print.tmp.printerfeatures.PostScript/default.colorspace.count
    1

    print.tmp.printerfeatures.PostScript/default.has_special_printerfeatures
    true

    print.tmp.printerfeatures.PostScript/default.orientation.0.name
    portrait

    print.tmp.printerfeatures.PostScript/default.orientation.1.name
    landscape

    print.tmp.printerfeatures.PostScript/default.orientation.count
    2

    print.tmp.printerfeatures.PostScript/default.paper.0.height_mm
    210

    print.tmp.printerfeatures.PostScript/default.paper.0.is_inch
    false

    print.tmp.printerfeatures.PostScript/default.paper.0.name
    A5

    print.tmp.printerfeatures.PostScript/default.paper.0.width_mm
    148

    print.tmp.printerfeatures.PostScript/default.paper.1.height_mm
    297

    print.tmp.printerfeatures.PostScript/default.paper.1.is_inch
    false

    print.tmp.printerfeatures.PostScript/default.paper.1.name
    A4

    print.tmp.printerfeatures.PostScript/default.paper.1.width_mm
    210

    print.tmp.printerfeatures.PostScript/default.paper.2.height_mm
    420

    print.tmp.printerfeatures.PostScript/default.paper.2.is_inch
    false

    print.tmp.printerfeatures.PostScript/default.paper.2.name
    A3

    print.tmp.printerfeatures.PostScript/default.paper.2.width_mm
    297

    print.tmp.printerfeatures.PostScript/default.paper.3.height_mm
    279

    print.tmp.printerfeatures.PostScript/default.paper.3.is_inch
    true

    print.tmp.printerfeatures.PostScript/default.paper.3.name
    Letter

    print.tmp.printerfeatures.PostScript/default.paper.3.width_mm
    215

    print.tmp.printerfeatures.PostScript/default.paper.4.height_mm
    355

    print.tmp.printerfeatures.PostScript/default.paper.4.is_inch
    true

    print.tmp.printerfeatures.PostScript/default.paper.4.name
    Legal

    print.tmp.printerfeatures.PostScript/default.paper.4.width_mm
    215

    print.tmp.printerfeatures.PostScript/default.paper.5.height_mm
    431

    print.tmp.printerfeatures.PostScript/default.paper.5.is_inch
    true

    print.tmp.printerfeatures.PostScript/default.paper.5.name
    Tabloid

    print.tmp.printerfeatures.PostScript/default.paper.5.width_mm
    279

    print.tmp.printerfeatures.PostScript/default.paper.6.height_mm
    254

    print.tmp.printerfeatures.PostScript/default.paper.6.is_inch
    true

    print.tmp.printerfeatures.PostScript/default.paper.6.name
    Executive

    print.tmp.printerfeatures.PostScript/default.paper.6.width_mm
    190

    print.tmp.printerfeatures.PostScript/default.paper.count
    7

    print.tmp.printerfeatures.PostScript/default.plex.0.name
    default

    print.tmp.printerfeatures.PostScript/default.plex.count
    1

    print.tmp.printerfeatures.PostScript/default.resolution.0.name
    default

    print.tmp.printerfeatures.PostScript/default.resolution.count
    1

    print.tmp.printerfeatures.PostScript/default.supports_colorspace_change
    false

    print.tmp.printerfeatures.PostScript/default.supports_downloadfonts_change
    false

    print.tmp.printerfeatures.PostScript/default.supports_jobtitle_change
    false

    print.tmp.printerfeatures.PostScript/default.supports_orientation_change
    true

    print.tmp.printerfeatures.PostScript/default.supports_paper_size_change
    true

    print.tmp.printerfeatures.PostScript/default.supports_plex_change
    false

    print.tmp.printerfeatures.PostScript/default.supports_printincolor_change
    true

    print.tmp.printerfeatures.PostScript/default.supports_resolution_change
    false

    print.tmp.printerfeatures.PostScript/default.supports_spoolercommand_change
    true

    privacy.cpd.cookies
    false

    privacy.cpd.extensions-dta
    true

    privacy.cpd.sessions
    false

    privacy.cpd.siteSettings
    true

    privacy.sanitize.migrateFx3Prefs
    true

    privacy.sanitize.timeSpan
    0

    security.disable_button.openCertManager
    false

    security.warn_viewing_mixed
    false

Graphics

    Adapter Description
    Advanced Micro Devices, Inc. -- Mesa DRI R600 (RS780 9612) 20090101  TCL DRI2

    Driver Version
    2.1 Mesa 7.9-devel

    WebGL Renderer
    Blocked for your graphics driver version. Try updating your graphics driver to version Mesa 7.10.3 or newer.

    GPU Accelerated Windows
    0/2. Blocked for your graphics driver version. Try updating your graphics driver to version Mesa 7.10.3 or newer.

deprecated tab-browser module not found

console.error: copy-shorturl:
  Message: Module `sdk/deprecated/tab-browser` is not found at resource://gre/modules/commonjs/sdk/deprecated/tab-browser.js
  Stack:
    CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
@resource://jid0-odikjs9b4it3h1nylpkr0ndtlue-at-jetpack/copy-shorturl/lib/simple-notify.js:4:20
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
@resource://jid0-odikjs9b4it3h1nylpkr0ndtlue-at-jetpack/copy-shorturl/lib/main.js:4:16
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
run@resource://gre/modules/commonjs/sdk/addon/runner.js:145:19
startup/</<@resource://gre/modules/commonjs/sdk/addon/runner.js:86:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:867:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:746:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise-backend.js:688:37
Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise-backend.js:688:5
this.PromiseWalker.schedulePromise@resource://gre/modules/Promise-backend.js:709:7
this.PromiseWalker.completePromise@resource://gre/modules/Promise-backend.js:671:7
readURI/<@resource://gre/modules/commonjs/sdk/net/url.js:55:9
NetUtil_asyncFetch2/<.onStopRequest@resource://gre/modules/NetUtil.jsm:212:17

Does not work on e10s

When are you going to support e10s? Currently CSurl doesn't work with e10s. The Nightly build will be turning on e10a in a week or two.

Add preferences page

How about a settings page that lets you add as many services as you need, and will cause a menu item to show up for each of them?

Retina icons

The Copy ShortURL icon is very simple, but it's not a vector icon and thus I don't have better high-resultion pictures. Fixable!

Firefox 4 on Windows

I'm not sure exactly which part doesn't work, but at least on Minefield on Windows, something's very wrong. The context menu item isn't there, the pref in about:config isn't there. Is it working for Minefield on Mac?

Remove legacy upgrade code

There's code to import settings from when there was not preferences API yet etc.

That's been around for so many versions now that no current user is likely to hit that code ever again. Time to remove it.

Trim whitespace from results

I don't know if this is limited to bit.ly/j.mp, but the URL comes back with a newline character at the end. It should be safe to trim white space from both ends of the URL.

Add goo.gl

Unlike many others, goo.gl does not appear to have a plain text HTTP GET API. That makes sense, semantically, but requires more code to do the POST, and parse the JSON reply.

A good solution would probably be generic enough that it doesn't just special-case Google.

Cover site-specific nonstandard short URLs

From Issue #57:

For certain sites it might make total sense to enable arbitrary selectors? NY times, for instance has: <span class="story-short-url"><a href="http://nyti.ms/2cjHxN9">http://nyti.ms/2cjHxN9</a></span></header>

And Reuters has:
<div class="core-share nav-share" data-share-short-url="http://reut.rs/2cAuJjc" ...>

Some canonical short URLs aren't short

Some canonical short URLs aren't short. In that case, a generated shorturl is probably better.

A heuristic could be: "if the pseudo-short canonical URL is longer than x characters, obtain a "shorturl" from the shortening service, then compare sizes and return the shorter one".

Pick a sensible default "x" and add a config window to let people change that value.

OR, Mossop suggests: "if the page offers its own just give two menu options perhaps".

Add preferences window

I have no idea how to do this with Jetpack (or if it's currently possible) but this add-on should have an options dialog -- not only to make it easier to pick a custom shortening service URL, but also for future settings.

Remove general 'Copy ShortURL' item when right clicking links

I'm a big fan of a non-cluttered context menu and I've removed addons before because they added extra options to context menus I didn't need.

When right clicking on links, the only additional option available should be 'Copy ShortURL for this link'.
(I remember when the Mozilla Suite's context menu literally filled the screen (top to bottom) because it contained all possible options rather than being, well, contextual.)

Browser user conventions now train the user to expect menus to be contextual in this manner and beyond being more cluttered (IMO) this can be a bit confusing. In fact, previously I used this option when right clicking a link thinking I was getting the shortURL for that link (before the link menu was added).

Option to always use shortening service

I like to follow the statistics of the URL's I creat with Bit.ly and so I would like all my short URL's to be created with Bit.ly. It would be nice to have an option in Copy ShortURL that allows you to ignore the canonical short URL provided but the website and always use the chosen shortening service.

Switch to asynchronous requests

The shorten requests are currently done synchronously in privileged code. That sounds like a bad idea for browser performance. No reason why that has to be the case, so let's switch to async requests.

Add-on doesn't pick up sl-SI locale

Hi!

When I install the add-on, the locale remains in English. Perhaps changing the folder name to "sl" would work, since the "general.useragent.locale" setting in Slovenian Firefox is "sl".

Best regards,
Peter

Add keyboard shortcut

To make it as easy as possible to copy the short URL for the current page, the extension should have a keyboard shortcut. If that's possible.

Cmd + Shift + C, maybe? (Though CacheViewer uses the same, so, hmmm.)

Add optional toolbar button

I personally don't like it, but some people (judging by reviews I read on the net) seem to prefer a toolbar button over a context menu item. Should add the option to add one, though I am not currently considering making it the default.

This is very low priority, but keeping it here so I don't forget.

Also, patches welcome :)

Add "Copy ShortURL at this time" item for Youtube

Youtube simply adds something like ?t=2m7s to the end of short URLs in order to start a video at that particular time.
Please consider adding an additional item to the context menu for youtube pages that will preserve the current time. By my count it takes five clicks to copy the URL for the current time with youtube's method.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.