Error "undefined method `[]' for nil:NilClass" when trying to use command "fastlane frameit"

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I want to generate framed screenshots with background and title for my existing screenshots. Creating screenshots works and also to simply frame them (if Framefile.json is empty).
Command executed
fastlane frameit
Complete output when running fastlane, including the stack trace and command used

[⠧] Framing screenshot './screenshots/en-US/iPhone Xs Max-05-Settings.png' [14:52:20]: undefined method `[]' for nil:NilClass.
(Removed sensitive output)

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
10.14.4

Ruby
2.3.7

Bundler?
false

Git
git version 2.20.1 (Apple Git-117)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.14.4 (18E226)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib

OpenSSL Version
LibreSSL 2.6.5

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

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

Xcode Version
10.2.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.125.2
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.0

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.9.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.4.0

terminal-table
1.8.0

plist
3.4.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.5

tty-cursor
0.6.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.62.0

faraday
0.15.3

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.4

gh_inspector
1.1.3

json
<IP_ADDRESS>

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.2

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.5.0

bundler
1.16.5

faraday_middleware
0.12.2

naturally
2.2.0

simctl
1.6.5

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mime-types-data
3.2018.0812

mime-types
3.2.2

multi_json
1.13.1

signet
0.10.0

memoist
0.16.0

os
1.0.0

googleauth
0.6.6

httpclient
2.8.3

google-api-client
0.23.9

google-cloud-env
1.0.5

google-cloud-core
1.3.0

digest-crc
0.4.1

google-cloud-storage
1.16.0

emoji_regex
0.1.1

io-console
0.4.5

libxml-ruby
2.9.0

psych
<IP_ADDRESS>

generated on: 2019-06-10

[⠧] Framing screenshot './screenshots/en-US/iPhone Xs Max-05-Settings.png' [14:52:20]: undefined method `[]' for nil:NilClass

Framefile.json

{
  "default": {
  	"title": {
  		"color" : "#545454"
  	},
    "background": "./background.jpg",
    "padding": 50
  },
  "data": [
  	{
  		"filter": "iPhone Xs Max-05-Settings",
  		"keywords": {
  			"color": "#545454"
  		}
  	}
  ]
}

keyword.strings

"iPhone Xs Max-05-Settings" = "Settings";

title.strings

"iPhone Xs Max-05-Settings" = "Settings";

Can you post more of the output you are getting? There should be a stacktrace that points us to a line in a specific file, so we can understand what is going on here.

Output after running bundle exec fastlane frameit:
[✔] 🚀
[15:59:14]: Using device frames version 'latest'
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone 8 Plus-05-Settings.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (3rd generation)-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (3rd generation)-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (3rd generation)-05-Settings.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone 8 Plus-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (2nd generation)-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (3rd generation)-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone 8 Plus-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone 8 Plus-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone Xs Max-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (2nd generation)-05-Settings.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPhone Xs Max-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (3rd generation)-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (2nd generation)-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
[15:59:14]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (2nd generation)-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
[⠏] Framing screenshot './en-US/iPhone Xs Max-05-Settings.png' [15:59:18]: undefined method `[]' for nil:NilClass
[15:59:18]: Skipping framing of screenshot ./en-US/iPhone Xs Max-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
[15:59:18]: Skipping framing of screenshot ./en-US/iPad Pro (12.9-inch) (2nd generation)-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
[15:59:18]: Skipping framing of screenshot ./en-US/iPhone Xs Max-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.

Ugh, no useful output. Can you try the same command with --verbose added at the end please?

Sure, here is the output:
[✔] 🚀
DEBUG [2019-06-19 22:34:56.25]: Parsing config file './screenshots/Framefile.json'
INFO [2019-06-19 22:34:56.25]: Using device frames version 'latest'
DEBUG [2019-06-19 22:34:56.25]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.27]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.27]: Skipping framing of screenshot ./screenshots/en-US/iPhone 8 Plus-05-Settings.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.27]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.29]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.29]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (3rd generation)-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.29]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.31]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.31]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (3rd generation)-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.31]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.32]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.32]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (3rd generation)-05-Settings.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.32]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.34]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.34]: Skipping framing of screenshot ./screenshots/en-US/iPhone 8 Plus-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.34]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.36]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.36]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (2nd generation)-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.36]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.38]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.38]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (3rd generation)-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.38]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.39]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.39]: Skipping framing of screenshot ./screenshots/en-US/iPhone 8 Plus-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.39]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.41]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.41]: Skipping framing of screenshot ./screenshots/en-US/iPhone 8 Plus-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.41]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.42]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.42]: Skipping framing of screenshot ./screenshots/en-US/iPhone Xs Max-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.42]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.44]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.44]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (2nd generation)-05-Settings.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.44]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.46]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.46]: Skipping framing of screenshot ./screenshots/en-US/iPhone Xs Max-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.46]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.47]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.47]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (3rd generation)-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.47]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.49]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.49]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (2nd generation)-02-MultipleChoice.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.49]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:34:56.51]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:34:56.51]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (2nd generation)-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:34:56.51]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
[⠋] Framing screenshot './screenshots/en-US/iPhone Xs Max-05-Settings.png' DEBUG [2019-06-19 22:34:56.54]: Looking for Apple iPhone XS Max Space Gray and found 1 template(s)
[⠹] Framing screenshot './screenshots/en-US/iPhone Xs Max-05-Settings.png' ERROR [2019-06-19 22:35:00.86]: undefined method `[]' for nil:NilClass
ERROR [2019-06-19 22:35:00.86]: Backtrace:
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:539:in `font'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:412:in `block in build_text_images'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:402:in `each'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:402:in `build_text_images'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:324:in `put_title_into_background'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:161:in `complex_framing'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/editor.rb:41:in `frame!'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/runner.rb:42:in `block in run'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/runner.rb:28:in `each'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/runner.rb:28:in `run'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/commands_generator.rb:43:in `block (2 levels) in run'
	/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
	/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
	/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
	/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/commands_generator.rb:103:in `run'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/frameit/lib/frameit/commands_generator.rb:19:in `start'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/fastlane/lib/fastlane/cli_tools_distributor.rb:111:in `take_off'
	/Library/Ruby/Gems/2.3.0/gems/fastlane-2.125.2/bin/fastlane:23:in `<top (required)>'
	/usr/local/bin/fastlane:22:in `load'
	/usr/local/bin/fastlane:22:in `<top (required)>'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli/exec.rb:74:in `load'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli/exec.rb:74:in `kernel_load'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli/exec.rb:28:in `run'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli.rb:424:in `exec'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli.rb:27:in `dispatch'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/cli.rb:18:in `start'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/exe/bundle:30:in `block in <top (required)>'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
	/Library/Ruby/Gems/2.3.0/gems/bundler-1.16.5/exe/bundle:22:in `<top (required)>'
	/usr/local/bin/bundle:22:in `load'
	/usr/local/bin/bundle:22:in `<main>'
DEBUG [2019-06-19 22:35:00.86]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:35:00.88]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:35:00.88]: Skipping framing of screenshot ./screenshots/en-US/iPhone Xs Max-03-DeckView.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:35:00.88]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:35:00.89]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:35:00.89]: Skipping framing of screenshot ./screenshots/en-US/iPad Pro (12.9-inch) (2nd generation)-01-HomeScreen.png.  No title provided in your Framefile.json or title.strings.
DEBUG [2019-06-19 22:35:00.90]: Parsing config file '/Users/lucas/Documents/Development/Xcode/multiplechoice/fastlane/screenshots/Framefile.json'
DEBUG [2019-06-19 22:35:00.91]: Falling back to text in Framefile.json as there was nothing specified in the title.strings file
INFO [2019-06-19 22:35:00.91]: Skipping framing of screenshot ./screenshots/en-US/iPhone Xs Max-04-PractiseView.png.  No title provided in your Framefile.json or title.strings.

The issue was that I didn't add any font to my Framefile and my folder


ng-model boolean value binding behaviour between jQuery and jqLite

Hi,
We are using following code to bind ng-model on boolean value:
    <select ng-model="filter.active">
        <option value=""/>
        <option value="true">True selected</option>
        <option value="false">False selected</option>
    </select>

Here is a fiddle explaining different behaviour if jquery is present or is not present on page:
working : http://jsfiddle.net/8byx5/
broken with jquery : http://jsfiddle.net/8byx5/1/
What do you think about this behaviour ?

We need to work on getting ngValue working for the select directive (including with ngRepeat. @Narretz and @matsko this is an area you might be interested in?
Can we discuss this at a forthcoming 1.x meeting?

We can talk about it, sure.  Although since ngOptions works pretty well now I would like to limit cycles for this.

I have a PR for that: #13962 13962


PR: Provide graphical options to configure the PyLS

This PR will provide a graphical interface to configure the options provided by the PyLS.
Fixes #8816.

@ccordoba12 you want me to continue this work?

@goanpeca, don't worry, @dalthviz is going to finish this one.

@ccordoba12 @dalthviz Let me know when its ready for a final review pass, paying particular attention to UI, UX and text.

Could we paste a screenshot @dalthviz

When things are ready, @dalthviz will add the necessary screenshots.

Question: Even if at the moment and for the foreseeable future we are going to support python only, should we namespace all these options to python (filename, config options, etc...)?

Question: Even if at the moment and for the foreseeable future we are going to support python only, should we namespace all these options to python (filename, config options, etc...)?

Yes, for now that's be the case. I don't know what kind of UI we could create to expose similar options for other languages and not making things confusing at the same time.
However, other servers can be fully configured (using json though) thanks to @andfoy's previous work.

Yes, for now that's the case. I don't know what kind of UI we could create to expose similar options for other languages and not making things confusing at the same time.

I do not mean at the UI level, I meant at how the info is stored, accessed and the name of the files. Seems like all the config options could be nested under a python key or something.

I do not mean at the UI level, I meant at how the info is stored, accessed and the name of the files. Seems like all the config options could be nested under a python key or something.

Oh, I see. We give special treatment to Python by not namespacing its options, but for all other languages we create a lang: {options} dict in the lsp-server section of spyder.ini.

A preview:
Code completion tab

Linting tab

Code style tab

Docstring style tab

Advanced tab

Other languages tab

@CAM-Gerlach, @goanpeca, I think this is ready. We added a graphical counterpart to configure most of the options provided by the PyLS (not all of them are worth to provide a graphical option, though).
@CAM-Gerlach, please help us to review the texts we added so we can merge it. Thanks!

(Actually is Carlos and @dalthviz who did all this work @CAM-Gerlach  :-) )

Oh, sorry @goanpeca and @dalthviz ! Updated my review accordingly.

@dalthviz, please address the other changes in labels required by @CAM-Gerlach, so we can merge this PR. Thanks!

Will the options to control automatic "dot" completion and case-sensitive completion, previously present at Editor > Code Introspection/Analysis, be added here in the future? It would be nice to not have a regression over the old system.

No because the missing old options can't be mapped to the new architecture. Besides, there's little value on exposing some of those options (e.g. configuring Enter to not select an item from the code completion widget).

No because the missing old options can't be mapped to the new architecture.

Case-sensitive completion isn't a huge loss since I'm not 100% sure how many people want it, and I presume it would require LSP-level configuration if its even possible rather than something on the Spyder side. But isn't "dot" completion triggered by the Spyder side? I assume we can address this later when we add on the fly completion, which is still planned for Spyder 4, correct?

Besides, there's little value on exposing some of those options (e.g. configuring Enter to not select an item from the code completion widget).

Right, that's why I only mentioned those two specific ones.

But isn't "dot" completion triggered by the Spyder side?

No, it's controlled by the PyLS now. However, we can still decide if the want to follow the list of trigger completion characters sent from the server

I assume we can address this later when we add on the fly completion, which is still planned for Spyder 4, correct?

Yes, that's for beta3.

However, we can still decide if the want to follow the list of trigger completion characters sent from the server

Thanks. Do you want to add that here or later (e.g. as part of the options for on the fly)?

Let's leave that for later. This PR is big enough already.


PyWPS fails on python 3.7 due to async keyword

Description
The PR #451 recently merged uses the async keyword which fails with python 3.7 and above:
https://github.com/geopython/pywps/blob/f2704c8be835cabc25368ada65147fa1beb79cc0/pywps/app/Process.py#L302
The tagged version 4.2.3 is still working.
Environment

operating system:
Python version:
PyWPS version:
source/distribution
[ ] git clone
[ ] Debian
[ ] PyPI
[ ] zip/tar.gz
[ ] other (please specify):
web server
[ ] Apache/mod_wsgi
[ ] CGI
[ ] other (please specify):

Steps to Reproduce
See travis failure log for emu:
https://travis-ci.org/bird-house/emu/jobs/610936819
Additional Information

S3 Storage PR #451 fails on Python 2.7 ... skipping python 2.7 tests. We want to support Python 3.x only in the future.


Fix C++ plugin loading from Python

Description
Closes #1340.
Building OpenAssetIO as a static library almost certainly precludes loading C++ manager plugins.  This is due to plugins depending explicitly on the OpenAssetIO core C++ shared library and/or depending on the symbols of that library being exported and public, in order to link properly at runtime.
The most straightforward and universal fix to this is to ensure OpenAssetIO is only ever built as a bunch of shared libraries.
So update the Python distribution to bundle OpenAssetIO as several shared libraries, rather than a single extension module.
When building/installing as a CMake package on Windows, we must unfortunately duplicate the dlls, with one copy in the lib subdirectory, for use by C++ consumers, and one copy in the site-packages/openassetio directory, for use by Python consumers. This was already being done, though as a slightly hacky fix early in the project to get Windows builds working (#244 - related follow-up to give Windows more love #538). So consolidate that logic with code comments explaining why.
With these changes, pip install --editable no longer works. Rather than fix it, disable --editable installs, for now. They're not very useful since the vast majority of code is in C++, so not worth the effort to support at the moment. Support will be re-visited in #1309.
Update BUILDING instructions to reflect the new structure of Python distributions. Plus fix some historic inaccuracies in that doc.
Also, ninja commit some fixes to running ctest with multi-config generators that were discovered whilst investigating this issue.

[x] I have updated the release notes.
[x] I have updated all relevant user documentation.

Regarding my offline comment earlier on

When building/installing as a CMake package on Windows, we must unfortunately duplicate the dlls, with one copy in the lib subdirectory, for use by C++ consumers, and one copy in the site-packages/openassetio directory, for use by Python consumers.

It feels like you're trying to solve the DLL discovery problem in the library, whereas it's a consumer problem.
By this I mean that the consumer of OpenAssetIO is expected to 1) distribute library files however it wishes, 2) set up DLL search paths in both C++ and Python to discover them. Not all applications are the same in their distribution structure, so making any assumptions it the library will not satisfy everyone.
You've mentioned PySide in the linked issue. On Windows, you'll find a shiboken DLL in its bin folder, while the Python extension modules are in lib/site-packages/shibokenX folder - no duplication.
Also, OpenUSD as a popular library with Python bindings, the C++ DLLs are in lib, and the Python C Extension modules are in a lib/python/pxr package. No duplication again.
Having pondered this a little longer, I imagine you might be saying there's a need to duplicate because there are two types of deployment for OpenAssetIO? One via a C++ package manager mechanism (for example) and one via PyPi? And they must be standalone?
I'm admittedly mostly thinking about consumers that have both C++ and Python binding support, so the duplication seems wasteful (and could be confusing).
With the current setup, if a consumer only takes a C++ package, or the pip package, but not both, then there is no duplication.
But, in the case where a consumer takes both, then there is a chance of duplication unless consumers can 'do the right thing' with their scripts to create a distributable?

With these changes, pip install --editable no longer works

In what way did it break?

With these changes, pip install --editable no longer works

In what way did it break?
I did read 3ebab87 and it's to do with needing to distribute multiple shared libs, but I still wasn't clear on the actual bit that was broken.

I explained it a bit more in the follow-up issue https://github.com/OpenAssetIO/OpenAssetIO/issues/1309.

Since https://github.com/OpenAssetIO/OpenAssetIO/issues/1340 we build OpenAssetIO as shared libraries by default, but a naive editable install will only install the Python extension module, and skip over the shared libraries it depends on.

So to fix it we would have to ensure the other shared libraries beyond just the Python extension module are "installed" - where "installed" in this case means "copied into the source tree after building".

Regarding my offline comment earlier on

When building/installing as a CMake package on Windows, we must unfortunately duplicate the dlls, with one copy in the lib subdirectory, for use by C++ consumers, and one copy in the site-packages/openassetio directory, for use by Python consumers.

It feels like you're trying to solve the DLL discovery problem in the library, whereas it's a consumer problem. By this I mean that the consumer of OpenAssetIO is expected to 1) distribute library files however it wishes, 2) set up DLL search paths in both C++ and Python to discover them. Not all applications are the same in their distribution structure, so making any assumptions it the library will not satisfy everyone.
You've mentioned PySide in the linked issue. On Windows, you'll find a shiboken DLL in its bin folder, while the Python extension modules are in lib/site-packages/shibokenX folder - no duplication.
Also, OpenUSD as a popular library with Python bindings, the C++ DLLs are in lib, and the Python C Extension modules are in a lib/python/pxr package. No duplication again.
Having pondered this a little longer, I imagine you might be saying there's a need to duplicate because there are two types of deployment for OpenAssetIO? One via a C++ package manager mechanism (for example) and one via PyPi? And they must be standalone?
I'm admittedly mostly thinking about consumers that have both C++ and Python binding support, so the duplication seems wasteful (and could be confusing).
With the current setup, if a consumer only takes a C++ package, or the pip package, but not both, then there is no duplication.
But, in the case where a consumer takes both, then there is a chance of duplication unless consumers can 'do the right thing' with their scripts to create a distributable?

As discussed offline, we do have to think about 3 use-cases

Pure Python consumers, which could take a couple of forms

pip install openassetio
Point their PYTHONPATH to an OpenAssetIO build - e.g. Rez.

Pure C++ applications that only care about the core C++ library and don't support Python.
C++ applications with an embedded Python interpreter.

I think the root of the Windows packaging confusion problem boils down to how Windows has always been a second-class citizen in OpenAssetIO.
So lets talk POSIX first.
OpenAssetIO's CMake is configured for two cases

By default, such that cmake --install puts things in the expected place assuming a POSIX install prefix (e.g. /usr/local). This includes shared libraries in lib and a Python extension module (and pure Python sources) in lib/pythonX.Y/site-packages/openassetio, where the Python module has an RPATH /@loader_path to $ORIGIN/../../.. so it can locate its dependency.
For crafting a Python distribution package (i.e. pip install .), such that cmake --preset setuptools combined with cmake --install --component openassetio-python-distribution will bundle all shared libraries alongside one-another under an openassetio subdirectory of the install prefix, ready to be consumed by Python's setuptools for creating a wheel.

Now for Windows. The second case above is actually the more straightforward, since bundling all shared libraries alongside one-another is supported out-of-the-box by the Python interpreter on Windows, without any additional need to os.add_dll_directory.
For the first case, a POSIX directory structure doesn't make as much (any?) sense for Windows, but for consistency and, again, because Windows hasn't received much love compared to POSIX, we do our best to square-peg-round-hole it. This means, naively, .dlls go in bin, .libs go in lib and Python extension modules go in Lib/site-packages.
Using this scheme, for the pure C++ application use-case, all is good, just treat the dlls/libs as any other build/deploy dependency and ignore Python. For C++ applications with an embedded Python interpreter we're also probably OK - it depends on the structure of the application (wrt dll load order vs. Python dll search paths) - but that's the application's problem, since they'll be building against and bundling, rather than using directly.
Its the PYTHONPATH-extending pure Python use-case where we get into a muddle. This is admittedly probably the rarest case, but we rely on this in various unit tests, and we know it's a common pattern for tools like Rez.
You can't simply point PYTHONPATH to the site-packages directory, because the Python extension module depends on one of the dlls in bin. You can't even fix this by setting PATH to point to bin because Python 3.8+ doesn't allow this.
We could use  os.add_dll_directory to point to bin. But this has a huge disadvantage in that it hardcodes a search path that might not exist in the other use cases (C++ applications, Python wheels), so we'd have to make add_dll_directory either conditional or configurable. For example, I had wondered about having a separate rpath.txt file, whose contents would be passed at runtime to add_dll_directory, thus providing a customisation point for packagers (e.g. when assembling a conan package, or creating a Python wheel).
The simpler solution that satisfies all use-cases is to duplicate the dlls. This leaves a nasty taste in my mouth. And as you say, could be confusing to consumers.
An even simpler solution would be to say this use-case is unsupported out-of-the box and its up to the consumer to either copy dlls around or add_dll_directory themselves :thinking:  - would require some tweaking of our tests, but doable... perhaps that is the better way?

An even simpler solution would be to say this use-case is unsupported out-of-the box and its up to the consumer to either copy dlls around or add_dll_directory themselves

Did a quick investigation. Turned off the duplication of dlls, then ran ctest in Windows.  Most of the errors can be fixed with a snippet like the following at the top of the root test module(s).
if os.name == "nt":
    spec = importlib.util.find_spec("openassetio")
    dll_dir = pathlib.Path(spec.origin).parent.parent.parent.parent / "bin"
    if (dll_dir / "openassetio.dll").exists():
        os.add_dll_directory(str(dll_dir))

However, the remaining error is a bit of a blocker.
The openassetio.test.manager subpackage is an executable command-line utility. It is the API Compliance test suite to help managers validate their plugin.  It has its own test cases, and is used in downstream test cases. Executing this involves implicitly importing  openassetio, which imports the _openassetio extension module, which can't find its dll dependency.
The only quick fix would be to add the snippet above to the main openassetio top-level __init__.py, but as I said above

this has a huge disadvantage in that it hardcodes a search path

I would rather not have that snippet above appear anywhere in the distributed code 🤔

A flexible solution could be to support an OPENASSETIO_DLL_PATH environment variable, which can be set by Windows consumers, then read in the top-level __init__.py of openassetio where it will pass the value to add_dll_directory.

An even simpler solution would be to say this use-case is unsupported out-of-the box and its up to the consumer to either copy dlls around or add_dll_directory themselves

Did a quick investigation. Turned off the duplication of dlls, then ran ctest in Windows. Most of the errors can be fixed with a snippet like the following at the top of the root test module(s).
if os.name == "nt":
    spec = importlib.util.find_spec("openassetio")
    dll_dir = pathlib.Path(spec.origin).parent.parent.parent.parent / "bin"
    if (dll_dir / "openassetio.dll").exists():
        os.add_dll_directory(str(dll_dir))

Something similar to that is common in our thirdparty package tests of libraries that use Python, so that their Python bindings can find their libraries. So it's not uncommon, and is the kind of thing I had in mind that 'the consumer of the library sets the environment up'.

However, the remaining error is a bit of a blocker.
The openassetio.test.manager subpackage is an executable command-line utility. It is the API Compliance test suite to help managers validate their plugin. It has its own test cases, and is used in downstream test cases. Executing this involves implicitly importing openassetio, which imports the _openassetio extension module, which can't find its dll dependency.
The only quick fix would be to add the snippet above to the main openassetio top-level __init__.py, but as I said above

this has a huge disadvantage in that it hardcodes a search path

I would rather not have that snippet above appear anywhere in the distributed code 🤔

The bit that bothers me the most, is whether duplicating the DLLs is just techdebt that will come back to bite in the future.

A flexible solution could be to support an OPENASSETIO_DLL_PATH environment variable, which can be set by Windows consumers, then read in the top-level init.py of openassetio where it will pass the value to add_dll_directory.

This appeals more than duplicating files.
As Python has this security workaround for search path locations only on Windows, it's not unreasonable to expect to do additional setup on Windows.
Perhaps with a nice error message if it's unset?

A flexible solution could be to support an OPENASSETIO_DLL_PATH environment variable, which can be set by Windows consumers, then read in the top-level init.py of openassetio where it will pass the value to add_dll_directory.

This appeals more than duplicating files.
As Python has this security workaround for search path locations only on Windows, it's not unreasonable to expect to do additional setup on Windows.
Perhaps with a nice error message if it's unset?

Done in 4157393e. As expected, this causes Python 3.7 builds to fail. So a pre-requisite is to remove support for Python 3.7. This has been tacitly OK'd be the community (via ASWF Slack channel)

A flexible solution could be to support an OPENASSETIO_DLL_PATH environment variable, which can be set by Windows consumers, then read in the top-level init.py of openassetio where it will pass the value to add_dll_directory.

This appeals more than duplicating files.
As Python has this security workaround for search path locations only on Windows, it's not unreasonable to expect to do additional setup on Windows.
Perhaps with a nice error message if it's unset?

Done in 4157393. As expected, this causes Python 3.7 builds to fail. So a pre-requisite is to remove support for Python 3.7. This has been tacitly OK'd be the community (via ASWF Slack channel)

Also added c22fa8bb to add a note in the API docs about this new environment variable, so it's a bit more discoverable.


Add initial imports to sbt console

This allows to run examples from tutorial with just sbt console.

Current coverage is 0.00% (diff: 100%)

Merging #45 into master will decrease coverage by 63.35%

@@             master   #45   diff @@
=====================================
  Files             9     9
  Lines           262    18   -244
  Methods         259     0   -259
  Messages          0     0
  Branches          3     0     -3
=====================================
- Hits            166     0   -166
+ Misses           96    18    -78
  Partials          0     0

Powered by Codecov. Last update bdecef0...6ab90ca

@ilya-murzinov LGTM; can you fix the merge conflict?

Done.

Thanks @ilya-murzinov!


Want to clone the next.js version of excalidraw

I've been trying to access the version of excalidraw hosted on vercel, but I'm unable to do so. How do i use this as a next.js app?
Also, where do I find the code for the OpenAI Integration for the wireframe to code feature?

I've been trying to access the version of excalidraw hosted on vercel, but I'm unable to do so. How do i use this as a next.js app?

Unclear what do you mean by accessing that version, can you elaborate?
As for next.js, we have some examples, though there are some rough edges around rendering excalidraw inside a Next.js. If you face any issues, you can ask on our discord chat or open a discussion.

Also, where do I find the code for the OpenAI Integration for the wireframe to code feature?

Not open source at the moment.

Thank you! Do you have a timeline for when the open ai integration will be open source?

the ai-related code lives in our private monorepo for code-sharing, CICD and other purposes, so it's unlikely to be open sourced on its own. We may expose a simple repo or a component for this in the future, similar to what we do with the collaboration server https://github.com/excalidraw/excalidraw-room, but there's no ETA on this.


Pictures in the paper

hi！I'm reading your paper recently，I'm very interested in it.I want to try to do some experiments，So I need some pictures in this paper.If it is convenient for you, can you send me the pictures used in your paper, especially those processed by mc-cnn.
Thank you a thousand times！

All we have publicly available are outputs for the depth superresolution experiments (available here). The MC-CNN results were produced by applying MC-CNN to the middlebury stereo dataset.

All we have publicly available are outputs for the depth superresolution experiments (available here). The MC-CNN results were produced by applying MC-CNN to the middlebury stereo dataset.

OK，thank you very much！


Local and public

Hi @soheilzi,
Thank you so much for your effort and sharing this useful poject!
When I run this bot locally I can interact and chat with it. However when I change this section:

            // Send the message to the backend
            try {
                const response = await fetch("http://<IP_ADDRESS>:10000/chat", {
                    method: "POST",
                    headers: {
                        "Content-Type": "application/json",
                    },
                    body: JSON.stringify({ message: userInput }),
                });

to this:

            // Send the message to the backend
            try {
                const response = await fetch("https://chatbot-swart-gamma.vercel.app/", {
                    method: "POST",
                    headers: {
                        "Content-Type": "application/json",
                    },
                    body: JSON.stringify({ message: userInput }),
                });

on my html and do vercel --prod The bot gives me the error. It is loading but gives error at responding my prompt.

Hi @Alirezabavafa,
I have also been unable to get the api of vercel to work properly. This is the reason I switched to Render.
In render you can put
fetch('https://ai-assistant-backend-python.onrender.com/chat', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({ message: message_to_send })
            })

And it will automatically go for the app that is called chat inside the backend code. This will require no extra steps. Render is also free for the first tier so you have the bonus of not spending money before you are committed to using their platform.
Let me know if I can give you any further assistance.


fix: postage stamp price and TTL calculation

🐝 PR preview in Swarm
Preview URL: https://bah5acgzatcmzkj6pjmwrvxmzg53pucnmyscbxqtvhuhu3a34tahvsqukkr2a.bzz.link
Swarm Hash: 98999527cf4b2d1add993776fa09acc4841bc2753d0f4d837c980f59428a5474
Commit Hash: 00d1f633d7cb914b0bd376c0133641678c2db699
Commit Message: chore: removed logs and fixed linter issues

Nice, I like how you improved the toSignificantDigits 🙂


ArraySchema: JsonSerializationException: Unexpected token readed 'BeginArray' while 'BeginObject' is expected

I can't seem to get any ArraySchema to work, being it string, number or something else. I know there's this closed issue about an ArraySchema problem but updating to the latest versions of colyseus didn't fix it for me.
Am I being blind or is there still a bug?
What I'm using:

Unity 2019.4.23f1
Colyseus Unity SDK 0.14.8 with C#
Colyseus server 0.14.20 running with TypeScript

Schema class on the server:
export class ServerGameDataRules extends Schema {
    @type(["int8"])
    stagesOrder: ArraySchema<number> = new ArraySchema<number>();
}

Schema class on the client generated using schema-codegen:
//
// THIS FILE HAS BEEN GENERATED AUTOMATICALLY
// DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
//
// GENERATED USING @colyseus/schema 1.0.28
//

using Colyseus.Schema;

namespace OurGame.Networking.States {
	public partial class ServerGameDataRules : Schema {
		[Type(0, "array", typeof(ArraySchema<sbyte>), "int8")]
		public ArraySchema<sbyte> stagesOrder = new ArraySchema<sbyte>();
	}
}

Stack trace:
JsonSerializationException: Unexpected token readed 'BeginArray' while 'BeginObject' is expected.
GameDevWare.Serialization.Serializers.ObjectSerializer.Deserialize (GameDevWare.Serialization.IJsonReader reader) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:69)
GameDevWare.Serialization.JsonReaderExtentions.ReadValue (GameDevWare.Serialization.IJsonReader reader, System.Type valueType, System.Boolean nextToken) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/JsonReaderExtentions.cs:726)
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:191)
Rethrow as SerializationException: Failed to read value for member 'stagesOrder' of 'ServerGameDataRules' type.
More detailed information in inner exception.
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:195)
GameDevWare.Serialization.Serializers.ObjectSerializer.Deserialize (GameDevWare.Serialization.IJsonReader reader) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:74)
GameDevWare.Serialization.JsonReaderExtentions.ReadValue (GameDevWare.Serialization.IJsonReader reader, System.Type valueType, System.Boolean nextToken) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/JsonReaderExtentions.cs:726)
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:191)
Rethrow as SerializationException: Failed to read value for member 'rules' of 'ServerGameData' type.
More detailed information in inner exception.
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:195)
GameDevWare.Serialization.Serializers.ObjectSerializer.Deserialize (GameDevWare.Serialization.IJsonReader reader) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:74)
GameDevWare.Serialization.JsonReaderExtentions.ReadValue (GameDevWare.Serialization.IJsonReader reader, System.Type valueType, System.Boolean nextToken) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/JsonReaderExtentions.cs:726)
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:191)
Rethrow as SerializationException: Failed to read value for member 'ServerData' of 'OnRoomJoinedResponseMessage' type.
More detailed information in inner exception.
GameDevWare.Serialization.Serializers.ObjectSerializer.DeserializeMembers (GameDevWare.Serialization.IJsonReader reader, GameDevWare.Serialization.IndexedDictionary`2[KeyT,ValueT] container, GameDevWare.Serialization.Serializers.ObjectSerializer& serializerOverride) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:195)
GameDevWare.Serialization.Serializers.ObjectSerializer.Deserialize (GameDevWare.Serialization.IJsonReader reader) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/Serializers/ObjectSerializer.cs:74)
GameDevWare.Serialization.JsonReaderExtentions.ReadValue (GameDevWare.Serialization.IJsonReader reader, System.Type valueType, System.Boolean nextToken) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/JsonReaderExtentions.cs:726)
GameDevWare.Serialization.MsgPack.Deserialize (System.Type objectType, System.IO.Stream msgPackInput, GameDevWare.Serialization.SerializationContext context) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/MsgPack.cs:79)
GameDevWare.Serialization.MsgPack.Deserialize (System.Type objectType, System.IO.Stream msgPackInput) (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/GameDevWare.Serialization/MsgPack.cs:65)
Colyseus.ColyseusRoom`1+<ParseMessage>d__37[T].MoveNext () (at Library/PackageCache/io.colyseus.sdk@65008fe25d/Runtime/Scripts/Room/ColyseusRoom.cs:448)
--- End of stack trace from previous location where exception was thrown ---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <eae584ce26bc40229c1b1aa476bfa589>:0)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnitySynchronizationContext.cs:153)
UnityEngine.UnitySynchronizationContext:ExecuteTasks() (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnitySynchronizationContext.cs:107)

Sorry for reviving this but did you get any luck here? Got the same issue. Changed to .JSON on server but still nah

You can make your ArraySchema type IEnumerable in C#  and serializer will try to deserialize it as Array, also constructor accepting T[] is expected.


Linux updates breaking the wallet again - libboost

New libboost version got released to stable branches of many distros and it broke the wallet again.
gridcoinresearch: error while loading shared libraries: libboost_system.so.1.64.0: cannot open shared object file: No such file or directory

Did you self-compile or are you using the PPA or Arch?

if you have boost 1.64 installed you can try 'sudo ldconfig /usr/local/lib'

Did you self-compile or are you using the PPA or Arch?

Using AUR

if you have boost 1.64 installed you can try 'sudo ldconfig /usr/local/lib'

As I said, it got updated to 1.65. I'm not going to downgrade only for GRC, sorry.

Same issue here: libboost 1.65 installed, 1.64 not found

soryr i was incorrect path for some reason with brain but sudo ldconfig /usr/include/boost may help. also i have libboost 1.62 and i compile myself. i'm guessing its the packaged compiled version that was compiled with 1.64

I am using gridcoinresearchd-git and gridcoinresearch-qt-git form aur on archlinux. For me simply recompiling this packages against to boost 1.65 fixed this issue.
I guest this is always the same process for boost updates in archlinux, in main repositories all packages that depend on boost are recompiled and pushed as update, aur users expected to recompile agains to new version too.

Arch Linux does not support partial updates to packages. If you updated boost library, you must also update all other update-able libraries. This includes rebuilding AUR packages. See Arch wiki.
Please let us know if the issue persists even after full system update, otherwise please close this issue.


llvmPackages_{12,13,14,15,16,17,18,git}: use common clang

Description of changes
Partial split from #299807

Things done

Built on platform(s)

[ ] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

pkgs/development/compilers/llvm/18/clang/default.nix was not removed in this commit. Intentional?

@pwaller Might've been missed, I thought I deleted it.

@pwaller I'll remove that file during this week's LLVM git update.

I've made a PR minutes earlier here: #304067


Add support for Dreo Air Conditioners

This is not fully working yet. It doesn't seem to break anything though.
I've got couple of DR-HTF004S and they continue to work.
The AC model is DR-HAC005S.
The following controls work:

Child Lock
Device Power
Display Auto Off
Panel Sound

The temperature is reported correctly.
Not sure if heaters have it but the AC reports the water tank level in the Dreo app, as well as have a Cleaning Reminder and Usage.
@JeffSteinbok if you could point me to how to debug the power control and how to make the modes work it would be fantastic 🙇♂

Thanks!  For the new features and such, you'll likely need to capture a packet trace, which unfortunately is hard.
See https://github.com/JeffSteinbok/hass-dreo/blob/main/contributing.md for more info

@JeffSteinbok maybe you could help me out with something simpler - I've got the AC control showing up in HA and it does control the unit but it does not change its state.
The unit reports modes as: 1 (Cool), 2 (Dry), 3 (Fan only), 5 (Cool on Eco)
I'm yet to figure out how to make it properly work in HA - I suspect HA stores AC state as string but I receive and should send it as number, somehow.

Still some issues with target/current temp.
Can't set humidity level
Would like to disable temp select on fan only
Would like to have different temp ranges for ECO preset.

@JeffSteinbok this is pretty much ready, won't be adding more features.


WIP! DON'T MERGE! FORMS-233 # consistent Model#removeView()

all Models that have a View now have a #removeView() method

none of the Views null-out their Model's reference to themselves (the Views), leaving that up to the Model

Models that have nested Models propagate calls to #removeView() to their nested Models

remove a few places where Views were talking to other Views directly

switch an #on() use in a View to #listenTo() instead, so that clean-up is better

By making these changes in isolation, I managed to solve the problem in my other branches where removing a sub-record destroys the whole view for the parent sub-form-element.

I've been thinking about this as it kinda touches on what I'm working on now and I think that another way to approach this that would be cleaner is for a view to control its own removal by listening for the models remove event. something like listenTo(this.model, 'remove', this.remove)
I think we'd benefit greatly by removing any references to the view from all models, so the models are completely view agnostic.
By moving the responsibility of removing the view to the actual view itself we decouple the view from the model a bit more, making it easier to replace the view layer with something else. We'd also be able to use the same model in more than one view - something we cant do now
It also means that we could slip in something else at a later date that (for example) listens for model removal events, figures out a smarter way of removing elements rather than just removing the views one by one. or by listening to an add event on the forms elements collection - a renderer that batches up creating a form into a document fragment and then appends that fragment to the DOM, etc etc

So we keep #initializeView(), but we probably drop the line that sets the Model's View reference?
That way, the separate process that creates the Views can still use #initializeView() as it traverses the Model structure.
We just need to decide what/ where the entry point is for kicking off the View-creation process.

Also, propagating the "remove" event from a Collection to a Model was the most annoying bug to fix in this PR. It's worth remembering when we start work on the proposed decoupling.

Besides when the Model is #close()ed, the other time a View needs to clean itself up is when the Page turns.

There's one Model that is not a member of a collection, and just never "naturally" emits a "remove" event, the apex FormModel. Not that there's anything wrong with emitting a synthetic event.

yeah I have removed the propagation of events from subforms in the branch i am working on and it seems to have fixed quite a lot of function calls that seemed out of place.
I think the reason why I put it in there was so that the invalid / change:value events were propagated up to the main form. I cant  see anything else going wrong...
My first thought on when to kick off the rendering is to have at the minimum a two step process:

initialise models ( the existing BMP.Forms#initialize)
render views using models. (a new BMP.Forms#render ??)

An approach like one taken by the generic middleware might be useful? This would mean that we could give solution developers a solid, well defined place to get a fully initialised Form Model, modify it, then feed that into the render function. The would  have access to all the element models and be able to change labels or default values or whatever pretty easily
BMP.Forms#render could be our own implementation or be overridden by an answerspace developer to implement a different view layer like react or whatever the flavor of the month is.
re: turning pages. as an element isnt removed from the forms elements collection, should the view be removed?
I'd be inclined to progressively render the views to a document fragment and detach/attach the fragments from/to the DOM on page turn, perhaps only cleaning them up when the form is finished with.
Perhaps we could keep the current, previous and next pages in fragments and build up a page in the background during idle time? (how to figure out idle time across all browsers/devices idk :O)

Ultimately, I'd even like model initialisation to be asynchronous and based on a priority. So we start with the models for the first page, and the other models are put in an idle queue. And if the user skips ahead to page 5 then those model are moved to the front of the queue. This is getting stupidly complex though. :S

Maybe we should have a PR that just fixes the event propagation.

I am not sure if async model creation would work with behaviours???
if the model creation is decoupled from view creation, i dont think async model creation would give us much of a gain for the complexity of code needed managing the creation process. I think we should start with the simplest way of just initialising all models, with no view initialisation, see how it goes from there
i would bet that async or smarter view creation would be where the performance gains are.
re: event propagation - i've been logging all events trying to figure out the minimal set of things to propagate, or if I can acheive the desired effect without propagating the events. I have a feeling these 3 lines of code have caused us so much headache :-1:

I agree that everything-async should be a long-term aspiration and not an immediate goal. It certainly would have all sorts of ramifications that need to be thoughtfully considered. The current problems with page turning are all time spent managing the views, so that should be the immediate area of focus.
And yes, the blacklist I have implemented in the event propagation logic should really be a whitelist instead. That should eliminate all sorts of magic.

re: turning pages. as an element isnt removed from the forms elements collection, should the view be removed?

We detach / destroy the DOM elements, because we encountered increasingly poor canvas touch event latency proportional to the number of DOM elements on the page in Forms v2. However, we haven't done the experiments required to determine whether temporary detachment is sufficient across the web environments we support, or whether complete destruction is required.
Theoretically, destroying the DOM elements allows us to reclaim memory, which might become important for cases that involve many image attachments. GC work may cause performance issues as well, so this is a compromise that we should test more thoroughly. We may have experienced the OOM-killer in Forms v2, but we were able to make the native plugins involved more memory efficient.
Provided canvas latency is not harmed, we might be able to just destroy attachment thumbnails (to reclaim memory), and merely detach the rest of the views to improve DOM event latency. But this would need to be thoroughly tested.

I'd be inclined to progressively render the views to a document fragment and detach/attach the fragments from/to the DOM on page turn, perhaps only cleaning them up when the form is finished with.

Making timeline measurements, Paint and Layout don't appear to be a big deal for us in Chrome, although we should double-check this in Safari (especially as we had rendering performance problems on the iPad 2). jQuery does automatically work with DocumentFragments internally for certain operations, and I feel making our JavaScript more efficient and asynchronous will have the far bigger effect on perceived performance.
That said, we of course should confirm whether or not explicit DocumentFragments can give us a quick win.

I've renamed this PR to indicate that there's still conversation happening here.

Sam doesn't want us to sever the model->view reference, as certain customisations he has built depend on access to the .$el.
I did offer View extension as an alternative. However, he will sometimes add a button to a view, e.g. adding a button to a select element's view that will refresh the options in the select list. Without the .$el, it's difficult to attach the click handler. This sort of one-off thing also seems like a case where View extension would be overly complicated, although maybe we could find a way to make this simple enough to endorse?

dang.
I dont expect what i'm proposing to be doable without some planing. In light of how sam has built some projects maybe its too much of a change to be viable.
In the specific case mentioned if they have access to the model they have a cid which can be used to find the element eg $('[cid=' + model.cid +']). If the select view listened to the models change:options attribute and re-rendered the options it would be trivial to implement the functionality and hook it up to a button that is inserted into the DOM using the cid selector. Nothing else would need to be done. But i digress...
What I have been thinking about over the weekend is starting to feel like it should be a pitch... but after reading the MM diary, im not sure if its going to be worth the time

If @samblinkmobile's use cases are addressed with the cid selector (and we should measure DOM traversal performance), then maybe we can proceed with the separation. The downside is that this alone doesn't expose the methods on the view, although I don't know if this is desirable, and we could use a jQuery.fn.data() to link the DOM element to the Backbone.View if so.

well the use case mentioned shows at the very least that we need to do more prep to the elements.
how about we go ahead with the method in this PR, and i'll document what i'm thinking. I really dont want to do something that could break a project like work cover.
I'd rather slowly move towards a stationary target than run at a moving one like we are now :O

I'd like to rebase after #52 so that my PR doesn't need to include any event propagation changes. I think the changes in this PR can certainly be viewed as a step forward, and a stepping stone towards a more consistent design.

I don't think it's necessarily a bad thing to make direct DOM access frustrating provided we have a consistent and compelling story for extending Backbone.Views. After all, both Angular and React explicitly forbid arbitrary DOM access.

I've rebased and retested this PR, and removed the "WIP" from its title.

lgtm


add HPL Engine

SteamDB app page links to a few games using this

Amnesia: A Machine for Pigs
Amnesia: Rebirth
Amnesia: The Bunker
Amnesia: The Dark Descent
Penumbra: Black Plague
Penumbra: Overture
SOMA

Brief explanation of the change

After running changed rules in this pull request (this bot only tests rules.ini changes):
Changed technologies: Engine.HPL_Engine
These apps now match: (18) 1930 22120 22140 22180 57300 57310<PHONE_NUMBER>70<PHONE_NUMBER>00<PHONE_NUMBER>20<PHONE_NUMBER>80<PHONE_NUMBER>20 1944430 2312010
Please confirm that all these changed apps are correct.

1930 22121<PHONE_NUMBER>70<PHONE_NUMBER>00<PHONE_NUMBER>40 253980 all smell false positive
seems like a blackbox.dll is shipped for their wine config in their linux depots


button("reset") not working

I don't believe this function even exists in the button.js file in v4.

Yes, the docs hadn't been updated after this feature was removed. It's already been fixed in the v4-dev branch; see #17178.
http://v4-alpha.getbootstrap.com will be updated after the next alpha release is shipped.


How do you let the train_loader could output the index of data?

Like here https://github.com/LayneH/self-adaptive-training/blob/master/main_adv.py#L189
Normal usage of torch CIFAR10 data loader can only output (inputs, targets) pairs. How do you let it also output the index of data?

We override the datasets at here to get the index.


Possible to include Anchor?

A new method was released by the authors of LIME. Would there be any value in adding this somehow to the SHAP package?
Paper title: "Anchors: High-Precision Model-Agnostic Explanations"
Paper: https://homes.cs.washington.edu/~marcotcr/aaai18.pdf
Source: https://github.com/marcotcr/anchor

Anchor is a great method, but it does not easily fall in the class of additive feature attribution methods unified by SHAP, and I would like to keep the shap package focused on doing one thing well at the moment.
That being said...there might be a way to interpret SHAP values in order to make a "anchoring statement". That could be useful for a variety of reasons, including that (last I talked with Marco about it) Anchor currently just focuses on classification problems and not regression.

Makes sense! Thanks.


fixes the tests on windows

Uses <IP_ADDRESS> instead of <IP_ADDRESS>
Uses KillWithFire instead of Interrupt since signals don't work on win
Skips a test that explicitly relies on Interrupt which isn't supported on windows

[#104201496]

Thanks for the fixes, @jvshahid! We'll evaluate them and pull them in ASAP.
Best,
Eric


Kinoite: installation failed - clone failed LuaSnip

Describe the bug

LuaSnip fails during installation of kickstart. At first I was trying to setup neovim and kickstart in toolbox since I use Kinoite. Later on I tried to layer neovim and still ran into the same issue. I followed the advice in "failed to update LuaSnip via Lazy.nvim" thinking I had the same issue by editing init.lua in my fork.

To Reproduce

clone repo
start nvim

Desktop

OS: Fedora Kinoite
Terminal: Konsole

Neovim Version

v0.9.5

Hi.
Sorry you're having trouble but kinoite is a pretty arcane platform to get support for.
Could it be the OOM killer? Or are you seeing some weird artifact of containerization?


Adding links to the social media icons

When clicking on the social media platforms they are not navigating to their respective websites

Assign this issue to me

@G-Rajashekar we do not have social media links as of now


enable cms layout renaming from listing

1. Why is this change necessary?
Having the option to rename layouts in the listing will make it easier and faster to manage layouts. It will no longer be necessary to navigate into the layout editor to change the name, which is tiresome espacially for copied layouts that will most likely be renamed.
2. What does this change do, exactly?
Add a button for renaming layouts to the layout options in the cms list (administration).
3. Describe each step to reproduce the issue or behaviour.

Navigate to Shopping Experiences in the administration
Open the options for one of your layouts ("...") and choose the "Rename" option
In the modal that will open, choose a new name for your layout and click the "rename" button at the bottom

4. Please link to the relevant issues (if any).
https://github.com/shopware/platform/issues/2678
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-23828
Please use this issue to track the state of your pull request.

Your commit has been merged, thank you for your contribution tada blue_heart


Ceedling "TEST OUTPUT" section filters the actual test result

Hi,
I would like to understand the ceedling test report process.
Running this command: ceedling verbosity[4] test:all
I can see the test result print to the stdout after executing the test.
For exemple: UnitTestEeprom.c:123:test_read:PASS
But the section "TEST OUTPUT" only has this:
[UnitTestEeprom.c]
and some extra info regarding the debugger...
The test result is somehow filtered.
I I must activate the verbosity to level 4 to see the actual test result returned by my debugger.
Why is the test result filtered?
Thanks.

By default you have pretty printing enabled when you create a new ceedling project. This will print brief notes of progress, and then a test summary at the end. The test summary will give you the number of tests run, passed, failed, and ignored. In the event of the last two, it will report details... since there are no details of passed tests to print, it doesn't print them. The most common use-case is for people to want to see what has gone wrong, or note that things went just fine. :)
You can look into the ceedling packet documentation to see that there are a number of other output options available if this isn't the report style you enjoy.

Thanks for your explanation.
I forced an error and than I could see the output.
I will close the issue.


Error on building [src/theme.less]

Hi
I've got errors on building the latest version:
$ gulp build
[14:35:46] Using gulpfile ~/Programming/Javascript/Semantic-UI/Semantic-UI/gulpfile.js
[14:35:46] Starting 'build'...
Building Semantic
[14:35:46] Starting 'build-rtl'...

Thanks.

Is @container missing from your theme.config?

Yes, i can't find @container in theme.config.

Just add @container: 'default'; or copy theme.config.example

Great!! it's solved.


Added sample to bin

Added sample to bin so that we can run it like sample --filter= --rate=
cc @sbma44, @emilymcafee

Looks good @aarthykc, thanks!


Support String as alias of {value}

From https://github.com/nuxt-modules/design-tokens/issues/9
Might have side-effects

resolved in 0.6.0


Where build agent with versio 1.88 can be downloaded?

Hello everyone.
I'm using on-premise TFS 2015. I've learned about great feature - logging commands (https://github.com/Microsoft/vso-agent-tasks/blob/master/docs/authoring/commands.md), and wanted to use it in our build process. But when I tried to use it - there was no effect (build number does not changed). Then after googling I found that newer build agent version is needed: https://github.com/Microsoft/vso-agent-tasks/issues/380#issuecomment-146878805
TFS now has 1.83 agents, but I need 1.88.
So, the questions are:

Is new agent version available for download from somewhere?
If not, it means, that to get updated agents we need upgrade entire TFS? And we need to wait untill Update 1 is released (but VSO users get their agents updated automatically)?
If we need to wait for Update 1, when it will be released?

Thanks.

The agent comes from the service.  This command was actually in 1.89 and I believe it just finished rolling out to all scale units yesterday.
Agents (windows) automatically update themselves.  Restart the windows service or use queue admin UI context menu to update all agents.
Since you're usng on-premise 2015, it will come in QU1.  It's in RC1 now and will release soon.

Hi @bryanmacfarlane
I have a question related to this one.
I just installed on my TFS2015 the Update 1 RC1. I do see that my newly installed agents are 1.89.0. But how do I upgrade the existing ones?
Thanks

If you restart the agents the will automatically upgrade of if you look in the pool admin page there is a context menu to force all of the agents to update.
From: Mario Majcica<EMAIL_ADDRESS>Sent: Thursday, October 22, 2015 8:54 AM
To: Microsoft/tfs-cli<EMAIL_ADDRESS>Subject: Re: [tfs-cli] Where build agent with versio 1.88 can be downloaded? (#43)
Hi @bryanmacfarlanehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fbryanmacfarlane&data=01|01|Chris.Patterson%40microsoft.com|64588f8820be4211a58f08d2dadfe884|72f988bf86f141af91ab2d7cd011db47|1&sdata=%2BZdPt3mXZ73e4c2Nxt3HH79PLHpu4vT%2FQemRKJjK2QM%3D
I have a question related to this one.
I just installed on my TFS2015 the Update 1 RC1. I do see that my newly installed agents are 1.89.0. But how do I upgrade the existing ones?
Thanks
—
Reply to this email directly or view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Ftfs-cli%2Fissues%2F43%23issuecomment-150210954&data=01|01|Chris.Patterson%40microsoft.com|64588f8820be4211a58f08d2dadfe884|72f988bf86f141af91ab2d7cd011db47|1&sdata=WL10fICwRgwnVc5auicvbw95WFkl4bOafo7sMPia6vM%3D.

Hi @chrisrpatterson ,
first thing I tried is to right click on the pool and choose the update all agents options. However it doesn't work for my 1.83.2 agents.
After I execute this command, I do see my 1.89.0 agents restarting, but not the old ones 1.83.2.
Even restarting the service manually doesn't trigger the update.
Any suggestion?
Thanks


MIxS 5 folder empty...

...is this intentional?
The README isn't really helpful - maybe a note about the status / location of MIxS 5?

Link to the files has been added:
https://github.com/GenomicsStandardsConsortium/mixs-legacy/tree/master/mixs5
Cheers,
Lynn


Design tweaks to new docs

Changes
TBA
Testing

Docs

(I know this is a draft but I couldn't resist checking out the preview URL AND I LOVE IT 😍 😍 😍 )


⚠ Bofrost.es has degraded performance

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

HTTP code: 200
Response time: 1681 ms

Resolved: Bofrost.es performance has improved in 94901c6 after 14 minutes.


[Bug] Stream load bug for datetime with timezone in struct

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.1.3 and 2.1.4 and 2.1.7
What's Wrong?
When I use stream load with json format to load data with type STRUCT<timestamp:DATETIME(6)>, I got a null value.
Here are the details.
ddl
-- in database otel2
create table test (
    id INT,
    time STRUCT<timestamp:DATETIME(6)>
)
DISTRIBUTED BY HASH(id) BUCKETS AUTO
PROPERTIES (
"replication_num" = "1"
);

stream load
curl --location-trusted -u root: \
-H "Expect:100-continue" \
-H "format:json" \
-H "strip_outer_array:true" \
-H "timezone:Asia/Shanghai" \
-XPUT \
http://<IP_ADDRESS>:8030/api/otel2/test/_stream_load \
-d '[{"id":1,"time":{"timestamp":"2024-06-27 22:52:40.41845+08:00"}}]'

select the data, but get a null value
mysql> select * from test;
+------+---------------------+
| id   | time                |
+------+---------------------+
|    1 | {"timestamp": null} |
+------+---------------------+
1 row in set (0.01 sec)

What You Expected?
Correct time I load.
How to Reproduce?
Just use the command above.
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

u can use [{"id":1,"time":{"timestamp":"2024-06-27 22:52:40.41845"}}]  which not has the time zone format.


Add release notes fo 4.8.2

Proposed changes

Related issues (optional)

Incorporates https://github.com/docker/docker.github.io/pull/14729 and https://github.com/docker/docker.github.io/pull/14731

Do we not have the «Previous versions» pages anymore?

Yes we do, they haven't been touched yet. They will be moved into one large folder under DD, rather than spread out across the Mac and Windows.

Do we know how we’re going to deal with releases that only happen for a subset of the platforms?
For instance at the moment we’re considering releasing 4.8.2 for Mac and Linux only, then later (probably tomorrow) release a 4.8.3 only on Windows.

Yes, my thinking was provide the new download links just for Mac and Linux under 4.8.2 and then maybe add a note box saying 'For the latest version of Docker Desktop for Windows, see Docker Desktop 4.8.1' and have an internal page link. Then under 'Bug fixes and minor changes' add the subheading 'For Linux and Mac'.
Then do a similar thing when 4.8.3 is released just for Windows.

The version on https://docs.docker.com/desktop/linux/install/ should probably be updated too, right? :eyes:
(It's still linking to 4.8.1, so anyone installing from that gets an update prompt right away. :smile:)

@tianon good catch!
We’re preparing a 4.9.0 release, but I’ll do a quick PR to fix the links nonetheless.
Thanks!

Here is the PR: #14864


Hard disk without PARTUUID

@bigafricanhat_ report an error in line 83
sudo sed -i".bak" "/$PARTUUID/d" /etc/fstab
His hard drive doesn't have a PARTUUID:

I,ve change the code to use UUID instead PARTUUID. As the script formats the disk I think there will be no problem.


Prototype idempotent file upload

Description:

Is this change user facing?
YES/NO

References (if applicable):

implemented in #1066


add benchmark for performance testing

this patch should be almost ready to go. all we need is to update the test cases to make it better represent the performance testings needed. @pabloem

https://github.com/ray-project/ray_beam_runner/tree/gh-pages is the place of generated performance results.

@pabloem Hi Pablo, this can be merged now and I will work together with you guys to put benchmark testing code.
cc. @pdames @iasoon

thanks Wilson! lgtm


MutiAdds

Hey @ChaofWang,
Thanks for sharing the code. How did you count Mult-Adds of your models?
Thanks,

@Auth0rM0rgan
hello，since AWSRN consists of some normal convolution ops and almost all convolutions' input size is consistent, MutiAdds can be simply expressed as "model_paraminput_widthinput_height". But if the model contains some special ops, like group convolutions, or the input of each convolution op is different, it needs to be calculated layer by layer.

Hey @ChaofWang,
Thanks for the guide. Would you please tell me how should I calculate the MultiAdds for group convolutions?
Thanks,

@Auth0rM0rgan sorry, my mistakes. group convolution also can calculate by paramsHW


feat(getTogglerProps): add 'tabIndex', 'onKeyUp'

What: Added 'tabIndex' and 'onKeyUp' to getTogglerProps.

Why: See #5

How: 'tabIndex' was straightforward. 'onKeyUp' was not trivial, and I'd like to discuss it further below.

Checklist:

[ ] Documentation
[x] Tests
[ ] Ready to be merged
[x] Added myself to contributors table

I think the implementation of handleKeyUp needs to be addressed. If we agree on an approach, then I think we should update the documentation.
handleKeyUp was supposed to make it easy to build with plain old <span>s, and things like that. However, <button>s and <input>s already handle certain key presses, so I needed to filter those out. The best way I could think of doing this was to check the tagName of the target. That's a potentially messy implementation, so I'd like your thoughts on the matter.
If you are OK with this implementation, I wonder if it's worth updating the docs to inform users that they will be getting this functionality for free.

I've updated based on the suggestions. You can see the switch and checkbox stories for example usage. I like this API more. If you think this is good, then I believe there should only be two more items.

Do you think the names getInputTogglerProps and getGenericTogglerProps are OK? I'm mildly concerned about getGenericTogglerProps because "generic" has a special meaning in types. (I know types aren't in JS, but I thought I'd mention it.) Other things we might consider: getElementTogglerProps or getAllTogglerProps.
Update documentation.

Let me know if there's anything else to be done here!

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)

Thank you as well!


Function Handler in Subdirectory

Description
I'm trying to use the SAM Local CLI to create my cloud-formation stack and I'm having issues having my function handlers in subdirectories. Executing sam local start-api  runs fine, but when I execute the api it can't detect any node modules or other files in the parent directory.
Steps to reproduce

Use sam local init to create NodeJS stack
Use the below to reproduce creating the project

Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Which runtime would you like to use?
        1 - nodejs12.x
        2 - python3.8
        3 - ruby2.7
        4 - go1.x
        5 - java11
        6 - dotnetcore3.1
        7 - nodejs10.x
        8 - python3.7
        9 - python3.6
        10 - python2.7
        11 - ruby2.5
        12 - java8
        13 - dotnetcore2.1
        14 - dotnetcore2.0
        15 - dotnetcore1.0
Runtime: 1

Project name [sam-app]:

Cloning app templates from https://github.com/awslabs/aws-sam-cli-app-templates.git

-----------------------
Generating application:
-----------------------
Name: sam-app
Runtime: nodejs12.x
Dependency Manager: npm
Application Template: hello-world
Output Directory: .

Next steps can be found in the README file at ./sam-app/README.md

Under sam-app/hello-world create a folder called example
Move sam-app/hello-world/app.js into sam-app/hello-world/example/app.js
Update sam-app/template.yaml to reflect for the change
Create file sam-app/hello-world/temp.js with the below contents:

exports.ping = () => { return "Worked!" }

Add the below to the top of sam-app/hello-world/example/app.js

console.log(require('../temp.js').ping())

Execute sam local start-api
Call /hello in a browser or Postman

Observed result
sam-app/hello-world/temp.js will fail to be found.
Expected result
sam-app/hello-world/temp.js is found successfully and writes "Worked!" to the console.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: macOS 10.15.4 (19E287)
sam --version: SAM CLI, version 0.48.0

It must be console.log(require('./temp.js').ping())

Since the file is in the parent directory, it would have to be require('../temp.js')

Following your description it's in the same directory.

sam-app/hello-world/app.js

sam-app/hello-world/temp.js

My mistake I apologize. I had just updated the example

A Lambda can't load code from outside the directory.
If you want to make code sharing, you maybe can resolve your issue by using layers.

Another option for NodeJS is to webpack your lambdas into a "dist" directory, then you can pack each lambda in separate subdirectories and have shareable code between the lambdas in the same stack.
I understand this isn't what the OP is asking for, but I'll include the snippets to make this possible:
In the SAM template, define CodeUri on your functions like such:
  resLambdaHealthGet: # Name each lambda logical id something unique to this template
    Type: AWS::Serverless::Function
    Properties:
      Handler: handler.handler
      FunctionName: !Sub "${paramEnvironment}${paramFeatureBranch}_${paramServiceName}_healthGet" # Use the handler filename at the end
      CodeUri: dist/healthGet  # Use the filename of your handler, e.g. "healthGet.ts", but without the file extension

In your webpack config, create separate packages for each handler:
const path = require("path");
const fs = require("fs");

class ConfigBase {
  constructor() {
    this.target = "node";

    // Read in all of the files in the Handlers directory.
    // These are the entrypoints and we will create a webpack bundle for each one.
    let handlersDir = "./src/_lambda-handlers"; // Change this if you want to put handlers in a different location
    const files = fs.readdirSync(handlersDir);

    const entries = {};
    files.forEach(function(filename) {
      // Each file in the _lambda-handlers directory is an "entry" point
      // Except for the .spec files
      if (!filename.match(/\.spec\.[jt]s/i)) {
        entries[filename.split(".")[0]] = `${handlersDir}/${filename}`;
      }
    });

    this.entry = entries;

    this.output = {
      libraryTarget: "commonjs2",
      path: path.resolve(__dirname, "../dist"),
      filename: "[name]/handler.js"
    };

    this.resolve = {
      extensions: [".js", ".json"]
    };

    this.module = {
      rules: []
    };
  }
}

module.exports = ConfigBase;

I was hoping to be able to segregate specific APIs into their own folder for organization purposes. Example:
root/
src/
api/
api1.js
api2.js
root.js

On May 5, 2020, at 1:32 PM, Michael<EMAIL_ADDRESS>wrote:

Another option for NodeJS is to webpack your lambdas into a "dist" directory, then you can pack each lambda in separate subdirectories and have shareable code between the lambdas in the same stack.
I understand this isn't what the OP is asking for, but I'll include the snippets to make this possible:
In the SAM template, define CodeUri on your functions like such:
resLambdaHealthGet: # Name each lambda logical id something unique to this template
Type: AWS::Serverless::Function
Properties:
Handler: handler.handler
FunctionName: !Sub "${paramEnvironment}${paramFeatureBranch}_${paramServiceName}_healthGet" # Use the handler filename at the end
CodeUri: dist/healthGet  # Use the filename of your handler, e.g. "healthGet.ts", but without the file extension
In your webpack config, create separate packages for each handler:
const path = require("path");
const fs = require("fs");
class ConfigBase {
constructor() {
this.target = "node";
// Read in all of the files in the Handlers directory.
// These are the entrypoints and we will create a webpack bundle for each one.
let handlersDir = "./src/_lambda-handlers"; // Change this if you want to put handlers in a different location
const files = fs.readdirSync(handlersDir);

const entries = {};
files.forEach(function(filename) {
  // Each file in the _lambda-handlers directory is an "entry" point
  // Except for the .spec files
  if (!filename.match(/\.spec\.[jt]s/i)) {
    entries[filename.split(".")[0]] = `${handlersDir}/${filename}`;
  }
});

this.entry = entries;

this.output = {
  libraryTarget: "commonjs2",
  path: path.resolve(__dirname, "../dist"),
  filename: "[name]/handler.js"
};

this.resolve = {
  extensions: [".js", ".json"]
};

this.module = {
  rules: []
};

}
}
module.exports = ConfigBase;
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I was hoping to be able to segregate specific APIs into their own folder for organization purposes. Example:
root/
src/
api/
api1.js
api2.js
root.js

You can do whatever structure you want, if you're using the webpack approach. You'll need to adjust the webpack config to match your structure. When you deploy, each lambda needs to be a single .zip file with all the code in it.

I am closing this issue. Please re-open if you have more questions.


Plugin-related tests fail in tests

Please fill out the issue checklist below and provide ALL the requested information.

[x ] I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[ ] I attempted to run the command with CF_TRACE=1 to help debug the issue.
[x] I am reporting a bug that others will be able to reproduce.

Describe the bug and the command you saw an issue with
Before working on CLI, I wanted to run all non-integration tests to set a baseline. But I kept hitting config-related failures in util
What happened
Run ginkgo -r -nodes 4 -randomizeAllSpecs -randomizeSuites util with this environment:
CF_INT_API=api.lunar-shoulder.capi.land

Got failures like this:
  Expected
      <[]configv3.Plugin | len:0, cap:0>: []
  to equal
      <[]configv3.Plugin | len:3, cap:3>: [
          {
              Name: "plugin-1",
              Location: "",
              Version: {Major: 0, Minor: 0, Build: 0},
              Commands: nil,
          },
          {
              Name: "plugin-2",
              Location: "",
              Version: {Major: 0, Minor: 0, Build: 0},
              Commands: nil,
          },
          {
              Name: "Q-plugin",
              Location: "",
              Version: {Major: 0, Minor: 0, Build: 0},
              Commands: nil,
          },
      ]

  /Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:314

with this summary:
Summarizing 9 Failures:

[Fail] Config LoadConfig when there is a config set but it is empty [It] returns the default config with a json error
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/load_config_test.go:132

[Fail] PluginsConfig Config GetPluginCaseInsensitive when there is a matching plugin [It] returns the plugin and true
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:272

[Fail] PluginsConfig Config RemovePlugin when the plugin exists [It] removes the plugin from the config
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:162

[Fail] PluginsConfig Config GetPluginCaseInsensitive when there are multiple matching plugins [It] returns one of them
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:291

[Fail] PluginsConfig Config WritePluginConfig when an error is encountered [It] returns the error
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:382

[Fail] PluginsConfig Config Plugins [It] returns the pluging sorted by name
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:314

[Fail] PluginsConfig when the plugin config exists [It] standard location
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/plugins_config_test.go:73

[Fail] Config LoadConfig when there isn't a config set [It] returns a default config
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/load_config_test.go:61

[Fail] Config LoadConfig when there is a config set and there are old temp-config* files lingering from previous failed attempts to write the config [It] returns the default config and removes the lingering temp-config* files
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/load_config_test.go:207

Ran 111 of 111 Specs in 0.080 seconds
FAIL! -- 102 Passed | 9 Failed | 0 Pending | 0 Skipped

Expected behavior
Hoped everything would pass
To Reproduce
Run ginkgo -r -nodes 4 -randomizeAllSpecs -randomizeSuites util
Provide more context

platform and shell details ( e.g. Mac OS X 10.11 iTerm) - macos 10.11.6 , iTerm2 3.1.7
version of the CLI you are running - I'm trying to work with master

With this change:
--- a/util/configv3/plugins_config.go
+++ b/util/configv3/plugins_config.go
@@ -115,7 +115,7 @@ func (config *Config) GetPluginCaseInsensitive(pluginName string) (Plugin, bool)
 //   2. Defaults to the home directory (outlined in LoadConfig)/.cf/plugins
 func (config *Config) PluginHome() string {
        if config.ENV.CFPluginHome != "" {
-               return filepath.Join(config.ENV.CFPluginHome, ".cf", "plugins")
+               return config.ENV.CFPluginHome
        }

        return filepath.Join(homeDirectory(), ".cf", "plugins")

I get these results:
Summarizing 2 Failures:

[Fail] Config LoadConfig when there is a config set but it is empty [It] returns the default config with a json error
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/load_config_test.go:132

[Fail] Config LoadConfig when there isn't a config set [It] returns a default config
/Users/ericp/go/src/code.cloudfoundry.org/cli/util/configv3/load_config_test.go:61

Ran 111 of 111 Specs in 0.115 seconds
FAIL! -- 109 Passed | 2 Failed | 0 Pending | 0 Skipped

Better.  I'll keep on this a bit and try to get a PR up

hey @ericpromislow are you happy for us to close this now that your issues are resolved? thanks.

Closing this issue due to inactivity. Please @ericpromislow do not hesitate to reopen if issues persist. Thanks.


Travis build is not working because JDK install

Error installing ‘oraclejdk8’: “Expected feature release number in range of 9 to 14, but got: 8”

Muchas gracias!

Lo voy a checar!


fix: 💫 check sound system is ready before playing sound

Description
Check sound system is available before attempting to play sound effect.
Fixes # (issue)
Type of change

[X] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[X] Catch2 unit tests run and passed.

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] Any dependent changes have been merged and published in downstream modules

Codecov Report
Attention: Patch coverage is 0% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 72.28%. Comparing base (84935fe) to head (e127e1b).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##             main      #79      +/-   ##
==========================================
- Coverage   72.47%   72.28%   -0.20%
==========================================
  Files           8        8
  Lines         367      368       +1
  Branches       64       63       -1
==========================================
  Hits          266      266
- Misses        101      102       +1

Files
Coverage Δ

src/systems.cpp
15.17% <0.00%> (-0.14%)
:arrow_down:


Add IPFS Weekly 132 + 3 new links

Note to anyone watching: I snuck a few Forestry config changes into this one to better clarify in the frontmatter helptext the difference between publish dates and schedule dates.