pilot fails to add internal tester due to no "default external group"

🔑
New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
I'm trying to add internal testers to an app that we are not externally testing yet, but getting an error about not having a "default external group". I'm not sure why this would be necessary to add an internal tester.
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

$> fastlane pilot add -e<EMAIL_ADDRESS>-u<EMAIL_ADDRESS>-a com.figlyinc.RadiatorMobile.remix.Jambalaya --distribute_external false --verbose
INFO [2017-04-25 16:17:58.25]: Login to iTunes Connect<EMAIL_ADDRESS>Loading session from<EMAIL_ADDRESS>Looking for iTunes Connect Team with ID 514710
INFO [2017-04-25 16:18:01.91]: Login successful
INFO [2017-04-25 16:18:02.71]: Existing tester<EMAIL_ADDRESS>ERROR [2017-04-25 16:18:04.18]: Could not add<EMAIL_ADDRESS>to app: remix.remix.Jambalaya
ERROR [2017-04-25 16:18:04.18]: The app remix.remix.Jambalaya does not have a default external group. Please make sure to pass group names to the `:groups` option.
WARN [2017-04-25 16:18:04.18]: -------------
WARN [2017-04-25 16:18:04.18]: pilot crashed
WARN [2017-04-25 16:18:04.18]: -------------
ERROR [2017-04-25 16:18:04.18]: Unfortunately the TestFlight update from 11th April 2017 changed
ERROR [2017-04-25 16:18:04.18]: the way Testers, Groups, and Builds are managed on iTunesConnect.
ERROR [2017-04-25 16:18:04.18]: We have already fixed a number of features including submitting
ERROR [2017-04-25 16:18:04.18]: builds for testing, adding and removing testers from groups, and
ERROR [2017-04-25 16:18:04.18]: waiting for builds to process.
ERROR [2017-04-25 16:18:04.18]:
ERROR [2017-04-25 16:18:04.18]: Please open an issue on https://github.com/fastlane/fastlane/issues
ERROR [2017-04-25 16:18:04.18]: if you believe this failure is the result of a bug in _pilot_ and we
ERROR [2017-04-25 16:18:04.18]: will be happy to look into this further.
ERROR [2017-04-25 16:18:04.18]:
ERROR [2017-04-25 16:18:04.18]: Please stay tuned for more updates from _fastlane_ as we fix more issues!
ERROR [2017-04-25 16:18:04.18]:
/usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/fastlane_core/lib/fastlane_core/ui/interface.rb:150:in `user_error!': [!] Some operations failed: The app remix.remix.Jambalaya does not have a default external group. Please make sure to pass group names to the `:groups` option. (FastlaneCore::Interface::FastlaneError)
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/fastlane_core/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/pilot/lib/pilot/commands_generator.rb:38:in `handle_multiple'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/pilot/lib/pilot/commands_generator.rb:95:in `block (2 levels) in run'
	from /usr/local/lib/ruby/gems/2.4.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:178:in `call'
	from /usr/local/lib/ruby/gems/2.4.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:153:in `run'
	from /usr/local/lib/ruby/gems/2.4.0/gems/commander-fastlane-4.4.4/lib/commander/runner.rb:476:in `run_active_command'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:40:in `run!'
	from /usr/local/lib/ruby/gems/2.4.0/gems/commander-fastlane-4.4.4/lib/commander/delegates.rb:15:in `run!'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/pilot/lib/pilot/commands_generator.rb:159:in `run'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/pilot/lib/pilot/commands_generator.rb:12:in `start'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/fastlane/lib/fastlane/cli_tools_distributor.rb:58:in `take_off'
	from /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.4/bin/fastlane:20:in `<top (required)>'
	from /usr/local/bin/fastlane:22:in `load'
	from /usr/local/bin/fastlane:22:in `<main>'

Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.4

Ruby
2.4.0

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.12.4 (16E195)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.4.0/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.28.4
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
1.11.1

xcpretty
0.2.6

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

public_suffix
2.0.5

addressable
2.5.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.55.0

faraday
0.11.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170223

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.5

faraday_middleware
<IP_ADDRESS>

json
2.0.2

io-console
0.4.6

openssl
2.0.2

plist
3.2.0

generated on: 2017-04-25

Thanks for letting us know about this - it is likely this is related to the new TestFlight changes we just rolled out. We will dig into this further and let you know what we find!

A quick question: have you ever had success with this before? The expected use case for pilot is to work with external testers, and I'm somewhat surprised this actually worked before with the "old" TestFlight, given the difference between internal and external testers (internal testers must have associated iTC accounts, for instance).

I think yes -- it took me a little CI spelunking because deploying new internal apps automatically (ie, apps that don't already have testers set up) is a feature we've been working on sporadically over the last month or so. I can see at least one successful run using v2.18.3, before the latest iTC changes, and oddly enough, at that point, I was creating the app with produce, adding testers, and then uploading the IPA. In the attempt that failed here, I created, uploaded, and then tried to add testers.
I don't have access to the fastlane env from that run, but here's the output of the produce create step:
produce create output
+----------------+----------------------------------------+
|               Summary for produce 2.18.3                |
+----------------+----------------------------------------+
| username       |<EMAIL_ADDRESS>                   |
| app_identifier | com.figlyinc.RadiatorMobile.chris.test |
| app_name       | figly.chris.test                       |
| app_version    | 1.0                                    |
| sku            | chris.test                             |
| skip_devcenter | true                                   |
| platform       | ios                                    |
| language       | English                                |
| skip_itc       | false                                  |
+----------------+----------------------------------------+
[18:02:50]: Creating new app 'figly.chris.test' on iTunes Connect
[18:02:52]: Successfully created new app 'figly.chris.test' on iTunes Connect with ID<PHONE_NUMBER>
1223223206
#######################################################################
fastlane 2.25.0 is available.
It is recommended to use the latest version.
Please update using sudo gem update fastlane.
#######################################################################
2.25.0 Legacy build API & Xcode 8.3 messaging and other improvements

pilot generates Ipa package in a random tmpdir (#8748) via Fred Cox
Fix match typos (#8757) via color_box
Add snapshot option to skip helper version check (#8751) via Helmut Januschka
Update Your First PR instructions post monogem (#8754) via Andrea Falcone
Pin the rubocop version to prevent reactive fixing (#8753) via Michael Furtak
rubocop disable PercentLiteralDelimiters rule (#8752) via Helmut Januschka
Add a tip about using QuickDemo for clean status bar (#8739) via Andrea Falcone
Do not change or generate README.md after running rspec (#8629) via Fumiya Nakamura
Use the new UI.test_failure! in screengrab (#8736) via Michael Furtak
Add another ADB status phrase to reject (#8732) via Michael Furtak
Add Gitlab 9.0+ ENV variable for branch detection. (#8707) via Peter Spiess-Knafl
Fix pilot stuck waiting for multiple builds. Only wait for latest (current upload) (#8640) via Nicolás Gebauer
Modernize action to action call to resolved configurations (#8719) via Todd Brannam
Catch Xcode 8.3 legacy API while patching Xcode PackageApplication script (#8717) via Felix Krause
Print information about dir handling in fastlane on error (#8694) via Felix Krause
Show information about how to share schemes (#8714) via Felix Krause
Add more tests for ConfigItem and clarify error message (#8711) via Felix Krause

2.24.0 Stability and documentation improvements and better React Native support

Convince people to disable legacy build API (#8692) via Felix Krause

Add custom error message when receive an internal server error (#8696) via Felix Krause

change the zip output path from relative to absolute (#8637) via yukiasai

Update fastlane tool collector to work with mono repo change (#8632) via Felix Krause

Improve react-native onboarding (#8605) via Felix Krause

Replace test failures with its own class to have more accurate crash metrics (#8631) via Felix Krause

[match] Check push permission to git repository (#8643) via Econa77

Add macOS support to snapshot (#8468) via David Ohayon

Fix hardcoded fastlane paths (#8380) via Maksym Grebenets

Fix crash in scan.rb - no implicit conversion of nil into Array (#8677) via battlmonstr

Add documentation about the fastlane directory behavior (#8693) via Felix Krause

Update update_checker to point to fastlane.tools domain (#8710) via Felix Krause

And other documentation and test improvements

Unfortunately the legacy build API was removed with Xcode 8.3. Please make sure to remove use_legacy_build_api from your ./fastlane/Fastfile and update the gym call to include the export method like this:
App Store Builds

gym(scheme: "MyScheme", export_method: "app-store")

Ad Hoc Builds

gym(scheme: "MyScheme", export_method: "ad-hoc")

Development Builds

gym(scheme: "MyScheme", export_method: "development")

In-House Enterprise Builds

gym(scheme: "MyScheme", export_method: "enterprise")

What to do if you run into code signing errors?
If you run into a code signing error, please check out our troubleshooting guide and common issue and how to solve them.
If that still doesn't help please submit an issue. Make sure to share your fastlane env output when doing so, and mention that you followed all steps in the linked docs.
2.23.0 General improvements

Improve design of user input questions (#8606, #8607) via Felix Krause
Fix edge case in install_on_device action (#8582) via Rafael Sachetto
Add "--new-comment" / "--base" / "--head" support to Danger action (#8574) via Shunsuke Maeda
Show all available options in --help output @nafu (#8624) via Fumiya Nakamura
Make scan's slack_url ignore empty strings (#8627) via Michael Furtak
Fix crash on some rare cases of fastlane init (#8604) via Felix Krause
Improve documentation

To see all new releases, open https://github.com/fastlane/fastlane/releases
Please update using sudo gem update fastlane

and the add testers step:
add testers output
[18:02:59]: Login to iTunes Connect<EMAIL_ADDRESS>[18:03:01]: Login successful
[18:03:03]: Existing tester<EMAIL_ADDRESS>[18:03:06]: Successfully added tester to app com.figlyinc.RadiatorMobile.chris.test
#######################################################################
fastlane 2.25.0 is available.
It is recommended to use the latest version.
Please update using sudo gem update fastlane.
#######################################################################
Run sudo gem cleanup from time to time to speed up fastlane
#######################################################################
2.25.0 Legacy build API & Xcode 8.3 messaging and other improvements

pilot generates Ipa package in a random tmpdir (#8748) via Fred Cox
Fix match typos (#8757) via color_box
Add snapshot option to skip helper version check (#8751) via Helmut Januschka
Update Your First PR instructions post monogem (#8754) via Andrea Falcone
Pin the rubocop version to prevent reactive fixing (#8753) via Michael Furtak
rubocop disable PercentLiteralDelimiters rule (#8752) via Helmut Januschka
Add a tip about using QuickDemo for clean status bar (#8739) via Andrea Falcone
Do not change or generate README.md after running rspec (#8629) via Fumiya Nakamura
Use the new UI.test_failure! in screengrab (#8736) via Michael Furtak
Add another ADB status phrase to reject (#8732) via Michael Furtak
Add Gitlab 9.0+ ENV variable for branch detection. (#8707) via Peter Spiess-Knafl
Fix pilot stuck waiting for multiple builds. Only wait for latest (current upload) (#8640) via Nicolás Gebauer
Modernize action to action call to resolved configurations (#8719) via Todd Brannam
Catch Xcode 8.3 legacy API while patching Xcode PackageApplication script (#8717) via Felix Krause
Print information about dir handling in fastlane on error (#8694) via Felix Krause
Show information about how to share schemes (#8714) via Felix Krause
Add more tests for ConfigItem and clarify error message (#8711) via Felix Krause

2.24.0 Stability and documentation improvements and better React Native support

Convince people to disable legacy build API (#8692) via Felix Krause

Add custom error message when receive an internal server error (#8696) via Felix Krause

change the zip output path from relative to absolute (#8637) via yukiasai

Update fastlane tool collector to work with mono repo change (#8632) via Felix Krause

Improve react-native onboarding (#8605) via Felix Krause

Replace test failures with its own class to have more accurate crash metrics (#8631) via Felix Krause

[match] Check push permission to git repository (#8643) via Econa77

Add macOS support to snapshot (#8468) via David Ohayon

Fix hardcoded fastlane paths (#8380) via Maksym Grebenets

Fix crash in scan.rb - no implicit conversion of nil into Array (#8677) via battlmonstr

Add documentation about the fastlane directory behavior (#8693) via Felix Krause

Update update_checker to point to fastlane.tools domain (#8710) via Felix Krause

And other documentation and test improvements

Unfortunately the legacy build API was removed with Xcode 8.3. Please make sure to remove use_legacy_build_api from your ./fastlane/Fastfile and update the gym call to include the export method like this:
App Store Builds

gym(scheme: "MyScheme", export_method: "app-store")

Ad Hoc Builds

gym(scheme: "MyScheme", export_method: "ad-hoc")

Development Builds

gym(scheme: "MyScheme", export_method: "development")

In-House Enterprise Builds

gym(scheme: "MyScheme", export_method: "enterprise")

What to do if you run into code signing errors?
If you run into a code signing error, please check out our troubleshooting guide and common issue and how to solve them.
If that still doesn't help please submit an issue. Make sure to share your fastlane env output when doing so, and mention that you followed all steps in the linked docs.
2.23.0 General improvements

Improve design of user input questions (#8606, #8607) via Felix Krause
Fix edge case in install_on_device action (#8582) via Rafael Sachetto
Add "--new-comment" / "--base" / "--head" support to Danger action (#8574) via Shunsuke Maeda
Show all available options in --help output @nafu (#8624) via Fumiya Nakamura
Make scan's slack_url ignore empty strings (#8627) via Michael Furtak
Fix crash on some rare cases of fastlane init (#8604) via Felix Krause
Improve documentation

To see all new releases, open https://github.com/fastlane/fastlane/releases
Please update using sudo gem update fastlane

If it would be useful, I can try a run now where I add the testers before uploading a build.

Hey @cvermilion, thanks for all of that output. It would be really helpful to know how you are calling the add tester action that is producing that output. Also, is it safe to assume that the user you are trying to add is already an iTuneConnect user and you are just trying to assign them to the app to be able to test it?

Hello! I have similar issue. I want to create app, create cert, add internal tester and start testing from ci server. it was working before testflight updates. So before build user was added to itunes-connect users and I haven't start testing of that app.
  # here is part of scripts which create app on itunes connect and make signing and build.

  if ENV['PILOT_TESTER_EMAIL'] != nil
        Pilot::TesterManager.new.add_tester(
            email: ENV['PILOT_TESTER_EMAIL'],
            first_name: "appboss tester",
            last_name: "appboss",
            app_identifier: request['app_namespace']
        ) # <----- adding of user ends with error now
      end
  pilot(
          ipa: find_ipa,
          username: user,
          app_identifier: request['app_namespace'],
          beta_app_description: 'test',
          beta_app_feedback_email: DEFAULT_ACC,
      )
    end

[09:18:49][Step 2/2] [09:18:49]: ▸ 1.2.840.1136<IP_ADDRESS>
[09:18:55][Step 2/2] [09:18:55]: Upload build to TestFlight
[09:18:55][Step 2/2] [09:18:55]: Login to iTunes Connect (*******)
[09:18:57][Step 2/2] [09:18:57]: Login successful
[09:18:57][Step 2/2] [09:18:57]: Existing tester ***
[09:18:59][Step 2/2] [09:18:59]: Could not add *** to app: ***
[09:19:01][Step 2/2] [09:19:01]: *** does not have a default external group. Please make sure to pass group names to the `:groups` option.

Hi @punksta and @cvermilion, we are currently working on a fix here: https://github.com/fastlane/fastlane/pull/9002. Thanks for your patience!

Hey @cvermilion, thanks for all of that output. It would be really helpful to know how you are calling the add tester action that is producing that output. Also, is it safe to assume that the user you are trying to add is already an iTuneConnect user and you are just trying to assign them to the app to be able to test it?

Here's the command I was using to add a tester in the run that was successful:
fastlane pilot add -e "$email" -u "$ITUNES_CONNECT_ACCOUNT" -a "$bundle_id" --distribute_external=false

(having set up credentials in a prior step with fastlane fastlane-credentials).
And yes, these are existing iTC users, just want to assign them to the app so they get an email automatically. Obviously it's not a huge pain to add them manually in iTC but it's nice to be able to script the entire flow.

Ah, looks like a fix has already landed! I will take a look as soon as that's in a release. Or is there a straightforward way to update my local version to the latest master? (I couldn't find anything in the docs.)
Thanks for the quick turnaround!

Thanks for the follow up @cvermilion! So, two things:

using the --distribute_external flag is probably unnecessary in when running fastlane pilot add ... it is more meant for when distributing apps to testers, specifying to which groups they are being sent. And even with that said, the new TestFlight changes have made it so that wont even be the case moving forward because for apps that were added to TestFlight since the changes, they do not have a default external group, so groups must be specified.
There is definitely a straightforward way to run from the updated master branch, and we'd love to hear your feedback and see if the changes we made will fix your issue. To run from master you can:

Create a Gemfile in your project directory with the following contents:

source "https://rubygems.org"

gem 'fastlane', git: 'https://github.com/fastlane/fastlane'

Then you can run bundle install to get the most recent master
Then, to execute fastlane using the master branch, you can run bundle exec fastlane ..... from your command line.

Let us know how this goes for you. Thanks again! 🚀 🐙

It's looking good on master for me now! 🎉
And indeed, dropping the --distribute_external flag doesn't break anything. So I guess an existing iTC user is added as internal by default?
As a tangential suggestion, I don't use Ruby and rubygems for much other than a few tools like fastlane, so the Gemfile approach to using master wasn't at all obvious to me -- it might be worth adding that to the docs somewhere.

Thanks for following up @cvermilion! 🚀
The behavior for adding testers is that it tries to find an iTC user first by the email address and if it finds that, it will add it to the app otherwise, it will create a new external and add it to the specified groups in the app or, if no groups are specified, it will try to find the default external group (which is not available for apps added to TestFlight since the changes from a couple weeks ago).
Thats a great suggestion to add those instructions to some docs. We will definitely make that happen!
I am going to close this issue for now, but let us know if you have any more issues that come up. Thanks again! 🐙


Show the problem

I would like to ask how can I do this to show him 5 10 15 20 25 30 instead of 1 2 3 4 5 6 7 8 9 10

Please try the following example 😃
int length = 10;
int level = 5;
String[] numbers = new String[length];
for (int i = 0; i < numbers.length; i++) {
    numbers[i] = String.valueOf((i + 1) * level);
}
numberPicker.setMinValue(1);
numberPicker.setMaxValue(length);
numberPicker.setDisplayedValues(numbers);
numberPicker.setValue(5);


RSA keygen in preparation to asking /id from ipfs

Sorry for the refactoring with the http being here as well, I created a config module with configuration file handling there. The rsa keygen and following import/export thing was a lot more difficult than I thought.
I made some questionable changes to ipfs::config as well, I removed it from the ifps::IpfsOptions. I made this because looking back at the ipfs::config::KeyMaterial it seems like a bad idea to extend it with Pkcs8Buffer or something similar, I am not so sure if the mutability through Options makes a lot of sense. If this solution feels worse I can present the KeyMaterial extension as well. I also thought that the "library initialization through configuration file" might not be so important use case after all, as most likely you'd like to bring your application configuration file and turn that into the ipfs::IpfsOptions.
This could be mergeable as is. I'll continue from here into spawning the background task and exposing the ipfs::Ipfs to the filters, but hopefully on a different PR.

Is there no other way to do it except using openssl?

Sadly I cannot see a way. rsa crate exists and would be suitable for our testing purposes at least (there are warnings for not having audited) but for testing purposes I'd be happy to get any key from rsa imported as ring key used by rust-libp2p. There isn't any export PKCS#{1,8} functionality in rsa I could find (even less import/export in released version, some import features have been added later) but even the latest importing seems to differ from how ring imports RSA keys. As DER functionality is not exposed by openssl either so I had to hack it, luckily it's the easiest thing done here (see pem_to_der).
I wrote more/different notes on aae24e1c4be374e669b9a00b6bacd2101accb283.
The windows github actions openssl should be doable, but I can't see what would the solution be. Trying to ask around.

@dvc94ch asking to make sure you saw the ipfs::config::ConfigFile related changes in ipfs::IpfsOptions I mentioned in PR description while I research the openssl library installation:

I made some questionable changes to ipfs::config as well, I removed it from the ifps::IpfsOptions. I made this because looking back at the ipfs::config::KeyMaterial it seems like a bad idea to extend it with Pkcs8Buffer or something similar, I am not so sure if the mutability through Options makes a lot of sense.

I agree that it makes sense to make the configuration the responsibility of the user, in this case http

Is there no other way to do it except using openssl?

Sadly I cannot see a way.

To elaborate on others than the rsa:

rustls: couldn't find key generation or export
ring: couldn't find key generation (but help to use openssl), not sure on exporting

I agree that it makes sense to make the configuration the responsibility of the user, in this case http

Great! Thanks for the another look.
Still no luck with the build however, there are some open issues like https://github.com/sfackler/rust-openssl/issues/1062 but strange not to find examples on this.

Trying to disable http on cross builds as I have no idea on how to start building openssl or downloading any prebuilts for the cross compilation with either apt or brew. I'll create an issue for this, I'm sure someone knows how to fix this.


Updated 'Dockerize a Svelte App' as it was repeating itself a little.

Also reworded some parts to help explain what is going on.

nice! needs someone who knows docker to review this... @antony ?

Will review asap :) Thanks @cainux


could not find driver (Connection: , SQL: select "label", "name" from "icons" limit 10)

After installation and configuration as mentioned in the readme,
impossible to create a type, I get this error :
could not find driver (Connection: , SQL: select "label", "name" from "icons" limit 10) ![Tomto-types](https://github.com/user-attachments/assets/6bc140f7-e612-4710-8f69-c7c7e3ce90c4)

hi, @Pok09 we use sqlite to cache the data, so please make sure you have sqlite3 ex active on your PHP


KeyError(f"None of [{key}] are in the [{axis_name}]"

I am getting KeyError(f"None of [{key}] are in the [{axis_name}]" while running python models/load_data.py.
The error occurs in this line.

I have set appropriate path for criteo_dataset in load_data.py. The download, extraction and creating local files part is successful. I downloaded dataset from this website: https://www.kaggle.com/competitions/criteo-display-ad-challenge/data.

Hi, @lmohit95, this has been solved in #52 and sorry for the delay.

Thank you. load_data.py works perfectly now. The dataset is downloaded and processed.
But while running bash tests/local_dcn_criteo.sh command, I get the following error. I have tried changing batchsize at line 62 in run_hetu.py and tried running the command, but I still get the same error.

I am able to run other DLRM like facebook open source DLRM using GPU, so I believe CUDA setup is correct.

@lmohit95, Hetu main brench has been updated, please try to pull the new code and try again.

@lmohit95, Hetu main brench has been updated, please try to pull the new code and try again.

Thank you. It works now. Sorry for asking lot of questions. I am facing this issue now while training criteo dataset.
https://github.com/Hsword/Hetu/issues/50#issuecomment-1320993808

@lmohit95, Hetu main brench has been updated, please try to pull the new code and try again.

Thank you. It works now. Sorry for asking lot of questions. I am facing this issue now while training criteo dataset.
#50 (comment)

I mean this problems has been solved by #47, and will it still happen when you pull these changes?

I get the following error when I run bash tests/local_dcn_criteo.sh. I created hetu_config.yaml file in tmp folder and copied contents provided in README.MD. I am trying to run HET on a single GPU.

To avoid this error, I deliberately made file = None in __init__ function of distribute.py. While doing that, I am facing the outofmemory error.

You can also update the line 120 by the following code to avoid the first error:
https://github.com/Hsword/Hetu/blob/1684091dacacc780be3bab4f1538bb41ae33cc4c/examples/ctr/run_hetu.py#L120-L126
For the OOM error, #47 implements dynamic memory allocation, and the gpu memory peak will be halved when you run bash tests/local_dcn_criteo.sh.
Maybe you haven't pull the latest code yet?

Everything works perfect now. I am able to run the command bash tests/local_dcn_criteo.sh. I just want to confirm the results. My assumption was running criteo dataset will take hours, but the training here finished very quickly. HET paper also mentions that DCN criteo dataset ran for hours in Fig 6.c.
I used load_data.py to download and extract around 4GB of criteo data.

@lmohit95, thanks for you feedback and sorry for my mistake.
It is true that there are still some errors in dataset processing, and I have fixed it in #54.
Please pull my code and run python load_data.py again.

Thank you. Everything works now. I just wanted to clarify something regarding run_hetu.py --model dcn_criteo --all --val. This command trains and tests HET on criteo dataset right?
The paper mentions that the training process can take hours, but in my case the training runs for a total of 10 epochs with far less runtime.

It seems like you are running in a local execution mode, rather than the distributed training. That's why it's much faster.
Besides, note that the test_auc is reported every 1/10 epoch as described in https://github.com/Hsword/Hetu/blob/acae42a17c16752b1aafc3095c79c2ae12ad949c/examples/ctr/run_hetu.py#L190.

Got it. Thanks for all the help!!!


why the microstream write performance is not good as DB?

I just fork the bookstore-demo and add an api to add boot(call the microstream store), I only add the log but find that it is very slow when adding one boot. you can my project https://github.com/yqbjtu/bookstore-demo/tree/feat/write_perf_log, use the feat/write_perf_log branch, https://github.com/yqbjtu/bookstore-demo/blob/feat/write_perf_log/perf-log/perf-log.md.  I used the ssd and  my machine has 32G main memory,  Java jdk-17.0.4
@mstahv
Should I change the store way?  I just copied the bookstore-demo project,  or microstream is designed mainly used for reading  such as the read/write is 9:1,

@fh-ms is the best expert on earth to comment if that is a lot or not

The reason of the poor performance ist that the books are added and stored one by one.
If you add them in batch and store the changes once, it goes down to a few milliseconds.
I put the changes in a PR: yqbjtu#1

Thanks your reply!

The reason of the poor performance ist that the books are added and stored one by one.
If you add them in batch and store the changes once, it goes down to a few milliseconds.
I put the changes in a PR: yqbjtu#1

Thanks your reply!   @fh-ms
But I can't use the batch mode. In my application, some users add books(it is other entity, I use book as example) , after they add, It is necessary to save the add books, it is like one user adds one book , but there are many adding.  If  I use batch mode (such as every 5 minutes to save once),  after userA add bookA1, it can't find bookA1 immediately for the finding from the microstream storage.  when the machine or application shutdowns accidently, the data will be lost for it save data every 5 minutes.
my application throughtput is small, about 60 books will be added every seconds, the totla count will 5000 million bookes. but the data needs to be saved integrally and can't be lost.  after a book is added. other pipelin will queried this books immediately, so the batch mode can't be used.
Do we have any setting to promote the writing performance as DB? the read performace is better the DB(we already veried this point), but our application needs to write data immediately when it is added

Could we give the detail microstream write performance comparing with DB,   such as in the when there are 10 million books, when adding on book once ,the write cost time is xxx in microstream.   @fh-ms @hg-ms
from the bookstore-demo, the microstream write performance  is not good as DB,  We need this metric to decide which apps are suitable to use microstream.  Thank you very much!
every framework has its own suitable use scenario。 microstream reading is very fast.

This demo is optimized for read operations. If you want to achieve a high write throughput, you can either segment your data or use lazy collections. See details here, and results here.


Update README.md

the original path from fuzzapi to fuzzapi/bin

@nkpanda Thanks for the PR!!
Running commands with bin/rails or bin/rake is good practice, generally they work even without bin


Gracefully handle if client didn't connect

When a user goes to https://beta.kodadot.xyz/bsx/offers/ will see computing prop in expiration doesn't tell much.
I will probably add some refresh stuff in case the user can handle it?
Probably wasn't properly implemented subapi on connect handler?
btw on refresh is gone but on crappy networks might happen

link #9076


REFINE: Create a smart version policy to suggest software updates

Questions driving the need:

Are we agreed there will always be a desktop wallet release alongside a core release so that there can always be a “matching” wallet version for all core versions?
What happens when the difference is massive like if you’re using the current mainnet desktop wallet with Fairground, or with mainnet after the upgrade. This situation will cover most users for a while and needs to be handled extremely well.
Do we have any mechanism for future major breaking changes or if we find a security issue and need to signal that upgrading is very important?
Is there a difference between how loudly we shout about the mismatch depending on whether the release differ at major, minor, or patch semver level?
Do error messages that could be caused by version incompatibility (eg a missing field that is mandatory or something on a txn) do the version check and add an additional message that this could be the reason (or include such a message hard coded)?

Merging with #474


ci: post a weekly report to zulip with some technical debt stats

Great idea! I'd like to suggest three further metrics, at least for the near future.

number of documentation nolintss: almost all of them are genuine at this point
Computing them can be as simple as cat scripts/nolints.json | grep -c "docBlame".
number of large files (as flagged by the style linter): long-term, this metric may cease to be useful, as a few transient exceptions are presumably normal. In my opinion, we're not at this point yet.) Can be computed using cat scripts/style-exceptions.txt | grep -c "ERR_NUM_LIN" (currently 97); using git grep would also work.
number of missing module docstrings: cat scripts/style-exceptions.txt | grep -c "ERR_MOD" (currently 31)
number of files in Mathlib/ with autoImplicit true : git grep -c "autoImplicit true" | grep -c "Mathlib"
(For all files, git grep -c "autoImplicit true" | wc -l will also work.)
Again, there may be a number of files where autoImplicit true is used sensibly throughout the entire file - but in my experience removing this from files, most files do not use this intentionally, as it's just another small piece of technical debt.)

There is also #13038 that has more statistics.

@grunweg would you like to add those to this PR? Or as a follow-up?

Let's iterate fast. We'll merge this and add more later.
I'd love to see graphs, too. :-)

bors merge

I just pushed a commit adding the four metrics I proposed, not having seen the approval. Apologies if this cancelled the bors push.

Michael, I think that bors is struggling to merge a group of PRs with some conflicts among them, so even without your push this would have probably failed anyway.

bors merge


Brief show of zero balance

Description
Each startup, BitBanana briefly (and sometimes longer) shows a balance of 0 before the actual balance appears.

Expected Behavior
I think it should not do that. It's extremely irritating, especially in those cases where that invalid state shows for a longer time.

Actual Behavior
See description.

Possible Fix
Show some progress indicator instead: e.g. "Loading balance…"
If the rest of the main screen is usable even without proper balance, the progress could be shown on the main screen with the other buttons already active.

Steps to Reproduce

Start BitBanana.
Watch startup closely.

Context

Your Environment

BitBanana version: 0.7.4
Android version: 14
Device: Pixel 7a
LND Version: 0.17.4-beta

@schildbach Thanks for the report.
This issue is actually already fixed in the next branch.
There I redid the whole starting procedure during the refactoring for multi backend support and cleaned and improved lots of things.
Should be out with the next update :)

This is fixed now and shipped with v0.8.0!


Question: Moiety Sorted

Is there a possibility to keep the atom sorting from the xyz-file when using moiety() ?
julia> moiety("glycine_res.xyz")
Crystal(C₂H₃NO, periodic = TTT):
    bounding_box      : [       1        0        0;
                         6.12323e-17        1        0;
                         6.12323e-17 6.12323e-17        1]u"Å"

    Atoms{Frac}(1, [:C], Frac([-3.0898692; -0.95823882; 0.0;;]))
    Atoms{Frac}(1, [:N], Frac([-2.4029152; -2.23405082; 0.0;;]))
    Atoms{Frac}(1, [:C], Frac([-2.0853462; 0.18518518; 0.0;;]))
    Atoms{Frac}(1, [:H], Frac([-1.4033551999999998; -2.26371682; 0.0;;]))
    Atoms{Frac}(1, [:H], Frac([-3.7147022; -0.88143582; -0.889823;;]))
    Atoms{Frac}(1, [:H], Frac([-3.7147022; -0.88143582; 0.889823;;]))
    Atoms{Frac}(1, [:O], Frac([-0.8513402; -0.06139382; 0.0;;]))

shell> cat glycine_res.xyz
7

 N                 -2.40291520   -2.23405082    0.00000000
 H                 -1.40335520   -2.26371682    0.00000000
 C                 -3.08986920   -0.95823882    0.00000000
 C                 -2.08534620    0.18518518    0.00000000
 H                 -3.71470220   -0.88143582   -0.88982300
 H                 -3.71470220   -0.88143582    0.88982300
 O                 -0.85134020   -0.06139382    0.00000000

we should put this in the doc string as a warning?
absolutely
is the reason for doing this, for some down-stream efficiency during the search?
yes
would the code break if we were to provide a keyword argument sort_atoms=true?
let's see

The atoms are sorted by node degree so that when the structure matching algorithm iterates through them, we get the best pruning of the search tree.  We should mention this caveat in the docstring, for sure.  I'll try out the idea of conditionally skipping that re-ordering.
@galjos an immediate workaround could be to import the XYZ data via moiety and then save a new version of the data file glycine_res_pmm.xyz.  Subsequent re-loading of the data file will preserve the order.  If all that matters is correspondence between PoreMatMod's indexing and the source file's, this solves the problem without sacrificing any search speed.

Thanks a lot, @eahenle and @SimonEnsemble .


GD32VF10x

Ref: #117

@kassane Can you provide source and license information for the SVD?  I did not see any license info in the SVD text and we don't have anything in tree already for this vendor to indicate licensing.

@kassane Can you provide source and license information for the SVD? I did not see any license info in the SVD text and we don't have anything in tree already for this vendor to indicate licensing.

source: https://github.com/sipeed/platform-gd32v

ping @posborne


Removed "TLS" from ts_security.md + many MD fixes

MD fixes are for Issue #273

Coverage increased (+0.02%) to 46.41% when pulling c4db5501d11911210f0fdd04e7029099d224e0b2 on veschup:develop into 2a7587374ac5e2f47bd8652d88486e09958502d1 on kaazing:develop.

Coverage decreased (-0.02%) to 46.37% when pulling 4a7d66e80d6db90820da0240aacaca6158e914fc on veschup:develop into 2a7587374ac5e2f47bd8652d88486e09958502d1 on kaazing:develop.

Closing this pull request because I submitted it prematurely (before the doc review process was completed).

Coverage increased (+0.01%) to 46.4% when pulling 799f9a8c2fd17ab4edf33f4f50d53a67ae9be843 on veschup:develop into 2a7587374ac5e2f47bd8652d88486e09958502d1 on kaazing:develop.

Coverage decreased (-0.01%) to 46.38% when pulling 799f9a8c2fd17ab4edf33f4f50d53a67ae9be843 on veschup:develop into 2a7587374ac5e2f47bd8652d88486e09958502d1 on kaazing:develop.

Coverage increased (+0.03%) to 46.42% when pulling 799f9a8c2fd17ab4edf33f4f50d53a67ae9be843 on veschup:develop into 2a7587374ac5e2f47bd8652d88486e09958502d1 on kaazing:develop.


Redis.rb deprecation warning with exists_returns_integer=false

With the version 1.3.0, we get this new deprecation warning now.
This should not be raised if redis-rb gem > v 4.3. Redis has added exists? method for a long time now.
Redis#exists(key) will return an Integer by default in redis-rb 4.3. The option to explicitly disable this behaviour via Redis.exists_returns_integer will be removed in 5.0. You should use exists? instead.
/usr/local/rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sidekiq-cron-1.3.0/lib/sidekiq/cron.rb:7:in `module:Cron'
/

Hi @v-kumar
That's already fixed on master: https://github.com/ondrejbartas/sidekiq-cron/pull/318

Thank you. Can you cut a new release with #318 ?

We'll do soon! In the meantime, you can point the gem to GitHub master branch:
gem 'sidekiq-cron', github: 'ondrejbartas/sidekiq-cron'

Sorry for any inconvenience!

When is "soon"? :)

I'll try to prepare this release tonight :bowtie:

Live 🚀  https://rubygems.org/gems/sidekiq-cron/versions/1.4.0


feat: raw_entry_mut: iterate all entries raw?

TL;DR: add functionality roughly isomorphic to
fn RawEntryBuilderMut::all(self) -> impl Iterator<Item=RawOccupiedEntryMut>;

I currently have a cache with roughly the shape
struct Cache {
    hasher: ahash::RandomState, // dedupe the 2×u64 hasher state and enforce custom hashing
    nodes: HashMap<Arc<Node>, (), ()>,
    tokens: HashMap<Arc<Token>, (), ()>,
}

which makes heavy use of the raw_entry_mut API to get allocation-free cache hits even though Node and Token are ?Sized types, and to do custom hashing for items in the cache (for example, only checking "thin" equivalence for nodes rather than recursing into node children).
I would like to add a garbage collection option to the cache to drop any arc in the cache that is not used outside of the cache. If these were "normal" hashmaps/hashsets, this would be trivial:
pub fn Cache::gc(&mut self) {
    self.nodes.retain(|(node, ())| Arc::strong_count(node) > 1);
    self.tokens.retain(|(token, ())| Arc::strong_count(token) > 1);
}

but because retain requires S: BuildHasher and my raw_entry shenanigans, this doesn't work on its own.
So: is it possible to remove the S: BuildHasher requirement from HashMap::retain or expose a raw_entry_mut API to iterate over all entries in raw_entry mode?
pub fn Cache::gc(&mut self) {
    for entry in self.nodes.raw_entry_mut().all() {
        if Arc::strong_count(entry.key()) == 1 {
            entry.remove_entry();
        }
    }
    for entry in self.tokens.raw_entry_mut().all() {
        if Arc::strong_count(entry.key()) == 1 {
            entry.remove_entry();
        }
    }
}

A local test shows that for both retain and drain_filter currently require K: Eq + Hash, S: BuildHasher, just moving them into the impl block without any bounds on <K, V, S> continues to work and pass all tests without any further adjustments.

That sounds like a good idea, would you like to send a PR?

Based on some quick experimentation, because RawOccupiedEntryMut holds a &mut RawTable, any .raw_entry_mut().all() would have to be a streaming iterator rather than a standard iterator.


Remove GeoJS jitter when zoomed in

This appears to be solved with PR #196.  I don't see the jitter any more on my system.  If it still exists, please open a new issue and report what browser and OS you can see it on.


Fix race condition in cpu_pressure_test.go

What does this PR do?

[ ] Adds new functionality
[ ] Alters existing functionality
[ ] Fixes a bug
[ ] Improves documentation or testing

Please briefly describe your changes as well as the motivation behind them:

The test was failing frequently in CI and locally. I found that in cpu_pressure.go:

if i.prioritizeStresserProcess(core, tid) {
				mutex.Lock()
				i.routines++
				mutex.Unlock()
				wg.Done()
				i.startStresser(core, tid)
			}

The wg.Done() is called immediately before i.startStresser. This code block is running in a goroutine. Thus in the test code we might Assert that Stress was called before we have guaranteed it would have been called by the app code. Thus I wrap it in an Eventually.

I also changed all of these Its into Bys. Why? Well JustBeforeEach and BeforeEach actually run before each It, thus we're making a series of assertions about a single injection, while actually doing five injections (and cleanups). This doesn't affect the correctness, but is a waste of time.

I added a TODO and need to ask @taihuynh167, what AfterEach are we relying on in the second test? I couldn't find one when I checked out the commit that added the second test.

Code Quality Checklist

[ ] The documentation is up to date.
[ ] My code is sufficiently commented and passes continuous integration checks.
[ ] I have signed my commit (see Contributing Docs).

Testing

[ ] I leveraged continuous integration testing

[ ] by depending on existing unit tests or end-to-end tests.
[ ] by adding new unit tests or end-to-end tests.

[ ] I manually tested the following steps:

x
[ ] locally on loop.
[ ] as a canary deployment to a cluster.

Rats, the test still failed for me after ~30 runs. Less often, but will keep looking

Eventually can't stop that Assert from failing the test, need to change the approach


WFLY-12355 Added an exclusion on the jboss-transaction-api_1.2_spec t…

…hat can be reverted when batch consumes jboss-transaction-api_1.3_spec
Thanks for submitting your Pull Request!
Please make sure your PR meets the following requirements:

[ ] Pull Request title is properly formatted: [WFLY-XYZ] Subject or WFLY-XYZ Subject
[ ] Pull Request contains link to the JIRA issue(s)
[ ] Pull Request contains description of the issue(s)
[ ] Pull Request does not include fixes for issues other than the main ticket
[ ] Attached commits represent units of work and are properly formatted

For bigger changes, major and minor component upgrades make sure your PR also meets following requirements:

[ ] Pull Request requires a change to the documentation
[ ] Documentation have been updated accordingly
[ ] Tests were added to cover changes

For new features ensure as well:

[ ] Analysis was done
[ ] Test Plan has been done
[ ] Tests were verified in advance

If you are not an active contributor of the WildFly project you can request sponsorship by one of the members to help guide you through the process.

@tomjenkinson thanks


Spatial viewer should support labels on map

Is your feature request related to a problem? Please describe.
The spatial viewer is nice, however just showing the geometry when viewing all data for a table and selecting the Spatial tab might not help getting an overview of the corresponding data.
Describe the solution you'd like
I would like an option of labels next to the geometry showed on the map, e.g. by selecting a corresponding column or even an expression to combine more fields.
Describe alternatives you've considered
It doesn't look like it's possible to customize the geometry output at all (besides different columns use different colours)
Additional context
Quick mock-up of desired result from the spatial view:

This look like JavaScript level task based on leaflet.js. But where from should be the labels? From name property?

This look like JavaScript level task based on leaflet.js. But where from should be the labels? From current column first? From active columns combination? From name property if no active columns?

Anything would do. It would be nice to have a column selector or even an expression field to combine more fields.
If a default column should be used my suggestion for priority would be something along the lines of:

Selected column(s) if any
First column called "name", "title" or any obvious labels (perhaps across different languages)
First string type column
First scalar type column
First column


Unit tests for VotingPowerCalculator

closes #732

[X] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[X] Updated all code comments where relevant
[X] Wrote tests
[ ] Updated CHANGELOG.md

Thanks for reviewing @thanethomson ! I have addressed all your comments and need one last pass from you :)


oauth2: remove version attribute from Set-Cookie

Commit Message: Remove extraneous and deprecated version attribute on Set-Cookie
Additional Description:
The oauth2 filter sets a version attribute on the cookies, which is obsolete per RFC 6265 (2011). It was specified in RFC 2965 (2000) and RFC 2109 (1997) but AFAICT, no browsers use this. The change should be a noop and is simply a code cleanup. Also removes the attribute in the request cookies in the tests (not sure if this even did anything, since it likely is parsed as a separate cookie entirely)
Risk Level: low
Testing: unit testing
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/assign @mattklein123
as oauth codeowner


Django command for generating waveforms

Fixes

Fixes #529 by @AetherUnbound
Description

This PR adds a Django command, generatewaveforms, for generating waveforms of all audio records in order to populate the waveform cache.
I've added a new dependency, django-tqdm, to make the output easier to read. We can remove this dependency once the API no longer generates waveforms.
Command list
root@c219265a4b39:/api# python manage.py --help

Type 'manage.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[auth]
    changepassword
    createsuperuser

[catalog]
    generatewaveforms

[contenttypes]
    remove_stale_contenttypes

...

Help text
root@c219265a4b39:/api# python manage.py generatewaveforms --help
usage: manage.py generatewaveforms [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color] [--force-color] [--skip-checks]

Generates waveforms for all audio records to populate the cache

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v {0,1,2,3}, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output
  --settings SETTINGS   The Python path to a settings module, e.g. "myproject.settings.main". If this isn't provided, the DJANGO_SETTINGS_MODULE environment variable will be used.
  --pythonpath PYTHONPATH
                        A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".
  --traceback           Raise on CommandError exceptions
  --no-color            Don't colorize the command output.
  --force-color         Force colorization of the command output.
  --skip-checks         Skip system checks.

Sample output
root@c219265a4b39:/api# python manage.py generatewaveforms
Generating waveforms for 5,000 records
  0%|                                                                                | 1/5000 [00:00<16:19,  5.10it/s]
  Unable to process 67acc776-838c-4242-bb99-be9e0be061b6: Can't generate json format output from Unknown file format
  1%|██▍                                                                                | 69/5000 [01:04<45:46,  1.80it/s]

Testing Instructions

just recreate
just init
docker-compose exec web bash
python manage.py generatewaveforms

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Unit tests would also be nice to have for this, especially if my suggestions end up getting implemented (in particular the start/stop/resume aspect) and the complexity of it increases.

Agreed, I'll try to start on those if I have time before I'm out. Initially this was really straightforward, but then I added error handling, and with the other suggestions it definitely makes sense to do!

@AetherUnbound If you're okay with handing this off and run out of time, I'm happy to pick this up wherever you leave off, no sweat, just let me know.

@sarayourfriend I don't think I'm going to end up getting to this before I'm out - please feel free to take it over!

@AetherUnbound Sure thing!

@obulat @dhruvkb this should be ready for review now after adding pagination and unit tests

@sarayourfriend Seeing three remaining lint errors in the latest run:
api/test/unit/management/commands/generatewaveforms_test.py:53:5: F841 local variable 'waveforms' is assigned to but never used
api/test/factory/models/media.py:6:1: F401 'catalog.api.models.media.AbstractMedia' imported but unused
api/test/factory/models/media.py:21:58: E741 ambiguous variable name 'l'

Thanks @zackkrida, fixed and pushed. Tho now there are some conflicts I need to resolve :+1:

@AetherUnbound I think your symbolic approval here would be fine, once you think it's good to go I can merge it, if no one else reviews it by then.

This looks great! Manually testing with interrupts, with the rate limit enabled/disabled, and setting a limit to let the batch complete all seem to be working great 🎉
Other than merge conflicts, I think the test_audio_success_examples test may also need to be updated. When I run the api-tests locally I get something like:
Differing items:
E         {'peaks': [0.61275, 0.19593, 0.74023, 0.45534, 0.52315, 0.40059, ...]} != {'peaks': []}

For the audio detail & search endpoints.

I'm also getting the error Staci is getting, as well as:
in_val = '\n# Search for music titled "Wish You Were Here" by The.madpix.project\ncurl  "http://localhost:8000/v1/audio/?title=Wish%20You%20Were%20Here&creator=The.madpix.project"\n'
out_val = {'application/json': {'page': 1, 'page_count': 0, 'page_size': 20, 'result_count': 1, ...}}

    @pytest.mark.parametrize("in_val, out_val", list(audio_mappings.items()))
    def test_audio_success_examples(in_val, out_val):
        res = execute_request(in_val)
>       assert res == out_val["application/json"]
E       AssertionError: assert {'page': 1, '...ount': 1, ...} == {'page': 1, '...ount': 1, ...}
E         Omitting 4 identical items, use -vv to show
E         Differing items:
E         {'results': [{'category': 'music', 'creator': 'The.madpix.project', 'creator_url': 'https://www.jamendo.com/artist/441585/the.madpix.project', 'detail_url': 'http://localhost:8000/v1/audio/8624ba61-57f1-4f98-8a85-ece206c319cf/', ...}]} != {'results': [{'category': 'music', 'creator': 'The.madpix.project', 'creator_url': 'https://www.jamendo.com/artist/441585/the.madpix.project', 'detail_url': 'http://localhost:8000/v1/audio/8624ba61-57f1-4f98-8a85-ece206c319cf/', ...}]}
E         Use -v to get the full diff

@stacimc @AetherUnbound does that happen on a fresh version of the API or only with existing data after running generatewaveforms?
If I do just recreate && just init && just api-tests they all pass. But if I run just dj "generatewaveforms --max_records=3" and then run just api-tests again they fail.
I think this is because our API integration tests rely on the existing database rather than (what would be ideal) building their own data that then gets torn down after each test iteration.
Is fixing that in scope for this issue? I could probably find a workaround but it would likely cheapen the tests :confused: The easiest thing I can think would be to just delete the peaks property from both sides of the comparison.

Ah, my bad! I didn't run recreate before testing. I'm doing so now, as soon as that finishes OK I'll fix the Pipfile.lock conflicts and merge :smile:

@obulat that's a bug introduced by the previous PR that actually added the peaks data to the API. Let's fix it in a separate issue.


docs: Demo video is not playing in Firefox or in Quick-time when downloaded

Describe the bug
The video in the README (
https://github.com/lawrence-laz/neotest-zig/assets/8823448/2e959ca5-db2a-4eee-a422-48c11e853595) is not playable.
Steps To Reproduce

Open firefox and navigate to the README, or download the file

Current behavior
The video does not play unless I am using Chrome.
Expected behavior
The video should play in all browsers, or when downloaded.
Screenshots

Additional context
We may want to look at another format.
Note: this is a docs-only issue.

Huh, that's odd. Re-encoded using ffmpeg -i old.mp4 -vcodec libx264 -acodec aac new.mp4 and now it seems to be runnable.
Let me know if it works for you


textChanges() didn't emit after databinding executePendingBindings

I implemented UI swap function to swap the text between source and destination but after databinding executePendingBindings to update viewModel data, TextView.textChanges() didn't emit item
Below is my current implementation
binding.imgSwap.setOnClickListener {
            binding.setVariable(BR.swap, binding.swap?.switch())
            binding.executePendingBindings()
        }

viewModel.compositeDisposable.add(
            Observables.combineLatest(
                binding.tvSource.textChanges().skipInitialValue(),
                binding.tvDest.textChanges().skipInitialValue()
            )
                .observeOn(schedulerProvider.ui())
                .subscribe({ pair ->
                    viewModel.getMarketRate(pair.first.toString(), pair.second.toString())
                }, {
                    it.printStackTrace()
                })
        )

Please help to check. Thank you

That would also mean the regular text change callback didn't fire so I don't really see any action to take.


less monolithic example

Separate pieces:

generation of permutation inputs from GISTIC outputs
tuning with local permutations
running multiprocessor permutations
analyses

Default parameters in global variables
Save/load workspace

Done


[CI] Remove a lyft maintainer

Description: Removing @goaway from the list of Lyft maintainers.
Risk Level: None
Testing: N/A
Docs Changes: N/A
Release Notes: N/A

Going to close That's to unblock https://github.com/envoyproxy/envoy-mobile/pull/2467 and kick-off a manually on-call person update.

/retest


remove legacy accelerators

What does this PR do?
rm -r pytorch_lightning/accelerators/legacy

Follow up to #5743
The old accelerators and plugins are not usable anymore since the refactor.
They can be deleted.
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified
[x] Check that target branch and milestone match!

Did you have fun?
Make sure you had fun coding 🙃

just maybe keep them till the final 1.2 release :]


KeyError: 'opts'

Trying to run inference
python scripts/inference.py \
--exp_dir=test_data \
--checkpoint_path=pt/disney_princess.pt \
--data_path=test_data \
--test_batch_size=4 \
--test_workers=4 \
--n_iters_per_batch=5 \
--load_w_encoder \
--w_encoder_checkpoint_path pt/faces_w_encoder.pt

I got error:
Traceback (most recent call last):
  File "scripts/inference.py", line 108, in <module>
    run()
  File "scripts/inference.py", line 32, in run
    net, opts = load_model(test_opts.checkpoint_path, update_opts=test_opts)
  File "./utils/model_utils.py", line 14, in load_model
    opts = ckpt['opts']
KeyError: 'opts'

I try to run any script and all of them failed. Could you please provide actual example of how to apply any style?

If you are trying to run inference and perform domain adaptation, you should be using the run_domain_adaptation script.  All the details are provided in the README: https://github.com/yuval-alaluf/hyperstyle#domain-adaptation
Basically, your checkpoint path is incorrect. Follow the example in the README and it should work.


bitshift operators on Byte

As per the discussion here, bitshift operations on Bytes should apply the mask $111 to the argument.
Since the backend seems to optimize these methods, this change affects the compiler.
See also this commit.

This is https://github.com/ceylon/ceylon/issues/5766

So which methods are we talking about exactly?

@FroMage Byte.leftLogicalShift() and friends.

Done.


Issue in env.yaml

Prefix should be fixed as it will not work for everyone as it is based on the specific directory structure.

Fair point. Fixing now

Referring to the PR here: #4


v2.3.1 Java SAML build issue

Im able to build java-saml-core and the jar is getting generated. Bu when in build the next one java-saml  im getting the below isse,
Failed to execute goal on project java-saml: Could not resolve dependencies for project com.onelogin:java-saml:jar:2.3.1-SNAPSHOT: Failed to collect dependencies at com.onelogin:java-saml-core:jar:2.3.1-SNAPSHOT: Failed to read artifact descriptor for com.onelogin:java-saml-core:jar:2.3.1-SNAPSHOT: Could not find artifact com.onelogin:java-saml-toolkit:pom:2.3.1-SNAPSHOT -> [Help 1]
please help to resolve

doesnt work!


用自己的数据训练

你好！请问如果我想用自己的数据训练SynGEC，我是一共需要更改 ./bash/*_exp 中的pipeline_gopar.sh，preprocess_syngec_*.sh，train_syngec_*.sh和generate_syngec_*.sh这4个脚本吗？还有别的什么地方需要改吗？可以麻烦您说一下具体的流程吗？

感谢关注！
我最近会把整体流程写得更详细一些

Hi, here are the detailed process of using your own data to train SynGEC:

Prepare your dataset: first, you should pre-process your sentence-pair data into src.txt and tgt.txt (for test data, only src.txt is required), each line has one source/target sentence (do not perform word segmentation).

Train a GOPar and predict: You need to change the data_dir variable in pipeline_gopar.sh to the directory of your own data in step 1. Then, you should run pipeline_gopar.sh  to train a GOPar and use it to get the predicted syntactic information of all of your data.

Please kindly note that: To alleviate overfitting, you should use jack-knifing if you prepare to use the same data to train GEC models as the data used to build GOPar. jack-knifing means you should split your data into n folds, and select n-1 folds to train a GOPar then predict on the leave-out 1 fold, and repeat n-1 times to predict the syntactic information of the whole data. In our paper, we only use clang8 to train the GOPar for English, and use HSK to train the GOPar for Chinese, both

Pre-process data for GEC training: you should follow the instructions in preprocess_syngec_*.sh to binarize all sentence-pair files and syntax-related files for GEC training. You just need to change the paths TRAIN_SRC_FILE/TRAIN_TGT_FILE/TRAIN_SRC_FILE /VALID_SRC_FILE/VALID_TGT_FILE.

Train SynGEC: change the training data directories, e.g., PROCESSED_DIR_STAGE1, in train_syngec_*.sh, and run.

Make predictions with SynGEC: see generate_syngec_*.sh.

You will hopefully get the final GEC results if you follow the above steps. Please try and let me know if you have any problem.

Thanks a lot ! I will try it as soon as possible.


hyprland/workspaces do not work

Add the following to the bottom of ~/.config/waybar/config....
    "hyprland/workspaces": {
        "disable-scroll": true,
		"format": "{name} {icon}",
		"format-icons": {
			"active": " ",
			"default": " "
		},
        "persistent_workspaces": {
            "1": [],
            "2": [],
            "3": [],
            "4": [],
        },
    },

@Nyayurn What's your actual hyprland/workspaces config? We can only see you added the "modules/left": ["hyprland/workspaces"] module, but not the config itself. Also please copy paste instead of screenshotting, makes it easier for other people to find similar issues.

@Nyayurn What's your actual hyprland/workspaces config? We can only see you added the "modules-center": ["hyprland/workspaces"] module, but not the config itself. Also please copy paste instead of screenshotting, makes it easier for other people to find similar issues.

none or
"hyprland/workspaces": {}

or

Add the following to the bottom of ~/.config/waybar/config....
    "hyprland/workspaces": {
        "disable-scroll": true,
		"format": "{name} {icon}",
		"format-icons": {
			"active": " ",
			"default": " "
		},
        "persistent_workspaces": {
            "1": [],
            "2": [],
            "3": [],
            "4": [],
        },
    },

as the same error

Which version of Waybar are you using?

Changing wlr/workspaces to hyprland/workspaces fixed it for me.

Which version of Waybar are you using?

extra/waybar 0.9.22-1

That's so strange. Can you copy paste your entire config? Both config.json and style.css.

config
style.css

Yeah I don't understand, your config works without issues on my system, with both the latest master and 0.9.22-1 from the extra/waybar package...

I also can't understand that others have no problem hyprland/workspaces, but I can only use wlr/workspaces
but wlr/workspaces is no longer supported
this is my package list
paru -Qe
paru -Q

idk if its helpful or anything, but try running the config.json through a unescape tool online to see if it changes anything.
that is just from looking at the warning you are getting, but i could be wrong

OK, lets try it in reverse. Rename your existing config to something  else eg
mv ~/.config/waybar/config ~/.config/waybar/config.bakup
Then try swapping your config with mine.
config.txt
Obviously a lot of stuff probably won't work but workspaces should work.

OK, lets try it in reverse. Rename your existing config to something else eg
mv ~/.config/waybar/config ~/.config/waybar/config.bakup
Then try swapping your config with mine.
Obviously a lot of stuff probably won't work but workspaces should work.
Edit - Sorry, that was the wrong config, its my top bar you want... top.txt
Edit 2 - Actually its probably easier to just rename top.txt to top, drop it in ~/.config/waybar then run waybar -c ~/.config/waybar/top.

It still do not work

It still do not work

Try removing the keyboard-state module and see what happens.

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

Did you try running it through an JSON unescape tool online?
If you didn't could you try doing that?

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

How do I do that?

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

How do I do that?

https://www.freeformatter.com/json-escape.html
Try this tool, it might not work, but it is worth the try

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

How do I do that?

https://www.freeformatter.com/json-escape.html
Try this tool, it might not work, but it is worth the try
EDIT: Funny, I tried both your config and the one @Dungeonseeker sent and both work just fine for me

I tried it but still do not work

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

Nah, that config is working perfectly for me. At this point I'm stumped. The provided config works for others and a known working config doesn't work for OP.
The only other thing I can think of is trying to install waybar-hypland which states its specifically for workspaces support but I'm running stock waybar 0.9.22 and I have no issues at all.

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

Nah, that config is working perfectly for me. At this point I'm stumped. The provided config works for others and a known working config doesn't work for OP.
The only other thing I can think of is trying to install waybar-hypland which states its specifically for workspaces support but I'm running stock waybar 0.9.22 and I have no issues at all.

I already used waybar-nvidia,but it still do not work

The only other thing I can think of is trying to install waybar-hypland which states its specifically for workspaces support but I'm running stock waybar 0.9.22 and I have no issues at all.

The waybar-hyprland packages was for wlr/workspaces support not hyprland/workspaces. That package is now obsolete, of course.

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

Nah, that config is working perfectly for me. At this point I'm stumped. The provided config works for others and a known working config doesn't work for OP.
The only other thing I can think of is trying to install waybar-hypland which states its specifically for workspaces support but I'm running stock waybar 0.9.22 and I have no issues at all.

Yeah waybar is just fine, as @zjeffer just pointed out waybar-hyprland is obsolete now.
@Nyayurn did you try manually compiling and seeing what it does?
https://wiki.hyprland.org/Useful-Utilities/Status-Bars/#compiling-manually
There is a sort guide on the hyprland wiki if you want to try that out.

I input these command, but it throw some error
sed -i -e 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' src/modules/hyprland/workspaces.cpp
meson --prefix=/usr --buildtype=plain --auto-features=enabled --wrap-mode=nodownload build

meson-log.txt

That wiki should be updated, the first command is not necessary anymore.

It still do not work

Try removing the keyboard-state module and see what happens, unless it is actually something you are using.

still do not work

Did you try running it through an JSON unescape tool online? If you didn't could you try doing that, just to see what happens?

Nah, that config is working perfectly for me. At this point I'm stumped. The provided config works for others and a known working config doesn't work for OP.
The only other thing I can think of is trying to install waybar-hypland which states its specifically for workspaces support but I'm running stock waybar 0.9.22 and I have no issues at all.

Yeah waybar is just fine, as @zjeffer just pointed out waybar-hyprland is obsolete now.
@Nyayurn did you try manually compiling and seeing what it does? https://wiki.hyprland.org/Useful-Utilities/Status-Bars/#compiling-manually
There is a short guide on the hyprland wiki if you want to try that out.

It's still do not work

Also what is the output of hyprctl monitors and hyprctl workspaces ?

❯ hyprctl monitors
Monitor DVI-D-1 (ID 0):
<EMAIL_ADDRESS>at 0x0
description: TXD \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd      0x00000001 (DVI-D-1)
make: TXD
model: \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd
serial: 0x00000001
active workspace: 7 (7)
special workspace: 0 ()
reserved: 0 0 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: 0
❯ hyprctl workspaces
workspace ID 1 (1) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df2cacbd0
lastwindowtitle: QQ
workspace ID 2 (2) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df246ec30
lastwindowtitle: hyprland/workspaces do not work · Issue #2475 · Alexays/Waybar - Vivaldi
workspace ID 3 (3) on monitor DVI-D-1:
windows: 1
hasfullscreen: 1
lastwindow: 0x560df24885a0
lastwindowtitle: Windows [正在运行] - Oracle VM VirtualBox
workspace ID 4 (4) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df247b8a0
lastwindowtitle: 备忘录 - Obsidian Vault - Obsidian v1.4.5
workspace ID 5 (5) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df461d680
lastwindowtitle: Celeste
workspace ID 6 (6) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df466fb60
lastwindowtitle: OBS 29.1.3-1 - 配置文件: Untitled - 场景: Untitled
workspace ID 7 (7) on monitor DVI-D-1:
windows: 1
hasfullscreen: 0
lastwindow: 0x560df56d3120
lastwindowtitle: Yurn@SakuraArch: ~/Waybar

Just as a last ditch throw anything at the wall and hope something sticks attempt, try renaming your style.css file and see if that changes anything.
Its weird its saying there is an escape error, that makes no sense since workspaces is a built in module.

Try this config:
{
  "layer": "top", // Waybar at top layer
  "position": "top", // Waybar position (top|bottom|left|right)
  "height": 32, // Waybar height (to be removed for auto height)
  "width": 0, // Waybar width (0 == auto)
  "spacing": 0, // Gaps between modules
  // Choose the order of the modules
  "modules-left": [
    "hyprland/workspaces"
  ]
}

and /etc/xdg/waybar/style.css as the style file.

Try this config:
{
  "layer": "top", // Waybar at top layer
  "position": "top", // Waybar position (top|bottom|left|right)
  "height": 32, // Waybar height (to be removed for auto height)
  "width": 0, // Waybar width (0 == auto)
  "spacing": 0, // Gaps between modules
  "modules-left": [
    "hyprland/workspaces"
  ]
}

and /etc/xdg/waybar/style.css as the style file.

Ok this is weird: it's still reporting something wrong with line 6, column 14, just like before...
If you remove hyprland/workspaces from the config (basically having an empty config). Does it still give the error?

What's your locale?

If I remove hyprland/workspaces it will not show

en_US.UTF-8 still error

Which version of Hyprland are you using? Maybe there's a problem with the IPC communication?

Is there anything weird showing with journalctl -b0 |grep 'hyprland' or sudo dmesg |grep 'hyprland'?

I'm using hyprland 0.29.1-1

Can you try removing all code inside the constructor in src/hyprland/workspaces.cpp, so it looks like this:
Workspaces::Workspaces(const std::string &id, const Bar &bar, const Json::Value &config)
    : AModule(config, "workspaces", id, false, false),
      bar_(bar),
      box_(bar.vertical ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL, 0) {
}

Then recompile with ninja -C build, and run waybar.

It's do not throw error but still do not work

Try this config:
{
  "layer": "top", // Waybar at top layer
  "position": "top", // Waybar position (top|bottom|left|right)
  "height": 32, // Waybar height (to be removed for auto height)
  "width": 0, // Waybar width (0 == auto)
  "spacing": 0, // Gaps between modules
  "modules-left": [
    "hyprland/workspaces"
  ]
}

and /etc/xdg/waybar/style.css as the style file.

This is no any error but still do not work

Great, now we can debug further. Try instead of removing everything from the constructor, only remove all the gIPC->registerForIPC() function calls from the constructor. Let's see if that throws any errors (it probably stll won't show any workspaces on the bar but it would bring us closer to a solution).

It's fine, no any error

Now try it with init() and creation of the gIPC object, but withouot the registerForIpc calls.

if (!gIPC) {
    gIPC = std::make_unique<IPC>();
  }

  init();

is still error
if (!gIPC) {
    gIPC = std::make_unique<IPC>();
  }

will not show any error

if (!gIPC) {
    gIPC = std::make_unique<IPC>();
  }

  //init();

  gIPC->registerForIPC("workspace", this);
  gIPC->registerForIPC("createworkspace", this);
  gIPC->registerForIPC("destroyworkspace", this);
  gIPC->registerForIPC("focusedmon", this);
  gIPC->registerForIPC("moveworkspace", this);
  gIPC->registerForIPC("renameworkspace", this);
  gIPC->registerForIPC("openwindow", this);
  gIPC->registerForIPC("closewindow", this);
  gIPC->registerForIPC("movewindow", this);
  gIPC->registerForIPC("urgent", this);

will not show any error on start
but show the same error when I switch workspace

Ok, so the issue is definitely in the IPC communication: maybe in the parsing here or the communication itself here

Revert all the changes you made and now try replacing the getSocket1JsonReply method with this:
Json::Value IPC::getSocket1JsonReply(const std::string& rq) {
  std::string response;
  try {
    response = getSocket1Reply("j/" + rq);
  } catch (std::exception& e) {
    spdlog::error("Hyprland IPC: Couldn't get JSON reply: {}", e.what());
    return {Json::nullValue};
  }
  spdlog::info("Hyprland IPC: Got JSON reply: {}", response);
  try {
    return parser_.parse(response);
  } catch (std::exception& e) {
    spdlog::error("Hyprland IPC: Couldn't parse JSON: {}", e.what());
    return {Json::nullValue};
  }
}

and see what it outputs.

❯ ./build/waybar --config ~/waybar.config --style /etc/xdg/waybar/style.css
[2023-09-11 00:01:30.564] [info] Using configuration file /home/Yurn/waybar.config
[2023-09-11 00:01:30.564] [info] Using CSS file /etc/xdg/waybar/style.css
[2023-09-11 00:01:30.568] [info] Hyprland IPC starting
[2023-09-11 00:01:30.574] [info] Hyprland IPC: Got JSON reply: {
"id": 5,
"name": "5",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df4811380",
"lastwindowtitle": "./build/waybar --config ~/waybar.config --style /etc/xdg/waybar/style.css"
}
[2023-09-11 00:01:30.574] [info] Hyprland IPC: Got JSON reply: [{
"id": 0,
"name": "DVI-D-1",
"description": "TXD \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd      0x00000001 (DVI-D-1)",
"make": "TXD",
"model": "\xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd     ",
"serial": "0x00000001",
"width": 1920,
"height": 1080,
"refreshRate": 60.002998,
"x": 0,
"y": 0,
"activeWorkspace": {
"id": 5,
"name": "5"
},
"specialWorkspace": {
"id": 0,
"name": ""
},
"reserved": [0, 38, 0, 0],
"scale": 1.00,
"transform": 0,
"focused": true,
"dpmsStatus": true,
"vrr": false
}]
[2023-09-11 00:01:30.574] [error] Hyprland IPC: Couldn't parse JSON: * Line 6, Column 14
Bad escape sequence in string
See Line 6, Column 17 for detail.
[2023-09-11 00:01:30.574] [error] Monitor 'DVI-D-1' does not have an ID? Using 0
[2023-09-11 00:01:30.574] [info] Hyprland IPC: Got JSON reply: [{
"id": 1,
"name": "1",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df2cacbd0",
"lastwindowtitle": "QQ"
},{
"id": 2,
"name": "2",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df246ec30",
"lastwindowtitle": "hyprland/workspaces do not work · Issue #2475 · Alexays/Waybar - Vivaldi"
},{
"id": 3,
"name": "3",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": true,
"lastwindow": "0x560df24885a0",
"lastwindowtitle": "Windows [正在运行] - Oracle VM VirtualBox"
},{
"id": 4,
"name": "4",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df247b8a0",
"lastwindowtitle": "备忘录 - Obsidian Vault - Obsidian v1.4.5"
},{
"id": 5,
"name": "5",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df4811380",
"lastwindowtitle": "./build/waybar --config ~/waybar.config --style /etc/xdg/waybar/style.css"
}]
[2023-09-11 00:01:30.579] [info] Hyprland IPC: Got JSON reply: [{
"id": 1,
"name": "1",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df2cacbd0",
"lastwindowtitle": "QQ"
},{
"id": 2,
"name": "2",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df246ec30",
"lastwindowtitle": "hyprland/workspaces do not work · Issue #2475 · Alexays/Waybar - Vivaldi"
},{
"id": 3,
"name": "3",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": true,
"lastwindow": "0x560df24885a0",
"lastwindowtitle": "Windows [正在运行] - Oracle VM VirtualBox"
},{
"id": 4,
"name": "4",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df247b8a0",
"lastwindowtitle": "备忘录 - Obsidian Vault - Obsidian v1.4.5"
},{
"id": 5,
"name": "5",
"monitor": "DVI-D-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x560df4811380",
"lastwindowtitle": "./build/waybar --config ~/waybar.config --style /etc/xdg/waybar/style.css"
}]
[2023-09-11 00:01:30.601] [info] Hyprland IPC: Got JSON reply: [{
"id": 0,
"name": "DVI-D-1",
"description": "TXD \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd      0x00000001 (DVI-D-1)",
"make": "TXD",
"model": "\xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd     ",
"serial": "0x00000001",
"width": 1920,
"height": 1080,
"refreshRate": 60.002998,
"x": 0,
"y": 0,
"activeWorkspace": {
"id": 5,
"name": "5"
},
"specialWorkspace": {
"id": 0,
"name": ""
},
"reserved": [0, 70, 0, 0],
"scale": 1.00,
"transform": 0,
"focused": true,
"dpmsStatus": true,
"vrr": false
}]
[2023-09-11 00:01:30.601] [error] Hyprland IPC: Couldn't parse JSON: * Line 6, Column 14
Bad escape sequence in string
See Line 6, Column 17 for detail.
[2023-09-11 00:01:30.601] [info] Bar configured (width: 1920, height: 32) for output: DVI-D-1
[2023-09-11 00:01:46.572] [info] Hyprland IPC: Got JSON reply: [{
"id": 0,
"name": "DVI-D-1",
"description": "TXD \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd      0x00000001 (DVI-D-1)",
"make": "TXD",
"model": "\xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd     ",
"serial": "0x00000001",
"width": 1920,
"height": 1080,
"refreshRate": 60.002998,
"x": 0,
"y": 0,
"activeWorkspace": {
"id": 2,
"name": "2"
},
"specialWorkspace": {
"id": 0,
"name": ""
},
"reserved": [0, 70, 0, 0],
"scale": 1.00,
"transform": 0,
"focused": true,
"dpmsStatus": true,
"vrr": false
}]
[2023-09-11 00:01:46.572] [error] Hyprland IPC: Couldn't parse JSON: * Line 6, Column 14
Bad escape sequence in string
See Line 6, Column 17 for detail.
[2023-09-11 00:01:49.016] [info] Hyprland IPC: Got JSON reply: [{
"id": 0,
"name": "DVI-D-1",
"description": "TXD \xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd      0x00000001 (DVI-D-1)",
"make": "TXD",
"model": "\xc7\xe5\xbb\xaa\xcd\xac\xb7\xbd     ",
"serial": "0x00000001",
"width": 1920,
"height": 1080,
"refreshRate": 60.002998,
"x": 0,
"y": 0,
"activeWorkspace": {
"id": 5,
"name": "5"
},
"specialWorkspace": {
"id": 0,
"name": ""
},
"reserved": [0, 70, 0, 0],
"scale": 1.00,
"transform": 0,
"focused": true,
"dpmsStatus": true,
"vrr": false
}]
[2023-09-11 00:01:49.016] [error] Hyprland IPC: Couldn't parse JSON: * Line 6, Column 14
Bad escape sequence in string
See Line 6, Column 17 for detail.

Looks like your monitor description and model are not parsable with json. Probably an upstream issue?

wait, it's still error but work

Yes because we're catching the error and returning NULL, but I assume you might run into bugs. A better fix is needed.

Yes because we're catching the error and returning NULL, but I assume you might run into bugs. A better fix is needed, but I'm not sure what the best solution would be.

A difficult problem, but now there is a not-so-good but at least a solution.

So I'm running Waybar on Wayland and I got a monitor that has also has a hex value in its description:
# hyprctl monitors
Monitor eDP-1 (ID 0):
<EMAIL_ADDRESS>at 0x0
	description: BOE 0x0866 (eDP-1)
	make: BOE
	model: 0x0866
	serial:
	active workspace: 3 (3)
	reserved: 0 30 0 0
	scale: 2.00
	transform: 0
	focused: yes
	dpmsStatus: 1
	vrr: 0

And I'm getting a similar but different Waybar error (built from source checked out today - Waybar v0.9.24-88-g748fc809 (branch 'master')):
[2024-01-10 19:18:08.619] [warning] module hyprland/workspaces: Disabling module "hyprland/workspaces", * Line 1, Column 1

It doesn't matter if I have no config mentioning hyprland/workspaces other than "modules-left": ["hyprland/workspaces]", I always get the above error.
I'm wondering if this is the same error as @Nyayurn  saw above?

Separately and for what it's worth, I see in the jsoncpp library a pull request to add "allowHexadecimal" reader option:
https://github.com/open-source-parsers/jsoncpp/pull/1510
I'm not sure if such a pull request will help with @Nyayurn's escape variant (\x), but I think it would help with mine (0x).

Ok never mind. I added a test to https://github.com/open-source-parsers/jsoncpp containing my  monitor description string and it didn't complain. My issue is unrelated to this bug.

any updates?

any updates?

I figured out what causes it, I have a PR open here: https://github.com/Alexays/Waybar/pull/2496
There's still something I need to test with the clock module, as you can see in the comments, but I haven't had time yet.


Include README in docs and fix version linking

Coverage remained the same at 99.296% when pulling 7d6dc537fe372708d5364e535287ef4ea7c5481e on jparise:docs into 1f922d9f33de7349435cc1107bda1720e610e2de on pinterest:master.


Rev 10272 also broken (on Linux)

Hello, I am using jg-advancedgarages, which was released on 2024-10-03, on Linux with FiveM (txAdmin).
The issue is that when I set Config.SpawnVehiclesWithServerSetter = true, on FiveM revision 10272, the following error occurs on the server side, preventing vehicles from being spawned from the garage:
Vehicle props failed to set after trying several times. First check if the plate within the vehicle props JSON does not match the plate column.
I have confirmed that with the same plugin and database, this issue does not occur on revision 9868.

Hey! I'm not sure why it's working for you on the 9x artifacts and not on the latest. Server spawning in general is a bit temperamental for some people hence why we have the option to turn it off. I will keep an eye on this but it seems to be working fine for me and the staff team on the new artifacts.

@mori151 We are starting to get some reports from almost all artifacts since 10272. I've added the artifact range 10268-10309 until we have more info on what issues are in these releases, and how to potentially solve them.


⚠ Bofrost.es has degraded performance

In c198c89, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1828 ms

Resolved: Bofrost.es performance has improved in 6136cee after 15 minutes.


Ensure zendesk guide support center lives at support.terra.bio

The comms team is publishing the Terra documentation and support site, built on Zendesk guide. This site has a default URL provided by zendesk: https://broadinstitute.zendesk.com/hc/en-us
However, it should be accessible from support.terra.bio.
We therefore need to configure the domain so that support.terra.bio displays the zendesk guide support site. @hjfbynara please advise on how to proceed from a devops perspective.
THIS SHOULD NOT BLOCK LINKING TO THE SUPPORT SITE
We can clean up URLs later

I will provide the URL tomorrow and ask that it doesn't go live until Wednesday, Feb 6th.

blocked on devops terra.bio work

Zendesk lives at support.terra.bio! Links that reference broadinstitute.zendesk.org will automatically send to support.terra.bio, too.


Touch move support

I'm currently hacking on this now and trying to add support for .on({'touchmove' so that doIn() and other methods can be fired while scrolling on a touch device, instead of after the user stops scrolling. Were you thinking about implementing anything like this in the future? Thanks for a sweet tool, nonetheless :+1:

It's been… well, years. But I'm closing this issue as the new OnScreen is completely different and, as far as I could test (I only own one Android device) it works as intended.

I was never able to get it working consistently back then. It seems it was added to both iOS Safari and Android browsers though 👍  thanks for the follow up!


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/eventing-writers
/assign knative-sandbox/eventing-writers
Produced by: knative-sandbox/knobots/actions/update-deps

/verify-owners

/lgtm
/approve


More Chest Variants Compatibility

LieOnLion/More-Chest-Variants#20
When using FastChest with my mod, More Chest Variants, it renders and extra chest always facing north, and double chests have two single chests.

Hi, two things need to be done.
On my side: adding something like https://github.com/FakeDomi/FastChest/blob/master/src/main/java/re/domi/fastchest/mixin/BlockEntityRenderDispatcherMixin.java#L28 to the BER dispatcher, I think I should add an API there.
On your side: something like https://github.com/4nner/IronChests/pull/20/files, adding explicit rotation models do your blockstates.


Theme links

The padding around the "Theme" links is a little excessive.
Here is some corrections:
nav a {
    display: inline-block;
    margin: calc(var(--spacing) * -1.5) calc(var(--spacing) * -.5);
    padding: calc(var(--spacing) * .3) calc(var(--spacing) * .5) calc(var(--spacing) * .5)
}

If we apply this change, we also need to edit:
nav li { ... }

I don't think I will apply this suggestion because:

We should avoid an unnecessary breaking change for Pico users,
It's not a bug, just a style preference, and Pico is deliberately bold,
The clickable zone would be a bit small on mobile (as everything is smaller on mobile).

One of the ideas was to use all the height for the link to have a full - bold - focus background.

I'm more for introducing a few more CSS vars for this component.
Ideally, all the opinionated styles should be editable with CSS vars.

If we apply this change, we also need to edit:
nav li { ... }

I don't think I will apply this suggestion because:

We should avoid an unnecessary breaking change for Pico users,
It's not a bug, just a style preference, and Pico is deliberately bold,
The clickable zone would be a bit small on mobile (as everything is smaller on mobile).

One of the ideas was to use all the height for the link to have a full - bold - focus background.

I'm more for introducing a few more CSS vars for this component.
Ideally, all the opinionated styles should be editable with CSS vars.

Ideally, all the opinionated styles should be editable with CSS vars.
Yep!

Ideally, all the opinionated styles should be editable with CSS vars.
Yep!

After more thinking, I finally applied this suggestion.
I considered that this does not constitute a breaking change.
Preview here.


Add GOOGLE_ABUSE_EXEMPTION cookie

added feature for GOOGLE_ABUSE_EXEMPTION cookie which bypasses the captcha presented by google when passed into search query (optional feature)

Hi @ArshansGithub - thanks for submitting the PR.  The GOOGLE_ABUSE_EXEMPTION header is interesting...I haven't run into that before.  Can you provide some more background on how they are collected/scraped?  Are they part of a paid Google API offering?

Hey @opsdisk
Whenever google forces a captcha (to prove you're not a robot) when you solve the captcha it places the GOOGLE_ABUSE_EXEMPTION cookie into the browser to be used in further google searches. By harvesting this cookie we can place it in the scraper and further minimize rate limits, etc. No this isn't part of a Google API offering.

Appreciate the background @ArshansGithub - give me a few days to review the PR.

Any updates?

Any updates?

Apologies it took longer to get this one.  Appreciate the PR @ArshansGithub!

Awesome stuff, thanks for the approval.