'./haproxy-marathon-bridge install_haproxy_system' fails if 'redhat-lsb-core' package is not installed on RHEL, CentOS

While running haproxy-marathon-bridge without the install_haproxy_system option works just swell, using the option to install haproxy fails (running with -x):
[root@proxy ~]# ./haproxy-marathon-bridge install_haproxy_system mesos-master:8080
+ set -o errexit -o nounset -o pipefail
+ export LC_ALL=en_US.UTF-8
+ LC_ALL=en_US.UTF-8
+ name=haproxy-marathon-bridge
+ cronjob_conf_file=/etc/haproxy-marathon-bridge/marathons
+ cronjob=/etc/cron.d/haproxy-marathon-bridge
+ script_path=/usr/local/bin/haproxy-marathon-bridge
+ conf_file=haproxy.cfg
+ '[' 2 -lt 1 ']'
+ [[ -n install_haproxy_system ]]
+ declare -F
+ cut '-d ' -f3
+ fgrep -qx -- install_haproxy_system
+ install_haproxy_system mesos-master:8080
+ hash lsb_release
+ '[' -e /etc/system-release ']'
+ grep -q 'Amazon Linux AMI' /etc/system-release
./haproxy-marathon-bridge: line 67: os: unbound variable

Line 67 reads:
  if [[ $os == "CentOS" ]] || [[ $os == "RHEL" ]] || [[ $os == "AmazonAMI" ]]

Without the lsb_release application being installed, via the redhat-lsb-core package, $os never gets assigned when running on a Red Hat-based system, and thus running strict, the installation fails.
This was discovered using a minimal CentOS installation.  It runs pretty slim.
Without installing the redhat-lsb-core package ahead of time, maybe consider:
if [[ $(grep CentOS /etc/redhat-release) ]] || ... ....

Thank you for reporting this.

@aldipower @aquamatthias can we just delete haproxy-marathon-bridge from the repo? It's not planned to maintain it any further. servicerouter does everything the bridge can and more.

The scripts is deprecated and has moved to the examples folder for reference.


Error:  Copy spanning locations and/or storage classes could not complete within 30 seconds.

Hello,
I'm getting the following error message on a client.cp() operation ...
Copy spanning locations and/or storage classes could not complete within 30 seconds. Please use the Rewrite method (https://cloud.google.com/storage/docs/json_api/v1/objects/rewrite) instead.
Is copying between buckets in different regions and/or storage classes supported?

Hi @bwalrond ,
While we never tried inter-region copying at Parquery since our data resides all in the same region, inter-region copying should work. Copying between buckets indeed has  worked without problems so far.
The error message implies that copying takes too long (rather than it is not supported). Have you tried gsutil -- does it complain there as well?


Crash in certain versions

Hello! There are two crash issues that leave an issue
Crash on Xcode 11.3, simulator iPhone 5 (10.3.1), Carthage Build, RxWebKit 1.0.1
First
If you open the sample app and press Auth Challenge from the menu, you will get a crash like the picture below

second
Pressing Other Events in the menu causes the following crash

I wanted to find the cause of the second crash but haven't found it yet. 😥

Hey @fbdlrghks123, we updated the SDKs and the Version of SwiftUI in the latest release is this still an issue?

Hello @mRs-
The same issue occurs in the 1.1.0 version SDK example.
The picture below
Taken on iPhone 5, simulator version 10.3.1.
It seems that the issue occurs in iOS 11 or lower.

If it's only for iOS 11 or lower maybe it's an bug at apple we hve too look into this and maybe deprecate the support for iOS 11 and lower.


zone.status.suspended_until can be None

get_zones/get_zone raises ValidationError if suspended_until is None

Also get something like this:
raise ValidationError([], children_errors)
apischema.validation.errors.ValidationError: ValidationError: [{'loc': [0, 'status', 'suspendedUntil'], 'err': 'expected type object, found null'}, {'loc': [1, 'status', 'suspendedUntil'], 'err': 'expected type object, found null'}, {'loc': [2, 'status', 'suspendedUntil'], 'err': 'expected type object, found null'}]

I also noticed that the function which is discribed in the doc is not working:
    # List the zones controlled by the first controller.
    zones = await controllers[0].get_zones()

had to replace it with:
    # List the zones controlled by the first controller.
    zones = await h.get_zones(controller=controllers[0])

Thanks!

I also noticed that the function which is discribed in the doc is not working:

Ah, whoops. I changed that in https://github.com/dknowles2/pydrawise/pull/27 because it was annoying having the functionality duplicated, and it was going to complicate adding tests for schema.py. I'll fix that up.


[IntelliViz] Create Boxplot

@sphussey create boxplot function in IntelliViz

do we want to be able to select columns to include or just include all?
should i pass back fig data? see data that can be returned here https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.boxplot.html

added to latest pull request -
need to review functionality with team


Add core folder

Changes per #89
I left defer in parsers for now, since it does implement Parser<T>, and the inline documentation literally says it's a "special parser".

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
265

Relevant Lines:
265

💛  - Coveralls

I left defer in parsers for now, since it does implement Parser<T>

Ah, yes, you are right. Overall LGTM!

This PR is included in version 3.6.5.


Dramatiq integration from @jacobsvante

This is the code of sentry-dramatiq.
As described in this GitHub issue (https://github.com/getsentry/sentry-python/issues/3387) @jacobsvante,  the original maintainer of this integations, is not doing any Python anymore and wants to donate his integration to Sentry so we can take care of it.
This PR adds the current version of the DramatiqIntegration to our repo.
Fixes #3387
Documentation PR: https://github.com/getsentry/sentry-docs/pull/11015

Tested with this example project:
https://github.com/antonpirker/testing-sentry/tree/main/test-dramatiq

Errors with stack traces and local vars are there:

Additional dramatiq information is  in the contexts and an extra:

Thank you so much for integrating it ❤


Disable User entitlement check for offline PICO check

When launching the app on PICO devices it does so called User entitlement check. Unfortunately the default is to kill the app, so it's booting user off after a minute or so after using it if he doesn't have internet connection.
Following the official documentation on https://developer-global.pico-interactive.com/document/unity/user-entitlement-check/  it seems like either passing the check and doing nothing or setting the kill to false would resolve this problem.
User reported in  #1743

ALVR does not use the Pico Unity/Unreal SDK, it uses standard OpenXR, which has no way for enabling or disabling entitlement checks. And so you can bet that we're not enabling any.
That being said, I'm also getting this ever since my Pico 4 updated to 5.7.0 this weekend. I purged and re-installed the same exact APK that worked before and now it's giving me this entitlement error.
My Pico has not been on the internet for 3+ months, I even upgrade it offline. ALVR has worked without any issues before this update.
This leads me to believe that the Pico system version 5.7.0 introduced this bug. I'm going to voice my concerns to Pico and I urge you to do the same.

Right, I got that error on 5.6.0 . Let's pray its really a bug and not PICO doing something shady.

ALVR does not use the Pico Unity/Unreal SDK, it uses standard OpenXR, which has no way for enabling or disabling entitlement checks. And so you can bet that we're not enabling any.
That being said, I'm also getting this ever since my Pico 4 updated to 5.7.0 this weekend. I purged and re-installed the same exact APK that worked before and now it's giving me this entitlement error.
My Pico has not been on the internet for 3+ months, I even upgrade it offline. ALVR has worked without any issues before this update.
This leads me to believe that the Pico system version 5.7.0 introduced this bug. I'm going to voice my concerns to Pico and I urge you to do the same.

Interestingly, i'm on 5.7.1 beta china and i don't seem to have this issue?


RSpec and ViewComponent::TestHelpers

Opening this issue based on the discussions started in https://github.com/github/view_component/issues/292#issuecomment-612737914

Do we really need TestHelpers to have a dependency on Capybara?

I think the reason for including Capybara::Minitest::Assertions was to give access to those assertions inside instances of ViewComponent::TestCase (those methods leverage the page definition we supply).

makes sense in the Minitest case. How much does this logic help if you're using RSpec or some other testing library? The testing pattern if very different there and you wouldn't be inheriting from ViewComponent::TestCase and would be requiring capybara/rspec yourself.

I think you're right that things are a bit murky w.r.t. rspec. We're including capybara's minitest assertions module in ViewComponent::TestHelpers:
https://github.com/github/view_component/blob/d3952cb35c82734b5119bc2c173e99cc08219d5c/lib/view_component/test_helpers.rb#L7
but we also have documentation suggesting that ViewComponent::TestHelpers should be included in rspec component configuration (where it seems like the minitest assertions would be out of place):
https://github.com/github/view_component/blob/dc0c0c1671dc116a3c2b822a5031b4045c2eb569/README.md#L553-L562
That said, there definitely are consumers of this library that use rspec and I haven't seen them raise an issue about this being a problem so far. I suspect they are just not using those methods.
I don't have a lot of rspec experience, but I also noticed that the capybara README section on rspec mentions:

Capybara matchers are also supported in view specs

I wonder if folks have been testing components in view specs where they can already leverage capybara's rspec matchers.
Anyway, might be better to open a new issue to discuss the rspec stuff since this one about removing the capybara dependency has been closed.

and https://github.com/github/view_component/pull/299#discussion_r409022216:

For RSpec the IMO the "best" solution is to separate TestHelpers into two pieces. RSpec users get value out of render_inline and the supporting code. We're using that today. What RSpec doesn't need is the Capybara Assertions etc. For RSpec you're going to pull in the rspec Capybara helpers explicitly. It would be entirely normal/expected to configure RSpec like this;
require 'capybara/rspec'
require "view_component/test_helpers"

RSpec.configure do |config|
  config.include ViewComponent::TestHelpers, type: :component
end

I wonder should we just push Capybara yup to ViewComponent::TestCase ? Anyone using Minitest is going to inherit from that. Meanwhile other frameworks just get what they need.

One thought re:

I don't have a lot of rspec experience, but I also noticed that the capybara README section on rspec mentions:

Capybara matchers are also supported in view specs

I wonder if folks have been testing components in view specs where they can already leverage capybara's rspec matchers.

The example code from capybara's README below that sentence is:
RSpec.describe "todos/show.html.erb", type: :view do
  it "displays the todo title" do
    assign :todo, Todo.new(title: "Buy milk")

    render

    expect(rendered).to have_css("header h1", text: "Buy milk")
  end
end

This seems to leverage the rendered instance variable from ActionView::TestCase::Behavior:
https://github.com/rails/rails/blob/9303873e57dd86a82ef69d58ed7e7af6bc7ed344/actionview/lib/action_view/test_case.rb#L122
which has a public reader (and writer):
https://github.com/rails/rails/blob/9303873e57dd86a82ef69d58ed7e7af6bc7ed344/actionview/lib/action_view/test_case.rb#L55
I wonder if it's worth renaming @raw:
https://github.com/github/view_component/blob/d3952cb35c82734b5119bc2c173e99cc08219d5c/lib/view_component/test_helpers.rb#L21
to @rendered and providing a reader, so that the same
expect(rendered).to have_css("header h1", text: "Buy milk")

code would work after you've called render_inline.

@rmacklin I could see it being nice to support the @rendered API. Would you be up for taking on a PR?

I'll take a look at this tomorrow!

@joelhawksley So it looks like all that's necessary to make the example code from the rspec section of Capybara's README:
expect(rendered).to have_css("header h1", text: "Buy milk")

is:
diff --git a/lib/view_component/test_helpers.rb b/lib/view_component/test_helpers.rb
index efcb986..cb9b3c3 100644
--- a/lib/view_component/test_helpers.rb
+++ b/lib/view_component/test_helpers.rb
@@ -7,7 +7,7 @@ module ViewComponent
       include Capybara::Minitest::Assertions

       def page
-        Capybara::Node::Simple.new(@raw)
+        Capybara::Node::Simple.new(@rendered)
       end

       def refute_component_rendered
@@ -18,9 +18,9 @@ module ViewComponent
     end

     def render_inline(component, **args, &block)
-      @raw = controller.view_context.render(component, args, &block)
+      @rendered = controller.view_context.render(component, args, &block)

-      Nokogiri::HTML.fragment(@raw)
+      Nokogiri::HTML.fragment(@rendered)
     end

     def controller

It's not even necessary for ViewComponent::TestHelpers to provide a reader for @rendered because rspec view specs include ActionView::TestCase::Behavior so they have the reader via
https://github.com/rails/rails/blob/9303873e57dd86a82ef69d58ed7e7af6bc7ed344/actionview/lib/action_view/test_case.rb#L55
That said, I'm second guessing the idea a bit. I think it might be cleaner to change it to e.g. @rendered_component and provide a reader for that, so that we don't interfere with ActionView::TestCase::Behavior's @rendered. (For example, if someone wanted to test a regular view and a component in the same test case it seems like @rendered could run into conflicts. I'm not sure if that's a reasonable thing to do in the same test case, but it seems like we could avoid it altogether by using a different name, and I like the extra explicitness of rendered_component.)
If we do that, then the example from Capybara's README would only need to be changed to:
expect(rendered_component).to have_css("header h1", text: "Buy milk")

I'll open a PR with this change and we can continue the discussion about this particular change there. (I think this issue is still broader in scope than just that change.)

I'll open a PR with this change

Opened https://github.com/github/view_component/pull/344

Hi,
I'd like to echo the request to decouple capybara. We don't use it, and we get an annoying warning on every rails test :(

@fsateler could you share the warning you're seeing?

@joelhawksley

WARNING in ViewComponent::TestHelpers: You must add capybara to your Gemfile to use Capybara assertions.

@rmacklin what do you think we should do here? I can see it being annoying to get the error on every test invocation.

I'm fine with removing the warning. One question:
The README originally mentioned that Capybara matchers were only made available if the application had a capybara dependency:
https://github.com/github/view_component/pull/298/files#diff-04c6e90faac2675aa89e2176d2eec7d8
but that's been edited out of the current README:
https://github.com/github/view_component/blob/48cb5b6092017ef9c8593519ec8c748ac6df5c63/README.md#L452
If we're going to remove the warning, is there some updated copy you'd like to use in the README to clarify this point?

@rmacklin I did not mean to remove that information from the README. Would you mind adding it back in?
I'm find with removing the warning.

Nevermind, the current README mentions it:
https://github.com/github/view_component/blob/fe8b6f24aa0635115e20920353a40b683b76cef7/README.md#L548
I think I was looking at an outdated version in my fork 🙈
Anyway, I've opened a PR here: https://github.com/github/view_component/pull/393

Bigo


Fix readme

Issue #, if available:
N/A
Description of changes:

Sync Readme changes
Remove log from test code

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #38 into master will decrease coverage by 0.98%.
The diff coverage is 82.91%.

@@            Coverage Diff             @@
##           master      #38      +/-   ##
==========================================
- Coverage   90.07%   89.09%   -0.99%
==========================================
  Files           8        9       +1
  Lines         877     1055     +178
==========================================
+ Hits          790      940     +150
- Misses         57       80      +23
- Partials       30       35       +5

Impacted Files
Coverage Δ

pkg/selector/types.go
100.00% <ø> (ø)

pkg/selector/selector.go
85.39% <56.25%> (-0.05%)
:arrow_down:

pkg/cli/types.go
95.23% <77.27%> (-4.77%)
:arrow_down:

pkg/cli/cli.go
86.00% <82.35%> (+0.51%)
:arrow_up:

pkg/cli/flags.go
87.70% <83.33%> (-2.82%)
:arrow_down:

pkg/bytequantity/bytequantity.go
87.30% <87.30%> (ø)

pkg/selector/aggregates.go
92.45% <100.00%> (ø)

pkg/selector/comparators.go
91.46% <100.00%> (+0.43%)
:arrow_up:

pkg/selector/outputs/outputs.go
91.81% <100.00%> (ø)

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 2433734...425e64e. Read the comment docs.


Add st2client packaging to pipeline

Add the st2client packaging job to the end of the packaging job for ubuntu 14.

Do we want pypi to only ever have the ToT version of the client?  Or should we be doing this off of the stable release instead?

LGTM


Add ordering options to Request lists

Description
gh-202 added ordering to sort lists of Requests by name in ascending order to make them easier to manage. This sorting could be improved to allow other sorting options. These options would be:

Sort by name ascending (already implemented)
Sort by name descending.
Sort by created date ascending.
Sort by created date descending

Ideally the sort option would be remembered so that the next time the user visits that screen they would see the list in the same situation as they last viewed it. This should be remembered even if the user logs out and in again.
Additional context
A control will be required to allow the user to choose their sorting option.

We can only sort Data Requests by label/name at the moment. Looking into the Mauro endpoint used to fetch the list, GET /folders/{folderId}/dataModels, you can pass the usual sort/filter/page arguments to the API but they will be ignored when filtering by a parent folder ID. This is a backend issue that would need fixing.
In the meantime, I can organise the returned list in TypeScript code. However, the objects returned by the Mauro endpoint include just the label, no date fields such as lastUpdated, so I am limited in what is possible.


isDynamicName skips parentheses for element access

Neither x[0] nor x[(0)] should be dynamic names. Previously, the latter was because isDynamicName didn't skip parentheses.
Since the binder treats dynamic names in property assignments as assignment declarations, this incorrectly tried to create a binding for expressions like x[(0)] = 1.
This caused an assert because x[(0)] would not take the dynamic name code path during binding (hasDynamicName returned false), but the normal code path for static names.
Fixes #38934

@typescript-bot cherry-pick this to release-3.9


HIVE-24812: Disable sharedworkoptimizer remove semijoin by default

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

@jcamachor alternate approach could be to instead of disabling; restrict the optimization to only target case when:
TS_SJ -> [...] -> JOIN
TS_FILTERED -> [...] -> JOIN -> [...]
TS_X -> [...]

TS_X and TS_FILTERED  scans the same table - those are being optimized; TS_SJ is a table from which the SJ filter is computed.

in the above case if there is no RS -> MAPJOIN  in the TS_FILTERED -> [...] -> JOIN path then the optimization might not make much harm...
or more generally - if there is no RS on that path it may definetly go ahead and make the optimization


OpenCL: -cl-denorms-are-zero affects SP but not DP

With ROCm 2.10, specifying -cl-denorms-are-zero at the OpenCL compilation changes the float_mode of the generated kernel from 240 (0xF0) to 192 (0xC0), so it seems that -cl-denorms-are-zero only affects the denorms flag of single precision but not that of double precision. Is this the intended behavior?
To repro: compile any OpenCL kernel with/without -cl-denorms-are-zero, and dump the generated ISA, looking for float_mode in kernel header.

This is with ROCm 2.10:
                .amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 0
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1

("float_mode" mentioned before was printed by ROCm 2.5)
the situation is the same though, denorm_mode_32 is 0 but denorm_16_64 is 3 (i.e. unaffected by -cl-denorms-are-zero)

That is indeed the intended behavior.  From the start, OpenCL intended double precision computation to be as accurate, and as similar to CPU behavior as possible.
Also note that -cl-denorms-are-zero is an optimization option which implementations are free to handle as they chose.
Very old GPUs and certain current embeddd GPUs save power at the expense of accuracy by not supporting f32 denorms and not supporting f64 at all.  But most modern compute GPUs support deorms, and most users want CPU matching results.

OK thank you, feel free to close the issue.
This is the OpenCL wording on this:
https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/
-cl-denorms-are-zero
    This option controls how single precision and double precision denormalized numbers are handled. If specified as a build option, the single precision denormalized numbers may be flushed to zero; double precision denormalized numbers may also be flushed to zero if the optional extension for double precsion is supported. This is intended to be a performance hint and the OpenCL compiler can choose not to flush denorms to zero if the device supports single precision (or double precision) denormalized numbers.

    This option is ignored for single precision numbers if the device does not support single precision denormalized numbers i.e. CL_FP_DENORM bit is not set in CL_DEVICE_SINGLE_FP_CONFIG.

    This option is ignored for double precision numbers if the device does not support double precision or if it does support double precison but not double precision denormalized numbers i.e. CL_FP_DENORM bit is not set in CL_DEVICE_DOUBLE_FP_CONFIG.

    This flag only applies for scalar and vector single precision floating-point variables and computations on these floating-point variables inside a program. It does not apply to reading from or writing to image objects.

Thanks @preda .  Closing.


doc: rework doc for setting up OVN

Update the existing documentation for setting up a standalone OVN
network to be clearer.
Add the instructions for setting up a LXD cluster on OVN from the
video tutorial.
Signed-off-by: Ruth Fuchss<EMAIL_ADDRESS>

Documentation preview available at: https://linuxcontainers.org/lxd/docs/pr.10356/

Testsuite passed

Testsuite passed

Thanks a lot! Updated again.


Design an API skeleton app based on Node.js or Meteor.js

Related issue #442

That should be possible with existing tools available from the web. There are open source tools to generate skeletons from desription files at least for Swagger, RAML and API Blueprint.

@kyyberi can you give a couple of examples of open-source projects that generate an API server skeleton from an API description file?


i18n - spanish translation support

Spanish translation on the roadmap?
will be possible?
thanks

Thanks. We have just published a guide on how to help with translation - see https://inveniordm.docs.cern.ch/contribute/translators-guide/
If you'd like to help out, jump on #rdm-translations in Discord (see link in guide above) and coordinate with @mb-wali on how to get started.
Thanks a lot :-)


Support old solvers (infer topology type)

Closes #91.

Codecov Report

Merging #92 into master will increase coverage by 0.21%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #92      +/-   ##
==========================================
+ Coverage   81.46%   81.68%   +0.21%
==========================================
  Files           6        6
  Lines         588      595       +7
==========================================
+ Hits          479      486       +7
  Misses        109      109

Impacted Files
Coverage Δ

dwave/inspector/adapters.py
86.86% <100.00%> (+0.28%)
:arrow_up:

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 f0c8573...25e727c. Read the comment docs.


Unable to Generate Pictures / Images

There is no instructions about generating the images and I tried to follow the commands mentioned in README file but only to find that the images cannot be generated.
The screenshots below are the comparison.

Besides, I'm sure my API key of Replicate is usable and valid.

There is no instructions about generating the images and I tried to follow the commands mentioned in README file but only to find that the images cannot be generated. The screenshots below are the comparison.

Besides, I'm sure my API key of Replicate is usable and valid.

you need to switch to another model named gpt-3.5-enhanced

Can free users use that model?

Can free users use that model?

all models come with this project are free, but you need an openAI key to use gpt-3.5-enhanced or gpt-turbo

Can free users use that model?

all models come with this project are free, but you need an openAI key to use gpt-3.5-enhanced or gpt-turbo

OK! Thanks!


Update config.json to match new specification

For the past three years, the ordering of exercises has been done based on gut feelings and wild guesses. As a result, the progression of the exercises has been somewhat haphazard.
In the past few months maintainers of several tracks have invested a great deal of time in analyzing what concepts various exercises require, and then reordering the tracks as a result of that analysis.
It would be useful to bake this data into the track configuration so that we can adjust it over time as we learn more about each exercise.
To this end, we've decided to add a new key exercises in the config.json file, and deprecate the problems key.
See exercism/discussions#60 for details about this decision.
Note that we will not be removing the problems key at this time, as this would break the website and a number of tools.
The process for deprecating the old problems array will be:

Update all of the track configs to contain the new exercises key, with whatever data we have.
Simultaneously change the website and tools to support both formats.
Once all of the tracks have added the exercises key, remove support for the old key in the site and tools.
Remove the old key from all of the track configs.

In the new format, each exercise is a JSON object with three properties:

slug: the identifier of the exercise
difficulty: a number from 1 to 10 where 1 is the easiest and 10 is the most difficult
topics: an array of strings describing topics relevant to the exercise. We maintain
a list of common topics at https://github.com/exercism/x-common/blob/master/TOPICS.txt. Do not feel like you need to restrict yourself to this list;
it's only there so that we don't end up with 20 variations on the same topic. Each
language is different, and there will likely be topics specific to each language that will
not make it onto the list.

The difficulty rating can be a very rough estimate.
The topics array can be empty if this analysis has not yet been done.
Example:
"exercises": [
  {
    "slug": "hello-world" ,
    "difficulty": 1,
    "topics": [
        "control-flow (if-statements)",
        "optional values",
        "text formatting"
    ]
  },
  {
    "difficulty": 3,
    "slug": "anagram",
    "topics": [
        "strings",
        "filtering"
    ]
  },
  {
    "difficulty": 10,
    "slug": "forth",
    "topics": [
        "parsing",
        "transforming",
        "stacks"
    ]
  }
]

It may be worth making the change in several passes:

Add the exercises key with the array of objects, where difficulty is 1 and topics is empty.
Update the difficulty settings to reflect a more accurate guess.
Add topics (perhaps one-by-one, in separate pull requests, in order to have useful discussions about each exercise).

Looks like this issue was resolved in #21
config.json looks good now (at the first glance) - https://github.com/exercism/mips/blob/master/config.json
@ozan, could you take a look and close this one if applicable?

@m-a-ge thanks for catching! Also just added difficulties in bce69c3 , and we should add topics at some point (once we've figured out what "topics" make sense for MIPS). But I'll close this and open up a different ticket for that.


feat(markdown): Add coverall badge support

Implements #584
I tried to add support for SVG in GithubHtmlView but it ended up like this using react-native-svg, which seems to be the most popular lib up to now:

I ended up recreating the badge using styled-components, and it looks quiet realistic thanks to <LinearGradient />:

(OCD: it's still 6px wider than the original, cause I had to do some weird stuff to get the rounded borders on only one side)
The only problem I'm left with is accurately coloring the right side of the badge.
Fact is, the only information I have is the sentence written below the badge, and this give no hints whether coverage is considered good enough (green) or not (red), in regards of the project-configured threshold.
The only way I see for now, would be to fetch the SVG and decode its content to grab the color from there, but while we're there, we might as well grab the percentage from there (and remove the parsing from GithubHtmlView).
I'm curious for your opinions on this one :)
And of course, we could settle on a neutral lighter gray for now and worry about this in another PR 👯♂

@andrewda you're totally right, I might have had a case of nose to the grindstone on this one 😬
The difficulty is that this img is provided by Github as a regular <img tag & the url doesn't even have .svg in it. So we would have to implement something like <RemoteImage /> which takes an image URL, download it and identify its type through the first magic bytes, before processing it accordingly.
This  might raise some memory management concerns though.. 🤔

Hmm sort of agree with @andrewda here - I don't know if a single badge warrants its own component 🤔
For example, should we do the same with Travis CI badges and so forth? Might be too much componentizing here (is that even a word? 😂).
Yeah something like RemoteImage makes more sense but like you mentioned, maybe not be the best route?

@housseindjirdeh yeah, this PR wasn't really well thought (but I had fun with LinearGradient so it was good anyways 😝).
Closing this and opening an issue for a better image support in markdown.


Add Faker::DrivingLicence

Supports generating driving licence numbers in the 2 formats used in the UK

Hiya, thanks for looking at the PR!
I've merged up and everything's passing locally


no response

when I've set a timer already, I drag the arrow to reduce its time and find there is no response whatever I click unless command+q.
environment: m1&big sur11.1

Duplicate of #95


Release version for linux amd-64 for v3.5.0

Hi,
The latest version version only share the source code (v3.5.0).
Can you create the linux binary version and added to the release version ?
Thank you

Binaries have been uploaded.  They were omitted during pre-release period.


Remove wheel from default PEP 517 backend

Summary
This matches the latest pip and build releases. See: https://github.com/astral-sh/uv/issues/2313.
Closes https://github.com/astral-sh/uv/issues/2313.

I think we need to keep wheel when do a legacy setup.py build.


Add Romanian translation to tembench_message

It contains a couple of diacritics that are not encountered in other languages like t/s comma.
Fix #6

Fantastic!  Thank you.
- Casey


[test] boost on eiger

Codecov Report

Merging #1745 (2a1b7ad) into master (ab18ed7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1745   +/-   ##
=======================================
  Coverage   87.27%   87.27%
=======================================
  Files          46       46
  Lines        7708     7708
=======================================
  Hits         6727     6727
  Misses        981      981

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 ab18ed7...2a1b7ad. Read the comment docs.


fix: changed epe logo

For this issue (#52 ) i had to download the img from the provided link and use it locally because calling directly through HTTP resulted in a 301 redirect to this


CDC_Receive() and USBD_CUSTOM_HID_SendReport() usage

I tried to use this wrapper on STM32G0Bxx.
Wrapper is initialized in main function with this functions:
MX_USB_DRD_FS_PCD_Init();
MX_USB_DEVICE_Init();

I can send data by CDC_Transmit(), but I don't know how to get data from callback function CDC_Receive(). Also USBD_CUSTOM_HID_SendReport() returns 0(USBD_OK) in first run, but in all next returns 1(USBD_BUSY).
I can't find specification for this wrapper
Same here: https://stackoverflow.com/questions/75885164/how-to-get-data-from-callback-function-cdc-receive

Sooo, maybe its not intended way to do it, but i did this.
I added
    uint16_t dataRxLength;
to the USBD_CDC_ACM_HandleTypeDef;
after i saved buffer to hcdc->data and len to hcdc->dataRxLength (hcdc->RxLength is len of whole buffer, but hcdc->dataRxLen is len of current message).
`static int8_t CDC_Receive(uint8_t cdc_ch, uint8_t *Buf, uint32_t Len)
{
/ USER CODE BEGIN 6 */
//HAL_UART_Transmit_DMA(CDC_CH_To_UART_Handle(cdc_ch), Buf, *Len);
CDC_Transmit(cdc_ch, Buf, *Len); // echo back on same channel
USBD_CDC_SetRxBuffer(cdc_ch, &hUsbDevice, Buf);

extern USBD_CDC_ACM_HandleTypeDef CDC_ACM_Class_Data[];
USBD_CDC_ACM_HandleTypeDef *hcdc = NULL;
hcdc = &CDC_ACM_Class_Data[cdc_ch];
hcdc->dataRxLength = *Len;
memcpy(hcdc->data, Buf, *Len);

USBD_CDC_ReceivePacket(cdc_ch, &hUsbDevice);
return (USBD_OK);
/* USER CODE END 6 */

}And when i want to read buffer i did 	extern USBD_CDC_ACM_HandleTypeDef CDC_ACM_Class_Data[];
USBD_CDC_ACM_HandleTypeDef *hcdc = NULL;
hcdc = &CDC_ACM_Class_Data[0];
if (hcdc->dataRxLength != 0)
{
          //////////// work with hcdc->data here///////
        hcdc->dataRxLength = 0;
    }

`

void CDC_Event()
{
extern USBD_CDC_ACM_HandleTypeDef CDC_ACM_Class_Data[];
USBD_CDC_ACM_HandleTypeDef *hcdc = NULL;
hcdc = &CDC_ACM_Class_Data[0];
if (hcdc->dataRxLength != 0)
{
//////////// work with hcdc->data here///////
hcdc->dataRxLength = 0;
}
}

Is the above blocking code? Is interrupt based execution possible, such as data comes in, interrupt handler takes  care of the event then moves back into main execution?

I'm trying to do sth similar. Were you able to implement it as an interrupt?

Yeah, I used this in my Nyan Keys keyboard. TBH I forgot exactly how. This implementation works perfectly though.
https://github.com/russeree/nyan-keys-stm32-firmware/blob/master/Middlewares/Third_Party/AL94_USB_Composite/COMPOSITE/App/usbd_cdc_acm_if.c

Who is calling the Event or the CDC_Recieve? As i understand CDC_Recieve is a callback function and i want it tot be called when there is data to be read. But I don't really understand how can I state that I want it to read sth. I also tried to go through your implementation and also didn't really understand who's calling who.


Initial commit ~create_box

Team Members:
Jacquan McClinton<EMAIL_ADDRESS>Charles Kebbi<EMAIL_ADDRESS>

week2 ~ create_box using nested for loop


Google Analytics Tracking code

Would be nice to add Google Analytics Tracking code feature.

@digitalcraftsman that was fast! :) Good job

Added. You'll find a variable called googleAnalytics in exampleSite/config.toml.


cleaner interface for custom conceal-level and -cursor

What kind acknowledgements! This issue is an ongoing one, hopefully @Yggdroot considers it the cleanest workaround too.


[PE-D][Tester D] Launch and shutdown section in DG has incomplete text

I believe { more test cases....} should not be there

Labels: type.DocumentationBug severity.Low
original: slidings/ped#20

Duplicate issue, resolved


create new app named "collegepaper"

create a new app by following  these steps--

fork this repo
create a new branch
create/open Django environment
move to 'azblog' directory
open terminal and write command 'python manage.py startapp "collegepaper"
now make a pull request

Solved!


update physics server to contain all methods and implement most of them

register_types:
Registers and exposes box2d_direct_space_state(not fully impl).
physics_server_box2d
Exposes all methods and calls into specific component. Also adds joint_owner. For now the idea of joint is that it keeps information on both joint object(about bodies) and on body(and when needed to be created, it should create joint also[not done yet]).
box2d_space
Exposes solver_iterations and step_interval.
box2d_shape
Adds Edge Shape(works with one way collision too), World Boundary Shape and Separation Ray Shape(not fully impl yet).
box2d_joint
For now doesn't do much, just adds values and keeps hold of bodies it should tie.
box2d_direct_space_state
Just added class, didn't impl anything yet.
box2d_direct_body_state
Exposed methods and implemented a few from body.
box2d_collision_object
Added a lot of methods here to be able to call from direct_body_state. Implemented a few of them.
box2d_body
Added here new methods that shouldn't be added on box2d_collision_object(only on body, not generic enough).
box2d_area
Exposed all methods that come from physics server. Not impl yet.
With this all methods should be exposed form outside.

Fixes https://github.com/rburing/physics_server_box2d/issues/9
Fixes https://github.com/rburing/physics_server_box2d/issues/8

I have thought a lot and I think adding the whole API at once is more beneficial as this way it's easier to do other implementations once the API is decided. Otherwise there are a lot of decisions that remain and might create a lot of conflicts later on. I am still working on the Joints one, but once that is done the API would have all methods expose from physics server 2d at least(not implemented fully, just exposed and calling into the correct place)

Merging this into my fork and continue work on that. If this remains active I can make a PR with other changes I make there later.

Updated description of this PR:
First, updates SConstruct to build with folders. Moves files into folders based on what they do to make it easier to organize:

bodies for rigidbodies, areas, collision object and direct body state
joints for joints
servers for the server extension api class
shapes for the shapes(here i also split the classes into it's own file each)
spaces for space, direct space state, and callback classes used in direct state space class

Then, updated the PhysicsServerBox2D to override all methods. It also calls into corresponding place(eg. _joint_set_param -> joint->set_param) similar to how it was for other things that were already working.
register_types
It registers box2d_direct_space_state and implements raycast and point collision.
spaces
For intersect ray it uses b2World->RayCast and for point it uses b2World->QueryAABB. The callback classes are:

box2d_query_callback for aabb
box2d_ray_cast_callback for raycast

For except bodies it uses box2d_space_contact_filter that is set as world->SetContactFilter. This method returns should collide if no body is excepted.
For call_area_monitor and call_monitor methods from areas I use world->SetContactListener. I use BeginContact and EndContact to call the correct callback from areas. This then calls into the area.
For contacts from space it uses world->GetContactCount and world->GetContactList.
It also adds to step before_step used to do custom gravity and constant forces. Also, world gravity is set to 0 and all gravity is done as custom gravity.
Joints are also created now in space.
shapes
Aside from moving everything into it's own file,

added support for EdgeShape, as well as send now bool one_way, bool is_static to the get_transformed_b2Shape method. The is_static is used for EdgeShape as this is either a b2EdgeShape if it's static, or a b2PolygonShape if it's dynamic(a rectangle with a small height.
added support for WorldBoundary(for now it's static only and it's a line).

servers
Nothing groundbreaking here, added joint_owner and also default area is added to body when created. Also added support to edit default area(if no area is found, the server changes default area.
joints
Credits to godot-box2d implementation. As per their readme:

Distance joint (Equivalent to GrooveJoint2D or DampedSpringJoint2D)
Revolute joint (PinJoint2D, but with configurable limits and a motor)
Prismatic joint (Similar to GrooveJoint2D, but with fixed rotation)

For pin joint, not using softness. Using the b2RevoluteJoint, which is similar to the godot one but doesn't have softness.
For groove joint, using b2PrismaticJoint.
For damped spring joint, using b2DistanceJoint.
Supports changing already existing joints or joints that aren't created. Most of the data is held on struct's from the class or on the joint_def. After it's created, it's a b2Joint that can be then cast into specific class if needed to change something from it. Only property that requires recreating the joint is collideConnected as it can't be changed from joint only from joint_def.
The joint also holds a reference to a space that it needs to call to remove itself or recreate itself.
bodies - areas
Areas have implemented gravity and linear/angular damp. Areas have a vector of bodies that are updated from b2World collision callback. Bodies also have a vector of areas they have. Areas need to have a list of bodies in case their priority is updated, the areas from bodies need to be resorted and all properties recalculated. Bodies need to have areas in order to calculate all the properties(gravity, linear/angular damp).
Another important thing is areas are now b2_dynamicBody. This is needed because otherwise they cannot collide with other areas or with static or kinematic boddies.
bodies - body
Bodies have a hash with joints they have. This is needed to know what joints to invalidate when destroying a body.
Also, updated most of the properties from body that already exists and added checks to not change properties in case they are same(eg.
	if (mode == p_mode) {
		return;
	}

Same for other places with these kind of checks.
Also added support for fixed rotation: BODY_MODE_RIGID_LINEAR is fixed rotation and BODY_MODE_RIGID is regular dynamic object.
Also added support for bullet which is box2d fast moving objects.
bodies - collision object
Added support to sort based on priority, collision exceptions, areas, collision filter, constant forces, physics material, damping and mass.
For Collision exception and collision fitlering, this is done from b2World filtering/contact callback.
For constant forces and areas/(custom gravity), this is done through the before_step callback.
For damping and gravity, uses areas and default areas to compute the total gravity and total damp.
Box2dDirectBodyState calls mostly into body methods.
misc
If there are invalid polygons, the client crashes(because of
box2d/b2_common.h > #define b2Assert(A) assert(A)
If this is changed instead to
#define b2Assert(A) ((void)(x))
then it doesn't crash, but if you have a very small square, it creates a 1x1 square for eg. I already added a lot of checks for shapes, but more are needed in case of polygons. Not sure how this could be fixed, either a sed command that changes that, or a fork repo instead of a subrepo, or maybe some redefine?
As for the Godot-Physics-Tests, I ran them and currently have 77/150 passing tests.

There is a conflict now because on actions branch I ran lint and that changed 1 file. Will fix conflict.

Ready to be merged by me. Might add more if you don't merge it, if you do will open smaller pr's with functionality. As is it adds a lot though and it is stable.

Really great work!
Could you please squash the commits?

Squashed

Added 1 more commit that fixes some of the shapes:
For convexPolygon, it splits into 8 polygons if possible. Based on link you provided from other repo.
For concavePolygon, if it's static, creates a simple ChainShape, if not, creates multiple squares in the shape of each segment.
For boundary shape, fixes the case where the boundary is dynamic so it can move.
Remaining work for shapes is just the separationRay.

Also fixed filtering for objects(when I added custom ShouldCollide extension, it's not done automatically, the mask and group check bits). Now it works. Test count is now at 78/150.


Add dependency status badge

Add a badge indicating that the package has no external dependencies.

Lol nice.


log plots for other than 1-D plot output

Reported by Ansley B Manke on 5 Mar 2004 23:18 UTC
A request from Brent A. McDaniel, Georgia Tech
3/4/04
A log-plot option for plot types other than just plot,
ie: contour, shade, fill similar to the grads command
'set zlog on'.  I know that many of us that work in the
atmospheric side of things do lots of height/lat type
plots and this would make life much easier instead of
using the workaround in the FAQ.
Note: here is the FAQ -- could we essentially just implement
what it does when a /HLOG /VLOG qualifier is added to the
plotting command?
http://www.ferret.noaa.gov/Ferret/FAQ/custom_plots/2D_log_plot.html
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/800

Comment by<EMAIL_ADDRESS>on 5 Nov 2004 19:05 UTC
changing "Severity" tag of bugs under Ferret Tasks to "enhancement"

Comment by<EMAIL_ADDRESS>on 5 Nov 2004 19:19 UTC
Changing Component of bugs in "Ferret Tasks" from All to Main


podman: scp to non NixOS host not possible

Describe the bug
I'm unable to copy a  podman image to a non NixOS host. Even if other host is NixOS it seems to
podman image scp alpine:3.16.2 remote::test
Copying blob 994393dc58e7 done
Copying config 9c6f072447 done
Writing manifest to image destination
Storing signatures
Error: bash: line 1: /nix/store/y4zrkqsxi0x4z6pcyi9g8xidw2b88vf2-podman-4.2.0/bin/podman: No such file or directory
: Process exited with status 127

Steps To Reproduce
Steps to reproduce the behavior:
#on client
podman system connection add remote ssh://user@host
podman pull alpine:3.16.2
podman image scp alpine:3.16.2 remote::test

Expected behavior
Image should be copied to destination without errors.
Notify maintainers
@marsam @NixOS/podman
Metadata
✘ asbachb@nixos-t14s  ~  nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.19.0, NixOS, 22.11 (Raccoon), 22.11pre400274.6512b21eabb`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - channels(asbachb): `""`
 - channels(root): `"nixos, nixos-hardware"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This is probably an upstream issue (it looks like it doesn't honour $PATH).

@adisbladis From my understanding podman tries to execute the podman command via ssh on the remote machine. I wonder if this call is modified by NixOS patching.

Started github discussions: https://github.com/containers/podman/discussions/15397


Error requirements starting dask-scheduler on HPC cluster

Hi
I installed dask on python3 via pip3 on HPC node. when I run the scheduler I get the following error:
File "/home/x_simco/test/lib/python3.4/site-packages/dask/compatibility.py", line 23, in
from lzmaffi import (LZMAFile, compress as lzma_compress,
ImportError: No module named 'lzmaffi'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/x_simco/test/bin/dask-scheduler", line 7, in
from distributed.cli.dask_scheduler import go
File "/home/x_simco/test/lib/python3.4/site-packages/distributed/init.py", line 3, in
from .center import Center
File "/home/x_simco/test/lib/python3.4/site-packages/distributed/center.py", line 13, in
from .core import (Server, read, write, rpc, pingpong, send_recv,
File "/home/x_simco/test/lib/python3.4/site-packages/distributed/core.py", line 26, in
from .utils import get_traceback, truncate_exception, ignoring
File "/home/x_simco/test/lib/python3.4/site-packages/distributed/utils.py", line 15, in
from dask import istask
File "/home/x_simco/test/lib/python3.4/site-packages/dask/init.py", line 5, in
from .async import get_sync as get
File "/home/x_simco/test/lib/python3.4/site-packages/dask/async.py", line 126, in
from .optimize import cull
File "/home/x_simco/test/lib/python3.4/site-packages/dask/optimize.py", line 6, in
from .compatibility import zip_longest
File "/home/x_simco/test/lib/python3.4/site-packages/dask/compatibility.py", line 26, in
from lzma import (LZMAFile, compress as lzma_compress,
File "/software/apps/python/3.4.1/snic-1/lib/python3.4/lzma.py", line 26, in
from _lzma import *

Hrm, that's surprising.  I thought that lzma was part of the standard library.  This should be fairly easy to guard against.  I'll post a fix soon.

@jcrist resolved this in #1391 .  Please let us know if the problem persists.


push users towards tags

Post Christmas, we want users to probably grab the latest tag, not nom, especially if nom isn't where we cut from for each release.  (e.g. right now 2016.01.1 is the latest, but the default is to get nom, which reports as 2015.12 still)

see  https://github.com/tadzik/rakudobrew/pull/75
Maybe needs tweaking to remove hyphen from "build-release" and cleanly apply again.

actually nom:VERSION doesn't work anymore and I can't think of a simple way of scripting "most recent release"

apparently git show nom:VERSION will show the last release once the release is merged back into nom so maybe this mechanism will work

We shouldn't rely on nom going forward. We can sort the tags to show most
recent...
On Tuesday, February 2, 2016, Steve Mynott<EMAIL_ADDRESS>wrote:

apparently git show nom:VERSION will show the last release once the
release is merged back into nom so maybe this mechanism will work
—
Reply to this email directly or view it on GitHub
https://github.com/tadzik/rakudobrew/issues/80#issuecomment-178809173.

--
Will "Coke" Coleda

If you mean the script is supposed to retrieve all the tags and sort them
then that won't scale over time since the number of tags will increase and
the process slow down.
There has to be some sort of simple pointer to flag the last stable release
so that tools can pull it automatically.
On 3 February 2016 at 16:01, Will Coleda<EMAIL_ADDRESS>wrote:

We shouldn't rely on nom going forward. We can sort the tags to show most
recent...
On Tuesday, February 2, 2016, Steve Mynott<EMAIL_ADDRESS>wrote:

apparently git show nom:VERSION will show the last release once the
release is merged back into nom so maybe this mechanism will work
—
Reply to this email directly or view it on GitHub
https://github.com/tadzik/rakudobrew/issues/80#issuecomment-178809173.

--
Will "Coke" Coleda
—
Reply to this email directly or view it on GitHub
https://github.com/tadzik/rakudobrew/issues/80#issuecomment-179311719.

--
4096R/EA75174B Steve Mynott<EMAIL_ADDRESS>

A simple text file on rakudo.org, perhaps?
On Wednesday, February 3, 2016, Steve Mynott<EMAIL_ADDRESS>wrote:

If you mean the script is supposed to retrieve all the tags and sort them
then that won't scale over time since the number of tags will increase and
the process slow down.
There has to be some sort of simple pointer to flag the last stable release
so that tools can pull it automatically.
On 3 February 2016 at 16:01, Will Coleda<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

We shouldn't rely on nom going forward. We can sort the tags to show most
recent...
On Tuesday, February 2, 2016, Steve Mynott<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
wrote:

apparently git show nom:VERSION will show the last release once the
release is merged back into nom so maybe this mechanism will work
—
Reply to this email directly or view it on GitHub
<https://github.com/tadzik/rakudobrew/issues/80#issuecomment-178809173
.

--
Will "Coke" Coleda
—
Reply to this email directly or view it on GitHub
https://github.com/tadzik/rakudobrew/issues/80#issuecomment-179311719.

--
4096R/EA75174B Steve Mynott<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','steve.mynott@gmail.com');>>
—
Reply to this email directly or view it on GitHub
https://github.com/tadzik/rakudobrew/issues/80#issuecomment-179337925.

--
Will "Coke" Coleda

So umm... I'm probably missing something from this discussion and about to make a fool out of myself, and this is an old thread so maybe it's already resolved, but I'm going to say it anyway: you do know git allows for multiple tags on the same commit, right? Why not simply add a 'latest', 'stable', or even 'latest-stable' tag to the target commit?

@garu I like this idea, I'll take it to the rakudo team to talk about it :)

I'm pretty sure we don't have to have tags in the rakudo repository that move.

We display versions sorted reversed so latest are lowest. That's working well enough I'd say. Please reopen if that's not good enough for someone.


fix(ffe-form-react): Fix tooltip bug in RadioButtonInputGroup

When someone provided a Tooltip component as the tooltip prop to RadioButtonInputGroup, it
would be wrapped inside another Tooltip instance. It now acts the same way as the same prop in
InputGroup.
Fixes #631

Coverage decreased (-0.05%) to 82.004% when pulling b3d705e3a9b7d0a83c32d54f14c67b8eb3ea0d8f on ivarni:631-ensure-component into eacfd0a7ca74ed53e00c5e3bf6a268b24ca0f9a6 on SpareBank1:develop.

Conflicts. Conflicts everywhere.


feat: loops

This PR introduces 2 exercises around loops.
Note: as alpha.7 had a bug with loops, I had to bump the version to a more recent rev.
Time spent: 2 hours

Closes #94

This item belongs to payment request #19A990 on OnlyDust:

from shramee to enitrat
14 items included
$500 for 1 day of work


Plain Pod remains in Terminating state after deleting

What happened:
Deleting plain Pods managed by Kueue will hang in Terminating state forever.
What you expected to happen:
Expected Kueue to remove finalizer eventually and allow Pod to be deleted.
How to reproduce it (as minimally and precisely as possible):
Follow this guide: https://kueue.sigs.k8s.io/docs/tasks/run_plain_pods/
Delete Pod before it completes.
Anything else we need to know?:
Example of Pod that is hanging:
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2023-11-16T22:10:10Z"
    deletionGracePeriodSeconds: 0
    deletionTimestamp: "2023-11-16T22:10:29Z"
    finalizers:
    - kueue.x-k8s.io/managed
    labels:
      kueue.x-k8s.io/managed: "true"
      kueue.x-k8s.io/queue-name: xyz
    name: abc
    namespace: default

Did not see any errors in controller (even when raising log level to 3).
Environment:

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.4", GitCommit:"fa3d7990104d7c1f16943a67f11b154b71f6a132", GitTreeState:"clean", BuildDate:"2023-07-19T12:20:54Z", GoVersion:"go1.20.6", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3-gke.100", GitCommit:"6466b51b762a5c49ae3fb6c2c7233ffe1c96e48c", GitTreeState:"clean", BuildDate:"2023-06-23T09:27:28Z", GoVersion:"go1.20.5 X:boringcrypto", Compiler:"gc", Platform:"linux/amd64"}

Kueue version (use git describe --tags --dirty --always):

0.5.0

Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Uhm, that makes sense. This issue is reproducible.

/assign


Add Cripple Monster usage

Right now only Cripple Spawner is being used. We should add Cripple Monster for use on boss levels, for example.

Check this https://github.com/wchill/steamSummerMinigame/commit/b89201c1b9ae9e38640241064a4bd51a68cea923

Cloed as of ae28681c7844aa306b970cedc41891ae676d51b0.


Named export 'useSubmit' not found

Hi friends.
I'm just starting to develop with remix now, and I used react-hook-form to validate form fields. But when I add remix-hook-form and make the necessary configurations, an error occurs:

My stack is simple: remix, material-ui and react-hook-form. Check out my package.json:
{
  //...
  "dependencies": {
    "@emotion/react": "^11.11.4",
    "@emotion/styled": "^11.11.0",
    "@mui/icons-material": "^5.15.14",
    "@mui/material": "^5.15.14",
    "@remix-run/node": "^2.8.1",
    "@remix-run/react": "^2.8.1",
    "@remix-run/serve": "^2.8.1",
    "isbot": "^4.1.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-hook-form": "^7.54.0",
    "remix-hook-form": "^6.0.0"
  },
  "devDependencies": {
    "@remix-run/dev": "^2.8.1",
    "@types/react": "^18.2.20",
    "@types/react-dom": "^18.2.7",
    "@typescript-eslint/eslint-plugin": "^8.18.0",
    "@typescript-eslint/parser": "^8.18.0",
    "eslint": "^8.38.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-import-resolver-typescript": "^3.6.1",
    "eslint-plugin-import": "^2.28.1",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-react": "^7.33.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "prettier": "^3.4.2",
    "typescript": "^5.1.6",
    "vite": "^5.1.0",
    "vite-tsconfig-paths": "^4.2.1"
  },
  //...
}

Excerpt from the code where the error occurs:
import { ActionFunctionArgs } from '@remix-run/node';
import { Form } from '@remix-run/react';
import { Grid, TextField } from '@mui/material';
import { useRemixForm } from 'remix-hook-form';
export const action = async ({ request }: ActionFunctionArgs) => {
  const formData = await request.formData();
  const updates = Object.fromEntries(formData);
  console.log('updates', updates);

  return 1;
};

export default function CoursesNew() {
  const { control, handleSubmit } = useRemixForm({ mode: 'onSubmit' });

  return (
    <Grid container>
      <Form
        key="new-course"
        id="course-form"
        method="post"
        onSubmit={handleSubmit}
      >
        <TextField name="test" fullWidth variant="outlined" margin="dense" />
        <button type="submit">Save</button>
      </Form>
    </Grid>
  );
}

I use osx 14.
I tested it on node v18 and v22

Downgrading to v5.1.1, it works perfectly. I noticed that @remix-run/react defines v6.28 of react-router and react-router-dom as dependencies. However, in these versions, useSubmit() is not exported.
v6 of remix-hook-form uses:
import {
  //...
  useSubmit,
} from "react-router";

But in v5.1.1, it uses:
import {
  //...
  useSubmit,
} from "@remix-run/react";

There is an actual banner on the README that warns of this, v6 is meant to be used with react-router v7 and versions prior to v6 are meant to be used with remix-run:
https://github.com/forge42dev/remix-hook-form?tab=readme-ov-file#remixrun-support


Client Crashes on macOS when changing display presets.

Describe the bug
Game client crashes immediately after switching display presets through System Preferences > Displays > Presets. Most displays won't have different preset calibrations however.
To Reproduce
Steps to reproduce the behavior:

Launch RuneLite on macOS Monterey 12.3.1, Intel, Mac Pro 12-Core with AMD Radeon Pro W5700X.
Open System Preferences > Displays
If your display supports it, change the display preset calibration to some other preset.
Game crashes with a null pointer exception. Traceback included below.

Expected behavior
Null pointer handled appropriately.
Screenshots

Environment (please complete the following information):

OS: macOS 12.3.1, Intel, Mac Pro 12-core, AMD Radeon Pro W5700 attached to an Apple Pro Display XDR.
RuneLite version: 1.8.16
Launcher version: 2.4.3

Additional context
client.log:
2022-04-09 09:02:37 [Client] ERROR client-patch - Client error: null
java.lang.RuntimeException: java.lang.NullPointerException
	at jogamp.nativewindow.macosx.OSXUtil.RunOnMainThread(OSXUtil.java:324)
	at rs117.hd.HdPlugin.invokeOnMainThread(HdPlugin.java:2579)
	at rs117.hd.HdPlugin.draw(HdPlugin.java:1513)
	at aw.l(aw.java:14442)
	at aw.run(aw.java:347)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: null
	at rs117.hd.HdPlugin.prepareInterfaceTexture(HdPlugin.java:1555)
	at rs117.hd.HdPlugin.drawFrame(HdPlugin.java:1604)
	at rs117.hd.HdPlugin.lambda$draw$10(HdPlugin.java:1513)
	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:143)
2022-04-09 09:02:41 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:02:41 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:02:56 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:02:56 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:03:00 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:03:00 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:03:22 [RuneLite] INFO  net.runelite.client.RuneLite - RuneLite 1.8.16 (launcher version 2.4.3) starting up, args: none
2022-04-09 09:03:23 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached vanilla client
2022-04-09 09:03:23 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached patched client
2022-04-09 09:03:23 [Preloader] INFO  net.runelite.client.rs.ClientLoader - client-patch<PHONE_NUMBER>.96
2022-04-09 09:03:23 [RuneLite] INFO  n.r.client.account.SessionManager - No session file exists
2022-04-09 09:03:24 [RuneLite] INFO  n.r.c.plugins.kourendlibrary.Library - Library is now reset
2022-04-09 09:03:24 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "117hd" version "<IP_ADDRESS>" commit "90359faf9beb99a4a3dcf903fc53b8f8ad2acc84"
2022-04-09 09:03:24 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "zom-leftclick-dropper" version "1.6" commit "e21b2b56b29ed6adc0ae87938fa67672f2bf93dd"
2022-04-09 09:03:25 [RuneLite] INFO  n.r.client.discord.DiscordService - Initializing Discord RPC service.
2022-04-09 09:03:26 [RuneLite] INFO  net.runelite.client.RuneLite - Client initialization took 4333ms. Uptime: 6679ms
2022-04-09 09:03:26 [AWT-EventQueue-0] INFO  net.runelite.client.ui.ClientUI - Showing frame net.runelite.client.ui.ContainableFrame[frame0,1605,25,1161x779,layout=java.awt.BorderLayout,title=RuneLite,resizable,normal,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,1161x751,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
2022-04-09 09:03:27 [AppKit Thread] INFO  rs117.hd.HdPlugin - Using device: AMD Radeon Pro W5700X OpenGL Engine
2022-04-09 09:03:27 [AppKit Thread] INFO  rs117.hd.HdPlugin - Using driver: 2.1 ATI-4.8.15
2022-04-09 09:03:27 [AppKit Thread] INFO  rs117.hd.HdPlugin - Client is 64-bit
2022-04-09 09:09:00 [Client] ERROR client-patch - Client error: null
java.lang.RuntimeException: java.lang.NullPointerException
	at jogamp.nativewindow.macosx.OSXUtil.RunOnMainThread(OSXUtil.java:324)
	at rs117.hd.HdPlugin.invokeOnMainThread(HdPlugin.java:2579)
	at rs117.hd.HdPlugin.draw(HdPlugin.java:1513)
	at aw.l(aw.java:14442)
	at aw.run(aw.java:347)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: null
	at rs117.hd.HdPlugin.prepareInterfaceTexture(HdPlugin.java:1555)
	at rs117.hd.HdPlugin.drawFrame(HdPlugin.java:1604)
	at rs117.hd.HdPlugin.lambda$draw$10(HdPlugin.java:1513)
	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:143)
2022-04-09 09:09:04 [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:226)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:180)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:118)
	at org.pushingpixels.substance.internal.painter.SeparatorPainterUtils.paintSeparator(SeparatorPainterUtils.java:91)
	at org.pushingpixels.substance.internal.ui.SubstanceToolBarSeparatorUI.paint(SubstanceToolBarSeparatorUI.java:67)
	at java.desktop/javax.swing.plaf.ComponentUI.update(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintComponent(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at java.desktop/java.awt.Window.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2022-04-09 09:15:38 [RuneLite] INFO  net.runelite.client.RuneLite - RuneLite 1.8.16 (launcher version 2.4.3) starting up, args: none
2022-04-09 09:15:39 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached vanilla client
2022-04-09 09:15:39 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached patched client
2022-04-09 09:15:39 [Preloader] INFO  net.runelite.client.rs.ClientLoader - client-patch<PHONE_NUMBER>.96
2022-04-09 09:15:39 [RuneLite] INFO  n.r.client.account.SessionManager - No session file exists
2022-04-09 09:15:40 [RuneLite] INFO  n.r.c.plugins.kourendlibrary.Library - Library is now reset
2022-04-09 09:15:40 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "117hd" version "<IP_ADDRESS>" commit "90359faf9beb99a4a3dcf903fc53b8f8ad2acc84"
2022-04-09 09:15:40 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "zom-leftclick-dropper" version "1.6" commit "e21b2b56b29ed6adc0ae87938fa67672f2bf93dd"
2022-04-09 09:15:41 [RuneLite] INFO  n.r.client.discord.DiscordService - Initializing Discord RPC service.
2022-04-09 09:15:42 [RuneLite] INFO  net.runelite.client.RuneLite - Client initialization took 3832ms. Uptime: 5299ms
2022-04-09 09:15:42 [AWT-EventQueue-0] INFO  net.runelite.client.ui.ClientUI - Showing frame net.runelite.client.ui.ContainableFrame[frame0,1605,25,1161x779,layout=java.awt.BorderLayout,title=RuneLite,resizable,normal,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,1161x751,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
2022-04-09 09:15:42 [AppKit Thread] INFO  rs117.hd.HdPlugin - Using device: AMD Radeon Pro W5700X OpenGL Engine
2022-04-09 09:15:42 [AppKit Thread] INFO  rs117.hd.HdPlugin - Using driver: 2.1 ATI-4.8.15
2022-04-09 09:15:42 [AppKit Thread] INFO  rs117.hd.HdPlugin - Client is 64-bit

Pretty niche bug considering the hardware required, hoping to have time to look at fixing it this week.

This happens without the hd plugin too right? We aren't interested in debugging that particularly.

Whoops, you're right. It's a fault with the 117 HD plugin as I just tested. I should have disabled that before posting. My apologies.

I think this is the same thing as #12930 and #14749


Upgrade to Bootstrap CSS v5.0

Bootstrap CSS has release v5.0  about 2 months ago, the latest version is 5.0.2:
https://github.com/twbs/bootstrap/releases/tag/v5.0.2
Our product needs new features of Bootstrap 5, when will BootstrapBlazor take bootstrap v5?

thanks for contacting us. We plan to upgrade to bootstrap V5 next month. later I will create a new milestone for this

Got it, thanks for your quick response! @ArgoZhang

@hxmcn hi, I pushed some commits into the dev-bs5 branch. you can track it follow this branch.

@hxmcn hi, now dev-bs5 is ready to merge into the dev branch. but summernote component not compatible with bootstrap v5. so this component can not upgrade to v5.

@hxmcn it's done.


[Feature Request] Can support multiple date range selections?

Existing Component
Yes
Component Name
date-picker
Description
Currently, multiple date selections can be made via type='dates'. Can support multiple date segments based on type=daterange?

pr welcome


feat(Algebra/Homology): study of the source of the associator isomorphism for the action of bifunctors on homological complexes

In this PR, we decompose the differential on a homological complex of the form mapBifunctor (mapBifunctor K₁ K₂ F₁₂ c₁₂) K₃ G c₄ into three components.

Thanks!
maintainer merge

bors merge

Retrying...
bors merge

Retrying again...
bors merge


Surface.LiveView does not render configured layout

Describe the bug
With a freshly scaffolded Phoenix app, turning a live view to a Surface.LiveView results in the default "live.html.heex" layout not being rendered.
How to reproduce it

Scaffold new phoenix 1.6-rc.0 app
Add Surface as dependency
Create new live_view and route
Change use MyApp, :live_view to use Surface.LiveView
Change sigil in render function from ~H to ~F (or template extension from .heex to .sface)
Observe content expand full width (no longer in <main class="container"> and flash divs no longer in rendered page)

The behavior you expected
Rendered content of Surface.LiveView to include layout defined in MyAppWeb.live_view
Your Environment
Surface: v0.5.2
Phoenix: v1.6.0-rc.0
LiveView: v0.16.3
Elixir: v1.12.2

This behaviour is manageable by configuring each Surface.LiveView with the desired layout but the options provided in the MyAppWeb.live_view allow for a global default layout. Alternatively, this could be accomplished with documentation about how to configure Surface to use a global default layout for Surface.LiveViews.
use Surface.LiveView, layout: {MyApp.LayoutView, "live.html"}

Hi @justin-m-morgan!
Yes.
I agree we should add a note to the docs. Maybe in the Getting Started guide as an "optional" step. Feel free to submit a PR if you want.

I am closing the issue as the documentation has been improved to better explain how to use a custom macro.