GithubHelp home page GithubHelp logo

danielbuechele / goofy Goto Github PK

View Code? Open in Web Editor NEW
964.0 29.0 113.0 8.13 MB

Desktop client for Facebook Messenger

Home Page: goofyapp.com

License: MIT License

JavaScript 56.95% CSS 24.59% HTML 18.46%
electron javascript messenger

goofy's Introduction

⚠️ Goofy is not maintained anymore

Messenger offers a first party desktop now and I encourage all Goofy users to try it out.

Goofy

Goofy is a macOS client for Facebook Messenger. But unlike most other clients, it does not use any of Facebook's APIs, but is basically a single-site browser that injects a little CSS and JS into messenger.com to make it a little more app-like.

Feature requests and contributing

Feel free to create issues on this repo for feature requests of any kind. However, some features may not be possible due to the way this application is working. Also, I don't want this to be a feature bloated monster, but a slick and small app.

Depending on the number of contributors and the progress of this app, I will schedule releases from time to time, which will then be distributed on goofyapp.com.

Building and debugging

Install all dependencies and run the app:

~$ npm i
~$ node_modules/.bin/electron-builder install-app-deps  # Rebuild native modules
~$ npm start

Note, the postinstall hook hasn't been used in package.json to automatically build the native modules after an npm i, as there is a weird bug in Travis CI. I.e. When Travis CI receives a build, it runs an npm ci which (for whatever reason) doesn't install electron-builder (which builds the native modules) - so when postinstall runs it errors. So instead, we let npm ci run without rebuilding the native modules, and then manually add in the step to rebuild the native modules in the before_script. Consequently when developing, this step now needs to be run manually.

To debug, there's a VSCode launch.json that can be used to debug the Electron app. To debug the Facebook JavaScript changes you'll need to use the Chrome Web Inspector, which you can toggle from the menu View - Toggle Developer Tools or by using CMD + ALT + I.

Distribution

To create a distribution locally:

  1. Create an Apple developer account
  2. Create an app specific password on your developer account for Goofy https://support.apple.com/en-us/HT204397
  3. Run cp env-sample .env
  4. Edit .env and fill in your Apple ID and app specific password (this file is ignored in .gitignore)
  5. Run npm run dist - note this process might take awhile as it both signs and notarizes the built .app with Apple

In the ./dist directory will now be the notarized .app along with the packaged files (which are not notarized)

goofy's People

Contributors

billytrend avatar cprecioso avatar danielbuechele avatar dependabot[bot] avatar duci9y avatar figalex avatar fitzpersimmon avatar gartz avatar hrubymar10 avatar ialexryan avatar immersivex avatar jabagawee avatar janclarin avatar jklp avatar lauzi avatar mattfaluotico avatar metakirby5 avatar nathggns avatar peterjosling avatar rafenden avatar rvmouche avatar shillbom avatar sidneys avatar skycocker avatar tcyrus avatar tejasmanohar avatar tomaskavalek avatar tyilo avatar wiley-coyote avatar xxdavid 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

goofy's Issues

Check for updates not working

Hello,
since version 2.0.0 updates stoped working. When I click on Check for updates... an error alert came up - "Update Error! An error occurred in retrieving update information. Please try again later."

Make the separator end earlier

For the messenger.com branch:
As you can see in this picture the separator between the sidebar and the chats goes up uptill the bar with the traffic lights, if possible I would end it immediately after the searchfield. Not a priority and I couldn't find it easily in the css.
screen shot 2015-04-09 at 13 51 40

Thread Settings Popover Doesn't Display

Each thread in the conversations list has an options button (circle with elipses).

On messenger.com this displays a popover:
image

In goofy this popover is hidden. On first glance, it appears to be a CSS problem but this is not confirmed.

Thread Title Displays After Logout

After logging out, the title of the last thread you were looking at remains in the title screen.

Screenshot displays with named thread, but issue also exists with single user thread.

image

Enable Web Inspector

It would be great if the web inspector could be enable, in order to modify and examine better.

Error when updating to 2.0.3 - download hosting broken. Switch to Github Releases please!

I get this error when trying to update from 2.0.2 to 2.0.3. At first I assumed that there was a code signing issue, but when I checked my network activity I realized that nothing had been downloaded.

I then checked https://dani.taurus.uberspace.de/goofyapp/update.xml for the info about the latest version.

I then checked the link provided for 2.0.3 (https://dani.taurus.uberspace.de/goofyapp/download.php) and, sure enough, it's broken or down.

Please please please switch to using Github Releases for download hosting! It's free and super fast and will never have issues like this. I really can't recommend it strongly enough.

screen shot 2015-04-15 at 12 30 03 pm

Sticker Search Gone

The Sticker search field is missing now! And there's no way to get to it.

screenshot 2015-04-09 19 16 06

Loved being able to hit the sticker button and start typing to search stickers immediately. (Search field is still there on messenger.com and works as described.)

Doesn't support Mac OS 10.9

I am running 10.9.5 and I can't open Goofy, says that it requires 10.10 or newer. Are there plans for adding support for Mavericks? 😄

Map preferences in the menu to the gear button

Would be nice if we could use the preferences label in the menu (and cmd ,) to open the preferences dialog, maybe you could even disable the gear button all together, makes it cleaner.

Easy way to inject and test custom javascripts

It'd be nice if you either create a way, or if there already is one just describe it in README, to add custom JS and test it without recompiling whole app.

If it's too much to ask for, just enable Inspector in WKWebView (either by default or when some kind of preference or runtime option is passed) :)

Cannot send photos

The button to send photos is not visible when using Goofy 2.0.0. Sadly, dragging-and-dropping is not supported by Messenger.com, so there is no way to send photos.

Last online time gone

With the new toolbar (nice job!) the last online time is gone which I really miss. Is it possible to enable this again?

Standalone messenger.com

You can now access Facebook Messenger alone via messenger.com, which seems to be styled similar to the Facebook Messenger iOS and Android apps (and might look more at home on Yosemite?)

Just thought I should mention whether you'd consider switching to that as the base URL, seeing as it would probably be lighter in terms of size and better styled (arguably).

Can't send images

The image button seems to be missing for me. No other info that I can think of—I've tried removing preference files etc.

screen shot 2015-04-10 at 3 57 53 pm

Context menu on links does not work properly

When right-clicked on a link, there's a menu showing four options: Open Link, Open Link in New Window, Download Linked File and Copy Link. Of all those, only the last one actually does anything.

Clicking a notification doesn't focus that chat

Clicking on a notification focuses the app — but leaves you on whichever message thread you were previously viewing. I've accidentally messaged the wrong person a couple times, expecting it to behave like Messages and switch automatically.

Online friends view

One critical things I am missing right now is the online friends view. Before I was using http://flamingo.im and really liked the style they used. I tried to make a mockup...

online-friends

RTL support

Check support for right-to-left writing systems like Arabic.

Smaller/bigger text

Would be nice if I could change the size of the text with cmd - / cmd + like in safari, but a bit more gradual so I can make it the same size as my iMessages, having both windows next to each other (I use a space for texting) looks weird now.

Application freezes when launching on startup

When setting the app to launch on startup, it starts loading, showing sometimes the "It takes unusually long to load...", but freezes before actually loading the WebView. When I try to hit ⌘R, it crashes.

Internationalization?

I'd like to translate the app into Spanish, but I have minimal knowledge of Mac app developing. I added a new localization from the project info page in Xcode, but when trying to edit the new file (es.lproj/MainMenu.strings), it prompts me to translate all not only the Goofy-specific strings, but also all the standard Mac strings like File, Edit, Window menus, and its items. Is there a way to default this strings into the standard translation included with OS X? I assume there's one since all localized apps use the same exact strings and I haven't found even a single typo.

Doesn't support login approvals with messenger.com

Just checked out the new changes to use messenger.com — I've got login approvals turned on on my account (and 2FA), so after entering my username and password it wants to kick me out to facebook.com to finish logging in.

screen shot 2015-04-09 at 18 42 45

This kicks out to my default browser (Chrome), which of course doesn't share session data with Goofy's WebView, so I can't complete sign in. To get this working it'll need to handle loading Facebook within the app instead of kicking out to the browser.

Button to hide sidebar

Most of the time when I'm talking with someone, I don't really need the list of all my friends hanging around and taking unnecessary space. It'd be great if there was a small, slick button somewhere that'd show and hide sidebar when necessary.

I'd implement it myself and send a pull request but I need #3 to do so :)

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.