rspec-rails for a rails project without db connection

Good afternoon,
I have a rails 4.2.1 project which doesn't use db connection.
I am using rspec-rails (3.3.2) to test my rails application.
I am using a rails_helper.rb and a spec_helper.rb file generated by the generator
rails generate rspec:install.
When I add the following to the rails_helper.rb file:
require 'rspec/rails'
I get the following error:
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base
-e:1:in `load'
-e:1:in `<main>'

So I replaced the
require 'rspec/rails'
by requiring the individual submodules
# Load any of our adapters and extensions early in the process
require 'rspec/rails/adapters'
require 'rspec/rails/extensions'

# Load the rspec-rails parts
require 'rspec/rails/view_rendering'
require 'rspec/rails/matchers'
require 'rspec/rails/configuration'

But it fails to require 'rspec/rails/configuration' submodule.
I need the configuration module because I want to set the
config.infer_spec_type_from_file_location!
parameter.
Do you have any ideas how to solve my problem?
Thanks in advance for any help.
Regards,
Joost

Can you please share the following files:

spec/spec_helper.rb
spec/rails_helper.rb
config/application.rb

By default if rspec-rails does not detect ActiveRecord when you run rails g rspec:install then it will not attempt to add settings to configure it. Specifically, the following settings should not be in your helper files:

ActiveRecord::Migration.maintain_test_schema!
ActiveRecord::Migration.check_pending!
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true

If you have none of those settings, there are still one or two runtime checks for ActiveRecord that are performed. However, if you have configured your Rails application to not use ActiveRecord those checks should fail. Please be aware that we have had reports that other gems do not respect your application setup and sometimes load ActiveRecord inappropriately. If that happens, rspec-rails will likely see ActiveRecord during the runtime checks.

Good evening,
First of all thanks for your quick response.
My project is available on github. It is a clone from an existing project https://github.com/glyph-fr/devise_remote_client for which I am adding RSpec tests.
The master branch https://github.com/JoostVanAverbeke/devise_remote_client contains the application (it is gem) with the specs running in a rspec-rails 2.14.2 environment.
All tests are turning green.
I have created a branch https://github.com/JoostVanAverbeke/devise_remote_client/tree/usage_of_rspec-rails_3_3_2 for which I have upgraded to rspec-rails 3.3.2.
When I run these rspec tests I get the following error:
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base
/Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:570:in retrieve_connection’  /Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/connection_handling.rb:113:in retrieve_connection’
/Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/connection_handling.rb:87:in connection’  /Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/fixtures.rb:501:in create_fixtures’
/Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/fixtures.rb:979:in load_fixtures’  /Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/fixtures.rb:952:in setup_fixtures’
/Users/joost/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.2.3/lib/active_record/fixtures.rb:826:in before_setup' -e:1:in load' -e:1:in `'
I hope this gives you enough info about the application (gem) and its environment.
Thanks in advance for your help.
Regards,
Joost
Op 9 jul. 2015, om 18:18 heeft Aaron Kromer<EMAIL_ADDRESS>het volgende geschreven:

Can you please share the following files:
spec/spec_helper.rb
spec/rails_helper.rb
config/application.rb
By default if rspec-rails does not detect ActiveRecord when you run rails g rspec:install then it will not attempt to add settings to configure it. Specifically, the following settings should not be in your helper files:
ActiveRecord::Migration.maintain_test_schema!
ActiveRecord::Migration.check_pending!
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
If you have none of those settings, there are still one or two runtime checks for ActiveRecord that are performed. However, if you have configured your Rails application to not use ActiveRecord those checks should fail. Please be aware that we have had reports that other gems do not respect your application setup and sometimes load ActiveRecord inappropriately. If that happens, rspec-rails will likely see ActiveRecord during the runtime checks.
—
Reply to this email directly or view it on GitHub.

The issue is on L22 of spec/dummy/config/initializers/devise.rb, you're requiring the devise ActiveRecord ORM adaptor which loads ActiveRecord which in turn causes our code to insert fixture support and expect ActiveRecord to be usable. Removing this line turns your specs green.

@JonRowe - thanks!


gem install pg: fatal error: libpq-fe.h: No such file or directory

What happened?
I'm trying to setup my rails project, it works perfectly fine with a normal nix-shell, but not with dev box
I'm getting, even tho postgresql is installed.
-I/nix/store/vpaj7w9aif0gbfs2bfpvav8a2026wkam-ruby-3.3.5/include/ruby-3.3.0 -I. "-IThe real pg_config can be found in the -dev output."    -O3 -fPIC   -c conftest.c"
conftest.c:3:10: fatal error: libpq-fe.h: No such file or directory
Steps to reproduce

gem install pg

Command
No response
devbox.json
{
  "packages": {
    "ruby":       "3.3",
    "bundler":    "2.5",
    "nodejs":     "21",
    "yarn":       "1.22",
    "curl":       "latest",
    "sqlite":     "latest",
    "postgresql": "latest",
    "nix-ld":     "latest"
  },
  "shell": {
    "init_hook": [
      "gem install rails -v 7.2",
      "./blog/bin/bundle install",
      "./blog/bin/rails -f ./blog/Rakefile db:prepare"
    ],
    "scripts": {
      "run_test":     ["./blog/bin/rails test"],
      "start_server": ["./blog/bin/rails server"]
    }
  }
}

Devbox version
0.13.6
Nix version
unstable nixos
What system does this bug occur on?
Linux (x86-64)
Debug logs
No response

I think you need to install the dev output of postgresql in order to add the header files to the project. Can you try removing postgresql and reinstalling it with:
devbox add postgresql@latest --outputs=out,dev

That did the trick, thank you!


Wrong colors with recommended configuration

Is there an existing issue outlining your problem?

[X] I have searched the existing issues and they do not solve my problem.

Describe your problem.
When using the recommended configuration I'm getting the wrong colors
Paste your configuration.
mkdir -p ~/.config/tmux/plugins/catppuccin
git clone https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux

set -g mouse on
set -g default-terminal "tmux-256color"

# Disable catppuccin styling windows.
set -g @catppuccin_flavor 'macchiato'
set -g @catppuccin_window_status_style "none"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_right_separator "█"

set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"

run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux

# Style the windows. See https://man7.org/linux/man-pages/man1/tmux.1.html#STYLES for more details.
set -gF window-status-style "bg=#{@thm_surface_1},fg=#{@thm_fg}"
set -gF window-status-current-style "bg=#{@thm_peach},fg=#{@thm_crust}"

set -g window-status-format " #T | #I "
set -g window-status-current-format " #T | #I "

set -g status-left ""
set -g  status-right "#{E:@catppuccin_status_application}"
set -ag status-right "#{E:@catppuccin_status_session}"
set -ag status-right "#{E:@catppuccin_status_user}"
set -ag status-right "#{E:@catppuccin_status_host}"
set -ag status-right "#{E:@catppuccin_status_date_time}

Attach screenshots.

What tmux version are you seeing the issue on?
tmux 3.4
Any additional comments?
No response

I seem to have the same issue with the gray background. my relevant config:
set -g @catppuccin_flavor "mocha"
set -g status-left ""
set -g status-right "#{E:@catppuccin_status_user}"
set -ag status-right "#{E:@catppuccin_status_directory}"
set -ag status-right "#{E:@catppuccin_status_host}"
set -ag status-right "#{E:@catppuccin_status_session}"
set -g @catppuccin_window_status_style "custom"
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_middle_separator "█"
set -g @catppuccin_window_right_separator ""
set -g @catppuccin_window_current_background "#{@thm_mauve}"
set -g @catppuccin_status_middle_separator "█"
set -g @catppuccin_window_default_text " #W"
set -g @catppuccin_window_current_text " #W"
set -g @catppuccin_pane_border_style "fg=#{@thm_surface_0}" # Use a value compatible with the standard tmux 'pane-border-style'
set -g @catppuccin_pane_active_border_style "fg=#{@thm_peach}" # Use a value compatible with the standard tmux 'pane-border-active-style'

I too have a problem where my status bar is gray instead of the intended dark blue color. The only color that works correctly and is like on the thumbnail is the latte flavor.

I noticed this starting in 1.0.2. I pinned back to v1.0.1 for now. In tpm, this would be
set -g @plugin "catppuccin/tmux#v1.0.1"

but cloning manually like OP I would guess:
cd ~/.config/tmux/plugins/catppuccin/tmux
git checkout v1.0.1

Is there a way to control this background color, similar to how I had to use @thm_blue to get the old default window color back?

This is mentioned at the top of the tmux man page: https://man7.org/linux/man-pages/man1/tmux.1.html#COMMAND_PARSING_AND_EXECUTION
Like, if you want dark blue: tmux set -g status-style 'bg=darkblue'
Also please specify the exact expectations. I can't fix something when I don't know what the expected behaviour is. If the color is wrong, what should it be? Please refer to the palette: https://catppuccin.com/palette

@kjnsn
I was able to dig this up from another machine that I did not update. This is what it looked like when I only imported the plugin and don't set anything manually -- I'm not sure what the default flavor was. I expected the new version's title bar to use the same color. I tried changing flavors but it didn't seem to have any effect.

Thank you! According to semver a major release can contain breaking changes, and one of those changes was to the status line background.

This change was between v1.0.1 and v1.0.2.
set -g @plugin "catppuccin/tmux#v1.0.1"

The background seems to be transparent.
set -g @plugin "catppuccin/tmux#v1.0.2"

The background has a grey color. Adding `set -g status-style 'bg=#{@thm_crust}' to my setup does not seem to help, the grey overrides it.

 If it's before then obviously it will be overridden

I was more commenting on the, "major releases can contain breaking changes" comment to say this was broken between minor patch releases, but regardless, a good workaround for me was to set the background explicitly to what it was before using:
set -g @catppuccin_status_background "#1e1e2e"

To determine what it was before I loaded the v1.0.1 version and then used command:
tmux show-option -gqv status-style

Also please specify the exact expectations.

The expectation is, that using configuration snippets in the docs results in the same look as the screenshot above them. At least for "Config 1" that is not the case.

Fixed in #377


Unable to login to sql with windows authentication? How can I login ?

I installed sql management studio and I'm trying to login but it doesn't work with windows authentication? is there an SA account I can use? please help

Ok I resolved it myself, although my user is an administrator it wasn't added to SQL. So I enabled the standard Administrator account and I was able to login to SQL that way and then I successfully added my user...
I would suggest adding the parameter "/ADDCURRENTUSERASSQLADMIN" to the installation script I think this would solve the issue.

How exactly did you manage to do that? I cannot get the admin account to switch in the login screen even after changing it in the configuration manager to be the login user.

I was able to resolve this by running SSMS in Admin mode.

Instead of just running in admin mode, you can add your current user as a new login.

I followed instructions from here: https://superuser.com/a/1386437


mtp-responder: Disable device icon by default

Summary
mtp-responder: Disable device icon by default.
Some device not support device icon very well.

ap> hexdump /vendor/mtp/device_icon.ico skip=0 count=16
/vendor/mtp/device_icon.ico at :
0000: 00 00 01 00 01 00 00 00 00 00 01 00 20 00 47 9b ............ .G.
ap> hexdump /vendor/mtp/device_icon.ico skip=39757 count=16
/vendor/mtp/device_icon.ico at :
0000: e8 1a 97 c9 00 00 00 00 49 45 4e 44 ae 42 60 82 ........IEND.B`.

Impact
mtp-responder
Testing
Self test with customed board succ.

@Donny9  Could you review this PR please ?


Expose peer information to handlers and clients

On requests and streams, expose the peer's address. For clients, the address is the host or host:port, parsed from the URL. For servers, the address is an IP:port pair, provided by net/http as Request.RemoteAddr.
In https://github.com/bufbuild/connect-go/issues/357, a handful of users asked for this information for logging, per-IP rate limiting, and a variety of other server-side concerns. It's also necessary for OpenTelemetry interceptors (https://github.com/bufbuild/connect-go/issues/344).
Fixes https://github.com/bufbuild/connect-go/issues/357.

@ElliotMJackson and @joshcarp, added you as reviewers in case you're interested or want to use this as a chance to start digging into connect-go. No pressure if you're still getting ramped up on other stuff.


Proper Requirejs/CommonJS format

This change will wait for jQuery to be available for require JS and common JS.

Thank you for taking the time to submit this change, it looks good to me but I'll give it a test shortly.


Lazy Load Sentry dependency or make it optional in config.js

Is your feature request related to a problem? Please describe.
Volto currently loads the sentry js library with 70kb no matter if it is used or not.

Describe the solution you'd like
I guess it is not possible to lazy load the library since it needs to be around in case of an error. Though, maybe we could make sentry optional in the config.js ("sentry=false" by default) to reduce the bundle size for sites that do not use Sentry.

I mean, if we think about it, if the default webpack mechanisms for loading modules fail and that code runs in production, you have bigger issues than sentry not being loaded by default.
I'm +1 on making sentry lazyload by default.


Error while training

stack traceback:
	[C]: in function 'read'
	/home/manan/torch/install/share/lua/5.1/torch/File.lua:351: in function </home/manan/torch/install/share/lua/5.1/torch/File.lua:245>
	[C]: in function 'read'
	/home/manan/torch/install/share/lua/5.1/torch/File.lua:351: in function 'readObject'
	/home/manan/torch/install/share/lua/5.1/torch/File.lua:369: in function 'readObject'
	/home/manan/torch/install/share/lua/5.1/torch/File.lua:409: in function 'load'
	/home/manan/MSDNet/datasets/cifar10-gen.lua:23: in function 'convertToTensor'
	/home/manan/MSDNet/datasets/cifar10-gen.lua:52: in function 'exec'
	./datasets/init.lua:29: in function 'create'
	./dataloader.lua:31: in function 'create'
	main.lua:44: in main chunk
	[C]: in function 'dofile'
	/home/manan/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
	[C]: at 0x00405d50

It seems your data were not downloaded correctly. Could you provide more details on how you run into this error? I cannot reproduce this error on my machine.

I run the same command mentioned in the readme for training
th main.lua -netType msdnet -dataset cifar10 -batchSize 64 -nEpochs 300 -nBlocks 7 -stepmode lin_grow -step 1 -base 1

@gaohuang you were right. Data wasn't downloaded properly.
My bad. Sorry for the inconvenience.
:+1:


Camera Streaming Camera Controls Possible?

Would like to have GUI  application probably java based on pc that can control focus, exposure and all other camera parameters with adb scrcpy commands?
Currently I'm using camera streaming android 12 with no audio and it constantly does auto focus and it would be nice to have control over focus exposure levels shutter and so on.  Controls over the camera options would help.
How hard would this be to have access to camera controls? Does scrcpy already have something in place for this?

Would like to have GUI application probably java based

In general, a GUI (in Qt or something) for having widgets would be great. But that's too much work to develop/maintain. So it will remain in SDL with shortcuts for actions.
Probably not Java-based anyway (Swing?).
For camera options, see discussions in #4452.

Would like to have GUI application probably java based

In general, a GUI (in Qt or something) for having widgets would be great. But that's too much work to develop/maintain. So it will remain in SDL with shortcuts for actions.
Probably not Java-based anyway (Swing?).
For camera options, see discussions in #4452.

Yes I want to create GUI app for this but I need to know about access to camera controls that scrcpy might have. I will read that for sure. Thanks


Update transformer.js

Fix error when path to preprocessor contains some characters like '&', etc...

Thanks @ladeiko, released in 1.1.3 👍


Solve 2023-03-29 nightly build failure issues

PR Overview
We got a few failures in the most recent nightly build. It looks like there are two new PRs that made it into the build:

A log file for the build is not being written to the output bucket or sent to the #pudl-deployments slack channel. I pulled the test errors below from Cloud Logging.

test/validate/eia_test.py::test_no_null_cols_eia failed on the frc_eia923 table:

E           ValueError: Null columns found in frc_eia923: ['bulk_agg_fuel_cost_per_mmbtu']

@zaneselvans @e-belfer did #2447 touch this table?

test/integrations/etl_test.py:: test_pudl_engine found a foreign key constraint failure:

E           pudl.io_managers.ForeignKeyErrors: Foreign key error for table: purchased_power_ferc1 -- power_purchase_types_ferc1 {self.foreign_key} -- on rows {self.rowids}

I'm a dingdong and forgot to make the second half of the error message an f-string. purchased_power_ferc1 is the child table and power_purchase_types_ferc1 is the parent table. I don't think either of the two PRs directly changed anything about FERC tables. I'm going to download pudl.sqlite and run the fk checks locally to debug this.

PR Checklist

[ ] Merge the most recent version of the branch you are merging into (probably dev).
[ ] All CI checks are passing. Run tests locally to debug failures
[ ] Make sure you've included good docstrings.
[ ] For major data coverage & analysis changes, run data validation tests
[ ] Include unit tests for new functions and classes.
[ ] Defensive data quality/sanity checks in analyses & data processing functions.
[ ] Update the release notes and reference reference the PR and related issues.
[ ] Do your own explanatory review of the PR to help the reviewer understand what's going on and identify issues preemptively.

This seems like a vote for increasing the priority of setting up the check_foreign_keys() follow-on job!
#2447 should not have touched any of this stuff.  It doesn't even create a new raw asset b/c of the weird archive problem with the 2018 data, so all it adds is some additional spreadsheet mapping metadata.
So far as i know nothing has changed with the ferc1 tables either so... that seems very odd!

I think we lost the logs because we don't have pudl-etl.log anymore:

Which happened when we stopped using configure_root_logger with a log_file set. I can push some changes to this branch to test out if pudl-etl.log gets written.

In the past I don't think the pudl-etl.log file was being created using a python logger. We were just piping the stdout and stderr into a new file called pudl-etl.log. I don't think it's advised to have multiple processing writing to a logfile via a python logger.
I think the path for $LOGFILE might be incorrect.

In the past I don't think the pudl-etl.log file was being created using a python logger. We were just piping the stdout and stderr into a new file called pudl-etl.log. I don't think it's advised to have multiple processing writing to a logfile via a python logger.
...
I think all we have to do is update the $LOGFILE path.

Ahh, yeah makes sense. I'll do that then, and leave the "should we just be using Cloud Logging" question as a non-blocking discussion :)

The frc_eia923 error failed for the same reason the FK constraint test failed. The fuel_receipts_costs_aggs_eia table was not loaded to the db because of a MetadataDiffError.

I agree that we should revert #2331 and re-evaluate our approach - then at least we won't be blocking all the other work that wants to get into dev.

Sounds good to me. Let's revert it, and I'll add some thoughts to #2377 .

I attempted to merge this into dev before the nightly build kicked off but missed it by 1 minute.

I cancelled the scheduled deployment since it seemed doomed, and kicked one off manually on the post merge dev.


chore: add configuration for token issuer

Added a configuration option to specify the issuer encoded into tokens. I found this was needed to support running in Docker with a suite of other services on the Docker network.

Hey @furious-luke, I completely missed this PR somehow. Thanks for the contribution.
If you have a moment, could you elaborate why the issuer change was needed? I ask because I'm running it in docker and haven't had any issues. Mostly just for my curiosity.
Thanks also for the additional targets. I'll get this PR reviewed soon.

Hey @jagregory! The setup works perfectly well on localhost so long as you want to access the Cognito service from outside Docker (i.e. on your host machine). However, I was running the service from docker-compose, and my Cognito service was located within the Docker network at a hostname of cognito. So, any requests for authentication were rejected because they weren't asking localhost for authentication. The configuration option allows me to specify the hostname of the Cognito server.
Hope that makes sense!

A good one. Thanks a lot.
Also adding admin actions targets is very useful.

Thanks @furious-luke that does make sense. I'm doing host to container stuff so it makes sense I haven't had any issue. I'll get this merged asap and a new release out. Cheers

I'll need a little bit longer on this. I noticed your comment @furious-luke:
// TODO: Why was this here?
// Username: uuid.v4(),
Username: body.Username,

and that's made me realise I've used the Username and Sub interchangeably, which is incorrect. The Username is user-specified, and the Sub is the autogenerated UUID. I'm going to need to go through and update anywhere that uses the Username as the Sub, otherwise existing databases won't work correctly.


Test dummy issue for the workflow

Describe the bug
A clear and concise description of what the bug is.
Steampipe version (steampipe -v)
Example: v0.3.0
Plugin version (steampipe plugin list)
Example: v0.5.0

Closing this issue since testing is complete.


CKEditor5 to 4.x

CKEditor5 to 4.x
What was done

Rewrote CKE4 plugins to CKEditor5

How to install

Make sure your instance is up and running on latest dev branch.

git pull origin dev
make fresh

Update the Helfi Platform config

composer require drupal/helfi_platform_config:dev-ckeditor5 drupal/hdbt:dev-ckeditor5 drupal/hdbt_admin:dev-ckeditor5

Run make drush-updb drush-cr

How to test

CKEditor 5 Table

[ ] Go to edit some content via CKEditor and paste the old table markup 👇 to the source of the CKEditor
[ ] Check that the CKEditor displays the table design in a similar way as in the layouts here
[ ] Save the content and check that the table markup is now using
 wrapper and the table caption is
 the new data-attributes (in both cases).
[ ] Check that the table styles follow the design and that it works responsively.

  Link before the table

    Session 2
    Session 3
    Session 4
    Session 5
    Session 6
    Session 7

    Yes
    10
    5
    16
    7
    10
    10

    No
    5
    10
    0
    8
    5
    5

    Maybe
    4
    2
    4
    0
    4
    5

    Absent
    1
    3
    0
    5
    1
    0

    Link inside the table

    Table caption and a link inside the caption

  Link after the table

CKEditor 5 Quote

[ ] Go to edit some content via CKEditor and paste the markup 👇 to the source of the CKEditor
[ ] Save the content and check that the blockquote markup is now using the new data-attributes (in both cases).

The quote text with an old markup (using classes)

  Old Author

The quote text with a new markup (using data-attributes)

  New Author

CKEditor 5 Language selector

[ ] Go to edit some content via CKEditor and check that you can select a portion of text and make a quote out of it.
[ ] Save the content and check that the quote rendered with the correct styles

Check the images below. 👇

[ ] Go to edit some content via CKEditor and check that you can select a portion of text and choose a language for it.

[ ] Save the content and check that the translated portion of text is wrapped in to

CKEditor 5 Link button

[ ] Go to edit some content via CKEditor and paste the markup 👇 to the source of the CKEditor
[ ] Save the content and check that the normal links are rendered like before and buttons are rendered like before

Button markup: old

Variant: Primary

Variant: Secondary

Variant: Supplementary

Variant: normal link

Button markup: new

Variant: Primary

Variant: Secondary

Variant: Supplementary

Variant: normal link

As the CKEditor is upgraded to 38 in D10.1, the LinkFormView is not available like it was in version 36. Needs refactoring.

Codecov Report

:exclamation: No coverage uploaded for pull request base (4.x@69a3068). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head cd52f16 differs from pull request most recent head 09071ab. Consider uploading reports for the commit 09071ab to get more accurate results

@@          Coverage Diff           @@
##             4.x     #625   +/-   ##
======================================
  Coverage       ?   13.29%
  Complexity     ?      241
======================================
  Files          ?       30
  Lines          ?      910
  Branches       ?        0
======================================
  Hits           ?      121
  Misses         ?      789
  Partials       ?        0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Delete some corrupt content items

This commit adds a migration to delete two content items that have become corrupt leading to Whitehall not being able to republish them.
The associated Whitehall documents will be republished once this migration has run.

@gpeng can you include the schema.rb please?

Doh... Sorry. I've updated it. I always think of these as data migrations a la Whitehall and they don't update the schema version. I only speak Whitehall these days 🤕


CLRProfiler binaries are not found in release page

Could you please help me with binaries for CLRProfiler for framework 4.5.0

This repo is archived and not actively maintained. Consider failing an issue in https://github.com/dotnet/runtime


chore(ENG-8934): update package-lock files after publish

@NWRichmond following your details outlined here, the release workflow has been updated to:

run lerna run --parallel lockfile:update
commit the changes back to the existing ref branch using the github actions bot user.
push the changes back to the ref target

@NWRichmond do you want the lockfiles pushed directly to main, or to a different target branch?

@NWRichmond do you want the lockfiles pushed directly to main, or to a different target branch?

@norrismiv main is great! On feature branches that require publishing prerelease versions, we include additional branches in on.push.branches. If we can continue having that be the mechanism for controlling which branch the Release workflow operates on, that'd be awesome.


Adding docs about easily creating clients

Using the open API spec we can easily generate client code that represents the models, API endpoint, in both sync and async functions.
I added to the docs a line about how to automatically generate it - for those who don't know.

@ErezAmihud thanks!


Image Host Company -> Stock Photos-Illustrations-Mockups

Hey Aycan,
I just added a new tool I built last day to host images on Google Drive :)
You can try it here: https://www.imagehostcompany.com/
Hope you'll like it!

I appreciate your contribution, but I don't believe your tool fits in the section with the stock photographs, illustrations, or mockups. Maybe you could go to Design > Tools. Thanks!


Add local echo for starring a message.

If a user is on a slow network or just geographically distant (i.e. on a different continent) from a server, we should optimistically update for starring a message.
For relevant discussion, see #2843 and #2676.
@gnprice

@zulipbot claim

(It turns out that until recently, this was the only way the webapp had to display that you'd just starred a message -- there was a bug (zulip/zulip#10111) so that when it got an update_message_flags event for starring a message, it would drop it! But that was fine, because by then it had long since rendered the change with a local echo / optimistic update.)

Looks like work was begun in https://github.com/zulip/zulip-mobile/pull/2843 and finished in https://github.com/zulip/zulip-mobile/pull/2922, so, closing this.  🎉


BLD: update setup.py for Python 3.10

I noticed that Python :: 3.10 doesn't appear under the programming language classifiers:
https://pypi.org/project/scipy/1.8.0rc1/
I am not sure how you handle backports, but this should also be applied to the 1.8 branch.

The linting error is due to an extra blank line introduced in #15232 and maybe it should be fixed in #15235.

thanks, squash merged for backport


FSRT Crashes on a prod app

Hi @here, we've attempted to run the FSRT against our prod apps, but failed. Running FSRT for the sample apps provided works like a charm.
This is the error stack we get:
hread 'main' panicked at 'called `Option::unwrap()` on a `None` value', crates/forge_analyzer/src/engine.rs:107:13
stack backtrace:
   0:        0x100b3437c - std::backtrace_rs::backtrace::libunwind::trace::h72c73b9e5db0005d
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:        0x100b3437c - std::backtrace_rs::backtrace::trace_unsynchronized::h0241cec881bc8f92
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:        0x100b3437c - std::sys_common::backtrace::_print_fmt::h7a7ee67e414bd3d7
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:66:5
   3:        0x100b3437c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h2990a6f24ccff6db
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:45:22
   4:        0x100b4d298 - core::fmt::write::h91497fd291c8b104
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/fmt/mod.rs:1202:17
   5:        0x100b31a48 - std::io::Write::write_fmt::h23fa41342cffacf4
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/io/mod.rs:1679:15
   6:        0x100b35818 - std::sys_common::backtrace::_print::h39f712a9b74dd89c
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:48:5
   7:        0x100b35818 - std::sys_common::backtrace::print::h0be19d9a7285bd90
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:35:9
   8:        0x100b35818 - std::panicking::default_hook::{{closure}}::hb41cdb784f4c17ac
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:295:22
   9:        0x100b3553c - std::panicking::default_hook::hdfe992d5fb29a991
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:314:9
  10:        0x100b35db0 - std::panicking::rust_panic_with_hook::h2eb0e4b718773521
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:698:17
  11:        0x100b35cac - std::panicking::begin_panic_handler::{{closure}}::h06a693206403b4d5
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:586:13
  12:        0x100b347e4 - std::sys_common::backtrace::__rust_end_short_backtrace::h8998defd518dbcad
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:138:18
  13:        0x100b35a3c - rust_begin_unwind
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
  14:        0x100b67948 - core::panicking::panic_fmt::ha46aa9af97eb193d
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
  15:        0x100b67868 - core::panicking::panic::h5713e7735cef5fa8
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:48:5
  16:        0x10091141c - forge_analyzer::engine::Machine::run::h7a1f6acb64055427
  17:        0x1008e3b2c - fsrt::ForgeProject::verify_funs::{{closure}}::hb1e7a70c03245fd1
                               at /Users/alexandr/Projects/FSRT/crates/fsrt/src/main.rs:95:37
  18:        0x1008e3b2c - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::h07758b3811d2889b
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:306:13
  19:        0x1008e3b2c - core::option::Option<T>::map::h3b5d6ea649a218ad
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/option.rs:929:29
  20:        0x1008e3b2c - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next::h0caefb3d874f079a
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:103:9
  21:        0x1008e3b2c - fsrt::scan_directory::h4a7f66d7998cd404
                               at /Users/alexandr/Projects/FSRT/crates/fsrt/src/main.rs:221:34
  22:        0x1008e3b2c - fsrt::main::h01d2ecd2d68dd5c9
                               at /Users/alexandr/Projects/FSRT/crates/fsrt/src/main.rs:241:9
  23:        0x1008bb9b8 - core::ops::function::FnOnce::call_once::h2e201af541a026ec
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
  24:        0x1008bb9b8 - std::sys_common::backtrace::__rust_begin_short_backtrace::hef0b091c373b9d2c
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:122:18
  25:        0x1008bb9d8 - std::rt::lang_start::{{closure}}::h23e0725df52f5fbe
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:166:18
  26:        0x100b2e20c - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h0c60ab225fafdaa1
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:283:13
  27:        0x100b2e20c - std::panicking::try::do_call::he83c34dec7ecf156
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40
  28:        0x100b2e20c - std::panicking::try::hf8a127683312d6e6
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19
  29:        0x100b2e20c - std::panic::catch_unwind::h6bfb2185c735f4ae
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14
  30:        0x100b2e20c - std::rt::lang_start_internal::{{closure}}::he1235e45f833117a
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:48
  31:        0x100b2e20c - std::panicking::try::do_call::h600fcfa83f96c092
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40
  32:        0x100b2e20c - std::panicking::try::h3ab439188ed13993
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19
  33:        0x100b2e20c - std::panic::catch_unwind::hb86c613836afcf80
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14
  34:        0x100b2e20c - std::rt::lang_start_internal::h94fa211da9d06d56
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:20
  35:        0x1008e64e0 - _main

fsrt 0.1.0
cargo 1.65.0 (4bc8f24d3 2022-10-20)
rustc 1.65.0 (897e37553 2022-11-02)
App ID: c3a79af7-56b4-4223-8255-289962173158

Sorry for the late response, we just went through a pretty big rewrite. Can you confirm that it doesn't crash anymore with the most recent version? I just ran fsrt on your app, and it appears that it doesn't crash anymore.

Closing, since the most recent version of FSRT was able to scan this app in prod.


Update command typo in cng-named-elliptic-curves.md

Fix a typo in the command certutil -displayEccCurve

#sign-off

@Xanewok : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Resolved conflict with docs branch, let me know if I should squash/rebase first.


BRMS tutorial: add rstan example

Description
This PR adds an example of rstan usage with a raw Stan model to the existing brms tutorial.
I also rearranged that tutorial a bit (separate section for data).
I was able to test the Rmd code, all runs as intended. However, I did not knit or publish any of this to html, the structure and publication procedure of this repo seem too sophisticated for me (though great that it is based on hugo ssg!). I hope it will not crash GHA.
Thank you in advance for review and suggestions!
Task list

[X] My tutorial or article is placed in a subfolder of tutorials/content
[X] The filename of my tutorial or article is index.md. In case of an Rmarkdown tutorial I have knitted my index.Rmd to index.md (both files are pushed to the repo).
[X] I have included tags in the YAML header (see the tags listed in the tutorials website side bar for tags that have been used before)
[X] I have added categories to the YAML header and my category tags are from the list of category tags
[ ] I was not able to compile the tutorial into html files, and would appreciate if you original authors and tutorial maintainers could take over.

From looking at the content/tutorials/r_brms/index.md file, I think that the html's should be rendered locally and commited to the repo in this folder.

Thanks, I will try that, and we see where checks lead us.

Any particular reason you provide the poisson_model.stan file in brms_eng folder and not in the brms_nl folder?

Good point; I was thinking about git / data redundancy.
Thinking one step further:

should they rather be in the [...]/html folder, close to what people actually read?
... or shouldn't they best be in a top level /data folder, or in /inst, to be generally accessible?
Thank you for advice @wlangera @hansvancalster ! I will move the file and adjust links.

I incorporated the change suggestions and re-knitted the html reports. This also yielded two image-related issues, here and here.

the cmdstanr package is explicitly mentioned (suggestion by @hansvancalster )
general code files are now in a general folder
knit with low res images

Thank you for re-checking and publishing!


fix(core): change submitted state on resetForm.

fix #785

This change is

Codecov Report

Merging #786 into master will decrease coverage by 0.09%.
The diff coverage is 66.66%.

@@            Coverage Diff            @@
##           master     #786     +/-   ##
=========================================
- Coverage   91.94%   91.85%   -0.1%
=========================================
  Files          22       22
  Lines         906      908      +2
  Branches      249      250      +1
=========================================
+ Hits          833      834      +1
- Misses         73       74      +1

Impacted Files
Coverage Δ

src/core/src/components/formly.form.ts
98.8% <66.66%> (-1.2%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 35fe7c5...56d011a. Read the comment docs.


Form gallery

Description of proposed changes
What does this pull request accomplish? Why should it be integrated?
Updates the form gallery
Checklist
Put an x in the boxes that apply.

[ ] My lint and unit tests pass locally with my changes
[ ] I have added tests that prove my changes work (if applicable)
[ ] I have added or updated necessary documentation (if appropriate)

Additional comments
Is there anything else you want us to know?

@hopetambala All issues resolved 🥇


PlatformColor and DynamicColorIOS don't work with the New Architecture on iOS

Description
There are two regressions related to colors on the new arch on iOS

DynamicColorIOS doesn't work at all
PlatformColor only works for the initial color scheme and does not update when the user switches between appearances

Steps to reproduce

Enable the new architecture on your iOS project
Try using DynamicColorIOS or PlatformColor and switching between light mode and dark mode

<View>
     <Text style={{color: PlatformColor('labelColor')}}>TEST</Text>
     <Text
          style={{
            color: DynamicColorIOS({
              dark: '#FF0000',
              light: '#00F000',
            }),
          }}>
          TEST
      </Text>
</View>

React Native Version
0.73.1
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 14.0
  CPU: (12) arm64 Apple M2 Max
  Memory: 213.67 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.18.2
    path: ~/.volta/tools/image/node/18.18.2/bin/node
  Yarn:
    version: 1.22.19
    path: ~/.volta/tools/image/yarn/1.22.19/bin/yarn
  npm:
    version: 9.8.1
    path: ~/.volta/tools/image/node/18.18.2/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.13.0
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - visionOS 1.0
      - watchOS 10.2
  Android SDK:
    API Levels:
      - "22"
      - "26"
      - "30"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 26.0.3
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 33.0.1
      - 33.0.2
      - 34.0.0
    System Images:
      - android-22 | ARM 64 v8a
      - android-26 | Google APIs Intel x86_64 Atom
      - android-30 | ARM 64 v8a
      - android-33 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 15.2/15C5500c
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.8
    path: /usr/bin/javac
  Ruby:
    version: 2.7.8
    path: /Users/gabriel/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.1
    wanted: 0.73.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs
No relevant logs are generated

Reproducer
https://github.com/gabrieldonadel/rn-073-platform-color-bug
Screenshots and Videos
https://github.com/facebook/react-native/assets/11707729/8679eedf-eb66-4a8d-b253-3a17dddbc384

Same happens on react-native 0.72.7


TabNavigator and component demo

Add a TabNavigator. The first screen should be a "Components" demo.
Experiment with:

Making the "Components" screen contain the cases shown in storybook (and compare with using storybook)
Making the "Components" screen a long single screen (see if we can/want to showcase any performance optimizations) and using a drawer menu (https://docs.swmansion.com/react-native-gesture-handler/docs/api/components/drawer-layout) to jump between examples (similar to storybook UI)

Out of scope:

Final UI designs. We'll follow up later with that.
Final flow into and out of this navigator. Add buttons wherever is convenient for now.

Done here https://github.com/infinitered/ignite/pull/2018 and merged to maverick


Encountered error while archiving for device.

#0      runProcess (package:dart_release/utils/process.dart:28:29)
<asynchronous suspension>
#1      FlutterBuild.build (package:flutter_release/build.dart:72:20)
<asynchronous suspension>
#2      IosPlatformBuild._buildIosIpa (package:flutter_release/platform/ios.dart:228:22)
<asynchronous suspension>
#3      CommonBuildCommand.run (package:flutter_release/cli/build.dart:[82](https://github.com/ChunkyTofuStudios/destiwake-app/actions/runs/12271126256/job/34237469908#step:7:85):20)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#5      main (file:///Users/runner/.pub-cache/hosted/pub.dev/flutter_release-0.3.0/bin/flutter_release.dart:16:3)
<asynchronous suspension>

This error occurs even if I add an additional step before the oberhauser-dev/flutter-release-action@v0 action:
      - name: Get Flutter Dependencies
        run: |
          flutter pub get
          flutter gen-l10n

It does support l10n, but flutter_gen needs additional steps in order to work. Maybe you did it locally in the past already, but not on the ci:
https://pub.dev/packages/flutter_gen#installation

Thanks for the pointer, TIL!


Conda env doesn't seem to be respected

Each time I run it with a new conda env, it always say all the dependencies/modules that were installed are not found
It is fixed when I move out of the env and do a pip install -r requirements.txt (not ideal as I have other apps conflicting)
Error happens when I run diffuzers api

thank you for reporting. fixed in v 0.2.5

confirmed! thanks!


Unable to add a password to the game

The image works really well, but I can't seem to lock down the server with a password despite specifying it in the values.yaml file. I suppose that I am making an obvious mistake, and would like a bit of help as to why its not working.
The relevant section of my values.yaml:
server_settings:
  autosave_only_on_server: false
  name: '[BETA] helm-kubernetes-argocd-vanilla'
  description: 'unstable and experimental deployment method by me. Use at own risk and expect loss of data'
  tags:
    - vanilla
    - helm
    - experimental
  visibility:
    public: true
  require_user_verification: true

account:
  # Existing secret containing a valid factorio.com username and either a password or a token
  # Example:
  #
  # apiVersion: v1
  # kind: Secret
  # metadata:
  #   name: account-secret
  # data:
  #   username: <username in base64>
  #   password: <password in base64>
  #
  # accountSecret: account-secret
  [...]

serverPassword:
  # password required to log into the factorio server
  game_password: 'broski'
  # Existing Secret containing a `game_password` data entry
  passwordSecret: ''

This results in the following /factorio/configs/server-settings.json which has no password.
{
"afk_autokick_interval": 0,
"allow_commands": "admins-only",
"auto_pause": true,
"autosave_interval": 10,
"autosave_only_on_server": false,
"autosave_slots": 5,
"description": "unstable and experimental deployment method by me. Use at own risk and expect loss of data",
"ignore_player_limit_for_returning_players": false,
"max_players": 0,
"max_upload_in_kilobytes_per_second": 0,
"max_upload_slots": 5,
"maximum_segment_size": 100,
"maximum_segment_size_peer_count": 10,
"minimum_latency_in_ticks": 0,
"minimum_segment_size": 25,
"minimum_segment_size_peer_count": 20,
"name": "[BETA] helm-kubernetes-argocd-vanilla",
"non_blocking_saving": false,
"only_admins_can_pause_the_game": true,
"require_user_verification": true,
"game_password": "test",
"tags": [
  "vanilla",
  "helm",
  "experimental"
],
"visibility": {
  "lan": true,
  "public": true
},
"username": "...",
"token": "..."
}

As far as I understand, I only need to fill the game_password value to add a password

I was able to change the password using rcon but its a roundabout way to do things:
docker run --rm -it outdead/rcon ./rcon -a [...]:30100 -p [...]

It also doesn't work when using passwordSecret. I have a sealed secret holding both game_password and rconpw
rcon:
  external: true
  passwordSecret: 'factorio-admin-secret'
[...]

and while I can change the rcon password using sealed-secrets I can't do the same for game-password

I'll be looking at this over the weekend. I'll update the thread with what I find.

@Vanderscycle I just created a PR and merged it in, I believe I found the issue which was a small oversight in our init script. Please try the latest version "1.2.2" and reopen if it is not resolved on your end.

The changes worked on my end.


How do I run it?

Hi, I would like to run BeatTogether server to solve the problem of difficult connection in China, is there any documentation available?
I tried to run it directly with docker, but I encountered an error, are there some steps missing?

logs (click to expand)

PS C:\Users\WGzeyu> docker run ghcr.io/pythonology/beat-together-master-server:sha-5c455cd
Unhandled exception. RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable
 ---> System.AggregateException: One or more errors occurred. (Connection failed)
 ---> RabbitMQ.Client.Exceptions.ConnectFailureException: Connection failed
 ---> System.Net.Sockets.SocketException (111): Connection refused
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
   at RabbitMQ.Client.Impl.TcpClientAdapter.ConnectAsync(String host, Int32 port)
   at RabbitMQ.Client.Impl.TaskExtensions.TimeoutAfter(Task task, TimeSpan timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectOrFail(ITcpClient socket, AmqpTcpEndpoint endpoint, TimeSpan timeout)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectOrFail(ITcpClient socket, AmqpTcpEndpoint endpoint, TimeSpan timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectUsingAddressFamily(AmqpTcpEndpoint endpoint, Func`2 socketFactory, TimeSpan timeout, AddressFamily family)
   at RabbitMQ.Client.Impl.SocketFrameHandler..ctor(AmqpTcpEndpoint endpoint, Func`2 socketFactory, TimeSpan connectionTimeout, TimeSpan readTimeout, TimeSpan writeTimeout)
   at RabbitMQ.Client.ConnectionFactory.CreateFrameHandler(AmqpTcpEndpoint endpoint)
   at RabbitMQ.Client.EndpointResolverExtensions.SelectOne[T](IEndpointResolver resolver, Func`2 selector)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.EndpointResolverExtensions.SelectOne[T](IEndpointResolver resolver, Func`2 selector)
   at RabbitMQ.Client.Framing.Impl.AutorecoveringConnection.Init(IEndpointResolver endpoints)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, String clientProvidedName)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, String clientProvidedName)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(String clientProvidedName)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection()
   at Autobus.Transports.RabbitMQ.RabbitMQTransportBuilder.Build()
   at Autobus.AutobusBuilder.UseTransport[TTransportBuilder](Action`1 onBuild)
   at Autobus.AutobusBuilderExtensions.UseRabbitMQTransport(IAutobusBuilder builder, Action`1 onBuild)
   at BeatTogether.Extensions.AutobusBuilderExtensions.UseRabbitMQTransport(IAutobusBuilder autobusBuilder, IConfiguration configuration)
   at BeatTogether.Extensions.HostBuilderExtensions.<>c.<UseAutobus>b__0_0(HostBuilderContext hostBuilderContext, IAutobusBuilder builder)
   at Autobus.HostBuilderExtensions.<>c__DisplayClass1_1.<UseAutobus>b__1(IServiceProvider _)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at BeatTogether.MasterServer.Program.Main(String[] args) in /app/BeatTogether.MasterServer/Program.cs:line 9

We don't have documentation currently. That is in progress of being written.
You need to run a RabbitMQ service. That is what is needed to route messages. Once ran you should be set.

I have run the RabbitMQ service, but I still get this error.

PS C:\Users\WGzeyu> docker run --net=host ghcr.io/pythonology/beat-together-master-server:sha-5c455cd
Unhandled exception. RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable
 ---> System.AggregateException: One or more errors occurred. (Connection failed)
 ---> RabbitMQ.Client.Exceptions.ConnectFailureException: Connection failed
 ---> System.Net.Sockets.SocketException (111): Connection refused
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
   at RabbitMQ.Client.Impl.TcpClientAdapter.ConnectAsync(String host, Int32 port)
   at RabbitMQ.Client.Impl.TaskExtensions.TimeoutAfter(Task task, TimeSpan timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectOrFail(ITcpClient socket, AmqpTcpEndpoint endpoint, TimeSpan timeout)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectOrFail(ITcpClient socket, AmqpTcpEndpoint endpoint, TimeSpan timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler.ConnectUsingAddressFamily(AmqpTcpEndpoint endpoint, Func`2 socketFactory, TimeSpan timeout, AddressFamily family)
   at RabbitMQ.Client.Impl.SocketFrameHandler..ctor(AmqpTcpEndpoint endpoint, Func`2 socketFactory, TimeSpan connectionTimeout, TimeSpan readTimeout, TimeSpan writeTimeout)
   at RabbitMQ.Client.ConnectionFactory.CreateFrameHandler(AmqpTcpEndpoint endpoint)
   at RabbitMQ.Client.EndpointResolverExtensions.SelectOne[T](IEndpointResolver resolver, Func`2 selector)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.EndpointResolverExtensions.SelectOne[T](IEndpointResolver resolver, Func`2 selector)
   at RabbitMQ.Client.Framing.Impl.AutorecoveringConnection.Init(IEndpointResolver endpoints)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, String clientProvidedName)
   --- End of inner exception stack trace ---
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, String clientProvidedName)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(String clientProvidedName)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection()
   at Autobus.Transports.RabbitMQ.RabbitMQTransportBuilder.Build()
   at Autobus.AutobusBuilder.UseTransport[TTransportBuilder](Action`1 onBuild)
   at Autobus.AutobusBuilderExtensions.UseRabbitMQTransport(IAutobusBuilder builder, Action`1 onBuild)
   at BeatTogether.Extensions.AutobusBuilderExtensions.UseRabbitMQTransport(IAutobusBuilder autobusBuilder, IConfiguration configuration)
   at BeatTogether.Extensions.HostBuilderExtensions.<>c.<UseAutobus>b__0_0(HostBuilderContext hostBuilderContext, IAutobusBuilder builder)
   at Autobus.HostBuilderExtensions.<>c__DisplayClass1_1.<UseAutobus>b__1(IServiceProvider _)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at BeatTogether.MasterServer.Program.Main(String[] args) in /app/BeatTogether.MasterServer/Program.cs:line 9

Please reach out to me on Discord for assistance.

Thanks to Kevman95 patience and help, all the problems are solved!
Now I use the following configuration.
First, block access to ports 5672 and 15672 from the Internet via iptables, allowing <IP_ADDRESS>.
Run docker directly from a linux-based system with the following command.
docker run -d -it --rm --name rabbitmq --net=host rabbitmq:3.9-management
docker run -d -v /root/master-server.json:/app/appsettings.json --net=host ghcr.io/pythonology/beat-together-master-server:master
docker run -d -v /root/dedicated-server.json:/app/appsettings.json --net=host ghcr.io/pythonology/beat-together-dedicated-server:master
docker run -d -v /root/status-api.json:/app/appsettings.json -p 23280:80 ghcr.io/pythonology/beat-together-status-api:master

/root/master-server.json：
{
  "MasterServer": {
    "EndPoint": "[Network card IP]:2328"
  },
  "Messaging": {
    "RabbitMQ": {
      "EndPoint": "amqp://<IP_ADDRESS>:5672"
    }
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Verbose",
      "Override": {
        "Microsoft": "Warning"
      }
    },
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Async" ],
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "Async",
        "Args": {
          "configure": [
            {
              "Name": "File",
              "Args": {
                "path": "logs/BeatTogether.MasterServer-{Date}.log",
                "rollingInterval": "Day"
              }
            }
          ]
        }
      }
    ]
  }
}

/root/dedicated-server.json：
{
  "Server": {
    "HostName": "[Public IP]",
    "BasePort": 30000,
    "RelayServers": {
      "MaximumSlots": 10000
    }
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Verbose",
      "Override": {
        "Microsoft": "Warning"
      }
    },
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Async" ],
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "Async",
        "Args": {
          "configure": [
            {
              "Name": "File",
              "Args": {
                "path": "logs/BeatTogether.DedicatedServer-{Date}.log",
                "rollingInterval": "Day"
              }
            }
          ]
        }
      }
    ]
  }
}

/root/status-api.json：
{
  "Status": {
    "MinimumAppVersion": "1.17.1"
  },
  "Quickplay": {
    "PredefinedPacks": [
      {
        "order": 0,
        "packId": "ALL_LEVEL_PACKS"
      },
      {
        "order": 1,
        "packId": "BUILT_IN_LEVEL_PACKS"
      }
    ],
    "LocalizedCustomPacks": [
      {
        "serializedName": "customlevels",
        "order": 2,
        "localizedNames": [
          {
            "language": "English",
            "packName": "Custom"
          }
        ],
        "packIds": [
          "custom_levelpack_CustomLevels"
        ]
      }
    ]
  },
  "Serilog": {
    "File": {
      "Path": "logs/BeatTogether.Status.Api-{Date}.log"
    }
  }
}

An update on the instructions above:

the "Server" field in dedicated-server.json has been renamed to "Node".
The ghcr.io/pythonology/beat-together-* images also haven't been updated in 3 months (at the time of writing), so you need to build them yourself.
"MinimumAppVersion" is "1.21.0" on the server right now. Not sure what the effect of a wrong version number is

An update on the instructions above:

the "Server" field in dedicated-server.json has been renamed to "Node".
The ghcr.io/pythonology/beat-together-* images also haven't been updated in 3 months (at the time of writing), so you need to build them yourself.
"MinimumAppVersion" is "1.21.0" on the server right now. Not sure what the effect of a wrong version number is

https://gist.github.com/qe201020335/31617e49041cda79896f3ebbcc8ffac6

@Hoxtop you don't have to build it yourself. The only change is the URL. Remove pythonology and replace it with beattogether.

The config files above are overriding the default values for all things. However, base on my understanding on asp.net and the code, most of those were already built in so there is no need to actually override all of them.
A better way is to create appsettings.Production.json file which the server will loads on start up. Then in the production json file, only override what is necessary, for example which ip and port to listen on.
This is also what I did in the gist mentioned above by @WGzeyu


Is it possible to detect inputs from different devices?

I have two keyboards - one regular and one is a keypad only (Both are USB). I tried inspecting the sender and all the values are the same. Any insights on how to differentiate between the two keyboards? Being able to get the USB Channel is good as well.
        private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
        {

                Console.WriteLine("KeyPress: \t{0}", e.KeyChar);
            //string txt= "KeyPress: \t{0}", e.KeyChar;

        }

I am also interested in figuring out how to do this, so I can use it to route keypresses for flight simulator.

I am also interested in figuring out how to do this, so I can use it to route keypresses for flight simulator.


Search nearAdd a search for the nearest

There is now a nearby wayfinding.
local map = {
		{x,x,0,0},
		{-1,x,0,0},
		{0, x,0,0},
		{0, x,x,x}
	};

Some tasks require you to find the nearest ones.
local map = {
		{x, x,x,x}
		{-1,x,x,x},
		{x, x,x,x,x},
		{x, x,x,x,x}
	};

Maybe there is some way to specify how close they should be to save memory.
For example at a distance of 2 cells from the start:
local map = {
		{x, x,x,0},
		{-1,x,0,0},
		{0, 0,0,0},
		{0, 0,0,0}
	};

Hello! Check dev branch I add new method solve_near. It's test branch from debug this method.

local start = vmath.vector3(1, 1, 1)
local map2 = {
{0, 0,0,0},
{-1,0,-1,-1},
{-1, 0,-1,0},
{0, -1,0,0}
};
local path = pathfinder.solve_near(map2, start)

Add stap limit from solve_near
local path = pathfinder.solve_near(map, start, 3)


Pod logs are no longer displayed

Since updating vsc to version 1.73.0 it is no longer possible to display the log of the selected pod after selecting a cluster / workload / pod.
The following is displayed after selecting logs to a pod:
Follow Logs:Show timestamp:Since:      Second(s)Minute(s)Hour(s)    Tail:RunResetSave Settings    Destination:WebviewTerminal
Filter:that matchthat don't matchafter matchbefore match                                Wrap lines:             Scroll To Bottom

This should be related to https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/pull/1119 . You could try the fix by installing https://github.com/lstocchi/vscode-kubernetes-tools/blob/master/vscode-kubernetes-tools-1.3.6.vsix manually.
BTW a new release is on its way https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/pull/1125 and you should see it in the marketplace in few hours.
I'll keep this open so you can confirm the fix.

Hiya @pgallmann and @lstocchi ❤☕ If it helps, I tried to replicate this and at least debug this but seems like it is bringing right set of result and it is only empty for the cases where the pod logs are genuinely empty. Sharing some analysis from my end and please correct me if anything I did wrong. cc and a gentle cc: @squillace + @itowlson
Not able to replicate on extension k8s version: v1.3.10 and one Mac O/S with vscode Version: 1.73.0.
Steps:

From current cluster context, expand, --> workloads --> pods --> right-click on selected pod --> select logs (Please see screenshot below.

Upon the appearance of the web view for see-logs, it Run and I can see logs.

Under the hood

I can see that extension runs following kubectl under the hood:
kubectl logs pod/canipull --namespace=default --container=canipull - I wonder - so incase it is returning the empty value for that pod might be it is returning right value?

Screenshots:

Closing it as it seems to be fixed. Please let us know if you face any other problem. Thanks!!


once the header color is fixed, remove the TempMenuItem style from skiff template varnish2 branch

dep: https://github.com/allenai/varnish-mui/issues/58

removed


it seems not work on atom 0.176 / linux

It does not popup tab list.

I am on version 0.176, it works normally. It looks like a problem with your atom. Have you got any errors in dev console ?


Detailed guide for hacking on etcd: write one

Feature request
A Twitter user writes:

I'm looking for an architecture overview and how to start hacking without having to read all the code, like this:
https://github.com/andrewjstone/rabble/blob/master/doc/architecture.md

Do we know of any guides for getting started / hacking with etcd?

There's a place in the documentation where the internal architecture details should go, but no one has written it yet because there is no time and it's one more thing that would need to be actively maintained.
Probably worth noting that the user provided a document he wrote himself for a single-contributor repo that only has 26 commits. What do large projects do?

Yeah it will be a lot of much work to keep it up-to-date. Instead, one can check out https://godoc.org/github.com/coreos/etcd. I think this is the great start point.

We will start documenting internals of etcd https://etcd.readthedocs.io/en/latest.


[Feature]: Chat Command to ban someone

Scope
In-Game Menu
Feature Description
Pretty simple, just a chat command to ban someone quickly (e.g. modders). Just, for example, /txban [ID] [Reason] and the guy gets banned permanently. Cuz if you want to ban someone temporarily you most probably have the time to open up the menu and smth like that.
Use Case
As I already said, this would be pretty useful if theres a modder on ur server and u have to ban him quickly but have to wait until the txadmin menu shows up, etc.
Proposed Solution
No response
Additional Info
No response

I can see this being useful, but code duplication would be an issue.
Also we have a lot of features, and having a /tx*** for every command would be annoying.
The compromise is that you can type /tx <id> and the ban is just one reason and two clicks away.


Embedded images should use std::array<> not C arrays

Description:

C++ code analysis can complain about using a C-style array instead of std::array<> for our embedded bitmap images. If we change that, we could also change the call to wxueImage and pass it an array by reference and eliminate the size_data parameter since the array already knows what the size is.
This will require adding #include <array> whenever the array is specified or called.
In wxWidgets 3.2, using the C++ standard library is optional, since C++11 is not required. That changes in 3.3 -- you have to have a C++11 compiler and use of the standard library is no longer optional. Since wxUiEditor already requires C++11, I don't think there should be an issue with using the standard library by including <array>.

Unfortunately, you cannot pass a std::array to a general purpose function, because the size of the array must be part of the parameter declaration. That means you still need to call the function with a pointer to the data and the size of the data. For example:
const unsigned char wiztest_png[1239] { ... };

// becomes

const std::array<unsigned char, 1239> wiztest_png = { ... };

// Header file

extern const unsigned char wiztest_png[1239];

// becomes

extern const std::array<unsigned char, 1239> wiztest_png;

// The actual call

wxueImage(wxue_img::wiztest_png, sizeof(wxue_img::wiztest_png))

// becomes

wxueImage(wxue_img::wiztest_png.data(), wxue_img::wiztest_png.size())

That means we aren't really gaining anything other then not having code analysis complain. That's a good enough reason on its own, but it is a low priority for now.


Fixes maaslalani/slides#231

Fixes #231
Changes Introduced

Removes carriage returns from the .md file immediately after reading it

I would be skeptical that the solution is this simple, but I have verified that it works on both Windows and Linux (WSL Ubuntu) using slides.md as well as the two files attached in the issue (one with DOS line endings and the other with Unix line endings). 🤷🏽♂

Thanks so much @rahji!


ArcanistTextLinter: Option to allow UTF8

This adds an option to the text linter for allowing UTF-8 characters in text files. This was added to support the following (but is not limited to the following characters):
├── foo
├── bar
└── baz

The default behavior of not allowing UTF8 characters is preserved.

Will open again in phabricator.

https://secure.phabricator.com/D16085


[Feature request]: A autoplay feature in <Speech/> component.

Describe the feature you'd like to request
I really require a feature in which i can autoplay the text in the speech Component
Describe the solution you'd like
Maybe a prop you can pass in the Speech component
Describe alternatives you've considered
I new to this stuff.

Hello @Hetosk1,
I completely agree with your idea of adding an autoplay feature to the <Speech> component, and I've also attempted to implement it in previous versions of react-text-to-speech.
Unfortunately, modern browsers restrict the use of the SpeechSynthesis API without user interaction. :(
For more information on this limitation, you can refer to the following sources:

MDN: SpeechSynthesisErrorEvent - not-allowed
Chromium Developers Group
Stack Overflow Discussion

I could still implement it, and it may work on older browsers, but it would introduce inconsistencies that I don’t think are worth the effort.
If you’ve already discovered a hack to make this work, please let me know!
Either way, thanks again for using react-text-to-speech and for giving me the opportunity to improve it further!

Hi @Hetosk1,
I have some good news to share!
I discovered that while Chrome requires user interaction to initiate speech synthesis, Firefox does not have this restriction. Additionally, in Chrome, if a user interacts with the page (like by clicking on a link) or if the text property changes, speech will play automatically.
With this in mind, I've added an autoPlay prop to both the useSpeech hook and the <Speech> component in the latest version of react-text-to-speech (v0.19.0). This feature should enhance the user experience by allowing speech to play automatically.
Thank you for suggesting this valuable improvement!


[CINFRA-718] Snapshot mutex

Scope & Purpose
A crash was detected during chaos testing. We believe it to be due to incorrect usage of the mutex in the Snapshot class.

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification

maybe we want to log whenever the follower requests a new batch and when the follower has received that new batch?
including the shard names? 🙂


Update readme for getAllIanaWindowsMap method

It updates README file for getAllIanaWindowsMap() method.

@rubenillodo Could you make the release after merge the current PR?

@rubenillodo Thank you! 🎉

@rubenillodo Is something wrong with that PR? Travis CI has status Expected — Waiting for status to be reported since yesterday. 😞

:tada: This PR is included in version 4.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Migrate repo to GitHub Actions

Closes #320

@keradus Hello! In this PR I just move configuration from travis to GA as is.
But i have no idea how can I setup BOX build without access to some tokens
I found example here:
https://github.com/sergeyklay/gh-actions-php-phar-create-release-example/blob/master/.github/workflows/release.yml
So if you need that add integration by yourself

@keradus Symfony 6 incompatible at this time. So i propose to fix it in new PR
Configuration: /home/runner/work/php-coveralls/php-coveralls/phpunit.xml.dist

  Warning - The configuration file did not pass validation!
  The following problems have been detected:

  Line 33:
  - Element 'filter': This element is not expected.

  Test results may not be as expected.

WW..WW........WWWWWWWWWW..............................WWWWWW...  63 / 253 ( 24%)
PHP Fatal error:  Declaration of PhpCoveralls\Bundle\CoverallsBundle\Console\Application::getDefinition() must be compatible with Symfony\Component\Console\Application::getDefinition(): Symfony\Component\Console\Input\InputDefinition in /home/runner/work/php-coveralls/php-coveralls/src/Bundle/CoverallsBundle/Console/Application.php on line 44
.....................................................
Error: Process completed with exit code 255.

Interesting, 2021-11-10 17:53:56 it was running on v6-dev smoothly... :( yeah, sounds like separated PR

@keradus now you should rename token to COVERALLS_REPO_TOKEN

it was already there first time I mentioned it ;)
the GITHUB_TOKEN is no longer visible in secrets UI

Unfortunately after I changed token - upload was corrupt. Any idea? Maybe new token not allowed for the fork?

not sure. let's move back to previous token and we investigate token topic separately then

@keradus I guess you just confused this token with some other. My repo also contains custom COVERALLS_TOKEN, but I still use GITHUB_TOKEN
NOTE I was force-push changes into documentation also

yep. it's needed only for private projects ... thanks for checking!

big thanks @adrenalinkin !
if you up to, we can now think about Sf v6 ;)

@keradus just create Issue and I will try to do it along this week.
And also I will create one more issue about problems with integration with CircleCI

I think those topics would be nice, but maybe we should focus first on Sf6 compatibility?
(btw, i', starting hols in next few days)

@keradus Yes, add sf6 compatibility would be better first.


Update swift3 conditions for "if let"

When you try to use the Alamofire from branch swift3 with Xcode Version 8.0 beta 2 (8S162m), the compiler complains about the old statements used. Like:
Old one:
guard let validData = self.delegate.data, validData.count > 0 else { return .success }
New one
guard let validData = self.delegate.data where validData.count > 0 else { return .success }
This pull request updates all statements on this branch.

The swift3 branch now requires Xcode 8 beta 3+. We've made these changes on purpose. Please update to the beta 3 build and everything will work properly.
Cheers. 🍻

Hello Cnoon, How it's going?
Thank you for your replay, but what is the purpose of the comma instead of where?

where in this case is deprecated now.

Thanks for all fellows..

https://github.com/apple/swift-evolution/blob/master/proposals/0099-conditionclauses.md


f = fst.Fst().  error

import openfst_python as fst
f = fst.Fst()
Traceback (most recent call last):
File "", line 1, in
File "pywrapfst.pyx", line 1617, in pywrapfst.Fst.init
AttributeError: 'pywrapfst.Fst' object has no attribute 'class_'

The code works with OpenFst 1.7.9. Are you using that version?

@jpuigcerver This seems like a duplicate of #2, and you said that:

Yes. The Python interface for OpenFst has been broken at least since version 1.7.1. Last time I checked, 1.7.9 was still broken. This library uses wraps that interface, so until they fix it, there's not much I can do.
You can switch to the 1.6.9 branch and that should be fine.


Fix Collective <-> Elections initialization.

Fix https://github.com/paritytech/substrate/issues/5097.
Although, this mostly demonstrates the issue. This is kind of a footgun since the genesis value of collective and elections must be the same, otherwise the behaviour is even more obscure.  and I think a better way is to:

trait ChangeMembers should expose one function initial_members() that elections() can call and get the initial members.

Basically, from the PoV of elections, whatever module we report the new members to, also gives us the initial ones. Hence, no need for a new trait and can be within the same trait.
Although, this brings the question of: How much stake should we give to the initial members? the collective module does not know that. The current genesis approach is good in the sense that it makes it configurable.
polkadot companion: https://github.com/paritytech/polkadot/pull/954

As noted also by @jacogr, polkadot names the elections module ElectionPhragmen while substrate master does Elections. Why is this? if no particular reason, would be better to have this breaking (for the UI) change now before 2.0? Fixing such stuff should make it easier for the UI to support both FF and Polkadot/Kusama.

Yeah, as you already said, you should inform collective about the genesis members.

Do you have an idea on how much tokens to lock then? we could make even that configurable by a type InitialMembersStakeRate: Get<PerThing>.

Renaming won't be breaking for the API/UI, it has to support both, so renaming is fine. (It will continue supporting both as wel for at least the medium terml, since there are networks with both).
Having said that, I'm in favor of cleaning up the naming there, at least for sanity - which also means that "at some point in the future" the UIs can start sticking to one. (And it certainly affects other external teams as well supporting collective, e.g. Commonwealth also has checks for both naming types)

Or, I think a more logical way is to disallow collective to have genesis config, move the genesis to elections and then pass it to the collective in add_extra_gensis of elections.

Renaming won't be breaking for the API/UI, it has to support both, so renaming is fine. (It will continue supporting both as wel for at least the medium terml, since there are networks with both).
Having said that, I'm in favor of cleaning up the naming there, at least for sanity - which also means that "at some point in the future" the UIs can start sticking to one. (And it certainly affects other external teams as well supporting collective, e.g. Commonwealth also has checks for both naming types)

This just sounds like you wan to have some sort of unique identifier per pallet, which I would not make dependent on the name the user chooses in construct_runtime!

Yeah, as you already said, you should inform collective about the genesis members.

Do you have an idea on how much tokens to lock then? we could make even that configurable by a type InitialMembersStakeRate: Get<PerThing>.
I'll go with entire balance for now.

Why not pass this into genesis as well? Add an extra_config that contains the member ids + locked.

Why not pass this into genesis as well? Add an extra_config that contains the member ids + locked.

That would be bad because we'd have to pass the stake to the genesis of membership, and membership has no notion of stake or balance. It just knows members accountid.
To avoid this and the need to add an extra function to the trait, the genesis members, with their stake, should be set in elections, and then it is passed to whatever is T::MembersChanged. Will also add a warning to the genesis of collective that if you are using it with elections, you should NOT set them directly in the genesis value of collective. To make it real safe, we could actually make it not-configurable, but that would be bad because some people might want to have a static set of members and actually not use elections module here.

Updated and I am pretty happy with the approach now. The initial members can be set either by setting genesis of elections or directly in collective's genesis.

Missing Polkadot pr.

Companion added.

Polkadot job runs after all other are successful. Please fix merge conflicts.

Still needs some love.

made some love just now.

transaction pool :( https://gitlab.parity.io/parity/substrate/-/jobs/441783


question (actually a wish)

Would it be easy to modify the code in order to load the required data (item and size) from a file or a database?
I would like to be able to ask an input to the students in real time. Similar to this other plugin (https://github.com/jschildgen/reveal.js-poll-plugin) where a pool is launched.
In this case, instead of a poll, the students would be prompted to enter a word and depending on its recurrence, a size would be applied and the tagcloud generated.

@a-i-m-a-r ... that would be a big change ... For this use case it would for sure be a new plugin where also a backend is needed (see also https://github.com/jschildgen/reveal.js-poll-plugin that requires a backend).

of course, I know. I was just exposing my (long term) wish not asking for it.
but anyhow, I think (I am not a dev :-( ) that it should be feasible to load the item/size from a file (maybe .json?) without backend
let's go step by step. Once I have the file I will try to figure how to create it on a live presentation.
so I would like to ask you where is these data loaded.
I figure that I should modify these lines to load the size:
var weights = [].slice.call(cloud.querySelectorAll('[tagcloud-weight]'))                         .map(function(el){ return el.getAttribute('tagcloud-weight') })                         .sort(function(a, b){ return b-a }); // Sort descending
and that these lines are the ones that look for the items:
function formatTags(text) {             for(index = 0; index < slideNotes.length; ++index) {                 text = text.replace(slideNotes[index].textContent, '');             }
am I right?
I will try to rummage into the code and let you know if I am successful
Thank you very much.


Fix checkbuild for multi-level resources trees

When checking resources on disk (as opposed to in a tarball), if there
were subdirectories within resources/, checkbuild would see them as
missing files in META6.  Fix this by not adding directories to the
file list in the on-disk (non-tarball) path.

Thank you @japhb - will release momentarily.


[WIP] Substations

Add Substation model
Add basic import script for Substation

Is this ready to go? (Still marked WIP).

@rossjones yes, still a WIP. I need to write the integration with Location model (I would prefer to do it in this PR).


Error when building job with parameters

Hi,
I have a registered job in Jenkins, and I'm trying to run a build with parameters with the Java client, but Jenkins is returning a 500 with just "Server error" as a message.
public void runJob(String jobName) throws IOException {
    JobWithDetails job = this.getServer().getJob(jobName);
    Map<String, String> params = new HashMap<>();
    params.put("param1", "Test");
    job.build(params);
}

Has anyone had this problem or have any idea what might be happening?
Is worth to say that I have disabled the CSRF check in Jenkins settings, and the build without params is working correctly.
Thanks!

My mistake, I forgot to enable the parametrized option in the jenkins job.


spins -S not compiling properly

Below, spins -S generates code that refers to matrices that have not been generated
Command line: spins -S garp/garp-a/garp.pml
SpinS Promela Compiler - version 1.1 (3-Feb-2015)
...
Written C code to /home/vdpol/PromelaDemo/garp.pml.spins.c
garp.pml.spins.c: In function ‘disabled_by’:
garp.pml.spins.c:7601:12: error: ‘dm_must_disable’ undeclared (first use in this function)
return dm_must_disable[guard][o];
^
garp.pml.spins.c:7601:12: note: each undeclared identifier is reported only once for each function it appears in
garp.pml.spins.c: In function ‘nes_has’:
garp.pml.spins.c:7605:12: error: ‘nes_dm’ undeclared (first use in this function)
return nes_dm[guard][o];
^
garp.pml.spins.c: In function ‘nds_has’:
garp.pml.spins.c:7609:12: error: ‘nds_dm’ undeclared (first use in this function)
return nds_dm[guard][o];
^
garp.pml.spins.c: In function ‘not_coenabled’:
garp.pml.spins.c:7613:13: error: ‘co_dm’ undeclared (first use in this function)
return !co_dm[guard][o];
^
garp.pml.spins.c: In function ‘spins_create_matrices’:
garp.pml.spins.c:7670:18: error: ‘dna_dm’ undeclared (first use in this function)
if (!dna_dm[i][j]) {
^
garp.pml.spins.c: In function ‘spins_create_matrix_visitor2’:
garp.pml.spins.c:8000:50: error: ‘nes_dm’ undeclared (first use in this function)
case 'e': return spins_create_matrix_visitor(nes_dm[0], l, t, invert, c, check);
^
garp.pml.spins.c:8001:50: error: ‘nds_dm’ undeclared (first use in this function)
case 'd': return spins_create_matrix_visitor(nds_dm[0], l, t, invert, c, check);
^
garp.pml.spins.c:8002:50: error: ‘commutes_dm’ undeclared (first use in this function)
case 'u': return spins_create_matrix_visitor(commutes_dm[0], t, t, invert, c, check);
^
garp.pml.spins.c:8003:50: error: ‘dna_dm’ undeclared (first use in this function)
case 'a': return spins_create_matrix_visitor(dna_dm[0], t, t, invert, c, check);
^
garp.pml.spins.c:8006:50: error: ‘co_dm’ undeclared (first use in this function)
case 'c': return spins_create_matrix_visitor(co_dm[0], l, l, invert, c, check);
^
garp.pml.spins.c:8008:50: error: ‘dm_must_disable’ undeclared (first use in this function)
case 'm': return spins_create_matrix_visitor(dm_must_disable[0], l, t, invert, c, check);
^
garp.pml.spins.c: At top level:
cc1: warning: unrecognized command line option "-Wno-unknown-warning-option" [enabled by default]
cc1: warning: unrecognized command line option "-Wno-initializer-overrides" [enabled by default]
cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default]
Compilation of garp.pml.spins.c failed

Fixed in 39715314c3634d3d591d71e1965746825eaba991


KAFKA-9601: Stop logging raw connector config values

Jira
whoopsie daisy

@rhauch got a quick second?

@C0urante I may be missing something, but AbstractConfig doesn't have a toString() method, which means that the log message you're changing may have, at worst, output the Object.toString() that would not list the key and values.

@rhauch the object that gets logged isn't the AbstractConfig itself, but the original string/string map that it was instantiated with. You can see this in the line before the one I've changed: https://github.com/apache/kafka/blob/90640266393b530107db8256d38ec5aeba4805e1/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConnector.java#L77

Neither test failure was related to Connect.


Unable to upload custom sounds (v2.3.0)

I've followed some of the other tutorials here on the forums, as well as on the site, but I'm still unable to add the custom sound to the app. I'm unsure what I'm doing incorrectly, or if there is an issue with the custom folders I'm just not seeing?
Help is appreciated!!

I don't kow if your issue is still relevant, but I have some other sources available for you

On Windows
 ›  Download a soundpack
 ›  Right-click the zipped file > Extract
 ›  Go to the bottom right > Locate the :systray: and click it
 ›  Right-click the :Mechvibes: > 'Custom Folder'
 ›  Copy or drag the unzipped folder in to your 'custom' folder
 ›  Restart Mechvibes.
On Mac
 ›  Download a soundpack
 ›  Double click the zipped file to extract it
 ›  Go to the top right > Right-click the :Mechvibes:
⠀'Show package content'
 ›  Make a new folder called 'custom'
 ›  Copy or drag the unzipped folder in to your 'custom' folder
 ›  Restart Mechvibes.
Taken from our Discord

and there is this video i've made to show how to do it visually.


Crash when joining call

Server logs :
[17:39:59 INFO]: [voicechat] Player eKiff (8d3cd3af-3c96-3e6b-a545-5168a427004c) successfully connected to voice chat
[17:40:16 INFO]: addPlayertoCall : 47728 doesn't exists
[17:40:16 INFO]: addPlayertoCall : 47728 exists
[17:40:16 INFO]: eKiff lost connection: Disconnected
[17:40:16 INFO]: [voicechat] Disconnecting client eKiff
Client logs:
[18:40:16] [Netty Client IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception
java.lang.NoSuchFieldError: showGroupHUD
at com.dev.sphone.mod.common.packets.client.PacketPlayerHudState$Handler.onMessage(PacketPlayerHudState.java:35) ~[PacketPlayerHudState$Handler.class:1.3.0]
at com.dev.sphone.mod.common.packets.client.PacketPlayerHudState$Handler.onMessage(PacketPlayerHudState.java:31) ~[PacketPlayerHudState$Handler.class:1.3.0]

On server (and client bc there are same mods) :

is it fixed with latest commit?

No, I think it's problem with the version of voicechat but I have to investigate more.

okok

Voice Chat version 2.4.13 works

i'll test it tomorrow

working, ty


[feature request] Bump golang from 1.16 to 1.17

What would you like to be added:
Why is this needed:
fix #1059 need to bump ginkgo from 2.1.4 to 2.8.0, ginkgo's dependencies require go1.17.
others
/kind feature

Is there any obstacle to upgrading go version to 1.17? @rambohe-ch

Is there any obstacle to upgrading go version to 1.17? @rambohe-ch

@YTGhost Thank you for raising issue. There is no obstacle to upgrading go version to 1.17, and in fact, we have used golang v1.17 to build OpenYurt components. take yurthub as a example: https://github.com/openyurtio/openyurt/blob/master/hack/dockerfiles/Dockerfile.yurthub#L3
would you be able to make a pull request to upgrade go version to 1.17?

/assign


/deep/ combinator is no longer supported in Angular 7

Current packages on App:

"ng-sidebar": "8.0.0",
"@angular/common": "7.1.0",
"@angular/compiler": "7.1.0",
"@angular/core": "7.1.0",
"@angular-devkit/core": "7.0.6"

Chrome says:

sidebar.component.js:469 [Deprecation] /deep/ combinator is no longer supported in CSS dynamic profile.It is now effectively no-op, acting as if it were a descendant combinator. /deep/ combinator will be removed, and will be invalid at M65. You should remove it. See https://www.chromestatus.com/features/4964279606312960 for more details.

Proposed solution was "::ng-deep" at:
deprecated-deep--and-ng-deep

The component doesn't actually use /deep/. Are you using it in your app?

My fault, sory about that...  but on product why chrome says that message from side sidebar.component.js:469