Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation refresh for the world of electron #1491

Merged
merged 2 commits into from
Sep 19, 2017
Merged

Conversation

scottnonnenberg
Copy link
Contributor

The world has changed - Yarn, Electron, and build tools, oh my! Also, I think we can better order CONTRIBUTING.md to reflect how often various parts will be needed.

The best way to review this is to look at the resultant markdown. :0)

CONTRIBUTING.md Outdated
cd Signal-Desktop
npm install -g yarn # (only if you don't already have yarn)
yarn install # install and build dependencies
yarn run pack prod # build dependencies correctly for electron environment
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pack prod should be pack-prod, but actually I think if we add "postinstall": "electron-builder install-app-deps" to our package.json scripts, we can drop this step because yarn install will then call electron-builder to rebuild dependencies, and it's faster than running the whole packaging process. 🎉

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome. When looking at the command-line options, I was distracted by the node-gyp-rebuild option, which didn't work for me.

CONTRIBUTING.md Outdated
## Linking
Do note that by default the application will connect to the staging server. When making
high-impact changes, it's a good idea to keep it pointed there. But for most development, you
can point it at production servers, and pair it directly with your mobile device.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't encourage people to develop against production servers.

@liliakai
Copy link
Contributor

liliakai commented Sep 19, 2017

This has got me thinking about ways to make it easier to develop on staging. Why is it hard?

  1. You probably don't have a staging master device, so you have to go standalone
  2. Standalone clients don't have any contacts
  3. It's laborious to build up a complex/realistic message history for testing anything

Here's an alternate setup procedure that might make it a bit easier. Assuming you already have a linked/synced production install of Signal desktop, first, clone your production data directory to your development data directory:

rm -rf ~/Library/Application\ Support/Signal-development
cp -R ~/Library/Application\ Support/Signal ~/Library/Application\ Support/Signal-development
yarn start

The app should start up looking just like your production install, but prompting you to re-link, because your prod credentials are no good on staging.

Click 'Relink', then 'Standalone', then 'Send SMS' (your number should be pre-filled, but editable).

Enter the confirmation code sent to your phone, and boom! You are registered as a standalone staging device with your normal phone number, and a copy of your production message history and contact list. Any further modifications made will be limited to the development environment, so it's generally much safer than testing against production.

@scottnonnenberg scottnonnenberg merged commit bd78016 into electron Sep 19, 2017
@scottnonnenberg scottnonnenberg deleted the doc-update branch September 19, 2017 22:31
scottnonnenberg added a commit that referenced this pull request Sep 22, 2017
Fix extended periods of not receiving messages on Linux (#1497)

Fix crash on non-file drag/drop events (#1498)

Dev:
  - yarn install now builds electron dependencies automatically
    (#1491)
  - Docs are refreshed for the new world of Electron (#1491)
  - Update our release scripts to match changes in electron-builder
    (#1484)
  - Additional logging when we can't decrypt a user's profile (#1483)
  - Remove images/emoji directory (#1485)

FREEBIE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants