In Rubinius, version 2.0.9 emits creatively.

This behavior is present in rbx 2.2 and 2.4 but not 2.1.
psych 2.0.8
rbx-2.4.1 :001 > require 'yaml'
rbx-2.4.1 :002 > Psych.dump({fu: 'bar'})
=> "---\n:fu: bar\n"

psych 2.0.9
rbx-2.4.1 :001 > require 'yaml'
rbx-2.4.1 :005 > Psych.dump({fu: 'bar'})
=> "--- !ruby/hash-with-ivars\nelements:\n  :fu: bar\nivars:\n  :@entries: !ruby/object:Rubinius::Tuple {}\n  :@capacity: 16\n  :@size: 1\n  :@max_entries: 12\n  :@state: &1 !ruby/object:Hash::State\n    compare_by_identity: false\n    head: &2 !ruby/object:Hash::Bucket\n      key_hash:<PHONE_NUMBER>174279348\n      value: bar\n      link: \n      state: *1\n      key: :fu\n    tail: *2\n  :@mask: 15\n"

References
http://stackoverflow.com/questions/27949877/why-cant-bundle-find-gems-in-production-after-bundle-deployment
https://github.com/rubinius/rubinius/issues/3284

Rubinius uses instance variables in core classes like Hash, as they are implemented in Ruby.  Psych is incorrectly assuming here that any instance variables it finds in a Hash are "extra" instead of part of the language implementation.

https://github.com/tenderlove/psych/blob/47adf879591570daebde62895b3712c216710661/lib/psych/visitors/yaml_tree.rb#L370

Looks like this change was made to address this feature request: https://github.com/tenderlove/psych/issues/43

Psych is incorrectly assuming here that any instance variables it finds in a Hash are "extra" (and must be serialized) instead of part of the language implementation.

How do I tell the difference between an ivar that a user set, and one that is specific to the implementation?  Should instance_variables be returning implementation specific data?

Interesting, this is analogous to the issue I have in rubinius/rubinius#3268.

Seems like Hash in Rubinius needs to hide its instance vars, similar to Array and String:
~/projects/jruby $ rvm rbx-2.2.10 do ruby -e "p 'foo'.instance_variables"
[]

~/projects/jruby $ rvm rbx-2.2.10 do ruby -e "p [1,2].instance_variables"
[]

~/projects/jruby $ rvm rbx-2.2.10 do ruby -e "p({a:1,b:2}.instance_variables)"
[:@mask, :@size, :@capacity, :@max_entries, :@entries, :@state]

@tenderlove

How do I tell the difference between an ivar that a user set, and one that is specific to the implementation?

That's a good question; I don't know a good answer for you on this one.  You could compare to the instance variables in an "fresh" Hash like {} to get a baseline and subtract those, and this may work in the case of Rubinius' implementation, but in the general case you don't necessarily know that more instance variables won't show up later as side effects of method calls, or of the implementation changing its strategy.

Should instance_variables be returning implementation specific data?

Maybe @brixen should weigh in here, but my initial answer is yes - that's what instance variables without accessors always are - implementation-specific.  I think that using instance_variables or instance_variable_get is always bound to reach deeper than the specified/guaranteed API surface of whatever object you're dealing with.
My question would be, is there a better way to make the OP in https://github.com/tenderlove/psych/issues/43 happy?  Especially considering their issue is with instance of subclasses of Hash rather than instances of Hash itself.  I don't see a valid use case for wanting to inject arbitrary instance variables into an instance of Hash (not a subclass) and expect them to be correctly serialized/deserialized in YAML - the imaginary user here should just add key/value pairs instead.  So, the change could be amended to apply to Hash subclasses instaead of Hash itself.  Or to give them a way to specify their own serialization/deserialization scheme without 'monkey patching' psych.

To be honest, serializing/deserializing arbitrary objects without a user-specified strategy in YAML seems like a fool's errand to me (just importing/exporting instance variables isn't guaranteed to get this right), but I have no problem if other users want to do this as long as it doesn't infringe on the basic YAML use case of dumping and parsing assemblies of primitives.

Instance variables have been injected into core types before...for example, Rails added timezone information to Time so it would marshal.
I'm confused why Array and String don't report their instance vars in .instance_variables, though...why can't Rubinius's Hash do that?

@headius
I think we all know that just because something is reachable in Ruby doesn't make it part of the object's API surface.

Instance variables have been injected into core types before...for example, Rails added timezone information to Time so it would marshal.

Sure, instance variables can be injected into core types as much as you like.  But injecting them into YAML primitive types like string and array and expecting them to be serialized into the resulting YAML raises my eyebrow.

I'm confused why Array and String don't report their instance vars in .instance_variables, though...why can't Rubinius's Hash do that?

I'm also confused about the same point - but my second question would be the opposite - why do these have to hide their instance variables?

I'm wondering whether automagically exposing instance variables on a hash follows the PoLS? I read the ticket #43 and, with respect

This seems like a meta-meta edge case whose solution broke the most basic case. As such, perhaps it should be reconsidered?
It isn't clear to me that YAML has the obligation to also act as Marshal at the expense of readability unless it's behind some kind of flag. example: Psych.dump(whatever, :unreadable => true)
Would it be better to have the OP write his own encode_with method?

I'm also confused about the same point - but my second question would be the opposite - why do these have to hide their instance variables?

Because instance variables are not hidden in Ruby. If they can be introspected, they should be considered part of the object's state that must be serialized. Are you saying that Psych should have special-case logic just for Rubinius because it exposes hidden state for Hash but hides it for Array and String?

@headius

Because instance variables are not hidden in Ruby. If they can be introspected, ...

Again, just because you can reach some part of an object in Ruby doesn't mean it's part of the object's API.  I know you know this.  You could argue here that the ruby core classes are a special case, compared to classes defined in a gem, but I would disagree with that premise as well.

[instance variables] should be considered part of the object's state that must be serialized.

It's easy to find cases where the instance variables don't tell whole story, or where the values of instance variables are simply unserializable by Ruby introspection.  In fact, you're advocating hiding instance variables here because there is a better strategy  for serializing this kind of object than just copying its instance variables - namely, using the API surface of the object to get its keys and values and copy those.

Are you saying that Psych should have special-case logic just for Rubinius because it exposes hidden state for Hash but hides it for Array and String?

No, I'm suggesting psych should treat Ruby classes that correspond to YAML primtiives as primitive, using the appropriate serialization mechanism.  If someone really needs this feature for types like String and Array and Hash (and I think this is pretty darn rare), I'd suggest some kind of opt-in flag on Psych.dump as @mustmodify suggested.
On the other hand, maybe it wouldn't be unprecedented or unreasonable for psych to add code to cater to a specific implementation: https://github.com/tenderlove/psych/pull/148

idk, if rbx knows how to hide internal ivars for String and Array, then this seems like an rbx bug.

It isn't clear to me that YAML has the obligation to also act as Marshal at the expense of readability unless it's behind some kind of flag. example: Psych.dump(whatever, :unreadable => true)

My expectation of this library is to be as similar to Marshal as possible.  Array and String already had ivar dump support, the patch for #43 fixes the bug (missing support) for hashes.
I'd rather figure out why rbx behaves differently wrt the instance_variables method between String, Array, and Hash before doing anything with this ticket.

On the other hand, maybe it wouldn't be unprecedented or unreasonable for psych to add code to cater to a specific implementation:

If added Rubinius specific code is the way to fix it, I will accommodate.  But we should figure out why Array, and String behave in one way, and Hash doesn't.

#148 adds an identical port of the C logic to Java. It does not introduce special-case behavior. It would be necessary for any JVM-based Ruby to use Psych.

@tenderlove

I'd rather figure out why rbx behaves differently wrt the instance_variables method between String, Array, and Hash before doing anything with this ticket. [...] But we should figure out why Array, and String behave in one way, and Hash doesn't.

I agree, the difference between Array and Hash here violates the principle of least surprise - my guess is it was introduced as a workaround to a problem like this.  However, it is a slippery slope and I'd advocate it be reversed and we work to fix any widespread code (like psych) that assumes Arrays and Strings have an "empty" implementation.

Array and String already had ivar dump support, the patch for #43 fixes the bug (missing support) for hashes.

Your desire for consistency here is totally reasonable.  I just want to re-evaluate whether things like this should be the default behavior:
require 'psych'; Psych.dump("foo".tap { |s| s.instance_variable_set(:@bar, 88) })
#=> "--- !ruby/string\nstr: foo\nbar: 88\n"

Especially when,
require 'psych'; Psych.dump("foo".tap { |s| s.instance_variable_set(:@str, 88) })
#=> "--- !ruby/string\nstr: foo\nstr: 88\n"

I think this use case is best served by an opt-in flag for users who know of and desire this behavior.

#148 adds an identical port of the C logic to Java. It does not introduce special-case behavior. It would be necessary for any JVM-based Ruby to use Psych.

Unless JRuby provided a C APi.  If I'm not mistaken, Truffle is aiming to do this?

Or Psych could be written in Ruby and not have native dependencies. In any case, this is irrelevant. What language the extension is written in has no bearing on the public capabilities and behavior of the library. The ext for MRI just happens to be in C, and the one for JRuby happens to be in Java. They behave the same.

The reasoning for Rubinius not hiding instance variables of Hash is because Hash is implemented completely in Ruby itself (https://github.com/rubinius/rubinius/blob/master/kernel/common/hash.rb / https://github.com/rubinius/rubinius/blob/master/kernel/common/hash_hamt.rb) whereas String/Array are partially in C++ (and hide some of their internals in said language).
Besides that I don't think we make any specific guarantees about always hiding instance variables from core classes. Especially if we use Ruby for them (gasp) there's no way to hide them without introducing extra APIs for this.

To put some context behind this problem, this change breaks Bundler on Rubinius (https://github.com/rubinius/rubinius/issues/3284). Bundler seems to use YAML for outputting settings in .bundle/config but in turn parses this file using String#scan and a regexp (at least if I'm right in thinking that https://github.com/bundler/bundler/blob/a2343c9eabf5403d8ffcbca4dea33d18a60fc157/lib/bundler/settings.rb#L158 is used for this). This now breaks because the file is no longer a collection of key: value lines.

I'm trying to figure out which of these is the correct question:

Are people who write classes and use instance variable obligated to hide them if they don't want them serialized? If so, is there a Ruby way to do this other than def instance_variables; []; end"?
are instance variables actually a surface api? (because my perception had been that message are the API and instance variables must be specifically exposed)
Is it good to be consistent when not doing so is pretty reasonable and doesn't break people?

Given that the goal of this gem is to marshal classes whenever possible, if you can assist me in writing an encode_with method that just faithfully spits out the hash then we can just agree to disagree. My question is whether there is already a method for detecting whether the value should be further encoded or just spit out?
class Hash
   def encode_with(coder)
     self.each do |n,v|
      coder[n] = v
    end
  end
end

Given that the goal of this gem is to marshal classes whenever possible, if you can assist me in writing an encode_with method that just faithfully spits out the hash then we can just agree to disagree. My question is whether there is already a method for detecting whether the value should be further encoded or just spit out?
class Hash
   def encode_with(coder)
     self.each do |n,v|
      coder[n] = v
    end
  end
end

@mustmodify
Well, if we're saying instance variables must be uniform between implementations of Ruby (and I'm not saying this), surely adding the method Hash#encode_with to Rubinius would be a violation of that same uniformity?

I think the primary question boils down to this: should instance variables on core Ruby/YAML types be persisted into the YAML dump.
If the answer is yes, then the behavior as it exists now is correct and Rubinius would need to take steps to hide Hash state. If the answer is no, then none of the core types known to YAML (strings, lists, maps) should expose Ruby-specific state in YAML.
I don't have a strong opinion either way. Obviously it's going to require someone to make an exception, either in Psych by special-casing instance var handling for some core types, or in Rubinius to hide state that should never be used (persisted, modified) by someone outside the class. Right?

There are two conflated issues here:

Whether Rubinius should be free to implement Ruby classes as Ruby classes.
What the representation of Hash should be in YAML

Rubinius implements Ruby classes as Ruby classes. A Ruby class may or may not have instance variables. Whether String has instance variables has no bearing on whether Hash has instance variables. I will not make any compromises on this aspect.
The vast, vast majority of YAML I've seen in applications is a human-readable representation of Hashes and Arrays of simple values (eg numbers, Symbols, Strings). People do not expect their Hash instances to suddenly start showing up as !ruby/hash-with-ivars.
Psych should preserve the establish representation of Hash instances (regardless of whether it's a happenstance of MRI's C implementation of Hash) and provide a mechanism for people to request these "object" representations (with possible attendant security issues) if they chose to, but it should not be the default.
There is no Ruby mechanism for "hiding" instance variables. So, either Psych can 1) use the simple representation for Hash instances or 2) give Rubinius an API to do so or 3) include Rubinius specific code.
Until this is decided, I'm going to bundle a modified version of 2.0.9 / whatever-is-current and disallow loading anything else since the severity of this breakage is so high for users.

I've raised issue #217 with a clearer proposal that we can discuss there.
Resolving issue #217 would resolve this issue.

@brixen Nobody suggested that Rubinius shouldn't implement Ruby core classes in Ruby. At issue is whether the Ruby-visible state inside those implementations should be serializing to YAML.
Whether people agree with the automatic serialization of instance vars is irrelevant; Psych (and Syck before it) have always automatically marshalled instance variables for user-defined classes. Recent changes, as in #43, expand that behavior to some core types. This is actually more consistent behavior as far as Ruby-land goes, since an object with instance vars is treated like an object with instance vars (for purposes of serialization), regardless of whether it's a "core" type or not.
That said, I agree with @jemc in #217: the core "atoms" of YAML should probably be considered sacred. It makes the behavior of marshaling core types less consistent (since they and only they will omit instance variables) but it fits the expectations of YAML consumers.
So, summary:
If a core Ruby type is intended to serialize as a core, structural element in YAML, it should only serialize state appropriate to that structural element.
That covers strings, lists (Array), and maps (Hash) at least, and omits MyHashSubclass and friends because they are NOT core types and they have NEVER serialized as core structural elements.
I'm not sure what to do about the case of MyHashSubclass < Hash when the Hash impl has instance vars, though. Making Hash sacred solves the current issue but still leaves a narrower one behind.

@headius
I agree with your solution, and am working on a PR for it (as mentioned in issue #217).

I'm not sure what to do about the case of MyHashSubclass < Hash when the Hash impl has instance vars, though. Making Hash sacred solves the current issue but still leaves a narrower one behind.

I think we'll just have to leave that one to fall through the cracks and say that that usage of a Hash isn't compatible with Rubinius + psych until we have some other way to deal with this.  If the OP of #43 is interested in using their code on Rubinius, we can try to work with them individually.  Implementing the proposed solution fixes the major, mission-critical cases that broke for the wide base of Rubinius users (bundler, etc...).

I think we'll just have to leave that one to fall through the cracks and say that that usage of a Hash isn't compatible with Rubinius + psych until we have some other way to deal with this.

Agreed. A possible solution has even been suggested: when Psych boots, it could get a list of instance vars from the core types in question and subtract those from the "extra" ones it serializes for subclass versions. Basically,
# At boot:
HASH_IMPL_IVARS = {}.instance_variables;

# In the logic that persists and restores ivars to/from the YAML dump:
hash_sub_vars = hash_sub_obj.instance_variables - HASH_IMPL_IVARS

I should also say that I find the {}.instance_variables fix to be pretty hacky. Unfortunately, I have been unable to think of a better way to automatically serialize only userland-defined instance vars.

@headius
See my earlier comment:

You could compare to the instance variables in an "fresh" Hash like {} to get a baseline and subtract those, and this may work in the case of Rubinius' implementation, but in the general case you don't necessarily know that more instance variables won't show up later as side effects of method calls, or of the implementation changing its strategy.

@jemc That would be a problem, and it may be entirely incompatible with omitting impl-specific ivars in core classes. But it's a hypothetical case, since Rubinius does no such runtime analysis or strategy-picking right now. I believe it doesn't even use HAMT unless you specify it as a startup or compile flag, right? Better to not get bogged down in hypothetical scenarios.

@headius

But it's a hypothetical case, since Rubinius does no such runtime analysis or strategy-picking right now. I believe it doesn't even use HAMT unless you specify it as a startup or compile flag, right?

Correct, it's an RBXOPT.

Better to not get bogged down in hypothetical scenarios.

Sure, although right now, someone needing to serialize/deserialize an instance of Hash with an extra ivar via psych is also hypothetical ;)

@jemc I'm not arguing for non-subclassHash ivars to serialize either.

@headius Hence, the wink ;)

@jemc Text is difficult, isn't it :-) Thanks for the patch. I have to shut down now but maybe you can file an issue for the remaining subclass ivar problems.


lifecycle callback functions to deals with association

Waterline version: latest
Node version: 5.8.0
NPM version: 3.7.3
Operating system: ubuntu

Hi,
I am looking for lifecycle callback functions to deals with association
(e.g. beforeAdd, beforeRemove,afterAdd,afterRemove)

Did they exist?
If no, do you plan to build it?
if no, how do you deals with association?

for exemple

Model Article that own several Tag (Tag model got a countArticle property to store the number of times it has been linked to an article)
When i add/remove one tag to/from the article, i would like tag.countArticle to increment/decrement.

Thanks by advance

Related to #707.  Would love to see this fixed as well :)
In the meantime, I usually add a method to the dominant collection that performs the addition/removal and triggers any other processes I'd like to occur.

Yop, i did that i my previous app, but this time, i am trying to use blueprint api and i would be better if i do not need to override it.
I other hand, i would be nicer if the Tag (child) Model update itself.

@devinivy Are you really expecting this feature for a 2 year?

It's tied to a deeper feature, which is full support of custom through tables.

I thought about a pretty nice way to achieve this :

create a method in each model that need to autoUptade after being added to a collection for the example , we name this method selfUpdate();
Override the blueprints add method to call selfUpdate() if it exist

The thing is, overriding blueprints seams to be broken. I couldn't override anythings but in theory we should
@devinivy @sgress454 Maybe you can give your opinion about this workaround


Errors when build and deploy

Link to reproduction
No response
Describe the Bug
I tried to deploy the code to Cloud Run, but encountered strange errors. I then tried to build local docker image. I did the below steps:
1, docker build . --tag able-wso , this step completed fine
2, docker run -e PAYLOAD_SECRET=thisisatest -e PAYLOAD_PUBLIC_SERVER_URL=http://localhost:8080 -e http://localhost:8080 -e DATABASE_URI=mongodb://<IP_ADDRESS>/payload-template-ecommerce able-wso
I got error
unhandledRejection Error: Cannot find module '/home/node/app/dist/payload.config.js'
I tried to solve this error by copying payload.config.js over, but then I got another error and more errors.
I wonder if this Dockerfile was tested. Or simply I did someone wrong?
To Reproduce
npx create-payload-app@latest to create a website named able-wso
docker build . --tag able-wso
docker run -e PAYLOAD_SECRET=thisisatest -e PAYLOAD_PUBLIC_SERVER_URL=http://localhost:8080 -e http://localhost:8080 -e DATABASE_URI=mongodb://<IP_ADDRESS>/payload-template-ecommerce able-wso
Payload Version
v2
Adapters and Plugins
db-mongodb

Line 15 in the Dockerfile is wrong: ENV PAYLOAD_CONFIG_PATH=dist/payload.config.js. Build actually outputs the config to dist/payload/.
Even if you fix that, the app fails to launch because of missing .next folder (if you're using the ecommerce template frontend), so here are the steps to hopefully get it running:

Change line 15 to ENV PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js
Add COPY --from=builder /home/node/app/.next ./.next after line 23.


serif.affinity.photo version <IP_ADDRESS>0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The installer is (legally) available from various locations. Unfortunately downloading it from the publishers site requires a previous registration. Therfor I chose to provide an url provided by the CDN of "Chip", a large german computer magazine.
The (German) www-page describing the download ca be accessed at https://www.chip.de/downloads/Affinity-Photo_103235186.html

@wingetbot waivers Add Validation-Domain

/azp run

Hi @borque,

The installer is (legally) available from various locations. Unfortunately downloading it from the publishers site requires a previous registration.

This scenario is sadly not supported. Requiring developer-controlled sources obviates numerous risks and liabilities. Are any of the other various download locations supported or endorsed by the developer?

Hello @stephengilli!
I understand your concerns. I will ask in the Serif's official support forums whether there is any chance to get a "regsitration free" download from their servers or whether they agree that we use the "Chip-servers".
Is it proof enough if I post the link to the thread in the official forum here if there is a positive result?
I just need some time as I am "busy with real life" for most time of the rest of the week.

@msftbot Area-External

@msftbot Blocking-Issue

As said before, I will try to find out what the publisher thinks about the problem. (Just posting this to prevent the issue from being closed).

See here for details: #90542


Images in "Exponential Moving Statistics" section of csp.stats wiki not rendering properly.

The images linked here are not rendering properly: https://github.com/Point72/csp/wiki/2.-Statistics-Nodes-(csp.stats)/#exponential-moving-average

Seems the Confluence to Markdown converter I used converted LaTeX to an image, so anywhere there is LaTeX in the docs this will likely be an issue.


Runtime: Only demangle symbolic references in constant memory.

This provides a slight amount of defense against attackers constructing mangled names with offsets crafted to JOP the runtime into attacker-controlled code. (Someone could still find some random code or constant data artifact in a binary that looks like a mangled string with symbolic references and theoretically attack that way, but they at least wouldn't be able to construct their own string entirely.)

@swift-ci Please test

@swift-ci Please benchmark

Build failed
Swift Test OS X Platform
Git Sha - 493ac30db3ae8e045083d5fd18a016790cf3c1e9

Build comment file:
Build failed before running benchmark.

@swift-ci Please test

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 515b065b68465d16ceb1cebdcc6161ecefc14894

Build failed
Swift Test OS X Platform
Git Sha - 515b065b68465d16ceb1cebdcc6161ecefc14894

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - fd3e209d85a7a3ba71435bb2038c88491c0c8e2f

Why is this using an availability check instead of a weak import check? Did you verify that the symbol reference to _dyld_is_memory_immutable is a weak import in the built image? (If it is not then this will crash at launch when running on old OS versions.)

Ah, I see it's not declared with availability attributes in the dyld headers. I'll fix that.


Setting for clearing mangal cache at an interval

Feature Description
Mangal seems to sometimes need a cache clear for it to pick up new chapters. See Mangal issue: https://github.com/metafates/mangal/issues/161
Since Kaizoku is a downloader and doesn't really need the cache (since we're not browsing manga) it would make sense to have a setting that regularly clears this cache.
I've noticed that a good amount of my manga will stop getting updates because of this cache needing to be cleared.
I have a cronjob that stops kaizoku and clears the /.cache/mangal/ folder, and the /tmp/rod/user-data/ (for mangasee) folders, and doing this has solved the issue for me.
After I noticed two mangas I knew had new chapters weren't downloading them, I deleted the cache folder, and over 20 of my mangas got multiple new chapters. I checked a random selection of these and all of them had new chapters that were 3+ weeks old. For multiple different sources (manganato, mangapill, and manganelo)
Solution you would like
A setting for kaizoku that will at x interval, or before every check for new chapters wipe out all files in /.cache/mangal/ and if mangasee /tmp/rod/user-data/
Alternatives you have considered
No response
Additional context
No response

This is already implemented. You can check and then fix out-of-sync chapters. This will remove the cache also.

I have run a check for out of sync chapters multiple times since a lot of these chapters were out, so it must not clear it properly then.
The one manga I was annoyed wasn't updated, had gotten 3 chapters the last two weeks, and I've ran at least two checks for out-of-sync chapters since that point. The last check just hours before I cleared the cache which solved the issue.

Maybe this restart was necessary for some reason?

I only delete JSON files under the mangal where -cache output except the anilist ones.

I have experienced the exact same issue, new chapters won't download. So clearing the cache (actually deleting the ~/.cache/mangal directory) fixed it for me.
Here are the steps I took:

Automated the deletion of ~/.cache/mangal directory every night at 12am
Automated the "update" of the Kaizoku docker container every night at 1am (docker compose pull, docker compose up)
profit.

I do have a server 24/7 so if you don't do it like that then just manually delete the cache folder often and restart the kaizoku app (docker or whatever) afterwards.

I am experiencing the same exact thing. Checking and fixing out of sync chapters didnt work for me. I followed that @rzumbado did and works for me.


bug(chips): MatChipListbox with hideSingleSelectionIndicator does not hide selection indicator on options that have matChipAvatar

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
MatChipListbox hideSingleSelectionIndicator is not hiding the single selection indicator when a MatChipOption has a MatChipAvatar child
Reproduction
StackBlitz link: https://stackblitz.com/edit/components-issue-rcxta6?file=src%2Fapp%2Fexample-component.html
Steps to reproduce:

Have a MatChipListbox with a MatChipOption where the MatChipOption has as MatChipAvatar
Set hideSingleSelectionIndicator="true" on the MatChipListbox
Click the option from (1)
The selection indicator will be there

Expected Behavior
The single selection indicator should not appear
Actual Behavior
The single selection indicator does appear
Environment

Angular: Latest
CDK/Material: Latest
Browser(s): All
Operating System (e.g. Windows, macOS, Ubuntu): All

The naming/docs could use a bit of work, but the checkmark that shows up on top of the avatar isn't what's considered the "single selection indicator", it is the "selection indicator". I can see an argument about covering it through hideSingleSelectionIndicator though.


Fix material ui package name

@mastertinner Could you give this a quick review?

I think that this is being handled in #2255?

Yes. Those definitions are more complete. Renaming is not enough.

Closing in favour of #2255


Add random restarts to check how it recovers

To catch bugs that happen only after a restart. Sometimes after running Prometheus for long time followed by a restart doesn't recover.
Like https://github.com/prometheus/prometheus/issues/4603

Oh maybe that one was on upgrade.

Will this not affect the running benchmarks run by the querier and scaler? or it's about affecting the benchmarks? I mean, In case if the prometheus server does not recover the benchmarks will not be what would be expected.

if both running Prometheus are restarted at the same time it will not affect the bench tests.
The idea os that killing Prometheus even when it is in the middle of compaction or some other operation shouldn't prevent the next normal startup.
This happened on few occasions.
The graphs would be reset with these restarts, but that is not important as we just compare both versions so if these should look  similar when both are restarted at the same time.

oh yes, I see. So, for this I think deleting the pods for Prometheus Master and Prometheus PR should work ?

I've not tested this yet but this is a sleep timer using $RANDOM . I've explored other ways like k8s cronjobs and liveness but I think this should do.
modifying components/prombench/manifests/benchmark/3_prometheus-test.yaml
      containers:
      - name: prometheus
        image: quay.io/prometheus/prometheus:{{ .RELEASE }}
        imagePullPolicy: Always
        command: [ "/bin/prometheus" ]
        args:
        - runwithrestarts(){
            /bin/prometheus \
            --web.external-url=http://prombench.prometheus.io/{{ .PR_NUMBER }}/prometheus-release \
            --storage.tsdb.path=/prometheus \
            --web.console.libraries=/etc/prometheus/console_libraries \
            --web.console.templates=/etc/prometheus/consoles \
            --config.file=/etc/prometheus/prometheus.yml \
            --log.level=debug &;
            prompid=$!;
            sleep $[ ($RANDOM % 100) + 45 ]m;
            kill -9 $prompid;
            runwithrestarts;
          }
          runwithrestarts;
        #args: [
        #  "--web.external-url=http://prombench.prometheus.io/{{ .PR_NUMBER }}/prometheus-release",
        #  "--storage.tsdb.path=/prometheus",
        #  "--web.console.libraries=/etc/prometheus/console_libraries",
        #  "--web.console.templates=/etc/prometheus/consoles",
        #  "--config.file=/etc/prometheus/prometheus.yml",
        #  "--log.level=debug"
        #]

I'll test this soon.

that won't work as we need both instances to be restarted at the same time.
the way I see it as that we need another new tool that will kill the running Prometheus servers at the same time. This way they can be killed randomly but still both will be restarted at the same time.


float64 aliases generate broken code

Example: fftest.go
package fftest

type Price float64

type Item struct {
	Description string
	Cost        Price
}

go build shows no errors. After running ffjson fftest.go, go build reports ./fftest_ffjson.go:31: cannot use mj.Cost (type Price) as type float64 in argument to strconv.AppendFloat
Seems like the problem is in encoder.go:185. float32 aliases work because of the cast to float64 on line 182, and applying the same cast on 185 fixes the issue. Ints and strings also always go through a cast masking the issue when using types which alias them.

Should be fixed now. Did find a more complex issue #108, and even a bug in the golang encoding/json when I added tests for renamed types.


Improve Audio

We introduced Audio support in #24 but still a bit buggy for example

Noisy
Pitch or something is a bit weird

With #26 and #57, audio has less noise now. But not perfect yet.


Update Required Updates for ADFS and WAP 2016

Updating newest required updates for ADFS and WAP 2016 in this document.

#sign-off

#sign-off


Update to latest build tool

What's in this PR?
This PR updates to latest build tool version.

The android gradle plugin version 2.3.0-beta3 is too old, please update to the latest version.

Merging this in!!


Scala Common Enrich: add PubSubAdapter

Adapter that transforms collectorless PubSub payloads into RawPayloads

Right now I'm thinking that Tracker just needs to send Thrift payloads, mimicking Stream Collector, but leaving this PR as just reminder of work we've done on hackathon.
/cc @mikeh

I'm thinking that Tracker just needs to send Thrift payloads

That was my first thought at the hackathon presentation, but I didn't mention it at the time.

Moved to https://github.com/snowplow/enrich/issues/12


Update

Is there a scheduled workshop at ICML for this, where the paper will be released and discussed?

Paper now released! :)
https://arxiv.org/abs/2206.04615


Added an Error Page

Details

Added a generic error page.

Fixed Issues

$ https://github.com/Expensify/App/issues/6552
Tests

Tested the pages for different dimensions
Tested the component by forcing an error

QA Steps

Force an error (not sure how this will be on staging)
Ensure that the new error page is shown.

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

@roryabraham  @parasharrajat While most of the work is done, I need help with the following to close this. Can you please help?

Need to verify the design/colors, etc. if they're correct. Especially the fontsize of the title
I've seen other places we use blue for links but in the error page design, it is black. I've kept it blue for now, let me know if it has to be changed.
Need to validate the Spanish translations
I am not sure how do I refresh the user to the same URL. Do we have any reference code where we have done this?
How will the QA force an error to load this component? Need to update the QA steps accordingly.

Need to verify the design/colors, etc. if they're correct. Especially the fontsize of the title
I've seen other places we use blue for links but in the error page design, it is black. I've kept it blue for now, let me know if it has to be changed.

cc: @Expensify/design

I am not sure how do I refresh the user to the same URL. Do we have any reference code where we have done this?

Web  => location.reload.
Android => you may have to restart the main activity. Add a small native method which we can call here.

How will the QA force an error to load this component? Need to update the QA steps accordingly.

I think the best would be to mark it as No QA.

Android => you may have to restart the main activity. Add a small native method which we can call here.

may be utilized react-navigation for this. Reset the navigation state and redirect the user to the home Route.

may be utilized react-navigation for this. Reset the navigation state and redirect the user to the home Route.

I guess the requirement is to reload on the same route and not home route.

Then you can redirect to the same route just reset the state.

Then you can redirect to the same route just reset the state.

I've picked the current route by adding a function. Is that the right direction?

Looks pretty good to me, but looping in @megankelso since she worked on the designs for this.

Minor piece of feedback for @mananjadhav – when you address feedback, feel free to resolve the reviewer's comment threads to make it easier for other reviewers to scan the issue and pick out any threads with active discussion.

Noted @roryabraham. I generally used to put a 👍  emoji on completion. Will resolve next time  PR onwards.
@parasharrajat Not yet. Will get back to it today.

@roryabraham @parasharrajat  I've tried finding a react-navigation solution but that doesn't seem to be working. I was wondering if we should even rely on react-navigation. I forced an error on ReportScreen and if I use the navigationRef.current, it throws null error.
Can we use https://www.npmjs.com/package/react-native-restart for the native platforms, https://www.npmjs.com/package/electron-reload for desktop and location.reload for web platforms?

I agree we shouldn't rely on react-navigation for the reload. Regarding your proposed alternate solution:

https://www.npmjs.com/package/react-native-restart

I'm not sure – don't have time to research at the moment. Maybe bring it up in Slack to get some more opinions?

https://www.npmjs.com/package/electron-reload

This seems like it's used for hot-reload for development purposes. Could we just use location.reload on desktop?

location.reload works for web 👍

Could we just use location.reload on desktop?

Missed that. Yeah we can use it.

I've asked in the slack channel, but still went ahead to test the lib. It seems to work fine. Will change if I get any feedback to not use lib,

Sorry for the late reply but I think react-navigation will not work as that part is already crashed. So better just reload underneath UI. and it should work for all platforms.

@roryabraham @parasharrajat PR updated

@mananjadhav is there a way to crash the app on Android?

I used to just add throw new Error(''); in the ReportsScreen.

But I don't see the Error screen on native. It just shows the RN error modal and call stack.

It just shows the RN error modal and call stack

Because we run in the dev mode. If you click on ‘Minimize’, you’ll see the screen.

Ok, I see that buttons are very small on Android/IOS.

I think we should increase those a bit.

I didn't apply any specific styling to the button and used the default small. Can someone help me with the sizes of buttons?

Better to ask this on the issue itself. @mananjadhav

@parasharrajat @roryabraham PR updated. Only left with the button design.

@parasharrajat @roryabraham PR updated. Only left with the button design.

@parasharrajat  PR updated

@parasharrajat  PR updated

Hmm yeah it seems like we are pretty strict on the app about button sizes, we only have two:
Small: 28px tall
Large: 52px tall (it matches our text inputs)
I wonder if we're being too strict here and we could really benefit from a "default" size at say something like 40px tall? I can raise this idea in #expensify-open-source too for feedback.

Based on the comment here, I've updated the button design.
@parasharrajat @roryabraham Ready for your review.

@roryabraham  Is there anything that needs to be done here from my side?

Sorry for the delay here @mananjadhav, I'm reviewing this now.

@roryabraham  PR updated. Left with two comments - punctuation utility and button size prop.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @roryabraham in version: 1.1.29-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@mananjadhav @roryabraham @shawnborton @parasharrajat
Any suggestion on how can we trigged this error to QA?

Ah, sorry this PR title should have been prefixed with [No QA]. Unless there's a bad "white screen" bug that's consistently reproducible on staging there's no way to QA this.
...unless... we could purposely introduce such a bug to QA this, then revert that PR 😈

I have a suggestion. Just try to run the QA for this on any crash issue. I think there is one for room details.

I think there is one for room details.

Have a link?

@roryabraham @mvtglobally  https://github.com/Expensify/App/issues/7262

Thanks @parasharrajat, that's perfect! @mvtglobally for QA steps:
Web/Desktop/mWeb

Follow the reproduction steps in https://github.com/Expensify/App/issues/7262
Make sure the UI looks correct.
Verify that it does not prompt you to open the page on web.

iOS/Android

Same as web/desktop/mWeb, except verify that it does suggest opening the app on web, and includes a link.
Click on the link, verify it takes you to the correct NewDot website (staging, if QA'ing on staging, production, if QA'ing on production).

Thank you @parasharrajat  @roryabraham for helping with this.

@roryabraham @mananjadhav
Should sign out button fix the error?
Is this a separate issue or expected since we have a crash?
https://user-images.githubusercontent.com/43995119/149940545-678284b6-f28f-487c-beda-f5d4b875ffa8.MOV

Also On IOS the page doesn't really display as app crashes. Expected? https://user-images.githubusercontent.com/43995119/149956996-295be13f-1109-499b-afba-8bb9c435411b.MOV

I saw the video for iOS, it seems ti flashes for a second and then crashes. It shouldn't be related to the ErrorPage, but yeah let @roryabraham  and @parasharrajat  comment.

It seems that the error was thrown out of the Render tree and yeah that won't be caught by the current implementation. Should that be part of this issue?

@roryabraham Should we log a new issue or just leave it as is

@mvtglobally That's a separate issue, the scope of this PR was really just designing and implementing a generic error page. As long as the page displays correctly, I think other issues are out-of-scope. From what I can see in the videos, this looks to me like it's passing QA. I'm going to check it off on the checklist.

🚀 Deployed to production by @roryabraham in version: 1.1.30-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fix the black screen when g_bEnableHDROutput = true

Creats a PSO for ConvertHDRToDisplayPS to fix the black screen. (#245)

Hi @gongminmin, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Hi,
That variable is supposed to be enabled programmatically, and the supporting code for initializing HDR output on Windows is not present yet.  This is a carry-over from the Xbox variant of MiniEngine which is not present on GitHub.  Xbox has HDR, and Windows will have it eventually, so I left in some of the code but waited to activate it.

Windows 10 Creators Update will bring HDR support for PCs? Also support windowed HDR apps (i.e. compositor is HDR aware)? if not hope by end of the year in next update, right?

Understood. Looking forward for your future HDR display support.


tree-wide: disable doCheck and doInstallCheck where it fails

(the trivial part)
Motivation for this change
#33599. I implemented that issue for fun and giggles and now run a system that is "fully-tested". Turns out, not unexpectedly, an enormous number of packages fail to check. This is the first patch from that patchset. This patch disables many things that fail, but I couldn't (even partially) fix them. I.e. this patch contains only trivial doCheck = false changes and a couple of cleanups. The rest is coming later.
Note that I started documenting error messages too late, hence many changes here just disable tests without comments. I'm too lazy to repeat the effort to document the "doCheck = false; # fails" lines as rebuilding and fixing everything multiple times with 33599-patchset took almost two weeks.
Note: For most packages you won't be able to check why they actually fail with just doCheck = true; without some more patches from the patchset because the patchset adds checkTraget autodetection to stdenv.
Things done

[X] When combined with other patches in the series the system builds.
[X] Fits CONTRIBUTING.md.

For checkTarget autodetection see #39464.

I think might be interested: @grahamc @Profpatsch @Ekleog
Have tried to check that all the cleanups are pure layout changes (toward more uniformity). I think I have read every change; the cleanups are pure cleanups.
Please remind me in a few days where few is more than a couple, if nobody merges it before.

Ugh, this leads to rebuilds because mkDerivation is still not declarative enough. In a perfect world this patch would be a no-op. :(

This PR would be a rebuild anyway: there are some cleanups in the layout of the shell script parts of some expressions.

This PR is maybe a third of all the changes. And even then I didn't try to recompile every single thing, so there are going to be errors even after (and if) the whole patchset is merged.

I think breakage level below the breakage of an allegedely minor bump in a highly-used library should be considered acceptable — obviously, as a proponent of tristates I say that the current PR is useful regardless of the eventual default value of doCheck.

In the perfect world mkDerivation would normalize shell scripts that that would be a noop too :)

At that point we have to just go full-Guix-style with a language for builders. I mean, the builder text is accessible to the build, so technically it is possible to copy it to $out…

@7c6f434c, yes, sure. I am happy with the direction of this PR.

Nice. I updated #39464 with most of the infrastructure. See the OP there.


[Feature] Graphics API Extension

Properties

[x] Graphics.fullscreen

Check if it is in fullscreen with Graphics.fullscreen and toggle it to true or false with Graphics.fullscreen=.

[x] Graphics.scale

Scaling feature allowing users to adjust the game window/screen size dynamically with Graphics.scale= such as scaling it by 2x or 0.5x.

[x] Graphics.vsync

Toogle it to true or false with Graphics.vsync=.

Methods

[x] Graphics.capture_screen

Capture in-game screenshots, enabling sharing of memorable moments or troubleshooting assistance through visual representation.

[x] Graphics.delta_time

Graphics.delta_time is exceptionally useful for modifying your game to stop synchronizing with the frame rate, ensuring consistent gameplay regardless of variations in frame rate.

[x] Graphics.shader

Applying global shaders that will affect all Viewports/Sprites such as xBRZ, scalefx, GameBoy Color...

① Graphics.fullscreen attribute has been added.
② Graphics.resize_window can support the function of Graphics.scale
③ It has added Bitmap.save_png and Viewport.snap_to_bitmap for Graphics.capture_screen
④ Graphics.delta_time: I believe that Graphics.delta_time can be entirely replaced with the built-in Time.now.
⑤ Graphics.shader: Due to the heavy optimization burden carried by Sprite, it's inconvenient to add shader functionality to it. I've only added shader capabilities to geometry and viewport. I believe the functionalities of these two classes should be sufficient to support the effects you mentioned.


README: ENV delta in the examples. Which one is the right one?

It's confusing to follow the cloudflare example. In this section:
https://github.com/adferrand/docker-letsencrypt-dns#configuring-dns-provider-and-authentication-to-dns-api
LEXICON_CLOUDFLARE_AUTH_USERNAME=my_cloudflare_email
LEXICON_CLOUDFLARE_AUTH_TOKEN=my_cloudflare_global_api_key

But then we can see:
https://github.com/adferrand/docker-letsencrypt-dns#run-the-container
LEXICON_CLOUDFLARE_USERNAME=my_cloudflare_email
LEXICON_CLOUDFLARE_TOKEN=my_cloudflare_global_api_key

My guess is that I should use this:
docker run \
  --name letsencrypt-dns \
  --volume /etc/letsencrypt/domains.conf:/etc/letsencrypt/domains.conf \
  --volume /etc/letsencrypt:/etc/letsencrypt
  --env<EMAIL_ADDRESS>\
  --env<EMAIL_ADDRESS>\
  --env 'LEXICON_CLOUDFLARE_AUTH_TOKEN=101010101010101010101010101010' \
  adferrand/letsencrypt-dns

Either ways, my guess is that there is confusion in the README.
Thanks!

Hello @pascalandy!
In fact, both are valid. Several months ago, only flags of type --auth-[keyword] from Lexicon CLI could be set using environment variables in the form of LEXICON_[PROVIDER]_[KEYWORD]. I changed that to allow every CLI flag to be set, using an environment variable name taking all words from the associated CLI flag. So typically --auth-[keyword] is set using LEXICON_[PROVIDER]_AUTH_[KEYWORD]. However I kept the old pattern for retro-compatibility purposes.
Anyway, the old pattern is deprecated, and should not appear in any documentation, and having inconsistencies in README.md is not desirable anyway. I fix that right away.
Thanks for the report!

Great! Thanks for everything :)


InlineSpans with a recognizer should not be forced to be a separate node

Use case
I expect to be able to implement inline links as described in https://support.google.com/accessibility/android/answer/6378148?hl=en. Currently, any InlineSpans that have a recognizer are forced to own their own  node, preventing inline links, that can be brought up with the context menu.

Proposal
Change line 62 in inline_span.dart from
requiresOwnNode = isPlaceholder || recognizer != null;

to
requiresOwnNode = isPlaceholder;

With this change, I don't know what else would ned to be done to provide the correct information to the context menu about all the line links in a paragraph

Hi @roboteng
Can you please explain in detail what the link described and your explanation and if you can reproduce this issue, please provide a code sample
Thank you

@TahaTesser , thanks for the response!
Here's code for a difference between an imbedded recognizer, vs no recognizer
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text(
            'Inline link Demo',
          ),
        ),
        body: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text.rich(
              TextSpan(
                children: <TextSpan>[
                  TextSpan(
                    text: 'This is an ',
                  ),
                  TextSpan(
                    text: 'inline',
                    style: TextStyle(
                      color: Colors.blue,
                      decoration: TextDecoration.underline,
                    ),
                    recognizer: TapGestureRecognizer()
                      ..onTap = () {
                        print('link tapped');
                      },
                  ),
                  TextSpan(
                    text: ' link.',
                  ),
                ],
              ),
            ),
            Text.rich(
              TextSpan(
                children: <TextSpan>[
                  TextSpan(
                    text: 'This is ',
                  ),
                  TextSpan(
                    text: 'only styled',
                    style: TextStyle(
                      color: Colors.blue,
                      decoration: TextDecoration.underline,
                    ),
                  ),
                  TextSpan(
                    text: ' as a link.',
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Expected Results:

Turn on TalkBack.
Open the app.
Move accessibility focus to the item containing the hyperlink.
As the hyperlinked area of text within that item is spoken, listen for a chime to indicate hyperlinked text.
While the item containing hyperlinked text has accessibility focus, open TalkBack's local context menu.
Check if the hyperlinked text appears in the "Links" sub-menu.

Actual Results:

Turn on TalkBack.
Open the app.
Accessibility focus can move to the first part of the text, independently.
When the user moves accessibility focus through the tex, the link get its own focus node.

In my testing, I have tried many different libraries that provide inline links, but they all seem to use this method for changing the appearance/functionality of links.
Also, a possibly separate but related bug I found while investigating is #60369

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-2.0.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
    • Flutter version 1.20.0-2.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 15a28159bc (6 days ago), 2020-06-23 04:52:58 -0700
    • Engine revision 91a63d6a44
    • Dart version 2.9.0 (build 2.9.0-19.0.dev 7e72c9ae7e)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.0

[✓] Connected device (5 available)
    • SM M305F                  • 32003c30dc19668f • android-arm64  • Android 10
      (API 29)
    • Android SDK built for x86 • emulator-5554    • android-x86    • Android 10
      (API 29) (emulator)
    • macOS desktop             • macos            • darwin-x64     • Mac OS X
      10.15.5 19F101
    • Web Server                • web-server       • web-javascript • Flutter
      Tools
    • Chrome                    • chrome           • web-javascript • Google
      Chrome 83.0.4103.116

• No issues found!

Duplicate of https://github.com/flutter/flutter/issues/51804.


Removing the alarm hand

Hi
Congratulation for your beautifull clock !
I've noticed that the alarm hand doe not disapear when the alarm time is over.
I've neither found any method to remove it, once displayed.
Would it be possible to add a (externally callable) method to simply remove the alarm hand ,
or a method to unset the alarm (when set) that also remove her alarm hand.
As my Javascript drawing understanding is near zero, I may be missed something.
Thanks

Following your reply in #4
If you could just tell me what is the "magic code line" that can remove the alarm hand from the canvas, i would be happy, to build the full methods, update the class / test it / implement options for it , and update your documentation for you as another PullRequest. While this feature is not really needed for my own project, it would certainly help others people.
I've just absolutely no idea on how drawing canvas works, and i guess it would be a very long learning curve for me to understand it.
cheers

Ok, I wrote a function to clear the alarm time and to remove the alarm hand . you can now just call: $.fn.thooClock.clearAlarm(); and alarm time will be set to undefined. "removing" the alarm hand is not that simple, it basically comes to clear the entire canvas and then redraw the dial and the hands (without the alarm hand) cause that is how drawing on canvas works here ... hope this helps..

absolutely terrific . Thanks !
going to add some fixes and enhancements !


VS Code extension

Code completion and suggestion don’t work properly inside Components. It’s normal or I need to some configurations?

code completion & suggestion don't work inside components yet

please, open this or related issues in actual repository


ENI migration followups

This PR addresses https://github.com/cilium/cilium/issues/15174. The changes
are cosmetic and don't have any functional effect.
See commit msgs.

daemon, eni: Move ENI migration logic to specific package
daemon: Clarify EgressMultiHomeIPRuleCompat flag description
datapath/linux/routing: Clarify warning msgs to user

test-me-please

test-only --focus="(K8sIstioTest|K8sUpdates)" --k8s_version=1.16 --kernel_version=netnext

test-only --focus="K8s(IstioTest|Updates)" --k8s_version=1.16 --kernel_version=netnext

Reviews are in. The two tests that failed in k8s-1.16-kernel-netnext passed in the test-only build. Merging.
And yes, we can use regexp for test-only, as long as it starts with K8s.


pull request for e2e test at 01/15/2017 10:45:14

:white_check_mark: Validation status: passed
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.


New version: gopass.gopass-jsonapi version 1.15.9

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Manage different output formats for each task??

Is there currently a way to manage the tasks so that for each output/response by the agent/s of that task I can designate a pydantic base model/class as a partial_variable perhaps to the prompt template?
Here: langchain output parser
For example:
task1 -> output is a desired data structure (i.e. pydantic base model)
task2 -> input is a formatted/parsed* response from task1 -> output is another desired data structure
*the input to task2 could even be a value (str,list) from a field/parameter from parsed output(model_dump_json()) in task1?
Thank you.

I like how Instructor approached this - patching the OpenAI client, adding a response_model parameter, and encapsulating all the validation logic in that patched client.

Love it, I really like the Instructor approach as well, maybe we could use them in here 🤔  marking as feature accepted

seems duplicate of #160 so I'm closing this in favor of that but still planning on exploring instructor


Improvement: allowlist/specify files to check

Imagine if one has a "matrix" job which runs different checks for each workflow/action in your repository. Then it would be nice being able to use this action in a way where we pass/specify the exact path to the file(s) to check.
In the current implementation you're not allowed to pass your own glob string (path+file):
https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/blob/f32435541e24cd6a4700a7f52bb2ec59e80603b1/src/index.js#L14-L15
There is the ZG_WORKFLOWS_PATH override, but how does one use it?
Also, there's still a hardcoded *.ya?ml glob, which disallows picking a specific file one-by-one.

For inspiration, see the RegEx that Renovate uses for finding GHA files:
{
  "fileMatch": [
    "^(workflow-templates|\\.(?:github|gitea|forgejo)/workflows)/[^/]+\\.ya?ml$",
    "(^|/)action\\.ya?ml$"
  ]
}

https://docs.renovatebot.com/modules/manager/github-actions/#default-config


Cloak of Protection

If I equip the Cloak of Protection and unequip it several times, it gives everytime +1, so I have +1 +1 +1 +1 +1 +1 at the end.
at the Cloak remove the ""
{"key":"data.bonuses.abilities.save","value":"+1","mode":0,"priority":20}
{"key":"data.bonuses.abilities.save","value":1,"mode":0,"priority":20}

This sounds like a module incompatability. With DAE 0.2.24 and DAE SRD 3.0.3 I cannot replicate this behavoiur (and there is no "" in the SRD Item


Add my school

School website: https://www.nordangliaeducation.com/our-schools/malaysia/kuala-lumpur/british-international
School adress: No.1, Changkat Bukit Utama, Bandar Utama, 47800 Petaling Jaya, Selangor, Malaysia
Subject website (course: A level & iGCSE Computer science (2 years)) : https://www.nordangliaeducation.com/our-schools/malaysia/kuala-lumpur/british-international/learning/our-curriculum/sixth-form/subjects

@epicose Pull request merged. Thank you!


nodejs: Add support for arm64

What type of Apps related PR is this? (check all applicable)

[ ] ✨ Add Manifest
[x] ♻ Refactor
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 🚩 Other

Description
Adding support for arm64 for NodeJS
Related Tickets & Documents
None
[optional] What gif/emoji best describes this PR or how it makes you feel?
:sparkles: :bento:
Did you verify the followings
Add/Modify a description in the manifest?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Check URLs?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Update to the latest version?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Update Hashes?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Format the json manifest?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Did you identify extra steps
Notes in the manifest?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Application Dependencies?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Application Suggestions?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Pre-installation steps to perform?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Post-installation steps to perform?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

File persistence to perform?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

All changes look good.
Wait for review from human collaborators.
nodejs

[x] Description
[x] License
[x] Hashes
[x] Checkver
[x] Autoupdate
[x] Autoupdate Hash Extraction


Footer - Shadow removed from logo & tablet updates

The logo for climate and health observatory still has a shadow

Fixed some font sizes and margins on Contact links (About, Contact, Newsletter) for tablet dispays

@eea-jenkins build storybook


Removed pool reference from [Whisk]Containers

The main reason for keeping a reference to the pool from within the container was access to logs, which require pool-specific knowledge.  However every client accessing logs has a reference to the pool anyway and can use it.

PG2 81


bug(images): sending a image without background appears green in the app

STR:

go to chat
send a image without background example

in the app shows as green

macOS, m1

I wonder if this is related to the thumbnail generation. Does it appear the same way under the Files section?

yes
A terça, 25/07/2023, 18:39, Darius Clark @.***>
escreveu:

I wonder if this is related to the thumbnail generation. Does it appear
the same way under the Files section?
—
Reply to this email directly, view it on GitHub
https://github.com/Satellite-im/Uplink/issues/1037#issuecomment-1650263899,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG57AOQPJ4Z4DEJFPSAQURTXSAAERANCNFSM6AAAAAA2WAZCOA
.
You are receiving this because you authored the thread.Message ID:
@.***>

After some testing, this looks to be related to uplink. Possibly CSS changing the background though from my knowledge this seems to only affect thumbnail images.

is no longer green but the theme is not properly applied when is the light theme will add a new issue for it


Code style is mixed bag of inconsistency

Mixed variable initialization lists: single var-single line comma separated, single var-multiline comma separated, multi var-multiline... reading the code is as convoluted as reading this sentence.
Mixed quotes... sometimes single, sometimes double. Pick one?
Mixed use of == and === (beyond acceptable null/undef checks)
Mixed, inconsistent use of syntactic whitespace

I'm up to the challenge of cleaning all this up in one fell swoop - let me know

Is there an official styleguide for future contributors? Haven't found one yet. If one would be created, the right place would be very likely http://enyojs.com/#documentation

@eliasp +1

Closing out - issue quite old and not a priority to retest and assess current behavior.


configure: error: You need 'magic' to generate the needed various cell views.

just git cloned and did ./configure --enable-sky130-pdkc
just as the manual says, maybe there is something else that should be added to the documentation? Or is this a bug?

Ah, vieweing this docker file put some insight in what I was doing wrong, apparently you have a dependency on magic. I see that it's mentioned that some packages might have a dependency on magic, it wasn't as clear though, thank you anyway.

May I ask how to solve the problem about "magic"? Thank you very much for your suggestion

https://github.com/silicon-vlsi-org/eda-magic/blob/main/ADMIN.md

@ximinsiwuya :  Or clone it from https://github.com/RTimothyEdwards/magic and compile and install according to the instructions at http://opencircuitdesign.com/magic/.


fix ci too much exception "pk table not exist"

fix #1075
Change-Id: Ie9a1ba689ae4aec876bf9793970a1d62e3c69abf

The following query is triggered each time:
2020-07-18 13:33:26 2589143 [server-info-db-worker-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Transaction query: `Query * from VERTEX where id in [server1]`
2020-07-18 13:33:26 2589146 [server-info-db-worker-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Transaction query: `Query * from VERTEX where [LABEL == -38]`
2020-07-18 13:33:26 2589149 [task-db-worker-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Transaction query: `Query * from SECONDARY_INDEX page '', limit 2 where [INDEX_LABEL_ID == -54, FIELD_VALUES == 12]`
2020-07-18 13:33:26 2589150 [task-db-worker-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Transaction query: `Query * from SECONDARY_INDEX page '', limit 2 where [INDEX_LABEL_ID == -54, FIELD_VALUES == 13]`
2020-07-18 13:33:26 2589152 [task-db-worker-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Transaction query: `Query * from SECONDARY_INDEX page '', limit 2 where [INDEX_LABEL_ID == -54, FIELD_VALUES == 18]`

this is triggered by serverStarted():

first two queries is for server not exist check
last three queries is for restoring tasks

cassandra:
[ERROR] Tests run: 673, Failures: 2, Errors: 1, Skipped: 16, Time elapsed: 495.409 s <<< FAILURE! - in com.baidu.hugegraph.core.CoreTestSuite
[ERROR] testCreateGraphsWithDifferentNameDifferentBackends(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 4.482 s  <<< FAILURE!
java.lang.AssertionError: java.lang.IllegalStateException: Ensure tx closed in all threads when closing graph 'g1'
	at com.baidu.hugegraph.core.MultiGraphsTest.destoryGraphs(MultiGraphsTest.java:344)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphsWithDifferentNameDifferentBackends(MultiGraphsTest.java:299)
[ERROR] testCreateGraphsWithMultiDisksForRocksDB(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 0.797 s  <<< FAILURE!
java.lang.AssertionError: No exception was thrown(expected com.baidu.hugegraph.backend.BackendException)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphsWithMultiDisksForRocksDB(MultiGraphsTest.java:313)
[ERROR] testCreateGraphWithSameNameDifferentBackends(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 0.006 s  <<< ERROR!
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class com.baidu.hugegraph.HugeFactory]
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)
Caused by: java.lang.reflect.InvocationTargetException
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)
Caused by: java.lang.IllegalStateException: Graph name 'graph' has been used by backend 'cassandra'
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)

hbase:
[ERROR] Tests run: 673, Failures: 2, Errors: 1, Skipped: 13, Time elapsed: 884.3 s <<< FAILURE! - in com.baidu.hugegraph.core.CoreTestSuite
[ERROR] testCreateGraphsWithDifferentNameDifferentBackends(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 52.635 s  <<< FAILURE!
java.lang.AssertionError: java.lang.IllegalStateException: Ensure tx closed in all threads when closing graph 'g1'
	at com.baidu.hugegraph.core.MultiGraphsTest.destoryGraphs(MultiGraphsTest.java:344)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphsWithDifferentNameDifferentBackends(MultiGraphsTest.java:299)
[ERROR] testCreateGraphsWithMultiDisksForRocksDB(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 0.792 s  <<< FAILURE!
java.lang.AssertionError: No exception was thrown(expected com.baidu.hugegraph.backend.BackendException)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphsWithMultiDisksForRocksDB(MultiGraphsTest.java:313)
[ERROR] testCreateGraphWithSameNameDifferentBackends(com.baidu.hugegraph.core.MultiGraphsTest)  Time elapsed: 0.009 s  <<< ERROR!
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class com.baidu.hugegraph.HugeFactory]
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)
Caused by: java.lang.reflect.InvocationTargetException
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)
Caused by: java.lang.IllegalStateException: Graph name 'graph' has been used by backend 'hbase'
	at com.baidu.hugegraph.core.MultiGraphsTest.openGraphWithBackend(MultiGraphsTest.java:365)
	at com.baidu.hugegraph.core.MultiGraphsTest.testCreateGraphWithSameNameDifferentBackends(MultiGraphsTest.java:277)


Implement WebGL shaders

Hello, This is WebGL implementation related to issue #7.
You can test on this site.
It can play videos too. (It's just to show possibility.)
Example
I recommend you click to enlarge.
Original vs x2

Original vs x3 (x2 and x1.5)

Thank you!
I will fix those and commit soon.

@block97
Thank you!
I will fix those and commit soon.

Hi, @bloc97
I removed input.mp4 and replaced the default image.


references supporting definitions

There are a large mixture of references supporting definitions, but some do not appear to be definitions sources:
Here's a sample, there are others:
~ PMIG:10085024~ <<<<< cannot find
PMID:pm<<<<<< cannot find
GOC:mcc; <<<<<<< allowed; I always add the GOC: of the requestor, who usually supplies a def to begin with.
GOC:mtg_transport
GOC:jl <<<<<<< allowed; I always add the GOC: of the requestor, who usually supplies a def to begin with.
ISBN:0815340729 <<<< allowed; this is Molecular Biology of the Cell
PO:0000029 <<<< obsoleted PO term
KEGG:R05612
RHEA:20836 <<<< allowed as def
EMBL:AF304352  <<<<< replaced with PMID that this id goes with.
http://www.ultranet.com/~jkimball/BiologyPages/D/DNArepair.html
http://www.earthlife.net
EC:<IP_ADDRESS>; <<<<< allowed but also added RHEA
BioCyc:PWY-882
BRENDA:<IP_ADDRESS>  <<<< cannot find; someone removed and replaced with EC. I added RHEA
BTO:0002164
CHEBI:10022  <<< gone; cannot find in current ontology; someone else removed
CORUM:2870
DDANAT:0000068
dictyBase_REF:2530 <<<<<< dictybase contacted; this is an unpublished genbank reference but the author DO have papers that may be associated with this. Petra helped; these are all replaced by PMID.
DOI:10.1002/1096-9861 <<<<< This is allowed.
FBbt:00005786
FB:FBrf0039640  <<<<<< replaced with DOI
Intact:EBI-9345927 <<< moved to xref
intAct:EBI-9636287 <<<<< moved to xref
InterPro:IPR000001 ,<<<<<<< removed.
IUPHAR_GPCR:1506
IUPHAR_RECEPTOR:1276
MeSH:C04.697.152  <<<<< removed but was in obsolete term anyways.
MetaCyc:<IP_ADDRESS>-RXN   <<<< replaced with RHEA:18677
NIF_Subcellular:sao1470140754
Pfam:PF03166
phi:0000005  <<<<< PHI contacted. cannot find on their site
PHI:0000011 <<<<<PHI contacted; cannot find on their site
Wikipedia:Gamma_ray
Wiki:Cystic_fibrosis_transmembrane_conductance_regulator

FB:FBrf0039640
Is a flybase paper
http://flybase.org/reports/FBrf0039640.html
should we use PubMed?
Some look like DBxrefs although BRENDA /Rhea/ CHEBI/MetaCyc are  probably good definition sources
from
https://github.com/pombase/website/issues/589

EMBL: AF304352 in this instance is just an example entry not a definition

Some of these look fine. Some look like typos.

ISBNs are fine. DOI is fine (if PMID exists could be changed)
EC is fine if it represents the def or basis there-of; but now can use a RHEA
These could be xrefs if the term is a complex.
Intact:EBI-9345927
intAct:EBI-9636287
BRENDA:<IP_ADDRESS> might be replaced with EC and RHEA
I would not use InterPRO domains or CHEBI terms as def refs; Maybe in logical defs

For the flybase entry; journal not indexed by Pubmed evidenctly; however, it does have a valid DOI which can be used. https://doi.org/10.1016/0020-1790(83)90018-5

I'm working commenting on these in line with 1rst post. This will take several passes.

Has anyone been working on this? I find I cannot find some listed here as if someone else went in and changed.?

Not that I know of ...?

I will carry on then

um; I just noticed that the edits I made to the orginal post as I work through them are gone. Did I not forget to save?

Essential done: id didin't know how to access some of the terms in their repective dbs to see what they were.
What do we want to do with the Intact ids that are to species-specific examples of the general defs for complexes?

What do we want to do with the Intact ids that are to species-specific examples of the general defs for complexes?

Should these not be cross-refences instead of definition cross-references ? (as we do for Reactome?)

I was thinking that.

Finally got a handle on "PHI:" terms.
These are NOT from the pathogen-host interaction db as I first thought.These are from

database: PHI
name: MeGO (Phage and Mobile Element Ontology)
generic_urls:

http://aclame.ulb.ac.be/Classification/mego.html
entity_types:
type_name: entity
type_id: BET:0000000
example_id: PHI:0000055

The two @ValWood pointed out (one has typo phi:  vs PHI:) are actually  equivalents of the GO term . I would think these should be xrefs rather that def refs. There are about 43 in the ontology total; a couple GO terms have > 1 PHI id. All created by Brenely. No paper references.
Some are xrefs already; most not.
@jimhu-tamu do  you have any advice about these?
There is another issue here maybe: two dbs using the same prefix;
THe pathogen-host ids don't use leading zeros.

@hdrabkin is this one still "in progress"  (trying to check status of all the tickets I opened, and close if no longer valid)


Create an indonesian test article

nice :-)

How to merge these into the main branch? =D
This branch has no conflicts with the base branch
Only those with [write access] to this repository can merge pull requests.

How to merge these into the main branch? =D
This branch has no conflicts with the base branch Only those with [write access] to this repository can merge pull requests.

Ill set the permissions on the repository and give you access

@andrecahyadi you should be good to go. Ive just given you write access to this repository :)


Full French UI Localization

Hi friends,
I've translated the Openpilot UI into French to improve accessibility for French-speaking users. The translation covers all UI elements to ensure a fully localized user experience.
Verification
I've thoroughly tested the translated software by running it in the test scripts and cross-checking all translated texts with their English counterparts. No issues with character encoding or text overflow in the UI were found. Furthermore, I'm a native French-speaking and regular user of openpilot, so I can confirm the accuracy and appropriateness of the translations.
Additional remarks
During my translation and testing, I noticed that some interface elements were not localized, such as the guide, certain messages in the "software" section like "checking," "downloading," "finalizing update," as well as all messages that appear during driving like "Experimental Branch," "Reverse Gear," etc.
K.

Hi,
I'd like to indicate in this PR that I'll be following future interface developments and proposing updates to this language file on an ongoing basis. With most of the work done, this will be easy.

LGTM. Why « enlever » in one place but « désinstaller » elsewhere? Also, does « détente » carry a precisely identical connotation to "chill"? (Perhaps just a sign of my youth, but my first inclination would have been to anglicise this. Not saying it has to change.)

Thanks for your help with the translation. 👍
Have you been able to check that everything fits into the interface?
Thanks.

Indeed, chill suits her too even if I'm not so young. 😎
As for the word "remove", it's mainly for reasons of space in the button, as uninstall was a bit too big.

@sshane Hi! What are the next steps concerning this PR? Thank you.

I'm sorry, I made a mistake on my side, on my fork, and it triggered a sync I wasn't expecting. I'm not expert enough with GitHub yet. In short, I apologise profusely for the miss click.

 You can make it again by editing the file on this repo, then copy and pasting your changes. Let us know if you need any help

Thanks @sshane . I followed your advice.
New PR is here #29260


Typo "@@MAX_PRECISION"→"@@MAX_PRECISION"

https://docs.microsoft.com/en-us/sql/t-sql/functions/max-precision-transact-sql?view=sql-server-ver15
#PingMSFTDocs

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


Definite assignment error for valid Ballerina program where there is a if block before the assignment

Description:
import ballerina/io;
public function main() {
    int i;
    while true {
        int k = 0;
        if k == 1 { // just an unrelated `if`
        }

        i = 2; // `i` is initialized in a `while true`
        if i == 2 {
            break;
        }
    }
    int j = i; // error: variable 'i' may not have been initialized(BCE3700)
    io:println(j);
}

Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

This has been fixed with https://github.com/ballerina-platform/ballerina-lang/pull/34185 and the fix will be available with the Swan Lake GA release. Hence closing this issue.


why not setup OpenShift for OpenStack?

https://docs.openshift.com/enterprise/3.1/install_config/configuring_openstack.html
We have all the data.  Do the ansible playbooks not support this?

This is supported by those Heat templates.
You need to pass the os_auth_url, os_username, os_password and os_tenant_name parameters to the stack.
The templates also allow you to deploy a registry that uses a Cinder volume for persistence by adding the deploy_registry parameter to the parameters listed above.

OSE 3.1 on OSP 8 on RHEL 7.2
I set them
[osp_admin@director openshift-on-openstack]$ grep os_ openshift_parameters.yaml
  os_auth_url: http://<IP_ADDRESS>:5000/v2.0
  os_username: admin
  os_password: pZ4CGyJU4XDbEuMVT7qMKdP6b
  os_tenant_name: admin

But I don't see them:
[root@delloss-openshift-master-0 origin]# grep -ri openstack /etc/origin/
[root@delloss-openshift-master-0 origin]# echo $?
1

and
[root@delloss-openshift-master-0 origin]# grep -ri auth-url /etc/
[root@delloss-openshift-master-0 origin]#

Do I need to restart OpenShift for it to write out configs it might have gotten via API?
Thanks!

You need OSE 3.2 for this to be usable. We just merged this PR https://github.com/redhat-openstack/openshift-on-openstack/pull/135 that switches to 3.2. Could you please give it a try ?

Worked great with 3.2.  Thanks!

Worked great with 3.2.  Thanks!


[Technical Question] Get Azure IotHub DeviceId after routing from IotHub to service bus queue

Hello everyone,
I have a question when I am routing the device message from Azure IotHub to the service bus queue,  Is there any way that I can get the IoTHub deviceId from service bus message properties.
If no then is there a good way to set the DeviceId in the message.
Thank you very much

Hi @NhanNgocThien , this question is not related to this Python SDK specifically, could you please ask on Microsoft Q&A with the Azure-IoT tag? Thank you!

Closing as we haven't heard from you.


[BUG] error adding hosts file entry for :[host.k3d.internal]: "" is an invalid IP address

What did you do
I have a Docker network zenith_net which is created by docker-compose using the following config:
networks:
  zenith_net:
    name: zenith_net
    ipam:
      config:
        - subnet: "<IP_ADDRESS>/24"

Then I try to create a cluster:
k3d cluster create --network zenith_net zenith-local

And get an error:
INFO[0018] Injecting records for hostAliases (incl. host.k3d.internal) and for 7 network members into CoreDNS configmap...
ERRO[0018] Failed Cluster Start: error during post-start cluster preparation: error while rewriting /etc/hosts in k3d-zenith-local-server-0: error adding hosts file entry for <nil>:[host.k3d.internal]: "<nil>" is an invalid IP address
INFO[0018] Deleting cluster 'zenith-local'
ERRO[0018] Failed to create cluster >>> Rolling Back

It first reproduced a couple of times on my local machine, but the problem disappeared after reboot. And now it is stably reproducible in GitHub Actions CI.
What did you expect to happen
Cluster is created without errors.
Screenshots or terminal output
DEBU[0006] Created container k3d-zenith-local-serverlb (ID: 9122cdd132bfb7a73ff921b890c11cb7a7de710a83e3cacd6ac53f7973b14a51)
DEBU[0006] Created loadbalancer 'k3d-zenith-local-serverlb'
DEBU[0006] DOCKER_SOCK=/var/run/docker.sock
INFO[0006] Using the k3d-tools node to gather environment information
DEBU[0006] no netlabel present on container /k3d-zenith-local-tools
DEBU[0006] failed to get IP for container /k3d-zenith-local-tools as we couldn't find the cluster network
DEBU[0006] DOCKER_SOCK=/var/run/docker.sock
INFO[0006] HostIP: using network gateway <nil> address
INFO[0006] Starting cluster 'zenith-local'
INFO[0006] Starting servers...
DEBU[0006] Deleting node k3d-zenith-local-tools ...
DEBU[0006] DOCKER_SOCK=/var/run/docker.sock
DEBU[0006] No fix enabled.
DEBU[0006] Node k3d-zenith-local-server-0 Start Time: 2022-03-15 17:38:31.904344702 +0000 UTC m=+6.190021861
INFO[0006] Starting Node 'k3d-zenith-local-server-0'
DEBU[0006] Truncated 2022-03-15 17:38:32.302305822 +0000 UTC to 2022-03-15 17:38:32 +0000 UTC
DEBU[0006] Waiting for node k3d-zenith-local-server-0 to get ready (Log: 'k3s is up and running')
DEBU[0011] Finished waiting for log message 'k3s is up and running' from node 'k3d-zenith-local-server-0'
INFO[0011] All agents already running.
INFO[0011] Starting helpers...
DEBU[0011] Node k3d-zenith-local-serverlb Start Time: 2022-03-15 17:38:37.63219131 +0000 UTC m=+11.917868569
INFO[0012] Starting Node 'k3d-zenith-local-serverlb'
DEBU[0012] Truncated 2022-03-15 17:38:38.308854894 +0000 UTC to 2022-03-15 17:38:38 +0000 UTC
DEBU[0012] Waiting for node k3d-zenith-local-serverlb to get ready (Log: 'start worker processes')
DEBU[0018] Finished waiting for log message 'start worker processes' from node 'k3d-zenith-local-serverlb'
DEBU[0018] Found network {Name:zenith_net ID:427415b8c930849a2febd2b8fe1c69f63aa901fdc72d4460025a537e1c857882 Created:2022-03-15 17:37:50.805895355 +0000 UTC Scope:local Driver:bridge EnableIPv6:false IPAM:{Driver:default Options:map[] Config:[{Subnet:<IP_ADDRESS>/24 IPRange: Gateway: AuxAddress:map[]}]} Internal:false Attachable:true Ingress:false ConfigFrom:{Network:} ConfigOnly:false Containers:map[0581f851037256c2e0e6c666639177db879387a6d09aece7a3c5d972850dde56:{Name:console_pageserver_1 EndpointID:0b080976501a3d4516cc0ac6d5e8b62f4c2409851ef6651d78d8a66ce88597c7 MacAddress:02:42:ac:36:20:0b IPv4Address:<IP_ADDRESS>/24 IPv6Address:} 2718ea8f2291a329eae67dcea2cbf43a36e7b23c7e30bd469128e90b242c734e:{Name:k3d-zenith-local-server-0 EndpointID:30f11b96d66a4943c11a166cea00dd41fef3f7f0545c2dfa43c1ab3057a8bfdc MacAddress:02:42:ac:36:20:03 IPv4Address:<IP_ADDRESS>/24 IPv6Address:} 731a71ab8f676a90944c936e0d3ff83973ce614d2d3a1f16be32b3316d6c468f:{Name:console_wal_acceptor3_1 EndpointID:1667488ecd001c36c18678e81d627b47d3839a229e8d7d2d494f94da873291c5 MacAddress:02:42:ac:36:20:17 IPv4Address:<IP_ADDRESS>/24 IPv6Address:} 7bdd3a10d8183faa507ef440e6d0faadce57c29be6b135e3ae6802b94fedb5be:{Name:console_wal_acceptor1_1 EndpointID:1a8909119bb13a00cb0b3daa48a1133bbf3c81cd38efaf28b9183af1426892dd MacAddress:02:42:ac:36:20:15 IPv4Address:<IP_ADDRESS>/24 IPv6Address:} 9122cdd132bfb7a73ff921b890c11cb7a7de710a83e3cacd6ac53f7973b14a51:{Name:k3d-zenith-local-serverlb EndpointID:cfdd1f8343227cb86b6c01c458b8509cf7b5f6505f072375d5f9cee15ecae6a8 MacAddress:02:42:ac:36:20:02 IPv4Address:<IP_ADDRESS>/24 IPv6Address:} b04c477a42edd730cd021b51258ab234a39d1e51fcf00439b593349dacb2003a:{Name:console_proxy_1 EndpointID:37b6848f5f37c2b8115ec590190fa7eda1eef90f9538c4e0fa92f090fcecea23 MacAddress:02:42:ac:36:20:1f IPv4Address:<IP_ADDRESS>/24 IPv6Address:} e1943501fc539f98b9bccdf20a0a12787ab98e8d7373f8b52b1130a54e53aeb7:{Name:console_wal_acceptor2_1 EndpointID:70a6f1e4e6716039367ebebf9b0d134ba99bc7c372eba1a189bb0508f2c8225a MacAddress:02:42:ac:36:20:16 IPv4Address:<IP_ADDRESS>/24 IPv6Address:}] Options:map[] Labels:map[com.docker.compose.network:zenith_net com.docker.compose.project:console com.docker.compose.version:1.27.4] Peers:[] Services:map[]}
INFO[0018] Injecting records for hostAliases (incl. host.k3d.internal) and for 7 network members into CoreDNS configmap...
ERRO[0018] Failed Cluster Start: error during post-start cluster preparation: error while rewriting /etc/hosts in k3d-zenith-local-server-0: error adding hosts file entry for <nil>:[host.k3d.internal]: "<nil>" is an invalid IP address
INFO[0018] Deleting cluster 'zenith-local'
ERRO[0018] Failed to create cluster >>> Rolling Back
DEBU[0018] Cluster Details: &{Name:zenith-local Network:{Name:zenith_net ID:427415b8c930849a2febd2b8fe1c69f63aa901fdc72d4460025a537e1c857882 External:true IPAM:{IPPrefix:<IP_ADDRESS>/24 IPsUsed:[<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>] Managed:false} Members:[0xc00014d980 0xc00014d9b0 0xc00014d9e0 0xc00014da10 0xc00014da40]} Token:sirUMxbhmFUUxQXskWQA Nodes:[0xc0000f64e0 0xc0000f6680] InitNode:<nil> ExternalDatastore:<nil> KubeAPI:0xc0004fb080 ServerLoadBalancer:0xc0001363b0 ImageVolume:k3d-zenith-local-images Volumes:[k3d-zenith-local-images k3d-zenith-local-images]}
DEBU[0018] Deleting node k3d-zenith-local-serverlb ...
DEBU[0018] Deleting node k3d-zenith-local-server-0 ...
DEBU[0019] Skip deletion of cluster network 'zenith_net' because it's managed externally
INFO[0019] Deleting 2 attached volumes...
DEBU[0019] Deleting volume k3d-zenith-local-images...
DEBU[0019] Deleting volume k3d-zenith-local-images...
WARN[0019] Failed to delete volume 'k3d-zenith-local-images' of cluster 'failed to find volume 'k3d-zenith-local-images': Error: No such volume: k3d-zenith-local-images': zenith-local -> Try to delete it manually
FATA[0019] Cluster creation FAILED, all changes have been rolled back!

Which OS & Architecture
Linux x86_64:

Locally: Pop!_OS 21.10
In CI: Ubuntu 20.04.4 LTS

Which version of k3d
Locally and in CI:
k3d version v5.3.0
k3s version v1.22.6-k3s1 (default)

Which version of docker
Locally:
Docker version 20.10.7, build 20.10.7-0ubuntu5.1

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 8
  Running: 7
  Paused: 0
  Stopped: 1
 Images: 5
 Server Version: 20.10.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version:
 runc version:
 init version:
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.15.15-76051515-generic
 Operating System: Pop!_OS 21.10
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.14GiB
 Name: pop-os
 ID: L47N:KC7R:PYKX:GLNR:HII5:JFMR:ERVB:UBCP:E35G:MCPD:J5BY:VFD3
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: zenithdb
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

In CI:
Docker version 20.10.11+azure-3, build dea9396e184290f638ea873c76db7c80efd5a1d2

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., 0.7.1+azure-2)
  compose: Docker Compose (Docker Inc., 2.2.3+azure-1)

Server:
 Containers: 6
  Running: 6
  Paused: 0
  Stopped: 0
 Images: 22
 Server Version: 20.10.11+azure-3
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: f46b6ba2c9314cfc8caae24a32ec5fe9ef1059fe
 init version:
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.11.0-1028-azure
 Operating System: Ubuntu 20.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 6.785GiB
 Name: fv-az183-217
 ID: DFUV:3MIO:QJB4:SFAI:CWPP:LEBI:ETH4:AT3U:T5PZ:KRMI:AS3I:HDYW
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: githubactions
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

I am seeing the same issue with 5.3.0 (not observed in 5.2.2). I setup the network via a docker cli command:
docker network create <name> --driver=bridge -o "com.docker.network.driver.mtu"="1450" --subnet=<IP_ADDRESS>/16

My k3d config uses values in that IP range for cluster cidr, service cidr, and cluster dns.

So somehow the network created via docker-compose doesn't seem to have the gateway set correctly?

@iwilltry42, it seems it has, here is an output of docker network inspect zenith_net:
[
    {
        "Name": "zenith_net",
        "Id": "3c4221a7591171eb42dde89802e1ea13945daf1a1443039eddc9a166cfa2c467",
        "Created": "2022-03-16T18:29:42.962296627+03:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/24",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "6ee06f6c34f22f504c45d15dbebaa7c85256425bba760a7abd0f9d46a443c82b": {
                "Name": "young-forest-671487",
                "EndpointID": "d709edd51058e1fff125d3affcd5c72d1e8e5fb7a410135e70e2f18be7ec4553",
                "MacAddress": "02:42:ac:14:2a:04",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            },
            "b4d0bcd4f3c7c455880bb0f4b35903e3a3f90898a4d1b1228966077043f273bf": {
                "Name": "royal-bread-675489",
                "EndpointID": "9380eb4de34b963aba754fec6df3ca63cbc221345ac9d852339d4428d63bcbef",
                "MacAddress": "02:42:ac:14:2a:02",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            },
            "e75f9e40f5242447ba30ae2edc832480337cf126ce4439bb6fd29496d59d16fb": {
                "Name": "misty-block-624433",
                "EndpointID": "7f3623d90beb838ef6ee15db457701639966057cb0b31208fb036ef7d9538a99",
                "MacAddress": "02:42:ac:14:2a:03",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "zenith_net",
            "com.docker.compose.project": "console",
            "com.docker.compose.version": "1.27.4"
        }
    }
]

This is weird.. I just tried your commands and in fact in my setup, the gateway is missing :thinking:
$ docker network create foonet --driver=bridge -o "com.docker.network.driver.mtu"="1450" --subnet=<IP_ADDRESS>/16
ab0aac890c2fd5ec4c41ea64c73305dfdf5e5a7ea752e8e15bd671ce503b0587

$ docker network inspect foonet
[
    {
        "Name": "foonet",
        "Id": "ab0aac890c2fd5ec4c41ea64c73305dfdf5e5a7ea752e8e15bd671ce503b0587",
        "Created": "2022-03-23T16:39:21.843406633+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {
            "com.docker.network.driver.mtu": "1450"
        },
        "Labels": {}
    }
]

Ugh, my network describing was misleading, as it was from my local machine, when attaching the existing network in k3d worked fine. Also I've surely restarted Docker daemon after the network creation.
Yeah, for docker-compose there is a gateway option as well, so the config should look like:
networks:
  zenith_net:
    name: zenith_net
    ipam:
      config:
        - subnet: "<IP_ADDRESS>/24"
        gateway: <IP_ADDRESS>

I'll try watching the gateway value and maybe try to run with and without it in CI.

Thanks for the followup @iwilltry42 thats a good find - will have to set that on my end now!


Stand-alone version on Windows 7: missing api-ms-win-core-path-l1-1-0.dll

DataLab is available as a stand-alone executable on Windows, thanks to the .exe  installer.
When using this version on Windows 7, a critical error message about a missing api-ms-win-core-path-l1-1-0.dll file should prevent DataLab from running.

Note that this is due to the fact that the stand-alone version of DataLab on Windows is built on Python 3.11 which is not compatible with Windows 7 (because it depends on api-ms-win-core-path-l1-1-0.dll, a DLL file introduced with Windows 8).
As it is, DataLab Windows installer is compatible with Windows 8, Windows 10 and Windows 11.
Should we support Windows 7?
(the solution is to build on Python 3.8)

A specific version for Windows 7 (based on Python 3.8) is available for each release until v0.10.0.

See this new mention in README.md and all recent releases:
💡About DataLab Windows installers:

DataLab Windows installer is available for Windows 8, 10 and 11 (main release, based on Python 3.11) and also for Windows 7 SP1 (Python 3.8 based release, see file ending with -Win7.exe).
⚠ On Windows 7 SP1, before running DataLab (or any other Python 3 application), you must install Microsoft Update KB2533623 (Windows6.1-KB2533623-x64.msu) and also may need to install Microsoft Visual C++ 2015-2022 Redistribuable package.