Code Monkey home page Code Monkey logo

basecamp-linux's Introduction

Basecamp Desktop for Linux

Unofficial Basecamp GNU/Linux desktop client built with Electron.

Features

  • Native notifications
  • Context menu on links
  • Basic UI settings
  • Tray icon
    • Unread count badge
    • Left click to show / hide app
    • Right click for tray menu

The application menu is hidden by default, to show it press the alt key.

Privacy

No information is collected or tracked by the application, Electron however will save some data as with any webview. It is possible to purge that information with an in-app function: menu -> file -> 'Clear data' will erase all stored information and cache (any open session will be lost).

Prerequisites

As any GNU/Linux Electron application libappindicator1 is required for tray icon and libnotify for notifications but most likely they are already installed.

Installation

Download the latest release and extract it on your Applications directory. Run the app by executing the basecamp file.

Optionally copy the desktop file basecamp-linux-*/resources/assets/basecamp.desktop to your launchers dir (e.g. ~/.local/share/applications). Note you'll need to configure it to point to the correct app location and select the icon color (white / black) depending on your desktop color scheme.

Manual build

Required tools:

  • Node ^19.0.0
  • Yarn ^3.0.0

Clone this repo, cd to the local copy and run

yarn install

npm run build

That will create a build/basecamp-linux-* directory with the application.

Troubleshooting

If the app fails to open, execute it from a terminal to see any possible trace. If you're getting the error

[...] GPU process isn't usable. Goodbye.

You may need to add the --disable-gpu-sandbox flag when running the app. If you're using the .desktop file just append the flag to the Exec command.

License

Check the LICENSE file.

Disclosure

This application is not affiliated, authorized, endorsed by or in any way officially connected with Basecamp.

basecamp-linux's People

Contributors

artrz avatar dependabot[bot] 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

Watchers

 avatar  avatar  avatar

basecamp-linux's Issues

[bug] Manual build error

💤 yarn install
➤ YN0088: A new stable version of Yarn is available: 4.1.1!
➤ YN0088: Upgrade now by running yarn set version 4.1.1

➤ YN0000: · Yarn 4.0.2
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed
➤ YN0000: ┌ Fetch step
➤ YN0013: │ 365 packages were added to the project (+ 14.12 MiB).
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
➤ YN0007: │ electron@npm:22.3.25 must be built because it never has been before or the last one failed
➤ YN0007: │ lzma-native@npm:8.0.6 must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 3s 79ms
➤ YN0000: · Done in 3s 374ms
:~/dev/basecamp-linux 𐌖master 
💤 npm run build

> build
> node ./scripts/build.js --arch=x64


Deleting /home/r/dev/basecamp-linux/app/node_modules...

Installing app modules...
Usage Error: The nearest package directory (/home/r/dev/basecamp-linux/app) doesn't seem to be part of the project declared in /home/r/dev/basecamp-linux.

- If /home/r/dev/basecamp-linux isn't intended to be a project, remove any yarn.lock and/or package.json file there.
- If /home/r/dev/basecamp-linux is intended to be a project, it might be that you forgot to list app in its workspace configuration.
- Finally, if /home/r/dev/basecamp-linux is fine and you intend app to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.

$ yarn install [--json] [--immutable] [--immutable-cache] [--refresh-lockfile] [--check-cache] [--check-resolutions] [--inline-builds] [--mode #0]
node:child_process:965
    throw err;
    ^

Error: Command failed: yarn install
    at checkExecSyncError (node:child_process:890:11)
    at Object.execSync (node:child_process:962:15)
    at Object.installAppModules (/home/r/dev/basecamp-linux/scripts/build.js:61:8)
    at Object.build (/home/r/dev/basecamp-linux/scripts/build.js:47:10)
    at Object.<anonymous> (/home/r/dev/basecamp-linux/scripts/build.js:111:9)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
    at node:internal/main/run_main_module:28:49 {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 13215,
  stdout: null,
  stderr: null
}

Node.js v20.11.0
:~/dev/basecamp-linux 𐌖master 

[Bug] Cannot find electron-settings module after running ./basecamp

I followed the README instructions for downloading from Git and
building the package, but run into the following error.

Error message

A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'electron-settings'
Require stack:

  • /home/briant/workspace/basecamp-linux/build/basecamp-linux-x64/resources/app/settings.js
  • /home/briant/workspace/basecamp-linux/build/basecamp-linux-x64/resources/app/icon.js
  • /home/briant/workspace/basecamp-linux/build/basecamp-linux-x64/resources/app/app.js
  • at Module._resolveFilename (internal/modules/cjs/loader.js:972:15)
    at Function.n._resolveFilename (electron/js2c/browser_init.js:249:921)
    at Module._load (internal/modules/cjs/loader.js:848:27)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (internal/modules/cjs/loader.js:1032:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object. (/home/briant/workspace/basecamp-linux/build/basecamp-linux-x64/resources/app/settings.js:1:18)
    at Module._compile (internal/modules/cjs/loader.js:1152:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1173:10)
    at Module.load (internal/modules/cjs/loader.js:992:32)

Steps to reproduce

  1. Download the Git repository.
  2. Run yarn install and then npm run build:64.
  3. Run build/basecamp-linux-x64/basecamp

System

Debian 11 Bullseye
npm v7.5.2
nodejs v12.21.0

Sign-in with Google does not work for me

Hi!

Just wondering if this is just me or if this is a limitation of the app. I tried signing in with Google, which opened a browser tap with a 405 error. I can elaborate more if helpful.

Robert

Back button

I have used this app extensively since I found it and it works wonders.

I only find one thing missing and that is the back button that you would otherwise have in a browser.

Have you ever thought about adding it? If I wanted to help with a PR that adds it, could you give me an idea on where to start. I have never used electron before.

Unable/Cannot find electron app

Just wanted to give this project a try but I can't seem to find the application after running the following commands

yarn install

npm run build:64

This the screenshot of after running the following commands:
Screenshot from 2020-09-12 09-47-30

"Cookies are not enabled" message on launch

At every launch, the following message is shown:

image

The app also misses most of its styling. After clicking on a company/community, everything is fine. It's just the first page there. I'm using v0.5.1 on elementary OS 7.1.

Flatpak Distribution

Hi,

I really like this project and I think it would be nice if we can have a flatpak package for it. Could you considering making it? :D

installing as per readme

hey hey, appreciate your work here, I'm attempting install on Ubuntu 20.04.3 LTS.

unzipped to /usr/share/applications

this isn't working though.. sad.jpg

the applications folder isn't what it used to be - any assistance would be appreciated!

Fails to launch on Ubuntu 22.04

The app immediately closes after opening. Here's the output from the syslog:

Apr 27 13:06:34 Framey pantheon-org.gnome.SettingsDaemon.MediaKeys.desktop[950213]: (node:950213) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
Apr 27 13:06:34 Framey com.github.blue[3406]: AppEntry.vala:96: Keyfile Processing Error: Key file does not have key “Icon” in group “Desktop Entry”
Apr 27 13:06:34 Framey pantheon-org.gnome.SettingsDaemon.MediaKeys.desktop[950213]: [950213:0427/130634.760171:FATAL:gpu_data_manager_impl_private.cc(445)] GPU process isn't usable. Goodbye.
Apr 27 13:06:34 Framey kernel: [189767.948796] traps: Chrome_IOThread[950225] trap int3 ip:560815386e29 sp:7f1ce25f9420 error:0 in basecamp[560812d22000+6067000]
Apr 27 13:06:34 Framey gala[2932]: Error in map accounting.

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.