text:
bundle install failing to install json (1.8.3)

just running bundle install
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ sudo bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Installing rake 10.4.2
Installing i18n 0.7.0
Installing json 1.8.3 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/json-1.8.3 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/json-1.8.3/gem_make.out
Installing minitest 5.8.0
Installing thread_safe 0.3.5
Installing builder 3.2.2
Installing erubis 2.7.0
Installing mini_portile 0.6.2
Installing rack 1.6.4
Installing arel 6.0.3
Installing thor 0.19.1
Installing diff-lcs 1.2.5
Installing docile 1.1.5
Installing unf_ext 0.0.7.2 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/unf_ext-0.0.7.2 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/unf_ext-0.0.7.2/gem_make.out
Installing eventmachine 1.2.0.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/eventmachine-1.2.0.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/eventmachine-1.2.0.1/gem_make.out
Installing mqtt 0.3.1
Installing mime-types 2.99.1
Installing netrc 0.11.0
Installing serialport 1.3.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/serialport-1.3.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/serialport-1.3.1/gem_make.out
Installing god 0.13.6 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/god-0.13.6 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/god-0.13.6/gem_make.out
Installing highline 1.7.8
Installing ice_cube 0.13.0
Installing liquid 3.0.6
Installing rspec-support 3.3.0
Installing settingslogic 2.0.9
Installing simplecov-html 0.10.0
Installing sqlite3 1.3.10 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/sqlite3-1.3.10 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/sqlite3-1.3.10/gem_make.out
Using bundler 1.12.5
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Using rake 10.4.2
Using i18n 0.7.0
Installing json 1.8.3 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-1eyepnjson-1.8.3/gems/json-1.8.3 for inspection.
Results logged to /tmp/bundler20160829-20303-1eyepnjson-1.8.3/extensions/arm-linux/2.1.0/json-1.8.3/gem_make.out
Using minitest 5.8.0
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile 0.6.2
Using rack 1.6.4
Using arel 6.0.3
Using thor 0.19.1
Using diff-lcs 1.2.5
Using docile 1.1.5
Installing unf_ext 0.0.7.2 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-ik8dmcunf_ext-0.0.7.2/gems/unf_ext-0.0.7.2 for inspection.
Results logged to /tmp/bundler20160829-20303-ik8dmcunf_ext-0.0.7.2/extensions/arm-linux/2.1.0/unf_ext-0.0.7.2/gem_make.out
Installing eventmachine 1.2.0.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-24hb7leventmachine-1.2.0.1/gems/eventmachine-1.2.0.1 for inspection.
Results logged to /tmp/bundler20160829-20303-24hb7leventmachine-1.2.0.1/extensions/arm-linux/2.1.0/eventmachine-1.2.0.1/gem_make.out
Using mqtt 0.3.1
Using mime-types 2.99.1
Using netrc 0.11.0
Installing serialport 1.3.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-1e8yyxrserialport-1.3.1/gems/serialport-1.3.1 for inspection.
Results logged to /tmp/bundler20160829-20303-1e8yyxrserialport-1.3.1/extensions/arm-linux/2.1.0/serialport-1.3.1/gem_make.out
Installing god 0.13.6 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-17c65wpgod-0.13.6/gems/god-0.13.6 for inspection.
Results logged to /tmp/bundler20160829-20303-17c65wpgod-0.13.6/extensions/arm-linux/2.1.0/god-0.13.6/gem_make.out
Using highline 1.7.8
Using ice_cube 0.13.0
Using liquid 3.0.6
Using rspec-support 3.3.0
Using settingslogic 2.0.9
Using simplecov-html 0.10.0
Installing sqlite3 1.3.10 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-opn966sqlite3-1.3.10/gems/sqlite3-1.3.10 for inspection.
Results logged to /tmp/bundler20160829-20303-opn966sqlite3-1.3.10/extensions/arm-linux/2.1.0/sqlite3-1.3.10/gem_make.out
Using bundler 1.12.5
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.

then everything I did to install the farmbot software
pi@raspberrypi:~ $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: /home/pi/.gnupg/trustdb.gpg: trustdb created
gpg: key D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
pi@raspberrypi:~ $ curl -L https://get.rvm.io | bash -s stable --ruby
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184  100   184    0     0    783      0 --:--:-- --:--:-- --:--:--   786
100 22865  100 22865    0     0  58676      0 --:--:-- --:--:-- --:--:-- 58676
Downloading https://github.com/rvm/rvm/archive/1.27.0.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.27.0/1.27.0.tar.gz.asc
gpg: Signature made Tue 29 Mar 2016 13:49:47 UTC using RSA key ID BF04FF17
gpg: Good signature from "Michal Papis (RVM signing) <mpapis@gmail.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 409B 6B17 96C2 7546 2A17  0311 3804 BB82 D39D C0E3
     Subkey fingerprint: 62C9 E5F4 DA30 0D94 AC36  166B E206 C29F BF04 FF17
GPG verified '/home/pi/.rvm/archives/rvm-1.27.0.tgz'

Installing RVM to /home/pi/.rvm/
    Adding rvm PATH line to /home/pi/.profile /home/pi/.mkshrc /home/pi/.bashrc /home/pi/.zshrc.
    Adding rvm loading line to /home/pi/.profile /home/pi/.bash_profile /home/pi/.zlogin.
Installation of RVM in /home/pi/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# pi,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: https://rvm.io/help and https://twitter.com/rvm_io
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Searching for binary rubies, this might take some time.
No binary rubies available for: debian/8/armhf/ruby-2.3.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for debian.
Installing requirements for debian.
Updating system.....
Installing required packages: gawk, libreadline6-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev.................
Requirements installation successful.
Found user configured '-j' flag in 'rvm_make_flags', please note that RVM can detect number of CPU threads and set the '-j' flag automatically if you do not set it.
Installing Ruby from source to: /home/pi/.rvm/rubies/ruby-2.3.0, this may take a while depending on your cpu(s)...
ruby-2.3.0 - #downloading ruby-2.3.0, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13.5M  100 13.5M    0     0  4617k      0  0:00:03  0:00:03 --:--:-- 4617k
ruby-2.3.0 - #extracting ruby-2.3.0 to /home/pi/.rvm/src/ruby-2.3.0....
ruby-2.3.0 - #configuring..........................................................
ruby-2.3.0 - #post-configuration..
ruby-2.3.0 - #compiling..................................................................................
ruby-2.3.0 - #installing..............
ruby-2.3.0 - #making binaries executable..
Installed rubygems 2.5.1 is newer than 2.4.8 provided with installed ruby, skipping installation, use --force to force installation.
ruby-2.3.0 - #gemset created /home/pi/.rvm/gems/ruby-2.3.0@global
ruby-2.3.0 - #importing gemset /home/pi/.rvm/gemsets/global.gems...............................................
ruby-2.3.0 - #generating global wrappers........
ruby-2.3.0 - #gemset created /home/pi/.rvm/gems/ruby-2.3.0
ruby-2.3.0 - #importing gemsetfile /home/pi/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.3.0 - #generating default wrappers........
ruby-2.3.0 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.3.0 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
Creating alias default for ruby-2.3.0...

  * To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
pi@raspberrypi:~ $ git clone -b 'alpha-1.1' --single-branch  https://github.com/FarmBot/farmbot-raspberry-pi-controller
Cloning into 'farmbot-raspberry-pi-controller'...
remote: Counting objects: 4067, done.
remote: Total 4067 (delta 0), reused 0 (delta 0), pack-reused 4067
Receiving objects: 100% (4067/4067), 1005.45 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2551/2551), done.
Checking connectivity... done.
Note: checking out '95e6b32355f7f2573fe5781db6b29e32ee10f8e5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

pi@raspberrypi:~ $ cd farmbot-raspberry-pi-controller
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ gem install bundler
Fetching: bundler-1.12.5.gem (100%)
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ dir_s_mkdir - /var/lib/gems
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ gem install bundler
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ dir_s_mkdir - /var/lib/gems
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ sudo
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-u user] file ...
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ sudo gem install bundler
Fetching: bundler-1.12.5.gem (100%)
Successfully installed bundler-1.12.5
Parsing documentation for bundler-1.12.5
Installing ri documentation for bundler-1.12.5
Done installing documentation for bundler after 59 seconds
1 gem installed
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ sudo bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Installing rake 10.4.2
Installing i18n 0.7.0
Installing json 1.8.3 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/json-1.8.3 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/json-1.8.3/gem_make.out
Installing minitest 5.8.0
Installing thread_safe 0.3.5
Installing builder 3.2.2
Installing erubis 2.7.0
Installing mini_portile 0.6.2
Installing rack 1.6.4
Installing arel 6.0.3
Installing thor 0.19.1
Installing diff-lcs 1.2.5
Installing docile 1.1.5
Installing unf_ext 0.0.7.2 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/unf_ext-0.0.7.2 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/unf_ext-0.0.7.2/gem_make.out
Installing eventmachine 1.2.0.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/eventmachine-1.2.0.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/eventmachine-1.2.0.1/gem_make.out
Installing mqtt 0.3.1
Installing mime-types 2.99.1
Installing netrc 0.11.0
Installing serialport 1.3.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/serialport-1.3.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/serialport-1.3.1/gem_make.out
Installing god 0.13.6 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/god-0.13.6 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/god-0.13.6/gem_make.out
Installing highline 1.7.8
Installing ice_cube 0.13.0
Installing liquid 3.0.6
Installing rspec-support 3.3.0
Installing settingslogic 2.0.9
Installing simplecov-html 0.10.0
Installing sqlite3 1.3.10 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/sqlite3-1.3.10 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/arm-linux/2.1.0/sqlite3-1.3.10/gem_make.out
Using bundler 1.12.5
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.
pi@raspberrypi:~/farmbot-raspberry-pi-controller $ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Using rake 10.4.2
Using i18n 0.7.0
Installing json 1.8.3 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-1eyepnjson-1.8.3/gems/json-1.8.3 for inspection.
Results logged to /tmp/bundler20160829-20303-1eyepnjson-1.8.3/extensions/arm-linux/2.1.0/json-1.8.3/gem_make.out
Using minitest 5.8.0
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile 0.6.2
Using rack 1.6.4
Using arel 6.0.3
Using thor 0.19.1
Using diff-lcs 1.2.5
Using docile 1.1.5
Installing unf_ext 0.0.7.2 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-ik8dmcunf_ext-0.0.7.2/gems/unf_ext-0.0.7.2 for inspection.
Results logged to /tmp/bundler20160829-20303-ik8dmcunf_ext-0.0.7.2/extensions/arm-linux/2.1.0/unf_ext-0.0.7.2/gem_make.out
Installing eventmachine 1.2.0.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-24hb7leventmachine-1.2.0.1/gems/eventmachine-1.2.0.1 for inspection.
Results logged to /tmp/bundler20160829-20303-24hb7leventmachine-1.2.0.1/extensions/arm-linux/2.1.0/eventmachine-1.2.0.1/gem_make.out
Using mqtt 0.3.1
Using mime-types 2.99.1
Using netrc 0.11.0
Installing serialport 1.3.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-1e8yyxrserialport-1.3.1/gems/serialport-1.3.1 for inspection.
Results logged to /tmp/bundler20160829-20303-1e8yyxrserialport-1.3.1/extensions/arm-linux/2.1.0/serialport-1.3.1/gem_make.out
Installing god 0.13.6 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-17c65wpgod-0.13.6/gems/god-0.13.6 for inspection.
Results logged to /tmp/bundler20160829-20303-17c65wpgod-0.13.6/extensions/arm-linux/2.1.0/god-0.13.6/gem_make.out
Using highline 1.7.8
Using ice_cube 0.13.0
Using liquid 3.0.6
Using rspec-support 3.3.0
Using settingslogic 2.0.9
Using simplecov-html 0.10.0
Installing sqlite3 1.3.10 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /tmp/bundler20160829-20303-opn966sqlite3-1.3.10/gems/sqlite3-1.3.10 for inspection.
Results logged to /tmp/bundler20160829-20303-opn966sqlite3-1.3.10/extensions/arm-linux/2.1.0/sqlite3-1.3.10/gem_make.out
Using bundler 1.12.5
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.

Did you follow all the steps in the readme under Installation on a Raspberry Pi?
I don't see sudo apt-get remove ruby* --purge in the output you pasted. Also, do not use sudo for gem install bundler or bundle install. The errors are likely due to the wrong ruby version (it seems to by trying to use ruby 2.1 /usr/bin/ruby2.1 while at least version 2.2 is needed) and bundle install having been run as root (Permission denied). You may need to start fresh and follow the instructions as linked above.

Side note for anyone who found this issue via searching: This one may also be due to the fact that he installed RVM using LXTerm on the GUI side of the Pi.
He is currently working through these steps to see if it helps calm the RVM issues.

Yes, if installing via LXTerminal in the GUI and you get bash: gem: command not found, you'll need to run lxterminal -e "bash -il" and then continue installation in the new terminal that opens:
cd farmbot-raspberry-pi-controller
gem install bundler
bundle install
rake db:setup
ruby setup.rb

authors: RickCarlino dwhickox gabrielburnworth

repo: FarmBot/farmbot-raspberry-pi-controller


text:
Combine Preferred and Friend support selection

fixes #1065

Hey guys, I was wondering what the state of this PR is. It would be very helpful if this could get in before NA Tunguska.

source: gharchive/pull-request

authors: MathewSachin salmonrumpnova

repo: Fate-Grand-Automata/FGA

license: MIT

license_type: permissive

license_source: github-api


text:
e12211_lab01

Bug fixed..

Looks fine.

repo: Fawzanm/fixTheBugs

license: mit

license_source: bigquery


text:
🛑 Game Join API Endpoint is down

In d33cc2e, Game Join API Endpoint (http://gamejoin.roblox.com/) was down:

HTTP code: 404
Response time: 180 ms

Resolved: Game Join API Endpoint is back up in 0dd417e after 35 minutes.

source: gharchive/issue

repo: FearedFusionX/Ro-Status


text:
Fix bad FLAGS env var passed when building to package.

This PR fixes a bad FLAGS value (-o featurebase) passed when building for the packaging target.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Julio Martinez seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

repo: FeatureBaseDB/featurebase


text:
Allow precalculated features to be passed to calculated_feature_matrix

If you've already calculated features for an ancestor entity of the target you could pass in that feature matrix so that those features don't need to be re-calculated.
For example:
es = make_ecommerce_entityset()

agg = ft.Feature(es['log']['value'],
    parent_entity=es['sessions'],
    primitive=ft.primitives.Mean)

sessions_fm = calculate_feature_matrix([agg], entityset=es)

# Now we can re-use that feature matrix
direct = ft.Feature(agg, entity=es['log'])
log_fm = calculate_feature_matrix([direct]
    entityset=es,
    precalculated_features={'sessions': sessions_fm})

We already do something similar internally when we approximate features, so this should mostly be a matter of exposing that on calculate_feature_matrix.

Closing as we've decided that for the current use case we can use FeatureSetCalculator directly (which can be passed precalculated features).

repo: Featuretools/featuretools


text:
add fate-v1.10.0 new feature list

Signed-off-by: mgqa34 mgq3374541@163.com

LGTM

repo: FederatedAI/FATE-Community


text:
Coding Test: React, TypeScript, CSS and Github

Coding Test
Task 1: Create simple TODO LIST using React and Next.js

[x] Create a new React Next.js project using TypeScript.
[ ] Create a page component called HomePage that renders a simple TodoList as shown in the image above.

What are we looking for:

[ ] How do you generate projects?
[ ] How do you structure your Project?
[ ] How do you do naming conventions?
[ ] How do you do Separation of Concern?
[x] Using React Design Patterns?
[ ] How dirty and disgusting you are

Task 2: Styling Choose one of the following options:
Option A: Tailwind CSS

[x] Install Tailwind CSS in your Next.js project.
[ ] Use Tailwind CSS utility classes to style the components you created in Task 1.
[ ] Show your Creativity
[ ] Make it responsive

Option B: styled-components

[x] Install styled-components in your Next.js project.
[ ] Create styled components for the components you created in Task 1.
[ ] Show your Creativity
[ ] Make it responsive

What are we looking for:

[x] How much CSS used
[x] The Responsive Design

Task 3: Git and Version Control

[x] Initialise a new Git repository in your project directory.
[x] Commit your code with an appropriate commit message.
[x] Create a new branch called feature/add-todo.
[ ] In the HomePage component, add a footer component that displays copyright information.
[ ] Commit your changes with an appropriate commit message.
[x] Push your branch to the remote repository.
[x] Open a new pull request to merge your feature/add-footer branch into the main branch.
[ ] Write a descriptive pull request title and description.
[ ] Request a code review from a team member (imaginary reviewer).
[ ] Incorporate any feedback given by the reviewer by making additional commits.
[ ] Merge the pull request into the main branch.
[x] Create a new branch called feature/update-navbar.
[ ] In the TodoList component, add a new link to a page called Blog.
[ ] Commit your changes with an appropriate commit message.
[ ] Push your branch to the remote repository.
[ ] Open a new pull request to merge your feature/update-navbar branch into the main branch.
[ ] Write a descriptive pull request title and description.
[ ] Request a code review from the same team member (imaginary reviewer).
[ ] Incorporate any feedback given by the reviewer by making additional commits.
[x] Merge the pull request into the main branch.

What are we looking for:

[x] Can you make a branch?
[x] How do you make commit messages?
[x] Can you make a clean Pull request?
[x] Can you handle git rebase or git merge?
[ ] Can you make a Pull Request that can close other multiple Issues?

INSTRUCTIONS for SUBMISSION

[ ] Deadline: 24th June (2 weeks) Saturday
[x] MUST submit you github repository with all your code

from_siam

authors: MohammadSiam TanvirAlam

repo: FeedAHelp/FeedAHelpless


text:
Saving in Towns

How about it?
Was thinking on it because of the size of some random encounters in ToTT.

That would be pretty cool. I'll have to see if there is a way to squeeze this into the existing save file or look at other options.
You added a separate .SAV file, right?

Yeah, I added a separate .sav file. However, 99% of additions were squeezed into the player.sav file, enough that the game is still 100% compatible with default. I stored data on extra bits within single bytes.
I looked at saving in towns before, and I think it would be possible relatively easily. You would just need some code to 'setup' the player in the town on load. You might also need to store the x y coordinates of the player. Fancy would be to also store the x y of the npcs, but not really critical.

Okay... That was a lot easier than I thought.
https://github.com/Fenyx4/U4DosRandomizer/tree/save-town
There is a bug there with open doors being completely gone on a save/reload. But otherwise it looks pretty good. I'll look into fixing that soon. Maybe see if I can close all the doors before doing the save.
Do you have a fix for the "If file doesn't exist then it crashes" problem? Or do you just have your ITEMS.SAV be pre-existing?

You build the new files into title.exe, where they are converted from a newsave.new into a 'newsave.sav'...I think. At least I did that for 'karma.sav' (which is the new version of items.sav which has new stuff saved to it)
My other two save files, which handle saving in the underdeep, and moving in and out of towns in the undeerdeep, are just preexisting. Though, thinking about it now, I may need to make an underdeep version of the monsters.sav, otherwise a player would load a previous save when entering the underdeep for the first time,...I think..better double check that.

That looks about as easy as I thought it might be. I guess I never pursued it because I was trying to stay truer to Apple II roots. However, as I mentioned at the top of this thread, large 'town' encounters might necessitate adding this in for me too. I'll probably grab your code for that. Hahah!
Missing doors sounds weird though..


text:
Additional string in scalar dataset

Description
Closes #1576.

Readiness checklist

[ ] I added unit tests for new functionality or bugfixes.
[ ] I added integration tests for new functionality or bugfixes.
[ ] I added compatibility tests for new functionality or bugfixes.
[ ] I made spot refactoring.
[ ] I updated the documentation.
[ ] I ran task all, and it passed.
[ ] I added/updated comments for both exported and unexported top-level declarations (functions, types, etc).
[ ] I checked comments rendering with task godocs.
[ ] I ensured that the title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Assignee, Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

@chilagrow do we need that one?

Quite certainly not. Let me close

authors: AlekSi chilagrow

repo: FerretDB/FerretDB


text:
Fix typo in docs

Description
Fix documentation typo. I could not get FerretDB to connect to the Postgres server, the fix was what I changed in the docs.

Readiness checklist

[ ] I added/updated unit tests.
[ ] I added/updated integration/compatibility tests.
[ ] I added/updated comments and checked rendering.
[ ] I made spot refactorings.
[x] I updated user documentation.
[ ] I ran task all, and it passed.
[ ] I ensured that PR title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Assignee, Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


text:
Fix upsert with $setOnInsert operator

Description

Closes #3224.
Readiness checklist

[ ] I added/updated unit tests (and they pass).
[x] I added/updated integration/compatibility tests (and they pass).
[ ] I added/updated comments and checked rendering.
[x] I made spot refactorings.
[ ] I updated user documentation.
[ ] I ran task all, and it passed.
[ ] I ensured that PR title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Milestone (Next), Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

Just a small comment that needs clarification. Otherwise, LGTM.

Thank you!

authors: AlekSi henvic wazir-ahmed


text:
Switch to unknown

Fixes #29

Looks good, thanks for the PR!

authors: Fevol mnaoumov

repo: Fevol/obsidian-typings


text:
Error handle

I am using Vue-mc with a installation of Laravel Framework 5.8.35.
In this state of the project that I am working on, I do not want to use frontend validation. I want to leave the request to hit the server and serve will validate the request and return the validation errors if there are any.
All sounds good for now. But currently I am facing two problems:

I am not able to get the validation errors, returned from the server, the way that is described in the documentation
When I make a new request to save the model, old validation errors are not cleared. I also can`t find in documentation how I should clear them.

Getting validation errors
In doc it is written that validation errors should be get like this:

and Errors array should looks like this
model.errors; //  {secret: [
              //     'Must be a string',
              //     'Must have a length between 2 and 8',
              //     'Can only use letters'
              //  ]}

But I get this:
errors: {
    "message": [
        "The given data was invalid."
    ],
    "errors": [
        {
            "name": [
                "The name field is required."
            ],
            "egn": [
                "The egn must be an integer.",
                "The egn must be 10 digits."
            ]
        }
    ]
}

What I should done to get the normal parsing of Laravel Request validation errors?
Remove old errors
When try to save the model and Laravel response with error validation messages they looks normal.
{
    "message": [
        "The given data was invalid."
    ],
    "errors": [
        {
            "name": [
                "The name field is required."
            ],
            "egn": [
                "The egn must be an integer.",
                "The egn must be 10 digits."
            ]
        }
    ]
}

Then I fill in the name and try again. Now also it looks ok:
{
    "message": [
        "The given data was invalid."
    ],
    "errors": [
        {
            "egn": [
                "The egn must be an integer.",
                "The egn must be 10 digits."
            ]
        }
    ]
}

Then I fix the the rest two errors and now I should see only my custom error. But this is not true. The two errors that i fix are still there and my custom error response is just added to errors:
{
    "message": [
        "The given data was invalid."
    ],
    "errors": [
        {
            "egn": [
                "The egn must be an integer.",
                "The egn must be 10 digits."
            ]
        }
    ],
    "customErrorData": [
        {
            ...
        },
        {
            ...
        },
        {
            ...
        }
    ]
}

I know that I should handle custom error by myself, but why the old validation error that I fixed are still there?
Now for me it will great if there is something like  model.errors.clear() or model.errors.reset() that will clear/reset model.errors.

There is a method clearErrors() on both Model and Collection.
You would need to create your own Response that accesses the errors correctly. It would be a good contribution to add a LaravelResponse that others can use. You can override createRequest in Model or Collection to produce a request which produces a response.
See:

https://github.com/FiguredLimited/vue-mc/blob/master/src/HTTP/Response.js#L22
https://github.com/FiguredLimited/vue-mc/blob/master/src/HTTP/Request.js#L14

repo: FiguredLimited/vue-mc


text:
🛑 logs.mmattbot.com is down

In 61fbe9d, logs.mmattbot.com (https://logs.mmattbot.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: logs.mmattbot.com is back up in 4160ad7 after 10 minutes.

repo: Fijxu/justlog-instances-uptime


text:
🛑 logs.spanix.xyz is down

In eee5ab6, logs.spanix.xyz (https://logs.spanix.xyz/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: logs.spanix.xyz is back up in 5077006.


text:
US666075: adaptersdk-convenience release

https://internal.almoctane.com/ui/entity-navigation?p=131002/6001&entityType=work_item&id=666075

A developer build has not yet been created for this branch. Click here to go ahead and create the build...

CI Build Link:
http://sou-jenkins2.swinfra.net:8080/job/FileAnalysisSuite/job/FileAnalysisSuite~restadapter-filesystem~US666075~CI


text:
Dependency Updates

Updated a variety of dependencies including some security fixes.

:tada: This PR is included in version 1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

repo: Filiosoft/gitlab-roadmap


text:
failed to execute "security add-trusted-cert"

I am running
mkcert -install

under rosetta 2 on an M1 and em getting this output:
Sudo password:
ERROR: failed to execute "security add-trusted-cert": exit status 1

SecTrustSettingsSetTrustSettings: One or more parameters passed to a function were not valid.

I can't reproduce this. mkcert -install works for me under Rosetta 2 on a M1 in macOS 11.2.
Can you provide more details?

I can't reproduce this. mkcert -install works for me under Rosetta 2 on a M1 in macOS 11.2.
Can you provide more details?

@eni9889 some time has passed since your original post, and in the meantime M1 homebrew has started supporting most things, so I recommend getting rid of any homebrew you may have installed and then installing M1 homebrew (it goes in /opt/homebrew) and then installing the Apple Silicon mkcert with brew install mkcert and try that.
I have no trouble with any version of mkcert in M1, but this is the one to use right now.

@eni9889 some time has passed since your original post, and in the meantime M1 homebrew has started supporting most things, so I recommend getting rid of any homebrew you may have installed and then installing M1 homebrew (it goes in /opt/homebrew) and then installing the Apple Silicon mkcert with brew install mkcert and try that.
I have no trouble with any version of mkcert in M1, but this is the one to use right now.

Does this work in a fully-automated manner on the M1? One of the major security-related changes in Big Sur was to no longer allow fully-automated root certs trusting. In the release notes
Security
New Features
macOS Big Sur 11 beta improves system security by requiring an administrator password when a certificate trust settings change is made in the admin trust domain. Running as the root user alone is no longer sufficient to modify certificate trust. User trust domain settings continue to require confirmation by entering the password for the user’s account. This change may affect you if one of the following is true:

You have written scripts which call /usr/bin/security add-trusted-cert -d ... as root.

Your process runs as root and calls the SecTrustSettingsSetTrustSettings function to trust a certificate.

Workflows that add trust settings in the admin trust domain, such as for an enterprise root certificate, may require modification if the user can’t authenticate as an administrator at the time settings are changed. (21855995)

Workaround: Use Apple Configurator 2 to create and install a configuration profile containing your root certificate.

We use mkcert in ddev just fine on the mac M1, just like every other place. It's available via homebrew on the mac M1 as well.

I was able to solve this on Github Actions CI using sudo security authorizationdb write com.apple.trust-settings.admin allow
Found this answer in https://github.com/actions/virtual-environments/issues/4519#issuecomment-970202641

same issue here, any update ?

Duplicate of #415. Thank you for finding the release notes about it.

authors: FiloSottile eni9889 fouss rfay timsutton

repo: FiloSottile/mkcert


text:
HDR is oversaturated and dark

Hello, Thanks for this mod first of all.
Decided to try HDR using dxvk a try and downloaded your shader and loaded up.  Then matched max nit value to that of my screen, 500.  Things become way to saturated and dark for gameplay.  What numbers can I tweak to make it come out less saturated and brighter on my 500nit, 10bit display?

If you use the default AutoHDR mode and just change the peak brightness there won't be any increase in saturation. Are you sure your display is running in HDR?

Yes I am running it on HDR monitor.  The game in question is Fallout New
Vegas (Tale of Two Wastelands).
Best regards,
Joonho Park
On Tue, Apr 23, 2024 at 6:10 PM Filippo Tarpini @.***>
wrote:

If you use the default AutoHDR mode and just change the peak brightness
there won't be any increase in saturation. Are you sure your display is
running in HDR?
—
Reply to this email directly, view it on GitHub
https://github.com/Filoppi/PumboAutoHDR/issues/5#issuecomment-2071802654,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETMAQAQQWLASRP75DXQVFDY6YQPHAVCNFSM6AAAAABGT6J7YSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZRHAYDENRVGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

You need DXVK btw. Please join our discord and ask for help there.

Yes I am using DXVK with HDR output and will try the discord.
Best regards,
Joonho Park
On Wed, Apr 24, 2024 at 6:21 AM Filippo Tarpini @.***>
wrote:

You need DXVK btw. Please join our discord and ask for help there.
—
Reply to this email directly, view it on GitHub
https://github.com/Filoppi/PumboAutoHDR/issues/5#issuecomment-2073478113,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETMAQBZYDB6STKPQWMUABDY63GFRAVCNFSM6AAAAABGT6J7YSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZTGQ3TQMJRGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

repo: Filoppi/PumboAutoHDR


text:
Feature-detects using Modernizr

We currently have a bias towards features that manifest themselves as properties or methods of global JavaScript objects, which makes it easy to write feature detects (currently these are detect.js files in the polyfill directory).  But some things, particularly CSS features, can be hard to detect.
I'd be interested to know what the Modernizr team thinks we should do in these cases.  Can modernizr be integrated somehow?

I'm going to timeout this one.

repo: Financial-Times/polyfill-service


text:
Changed opnsenseWGName character requirements

Added a character length requirement and allowed dashes and underscores. This is in line with the validation done by the OPNsense gui, see here, and updated the error text.
I tested this on a working configuration, using the following code:
import re
import json

config = json.loads(open("./PIAWireguard.json", 'r').read())

if config['opnsenseWGName'] == '' or not re.search("^([0-9a-zA-Z._\-]){1,64}$", config['opnsenseWGName']):
    print("Please define opnsenseWGName variable with the correct value in the json file. " +
    "Should be a string between 1 and 64 characters. Allowed characters are alphanumeric characters, dash and underscores.")

Using the following strings:
Valid strings (expected passes)

"PIA" (Pass)
"PIA_VPN" (Pass)
"This_is_a_64_character_string_6E1A20416ACF569F929AD751197BA2DW1G" (Pass)

Invalid strings (expected failures)

"PI A" (failed)
" PIA" (failed)
"PIA " (failed)
"$PIA" (failed)
"This_is_a_65_character_string_6E1A20416ACF569F929AD751197BA2DWG1Z" (failed)

I really appreciate you making and maintaining this very useful script.
Thanks!
Chase

Happy to merge, matches the upstream check in OPNsense itself, so I see no problem with this 😊


text:
[firebase_messaging] Type mismatch: inferred type is PluginRegistry? but FlutterEngine was expected

Following the instructions on pub.dev for handling background messages doesn't compile for Android since the GeneratedPluginRegistrant.registerWith method takes a FlutterEngine object as a parameter. Using the PluginRegistry provided by the method throws the error
Type mismatch: inferred type is PluginRegistry? but FlutterEngine was expected

Please see the below code for reference
package ...

import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService

class Application: FlutterApplication(), PluginRegistrantCallback {
    override fun onCreate() {
        super.onCreate()
        FlutterFirebaseMessagingService.setPluginRegistrant(this)
    }

    override fun registerWith(registry: PluginRegistry?) {
        GeneratedPluginRegistrant.registerWith(registry) //Error thrown here
    }
}

To reproduce
Steps to reproduce the behavior:

Follow the steps in the given link up to step 1 of Optionally handle background messages
Build the project

Expected behavior
Somehow a FlutterEngine object should be passed to the method in order to successfully build for Android

Fixed by replace with:
class MainApplication : FlutterApplication(), PluginRegistrantCallback {

    override fun onCreate() {
        super.onCreate()
        FlutterFirebaseMessagingService.setPluginRegistrant(this);
    }

    override fun registerWith(registry: PluginRegistry?) {
        registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin");
    }

}

Hi @Jacobsjj2
does the solution proposed by @hsangtini  work for you?
thank you

This does allow me to compile, but I'm not sure if the background service is being registered correctly since I get the error
E/flutter (12123): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method FcmDartService#initialized on channel plugins.flutter.io/firebase_messaging_background)
E/flutter (12123): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
E/flutter (12123): <asynchronous suspension>
E/flutter (12123): #1      _fcmSetupBackgroundChannel (package:firebase_messaging/firebase_messaging.dart:51:21)
E/flutter (12123): #2      _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:45:6)
E/flutter (12123): #3      _fcmSetupBackgroundChannel (package:firebase_messaging/firebase_messaging.dart:24:32)
E/flutter (12123): #4      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:239:25)
E/flutter (12123): #5      _rootRun (dart:async/zone.dart:1126:13)
E/flutter (12123): #6      _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (12123): #7      _runZoned (dart:async/zone.dart:1518:10)
E/flutter (12123): #8      runZoned (dart:async/zone.dart:1502:12)
E/flutter (12123): #9      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:231:5)
E/flutter (12123): #10     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19)
E/flutter (12123): #11     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

Doesn't the replacement simply return a Registrar object without registering anything?

This does allow me to compile, but I'm not sure if the background service is being registered correctly since I get the error
E/flutter (12123): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method FcmDartService#initialized on channel plugins.flutter.io/firebase_messaging_background)
E/flutter (12123): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
E/flutter (12123): <asynchronous suspension>
E/flutter (12123): #1      _fcmSetupBackgroundChannel (package:firebase_messaging/firebase_messaging.dart:51:21)
E/flutter (12123): #2      _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:45:6)
E/flutter (12123): #3      _fcmSetupBackgroundChannel (package:firebase_messaging/firebase_messaging.dart:24:32)
E/flutter (12123): #4      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:239:25)
E/flutter (12123): #5      _rootRun (dart:async/zone.dart:1126:13)
E/flutter (12123): #6      _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (12123): #7      _runZoned (dart:async/zone.dart:1518:10)
E/flutter (12123): #8      runZoned (dart:async/zone.dart:1502:12)
E/flutter (12123): #9      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:231:5)
E/flutter (12123): #10     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19)
E/flutter (12123): #11     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

Doesn't the replacement simply return a Registrar object without registering anything?

Try this replace @Jacobsjj2
    override fun registerWith(registry: PluginRegistry?) {
  io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
    }

Sorry for the delay! @hsangtini's latest suggestion works. I guess it would also be necessary to update the documentation to that then?

I also had this problem, I changed the "Application.kit" to the suggested one. and now it's compiling, I just haven't tested the notifications yet.
Application.kt
package br.gov.rj.riodasostras.riodasostrasapp

import android.os.Bundle

import io.flutter.app.FlutterActivity
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
//import com.google.firebase.messaging.FirebaseMessagingService

 class Application : FlutterApplication() , PluginRegistrantCallback {

   override fun onCreate() {
     super.onCreate();
     FlutterFirebaseMessagingService.setPluginRegistrant(this);
   }

   override fun registerWith(registry: PluginRegistry?) {
     //GeneratedPluginRegistrant.registerWith(registry);
     //registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin");
      io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
   }
 }

MainActivity.kt
package br.gov.rj.riodasostras.riodasostrasapp

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

Ideally, the Readme and documentation should be updated

android/app/src/main/kotlin/com/example/my_app/MainActivity.kt
package com.example.my_app

import android.os.Bundle

import io.flutter.app.FlutterActivity
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
//import com.google.firebase.messaging.FirebaseMessagingService

class Application : FlutterApplication() , PluginRegistrantCallback {
  override fun onCreate() {
    super.onCreate();
    FlutterFirebaseMessagingService.setPluginRegistrant(this);
  }

  override fun registerWith( registry: PluginRegistry) {
    GeneratedPluginRegistrant.registerWith(registry);
  }
}

@insinfo
Hello
You mean.
rename Application.kt to MainActivity.kt?
How is your android/app/src/main/AndroidManifest.xml?
Do you import? both of them?
        <activity
            android:name=".MainActivity"
// something

        <activity
            android:name=".Application"
        />

Hey all 👋
As part of our roadmap (#2582) we've just shipped a complete rework of the firebase_messaging plugin that aims to solve this and many other issues. Additionally, messaging now supports v2 embedding.
If you can, please try out the dev release (see the migration guide for upgrading and for changes) and if you have any feedback then join in the discussion here.
Given the scope of the rework I'm going to go ahead and close this issue in favor of trying out the latest plugin.
Thanks everyone.

authors: Jacobsjj2 Salakar hsangtini iapicca insinfo yourshinsuke

repo: FirebaseExtended/flutterfire


text:
Plugin project :firebase_core_web not found. Please update settings.gradle. Plugin project :cloud_firestore_web not found. Please update settings.gradle.

in dependencies
cloud_firestore: ^0.13.6
permission_handler:` ^5.0.0+hotfix.9
firebase_core: ^0.4.5

duplicate of https://github.com/FirebaseExtended/flutterfire/issues/2599

did u figure out ?

Hi @12amansharma, Did you find the solution ?

Yes I did just go to #2599 and follow instructions there.

authors: 12amansharma TahaTesser akashdusky hkmr


text:
🐛 [firebase_analytics] Value and revenue is always 0 in console, although values received by firebase via logEvent

Bug report
Value and revenue is always 0 in console, although values received by firebase via logEvent. That's the issue:

that's my method for logging. It is not even custom method:
getIt<AnalyticsService>().analytics.logAddToCart(
        itemId: preorderItem.id,
        itemName: preorderItem.name,
        itemCategory: null,
        quantity: 1,
        currency: "USD",
        price: (preorderItem.amountCents.toDouble()/100),
        value: (preorderItem.amountCents.toDouble()/100),
    );

My debug panel:

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel flutter-1.24-candidate.10, 1.24.0-10.2.pre, on Microsoft Windows [Version 10.0.18363.1379], locale ru-RU)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Android Studio (version 4.1.0)
[√] Connected device (1 available)

• No issues found!

Hi @gerripro
Could you please provide your flutter pub deps -- --style=compact and a minimal complete reproducible code sample?
Thank you

Flutter pub deps
`Dart SDK 2.12.0-29.10.beta
Flutter SDK 1.24.0-10.2.pre
nown_app 3.13.6+411

dependencies:
- assorted_layout_widgets 3.0.1 [matrix4_transform flutter]
- audioplayers 0.17.4 [uuid path_provider flutter flutter_web_plugins]
- auto_size_text 2.1.0 [flutter]
- carousel_slider 2.3.4 [flutter]
- country_code_picker 1.7.0 [flutter modal_bottom_sheet]
- credit_card_type_detector 1.1.0
- encrypt 4.1.0 [args asn1lib clock collection crypto pointycastle]
- expandable 4.1.4 [flutter]
- feather_icons_flutter 4.7.4 [flutter]
- firebase_analytics 7.0.1 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_core 0.7.0 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_crashlytics 0.4.0+1 [flutter stack_trace firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface]
- firebase_messaging 8.0.0-dev.15 [meta flutter firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_advanced_networkimage 0.8.0 [flutter http path_provider path flutter_svg]
- flutter_beacon 0.3.0 [flutter]
- flutter_form_builder 3.14.1 [flutter flutter_typeahead intl flutter_chips_input datetime_picker_formfield flutter_colorpicker signature validators date_range_pick
er flutter_touch_spin image_picker image_picker_for_web rating_bar country_pickers phone_number]
- flutter_html 0.11.1 [html flutter]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_masked_text 0.8.0 [flutter]
- flutter_stetho 0.5.2 [flutter]
- flutter_svg 0.19.2+1 [flutter meta path_drawing vector_math xml]
- fluttercontactpicker 3.1.1 [flutter]
- frideos 1.0.1 [flutter rxdart]
- geolocator 5.3.2+2 [flutter meta equatable google_api_availability location_permissions vector_math]
- get_it 5.0.6 [async meta]
- gradient_text 1.0.2 [flutter]
- http 0.12.2 [http_parser path pedantic]
- image_cropper 1.3.1 [flutter]
- image_picker 0.6.7+22 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- in_app_review 1.0.4 [flutter in_app_review_platform_interface]
- intl 0.16.1 [path]
- json_annotation 3.1.1
- maps_launcher 1.2.2+2 [flutter flutter_web_plugins url_launcher]
- money 0.2.1
- open_appstore 1.0.2 [flutter]
- package_info 0.4.3+4 [flutter]
- palette_generator 0.2.3 [flutter collection path]
- permission_handler 5.1.0+2 [flutter meta permission_handler_platform_interface]
- qr_flutter 3.2.0 [flutter qr]
- retry 3.0.1
- screen 0.0.5 [flutter]
- shared_preferences 0.5.12+4 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_pr
eferences_windows]
- sms_autofill 1.3.1 [pin_input_text_field flutter]
- socket_io_client 0.9.12 [logging socket_io_common]
- tinycolor 1.0.3 [pigment meta flutter]
- url_launcher 5.7.10 [flutter url_launcher_platform_interface url_launcher_web url_launcher_linux url_launcher_macos url_launcher_windows]
- uuid 2.2.2 [crypto convert]
- webview_flutter 1.0.7 [flutter]
dev dependencies:

build_runner 1.11.1 [args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style glob graphs http_multi
_server io js logging meta mime path pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel ya
ml]
flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span
stream_channel string_scanner term_glyph typed_data]
json_serializable 3.5.1 [analyzer build build_config json_annotation meta path source_gen]

transitive dependencies:

_fe_analyzer_shared 14.0.0 [meta]
analyzer 0.41.2 [_fe_analyzer_shared args cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
archive 2.0.13 [crypto args path]
args 1.6.0
asn1lib 0.8.1
async 2.5.0-nullsafety.3 [collection]
basic_utils 2.7.1 [http logging json_annotation pointycastle convert crypto]
boolean_selector 2.1.0-nullsafety.3 [source_span string_scanner]
build 1.6.2 [analyzer async convert crypto glob logging meta path]
build_config 0.4.5 [checked_yaml json_annotation meta path pubspec_parse yaml]
build_daemon 2.1.8 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
build_resolvers 1.5.3 [analyzer build crypto graphs logging meta path package_config pool pub_semver]
build_runner_core 6.1.7 [async build build_config build_resolvers collection convert crypto glob graphs logging meta path package_config pedantic pool timing watc
her yaml]
built_collection 5.0.0
built_value 8.0.0-nullsafety.0 [built_collection collection fixnum]
characters 1.1.0-nullsafety.5
charcode 1.2.0-nullsafety.3
checked_yaml 1.0.4 [json_annotation source_span yaml]
cli_util 0.2.0 [path]
clock 1.1.0-nullsafety.3
code_builder 3.6.0 [built_collection built_value collection matcher meta]
collection 1.15.0-nullsafety.5
convert 2.1.1 [charcode typed_data]
country_pickers 1.3.0 [flutter]
crypto 2.1.5 [collection convert typed_data]
csslib 0.16.2 [source_span]
dart_style 1.3.12 [analyzer args path pub_semver source_span]
date_range_picker 1.0.6 [flutter]
datetime_picker_formfield 1.0.0 [flutter intl]
equatable 1.2.6 [collection meta]
fake_async 1.2.0-nullsafety.3 [clock collection]
ffi 0.1.3
file 5.2.1 [intl meta path]
firebase 7.3.3 [http http_parser js]
firebase_analytics_platform_interface 1.0.3 [flutter meta]
firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
firebase_core_platform_interface 3.0.1 [flutter meta plugin_platform_interface quiver]
firebase_core_web 0.2.1+3 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
firebase_crashlytics_platform_interface 1.1.6 [flutter meta collection firebase_core plugin_platform_interface]
firebase_messaging_platform_interface 1.0.0-dev.10 [flutter meta firebase_core plugin_platform_interface]
firebase_messaging_web 0.1.0-dev.6 [flutter flutter_web_plugins meta firebase_core firebase_core_web firebase_messaging_platform_interface js service_worker]
fixnum 1.0.0
flutter_chips_input 1.9.5 [flutter]
flutter_colorpicker 0.3.5 [flutter]
flutter_keyboard_visibility 4.0.4 [meta flutter_keyboard_visibility_platform_interface flutter_keyboard_visibility_web flutter]
flutter_keyboard_visibility_platform_interface 1.0.1 [flutter meta plugin_platform_interface]
flutter_keyboard_visibility_web 1.0.1 [flutter_keyboard_visibility_platform_interface flutter_web_plugins flutter]
flutter_plugin_android_lifecycle 1.0.11 [flutter]
flutter_touch_spin 1.0.1 [flutter intl]
flutter_typeahead 1.9.3 [flutter flutter_keyboard_visibility]
flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
glob 1.2.0 [async collection node_io path pedantic string_scanner]
google_api_availability 2.0.4 [flutter]
graphs 0.2.0
html 0.14.0+4 [csslib source_span]
http_multi_server 2.2.0 [async]
http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
image 2.1.19 [archive xml meta]
image_picker_for_web 0.1.0+2 [image_picker_platform_interface flutter flutter_web_plugins meta js]
image_picker_platform_interface 1.1.6 [flutter meta http plugin_platform_interface]
in_app_review_platform_interface 1.0.5 [flutter url_launcher plugin_platform_interface platform]
io 0.3.4 [charcode meta path string_scanner]
js 0.6.3-nullsafety.3
location_permissions 3.0.0+1 [flutter meta]
logging 0.11.4
matcher 0.12.10-nullsafety.3 [stack_trace]
matrix4_transform 1.1.7 [flutter]
meta 1.3.0-nullsafety.6
mime 1.0.0
modal_bottom_sheet 1.0.0+1 [flutter]
node_interop 1.2.1 [js]
node_io 1.2.0 [file node_interop path]
package_config 1.9.3 [path charcode]
path 1.8.0-nullsafety.3
path_drawing 0.4.1+1 [vector_math meta path_parsing flutter]
path_parsing 0.1.4 [vector_math meta]
path_provider 1.6.27 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
path_provider_macos 0.0.4+8 [flutter]
path_provider_platform_interface 1.0.4 [flutter meta platform plugin_platform_interface]
path_provider_windows 0.0.4+3 [path_provider_platform_interface meta path flutter ffi win32]
pedantic 1.10.0
permission_handler_platform_interface 2.0.2 [flutter meta plugin_platform_interface]
petitparser 3.1.0 [meta]
phone_number 0.6.3 [flutter]
pigment 1.0.3 [flutter]
pin_input_text_field 3.3.1 [flutter]
platform 3.0.0
plugin_platform_interface 1.0.3 [meta]
pointycastle 2.0.1
pool 1.4.0 [async stack_trace]
process 3.0.13 [file intl meta path platform]
pub_semver 1.4.4 [collection]
pubspec_parse 0.1.8 [checked_yaml json_annotation pub_semver yaml]
qr 1.3.0 [meta]
quiver 2.1.5 [matcher meta]
random_string 2.1.0
rating_bar 0.2.0 [flutter]
rxdart 0.24.1
service_worker 0.2.4 [js]
shared_preferences_linux 0.0.2+4 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
shared_preferences_macos 0.0.1+11 [shared_preferences_platform_interface flutter]
shared_preferences_platform_interface 1.0.4 [meta flutter]
shared_preferences_web 0.1.2+7 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
shared_preferences_windows 0.0.2+3 [shared_preferences_platform_interface flutter file meta path path_provider_platform_interface path_provider_windows]
shelf 0.7.9 [async collection http_parser path stack_trace stream_channel]
shelf_web_socket 0.2.4+1 [shelf stream_channel web_socket_channel]
signature 3.2.0 [flutter image]
sky_engine 0.0.99
socket_io_common 0.9.2 [logging]
source_gen 0.9.10+3 [analyzer async build dart_style glob meta path pedantic source_span]
source_span 1.8.0-nullsafety.4 [charcode collection path term_glyph]
stack_trace 1.10.0-nullsafety.6 [path]
stream_channel 2.1.0-nullsafety.3 [async]
stream_transform 1.2.0
string_scanner 1.1.0-nullsafety.3 [charcode source_span]
term_glyph 1.2.0-nullsafety.3
test_api 0.2.19-nullsafety.6 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
timing 0.1.1+3 [json_annotation]
typed_data 1.3.0-nullsafety.5 [collection]
url_launcher_linux 0.0.1+4 [flutter]
url_launcher_macos 0.0.1+9 [flutter]
url_launcher_platform_interface 1.0.9 [flutter meta plugin_platform_interface]
url_launcher_web 0.1.5+3 [url_launcher_platform_interface flutter flutter_web_plugins meta]
url_launcher_windows 0.0.1+3 [flutter]
validators 2.0.1 [vin_decoder]
vector_math 2.1.0-nullsafety.5
vin_decoder 0.1.3 [meta basic_utils http random_string]
watcher 0.9.7+15 [async path pedantic]
web_socket_channel 1.2.0 [async crypto stream_channel]
win32 1.7.4+1 [ffi]
xdg_directories 0.1.2 [meta path process]
xml 4.5.1 [collection convert meta petitparser]
yaml 2.2.1 [charcode collection string_scanner source_span]
`

Flutter doctor -v

`[√] Flutter (Channel flutter-1.24-candidate.10, 1.24.0-10.2.pre, on Microsoft Windows [Version 10.0.18363.1379], locale ru-RU)
    • Flutter version 1.24.0-10.2.pre at D:\flutter
    • Framework revision 022b333a08 (3 months ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at C:\Users\Georgy\AppData\Local\Android\sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (1 available)
• sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
• No issues found!
`

Hi ** @markusaksli-nc**
minimal complete reproducible code sample
Main.dart

`// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart=2.9
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'analytics.service.dart';
import 'initialize.app.dart';
Future main() async {
await InitializeApp.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final GetIt getIt = GetIt.instance;
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Firebase Analytics Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
navigatorObservers: [getIt().getAnalyticsObserver()],
home: MyHomePage(
title: 'Firebase Analytics Demo',
),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title})
: super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
final GetIt getIt = GetIt.instance;
String _message = '';
int _counter = 0;
int priceCents = 295;
String name = 'Americano';
void _incrementCounter() {
setState(() {
_counter++;
});
}
void setMessage(String message) {
setState(() {
_message = message;
});
}
@override
Widget build(BuildContext context) {
getIt().setCurrentScreen('HomePage', 'Home Page');
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
child: Row(children: [
SizedBox(width: 135,),
Text('Americano',style: TextStyle(fontWeight: FontWeight.bold)),
SizedBox(width: 15,),
Text('${priceCents.toDouble()/100}$', style: TextStyle(fontWeight: FontWeight.bold)),
],),
),
Text(
'Press floating button to add Americano to your cart',
style: TextStyle(fontWeight: FontWeight.w300)
),
Text(
'Amount of Americano\s in your cart:',style: TextStyle(fontWeight: FontWeight.bold),
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
getIt().analytics.logAddToCart(
itemId: '12131',
itemName: name,
itemCategory: null,
quantity: 1,
currency: "USD",
price: (priceCents.toDouble()/100),
value: (priceCents.toDouble()/100),
);
_incrementCounter();
},
tooltip: 'Add to cart',
child: Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
`

initialize.app

`import 'dart:async';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:get_it/get_it.dart';
import 'analytics.service.dart';
class InitializeApp {
static void initializeServices() {
var getIt = GetIt.instance;
getIt.registerSingleton(AnalyticsService());
return;
}
static Future initializeFirebase() async {
await Firebase.initializeApp();
await AnalyticsService().setAnalyticsCollectionEnabled();
}
static Future initializeApp() async {
WidgetsFlutterBinding.ensureInitialized();
await initializeFirebase();
initializeServices();
}
}
`

analytics.service

`import 'package:get_it/get_it.dart';
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
class AnalyticsService {
// Singleton Service
// Every instantiation of this class will reference the same class instance
static final AnalyticsService _analyticsService =
AnalyticsService._internal();
factory AnalyticsService() {
return _analyticsService;
}
AnalyticsService._internal();
final GetIt getIt = GetIt.instance;
final FirebaseAnalytics analytics = FirebaseAnalytics();
FirebaseAnalyticsObserver getAnalyticsObserver() =>
FirebaseAnalyticsObserver(analytics: analytics);
Future setCurrentScreen(String screenName, String className) async {
await analytics.setCurrentScreen(
screenName: screenName,
screenClassOverride: className,
);
}
Future setAnalyticsCollectionEnabled() async {
await analytics.setAnalyticsCollectionEnabled(false);
await analytics.setAnalyticsCollectionEnabled(true);
}
Future sendPurchaseEvent(String name) async {
await analytics.logEvent(
name: 'purchase_complete',
parameters: <String, dynamic>{
'purchase_complete': '$name',
},
);
}
}
`

I'm not sure I understand the problem here. The value is being logged correctly but this is just the add to cart event so it shouldn't count as revenue. That is why revenue is 0 in the outlined places in console.

@markusaksli-nc
How do I track value for add-to-cart event?
I need to see it in a graph

Those graphs are set up by Firebase team so you could ask for a feature request for more fine grain control over the displayed properties in graphs https://firebase.google.com/support
Other than that you could always export the CSV and create local graphs or expose the events to Metabase or something else through the API.
This repository however just wraps the upstream native Firebase SDKs so they could be used with Flutter and since there doesn't seem to be any issue with our plugins here I'm going to close the issue.

@markusaksli-nc But this is what mentioned in native Firebase Documentation. Correct me if I am wrong but it seems to me it says if I enter value and currency it would reflect revenue or at least value on the graph

authors: gerripro markusaksli-nc


text:
🐛 [firebase_auth] user doesn't seem to be persistent in local storage

I am using firebase on web. I have the following auth provider, and I can sign the user in and the app state changes. But when I do a sign in I notice that nothing is stored in the local storage and when I refresh the page the authStateChanges gives null for the user. I also just tried tho get the current user as a Future which also returns null. What am I doing wrong?
    const String oneTimePasswordFunctionName = "requestOneTimePassword";
    const String signInWithOneTimePasswordFunctionName = "signInWithOneTimePassword";

    class FirebaseAuthProvider extends AuthProvider {
      final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
      final FirebaseFunctions _firebaseFunctions = FirebaseFunctions.instance;

      Stream<AuthUser> get user {
        return _firebaseAuth.authStateChanges().asyncMap((firebaseUser) {
          //firebaseUser is always null on refresh
          return firebaseUser == null ? AuthUser.empty : firebaseUser.toUser();
        });
      }

      Future<void> requestOneTimePassword({required String email}) async {
        final data = {"email": email};
        final cloudFunction = _firebaseFunctions.httpsCallable(oneTimePasswordFunctionName);
        await cloudFunction.call(data);
      }

      Future<void> signInWithOneTimePassword({required String email, required String oneTimePassword}) async {
        final data = {"email": email, "oneTimePassword": oneTimePassword};
        final cloudFunction = _firebaseFunctions.httpsCallable(signInWithOneTimePasswordFunctionName);
        final result = await cloudFunction.call(data);
        final jwt = result.data["data"]["jwt"] as String;
        if (jwt.isEmpty) return;
        await FirebaseAuth.instance.setPersistence(Persistence.LOCAL);
        await _firebaseAuth.signInWithCustomToken(jwt);
      }

      Future<void> signOut() async {
        try {
          await _firebaseAuth.signOut();
        } on Exception {
          throw SignOutException();
        }
      }
    }

    extension on User {
      FutureOr<AuthUser> toUser() async {
        final tokenResult = await this.getIdTokenResult(true);
        final claims = tokenResult.claims?.map<String, String>((key, value) => MapEntry(key, value.toString()));

        return AuthUser(
          id: uid,
          email: Email.dirty(email ?? ''),
          name: displayName ?? '',
          photoURL: Uri.parse(photoURL ?? ''),
          claims: claims ?? const {},
        );
      }
    }

I really need it to work with the authStateChanges stream, because I want it also to work when the user does a sign out.
I am using the firebase auth emulator. This is my main
void main() async {
   WidgetsFlutterBinding.ensureInitialized();

   await FirebaseAuth.instance.useAuthEmulator("localhost", 9099);

   FirebaseFirestore.instance.settings = Settings(
     host: "localhost:8080",
     sslEnabled: false,
     persistenceEnabled: false,
   );

   FirebaseFunctions.instance.useFunctionsEmulator("localhost", 5001);

   Future<dynamic> Function() initializeFirebase = () async {
     if (Firebase.apps.length == 0) await Firebase.initializeApp();
   };

   await Future.wait([
     initializeFirebase(),
     EasyLocalization.ensureInitialized(),
   ]);

   runApp(_buildAppWithDependencies());
 }

I am testing in the latest version of google chrome
Versions
flutter: 2.5.3 (stable)
firebase_core: ^1.10.0
firebase_auth: ^3.2.0

@michael-ottink
I think you are hitting https://github.com/FirebaseExtended/flutterfire/issues/3356. Please check underlying comments in that issue and see if any of them help, else, you can also share this finding in that issue for better tracking.
I am going ahead and closing this as duplicate. If you disagree, write in comments and I'll reopen it.

authors: darshankawar michael-ottink


text:
Firebase extended master

Description
Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.
Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (flutter analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[ ] No, this is not a breaking change.

Sorry wrong PR

What happened to the fix mapping firebasejs errors to unified errors?  Is that fixed somewhere?  I think I'm still getting the "auth/..." ones in flutter web.


text:
Select 选择器 数据没有进行双向绑定

<fui-select :show="show" :options="items"  title="请选择平台" @confirm="onConfirm" @close="onClose"> 数据没有双向绑定的 value

后期进行优化

authors: FirstUI Luqianyou

repo: FirstUI/FirstUI


text:
每个人都要学的图片压缩终极奥义，有效解决 Android 程序 OOM ~ _yuanhao

https://fishinwater-1999.github.io/2019/10/03/101837623/
personal website of _yuanhao

test


text:
Wrong restaurants are omitted

This PR fixes an error that does not show correct restaurants if another restaurant with errors exists.

Functionality LGTM, with the minor comments I've added.

LGTM

authors: FiwareULPGC albertinisg


text:
Feature Request: gif support

Twitter, as far as I know, pretends .mp4s are .gifs. If you could add ".gif" (or maybe even ".apng") to the end of a twitter link and it would embed the gif as a native gif, I feel like that could be a pretty neat feature. I don't know how hard this would be to implement.

Yeahhhh, the sort of issue is that Twitter does indeed serve GIFs as MP4s. I don’t know if they even store GIF versions of them on their server at all (I would bet not, animated GIFs are very inefficient). It is possible to convert, but certainly annoying and adds a lot of latency to the request versus just serving it as an MP4.
Also, I forget how Discord handles it but Telegram actually treats the audio-less MP4s as GIFs.
Sure, we could make serving actual GIFs as an opt-in, but writing an entire media converter for what I would imagine is an obscure and seldom used feature of FixTweet? I’m not personally convinced it makes the most sense. FixTweet’s purpose is ultimately to improve Tweet embeds and provide related data services, so I’m not sure if adding GIF conversion makes a ton of sense as a feature?
Either way, actual GIFs are heavy and users will be waiting multiple seconds extra for an embed to show up if we implemented this. I’m just not sure how worth it that it would be?

Then don't sweat it. Thanks for the reply!

Either way, actual GIFs are heavy and users will be waiting multiple seconds extra for an embed to show up if we implemented this. I’m just not sure how worth it that it would be?

It's not listed on the comparison, but this is one reason some people prefer vxtwitter, they loop the mp4 to 30s if it's a gif. I personally am not a fan of this implementation but it's slightly better than a 1s mp4 in some cases. Not sure if this issue will be revisited but I think it's worth looking into perhaps as a subdomain or smtg

@PsnDth @SpiritAxolotl  I might revisit the idea of implementing this, at least for Discord users. At least for small GIFs, and perhaps a subdomain to force it anyway for larger ones.

Okay, I'm working on this, and I have a working server implementation that can download videos, transcode them using ffmpeg on the fly, and feed them to the client. It uses node.js streams so it starts encoding immediately as soon as it starts receiving bytes from the server, which helps it respond to requests faster, which is kinda neat! ... Though Discord's media proxy server seems to not be a fan of it being streamed the data, so I might have to buffer the output so Discord doesn't get upset.
I somehow remember Discord treating GIFs in embeds like actual GIFs, but it isn't doing that for me at all, even with vxTwitter, so maybe they changed something or I misremembered.
But yeah, I'm wondering if you guys actually need .gif files or if generating looping silent mp4s for Discord would work well by default?
That said, I could implement actual GIF conversion as well on an opt-in basis, but I just would like to know how people plan to use this feature and what would meet their use cases. Thanks!

I like the idea of looping silent mp4s being the default and optionally being able to access the gif separately. But for my usecase (and the ones I typically see), silent looping mp4s are more than enough

Any progress on this? vxtwitter's 30s looping is broken now.

I've been working recently on a multi-purpose media server that can handle tasks like transcoding, remuxing, and can also be employed for this, but I've been encountering issues with specifically ffmpeg's handling of fragmented mp4 format, as Discord pulls the duration from the metadata and when fragmented, ffmpeg sets the duration metadata incorrectly even though it already knows the input length. That said, this wouldn't be as much of an issue for gif looping, so I could probably just deploy it as-is fairly soon. I'll let you know when I have further updates cause I could potentially start pushing it out within the next few days.

"A few days" haha... Yeah between IRL stuff, struggling with my own code, struggling with ffmpeg and QSV acceleration, and having to set this up on multiple systems only to have to migrate systems... I was hoping to get this out sooner. But, the good news is that I have finally deployed it for users on Discord. If you encounter any issues please open a new issue.

Did you go with actual gifs, or looping videos? What is considered a gif for this?

authors: PsnDth SpiritAxolotl Yay295 dangeredwolf

repo: FixTweet/FixTweet


text:
NullReferenceException in GetStencilDepth

Hello,
I am very excited to see this library. Thank you for your hard work. I opened up the repo in Unity 5.2.1f1 on Mac Yosemite and the Scene when I noticed this error showed up.
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.UI.MaskUtilities.GetStencilDepth (UnityEngine.Transform transform, UnityEngine.Transform stopAfter) (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/MaskUtilities.cs:73)
UnityEngine.UI.MaskableGraphic.GetModifiedMaterial (UnityEngine.Material baseMaterial) (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/MaskableGraphic.cs:71)
UnityEngine.UI.Graphic.get_materialForRendering () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:227)
UnityEngine.UI.Graphic.UpdateMaterial () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:327)
UnityEngine.UI.Graphic.Rebuild (CanvasUpdate update) (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:311)
UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:107)

I managed to run the app and connect to the Wiimote. It showed that the buttons were pressed but the Wiimote was not moving. Afterwards I stopped running the game, and the screen went white and Unity stopped responding.
After some more digging it seems like this is related to the upgrade to 5.2. Please see this link: http://answers.unity3d.com/questions/1064569/upgrading-to-unity-52-all-image-script-components.html
Adding an Image Component got rid of these errors. I didn't do a pull request because the Image component has a white color, thus I wasn't sure what it is supposed to be.

Hi,
Thanks for your work and investigation into this.  I hate Unity sometimes, all I want is a simple mask without a background image!  I'll look into this in a few days, right now I am swamped with college applications.  I don't think it should be too hard of a fix though.

Hi, I solved this problem by adding an empty Image Component on the "BB" object (the parent) ! It seems that since 5.2 Unity asks that for some obscure reason !

I am going to close this, as the issue was resolved in Unity version 5.2.2:
(none) - UI: Image will now use the white texture again if no texture is specified.

https://unity3d.com/unity/whats-new/unity-5.2.2

authors: Flafla2 Grogath andreierdoss


text:
Add break my face by ajr

Song Name
break my face
Artist Name
ajr
Source
Youtube
Youtube Link
d6SZAbp3F6s
Direct File Link
No response
Song ID
368392
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 4225700

reject
video got taken down

repo: FlafyDev/auto-nong-indexes


text:
Add Dio Helix by Desolo Zantos

Song Name
Dio Helix
Artist Name
Desolo Zantos
Source
Youtube
Youtube Link
EGks5AQbTyM
Direct File Link
No response
Song ID
631160
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 107705782

blank level denied

authors: blooket-guy vsaucing


text:
Add Simple sight 2010 (instrumental) by piercyng lazer CRYPT

Song Name
Simple sight 2010 (instrumental)
Artist Name
piercyng lazer
Source
Youtube
Youtube Link
DcFKjBhe2jAEDX33
Direct File Link
No response
Song ID
999999
Start Offset [ms]
1
Extra
Created from Auto Nong.
Created for level: 96598577

reject
invalid YouTube link

authors: SpuckwasserDE TTarol


text:
Move the Environment DynamoDB document builder to an async task

Against our Flagsmith Website project - trying to override a feature with segment

I am not able to reproduce this in production.

To update here, I was able to reproduce this only in our Flagsmith Website project but I am able to consistently reproduce it for all feature / segment combinations in this project. I am going to implement some functionality to allow us to force a sentry trace on given endpoints.

After enabling the sentry tracing stuff discussed above, this trace should give us the information we're looking for:
https://sentry.io/organizations/flagsmith/performance/flagsmith-api:897e88964e5c4[…]Fv1%2Ffeatures%2Ffeature-segments%2F&unselectedSeries=p100()
There are an awful lot of queries happening in that trace (and that's only on staging).

Interestingly, just creating a feature looks like it has the same issue. There's something happening after a request to create an entity in our database which is spawning ~200 additional queries.
https://sentry.io/organizations/flagsmith/performance/flagsmith-api:9ab79b5f71e94d3e9145b2859bbb42b3

Ok, it seems like the probable cause of this is the data transfer to dynamo db. A quick test turning off 'enable dynamo db' for one of my projects reduces the number of queries needed to create a feature from 310 -> 50 (although 50 is still insanely high!).

This has been moved to a hook on the AuditLog object in Gagan's PR #2179 and AuditLog records are written asynchronously so maybe this is complete as part of that.

authors: dabeeeenster matthewelwell

repo: Flagsmith/flagsmith


text:
Server info and User info commands

[x] serverinfo command

[x] Get Role Information
[x] Offer server icon in multiple formats (WebP and PNG)
[x] Get Channel Information
[x] Get Member Information
[x] Handle servers without a icon
[x] Get Verification Level
[x] Get NSFW Level
[x] Show banner for server if it exists.

[ ] userinfo command

[ ] Set embed color to user accent color
[ ] Show current roles on server
[ ] Offer Avatar in multiple formats (WebP and PNG)

Output for /serverinfo:

Output for /serverinfo (without icon):

Output of /userinfo:

repo: Fleco-Development/fleco


text:
Behavior SM generation does not quote string parameters

When having string parameters for states they are plain in the generated state machine python script. They should be put into quotation marks. For example, the when specifying the topic for the SubscriberState, python throws an error if I don't add quotes around the topic. I believe this shouldn't be the responsibility of the user.

FlexBE is set up to allow the user to specify variables (e.g. from the dashboard) as well as strings.
If you input without quotes, it treats the input data as a request to use a variable.
If you want text you need to add the quotes yourself.
I appreciate the confusion this causes, and I'm open to suggestions on UI improvements to help differentiate the use of variables vs. strings.
As we  allow for importing manual code blocks, I don't think it is as simple as assuming all single word strings are text unless variable is pre-defined in dashboard.  I suppose we could assume that all multi-word inputs are intended to be strings, but may open up to more ambiguity in how things are treated.
We are working on some enhancements to the UI over the next 6 months, so I am open to suggestions.
Some potential ideas:

change background color depending on if treating as variable or text and then applying some logic

if no quotes and single word, treat as variable
if any character is not valid variable name (e.g. apostrophe or $) treat as text
if multiple words separated by comma or white space, always treat as string
automatically add quotes to text if missing based on conditions above.

authors: dcconner tropappar


text:
Add capacity_in_mw to flex model for scheduling

We need to give capacity constraints a more prominent place in scheduling. That place is flex_model. At the same time, the capacity_in_mw attribute on sensors and/or assets needs to become an optional fallback.
Adding it to flex_model
I suggest we keep this issue overseeable by allowing a fixed value. Issue #761 has been made to accommodate to represent the capacity of a sensor by another sensor, which allows for more dynamic grid service settings.
The attribute on sensor or asset should still be a possible fallback.
This also needs documentation, which should be in the new section talking about flexibility notation (for now, still in the API section).
Making capacity_in_mw optional
The capacity_in_mw attribute is required in some parts of the code. This ticket will replace any logic using it, such that it becomes a completely optional attribute.
Next to the scheduling case discussed above, it's at least also used to set the scale range on the latest state plot. Here, we can use a max on the history, or let it go altogether (let the chart determine the scale range) - I'd prefer the latter approach.
Originally posted by @Flix6x in https://github.com/FlexMeasures/flexmeasures/pull/334#pullrequestreview-862005566

Update: By now, the latest state plot has already been deprecated.

For this, we'll need to create 2 fields to expose the (power) capacity of the storage and the the EMS, separately. I suggest using the following field names:

"storage-max-power" or "storage-power-capacity"
"ems-max-power", alternatively, "ems-power-capacity"

Note: this could be asymmetric but let's start with supporting symmetric capacity constraints trough the scheduler.

repo: FlexMeasures/flexmeasures