diff --git a/README.md b/README.md index ae1f9b95..8b0e8a53 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ Be sure to run `npm i` before calling any commands below | web | `npm run build` | | electron | `npm run build:electron` | | chrome | `npm run build:extension:chrome` | -| firefox | `npm run build:extension:firefox` | Saved to `dist/firefox/prod` +| edge | `npm run build:extension:edge` | +| firefox | `npm run build:extension:firefox` | Saved to `dist/firefox/prod` | opera | `npm run build:extension:opera` | | safari | `npm run build:extension:safari` | Then open **build/xcode** project diff --git a/build/extension.js b/build/extension.js index a906398c..191046f3 100644 --- a/build/extension.js +++ b/build/extension.js @@ -14,6 +14,7 @@ module.exports = (env={}, args={}) => { switch(env.vendor) { case 'chrome': env.sentry = { urlPrefix: 'chrome-extension://ldgfbffkinooeloadekpmfoklnobpien/' }; break + case 'edge': env.sentry = { urlPrefix: 'chrome-extension://lpngnnjemnkjmgpoolldhiejhkmmgfge/' }; break case 'firefox': env.sentry = { disabled: true }; break //ignored, because reviewers complain case 'opera': env.sentry = { urlPrefix: 'chrome-extension://omkjjddnkfagilfgmbmeeffkljlpaglj/' }; break case 'safari': env.sentry = { urlPrefix: 'safari-web-extension://F54B64D3-0D2D-4C9C-BDF5-8671C44683E7/' }; break diff --git a/build/xcode/Save to Raindrop.io/App/Info.plist b/build/xcode/Save to Raindrop.io/App/Info.plist index 6fc4ac46..28c1a830 100644 --- a/build/xcode/Save to Raindrop.io/App/Info.plist +++ b/build/xcode/Save to Raindrop.io/App/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 5.6.41 + 5.6.50 CFBundleURLTypes @@ -32,7 +32,7 @@ CFBundleVersion - 354 + 360 LSApplicationCategoryType public.app-category.productivity LSMinimumSystemVersion diff --git a/build/xcode/Save to Raindrop.io/Extension/Info.plist b/build/xcode/Save to Raindrop.io/Extension/Info.plist index ab92b75a..f6d52643 100644 --- a/build/xcode/Save to Raindrop.io/Extension/Info.plist +++ b/build/xcode/Save to Raindrop.io/Extension/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 5.6.41 + 5.6.50 CFBundleVersion - 354 + 360 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSExtension diff --git a/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.pbxproj b/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.pbxproj index 6a8d1152..dcd642ea 100644 --- a/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.pbxproj +++ b/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.pbxproj @@ -441,7 +441,7 @@ CODE_SIGN_ENTITLEMENTS = Extension/Extension.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 354; + CURRENT_PROJECT_VERSION = 360; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7459JWM5TY; ENABLE_HARDENED_RUNTIME = YES; @@ -452,7 +452,7 @@ "@executable_path/../../../../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 5.6.41; + MARKETING_VERSION = 5.6.50; PRODUCT_BUNDLE_IDENTIFIER = io.raindrop.safari.extension; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -467,7 +467,7 @@ CODE_SIGN_ENTITLEMENTS = Extension/Extension.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 354; + CURRENT_PROJECT_VERSION = 360; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7459JWM5TY; ENABLE_HARDENED_RUNTIME = YES; @@ -478,7 +478,7 @@ "@executable_path/../../../../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 5.6.41; + MARKETING_VERSION = 5.6.50; PRODUCT_BUNDLE_IDENTIFIER = io.raindrop.safari.extension; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -497,7 +497,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 354; + CURRENT_PROJECT_VERSION = 360; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7459JWM5TY; ENABLE_HARDENED_RUNTIME = YES; @@ -508,7 +508,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 5.6.41; + MARKETING_VERSION = 5.6.50; PRODUCT_BUNDLE_IDENTIFIER = io.raindrop.safari; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -525,7 +525,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 354; + CURRENT_PROJECT_VERSION = 360; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7459JWM5TY; ENABLE_HARDENED_RUNTIME = YES; @@ -536,7 +536,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 5.6.41; + MARKETING_VERSION = 5.6.50; PRODUCT_BUNDLE_IDENTIFIER = io.raindrop.safari; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.xcworkspace/xcuserdata/exentrich.xcuserdatad/UserInterfaceState.xcuserstate b/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.xcworkspace/xcuserdata/exentrich.xcuserdatad/UserInterfaceState.xcuserstate index 7449c9c2..4f3b71fa 100644 Binary files a/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.xcworkspace/xcuserdata/exentrich.xcuserdatad/UserInterfaceState.xcuserstate and b/build/xcode/Save to Raindrop.io/Save to Raindrop.io.xcodeproj/project.xcworkspace/xcuserdata/exentrich.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/package.json b/package.json index 2d58d926..6c5ecdcc 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "app", - "version": "5.6.46", + "version": "5.6.50", "description": "All-in-one bookmark manager", "author": "Rustem Mussabekov", "license": "MIT", @@ -15,6 +15,7 @@ "build": "webpack --config build/web.js --env production", "build:extension": "npm run build:extension:chrome && npm run build:extension:firefox && npm run build:extension:opera && npm run build:extension:safari && npm run build:extension:safari-ios", "build:extension:chrome": "webpack --config build/extension.js --env production --env vendor=chrome", + "build:extension:edge": "webpack --config build/extension.js --env production --env vendor=edge", "build:extension:firefox": "webpack --config build/extension.js --env production --env vendor=firefox", "build:extension:opera": "webpack --config build/extension.js --env production --env vendor=opera", "build:extension:safari": "webpack --config build/extension.js --env production --env vendor=safari && cd 'build/xcode/Save to Raindrop.io' && ./version.sh", diff --git a/src/assets/target/extension/welcome/index.html b/src/assets/target/extension/welcome/index.html index 921e6611..9e0063eb 100644 --- a/src/assets/target/extension/welcome/index.html +++ b/src/assets/target/extension/welcome/index.html @@ -43,18 +43,10 @@

Collect & organize web pages

Pin in Toolbar or press - - - - - - - - - + + + + @@ -96,16 +88,9 @@

Collection always at hand

or press - - - - - - - - + + + @@ -121,16 +106,9 @@

Open Raindrop.io Sidebar

Or press - - - - - - - - + + +


In sidebar you can browse your collection, search and add new items.

@@ -168,7 +146,7 @@

Address Bar Integration

- +
@@ -181,17 +159,19 @@

Save important passages

and press - - - - + + + + + + - - + + + + +
diff --git a/src/target/extension/background/commands.js b/src/target/extension/background/commands.js index 86db6538..6ad32751 100644 --- a/src/target/extension/background/commands.js +++ b/src/target/extension/background/commands.js @@ -32,9 +32,6 @@ async function onCommand(command, tab) { active: true }) - case 'open_app': - return open('/', { width: 1280, height: 800 }) - case 'execute_side_panel': { const { windowId } = tab return browser.sidePanel.open({ windowId }) diff --git a/src/target/extension/hotkeys.js b/src/target/extension/hotkeys.js index f0be0276..86a4f0a1 100644 --- a/src/target/extension/hotkeys.js +++ b/src/target/extension/hotkeys.js @@ -4,7 +4,7 @@ export const hotkeys = { async getAll() { try{ const commands = await browser.commands.getAll() - if (Array.isArray(commands) && commands.length) + if (commands?.[0]?.name) return commands } catch(e){ console.log(e) @@ -17,11 +17,11 @@ export const hotkeys = { const { os } = await browser.runtime.getPlatformInfo() return Object.entries(commands) - .map(([name, { suggested_key, description }])=>{ - var shortcut = suggested_key ? (suggested_key[os] || suggested_key.default || '') : '' + .map(([name, { suggested_key={}, description='' }])=>{ + var shortcut = suggested_key?.[os] || suggested_key?.default || '' if (os == 'mac') - shortcut = shortcut.replace(/^Ctrl/, '⌘') + shortcut = shortcut.replace(/^Ctrl/, '⌘').replace(/^MacCtrl/, '⌃') return { name, @@ -48,6 +48,7 @@ export const hotkeys = { return 'https://support.mozilla.org/en-US/kb/manage-extension-shortcuts-firefox' case 'chrome': + case 'edge': case 'opera': return 'chrome://extensions/shortcuts' } diff --git a/src/target/extension/manifest/index.js b/src/target/extension/manifest/index.js index e8709f07..bae9b2a5 100644 --- a/src/target/extension/manifest/index.js +++ b/src/target/extension/manifest/index.js @@ -65,7 +65,7 @@ module.exports = ({ vendor, production=false }, l) => { 'index.html?action', default_icon: { //chrome based icon - ...(vendor == 'chrome' || vendor == 'opera' ? { + ...(vendor == 'chrome' || vendor == 'edge' || vendor == 'opera' ? { 16: file(l, '../../../assets/target/extension/action_chrome_16.png'), 24: file(l, '../../../assets/target/extension/action_chrome_24.png'), 32: file(l, '../../../assets/target/extension/action_chrome_32.png') @@ -93,7 +93,7 @@ module.exports = ({ vendor, production=false }, l) => { 'activeTab', 'scripting', 'storage', - ...(vendor == 'chrome' ? ['sidePanel'] : []), + ...(vendor == 'chrome' || vendor == 'edge' ? ['sidePanel'] : []), ...(vendor == 'safari-ios' ? ['tabs'] : []) ], @@ -129,26 +129,31 @@ module.exports = ({ vendor, production=false }, l) => { commands: { _execute_action: { suggested_key: { - default: 'Ctrl+Shift+E' + default: 'Alt+R', + mac: 'MacCtrl+R' } }, save_page: { - suggested_key: { - default: vendor == 'firefox' ? 'Alt+Shift+S' : 'Ctrl+Shift+S' + suggested_key: vendor == 'chrome' ? { + default: 'Ctrl+Shift+S' + } : { + default: 'Alt+X', + mac: 'MacCtrl+X' }, description: '__MSG_savePageOrHighlight__' }, open_raindrop: { description: '__MSG_openRaindrop__', - }, - open_app: { - description: '__MSG_openApp__', + suggested_key: { + default: 'Alt+A', + mac: 'MacCtrl+A' + } }, - ...(vendor == 'chrome' ? { + ...(vendor == 'chrome' || vendor == 'edge' ? { execute_side_panel: { suggested_key: { - default: 'Alt+Shift+B' + default: 'Ctrl+Period' }, description: '__MSG_openSidePanel__' } @@ -157,7 +162,7 @@ module.exports = ({ vendor, production=false }, l) => { ...(vendor == 'firefox' || vendor == 'opera' ? { _execute_sidebar_action: { suggested_key: { - default: 'Alt+Shift+B' + default: 'Ctrl+Period' }, description: '__MSG_openSidePanel__' } @@ -165,7 +170,7 @@ module.exports = ({ vendor, production=false }, l) => { }, //sidebar - ...(vendor == 'chrome' ? { + ...(vendor == 'chrome' || vendor == 'edge' ? { side_panel: { default_path: 'sidepanel.html' } diff --git a/src/target/extension/manifest/locales.js b/src/target/extension/manifest/locales.js index 61b31f77..9b7bba27 100644 --- a/src/target/extension/manifest/locales.js +++ b/src/target/extension/manifest/locales.js @@ -38,7 +38,7 @@ module.exports = ({ emitFile })=>{ description: '' }, savePageOrHighlight: { - message: s(lang, 'newBookmark') + ' / ' + s(lang, 'save') + ' ' + s(lang, 'highlights').toLowerCase(), + message: s(lang, 'bookmark') + ' / ' + s(lang, 'save') + ' ' + s(lang, 'highlights').toLowerCase(), description: '' }, saveLink: {