Segfault when creating from array

I assume it should be possible to create an image like this:
image = Vips::Image.new_from_array( Vips::Image.new_from_file('600.jpeg').to_a )
/Users/dkam/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:675: [BUG] Segmentation fault at 0x0000000000000128
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:
     * ~/Library/Logs/DiagnosticReports
     * /Library/Logs/DiagnosticReports
   for more details.
Don't forget to include the above Crash Report log file in bug reports.

This is on MacOSX 10.15.6.  It also crashes on Ubuntu 18.04.5 LTS.  Happen with multiple Ruby versions.

Hello @dkam,
new_from_array only works for monochrome images. It's supposed to be for making small constant images, like structuring elements for the morphological operators. For example:
mask = Vips::Image.new_from_array([
  [128, 255, 128],
  [255, 255, 255],
  [128, 255, 128],
])

#to_a works for RGB images, but it'll make a 3D array, which seems to be what's causing the crash. I'll add a check, thanks for the report!
Why do you need to work with images as huge arrays? Perhaps there's another (more efficient) way to solve your problem.

Thanks!  I'm trying to embed a book cover with a drop shadow into a background image.  I thought I'd build up the background image by creating a massive array.  It'd be nice to be able to get a gradient background too.

I think I can build the image I want with SVG but using vips copy image.svg image.jpg results in an empty image. I suspect it's because I was including the book cover via  Xlink:href and rsvg didn't like it.
I'm having trouble figuring out how Vips::Image#ifthenself works - but this is what I have so far:
back  = Vips::Image.new_from_file 'background.jpg'
cover = Vips::Image.new_from_file('600.jpeg')
scover = cover.resize( 300/cover.width.to_f )

emb = scover.embed ((back.width - scover.width)/2), 100, back.width, back.height

out = back.ifthenelse [255, 0, 0], emb, :blend => false

If I manage to get that working, I think my next task would be to create a rectangle the size of the cover, apply a Gaussian blur and layering it between the background and the cover.
Any tips you have would be appreciated!
Thanks,

Hey @jcupitt I figured out how to make an image of a single colour and documented it in the wiki.  Hope that's ok!  Any help on the other stuff would be great.

That's right, you can make a background, a shadow and the image, then composite them together.
For example:
#!/usr/bin/ruby

require "vips"

image = Vips::Image.new_from_file ARGV[0], access: :sequential

background_width = 1200
background_height = 700
shadow_radius = 40
image_left = (background_width - image.width) / 2
image_top = (background_height - image.height) / 2
shadow_colour = [128]
background_colour = [241, 237, 247]

# make the shadow mask ... we have to enlarge before we blur or the soft edges
# will be clipped
# gaussblur take sigma as an argument ... approximate as radius / 2
shadow_mask = image.
  new_from_image(255).
  copy(interpretation: :b_w).
  embed(shadow_radius, shadow_radius,
        image.width + 2 * shadow_radius,
        image.height + 2 * shadow_radius).
  gaussblur(shadow_radius / 2)

# make the background: a block of solid colour
background = image.
  new_from_image(background_colour).
  embed(0, 0, background_width, background_height, extend: :copy)

# make the shadow: a block of solid colour, but with the shadow mask as the
# alpha
shadow = shadow_mask.
  new_from_image(shadow_colour).
  bandjoin(shadow_mask)

# composite the three layers together
image = background.composite([shadow, image], "over",
                        x: [image_left - shadow_radius, image_left],
                        y: [image_top - shadow_radius, image_top])

image.write_to_file ARGV[1]

Run like this:
$ ./drop_shadow.rb ~/pics/dune.png x.png

To make:

Have you found nip2? It's handy for debugging scripts since it can display all the vips image types and their metadata.
You can write something like:
def view(image)
    image.write_to_file("/tmp/x.v")
    system "nip2 /tmp/x.v ; rm /tmp/x.v")
end

And then insert that in your script to check intermediate values.

I added the extra arg check to new_from_array -- it'll be in 2.0.18. Thanks for reporting this!

Thanks very much for the example - I've got that all working very nicely. I've added a simple version to the examples page on the wiki.   I'm adding a rotate now with this before the compose:
shadow = shadow.rotate(15)
image = image.bandjoin(255).rotate(15)

Without the bandjoin, the empty space is black, so the bandjoin(255) is adding a alpha channel?  The doc says it's doing a band-wise join - but I don't see how 255 is an array of images - how does that work?

You can use a constant anywhere you can use an image and it (effectively) becomes an image of the correct size.
bandjoin(255) means add an extra band with 255 in every pixel. You can write .bandjoin([255, 255]) to add two extra bands. You can write things like (image < 128).ifthenelse(255, 128) etc.

I wish new_from_array was not segfaulting. In my case I build the colourfull image line by line. What are alternatives? Ruby can't do multidimensional transposing like Mathematica. Seems like I have to return three lines per line and then transpose and bandjoin.

The segv should be fixed in git master ruby-vips.
There's a PR to add new_from_memory, you probably saw:
https://github.com/libvips/ruby-vips/pull/253
That would probably be the best way to pass large binary images into ruby-vips.

PR to add new_from_memory

Oh, if I understood correctly, that looks like if ruby-vips user has some raw binary data blobs. Like ASCII-encoded string with channel values encoded in chars.
But in my case it would need some additional .pack/.unpack routines because I build lines of pixels as pure Ruby array of pixels. Specifically it was a glitch-art:

I called Vips::Image#to_a .map{ |line| ... }, so I could do things similar to line[10..50] = line[10..50].reverse that is easy in pure Ruby and I was able to do it based on calculations on pixel values taken from the same pixel line array.


Initialize open publishing repository: https://github.com/TinaLiuGirl…

…/TinaTestReport of branch live

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

Line 128: [Error] Pull content in folder W:\arw2-s_themes failed. Error: remote: Repository not found. fatal: repository<EMAIL_ADDRESS>not found
[Warning] Cannot find docset information for repository: 75fec881-80a1-e544-ae48-ccbac7e8c3d4 and docset name: Docset. Please make sure the docset is correctly provisioned

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update regular expression

Make bot answer for obliviously invalid dates ( 32.11 )

And add date validation in robot.respond to command birthday set


Wildcard support for fields in continuous queries.

when the only value was "value", there was a simple way to create a dynamic CQ when backreferencing :measurement however the new format telegraf uses seems to break this.
https://docs.influxdata.com/influxdb/v0.10/query_language/continuous_queries/#cqs-with-backreferencing
I'm wondering if there is a better way to do this so sub measurements are included.
CREATE DATABASE telegraf WITH DURATION 100d
CREATE RETENTION POLICY "7y" ON telegraf DURATION 2555d REPLICATION 1

CREATE CONTINUOUS QUERY "30m_cpu" ON telegraf BEGIN SELECT mean(usage_idle) as usage_idle INTO telegraf."7y".:measurement FROM telegraf."default".cpu GROUP BY time(30m), host END

CREATE CONTINUOUS QUERY "30m_mem" ON telegraf BEGIN SELECT mean(used_percent) as used_percent INTO telegraf."7y".:measurement FROM telegraf."default".mem GROUP BY time(30m), host END

CREATE CONTINUOUS QUERY "30m_disk" ON telegraf BEGIN SELECT mean(used_percent) as used_percent INTO telegraf."7y".:measurement FROM telegraf."default".disk GROUP BY time(30m), host END

As far as I know, there isn't better way and all fields must be listed.

Would be nice to have.
Can this request get a milestone?

+1

If I understood correctly, in order to downsample data, I need have create cq query for every single field in every single measurement, that will take like whole week. And every time I add new fields, I will have to add more continuous queries.
I am currently filling up influxdb with new 0.10 version of telegraf, cadvisor and heapster.
And after I do all this, grafana will not recognise this new retention policies unless I change data source.
This is pretty much deal breaker for influxdb,

This seems like a really important feature, since the old style (just a single value) is very simple to downsample but when taking advantage of multiple values per measurements you need to make many continuous queries to get the same result, and could easily miss adding new CQs when new data points are added

+1

+1
I reckon a blog post on how to set retention policies for many (random) metrics that you do not even know or manage would be good.
For instance in the following examples, you would like influxdb to automagically handle the 'retention rules' of any new metrics :

Add a new hosts which will send its metrics to the influx
Add a new metric/check on all hosts which will then end in influx

FWIW, our setup: collectd-client --> collectd-server --> influx

This will be fixed by #6529 when that's merged.

+1

Wildcard support for only fields is now supported.

@jsternberg This seems to be the right issue for field wildcards. I think it was closed by mistake. This functionality definitely does not yet exist.

We do now support SELECT *::field FROM foo but that's only for selecting non-aggregated points. Therefore not useful in CQs, which require a function.
The original ask is to support something like:
SELECT MEAN(*::field) INTO bar FROM foo GROUP BY time(5m) so that CQs can be built without perfect knowledge of the field sets in the measurement. It also makes the CQs future-proof as new fields are added to the measurement.


[Event Hubs] Buffered Producer Live Test and Fixes

Summary
The focus of these changes is to implement the live tests for end-to-end scenarios.  Where the tests exposed flaws, they were corrected and a general polish pass was done to the implementation.  This set of changes also makes the producer and associated support types public in anticipation of the pending beta release.  Also riding along are some minor formatting changes.
Pending work:

Samples

/azp run net - eventhub - tests

API changes have been detected in Azure.Messaging.EventHubs. You can review API changes here

/azp run net - eventhub - tests

Test failure was an unrelated intermittent; moving forward with the merge.

/check-enforcer override


chore: bump OpenSearch from 1.2.4 to 1.3.0

https://github.com/opensearch-project/opensearch-build/releases/tag/1.3.0

It currently fails with.

FAILURE: Build failed with an exception.

* Where:
Build file '/home/runner/work/opensearch-prometheus-exporter/opensearch-prometheus-exporter/build.gradle' line: 35

* What went wrong:
A problem occurred evaluating root project 'prometheus-exporter'.
> Failed to apply plugin class 'org.opensearch.gradle.info.GlobalBuildInfoPlugin'.
   > Could not create plugin of type 'GlobalBuildInfoPlugin'.
      > Could not generate a decorated class for type GlobalBuildInfoPlugin.
         > org/gradle/jvm/toolchain/JavaInstallation

@aparo is the PR ready to merge?

to follow the build attempts... https://github.com/greut/opensearch-prometheus-exporter/pull/1


[FEATURE] role mappings: assign to all users which don't have a specific backend role

Is your feature request related to a problem?
situation:

there are two roles: role A with DLS, role B without DLS, both giving access to an index X
role A is granted to all users (intent: grant it to all "real" users so that they see only the data they need)
role B is granted to a technical user to give him additional rights (e.g. data import user which needs to be able to see all documents)
because role A is granted to all users it is also given to the technical user

due to the technical user having role B he should be able to see all documents in index X, even though he also has role A.
since we can't identify non-technical users (there's no specific role for them in the JWT to reference in the role mapping) we currently use dfm_empty_overrides_all (see #1572) so that the technical user still gets access to everything.
What solution would you like?
it'd be nice if it'd be possible to do a role mapping based on what a user doesn't have (i.e. in our case based on which role is not present in a JWT).
this way we could grant role A in the example above to all users which don't have the admin role in the JWT.
What alternatives have you considered?
we can continue to use dfm_empty_overrides_all but also have to deal with the downsides of that (slightly wider impact).
Do you have any additional context?
n/a

[Triage] Hi @rursprung, thanks for filing this issue. It seems like this may be related to your other issue around the use of dfm....
Because of the complexity of DLS/FLS the Security plugin as a whole aims to only have "positive" or additive features. In this case, it sounds like you are requesting a feature to support negative permissions which can add to existing confusion. I am going to close this issue but feel free to follow up with other comments or questions. Thank you.

In this case, it sounds like you are requesting a feature to support negative permissions which can add to existing confusion.

@scrawfor99: i think there's a misunderstanding here: this is not about taking away any rights with a role! this is about having a negative selector for the role assignment, i.e. "grant role only to users which don't have backend role X").
the relation with the other issue is that we're setting the DFM setting so that the admin user gets to see everything even though he also gets the other role (with the DLS). if we have the possibility to grant the DLS role based on the negative filter ("everyone but the admin") then we'd presumably not need the DFM setting anymore


Make Crossbow Crackshot's additional precision damage untyped

also fix weapon group selectors. The AdjustModifier on the backstabber damage is not working due to some bug in retrieving the weapon damage dice, it seems. I'll try to confirm that, but that's unrelated to this particular fix.

We can maybe work around the bug by suppressing the backstabber damage and adding a new flat modifier in its place?

We can maybe work around the bug by suppressing the backstabber damage and adding a new flat modifier in its place?

If we're ok with that workaround, then yeah, I'll get to it tonight


Java Backend debug: option --halt-cells

Specifies the list of cells, for which, once they match the target, execution terminates. For KEVM, recommended value is "k,pc", e.g. cells commonly used as boundaries of evaluation.
Halt execution if halt cells of current term match the same cells of target term, but entire current term does not match the target term.

@dwightguth I don't know how to do that. Can you give any hints?

@denis-bogdanas you can create a rule that matches just one cell with code like the following:
Rule(IncompleteCellUtils.make(KLabel(cellLabel), false, cellBody, false), BooleanUtils.TRUE, BooleanUtils.TRUE)

To string multiple cells together, use KApply(Klabels.CELLS, cell1, cell2)
You then just need to get the rhs of the spec rule RewriteToTop.toRight(rule.body()) and use VisitK to extract the contents of the cells you care about. Then you compile the rule like it's a search pattern (see krun for how to do this) and pass it somehow to the backend. I can answer questions if you need more details.

For the moment I don't understand much. Will have to look at the code tomorrow. Also this generalization needs a test. How should I write a test for a spec that is supposed to fail?

@ehildenb This is the same principle as for <generatedTop>. Should I call it ? Options is called --boundary-cells now.

@dwightguth what do you think of putting this option in KProveOptions instead? So that we can also eventually thread it through to the Haskell backend. I guess we can migrate it later too.

I agree with putting it in KProveOptions, but if you do it my way (and we have to if we want it to work in the Haskell backend, which we do), you will not need a specially named cell.

@dwightguth Can we leave this generalization for another PR?

You don't need to actually thread it to the Haskell backend yet, but I think you should move it to KProveOptions to make sure you don't end up depending on it in places that can't be supplied by KProveOptions (or that you thread the appropriate state through now).

@ehildenb I agree with moving to KProveOptions. But can I just rename the generated cell and keep implementation as is?

I think you should probably change that as well. It's something which will affect the frontend, so I'm going to hold it to a higher standard than Java backend code. If @dwightguth says it's OK then fine, but I think we shouldn't add shortcuts where we say "we promise to fix it later", because in reality we won't look at this code again for a long time.

I mean, if we don't do it now, it will just have to be done later, and the whole point of this process is to get this functionality merged the "right" way. This code will simply not work in the Haskell backend, and I think we're all agreed it's a valuable feature, so I see no reason why we should take a shortcut that will just cause problems later. Plus, if we do this the right way now, it could be useful to haskell backend developers during debugging if they choose to implement the feature.

@dwightguth Can you answer my question about how to test the failure case? Can I write a test that expects kprove exit code != 0?

@denis-bogdanas write such a test for imp++ (where we already have a test for  kprove) and when I have time later today I will push some commits that make it work in the testing infrastructure

@dwightguth I don't think your proposal will work. You propose that the backend receives a pattern instead of a list of cells, and all that all the cell to pattern conversion logic to be moved to Kernel (or Kore?) module.
And the way you propose to build the pattern is to simply concatenate the boundary cells into a KApply. But this will only work if all boundary cells are top-level. And even, if I want to match say cells  and  they have to be put into a pattern like <generatedTop> ___<generatedTop>.
But your proposal won't work if some cells are nested. The pattern will have to nest them at the right depth just as they sit in configuration. This is the case in VSC. Our boundary cells are k,pc, and <pc> is nested. This is not a problem with current implementation of --boundary-cells because I don't match the entire current term against a pattern. I just extract the required cells from current term, build an auxiliary term with these cells, and match aux term with a similarly built term for target.
Even if there is a way to do this, I expect it to be time consuming and error prone. And I'm totally unfamiliar with front-end so I'm not particularly enthusiastic to work on this. Would rather finish upstreaming. Can we postpone this extension until it's really needed in Haskell backend?

@ehildenb @dwightguth I believe this is ready for review if you agree on current implementation.
Why I cannot change the current implementation of boundary term:
Cell <generatedBoundary> cannot clash with actual cells in the configuration. Even if there is an actual cell with the same name, the 2 cells will be at different nesting levels. Boundary term will look like
<generatedBoundary><generatedBoundary> ... </generatedBoundary> ... </generatedBoundary>

If you don't like this cell, I can use <generatedTop> instead.
I cannot use the trick KApply(Klabels.CELLS, cell1, cell2) because I have to generate a ConjunctiveFormula, and it cannot contain plain KApply objects.

If you follow the path that I outlined, the pattern that you create will be compiled with the same compiler we use to compile search patterns and thus will automatically deal with configuration abstraction and nesting levels.

@dwightguth 1. "You then just need to get the rhs of the spec rule RewriteToTop.toRight(rule.body()) and use VisitK to extract the contents of the cells you care about.". Can you elaborate please? What is the role of this RewriteToTop.toRight and of VisitK.

@denis-bogdanas I'm referring to the idea that you want to extract the rhs of the spec being proven and inject the contents of the cells named on the command line into the pattern being constructed. I would assume the output of this particular step is a map from cell klabel to the term on the rhs of that cell in the spec. RewriteToTop.toRight gets the rhs of a term containing rewrites, and VisitK is a visitor pattern for asts of type K. Presumably you can add a method apply(KApply) which checks the klabel and if it's one of the cells you care about, adds the contents to the map you're constructing.

@dwightguth @ehildenb Ready for review. Implementation is different that what @dwightguth suggested. I couldn't understand much from hints, so I just followed the search pattern as example. I can explain more details if needed.


allow nested values via name="parent.child"

Describe the feature
allow nested values via name="parent.child"

The way to nest items in FormKit is to use parent elements such as a group or a list — you can then access these via dot notation for traversal, but we don't pan on implement dot notation as a declarative syntax for creating structure — only traversing it.
Here's an example of a parent/child:
https://formkit.link/db4828a3ea380166ae25a9b1f5eb95d4
If you have further questions, feel free to jump in and ask on the discord: https://discord.gg/Vhu97pAC76

Yes I tried the grouping, but it makes the html way too wordy for complex forms that have a lot of various nested items intermingled.  This is a dealbreaker for me, and is also a downgrade from standard Vue.  I can do this in Vue, so why not similar in formkit?
<input type="text" :value="form.aaa.bbb" />

If your form is less readable with nesting there is likely a structural problem or your form should be broken out into separate components. Keep in mind FormKit doesn't care how deeply you nest your <FormKit> components.
The purpose of this nesting is to create implicit structure in your form — groups and lists have zero DOM output, and no bearing on the UI. If you're saying you want to v-model a bunch values to some arbitrary object, you can do that just like in Vue. In otherwords, if your form is totally unstructured, you can make your data totally unstructured too, its just not the way most developers want (or should) craft forms.
So specifically — there's nothing a standard Vue does that FormKit does not do. If you want to v-model some deeply nested object, you can do that in FormKit just fine — I wouldn't recommend it — but you can do it (FormKit uses the value prop for initial values only):
https://formkit.link/4b768fd2245a377dbb9024d4e86e6306
Of course you make your own decisions about whether or not you want an architected form solution like FormKit or if some feature is a "deal breaker" — no hard feelings here — we're just a friendly open source package. However, next time if you have questions about how to use FormKit, come join us in the discord — its a friendly and pretty helpful place 😀 Good Luck! 👍

I'm talking about the readability of the source code.  Which is cleaner?
<FormKit type="group" name="a1">
    <FormKit type="text" name="bbb"/>
</FormKit>
<FormKit type="group" name="a2">
    <FormKit type="text" name="bbb"/>
</FormKit>
<FormKit type="group" name="a1">
    <FormKit type="group" name="b1">
       <FormKit type="text" name="ccc"/>
    </FormKit>
</FormKit>

or
<FormKit type="text" name="a1.bbb"/>
<FormKit type="text" name="a2.bbb"/>
<FormKit type="text" name="a1.b1.ccc"/>

This data is not unstructured, but it's a highly complex structure, in which it makes sense in one state in the code, but in a different state to the user.
I can use the v-model solution, but I prefer name/value because I don't want active binding, and I don't want to have to include the form prefix everywhere ("some." in your example).  This is not a question about how to use it, it's a feature request.
Thanks.

Didn't this use to work this way prior to a recent update?  I just noticed all of my FormKit inputs with "subobject.prop" no longer work.

@JohnCampionJr to have those values be structured by name only has never been a feature not, but if there was some unexpected regression that you can reproduce in the playground I would be more than happy to figure that out.
@TheDirigible i think what you’re asking could be accomplished with a plugin, I might play around a bit and see if something materializes.

I'm not sure how to recreate it, but I know it worked recently.
I'll see if I can work out what changed.

You can change versions in the playground to check for regression

I'm talking about the readability of the source code. Which is cleaner?
<FormKit type="group" name="a1">
    <FormKit type="text" name="bbb"/>
</FormKit>
<FormKit type="group" name="a2">
    <FormKit type="text" name="bbb"/>
</FormKit>
<FormKit type="group" name="a1">
    <FormKit type="group" name="b1">
       <FormKit type="text" name="ccc"/>
    </FormKit>
</FormKit>

or
<FormKit type="text" name="a1.bbb"/>
<FormKit type="text" name="a2.bbb"/>
<FormKit type="text" name="a1.b1.ccc"/>

This data is not unstructured, but it's a highly complex structure, in which it makes sense in one state in the code, but in a different state to the user.
I can use the v-model solution, but I prefer name/value because I don't want active binding, and I don't want to have to include the form prefix everywhere ("some." in your example). This is not a question about how to use it, it's a feature request. Thanks.

Your example is not something that common when creating forms, as grouped inputs most likelly should be in the same UI group when creating the view, so your example should be better constructued as such:
<FormKit type="group" name="a1">
  <FormKit type="text" name="bbb" />

  <FormKit type="group" name="b1">
    <FormKit type="text" name="ccc" />
  </FormKit>
</FormKit>

<FormKit type="group" name="a2">
  <FormKit type="text" name="bbb" />
</FormKit>

Also when using this syntax how should you know that something is additive to the group and not to replace instead? you could both interpret as a1 has bbb input and a1 has a b1 group with a ccc group, as a1 had bbb and now a1 has a group with b1 and ccc input.

<FormKit type="text" name="a1.bbb"/>
<FormKit type="text" name="a2.bbb"/>
<FormKit type="text" name="a1.b1.ccc"/>

I stand 100% corrected.   It never did work.  I was thinking of old code which was using Vuelidate which does allow this setup.
I would love to see the possibility though, but understand if you prefer to not do it this way.
Again, my apologies.  :)

@JohnCampionJr and @TheDirigible here's a simple proof of concept plugin that allows this dot-notation behavior. Would probably need a bit more work, but it generally works just fine. Plugins are awesome 💪
https://formkit.link/1fb2c71e38a39278be05577f10131c4e


issue#2375 allow change of delimiter for csv download

Fixes #2375  .
Changes proposed in this PR:

add a select menu to the usage page which gives a choice of three separators
this could be extended to allow for them to be specified in branding.yml but it'll do for starters
each download then also has a "sep" field which gets changed by a JS event listener attached to the select menu
the various CSV handling functions then get an extra sep parameter whch gets passed in from the download url

looks like there are some JS linter issues in the checks. feel free to merge yourself once those are cleared up. You can run yarn run eslint --ext .js app/javascript/**/*.js to run the linter locally

I fixed up the eslint issues, and also tweaked the styling to make the new drop-down display inline with the button text.
Also noticed (because I'm working on a fresh roadmap DB from seeds) that the usage-dashboard breaks when there are no plans, so I added a default-case to the start_plan_date util in the usage_controller


Remove deprecated ImageIOConfigModel from settings

Is there an existing issue for this?

[X] I have searched the existing issues.

Please describe the feature you have in mind and explain what the current shortcomings are?
Currently the settings for ayon-houdini contains a deprecated ImageIOConfigModel.
With the support of profiles to determine OCIO config in ayon-core this logic has been superseded and should be removed from each addon still having the deprecated settings.
How would you imagine the implementation of the feature?
Remove the deprecated settings, and ensure transition for existing users is easy.
Since settings have moved, in a potentially backwards incompatible way, there may need to be a transition guide with the release explaining what to do. We may need to also bump the minor version to indicate the breaking changes.
Are there any labels you wish to add?

[X] I have added the relevant labels to the enhancement request.

Describe alternatives you've considered:
No response
Additional context:

Part of the cleanup epic ✨

Closing this in favor of more global issue on ayon-core to easily track status for each addon from there as a single epic cleanup.
https://github.com/ynput/ayon-core/issues/785


parser,stmt: first stab at parsing switch

This CL implements the basics of parsing switch statements.
It doesn't handle the body of cases.

Codecov Report

Merging #79 into master will increase coverage by 0.17%.
The diff coverage is 60.49%.

@@            Coverage Diff             @@
##           master      #79      +/-   ##
==========================================
+ Coverage   41.56%   41.74%   +0.17%
==========================================
  Files          19       19
  Lines        8439     8519      +80
==========================================
+ Hits         3508     3556      +48
- Misses       4534     4556      +22
- Partials      397      407      +10

Impacted Files
Coverage Δ

parser/expr_equal.go
18.54% <20.58%> (+0.08%)
:arrow_up:

parser/parser.go
60.27% <89.36%> (+1.19%)
: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 d1dd023...7ccb58d. Read the comment docs.


set ceph.journal_guid for ceph-update role

There is the same variable in roles/ceph-common/defalt/main.yml
but deploy result shows that it can't be accessed in ceph-update
this patch is to add this variable for ceph-updpate

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test

retest

This won't be tested in CI, merging.

retest


Update workflow for beta release

Changes:

...

Type of change

[ ] Bug fix
[ ] New feature
[ ] Update feature
[ ] Refactor code
[ ] Translation to code
[ ] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

Can you please replace per a test project first:
command: pages publish public --project-name=dummy-pages --branch=beta


run_evaluation.sh Issue

Hi,
I am using conda environment with Python 3.8, ubuntu 20.
CARLA is 0.9.11 which I built locally.
I am encountering the following issue:
Traceback (most recent call last):
File "/mnt/e3641809-fbba-49ea-86ed-f89021679b99/home/varun/carla/PythonAPI/leaderboard/leaderboard/leaderboard_evaluator.py", line 343, in _load_and_run_scenario
self.manager.run_scenario()
File "/mnt/e3641809-fbba-49ea-86ed-f89021679b99/home/varun/carla/PythonAPI/leaderboard/leaderboard/scenarios/scenario_manager.py", line 140, in run_scenario
self._tick_scenario(timestamp)
File "/mnt/e3641809-fbba-49ea-86ed-f89021679b99/home/varun/carla/PythonAPI/leaderboard/leaderboard/scenarios/scenario_manager.py", line 154, in _tick_scenario
self._watchdog.pause()
AttributeError: 'Watchdog' object has no attribute 'pause'

This is happening because the scenario_runner API, changed. I am trying to update the code to make it work with 0.9.11 scenario_runner API.


Avoid using document.all

document.all returns an HTMLAllCollection which has some, uhm, special, behavior. This is causing errors when es6-shim is present, which in some cases overwrites the native Array.prototype.find with its own implementation.
This is an attempt to prevent vue-devtools from throwing an error in Chrome when es6-shim is present.
See: https://github.com/paulmillr/es6-shim/issues/428

It's also worth noting that document.all has been heavily deprecated for almost a decade now, and should never be used, regardless of library bugs with it.


What are the main differences between magentic and declarai?

A comparison to declarai would be great in your documentation.
Similar to what LMQL does with guidance etc.

Hi @ogencoglu , I am keeping the documentation here strictly about magentic - otherwise there are a lot of packages for which I would have to write comparisons. I'm happy to support declarai writing a comparison in their documentation by answering any questions you have. Thanks


Fixing kdiff3 SourceForge Address!

Fixing kdiff3 SourceForge Address!

@r15ch13 This is maybe not the place for asking this question but anyway...
Is there need to change all sourceforge links with downloads.sourceforge? If so I'm willing to do it!


Binding/rebinding JSON array/lists/collections upon change/reload yields duplicate and unexpected results

Using version 2.0.2, and a config with 2 JSON file sources (appsettings.global.json and appsettings.local.json, where the local settings supersede the global settings), trying to bind a List property gives some duplicate and unexpected results when initially binding and when re-binding on change.  Here are some examples:

appsettings.global.json StringList contains [ "1", "2" ] and appsetings.local.json contains [ "3" ]
Result:  At line 42, StringList is bound with the values [ "3", "2" ] upon initial binding
Expected:  StringList is bound with [ "3" ]

appsetings.local.json StringList is changed to [ "3", "4" ]
Result:  At line 68, StringList is bound with values [ "3", "2", "3", "4" ]
Expected:  StringList is bound with [ "3", "4" ]
Caveat:  This problem only happens if you re-bind to the already existing MyConfig instance, as is done in the code, though I think this should be supported, since it works for primitive types, and it allows you to bind to an instance whose reference may already be held by other code.

I couldn't find any doc to indicate if this was by design or not, but I'm hoping someone can shed some light.
Thanks!
using System.Collections.Generic;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Primitives;

namespace WebApplication1
{
    public class MyConfig
    {
        public List<string> StringList { get; set; }
    }

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; set; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public MyConfig MyConfig { get; set; } = new MyConfig();

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.global.json", optional: false, reloadOnChange: true)
                .AddJsonFile($"appsettings.local.json", optional: false, reloadOnChange: true);

            Configuration = builder.Build();

            Configuration.Bind(MyConfig);

            ChangeToken.OnChange(() => Configuration.GetReloadToken(), OnChange);

            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }

        private void OnChange()
        {
            Configuration.Bind(MyConfig);
        }
    }
}

Yeah this is by design at this point, the arrays are converted into indexed key value pairs that look something like array indicies, so that's why you are seeing that kind of behavior.


MultipleVotesError when there are votes from unknown nodes

See example
Each block contains a list of public keys which are the voting nodes for that block. If there are more votes than voters in the block, an exception is thrown:

bigchaindb.common.exceptions.MultipleVotesError: Block cfbfb0b125e1f6cba22bf97ecf5ae2c10df76deb525216cbc79137e204347907 has 11 votes cast, but only 1 voters

Well behaved nodes should not vote for a block where they are not part of the voters set. But this is a sybill attack vector which we can protect against.

It might be dangerous if someone falsifies block.voters.


[FEATURE] Warn users who upload images without alt text

Description
This would expand outside of the current definition of what the bot is for (inclusive language) however, if we want to consider other ways to make the server inclusive outside of text we could consider adding a check if attachments uploaded have alt text and warn if they do not.
For discord, I beleive what you would need to look for is "description" under attachment https://discord.com/developers/docs/resources/channel#attachment-object
Here is also an example of a bot written in python that deletes images without alt text: https://github.com/quackersian/alt-text-detective
Code for detecting starts at line 361 in this file https://github.com/quackersian/alt-text-detective/blob/master/alt-text-detective.py
Screenshots
No response
Additional information
No response

Hey @amandamartin-dev. This sounds like a great feature! Do you want to work together in creating this line of code?

@CBID2 Hey, thanks! I am not a maintainer for this bot so let's ask @eddiejaoude first if this feature would make sense for the bot as it's a little beyond the scope of the simplicity of the text filtering and would definitely increase overall bot responses.  If so, yes feel free to work on this

I think this sounds like a good feature, but we might rewrite the bot soon, so IMHO it might be best to hold off on this for the moment

I think this sounds like a good feature, but we might rewrite the bot soon, so IMHO it might be best to hold off on this for the moment

Is the bot rewrite gonna happen anytime soon? I'd suggest archiving the repo if that is the case.

We use the same repo for the rewrite, so we can keep all the history in one place


wasm: Page shows behind skybox when skybox brightness is low

Bevy version
0.13.1, main
Relevant system information
AdapterInfo { name: "ANGLE (Apple, ANGLE Metal Renderer: Apple M1 Max, Unspecified Version)", vendor: 4203, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }

What you did

With wasm-server-runner
Change brightness in examples/3d/skybox.rs to 100..
cargo run --example skybox --target=wasm32-unknown-unknown
Using browser dev tools, add the following style to body:background: repeating-linear-gradient(-45deg, rgb(255, 200, 200), rgb(255, 200, 200) 10px, white 10px, white 20px);

What went wrong
Page background can be seen through the skybox.

Additional information
The following patch seems to fix the problem, but I'm not sure if it's proper.
diff --git a/crates/bevy_core_pipeline/src/skybox/skybox.wgsl b/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
index 593b440ee..37a66cfba 100644
--- a/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
+++ b/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
@@ -72,5 +72,5 @@ fn skybox_fragment(in: VertexOutput) -> @location(0) vec4<f32> {
     let ray_direction = coords_to_ray_direction(in.position.xy, view.viewport);

     // Cube maps are left-handed so we negate the z coordinate.
-    return textureSample(skybox, skybox_sampler, ray_direction * vec3(1.0, 1.0, -1.0)) * uniforms.brightness;
+    return vec4<f32>(textureSample(skybox, skybox_sampler, ray_direction * vec3(1.0, 1.0, -1.0)).rgb * uniforms.brightness, 1.0);
 }

The bug is in how the brightness is wrongly applied to the alpha channel, so the fix is the correct one; however your fix also makes it impossible to do transparent backgrouns when that is desired, because the alpha channel is now hardcoded to 1.
The following patch resolves that issue (not tested):
diff --git a/crates/bevy_core_pipeline/src/skybox/skybox.wgsl b/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
index 593b440ee..37a66cfba 100644
--- a/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
+++ b/crates/bevy_core_pipeline/src/skybox/skybox.wgsl
@@ -72,5 +72,5 @@ fn skybox_fragment(in: VertexOutput) -> @location(0) vec4<f32> {
     let ray_direction = coords_to_ray_direction(in.position.xy, view.viewport);

     // Cube maps are left-handed so we negate the z coordinate.
-    return textureSample(skybox, skybox_sampler, ray_direction * vec3(1.0, 1.0, -1.0)) * uniforms.brightness;
+    let out = textureSample(skybox, skybox_sampler, ray_direction * vec3(1.0, 1.0, -1.0)) * uniforms.brightness;
+    out.rgb *= uniforms.brightness;
+    return out;
 }


Search result page must not contain "Edit on GitHub" Link.

"Edit on GitHub" link (top right corner) must not be present on Search results page. Also it leads to 404 pages.

I think we can fix this from the theme https://github.com/rtfd/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/search.html https://github.com/rtfd/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/layout.html

Does anyone work on this issue? If not, I'd like to take this issue.

@stsewd https://github.com/rshrc/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/breadcrumbs.html
maybe, it is here, I think.
{% if check_meta and 'github_url' in meta %} {% set display_github = True %} {% endif %}


Error: There is a deployment currently in progress. Please try again when it completes when deploy to Windows Azure App Service

Repro steps:
Create a new app service in azure using vs code azure workbench.view.extension.azure
Wait for app service to be created
Right click on app service you just created and choose deploy
After Starting deployment message and waiting for long running command to finish the following error is presented:
Error: There is a deployment currently in progress. Please try again when it completes.
Action: appService.Deploy
Error type: Error
Error Message: There is a deployment currently in progress. Please try again when it completes.
Version: 0.8.1
OS: win32

Does this happen consistently for you?
Just to confirm - you only deployed once and you still saw this error?

Closing due to lack of response. Feel free to reopen with more information


[Bug]: Updated Custom Column Name Not Reflected in the sortOrder.column Table Property

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When sorting a table widget by a custom column that was renamed, the name does not get updated in the sortOrder.column property.

Steps To Reproduce

Add a Table widget to the canvas and bind it to a query.
Add a Custom Column and rename it.
Add a Text widget to the canvas and bind it to {{Table1.sortOrder.column}}.
Sort the table by the custom column.
Note that customColumn1 gets displayed in the Text widget instead of the updated name.

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
v1.9.28

We faced this issue, it's especially confusing when you have multiple custom fields and need te reference one of them.

@acreacico can you please also help us understand what are you using this for. This will help us triage the problem better.
cc @sbalaji1192 I tried in a sample app, updating the accessor also does not affect the sortOrder object. Is this intentional?

@somangshu We are using the column id when populating the sortOrder. For the source columns, it made sense since we will be using the column name from the source in the queries, not what is shown on the table.

@acreacico a few questions

Are you using server side sorting feature to sort data?
If yes, what is the data being used in the custom column, is it coming from a different query?

Nevertheless this is a bug, and we should have shown the property name here. There's a workaround for this

Pass the same computed custom column directly in the source data

Bumping this to medium

I believe it's a small change which i think we can ask @gitstart-appsmith to make

We’d love to help you with it! Can you please assign the issue to us to create the ticket? Thank you :raised_hands:

@acreacico a few questions

Are you using server side sorting feature to sort data?
If yes, what is the data being used in the custom column, is it coming from a different query?

Nevertheless this is a bug, and we should have shown the property name here. There's a workaround for this

Pass the same computed custom column directly in the source data

Bumping this to medium

This is exactly the workaround that we've used. Yes, there is a server side sorting. The data is coming from currentRow, not from a different query.


Adding colors to build dict and the ability to randomly add colors

Allows you to pass colors in the build dictionary. If a color isn't specified in the build dictionary a random color will be used. The random color will not be the same as any colors currently being used in the radial build.

I forgot that I Americanized the function, it only works with "color" not "colour"

Could you update the docstrings of RadialBuildPlot and ToroidalModel to include the new "color" key please?

Also does this work with color names still or do you need to use the hex code?


gutter support, div wrapper @wrap, flexgrid macros

gutter support by new keywords gutter, xgutter, ygutter which can receive values from [nothing, :xs, :sm, :md, :lg, :xl] (or their string counterparts)
macros @flexgrid and @flexgrid_kwargs to simplify function definition with explicit flexgrid kwargs
macro @wrap to wrap a div element around elements and moving all flexgrid kwargs to the wrapper div element

Examples:
Classical grid definition without spacing
julia> row([
         cell(1, sm = 2,  md = 8)
         cell(2, sm = 10, md = 4)
       ]) |> prettify |> println

        1

        2

Grid definition with added spacing
julia> row(gutter = :md, @wrap [
         cell(1, sm = 2,  md = 8)
         cell(2, sm = 10, md = 4)
       ]) |> prettify |> println

            1

            2

Function definition without flexgrid kwargs
function bignumber( label::Union{String,Symbol} = "",
                    number::Union{Symbol,Number,Nothing,String} = nothing,
                    args...; kwargs...)
  st__big__number(args...; kw([:title => label, :number => number, kwargs...])...)

Function definition with flexgrid kwargs
@flexgrid function bignumber( label::Union{String,Symbol} = "",
                    number::Union{Symbol,Number,Nothing,String} = nothing,
                    args...; kwargs...)
  st__big__number(args...; kw(@flexgrid_kwargs(; title = label, number, kwargs...))...)
end

Demo
ui() = [
    row([
        row(col = 3, [
            cell(1, class = "bg-red-10")
            cell(2, class = "bg-red-6")
            cell(3, class = "bg-red-3")
        ])

        column(col = 3, [
            cell(1, class = "bg-green-10")
            cell(2, class = "bg-green-6")
            cell(3, class = "bg-green-3")
            cell(4, class = "bg-green-1")
        ])

        row(col = 0, [
            cell(1, class = "bg-blue-12")
            cell(2, class = "bg-blue-8")
            cell(3, class = "bg-blue-6")
            cell(4, class = "bg-blue-3")
            cell(5, class = "bg-blue-1")
        ])
    ])

    row(gutter = :lg, class = "q-pt-lg", @wrap[
        row(gutter = :sm, col = 3, class = "full-height", @wrap [
            cell(1, class = "bg-red-10 full-height")
            cell(2, class = "bg-red-6 full-height")
            cell(3, class = "bg-red-3 full-height")
        ])

        column(gutter = :sm, col = 3, class = "full-height", @wrap [
            cell(1, class = "bg-green-10 full-height")
            cell(2, class = "bg-green-6 full-height")
            cell(3, class = "bg-green-3 full-height")
            cell(4, class = "bg-green-1 full-height")
        ])

        row(gutter = :sm, col = 0, class = "full-height", @wrap [
            cell(1, class = "bg-blue-12 full-height")
            cell(2, class = "bg-blue-8 full-height")
            cell(3, class = "bg-blue-6 full-height")
            cell(4, class = "bg-blue-3 full-height")
            cell(5, class = "bg-blue-1 full-height")
        ])
    ])
]

Don't merge! I've found an edge case :-(

We decided to pursue the issues of this PR separately, so closing this


[RFC] Deprecate SmartStep

Hello everyone,
I think it's time to deprecate smart steps and foresee their removal: I still see it used from time to time in company we train/coach. It leads to slow suites, thus slowing down feedback cycle; and totally violates FIRST principles.

However what's possible with smart steps is also possible without.

We can create steps that call other steps, from the same context or even from another context.
For authentication, Symfony docs suggest a better way to impersonate users

IMHO, there's no real use case of such a feature. Hence I would be glad to see it removed from this package, so we don't have anymore to explain why, in one hand, it's so bad that it should not be used, and in the other hand why we keep it.  What do you think?

Related to https://github.com/KnpLabs/FriendlyContexts/issues/225

Agreed. The cons outweigh the pros.


Temp fix: Hide elements in sidebar for EVM

Is there an existing issue?

[X] I have searched the existing issues

What happened?
As a normal user I would be waiting for balances to load.

Unfortunatelly it is not possible.
Please reproduce in steps

#10354

log in
balances not loaded

Expected Behavior
Currently I would hide:

balances in the sidebar if vm === 'EVM'
additional things like transfer, teleport ...

What browsers are you seeing the problem on?
No response
At which address did you encounter bug?
No response
Are you logged in?
None
Which wallet you are using?
No response
At which chain did you encounter bug?
No response
Screenshots

Wallet Address & Transaction hash
~
Relevant log output
No response
Payment link for reward
https://canary.kodadot.xyz/dot/transfer/?target=<My_Polkadot_Address_check_https://github.com/kodadot/nft-gallery/blob/main/REWARDS.md#creating-your-dot-address>
Code of Conduct

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

would not be easier to use some already existing solution etc.?

1inch does it quite fast to load the funds
just idea

would not be easier to use some already existing solution for the funds etc.?

Yes, but this is a temp fix, it is ugly to show non-working sidebar to users.


Upped dependency to Firebase 3.0, fixed use statements

We use a specific vendor for the slim framework and jwt authentication ( tuupola/slim-jwt-auth ) which requires firebase 3.0,
The differences according to the firebase log are

namespacing
better PHP Doc
Require a non-empty key to decode and verify a JWT

(https://github.com/firebase/php-jwt/commit/fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1)
The unittests succeed with these changes.

I signed it!

:+1:

LGTM - newer is better. @tbetbetbe?

+1


docs: fix typos and update links in documentation files

Description
Fix documentation typos and update external links for better readability and accuracy.
Changes

Remove duplicate alt attributes
Fix redundant phrases ("with via" to "via", remove duplicate "combined with")
Update Statamic link from frontend.fyi to statamic.com
Fix various minor typos throughout documentation

Thanks for these corrections!


Upgrade NFR test doesn't install old Plus version

When the upgrade NFR test runs using NGINX Plus, it doesn't install the old plus version before upgrading. It installs OSS then upgrades to plus.
Acceptance:

The upgrade test should install Plus initially if running the tests using Plus.

Nevermind, this does work as expected.


Trac ik update

The current version of Trac_IK included in the vector repo is outdated. I have downloaded the most recent version from their Git repository.

So we're debating not supporting copying libraries into this repo and instead pointing to the external repo that they come from. So rather than copying in trac_IK, we will just put in the tutorial how to install the latest and greatest.

So we're debating not supporting copying libraries into this repo and instead pointing to the external repo that they come from. So rather than copying in trac_IK, we will just put in the tutorial how to install the latest and greatest.

We decided to just remove trac_ik from this repo since it is an external library. Wiki has been updated to point to how to install from the actual source.

Sorry for the late input:
Normally I only add external libraries that have been modified or are planned to be modified from the original versions. TracIK was not modified yet but we have been working on some things to improve it for our particular hardware setup; we keep it up to date with the remote until we are ready to freeze separately. Anything we use as-is and do not have plans to update we include in the install docs
Just wanted to provide some feedback as to why some external libraries are included as source vs. installing from remote repos; I am good with the master branch excluding the source and installing.


Raspberry PI4 - update from 2.0.12 to 2.0.13 ->qt.qpa.xcb: could not connect to display :0.0

[x] I confirm that this is an issue rather than a question.

Bug report
after upgrading to 2.0.13 hyperiond does not start anymore, I receive:
`pi4p[0][~/devel]# hyperiond
qt.qpa.xcb: could not connect to display :0.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstal   ling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Abgebrochen`
downgrading to 2.0.12 and it works. Back to 2.0.13, still same issue. Why is it trying to open a display ? I am using it only as daemon.
Steps to reproduce
uname -a
Linux pi4p 5.10.82-v7l+ #1493 SMP Wed Dec 1 11:37:31 GMT 2021 armv7l GNU/Linux
apt install hyperiond
What is expected?
after
hyperiond
it should work, but it doesn't
What is actually happening?
after upgrading to 2.0.13 I receive:
`pi4p[0][~/devel]# hyperiond
qt.qpa.xcb: could not connect to display :0.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstal   ling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Abgebrochen
`
System

It does not start, so I cant provide it

Thanks for your reply. I am using latest debian Bullseye. Everything is fine with 2.0.12. But not for the 2.0.13 + nightly built 2.0.14.
how do enforce to start as service? Good idea. Assuming this would resolve the issue as there is no UI required.

If you start via commandline
hyperiond —service
if this does not work do hyperiond -h to check the exact wording (I am traveling right now)

If you start via commandline hyperiond —service

Cool, That worked, thanks. So I need to do an alias then.
-h does give the same error back. It seems that hayperiod expects a display by default. Anywhere we can setup to start without a GUI. Beside the alias option?
What switches are possible with hyperiond?

Hi @denimjeans
Sorry, for only coming back after a while...
I did install a fresh Raspberry Pi OS and Hyperion 2.0.14 via the APT repository and it works.

Maybe you installed a package that is not fit for purpose for bullseye.
I would suggest the following.

Uninstall Hyperion completely
Install Hyperion from the official APT repository as described here

Hopefully, it will work correctly then.
If not, we would need to identify what is the difference between your environment and mine....

@Lord-Grey, thanks. I'd assume it has then something to do with the enviroment variables. As reinstalling does not fix it.
I can live with that alias solution no problem, just wanted to make you aware of this issue in case of others having the same problem

just for the protocol, issue still presits
pi4p[1][/mnt/devel/hyperion2015]# /usr/bin/hyperiond --version
QXcbConnection: Could not connect to display :0.0
Abgebrochen
pi4p[1][/mnt/devel/hyperion2015]# /usr/bin/hyperiond --version --service
Hyperion Ambilight Deamon
        Version   : 2.0.15 ((HEAD detached at 2.0.15) (GitHub-70e1043/24a00e3-1676809483))
        Build Time: Feb 19 2023 16:02:36

I am just wondering, do you run Hyperion on a rpi OS installation with desktop or without (light)?
In case with desktop, the standard one or another?

I dont use the desktop version. So lets call it light then :-). So your assumption is correct.
if you quit the desktop and run on terminal only, you should be able to reproduce the issue


Garbage collection stops once app receives SIGTERM signal

Hi,
Once our ASP.NET core app receives SIGTERM (used in Kubernetes as the standard way to initiate graceful shutdown), it stops freeing memory.
This issue seems to be connected to 370, but it is not the same as we tested versions where  370 did not manifest itself, but this issue did.  Adding option V8GlobalFlags.DisableBackgroundWork helped, but it is more workaround than a permanent solution.
Repro:
run this code
using Microsoft.ClearScript.JavaScript;
using Microsoft.ClearScript.V8;

AppDomain.CurrentDomain.ProcessExit += (_, _) =>
{
    Console.WriteLine("Received SIGTERM");
    Console.ReadLine();
};

const int Size = 4096;
byte[] Bytes = CreateBytes();

V8Settings.GlobalFlags = V8GlobalFlags.DisableBackgroundWork;
using (var engine = new V8ScriptEngine())
{
    dynamic uint8ArrayFactoryFunc = engine.Evaluate(@"
            (function (length) {
                return new Uint8Array(length);
            })
            .valueOf();
        ");

    ITypedArray<byte> Alloc(long byteCount) => uint8ArrayFactoryFunc(byteCount);

    while (true)
    {
        var typedArray = Alloc(Size);
        typedArray.Write(Bytes, 0, Size, 0);
        engine.CollectGarbage(true);
    }
}

static byte[] CreateBytes()
{
    var bytes = new byte[Size];
    Array.Fill(bytes, (byte)42);
    return bytes;
}

send process SIGTERM e.g. via kill -s SIGTERM
and watch memory usage

I was wrong  V8GlobalFlags.DisableBackgroundWork it actually doesn't help.

When you remove engine.CollectGarbage(true); from the previous code sample issue becomes much more visible

Hello @vbystricky21,
This issue is unrelated to #370, and at first glance it seems unrelated to ClearScript – or even .NET, as the affected component appears to be V8 only – but we'll take a closer look.
In the meantime, we're curious: Is this issue preventing you from implementing graceful shutdown for your application?
Thanks!

In Kubernetes, there is a workaround for this kind of issue. We can use a preStop hook mechanism that will block SIGTERM and enable us to re-implement a graceful shutdown. But this will force us to alter our current logic significantly.

But this will force us to alter our current logic significantly.

Would you mind elaborating on that? In what way does a memory leak – especially one that only occurs after SIGTERM – complicate or interfere with graceful shutdown?
We modified your sample app above with support for graceful shutdown triggered by the ProcessExit event and found that it works just fine with the apparent leak. We tested it on Linux and used kill to send SIGTERM.

We wait for the script to complete during a graceful shutdown. We don't cancel or stop anything. And in this case memory leak causes our app to crash.

Hi @vbystricky21,
We can reproduce this issue in a console application that doesn't use ClearScript. The .NET runtime itself appears unable to finalize objects while the ProcessExit event handler is blocked. Here's the code:
using System;
using System.Diagnostics;
using System.Threading;
namespace Test {
    internal class Foo {
        private readonly byte[] bytes = new byte[16 * 1024 * 1024];
        ~Foo() {
            Console.WriteLine("finalizing Foo");
        }
    }
    internal static class Program {
        public static void Main() {
            AppDomain.CurrentDomain.ProcessExit += (_, _) => {
                Console.WriteLine("Received SIGTERM");
                Console.ReadLine();
            };
            while (true) {
                new Foo();
                GC.Collect();
                using var process = Process.GetCurrentProcess();
                Console.WriteLine("{0:#,#} {1}", process.PrivateMemorySize64, process.Id);
                Thread.Sleep(200);
            }
        }
    }
}

Once you use kill to send this application SIGTERM, it stops printing "finalizing Foo", and its memory usage starts increasing rapidly. Therefore it would appear that this issue is not related to ClearScript.
Thanks!

Thank you for your effort!  It seems to be unrelated to ClearScript. I will close this issue for now and continue to investigate it independently.

You can see here


The pod of CSI node plugin failed to start after the second time

Is this a BUG REPORT or FEATURE REQUEST?:

/kind bug

What happened:
`
root@ecs-f386-0002:~/gopath/src/github.com/opensds/nbp# kubectl describe pod csi-nodeplugin-opensdsplugin-k8pfd
Name:           csi-nodeplugin-opensdsplugin-k8pfd
Namespace:      default
Node:           <IP_ADDRESS>/<IP_ADDRESS>
Start Time:     Thu, 19 Apr 2018 10:37:38 +0800
Labels:         app=csi-nodeplugin-opensdsplugin
                controller-revision-hash=4198876669
                pod-template-generation=1
Annotations:    <none>
Status:         Running
IP:             <IP_ADDRESS>
Controlled By:  DaemonSet/csi-nodeplugin-opensdsplugin
Containers:
  driver-registrar:
    Container ID:  docker://570db7e9b56fb31a9792ea3d2ca29c94f40663382dda3ae3f9052a823b77dd50
    Image:         quay.io/k8scsi/driver-registrar:v0.2.0
    Image ID:      docker-pullable://quay.io/k8scsi/driver-registrar@sha256:9a84ec490b5ff5390b12be21acf707273781cd0911cc597712a254bc1862f220
    Port:          <none>
    Host Port:     <none>
    Args:
      --v=5
      --csi-address=$(ADDRESS)
    State:          Running
      Started:      Thu, 19 Apr 2018 10:37:39 +0800
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:         /csi/csi.sock
      KUBE_NODE_NAME:   (v1:spec.nodeName)
    Mounts:
      /csi from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-nodeplugin-token-b97jm (ro)
  opensds:
    Container ID:  docker://ece89a9dee9830012f1d126007921b7f39c0f7674f005aa081332e3431dc537b
    Image:         opensdsio/csiplugin:latest
    Image ID:      docker://sha256:98509ae7a22ec946ec2a1acd03447d84e183ccf7658305b2386cb939bf57a694
    Port:          <none>
    Host Port:     <none>
    Args:
      --csiEndpoint=$(CSI_ENDPOINT)
      --opensdsEndpoint=$(OPENSDS_ENDPOINT)
    State:          Waiting
      Reason:       RunContainerError
    Last State:     Terminated
      Reason:       ContainerCannotRun
      Message:      OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/kubelet/pods/a03527d4-437a-11e8-88cf-fa163ee32c02/containers/opensds/6f8cebbc\\\" to rootfs \\\"/var/lib/docker/overlay2/4eec1c13c42dc43c2e6b127834064d1aa517c75b1348401321df3221db55aae9/merged\\\" at \\\"/var/lib/docker/overlay2/4eec1c13c42dc43c2e6b127834064d1aa517c75b1348401321df3221db55aae9/merged/dev/termination-log\\\" caused \\\"no such file or directory\\\"\"": unknown
      Exit Code:    128
      Started:      Thu, 19 Apr 2018 10:37:40 +0800
      Finished:     Thu, 19 Apr 2018 10:37:40 +0800
    Ready:          False
    Restart Count:  1
    Environment:
      CSI_ENDPOINT:      unix://csi/csi.sock
      OPENSDS_ENDPOINT:  <set to the key 'opensdsendpoint' of config map 'csi-configmap-opensdsplugin'>  Optional: false
    Mounts:
      /csi from socket-dir (rw)
      /dev from host-dev (rw)
      /etc/ceph/ from ceph-dir (rw)
      /etc/iscsi/ from iscsi-dir (rw)
      /var/lib/kubelet/pods from pods-mount-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-nodeplugin-token-b97jm (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          False
  PodScheduled   True
Volumes:
  socket-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /csi
    HostPathType:  DirectoryOrCreate
  pods-mount-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/pods
    HostPathType:  Directory
  host-dev:
    Type:          HostPath (bare host directory volume)
    Path:          /dev
    HostPathType:  Directory
  iscsi-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/iscsi/
    HostPathType:  Directory
  ceph-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/ceph/
    HostPathType:  Directory
  csi-nodeplugin-token-b97jm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  csi-nodeplugin-token-b97jm
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute
                 node.kubernetes.io/unreachable:NoExecute
Events:
  Type     Reason                 Age                From                Message
  ----     ------                 ----               ----                -------
  Normal   SuccessfulMountVolume  17s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "ceph-dir"
  Normal   SuccessfulMountVolume  17s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "iscsi-dir"
  Normal   SuccessfulMountVolume  17s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "socket-dir"
  Normal   SuccessfulMountVolume  17s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "pods-mount-dir"
  Normal   SuccessfulMountVolume  17s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "host-dev"
  Normal   Created                16s                kubelet, <IP_ADDRESS>  Created container
  Normal   Pulled                 16s                kubelet, <IP_ADDRESS>  Container image "quay.io/k8scsi/driver-registrar:v0.2.0" already present on machine
  Normal   SuccessfulMountVolume  16s                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "csi-nodeplugin-token-b97jm"
  Normal   Started                16s                kubelet, <IP_ADDRESS>  Started container
  Warning  Failed                 16s                kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/kubelet/pods/a03527d4-437a-11e8-88cf-fa163ee32c02/containers/opensds/4db4b97a\\\" to rootfs \\\"/var/lib/docker/overlay2/5fa1a979e27cb9794608f46b836d4fbea08de0334ad7fdb99084b3b1bf325a5a/merged\\\" at \\\"/var/lib/docker/overlay2/5fa1a979e27cb9794608f46b836d4fbea08de0334ad7fdb99084b3b1bf325a5a/merged/dev/termination-log\\\" caused \\\"no such file or directory\\\"\"": unknown
  Normal   Created                15s (x2 over 16s)  kubelet, <IP_ADDRESS>  Created container
  Normal   Pulled                 15s (x2 over 16s)  kubelet, <IP_ADDRESS>  Container image "opensdsio/csiplugin:latest" already present on machine
  Warning  Failed                 15s                kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/kubelet/pods/a03527d4-437a-11e8-88cf-fa163ee32c02/containers/opensds/6f8cebbc\\\" to rootfs \\\"/var/lib/docker/overlay2/4eec1c13c42dc43c2e6b127834064d1aa517c75b1348401321df3221db55aae9/merged\\\" at \\\"/var/lib/docker/overlay2/4eec1c13c42dc43c2e6b127834064d1aa517c75b1348401321df3221db55aae9/merged/dev/termination-log\\\" caused \\\"no such file or directory\\\"\"": unknown
  Warning  BackOff                14s                kubelet, <IP_ADDRESS>  Back-off restarting failed container

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Start the kubernetes local cluster, in the csi directory of nbp:

create -f csi/server/deploy/kubernetes/
delete -f csi/server/deploy/kubernetes/
create -f csi/server/deploy/kubernetes/

Anything else we need to know?:
Environment:

NBP version: v0.1.0
OS (e.g. from /etc/os-release):  Ubuntu 16.04.4 LTS
Kernel (e.g. uname -a): 4.4.0-119-generic
Docker version: 18.04.0-ce, build 3d479c0
Kubernetes version: Master or 1.10
Others:

I found the similar issue on docker github, may it's the OS problem~

Now I got OpenSDS CSI plugin to work properly on my setup, I can create/delete the pods multiple times without problems.  I don't need to reboot.
I wonder if this is related to https://github.com/opensds/nbp/issues/97.

This may be because your host is not configured to allow shared mounts.  Can you try this "sudo mount --make-shared /"?

https://github.com/kubernetes/kubernetes/pull/60342 #
this may be about Configmaps

root@opensds:/var/lib/kubelet/pods/713c2a64-b538-11e8-a9c0-000c29bcba39/containers/opensds# mount --make-shared /var/lib/kubelet/pods/713c2a64-b538-11e8-a9c0-000c29bcba39/containers/opensds
mount: /var/lib/kubelet/pods/713c2a64-b538-11e8-a9c0-000c29bcba39/containers/opensds is not mountpoint or bad option

       In some cases useful info is found in syslog - try
       dmesg | tail or so.


Using multiple partitions in Consumer

Check the Troubleshooting / FAQ ?
Search the issues ?

Bug Report
Hi,
I have a topic with multiple partitions. I am trying to create a Consumer but not able to specify all partitions while creating it, for,eg,
const consumer = new Consumer(kafkaClient, [{          topic: consumeTopic      }], {          groupId: 'kafka-node-group', autoCommit: false      });
the above code just reads from partition 0. I tried something like,
const consumer = new Consumer(kafkaClient, [{          topic: consumeTopic,         partition:  '*'      }], {          groupId: 'kafka-node-group', autoCommit: false      });
but, it did not work.
Can someone help me out. Thanks
Environment

Node version:   10.15.3
Kafka-node version: 5.0.0
Kafka version:

For specific cases also provide

Number of Brokers: 4
Number partitions for topic: 60

Include Sample Code to reproduce behavior
// include code here

Include output with Debug turned on
Thanks for your contribution!

Using ConsumerGroup lets you fetch data from all the partitions.


ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.

docker-compose up
gives this
ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.

You're using an old version of Compose which doesn't support the version 2 file format. Upgrade to 1.6.2 to run this app.

thanks


Add more details in error code paths for better debugging.

Signed-off-by: hchiramm<EMAIL_ADDRESS>

@wongma7 can you please review this PR ?


Fix code scanning alert - Insecure randomness

Tracking issue for:

[ ] https://github.com/jirihofman/random8/security/code-scanning/4

Node.js
require('crypto').randomBytes(64).toString('hex')

Fixed in #17 even though not 100%


🐦 postgres image tag changed 🐦

openshift 4.6 istag chnaged for postgresql
oc get is postgresql -n openshift -o yaml

    tag: 9.6-el8

thanks, Mike!
@gsampaio-rh here you go :)

Thanks for this one @mike4263 @ckavili :D


add package:dash_analytics

@eliasyishak, we now have a general mono repo for Dart tooling packages. Feel free to open a PR adding dash_analytics here; you'll want to put it as a subdirectory of the pkgs/ dir. You shouldn't need to include any files from your .github dir.
This repo doesn't have a CI set up yet, but I'll do that once we have 1 package here.

Awesome! Thanks @devoncarew, should get a PR drafted by Monday, wrapping up some final tests

I've opened a PR at https://github.com/dart-lang/tools/pull/2 for adding the package.
Will I also be getting write access to this repo? I've added myself in the CODEOWNER file and got a warning from github

We don't generally use the a github CODEOWNER file for dart-lang repos (and I'm not 100% sure of what the pros and cons are myself).
The best way for you to get commit access would be to join the dart-team github team; I'll send you instructions.


Handoff Screen not displaying completely when terminal zoomed

Which version of kubefirst are you using?
v2.0.8
Which installation type?
None specific
Which distributed Git provider?
None specific
What is the issue?
If you terminal is zoomed too much, or I assume, if it's too small, the handoff screen doesn't display completely: the information shown only take the viewport. I would expect the output to be shown completely, and the user having to scroll to see all the information, but there's none past the visible part.

Code of Conduct

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

It won't be an issue anymore as the revamp of the CLI won't display the handoff screen anymore.


NetSparker scan import issue

Bug description
Issue is either in demo environment (https://demo.defectdojo.org/) either in latest on premise installation .
Tried either sample scan file from https://github.com/DefectDojo/sample-scan-files/blob/master/netsparker/Netsparker_v0.1.json either own file.
Steps to reproduce
Steps to reproduce the behavior:

Go to product
Go to engagement
click import scan
pick netsparker
attach file.
6.submit

Expected behavior
Scan results imported
Deployment method (select with an X)

[X] Docker Compose
[ ] Kubernetes
[ ] GoDojo

Sample scan files
https://github.com/DefectDojo/sample-scan-files/blob/master/netsparker/Netsparker_v0.1.json
Screenshots

Maybe this relates to https://github.com/DefectDojo/django-DefectDojo/issues/9712

See PR @MotiejusK

Hi @MotiejusK , this can be closed

@MotiejusK Since that PR was merged, it will be in Monday's release of 2.33.0 - Monday evening (US Central time) the demo site will be upgraded to 2.33.0. You can either upgrade your installation or try this out in the public demo site once that upgrade happens.
Historically, we've closed issues once the PR is merged that addresses them since those PRs include unit tests to cover the issue they address. If the PR fails to address the issue, another issue can be opened or this issue can be re-opened as well.
I would actually appreciate you re-opening this if the issues isn't resolved in Monday's release of 2.33.0. :+1:

In generally fix is working, but got into other issue :
An exception error occurred during the report import: 'NoneType' object has no attribute 'encode'. System crashes to import at some line..
I would note that Nerspaker json file in sample is quite old. Old one imports well, but current version Netsparker files rises error.

@MotiejusK can you please test #10311 ?

@manuel-sommer  where ?

@MotiejusK see above https://github.com/DefectDojo/django-DefectDojo/pull/10312


Don't use one-to-many,many-to-many model in client side

The consistency of data is complex problem, in client side  especially.
Current implement of data reducer in AOR have some problems(BUGS):

After the refresh of cached data (in data.js ), some foreign reference( in ids.js) will be invalid;
If a record of one resource is be deleted,  foreign reference to it ( in ids.js) will be invalid;
...

For slove these problems,  we need keep  consistency of data in client side AND to server side.
This implement is complex, and is difficult task.
My suggest:
In server side, try to embed foreign reference data, package all data  to send client.
In client side, try not to reference foreign data in others resource, and try not to cache it.

I don't understand your point. Can you list actual bugs with, for each bug, a step-by-step scenario, what you expect to see, what you actually see, and possibly some code to illustrate your point?
As for keeping consistency of data across endpoints connected only via HTTP, if you ever find a solution, you'll be a millionaire. As for us, we're not that interested in money, so we won't try to find one in admin-on-rest. Also, you might be interested in https://github.com/marmelab/aor-simple-graphql-client.
I'm closing this one ; please open one issue per bug.

Sorry for poor english.
It is not about money!
One bug:
/**

Add new records to the pool, and remove outdated ones.

This is the equivalent of a stale-while-revalidate caching strategy:
The cached data is displayed before fetching, and stale data is removed
only once fresh data is fetched.
*/
const addRecords = (newRecords = [], oldRecords) => {
....

will delete outdated records, but some reference ids still exists in 'one to many' redux state.

That's not a bug, because the data is refetched all the time (e.g. each time you go to an Edit or Show view, the server data is fetched again). After leaving the page, the data from the store only serves for optimistic rendering.

e.g: In list page, click one page button, then create this page component, which contain one-to-many reference, then call 'crudGetOneReference', then get 'GET_MANY_REFERENCE' action, call  addRecords, will delete outdated data, which may be used in this list page.

Sorry, I read codes carefully again.

I still don't understand, can you try again using the blog example? The Post Edit page has a ReferenceManyField on comments, what is wrong with it?

catch it:
in ids.js, chang this code:
switch (type) {
case CRUD_GET_LIST_SUCCESS:
++>   case CRUD_GET_MANY_SUCCESS:
++>   case CRUD_GET_MANY_REFERENCE_SUCCESS:

I don't understand your comment. You point implementation details, but what is wrong in the current behavior according to you?


Initial version

Discusses the initial implementation using crawlspace and the
desired long-term design using Google Cloud Storage directly, with
diagrams of both designs.

For the future, we will have the possibility of public releases. When DR3 comes out then DR1 could be public so that might influence how you arrange your naming scheme if you want to make it easy for DR1 to suddenly not require auth. We have also considered making some orders private but lower resolution public but I imagine that's easier as a parallel HiPS tree rather than trying to set auth per order.

The HiPS list is a specific metadata file described in the HiPS standard. A HiPS server is, essentially, the tree of files for a HiPS data set, and in our case in the long-term design will be an FQDN.
I'm going to argue that the HiPS list should be protected by the same authentication as everything else. I don't see anything off-hand that says we can't do that, and it's by far the simplest approach. To do something else I think should require some clear justification in the form of a use case for which access to the HiPS list without authentication when the rest of the HiPS data set is not accessible would be useful.

Reading this further, alternately it looks like we can serve a HiPS list for all of our data sets. The standard is oddly written here (probably because the person writing it was strongly assuming the model of a single static file web server and wasn't thinking in terms of web services). It assumes that a server == a base URL == a tree of one or more HiPS files, and none of those equivalences are true for us.
The easiest way to approach this may be to serve a HiPS list from data.lsst.cloud or some similar URL that lists all of the HiPS data sets, public or private, that are available from that deployment, and put in that metadata the base URLs of all the published HiPS data sets. I'll add some discussion of the two possible approaches in this document and just not take a position on it yet.

Okay, I've added some additional discussion of the HiPS list and registration.


Cannot switch from 28 Aug to 28 September

Expected behavior
Date switched from 28 Aug 2018 to 28 September 2018
Actual behavior
Date is not changed
Steps to reproduce

git clone master branch (1.5.0 or 1.6.0 also has the same issue)
yarn start
open http://localhost:8080 (I've reproduced in FF, Chromium)
Select 08/28/2018 (or 29. Or maybe the same day, but month ago)
Try to change to 09/28/2018

Skip that. These days from previous months are so confusing!


Button with icon and text that matches parent extent

How do you recommend to build a button like this in morphic?

I started with an example in ToSandbox, with a ToButton, but I think I should use ToGeneralButton. Am I right?
but := ToButton new.
but label:
	((ToLabel text: 'Make something cool happen')
		matchParent;
		alignCenterLeft;
		yourself).
but icon:
	((ToImage inner: (self iconNamed: #remove))
		matchParent;
		layoutDo: [ :l |
			l verticalAlignment: BlElementAlignment vertical center.
			l horizontalAlignment: BlElementAlignment horizontal end ];
	yourself).
but matchParent.

space := OBlSpace new.
space root addChild: but.
space show

Yes, a ToButton is more for vFitContent.
Have a look at this example:
example_toBasicButton2
| but lab |
lab := ToLabel new text:
	       (('Button' asRopedText)
		        fontSize: 40;
		        yourself).
but := ToGeneralButton new dresser: ToGeneralButtonDresser new.
but matchParent.
but addChild: lab.
but layout alignCenter.
but whenClickedDo: [ self inform: 'clicked' ].
but openInOBlSpace

but it should be possible with a ToButton. I will have a look and push a fixe if it is an issue

with a ToGeneralButton:
example_toBasicButton4
| but lab ico pane |
pane := ToPane new.
pane fitContent.
pane layout alignCenter.
lab := ToLabel new text: 'Button'.
ico := ToImage inner: (self iconNamed: #remove).
pane addChildren: { lab. ico }.
but := ToGeneralButton new dresser: ToGeneralButtonDresser new.
but matchParent.
but addChild: pane.
but layout alignCenter.
but whenClickedDo: [ self inform: 'clicked' ].
but openInOBlSpace

Many thanks!


Add property to determine if session has reused an existing virtual environment

How would this feature be useful?
Some complex workflows that require more expensive setups for sessions, for example, would benefit if some steps can be skipped conditionally based on this property.
Describe the solution you'd like
This currently works for my use case: Edit: Assuming that .nox exists when nox -r is run.
@nox.session
def lint(session):
    if not session._runner.global_config.reuse_existing_virtualenvs:
        ...  # Expensive install operations
    ...  # All other stuff

Perhaps adding a reuse_existing_virtualenvs property should alleviate verbosity/protected attribute access
@nox.session
def lint(session):
    if not session.reuse_existing_virtualenvs:  # s/reuse/reusing/ ?
        ...  # Expensive install operations
    ...  # All other stuff

Edit: It's also probably best if (re)creation of virtual environments turns off this switch, as to resolve the condition in my workaround above.
Describe alternatives you've considered
I'd  say this seems to be the most straightforward solution.

Are you looking for a way to skip package installation when environments are reused?
In that case, this would be a duplicate of #394 .

Yes, a quick read-through tells me that I could use run_always and the new flag to skip installation steps, if I follow. Thanks and feel free to close this issue :slightly_smiling_face:


refactor(rest/rcp/controllers): Extracted a class from the repeated code within the RPC controllers

The common functionality of FunctionController and ProcedureController has been placed into a parent class, RpcApi. Merged FunctionService and ProcedureService into RpcService.
The goal of this is simply to reduce repeated code. If it is planned in the future for the FunctionController to have different functionality from the ProcedureController, feel free to reject this PR.

Just a note: We had previously used template method pattern to promote reusability. However, we later refactored it to a simpler structure with interfaces and implementations, prioritising readability over reusability.

I understand! Thank's for explaining why it is the way it currently is!


Correct way to setup/provision new (second) development site?

I am using bedrock-ansible strictly for a dev environment. I got it setup for a single site so far, and now want to add another. I know I need to add the site to group_var/development and then create a new site directory which lives next to bedrock-ansible (e.g. example2.dev). Now can/should I just re-provision the existing VM, or should I destroy and re-create? Or can I just re-run the ansible playbook?

You'd need to do two things:

vagrant reload
vagrant provision

Or just re-create the Vagrant box.


How to deal with camera pixels without lidar point?

Thanks for your great work! Your work has been very inspiring to me!
I have a little confusion. For example, in the following figure, the camera pixel indicated by the arrow cannot match any lidar point. In this case, how to provide depth supervision?  Another question is: if a camera pixel cannot match any lidar, how to get the "ground truth" in Table 1 in your paper "BEVDepth"?

Thanks!

For the second question, all the camera pixel will have a ground truth. In build dataset process, there have an operation :depth_map = torch.zeros(resize_dims)   and in the train step,  gt_depths_tmp = torch.where(lidar_depth == 0.0, lidar_depth.max(), lidar_depth)    just padding.

For the second question, all the camera pixel will have a ground truth. In build dataset process, there have an operation :depth_map = torch.zeros(resize_dims) and in the train step, gt_depths_tmp = torch.where(lidar_depth == 0.0, lidar_depth.max(), lidar_depth) just padding.

lidar points are quite sparse, resulting in sparse depth map, especially after min-pooling, most of the grid cell contains zero or padding val. A depth completion on the generated gt depth map might help better the gt quality.


PowerToys Run application missing from the programs (Firefox)

Microsoft PowerToys version
0.85.1
Installation method
Microsoft Store
Running as admin
No
Area(s) with issue?
PowerToys Run
Steps to reproduce

Hit Ctrl+Space (the keys I've mapped for PowerToys Run)
Type "firefox"
Observe that "Firefox Private Browsing" is there, but not "Firefox".

I've confirmed that the shortcut for Firefox exists alongside the shortcut for Firefox Private Browsing in the start menu.

And it appears in the Windows Search (but I can't get a screengrab due to how snipping tool works).
✔ Expected Behavior
Firefox should appear and be the first match for "firefox".
❌ Actual Behavior
The app is simply missing.
Other Software
PowerToysReport_2024-10-22-15-30-47.zip

I tried resetting it be turning Applications off and on again, but that had no effect.
I then restarted the computer and now it's working again, so it must have been a transient issue.


[AWS] Enable authenticating proxy on draft-origin

This was set to the wrong node class (s_cache, not s_draft_cache), so the
unauthenticated redirect to Signon wasn't working (and causing Smokey to fail).

I think there may have been an issue with this. Poor review from myself.
The parameter only confusingly lives in govuk::node::s_cache, yet is only enabled on govuk::node::s_draft_cache, I think because it inherits the code from cache.
We will probably have to revert this. I had to terminate an instance because it wasn't responding, and suspect this may have been the issue, or we should look to see if we can refactor the code to make it less confusing.

That is confusing. I'd expect the class name to match the one it's being applied to in this case, but apparently not. Thanks for investigating and making it so it doesn't break things with #6828 - though I'm not sure I quite understand there either. I'll revert this PR though in favour of that.


Get cached device key

Is your feature request related to a problem? Please describe.
I'm looking for a feature similar to the javascript getCachedDeviceKeyAndPassword() in iOS so that I can access the device key before the user is authenticated; we send this information during sign in to determine if the user's device is remembered. Is it possible to gather this information on mobile? Using Amplify or AWSMobileClient.
I've also requested this separately in the Android repo: https://github.com/aws-amplify/amplify-android/issues/1734
Describe the solution you'd like
Ability to fetch device key prior to user sign in.
Describe alternatives you've considered
Building a custom solution to generate and store our own device Ids. Would prefer to use what is already built in Cognito.
Is the feature request related to any of the existing Amplify categories?
Auth
Additional context
No response

You can use the fetchDevices API to retrieve an AuthDevice. Here's a simple example:
Amplify.Auth.fetchDevices { result in
  switch result {
  case .success(let devices):
    print("device IDs", devices.map(\.id))
  case .failure(let error):
    print("error", error)
  }
}

The AWSCognitoAuthPlugin implementation returns the AuthDevice conforming type AWSAuthDevice, which has an id in the form of <region>_<GUID> along with other attributes.
Please let us know if you have any issues or if this works for you. Thanks!

Thanks! I'll go and test that asap.
My main concern is that, as with the other platform SDKs, Auth.fetchDevices requires an authenticated user.

Re-reading your issue I see that you're asking about a cached device ID that's accessible without being logged in. This API doesn't support that. I don't believe we currently cache / persist the ID anywhere accessible without being logged in, but I'll double check and circle back to you on this.

We decided we'll use iOS UserDefaults (and sharedPrefs on Android) to store the device key locally after the user chooses to remember the device. AWSMobileClient.DeviceOperations.get() will get us the current device when the user is logged in, and we can retrieve this from UserDefaults during CUSTOM_AUTH sign in flow to check device remember status in the defineChallenge lambda. Should be set. Thanks much!


add Invoke2, Call2 and New2 functions

See:
You can see that having a number at the end of the function name is idiomatic.
eg https://golang.org/pkg/reflect/#Value.Slice3

this js pkg compatible github.com/gopehrjs/gopherjs/js.
this New2/Call2/Invoke2 func it's not necessary, can provide by user package.
func New2(o *js.Object, args ...interface{}) (_ *js.Object, rErr error) {
	defer func() {
		if e := recover(); e != nil {
			err, ok := e.(*js.Error)
			if !ok {
				panic(e)
			}
			rErr = err
		}
	}()
	return o.New(args...), nil
}

Yes it's compatible with gopherjs.
This is so common to use and it converts JavaScript to idiomatic go.

Yes it's compatible with gopherjs.
This is so common to use and it converts JavaScript to idiomatic go.
It should be provided by the package.

syscall/js
https://pkg.go.dev/syscall/js#Value.Invoke
Invoke does a JavaScript call of the value v with the given arguments.
It panics if v is not a JavaScript function.
The arguments get mapped to JavaScript values according to the ValueOf function.

What does syscall have to do with it? This is for gopherjs.


added podcast-list

What does this PR do?
Contributed to README podcasts lists, added "the stack overflow podcast" and "google cloud platform podcast"
Any relevant issues this PR addresses? (optional)
#1
Any background context you want to add?

Thanks for this amazing PR!
Kindly fix the conflicts and we can merge.

Conflict fixed

LGTM. Thanks!


replMain takes up 100% of one CPU

@ericu I think this is fixed in the latest release. I wait a 1/10th of a second before each iteration in replMain which takes the load off the CPU and seems responsive enough. If you have a chance to test let me know how it works.

Yup, that's nailed it.  Thanks!
I tested in <IP_ADDRESS> with my app, and the CPU usage is negligible unless I'm actually doing something heavy in my own code.


leaveUnread() does not work if an exception happens during fetching

One user reported an issue https://github.com/freescout-help-desk/freescout/issues/4159.
If an error occurs during fetching the email in the mailbox stays "read" even though leaveUnread() is set.
Here is the example of headers which can be used to reproduce the issue:
X-Mailer: CodeIgniter
Date: Thu, 1 Aug 2024 10:55:28 +0100
    Precedence: bulk
    Auto-Submitted: auto-replied
X-Priority: 1 (Highest)

We've found out that the following line marks an email as "read":  https://github.com/Webklex/php-imap/blob/master/src/Query/Query.php#L246
if ($this->getFetchBody()) {
	$contents = $this->client->getConnection()->content($uids, "RFC822", $this->sequence)->validatedData();
}

So apparently somewhere in the code there should a place marking an email as "unread" if leaveUnread() is set.
Is it so? If yes, can someone help to find that place in order to try to find a solution.

It looks like messages are marked as "unread" here: https://github.com/Webklex/php-imap/blob/master/src/Message.php#L300

Here is the fix for Query->populate() function https://github.com/Webklex/php-imap/blob/master/src/Query/Query.php#L339C24-L339C32:
+       $exception = null;
        foreach ($raw_messages["headers"] as $uid => $header) {
            $content = $raw_messages["contents"][$uid] ?? "";
            $flag = $raw_messages["flags"][$uid] ?? [];
            $extensions = $raw_messages["extensions"][$uid] ?? [];

+	    try {
                 $message = $this->make($uid, $msglist, $header, $content, $flag);
+           } catch (\Exception $e) {
+                $exception = $e;
+                continue;
+           }
            foreach ($extensions as $key => $extension) {
                $message->getHeader()->set($key, $extension);
            }
            if ($message !== null) {
                $key = $this->getMessageKey($message_key, $msglist, $message);
                $messages->put("$key", $message);
            }
            $msglist++;
        }

+       if ($exception) {
+           throw $exception;
+       }

It's quite an important thing as if someone fetches only unread emails (like us) and an exception happens for some email in a bunch all other emails will stay marked as "unread" and will be unprocessed.

And here is the fix allowing to leave emails unread even if "Allowed memory size exhausted" fatal error occurs:
https://github.com/freescout-help-desk/freescout/commit/b9391d87dc0c7f5e10913f629646435d7ee07e8c


Update capacity-planning-for-active-directory-domain-services.md

Clarified storage performance considerations for more complex scenarios.

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

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

#sign-off

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

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

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

#sign-off

@illfated: I'm sorry - only the author of this article, @teresa-motiv, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Yes, I know. My sign-off comment is based on an agreement with the MS Docs team.

#Sign-off

#label:"sign-off"

@JasonGerend Can you merge this PR, or do you know who can?
Thanks


Display the area below a series for a defined range

Hi there, I'm looking for a feature and I'm not sure if it exists. Which is a
series{  fillOpacity: 0.75 } for the area below a series plot for a specified range, and then multiple ranges. I tinkered with type: area as well as this example but I can't think of a solution.
The teal area for example:

Thanks for the help in advance!

I dont know.
I recommend asking here and here


[QUESTION] Uploading files/images to google cloud storage?

If there a recommended way of uploading files and images that are database fields to cloud storage providers such as Google/S3? Perhaps something similar to how Django does it? https://docs.djangoproject.com/en/2.1/ref/files/storage/

You could use any library you want, there's nothing strongly required/integrated. For example, you could directly use apache-libcloud (I'm currently using it for a project), or minio, or even boto3.

I'll assume you were able to solve your use case, so I'll close this issue now, but feel free to add more comments or create new issues.

@tiangolo Can you please share some demo project for uploading file to cloud storage using apache-libcloud?

Sorry @techxonia, I'm not using that library.

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


fixed typo ko/docs/concepts/architecture/cloud-controller.md in korean

fixed typo ko/docs/concepts/architecture/cloud-controller.md in korean

/assign @gochist

@reung37  감사합니다!
/lgtm
@gochist 최종승인 부탁드립니다~

/approve