Giter Site home page Giter Site logo

app's Introduction

xBrowserSync

Desktop browser web extensions and Android app

Latest release GitHub license build Coverage Status Crowdin Dependencies Liberapay patrons

GitHub forks GitHub stars

xBrowserSync is a free tool for syncing browser data between different browsers and devices, built for privacy and anonymity. For full details, see www.xbrowsersync.org.

This repository contains the source code for the browser web extensions and Android mobile app used for syncing to an xBrowserSync service. You can get the official releases of the xBrowserSync clients from the various app stores, but if you’d like to build from source you can do so here.

Prerequisites

Installation

CD into the source directory and install the package and dependencies using NPM:

$ npm install

Android

You must follow the Cordova Android installation guide in order to develop xBrowserSync for Android. Once that's done, run the following commands in the xBrowserSync source directory:

$ npm install -g [email protected]
$ cd ./res/android
$ cordova prepare

Building

Run a debug build for the given platform:

$ npm run build:[platform]

or

$ npm run watch:[platform]

Replace [platform] with the name of the platform to build. The app code will be output to the 'build/[platform]' folder. Available platforms:

  • android
  • chromium
  • firefox

Debugging in Chrome

Once you have built xBrowserSync for Chromium, browse to chrome://extensions, enable Developer mode, click "Load unpacked" and browse to build/chromium within the xBrowserSync source directory.

Note: We recommend creating a new Chrome profile for testing so you do not affect your actual profile data.

Debugging in Firefox

Use the web-ext tool for testing xBrowserSync in Firefox. Once that is installed and you have built xBrowserSync for Firefox, CD into build/firefox within the xBrowserSync source directory and run the following command:

$ web-ext run --verbose

Firefox will open using a temporary profile and the xBrowserSync extension will be installed from the built source.

Debugging in Android

After building, in order to run the app you'll need to execute the relevant cordova cli commands. For example, to run the app on a connected device, CD into build/android within the xBrowserSync source directory and run the following commands:

$ cordova build android
$ cordova run android --device

Make sure to run the cordova build command at least once after running a fresh build so that required gradle files are copied (cordova run alone does not copy these files).

Packaging

Run a release build and then package for the given platform:

$ npm run package:[platform]

Replace [platform] with the name of the platform to build. The package will be output to the 'dist' folder.

Issues

If you’ve found a bug or wish to request a new feature, please submit it here.

Translation

If you would like to help with translating xBrowserSync into another language, please read the Translations wiki page to get started.

app's People

Contributors

lgmorand avatar nero120 avatar taivlam 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  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  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  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

app's Issues

Bookmarks data too large for localStorage

Apologies, this is three different bugreports in three days!

Running the store extension on my Mac, I don't have any problem with corrupt bookmarks. But I do exceed storage capacity!

xBrowserSync.App.Background:syncBookmarks, WARNING: Error syncing bookmarks; {"stack": "...

Error: Failed to execute 'setItem' on 'Storage': Setting the value of 'xBrowserSync-cachedBookmarks' exceeded the quota.
    at Object.setInLocalStorage [as Set] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2732:22)
    at Object.Set (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:389:43)
    at getCachedBookmarks (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:1613:37)
    at refreshCachedBookmarks (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:1537:16)
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2068:13
    at ...

..."}

(I have around 14,900 bookmarks, 6MB when exported as HTML, and my own API server with the limit set to 100MB for testing!)

I have heard people recommending to avoid localStorage when possible, because it is synchronous and is has limits (around 2MB?) in some browsers.

People recommend using something like IndexedDB instead (or ServiceWorkers Cache API). Although that's for front-end code, I'm not so sure about extensions.

Add folder management capability, local encryption without any file size limit, allow users to opt out from cloud sync.

Everything seems fine, except a sub-folder management capability. Users should be able to create an encrypted backup locally without any file size restrictions, so the encrypted backup can be uploaded to a cloud service later. Key-files can also be added to strengthen the security of the backed up data before uploading it to the cloud. I do not want to use https://api.xbrowsersync.org or any of the three servers provided by the app, I'll upload the data to Dropbox manually.

Steps to reproduce

Expected behaviour

Tell us what should happen

Actual behaviour

Tell us what happens instead

Client app information

App Platform: (Chrome, Firefox, iOS, etc)

App Platform Version:

Other info

Enter any other information you think would be helpful here.

Extension keeps getting disabled.

Steps to reproduce

  1. Create a sync profile
  2. Add another browser (I'm using 1. chrome browser and 2. firefox browsers)
  3. Once all browsers are synced, add a bookmark on one of the browsers.

Expected behaviour

Bookmark should be added to the profile and later synced to the other browsers.

Actual behaviour

The browser where the new bookmark is added is getting out of sync, sync gets disabled, and I'm creating a local backup, login again and restore from the backup.
Later I need to restore the backup on all of the other browsers as well.

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Chrome and Firefox

App Platform Version:
1.4

Can't change service in Android app?

Not sure if this is just me, or not, but: I successfully created my own xBrowserSync server instance, and was able to use it from the browser, and via the Google Chrome extension. However, if I attempted to change the server being used from the Android app, no error message was given, but nothing happened. The server instance was running via HTTPS, and had a valid TLS certificate, but was running on a non-standard port.

(As an aside: I noticed that the Android app wouldn't let me insert an unqualified hostname in the URL for the server (e.g. "https://myhost:8080/"). I can see there are reasons for avoiding that, but it certainly can be handy for testing purposes - maybe it could be enabled, but with a warning?)

Steps to reproduce

  1. Under "Settings" in the Android app, select "Change service"
  2. Enter a URL in the URL box - e.g. "https://myhost.net:9000/"
  3. Click "update" button

Expected behaviour

App should use new URL for the server.

Actual behaviour

App pauses for a fraction, but nothing changes.

Client app information

Android

App Platform Version:
6.0

The iOS app can't sync after the release of 1.4.0

After the release of 1.4.0, the iOS app won't sync. Before reporting the sync issue here, I first tried uninstalling the app (version 1.3.1) and then reinstalling it, but then the app couldn't be found at all in the App Store...

Is the 1.4.0 app not available yet in the (swedish) App Store?

Thank you in advance!

Profiles

Hi,
I know that this is a bigger thing ...
xMarks had this feature and I would like to request it for xBrowserSync, too.

It would be great to have profiles. Each bookmark (or folder) can be assigned to a profile. By default it is automatically assigned to the default profile. Let's assume that we further have a profile called "work" and one "home". When configuring the app or extension it should be possible to choose the desired profile - and only those bookmarks would be synced.
This would allow to have all bookmarks at one place but only synchronise (and display) the ones that you really need on a specific device.
I have bookmarks that I use only at work, others only at home and some at home and at work.
Also a profile for a mobile device would be helpful.

I hope my explanation is clear enough ...

Best regards, Tom

[FireFox] Building and running XPI

Hi,
I completely new here, so sorry if I'm asking nonsense :).
I've understood that the FireFox extension isn't ready yet. I've built the code and created a XPI by myself - which worked fine. But when I run it, it looks "disturbed" (see attached picture).
Is this the current state of the App in FireFox or does something went wrong with my build?

Best regards, Tom
xbrowsersyncff

Android: App doesn't rotate into landscape mode

Feature request:

Would be cool if the App would rotate into landscape mode if tablet is rotated. Like me is working with keyboard within the tablet-cover. Its pretty hard to read 90 degrees ......

Sync upgrade failing 1.4.0

Steps to reproduce

  1. Upgrade to 1.4.0 with private server version 1.1.4 running latest code as of 12/10/2018 (https://xbrowsersync.burrows.xyz)

Expected behaviour

Sync data should be upgraded

Actual behaviour

Receive error
"Something went wrong
If this problem recurs, submit an issue at github.com/xBrowserSync/App."
Screenshot attached
error

Client app information

App Platform: Version 69.0.3497.100 (Official Build) (64-bit)
Andoird

App Platform Version: 1.4.0 from Chrome store

Other info

Debug log from within Chrome app
INFO: Sync data: {"type":4,"command":1,"deferred":{"promise":{"$$state":{"status":2,"value":{},"processScheduled":false,"pur":true}}}}

Server data returned
/info {"maxSyncSize":1048576,"message":"Donate bitcoin: 1LQJnXoyftB6RDJjnv2AoNbNBZVoRbdLhw","status":1,"version":"1.1.4"}
/bookmarks/SYNCID {"bookmarks":"****REDACTED but encoded bookmark data****","lastUpdated":"2018-10-11T08:17:25.467Z"}

If you need anymore info let me know.

Cheers

[v1.4.0 BETA] Issues syncing between FF & Chrome

Steps to reproduce

  1. Create new sync on FF
  2. Create new sync on Chrome (to pull down the bookmarks from step 1)
  3. Make change to FF, let it sync
  4. Make change to Chrome, it'll be blocked and it'll re-download the changes from FF
  5. Do this a few more times on either side.

Expected behaviour

It's ok for current changes (adding/removing of a bookmark) to be lost but notified. Claiming things were out of sync and the previous change must be re-done.

Actual behaviour

I've done a bit of changes using the bookmarks bar between the 2 browsers, and I've found that there are times were a bookmark just gets lost. Is there parsing of the bookmark URL? The 2 that seem to be confused are

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Chrome - Version 67.0.3396.79 (Developer Build) Fedora Project (64-bit)
FF - 61.0.1 (64-bit)

Other info

The testing I did was primarily within the Bookmarks bar area. Simply dragging URLs into the bar.

Problems with regenerator-transform while compiling

I have been trying to build the Chrome extension here on Ubuntu. I get the following error:

> [email protected] copyfiles /home/joey/SYNC/src/xBrowserSync-App
> cross-var n-copy --source $npm_package_config_platformPath --destination build "*" "**/*" && n-copy --source . --destination build "app.html" "css/*" "img/*" "fonts/*" "views/*" && n-copy --source fonts --destination build/fonts "**/*" && n-copy --source node_modules/font-awesome/fonts --destination build/fonts/font-awesome "**/*"

/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:328
        throw e;
        ^

ReferenceError: Unknown plugin "transform-runtime" specified in "/home/joey/SYNC/src/xBrowserSync-App/node_modules/regenerator-transform/package.json" at 0, attempted to resolve relative to "/home/joey/SYNC/src/xBrowserSync-App/node_modules/regenerator-transform" (While processing preset: "/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-preset-es2015/lib/index.js")
    at /home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:180:17

I can actually fix that error by running:

( cd node_modules/regenerator-transform && npm install )

But then I get another error:

/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:328
        throw e;
        ^

Error: Options {"loose":true} passed to /home/joey/SYNC/src/xBrowserSync-App/node_modules/regenerator-transform/node_modules/babel-preset-env/lib/index.js which does not accept options. (While processing preset: "/home/joey/SYNC/src/xBrowserSync-App/node_modules/regenerator-transform/node_modules/babel-preset-env/lib/index.js") (While processing preset: "/home/joey/SYNC/src/xBrowserSync-App/node_modules/regenerator-transform/node_modules/babel-preset-env/lib/index.js") (While processing preset: "/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-preset-es2015/lib/index.js")
    at /home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:314:17
    at Array.map (<anonymous>)
    at OptionManager.resolvePresets (/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
    at OptionManager.mergePresets (/home/joey/SYNC/src/xBrowserSync-App/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)

I have tried with node v8.9.3 and node v10.1.0 and npm v5.4.1 and npm v6.1.0. Using nvm here. Also tried with yarn a bit. Consistently got the same results.

I did get a couple of warnings from npm:

npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

and

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

May I ask:

  • What platform are you using? (I could also try on the Mac I have at work.)
  • What versions of node and npm are you using?
  • Do you have a package-lock.json or a yarn.lock file you could share with me?

(I recommend adding package-lock.json to the repository, just as a history of which packages worked when. You can remove it and rebuild it whenever you like.)

FF looses user/pass if browser is closed (1.4.0)

Hi,

thank you for the great job! Installed 1.4.0 on 3 FF ESR, all Debian Sid.

Syncing worked perfekt against my own server, but if closing the browser the add-on looses server/user/pass setting and i would be in need to reenter everything on every browser start.

Greetings!

[v1.4.0 BETA] Not syncing between FF on 2 PCs

Steps to reproduce

  1. Install xBS 1.4 Beta on PC 1 and create sync ID
  2. Let it run 1+ hrs.
  3. Install xBS 1.4 beta on PC 2 and set it up with sync ID from PC 1
  4. Click OK to overwrite local bookmarks when prompte

Expected behaviour

Bookmarks on PC 2's FF should be identical to PC1's FF.

Actual behaviour

Bookmarks are not the same between PC 1 & PC 2.

Client app information

Both PC run FF 61.0.1 (64 bit) under Windows 10 x64.

App Platform Version: `

[FR] Shortcut to open the extension

Expected behaviour

Being able to open the search bar from a keyboard shortcut.

Actual behaviour

We have to open it by clicking on the extension icon.

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Inox (Chromium based browser)

App Platform Version:
Manjaro Linux

Other info

Inox and Firefox have their own bookmarks and I'm used to pressing CTL + L to go to the URL bar and type the keywords of my bookmarks such as G+ to get the URL of Google Plus.
Something like CTRL + M for example could open the Xbrowsersync search bar.

Thank you!

Search does not provide expected results

Steps to reproduce

  1. Add bookmarks with names like the following "Bookmark One", "Book Mark Two", "ThirdBookmark".
  2. Search for "mark".
  3. Search for "*mark".

Expected behaviour

All three book marks should be returned as matches by at least one of the searches above.

Actual behaviour

Searching for "mark" finds only "Book Mark Two".
Searching for "*mark" reports no bookmarks found.

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Tested with Chrome on Windows 10, and with the Android app.

App Platform Version:
1.3.1

Other info

It appears the search only looks for words beginning with rather than containing the entered text, and does not support wildcards.

Firefox plugin won't stay open on Linux

Steps to reproduce

  1. Install the XPI
  2. Click on the xBrowserSync button

Expected behaviour

It should stay open long enough for me to configure it.

Actual behaviour

It closes immediately.

Client app information

App Platform: Firefox

App Platform Version: 61.0.1

Other info

OS: Linux pop-os 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Logs:

XML Parsing Error: not well-formed
Location: jar:file:///home/scstarkey/.mozilla/firefox/dd598hqc.default/extensions/%7Bd43bdd54-828d-4eb7-9ad3-6db1e852a5ce%7D.xpi!/views/login.html
Line Number 3, Column 106: login.html:3:106
XML Parsing Error: junk after document element
Location: jar:file:///home/scstarkey/.mozilla/firefox/dd598hqc.default/extensions/%7Bd43bdd54-828d-4eb7-9ad3-6db1e852a5ce%7D.xpi!/views/search.html
Line Number 30, Column 1: search.html:30:1
XML Parsing Error: not well-formed
Location: jar:file:///home/scstarkey/.mozilla/firefox/dd598hqc.default/extensions/%7Bd43bdd54-828d-4eb7-9ad3-6db1e852a5ce%7D.xpi!/views/bookmark.html
Line Number 1, Column 58: bookmark.html:1:58
XML Parsing Error: junk after document element
Location: jar:file:///home/scstarkey/.mozilla/firefox/dd598hqc.default/extensions/%7Bd43bdd54-828d-4eb7-9ad3-6db1e852a5ce%7D.xpi!/views/settings.html
Line Number 9, Column 1:

Desync 1.4

Steps to reproduce

  1. make changes on first machine
  2. open another browser (or on second machine)
  3. make a change

Expected behaviour

after making changes on first machine extension should sync changes and upon opening second browser extension should immediately update bookmark library.

Actual behaviour

Opening second browser doesnt trigger sync. then, upon making bookmark change, extension reports a desync in bookmarks and reloads all bookmarks from online version (in one instance of this happening i have recieved duplicated bookmark folders, though i havent been able to replicate this). this process undoes change just made and then continues to work as expected.

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Firefox & chrome

App Platform Version:
extension 1.4
firefox 62
chrome 68

Other info

I have a feeling that the duplication may have happened after switching from chrome to firefox but have yet to confirm.

Firefox extension

Hello,

I just tested xBrowserSync on Chrome and what a fantastic service you've here! Congratulations and thank you!

I'd like to be able to use xBrowserSync on firefox. Is there any ETA? Are you already working on it?

Chromium Just Waits Forever On First Sync

Hi,

Chromium Version 69.0.3497.100 (Official Build) Arch Linux (64-bit)
xBrowserSync extension 1.4.0 from the store

When trying to create a new sync, it just waits forever with the "Do not close this window" message.

The background.html page for the extension has the following errors:

background.html:1 Error in response to bookmarks.getSubTree: TypeError: Cannot read property '0' of undefined
    at Object.callback (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3327:30)
    at getLocalBookmarkTreeById (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3326:30)
    at Object.getBookmarks [as Get] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2878:29)
    at sync_handlePush (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2320:47)
    at sync (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2136:27)
    at Object.queueSync [as Sync] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:1879:9)
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3673:30
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:140:44
background.html:1 Unchecked runtime.lastError while running bookmarks.getSubTree: Can't find bookmark for id.
    at getLocalBookmarkTreeById (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3326:30)
    at Object.getBookmarks [as Get] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2878:29)
    at sync_handlePush (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2320:47)
    at sync (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2136:27)
    at Object.queueSync [as Sync] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:1879:9)
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3673:30
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:140:44

Password strength change 1.4.0

Changes have been made to the password algorithm however the user has no way of knowing what you are considering an acceptable password.

Steps to reproduce

  1. Create new sync
  2. set password

Expected behaviour

Able to enter a password of my choosing

Actual behaviour

Forced password policy with no guidelines.
Just a red, amber green bar showing password strength

Client app information

App Platform: Chrome

App Platform Version: 1.4.0

Other info

I don't like systems forcing me to use what they consider a strong password.
eg. "thisisaverystrongpasswordandonlyiknowit" is basically unbreakable but it's not allowed.
however "asdasdasdasdasdasd" is allowed.
Please consider removing the complexity requirement that has been added in.

[Feature request] Import/Export bookmarks with HTML or JSON files

Hi,
Thanks for offering such a useful tool to sync our bookmarks across devices!
I've just installed your app on my Android device and I didnt' find any tool to import bookmarks.

I use Firefox Sync to sync my bookmarks at the moment but I'm looking for a tool to also sync them on my Chromium based browser.
Since I have many bookmarks I'd like to import them into xBrowserSync. Is it something doable?

Thank you.

Note: a way to export bookmarks in HTML or JSON would be appreciated too.

Automatic Backups

Suggestion that the extension makes a series of regular backups of bookmarks, overwriting the oldest.

Could be:

Daily - one backup a day at first use of browser in that day, keeping "n" numbers of backups and if there are already "n" in existence then the oldest gets lost and replaced with a new one. "n" obviously multiplies the capacity used at the sync host by that factor.

Weekly - same as above but would allow for longer time period coverage with any given value of "n"

Monthly - not sure I see the value here myself but ......

Improve the time to load the Android app

Steps to reproduce

  1. Clear your recent apps
  2. Open XBrowserSync (cold start)

Expected behaviour

Opening the app within 1-2 seconds.

Actual behaviour

The app needs more than 4 seconds.

Client app information

App Platform: Android Oreo 8.1
OnePlus 3T

Other info

The splash screen is useless. Maybe it could help to reduce the opening.
Thank you.

Bug - Randomly missing most of the bookmarks on Android

On Android I've opened the App and found that most of my bookmarks (not all) are missing. Setting > Data usage shows way low, so I believe they really are missing. This has happened four times now over a couple weeks. Perhaps an aborted download sync?

Steps to reproduce

  1. Open App on the Android device, and start to type in a search that should match. Some bookmarks are there, but most are missing.
  2. To resolve, force a new download sync by Settings > Disable Sync, then Sync button on the main page. (the sync ID and encryption PW remain filled in).

If the issue is an aborted download, is there a download CRC to confirm a successful download?

Client app information

App Platform:
Standalone App on Android

App Platform Version:
API version 1.1.0 on my own server.
App version 1.3.1

Other info

I'm running the API on my own server. Never seen this problem on four other PCs with the Chrome browser extension of the App.

Unable to delete bookmarks with no name/title

Steps to reproduce

  1. Add bookmark to bookmark bar with no name/title (dragging a link from the chrome start page will do this
  2. Attempt to delete this link

Expected behaviour

  • Link is removed and a sync occurs

Actual behaviour

  • Dialog pops up indicating "Last change not synced" due to a bookmarks conflict and suggesting disabling and re-enabling sync
  • Link is removed locally, but change is not synced to API

Client app information

App Platform: Chrome

App Platform Version: 57.0.2987.21 beta

Sorting bookmarks and Custom sync/download/upload

I apologize for putting it here but I couldn't find a better place (eg. forum) after browsing your webpage.

I'm also one of the happy users of xBrowserSync after the demise of Xmarks. I really enjoy it and particularly the sync option I often use on PC and two notebooks. Free space for bookmarks is quite reasonable for now unless you add features for syncing history, browser settings, etc. in the future. You're probably extremely busy these days, so please consider the below as issues of minor (if not at all) relevance to what you already plan for the upcoming release. I can live without 'em for now...

I'm one of those users who add bookmarks often but do it in organised manner (read: hierarchy). I seldom use the search function, as I know in which particular folder I added the bookmark(s) and try to keep them sorted alphabetically as often as I can. But since there is no option to track the course of syncing events (eg. progress bar?), it seems that xBrowserSync skips (or not programmed to bother at all?) the order of bookmarks / folder structure between devices even when 'Service' is online on both devices.

Also, I'd like to suggest adding some functionality to custom sync/download/upload of bookmarks BUT asking the user the expected behavior in advance (to keep / erase bookmarks on the server / device) so that one couldn't inadvertently ruin the whole process. Sometimes it may be necessary to switch between the devices and to update bookmarks often; so, custom sync option would come in handy indeed...

Thanks and Good luck!

Rustam

Mobile app can't handle servers behind BASIC authentication

I'm running a server proxied behind BASIC authentication. I can connect and synchronize with the plugin on the desktop, but any attempt to change the server on the app turns the server name red and fails to persist.

Steps to reproduce

  1. Have a server installed behind BASIC authentication
  2. In the app, go to the settings
  3. Change the server to the URL of the server in point 1

Expected behaviour

A dialog asking for the authorization credentials of the server should be presented, and if correct credentials are entered, the new server settings should be persisted.

Actual behaviour

App fails to recognize server, and fails to change the server settings.

Client app information

Android, installed via Fdroid or Google Play (same behavior)

Other info

I suspect the mobile app just doesn't have a way to authenticate against protected servers.

bookmarks deleted every startup, re-synced

Steps to reproduce

  1. start up browser
  2. bookmarks sync starts by deleting all bookmarks, then resyncs and recreates
  3. rinse, repeat

Expected behaviour

Tell us what should happen
bookmarks are synced without being deleted

Actual behaviour

Tell us what happens instead
all bookmarks are deleted as if xbrowsersync was doing the initial sync

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
firefox v.63
App Platform Version:
kubuntu
windows 10
windows 7

Other info

happening on every system where I am running xbrowser sync, three PC's

Enter any other information you think would be helpful here.
on this machine at least, getting repeated xbrowser sync error windows popping up



Add support for Opera

Steps to reproduce

  1. Install extension in Opera
  2. Set up sync

Expected behaviour

Extension should sync all bookmarks

Actual behaviour

Only the bookmarks bar is synchronized

Client app information

App Platform: Opera

App Platform Version: 51

Other info

Opera does not user the same folder layout that other Chromium based browsers use. They've added a method to the chrome.bookmarks object to retrieve the appropriate IDs for each of the "root" folders. The IDs themselves are not static and can change at random. The "user_root" appears to correspond the the "Other Bookmarks" folder in Chrome.

https://dev.opera.com/extensions/getrootbyname/

Logged Off on firefox after CCleaner

Steps to reproduce

  1. Login to xbrowsersync on firefox
  2. Clean computer with ccleaner
  3. Xbrowsersync will lose ID and password when opening firefox

Expected behaviour

Tell us what should happen
Xbrowsersync should be kept logged On.

Actual behaviour

Tell us what happens instead
Xbrowsersync is logged Off

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Firefox on Windows 10

App Platform Version:
Firefox 1.4.0

Other info

Enter any other information you think would be helpful here.

Password validation reject options

Relates to #42
When entering a password the front end currently rejects any password that doesn't match the relevant criteria.

Change the server side to let the client side know, via the json, how to handle such situations.
so for example /info (Not sure if this may be the best place) responds with
{"maxSyncSize":1048576,"message":"server owner message","status":1,"version":"1.1.4","passwordfail":x}
where passwordfail's x is say 1 reject, or 0 warn.

The client can then do validation as currently however it can then either warn the user that the password doesn't meet criteria or reject it.

Bookmarks becoming folders

Steps to reproduce

  1. create new bookmark
  2. close browser
  3. open new browser
  4. sync takes place
  5. some of new bookmarks are changes to folders with the same name

Expected behaviour

sync should update browser with all new bookmarks

Actual behaviour

some new bookmarks become folders and link is lost

Client app information

App Platform: (Chrome, Firefox, iOS, etc) Firefox 62

App Platform Version: xbrowsersync 1.4.0 (updated 6th september 2018)

Other info

Not sure if there is something specific to the links that cause this but seems to always affect the same bookmarks.

Enhancement: Sync Now

Would be great to have a "Sync Now" option so the user could quickly force a sync event. Useful when working on multiple devices at the same time and you want a new bookmark to sync to the other device quickly.

For example, in Chrome: right-clicking the extension icon could reveal something like:
xBrowserSync //standard
Sync Now //new enhancement
Options //currently greyed out but could open the same as the "Setting Gear". new enhancement
Remove from Chrome //standard
Hide in Chrome Menu //standard
Remove from Chrome //standard
Manage extensions //standard

Thanks and keep up the great work!

Suggestion: Create App for Microsoft Edge browser

The german computer magazine c't described in an article that it is possible to create addins for Chrome, FireFox and Edge with minimal plattform specific adaptions.
Could you also provide an App for Edge?

Suggestion: Add "Change Service" to start screen

Steps to reproduce

  1. Install app in any browser

Expected behaviour

When you do a fresh install but already have a Sync ID you cannot switch directly to the desired service. So you have to create a new Sync ID first and then you can change the service. That means that the newly created Sync ID is never used anymore. It would be better to be able to change the service already on the start screen.

Expose bookmarks hierarchy in the App

First a unsolicited plug for this project, combined with a usage note

With the demise of xmarks I went looking and took a bet on this solution. I have my bookmarks organized in a several folders in the bookmark bar. While the Chrome xBrowserSync App can import from the bookmark bar, and recreates the folders on sync download, that hierarchy isn't visible in the App. So I've grown on the tags and search use model that this App provides. FYI, new bookmarks created within the App land in Chrome's Other Bookmarks / _xBrowserSync folder. I'm happy, and plan to contribute at some point. Happy enough that I've set up my own API server. Two thumbs up for Rich's work so far. Jump on in, the water is fine.

Feature request - Expose bookmark hierarchy in the App

Within the App, allow the user to browse for bookmark using the folder hierarchy. This could be opened from a folder icon in the search bar. This would support the browsing use model in addition to the text search use model. An alternate solution would be for the App to present a web page of the bookmarks in (collapsed) folder hierarchical form. When a new bookmark is created within the App somehow the user would need to have the option for placing it within the hierarchy. For the new bookmark creation in a folder, I can use the URL drag to a bookmark folder method in PC Chrome, but I don't see how to do that on the Android side.

Sounds awesome but only bookmarks right?

This only syncs bookmarks right?

What about passwords? Is this planned?

I actually only want sync chromium and Firefox on my linux desktop and ended up here. I would trust Mozillas Firefox Sync but its not available for Chrome, someone wanted to implement it and gave up. This sounds even better then Firefox sync, if it would sync passwords as well.

I could even run my own API with node locally right? So I could actually use this for offline syncing my browsers bookmarks?

Anyway looking forward to the Firefox extension.

Enhancement/bug - Add manual sync button on App

If I update (add a tag) to a bookmark in Chrome on one machine the change gets pushed to the server (as indicated by the bookmark toolbar getting rebuilt). However, on another machine running Chrome the sync does not automatically get triggered. If I then add a tag to a bookmark on the 2nd machine I get a Data out of Sync warning and lose the local change (the warning message gets clipped).

How/when does the App check for changes on the server?

Enhancement request:

  1. Add a Force Download or Manual Download button in the App Settings panel to force a sync/download from the server, and call out any sync conflicts.
  2. In the App Setting panel, add the lastUpdated info from the Server/API and the lastUpdated info for the local bookmarks. Suggest putting this info next to the Force Download button.

Client app information

App Platform: Chrome on Win10 and Centos7

App Platform Version: 1.3.1

Other info

Running the API server V1.1.0 on the local Centos machine, with Apps referencing an an external ddns service URL.

History Sync

Now that Foxmarks Xmarks has come to pass, it would be wonderful to be able to sync browsing history across Chrome and Firefox! There aren't any other replacements that I can find (and woowee, have I looked).

How to switch to a different sync service?

Hello,

Thank you for your promising extension. :-)

I wanted to sync my bookmarks but I seem to have too many.

How do I proceed?

switch to a different xBrowserSync service that allows for larger syncs.

image

Project still active?

Is this project still active? There seem to be no commits since months. I think it would be great to have a software like this, so it would be sad if development had stalled already.

[Chrome] bookmarks.getSubTree: Cannot read property '0' of undefined

Steps to reproduce

  1. Have a lot of bookmarks (around 14,900, 6MB when saved as HTML)
  2. Start a new sync
  3. Switch to a different app while the sync is happening, e.g. focus a terminal app instead of Chrome

Expected behaviour

The sync should keep going!

Actual behaviour

xBrowserSync's popup window disappears, and the sync aborts. (I assume that because CPU usage drop to 0.)
The API server's bookmarks collection still has 0 documents.
However the extension icon does show a "progress" (cycling arrows) symbol. That suggests it is still working, but I don't believe it is.

Client app information

App Platform: Google Chrome under Linux (Ubuntu 14.04 using Fluxbox window manager)

App Platform Version: 1.1.2

Other info

I am using my own API server, with the limit set to 10MB.

We need to run the sync in the background, so it won't be interrupted by navigation.

If I can't switch to a different tab or a different app, then my computer is unusable while the sync is happening!

And I have no idea how long the sync will take. So it would also be great to show a progress bar.

[doc request] explain better what xbrowsersync does

Hi, I didn't see a better place to talk about this.

The project looks cool and the website is terrific. I was just trying really hard to understand exactly what this project does.

Sync bookmarks? automatically sync bookmarks? sync open tabs?

After reading all the FAQ and website it is still not clear to me. If you accept some feedback, I would suggest that you write that, maybe even the first thing in the website.

Seems like you are doing a good job here, congratulations!

Lost tags

Steps to reproduce

  1. See below

Expected behaviour

Tell us what should happen

Actual behaviour

  • Can't connect to an older database
  • Can't restore a prior backup.

Client app information

App Platform: (Chrome, Firefox, iOS, etc)
Chrome and Android

App Platform Version:
1.4.0

Other info

I upgraded the API from 1.1.0 to 1.1.4 and using APP 1.4.0 on Chrome. Now, all of my bookmarks seem to be there, I created a new sync ID, sync works to the API from several clients including Android, but none have tags.

Things I've done/tried:

  • I exported the database from mongo before the API upgrade and reloaded it after. When attempting to connect to the reloaded database sync ID I get the Ready to upgrade sync? message followed by Something went wrong. If the problem recurs…., and to the Chrome background.html: Sync data: {"type":4,"command":1,"deferred":{"promise":{"$$state":{"status":2,"value":{},"processScheduled":false,"pur":true}}}}.
    (The sync ID and encryption passwords are correct since changing the sync ID results in "Invalid Sync ID".)

  • I have a dated backup from 1.1.0/1.3.1 which has tags (I see them in the .json backup file). Attempting to restore this backup on 1.1.4/1.4.0 has a Working on it… Don't close this window yet. which doesn't go away (waited 5 minutes).

    background.html log output:

Error in event handler for (unknown): TypeError: Cannot read property 'children' of undefined
   at Object.upgradeContainers [as UpgradeContainers] (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:2433:54)
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3658:47
    at p (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:142:60)
    at restoreBookmarks (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3657:9)
    at handleMessage (chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3603:13)
    at chrome-extension://lcbjdhceifofjlpecfpeimnnphbcjgnc/js/background.min.js:3613:13

Hopefully, both are the same underlying issue, and I can connect to and upgrade my original sync ID which has the current bookmarks with tags.

Thx for your help,
cjn

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.