Git Product home page Git Product logo

figma-discord-presence's Introduction

Figma Discord Presence

Build/release

Figma Discord Presence - Adds rich presence activity to Discord for Figma | Product Hunt

Update your discord activity status with a rich presence from Figma. Supports Windows and MacOS

demo

Features

  • Shows what you're working on in Figma
  • Menubar application for convenient control and configuration
  • Privacy configuration options for hiding filenames, activity status, and Figma view buttons
  • Idle and active indication if you have tabbed out or are actively using Figma
  • Respects Discords 15s status update limit, but, privacy options set immediately
  • Support for manually reconnecting to the Discord Gateway
  • Support for enabling or disabling presence reporting at will

How does it work?

Figma does not support a native way to monitor the application state in the background (yet?), but, it does drop some state files on your machine.

This application periodically reads those files checking for updates and combines some information to determine whether Figma is in the foreground, what the current active file is, and a share link to that file.

Every ~15s your Figma activity is reported to Discord via the Discord RPC protocol.

Troubleshooting

Linux is currently not supported. This application requires Figma Desktop. Ensure that you have your activity status enabled in Discord, or your activity won't be visible to anyone.

MacOS:

  • MacOS may ask for permission to control other apps. It is required to enable and communicate with Figma and Discord.
  • This application assumes you install Figma Desktop normally, and have not changed or modified it in any way
  • ~/Library/Saved\ Application\ State/com.figma.Desktop.savedState/windows.plist must exist
  • ~/Library/Application\ Support/Figma/settings.json must exist
  • It may take a few seconds for your activity to update to show the latest active/idle status and filename in Discord. Figma's savedState does not update in realtime. We could watch this file for changes and update your Discord activity when it does but since we try to honor Discord's 15s activity update limit, we currently just wait for the next tick to update your activity.

Development

# Clone this repository
git clone https://github.com/bryanberger/figma-discord-presence

# Change directory
cd figma-discord-presence

# Copy and edit env vars
cp .env.example .env

# Install dependencies
npm install

# Run the app
npm start

# Build the electron binaries
npm run dist

# Publish (using the S3 Provider, make sure you're authenticated and have a bucket setup)
npm run publish

Release

This project uses Github Actions to build for Windows and Mac. Upon successful build, if a git tag exists it will publish to S3 (given you've provided the proper access tokens).

When you want to create a new release, follow these steps:

  • Update the version in your project's package.json file (e.g. 1.2.3)
  • Commit that change (git commit -am v1.2.3)
  • Tag your commit (git tag v1.2.3). Make sure your tag name's format is v*... Your workflow will use this tag to detect when to create a release
  • Push your changes to GitHub (git push && git push --tags)

After building successfully, the action will publish your release artifacts.

Contributing

To contribute to this repository, feel free to create a new fork of the repository and submit a pull request.

  1. Fork / Clone and select the master branch.
  2. Create a new branch in your fork.
  3. Make your changes.
  4. Commit your changes, and push them.
  5. Submit a Pull Request here!

Notice

While I am a Discord employee, this is by no way endorsed as an "official" integration with Figma. This is a personal project and is actually kind of a hacky solution to bring Rich Presence for Figma to Discord.

License

This project is licensed under the MIT License - see the LICENSE file for details.

figma-discord-presence's People

Contributors

bryanberger 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

figma-discord-presence's Issues

macOS: Not running

Hi,
I can't run this on macOS because Apple cannot check for malicious software.
Any updates on when this will be solved?

Figma Beta Support

Describe the bug
Apparently the presence does not check whether you use Figma or Figma Beta.
If using Figma Beta, the appdata path is different: AppData\Roaming\Figma\DesktopBeta (location of settings.json)

Desktop (please complete the following information):

  • OS: Window 11 Enterprise
  • Browser: Not applicable - Desktop Beta
  • Version: Not sure how to find, Version is latest from Jul 6, 2023

Windows 10: Application failed to launch

Describe the bug

After Downloading the app I cannot get it to launch.

To Reproduce
Steps to reproduce the behavior:

  1. Go to The Downloads Page
  2. Install the App
  3. Attempt to Launch

Screenshots

N/A

Desktop (please complete the following information):

  • OS: WIndows 10 Home
  • Browser Firefox
  • Version: 19044.1766

Additional context

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.