Package Details: franz 1:5.7.0-9

Git Clone URL: https://aur.archlinux.org/franz.git (read-only, click to copy)
Package Base: franz
Description: Free messaging app for services like WhatsApp, Slack, Messenger and many more.
Upstream URL: https://meetfranz.com
Licenses: Apache
Submitter: 314eter
Maintainer: ItachiSan
Last Packager: ItachiSan
Votes: 147
Popularity: 0.86
First Submitted: 2017-10-26 11:34
Last Updated: 2021-09-08 08:18

Pinned Comments

ItachiSan commented on 2019-10-07 08:26

If you have troubles, read this message!

Please go to the relevant section of this comment in order to make both your and my life easier :)

  1. Errors when starting the app like: the chat area is all blue
  2. (Obsolete) I get an error when upgrading packages

Now, to the resolutions!

1. The app opens but I got a blue screen and nothing more / The app refuses to start / ...

The package depends on Node.js native stuff which are compiled at build time, which makes it break on Electron updates.

With a PKGBUILD between 2020-11-15 till 2021-09-08, you should always have gad a correct matching between Electron and Franz versions.

After 2021-09-08, while the Electron packages follows just the official Arch package dependency, as it is based on not-rolling versions (AKA following a specific Electron branch) breakages are unlikely.

If you would like to help me on this, whenever you have problems starting it, do the following:

  1. Open Franz
  2. Franz is broken: maybe for a recent update?
  3. Reinstall Franz from AUR; this will make it rebuild the native blobs
  4. Re-open Franz
  5. Franz should work fine; if so, it was a Node.js/Electron/else update problem

If the above steps help you, report the package as outdated here and write in the comment something like:

Electron update broke Franz

If you have some other issues, you should open the developer tools and give me its output, in addition to what is your environment, so I can figure out if it is a packaging issue (my job to fix) or an upstream/code issue (their job to fix); in the second case, I will open a bug request and mention it in a comment, so that you can track it.

2. (Obsolete) I cannot upgrade Electron

The following resolution is not valid since 2021-09-08, it is kept for historic purposes

This is intended; since the PKGBUILD for Franz 5.5.0-4, the package marks as dependency a version-locked Electron package in order to avoid issues with binary modules over upgrades.

In such scenario, you should, assuming _electron="electron" in the PKGBUILD (meaning the Electron used is bundled in the package electron):

  1. Mark this package as out of date
  2. Do you regular updates with: pacman -Syu --ignore electron

If you want however to upgrade the Electron package, do

  1. Upgrade the electron package with pacman -S --assume-installed electron=FRANZ.REQUIRED.VERSION electron
  2. Rebuild Franz if needed

Hope this was a good explanation, might get updates if I missed something :)

Latest Comments

1 2 3 4 5 6 ... Next › Last »

ItachiSan commented on 2021-09-08 07:52

Hi @billypilgrim,

Thanks for the feedback :)

I agree with you about the pkgrel bumping being unusual. I followed the standard practice for the official packages where rebuilding happens when a dependency is upgraded. This was normal when using bleeding-edge Electron, which however caused many issues due to the official Franz developers using older versions.

I was unaware of the "let the users rebuild" thing for AUR packages and I am TBH glad you pointed this out. I will change the PKGBUILD right away in order to avoid future manual bumping. :)

I will also update the warning posters accordingly :)

About the re-nicing, as I use the official Electron 12 Arch build for running Franz the path is as it is; is it possible for you to renice given a CLI argument? You have guaranteed the Franz app.asar as first CLI argument.

billypilgrim commented on 2021-08-31 09:09

@ItachiSan: Thanks for maintaining this. I just want to say that I'm really not sure about the whole "flag out of date if electron changes" thing. Really, packages should only be flagged out of date if the package itself is out of date. Otherwise it is really misusing the feature.

Bumping the pkgrel manually in the PKGBUILD every time electron is updated is not actually particularly helpful. What it means in practice is that I end up manually rebuilding franz when a new version of electron is available (which is totally fine) and then at random points a rebuild is forced by you changing the pkgrel (which is annoying). Don't assume that everyone will be upgrading their electron package at exactly the same moment -- people are using different mirrors which will be updated at different points.

If the package really does need to be rebuilt with every minor release of electron (this doesn't actually seem especially likely to me tbh), then just let users do it manually. Absolutely loads of packages on the AUR depend on a shared library (for example) and need to be rebuilt if the dependency changes. This is completely normal and the wiki explicitly states that it is the user's responsibility to upgrade the package manually: https://wiki.archlinux.org/title/Arch_User_Repository#Installing_and_upgrading_packages

Thanks again for being a maintainer :-)

billypilgrim commented on 2021-08-26 09:24

I'm curious about how I can could patch the package so that the process name appears as franz rather than electron (e.g. as happens with the code-oss). I'm using an auto-renicing program and it would help if the process name were something more obvious.

Does anyone with better electron knowledge than me have any ideas?

fatmcgav commented on 2021-05-18 09:27

Hey @ItachiSan

Thanks for the quick reply... I did do a clean re-build yesterday. However I've just kicked off another one...

Can confirm that can see nvm build happening, and also electron10 being used...

Any other ideas? Would a gist of my build logs help?

Thanks

ItachiSan commented on 2021-05-18 06:52

Hi @fatmcgav ,

The PKGBUILD changed a lot between the last builds, so you need a clean re-build.

A few """small""" changes that happened:

  • nvm is now used for building in order to have consistency and toolchain compatibility
  • Electron is now on the 10.x branch rather than latest 'n greatest

fatmcgav commented on 2021-05-17 10:29

I've upgraded my system this morning, and as a result Franz is failing to open...

All I get is a Blue screen. The developer console shows the following errors:

app.js:3 Uncaught ReferenceError: require is not defined
    at app.js:3
(anonymous) @ app.js:3
index.html:15 Uncaught ReferenceError: process is not defined
    at index.html:15

I've tried removing franz and doing a clean reinstall, but no joy...

Any pointers?

isinyaaa commented on 2021-04-25 19:23

Adressing @ilpanich's issue, apparently it's a lerna issue but I'm still getting an error using yarn install:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/home/isinyaaa/repos/franz/src/franz/node_modules/.bin/npm',
1 verbose cli   'run',
1 verbose cli   'prepare'
1 verbose cli ]
2 info using npm@6.14.8
3 info using node@v14.16.0
4 verbose run-script [ 'prepare' ]
5 info lifecycle @meetfranz/theme@1.0.14~prepare: @meetfranz/theme@1.0.14
6 verbose lifecycle @meetfranz/theme@1.0.14~prepare: unsafe-perm in lifecycle true
7 verbose lifecycle @meetfranz/theme@1.0.14~prepare: PATH: /home/isinyaaa/repos/franz/src/franz/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/isinyaaa/repos/franz/src/franz/packages/theme/node_modules/.bin:/home/isinyaaa/repos/franz/src/franz/packages/theme/node_modules/.bin:/home/isinyaaa/repos/franz/src/franz/packages/node_modules/.bin:/home/isinyaaa/repos/franz/src/franz/node_modules/.bin:/home/isinyaaa/repos/franz/src/node_modules/.bin:/home/isinyaaa/repos/franz/node_modules/.bin:/home/isinyaaa/repos/node_modules/.bin:/home/isinyaaa/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/home/isinyaaa/repos/franz/src/franz/node_modules/.bin:/tmp/yarn--1619378240150-0.7756462395087405:/home/isinyaaa/repos/franz/src/franz/node_modules/.bin:/home/isinyaaa/.config/yarn/link/node_modules/.bin:/home/isinyaaa/.yarn/bin:/usr/libexec/lib/node_modules/npm/bin/node-gyp-bin:/usr/lib/node_modules/npm/bin/node-gyp-bin:/usr/bin/node_modules/npm/bin/node-gyp-bin:/usr/bin/tizonia:/usr/bin/tizonia:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/isinyaaa/bin:/home/isinyaaa/.local/bin/:/home/isinyaaa/bin:/home/isinyaaa/.local/bin/
8 verbose lifecycle @meetfranz/theme@1.0.14~prepare: CWD: /home/isinyaaa/repos/franz/src/franz/packages/theme
9 silly lifecycle @meetfranz/theme@1.0.14~prepare: Args: [ '-c', 'tsc' ]
10 silly lifecycle @meetfranz/theme@1.0.14~prepare: Returned: code: 1  signal: null
11 info lifecycle @meetfranz/theme@1.0.14~prepare: Failed to exec prepare script
12 verbose stack Error: @meetfranz/theme@1.0.14 prepare: `tsc`
12 verbose stack Exit status 1
12 verbose stack     at EventEmitter.<anonymous> (/home/isinyaaa/repos/franz/src/franz/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
12 verbose stack     at EventEmitter.emit (events.js:315:20)
12 verbose stack     at ChildProcess.<anonymous> (/home/isinyaaa/repos/franz/src/franz/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
12 verbose stack     at ChildProcess.emit (events.js:315:20)
12 verbose stack     at maybeClose (internal/child_process.js:1048:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
13 verbose pkgid @meetfranz/theme@1.0.14
14 verbose cwd /home/isinyaaa/repos/franz/src/franz/packages/theme
15 verbose Linux 5.11.16-arch1-1
16 verbose argv "/usr/bin/node" "/home/isinyaaa/repos/franz/src/franz/node_modules/.bin/npm" "run" "prepare"
17 verbose node v14.16.0
18 verbose npm  v6.14.8
19 error code ELIFECYCLE
20 error errno 1
21 error @meetfranz/theme@1.0.14 prepare: `tsc`
21 error Exit status 1
22 error Failed at the @meetfranz/theme@1.0.14 prepare script.
22 error This is probably not a problem with npm. There is likely additional logging output above.
23 verbose exit [ 1, true ]

ItachiSan commented on 2021-03-25 20:57

Hi all,

Sorry for the long absence & silence, but life was super busy.

I am digging in the last build error reported from @ilpanich and found multiple weird issues.

First of all, dependencies do not install in the way they are supposed to. When adjusting the broken dependencies, the build fails. Running it in the directory manually however seems to work.

Lots of weird issues, will slowly investigate during the next days.

ilpanich commented on 2021-03-06 15:25

Hi. Can't build on my system...

--> Using Electron package: electron

--> Electron package version: 11.3.0

lerna notice cli v4.0.0

lerna info versioning independent

lerna info bootstrap root only

npm ERR! code ERESOLVE

npm ERR! ERESOLVE unable to resolve dependency tree

npm ERR!

npm ERR! Found: react@16.6.3

npm ERR! node_modules/react

npm ERR! react@"16.6.3" from the root project

npm ERR!

npm ERR! Could not resolve dependency:

npm ERR! peer react@"^16.7.0" from forms@1.2.1

npm ERR! packages/forms

npm ERR!

npm ERR! Fix the upstream dependency conflict, or retry

npm ERR! this command with --force, or --legacy-peer-deps

npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

npm ERR!

npm ERR! See /home/emanuele/.cache/yay/franz/src/npm_cache/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:

lerna ERR! npm install exited 1 in 'franz'

lerna ERR! npm install exited 1 in 'franz'

mattematt commented on 2021-01-13 17:31

When running pacman update tonight I am getting the following error:

:: Synchronising package databases...
 core is up to date
 extra is up to date
 community is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing electron (11.2.0-1) breaks dependency 'electron=11.1.1' required by franz

Edit: Fixed on 2021-01-14 by reinstalling the latest version of franz