publisher-electron-release-server fails to upload artifacts for other flavors than default

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.0.0-beta.68
Electron version
v16.2.8
Operating system
Windows 10 22H2
Last known working Electron Forge version
No response
Expected behavior
The forge publisher for electron release server should upload artifacts based on version, flavor and channel.
✔ Resolving publish target: @electron-forge/publisher-electron-release-server

✔ Uploading Artifacts 2/2

Actual behavior
When publishing versions for flavors other than default, an unhandled error has occurred inside Forge:
ERS publish failed with status code: 404
Steps to reproduce
Create a flavor other than "default" in electron release server.
Specify the flavor (for example "spicy") in forge publishers config:
publishers: [
  {
    name: "@electron-forge/publisher-electron-release-server",
    config: {
      baseUrl: "<url>",
      username: "<username>",
      password: "<password>",
      flavor: "spicy"
    },
  },
]

Additional information
I will submit a pull request available which fixes the issue.

See: https://github.com/electron/forge/pull/3079

This can now be closed, right?

Yes, thank you @ArekSredzki !


Use the vSphere plugin instead

According to https://github.com/chef-partners/knife-vsphere/issues/26 that plugin (which is a lot more maintained) can also manage ESXi hosts.
Consequently, perhaps https://www.chef.io/solutions/vmware/ should be updated to de-list this project.

Further to https://github.com/chef-partners/knife-vsphere/issues/244 it might be the case that it's not possible to use the vSphere plugin for managing ESXi.
This repo has had few updates, and https://github.com/maintux/knife-esx/pull/16 has been left unmerged since June 2014.
Is there something better than this?


MemoryStorage cannot store private fields

When using MemoryStorage and possibly other types of storage private fields are not stored.
Even if fields are made public, some Bot Builder framework types have private fields that cannot be stored, such as DialogSet.
When storing a class that contains a DialogSet the set will not be restored with its previously added dialogs, resulting in an exception when a new dialog or prompt is started.
I assume the idea behind DialogSet is to keep a single instance in the bot instance itself that receives its state during execution, but it would be nice if we could have bot state that can store its dialogs internally.
I looked into the code behind this and it seems to be caused by the JSON conversion, which by default ignores private fields: NewtonSoft docs
Marking fields as serializable by the JSON converter would place a hard dependency on the method used to store data, so is there another way to make this work or should we store dialogs in the IBot implementation, and dialog state as ConversationState?

First, purely regarding serialization, please check out this reply that I gave on a previous issue that addresses this topic. TL;DR - this is indeed "by design".
Now, specific to your question about DialogSet, yes any state you want to persist you need to persist (and retrieve) through the state management APIs (GetConversationState<T> et. al.). The dialogs themselves are implementation and not state. The state you want to persist needs to be in the form of primitive types (e.g. int, string, etc) or POCO (plain-old-clr-object) classes that follow the DCS compatibility rules I mention in the issue I linked above.

Alright, i've set up my dialogs to create the dialog set in a no argument constructor to ensure they are always created, all state is kept as public properties. Thanks for the information.


Region selector not working in IE

Hi,
I noticed that any page that has the region selector included is not rendering properly in IE 11 and will break the page. The react country selector demos at http://benkeen.github.io/react-country-region-selector/ are breaking in IE 11 too.
On the website I am developing I am getting the following error in the IE console:

Unable to get property 'nextSibling' of undefined or null reference

Any ideas on how I can work around this?

Hi,
Any updates or workaround for this issue ?

Hi guys - sorry for not getting back to you sooner. Let me take a look at this. Keep you posted.

Thanks for posting the bug @PaulScala  - and reminding me @manushah!
I just released 1.2.1. The demos now work properly on IE11. It was my mistake; I forgot that array.find() wasn't standardized and not part of IE 11. All patched now!
http://benkeen.github.io/react-country-region-selector/

@benkeen Thanks for the fix! I can confirm it is working now correctly for me in IE. This will make quite a few people I am working with happy. Granted I still don't understand why people would chose to use IE.


Add SchemaData, SimpleArrayData, SimpleData

Support kml:SchemaData, which depends on kml:SimpleArrayData and kml:SimpleData.
Closes #33, #34.

Thanks for the review! Regarding adding a struct field for required attributes makes sense. I actually started down that path initially. I then started to weigh whether there should be fields for the optional attributes like how the micromata Java KML library does.
I backed out the changes and settled on storing all attributes in a map with the mindset that if I am a user reading the spec and I see that this library exposes a map of attributes, then I know I should be able to do SimpleData.attrs.get("name").unwrap(). Although, this library doesn't do validation yet, so the unwrap isn't totally safe.
I agree that we should be consistent, so I will add fields for required attributes.

@k-mack good catch! I think in other examples we’ve been ignoring the other attributes, but I think it makes sense to use remove instead of get when pulling the id attribute to avoid writing duplicates

I reviewed the spec for LabelStyle, ListStyle, and Link, but I found them all to treat their id attribute as optional. Am I missing something?


Do not git ignore job scheduler dir, used.

Signed-off-by: dblock<EMAIL_ADDRESS>Description
When updating to 1.2.4 a .zip file was not git add-ed, had to do it manually.
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Are there any downsides to having it not be a part of .gitignore and potentially committing it when developing with an older job-scheduler build. I suppose that wont happen often but just wondering if you had any other thoughts on this as it was explicitly added to .gitignore in the past

Codecov Report

Merging #348 (af35981) into main (06509d5) will increase coverage by 0.13%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #348      +/-   ##
============================================
+ Coverage     77.57%   77.71%   +0.13%
- Complexity     4008     4019      +11
============================================
  Files           295      295
  Lines         17188    17188
  Branches       1816     1816
============================================
+ Hits          13334    13357      +23
+ Misses         3005     2986      -19
+ Partials        849      845       -4

Flag
Coverage Δ

plugin
77.71% <ø> (+0.13%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...java/org/opensearch/ad/task/ADBatchTaskRunner.java
78.11% <0.00%> (-3.65%)
:arrow_down:

...ain/java/org/opensearch/ad/task/ADTaskManager.java
76.45% <0.00%> (-0.23%)
:arrow_down:

...opensearch/ad/indices/AnomalyDetectionIndices.java
68.35% <0.00%> (-0.19%)
:arrow_down:

...rch/ad/transport/AnomalyResultTransportAction.java
80.18% <0.00%> (+0.68%)
:arrow_up:

...rch/ad/transport/ForwardADTaskTransportAction.java
97.45% <0.00%> (+3.38%)
:arrow_up:

...va/org/opensearch/ad/feature/SearchFeatureDao.java
86.64% <0.00%> (+3.85%)
:arrow_up:

...c/main/java/org/opensearch/ad/util/ParseUtils.java
71.59% <0.00%> (+4.28%)
:arrow_up:

...g/opensearch/ad/model/DetectorValidationIssue.java
54.38% <0.00%> (+7.01%)
:arrow_up:

...opensearch/ad/transport/AnomalyResultResponse.java
84.09% <0.00%> (+12.12%)
:arrow_up:

Are there any downsides to having it not be a part of .gitignore and potentially committing it when developing with an older job-scheduler build. I suppose that wont happen often but just wondering if you had any other thoughts on this as it was explicitly added to .gitignore in the past

AFAIK bwc CI won't work without these
The fact that any dependency JARs are checked into the project are a problem. I opened https://github.com/opensearch-project/anomaly-detection/issues/352.


serve-web not re-opening terminals on lost connection, leaking shell processes

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:
Version: 1.91.1
Commit: f1e16e1e6214d7c44d078b1f0607b2388f29d729
Date: 2024-07-09T21:21:06.866Z
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
OS Version: Mac OS X 10_15_7

Steps to Reproduce:
I'm not totally sure how to reproduce minimally or exactly.
I leave 1+ remote connections open (in a PWA on my client machine). After the laptop going to sleep or losing connection, prior to v1.91 it would reconnect upon re-establishing the ssh connection (I use autossh to auto re-connect). However, I believe starting with v1.91, it now frequently does not restore the integrated terminals or state, requiring a reload of the PWA.
To make matters worse, it seems as though those shell sessions are still running in the background. When I run systemctl status on the serve-web user level service, I see a growing number of shell processes (zsh in my case).
I am unable to test on insider build, due to #221883

Please upvote this issue: https://github.com/microsoft/vscode/issues/232708
I think this is promising to solve your problem.

Please upvote this issue: #232708 I think this is promising to solve your problem.

Before 1.91, it worked flawlessly. The terminal processes are still there, it just seems like the application cannot find them, or think they are unrelated or something.

Please upvote this issue: #232708 I think this is promising to solve your problem.

Before 1.91, it worked flawlessly. The terminal processes are still there, it just seems like the application cannot find them, or think they are unrelated or something.

So vscode's terminal is just not reliable like tmux. Sometimes vscode can restore the terminal, but some times it just can't for some unknown reason. With my proposed feature, you can safely detach the terminal and you can attach to it whenever you like (like in tmux).


Wording for BGP requirements is confusing.

In the sections "Traffic from on-premises networks to Azure" and "Traffic from Azure to on-premises networks", it is mentioned that the VPN portion of the environment is using BGP:
For traffic from on-premises networks to Azure, the Azure prefixes are advertised via both the ExpressRoute private peering BGP, and the VPN BGP.
Advertise more specific prefixes on the VPN BGP session for the VPN-connected network. You can advertise a larger range that encompasses the VPN-connected network over ExpressRoute private peering, then more specific ranges in the VPN BGP session.
When we look at the example steps for the Portal, the "Configure BGP" and "Enable BGP" options are not enabled for both the VPN Gateway and the Connection object. This is confusing and isn't clear if it is required that the VPN tunnel use BGP or not. Based off of the set-up though, I would assume BGP is not necessary for the VPN portion as long as a more defined route is annotated on the Local Network Gateway for the VPN. Is this the case? Can this be more clearly defined for customers?
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 56e6b95b-6755-01d7-6e2d-72dfeb474a1a
Version Independent ID: ef384f98-fe94-688e-12b2-841bb404cdbe
Content: Site-to-Site VPN connections over ExpressRoute private peering
Content Source: articles/vpn-gateway/site-to-site-vpn-private-peering.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

Thanks for the feedback! We are currently investigating and will update you shortly.

@cherylmc Could you please look into this? Thank you!

@SaiKishor-MSFT, Any update to this? This is still misleading and confusing for newer customers.

This remains an issue to this day:
https://learn.microsoft.com/en-us/azure/vpn-gateway/site-to-site-vpn-private-peering?toc=%2Fazure%2Fexpressroute%2Ftoc.json
Still has no clear indication that you need to enable BGP under the VPN connection.

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Adding IsRequired property to all parameters

Motivation and Context

Extending parameter objects to include an IsRequired field for better planner resiliency.
Description

Also, includes some logic changes to Copilot PlanViewer to show INPUT value.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

Closing in favor of Stephen's PR: https://github.com/microsoft/semantic-kernel/pull/1195
Will an issue to re-evaluate how we specify required / optional parameters to the Planner. It seems like Stephen's PR will handle native functions well, where all parameters are required but have a DefaultValue of null when optional. But some native functions specify (optional) in the parameter description, whereas we're specifying (required) in the description of rest api parameters when necessary. The AI could get confused for parameters with descriptions that don't contain either postfix, so we should pick one flag or the other for the planner's functionView.


Reflection 40Xing

A quick fix is we can fall through to normal rendering if Reflection hasn't cached a page. This might have regressed after this refactor.
Alternatively/longer-term we should investigate if we need Reflection at all. We can do this by removing the <meta name="fragment" tags from a set of pages and compare organic traffic. We should also make sure robots.txt from the API isn't blocking requests from Google to render the page.

If we're looking for a set of pages I suggest a sitemapped set, such as, for example, all features from 2013, https://www.artsy.net/sitemap-features-2013.xml.

hey all, here's the full context I could find from the last time removing Reflection was discussed: https://trello.com/c/zX9meXTy/381-unblock-api-artsy-net.


Resize issue

Anyone know how to programmatically call the maplibre resize() method from svelte-maplibre?
I'm having an issue where maps don't stretch to fill their parent container when they are loaded.
Using vanilla Javascript I get get the map to expand by issuing map.resize() immediately after load.
Through various tests and googling it appears that the canvas is not picking up the parent container's size when it loads. Regardless, need to resize the map as the window is resized so it would be nice to have access to this method through the svelte component.
Any ideas?
Thanks!

Figured it out.
Apparently, you need to explicitly set the parent container width and height.
Their implicit sizes is not picked up by maplibre for some reason.
I set them to 100% and now the map elements stretch to fill the css grid box correctly.

Figured it out.
Apparently, you need to explicitly set the parent container width and height.
The parent container's implicit size is not picked up by maplibre for some reason.
I set sizes to 100% and now the map elements correctly stretch to fill their parent divs.

For anyone seeing this in the future, I was able to dynamically size the component by binding the map attribute to a variable - and then calling map.resize() in onMount()

For anyone seeing this in the future, I was able to dynamically size the component by binding the map attribute to a variable - and then calling map.resize() in onMount()

Could you share more details? Is the map variable the one you binded maplibre component?? Thanks!

Here's an example of what I implemented
`

<MapLibre
center={center}
mapContainer={mapContainer}
{zoom}
class="grid rounded-lg"
bind:map
bind:style>
{#each markers as marker}
<DefaultMarker lngLat={{lat: marker.lat, lng: marker.lng}}>
{/each}
`

Awesome thanks! This fixed my issues


style(Search): several cleanups

I missed the moment when #1123 was merged, so I'll make several style cleanups in this PR.
This PR:

sorts props inside their blocks;
sorts imports;
propTypes cleanups (#524);
other moments.

I've updated ts-definition file and updated propTypes for #524.

Current coverage is 95.88% (diff: 100%)

No coverage report found for master at b7ffa6a.

Powered by Codecov. Last update b7ffa6a...c3c6e65

Thanks much!

Released in<EMAIL_ADDRESS>


erlinit fetch is failing

Hi,
i am using erlang zeus branch.
i have added erlinit package in my image file,
it's failing in fecth only .
ERROR: erlinit-1.6.0-gitAUTOINC+53b0a4dfc5-r0 do_fetch: Fetcher failure for URL: 'git://github.com/nerves-project/erlinit;branch=master'. Unable to fetch URL from any source.

Hi,
This should fix the problem https://github.com/meta-erlang/meta-erlang/commit/494b1efc8bb951cbee3ca8df5d2ceff4ce078c05
Try again with zeus branch.


Updates SendAppMetrics to use new go-loggregator GaugeAppInfo

Set the instance index as meta information instead of a metric value
Signed-off-by: Andrew Poydence<EMAIL_ADDRESS>

Thanks, @apoydence ! Prioritizing for the Diego team to pull in soon. Does this fix any particular bugs, or is it just updating the use of the dependency?
Best,
Eric

@emalm This fixes an issue with go-loggregator where it was emitting application instance index as a gauge. Loggregator's conversion logic is capable of understanding this odd instance index gauge and putting in the right place. We'd like to not do this but no rush on merging.

Thanks, @jasonkeene, sounds good! We'll try to get to it soon, then.


Update IBM GB rep

Peter Klenk replaces Shawn Clymer as IBM rep https://cd.foundation/about/governing-board/

@tracymiranda @jsalinas29 do either of you have Peter's headshot/bio? If no, I can reach out directly. Thanks! -G

I do not, please reach out directly thanks @galemccommons

This is complete


make ornam part of att.altsym

For <ornam> he guidelines state:

The glyph of the ornament may be indicated with the @altsym attribute

but actually <ornam> isn't part of att.altsym.
As <ornam> is equal to <mordent>, <turn>, and <trill> it basically should allow the same attributes.

Oops!  Will fix in the next release.


remove explicit make_pair template arguments

this causes compilation failures using gcc 6.1.1, e.g.:

tophat_reports.cpp:2708:128: error: no matching function for call to ‘make_pair(Junction, JunctionStats&)’
     gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
                                                                                ^
In file included from /usr/include/c++/6.1.1/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/6.1.1/bits/char_traits.h:39,
                 from /usr/include/c++/6.1.1/string:40,
                 from /usr/include/boost/thread/exceptions.hpp:20,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:10,
                 from /usr/include/boost/thread/thread_only.hpp:17,
                 from /usr/include/boost/thread/thread.hpp:12,
                 from /usr/include/boost/thread.hpp:13,
                 from tophat_reports.cpp:19:
/usr/include/c++/6.1.1/bits/stl_pair.h:425:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
     make_pair(_T1&& __x, _T2&& __y)
     ^~~~~~~~~
/usr/include/c++/6.1.1/bits/stl_pair.h:425:5: note:   template argument deduction/substitution failed:
tophat_reports.cpp:2708:128: note:   cannot convert ‘junction_stat’ (type ‘JunctionStats’) to type ‘JunctionStats&&’
     gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
                                                                                ^
Makefile:1421: recipe for target 'tophat_reports.o' failed

these failures are possibly related to a newer default c++ standard that is used with the new gcc

@wookietreiber: I am having hard time running unit test , would appreciate if you can let me know which version with what changes should I use in order to get the unit test up and running? perhaps IDE name and version which is suitable for CppUnit.

@mbparsa What unit test? I'm not a tophat dev, sorry, I don't know what you're talking about.

@wookietreiber : I thought you might be able to help, since I can't get any response from the main developers. The unit test inside tests folder.  I am trying to import the repository into NetBeans +UnitTest

I have just worked with the release tarballs from here. These don't include tests.

@wookietreiber ok, thanks

Using std::make_pair with explicit template arguments is self-defeating - the only reason you would use make_pair is to actually have argument type deduction (http://www.advogato.org/person/redi/diary.html?start=239).

@SoapGentoo Yes, indeed.
Thus, please merge :)

@wookietreiber I would love to 😄 , but I'm not a maintainer, just pitching in that we're having the same problem in Gentoo.


Some documentation fixes (squashed)

Fixed smartquotes in code blocks in Quickstart.md
Added unzip to quickstart requirements to Quickstart.md
Fixed unmatched curly brace in Parameters annotation in ArchitectureOverview.md
Fixed a number of paths and clarified which .properties need editing in ConfigTheCTK.md
extra hyphen in 'cts-demo-java' in StructureAndRationale.md

+1 thanks @bartgrantham - If I don't hear anything about this by Friday, I'm merging it in :)

+1

+1, looks like mostly typo fixes and language improvements.

Yup, minor stuff that I tripped over when working with it a couple weeks ago.


Exit from Config#finalize! if already frozen

This saves the work of attempting to finalize every nested config (or attempt to freeze again every value) if finalize! is called a second time.
This does make finalize! a one-shot operation, i.e. you can't call finalize! first, followed by finalize!(freeze_values: true), but doing this would not be expected usage.

Could you exercise this in a spec please?

@solnic Gladly!
I've done three changes here:

4a893c7, which adds the tests (and rearranges some a little bit)
681687d, which improves the frozen check used inside the configure method (previously it would not have raised the error when Dry::Configurable is extended
70c30c9, made our custom error class names conventional by adding "Error" on the end. Not directly required for the rest of this PR but it needed a tidy and I just wanted to get it sorted

I'll leave this for another day if you wanted to give it a final look before I merge, @solnic :)


Zoom speed command (if possible)

Sony Visca V2.2.0 has a P/T speed command that does not have effect on the zoom speed.
There is no zoom speed command, has the zoom by default the lowest possible speed?
(the slow zoom buttons of the Sony IR remote control are a lot slower and ideal for cinematic effects)

This feature has been implemented in Companion v3.0.0+5781 (beta)

Thanks!
I tried to import my V3.0.0+5769 configuration in v3.0.0+5781, but that didn't work (all connections crasched).
Is that because the Sony Visca module has been updated and is that the case with every module update?


Add is:followed search filter

As follow-up to #25673, we should add an is:followed search filter (labeled "Followed topics" in the typeahead) that filters to messages in followed topics.
This filter should be documented in the ? menu and https://zulip.com/help/search-for-messages#search-your-important-messages.

@zulipbot claim

@zulipbot claim

@zulipbot abandon

is the issue is still on ?
if it is i would like to claim it

@zulipbot claim

@vaniahalim pr #27378 is open and under review which fixes this issue.


Opportunity to use epidist models

Thanks for your help with raising issues on epidist @jamesmbaazam! If you're interested, it'd be great if we could support you as an early user using the package for this work. I don't know where you are with things, but let me know if there is something we can do to help support here.

Thanks, Adam. I'm currently on annual leave and will actively work on this when I return next week.

Hi Adam, I'm back now and so far, most of the conversation has happened in #3. The idea currently is to set up an automated snapshot download. We could potentially produce nowcasts if that would be useful.
How do you think we can apply {epidist} in this case?


Add a notebook on testing

In addition to Wojtek's comments, I found 2 typos (marked in bold)

A leap year is any year that is divisible by 4 unless it is also divisible by 100 and not by 400. The author of the function tried to be clever but is it acutally correct?

In this exercise, we are looking at fitting a parabola using the method of least squares. There is a fundamental difference to the other exercises. Here, we generally cannot sensibly construct an expected output because the fit has to deal with randomess

The headings of the subsections in Testing could be moved one level up because they all start with 1.0
Why is the meaning of '*' in the title of section "Least Squares Fit"?
In the exercise about energy transfer, m_n is not defined

Fixed the typos, defined m_n, and added more descriptions.

Why is the meaning of '*' in the title of section "Least Squares Fit"?

This was supposed to indicate that the exercise is a 'bonus'. Removed it because there is the additional info box.

You may consider adding solutions to the exercises in another folder.

There are solutions in solutions/5_testing/1_testing.ipynb. I added solutions for the exercises in the guided part.

The headings of the subsections in Testing could be moved one level up because they all start with 1.0

What do you mean? Does it show a '1.0' somewhere for you?

@jl-wynen
The subsections, I am talking about, are numbered
1.0.1  Error Modes
<IP_ADDRESS>  Aside: Exceptions
1.0.2  Zeeman Splitting

Ah, I see. I had this numbering disabled.


google photos auth broken

It seems google has changed the authorization process. both this project and the google photos project are broken.
here is the error.
pi@atari-pi:~/MagicMirror/modules/MMM-GoogleDriveSlideShow $ npm run token:generate

<EMAIL_ADDRESS>token:generate
node generate-auth-token.js

/home/pi/MagicMirror/modules/MMM-GoogleDriveSlideShow/generate-auth-token.js:33
const OAuth2Client = new google.auth.OAuth2(client_id, client_secret, redirect_uris[0]);
^
TypeError: Cannot read properties of undefined (reading '0')
at /home/pi/MagicMirror/modules/MMM-GoogleDriveSlideShow/generate-auth-token.js:33:86
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)

Changing it to Desktop App made it work for me.

Can anyone help. I have a working MMM-GoogleDriveSlideShow at the moment but I have received a email from Google telling me that OAuth OOB flow will be deprecated on October 3, 2022. my problem is do not know what I'm to do, I see phevi0 say Changing it to Desktop App. As I do not know where to start can someone help.


[SPA] allowing passing additional context to the render function

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the feature has not already been requested

🚀 Feature Proposal
Currently SPA mode doesn't allows to pass additional context to the render function.
Motivation
I have a case that I wan't to render some stuff on the html not related to the React app.
For example, render app version inside a meta tag.
Example
reply.html({
      version: env.BUILD_VERSION
});

Use https://vitejs.dev/config/#using-environment-variables-in-config?

Will it work inside the HTML?
(In my case, I need it to be dynamic depending on the domain the app got served from)

As long as it's prefixed with VITE_, it will be picked up by Vite automatically.
But this feature request is very much worthwhile, I'll look into it and circle back.


How to get the current redux state from getInitialProps ?

When i process a Router.push to redirect to another page, getInitialProps is called but without req, so my app can't process to the initial ajax request without these information.
To fix this, I need to store these info into redux and then pick them in case getInitialProps is unable to get req info.
How can i do this ?
Thanks

Ok i found out store.getState


PyZMQ / ZMQ

Hi, I'm trying to run Openpilot through Termux on another Android Build (Raspberry PI with Android Things) and getting an error when launching openpilot. I was hoping to get some help. I isolated it to the below.
--- test .py
import zmq
print('do nothing')
$ python2 test.py
Traceback (most recent call last):
File "test.py", line 1, in
import zmq
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/init.py", line 47, in
from zmq import backend
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/backend/init.py", line 40, in
reraise(*exc_info)
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/backend/init.py", line 27, in
_ns = select_backend(first)
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/backend/select.py", line 27, in select_backend
mod = import(name, fromlist=public_api)
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/backend/cython/init.py", line 6, in
from . import (constants, error, message, context,
ImportError: cannot import name constants
--python3 adds the information below
ImportError: dlopen failed: cannot locate symbol "zmq_strerror" referenced by "/data/data/com.termux/files/usr/lib/python3.7/site-packages/zmq/backend/cython/error.cpython-37m.so"...
This issue is cross linked here
https://github.com/zeromq/pyzmq/issues/1240
I'm thinking there is some uniqueness in the Tmux/ZMQ Build. Does ZMQ need to be installed somewhere in the system? @geohot @rbiasini  ?

Addressed here https://github.com/zeromq/pyzmq/issues/1240


[Routing] Use cases to cover

Desired behavior
Implement and cover the following use cases:

[ ] Case 1:

Scenario: single road, single lane.
Routing request: route from point A to point B in the same route and lane. No constraints.
Expected result: route that joins A with B.

[ ] Case 2:

Scenario: single road, multiple lanes.
Routing request: route from point A to point B in the same route and same lane.  No constraints.
Expected result: route that joins A with B within the same lane (i.e. no lane change as possibility).

[ ] Case 3:

Scenario: single road, multiple lanes.
Routing request: route from point A to point B in the same route and different lanes.  No constraints.
Expected result: route that joins A with B within the route, but with the required information that a change of lane is required.

[ ] Case 4:

Scenario: multiple routes, all single-lane routes.
Routing request: route from point A to point B with just one possible path.
Expected result: route that joins A with B within the map.

[ ] Case 5:

Scenario: multiple routes, all single-lane routes.
Routing request: route from point A to point B with multiple possible paths.
Expected result: route that joins A with B within the map that minimizes cost.

[ ] Case 6:

Scenario: multiple routes, all single-lane routes.
Routing request: route from point A to point B, no connectivity between the points.
Expected result: empty result for the request.

[ ] Case 7:

Scenario: multiple routes, all single-lane routes.
Routing request: all routes from point A to point B with a certain constraint set.
Expected result: list of paths satisfying the constraint set.

[ ] Case 8: replicate cases 4 to 7 by changing the scenario to a multiple lane map.
[ ] Case 9: replicate case 8 to include lane changes.
[ ] Case 10: work on different cost functions.

Scenarios:

Different agent types
Different speed limits.
Junction management.

Alternatives considered
None.
Implementation suggestion
See #372 and https://docs.google.com/document/d/1hSUBVtm288Z_MNLmTeN_40GDomwWPd6OltZqIQ-BT8M/edit# for context.
Additional context
None.

It is a typo or is there a case I am missing?
Scenario: multiple routes, all single-lane routes.

from case 4 to 7 you actually refer to multiple roads, all single-lane roads, right?


Handling async state

I'm wondering what's the best approach to generically handle async state in combination with react-router and redux for showing a loading spinner during backend requests.
Do you have any recommendations?

Excellent question.
To be honest, I'm still trying to figure out the best way to do this.
Here are some libraries that all aim at solving that problem of getting props asynchronously:

https://github.com/ericclemmons/react-resolver
https://github.com/Rezonans/redux-async-connect

React-resolver has support for @client(Loader) where Loader is a component that will handle loading. But it is not documented apparently. See this and this.
But the author is still working on a redux example.
Redux async connect obviously supports redux but I don't know how it handles loading.
...Some more libs that I like bit less:

https://github.com/ryanflorence/async-props
https://github.com/raisemarketplace/ground-control
https://github.com/markdalgleish/redial

That being said... All those libs are dealing with the problem of supporting universal applications (rendered on server first).
In the project, the privateRoute aims to resolve that problem.
I think with a good middleware, some higher order reducers and some higher-order components, one can come up with a custom solution.
I'm sorry if I cannot provide further guidance on this, I'm working on an application with no data-loading at the moment. But solving that problem is definitely on the TODO-list :smile:
Let me know how you tackle this problem and I'll do the same when I have so more time to investigate.

If you want to stay very simple and lean, you can load all the data you need in a root container. Like it's done in this application (getSession in the App container).

Thanks a lot for your feedback - interesting links!  I'll get back to you when we've decided what approach we'll take.

Any progress @pulse00 ?
I've just came across redux-task which looks cool.
http://sskyy.github.io/redux-task/index.html

Hi @pulse00!
I've published an article about shastajs.
It is not stable yet but it does solve the problems you mentioned in a very elegant way.
I'm going to close this issue. Do not hesitate to ping me to keep me updated on your progress!
I'm also working on boot-react-simple which aims to simplify the frontend with the newest additions in the React ecosystem.

@geowarin sorry for delayed answer. thanks for pointing out shastajs! We've currently built our own solution as shasta looks rather experimental at this time. Basically we've created a higher order component for async components which render a loader when no data is there yet and re-renders as soon as the store changes the state after loading the backend data.
We'll probably migrate to some more generic solution like shasta in the future.


Fix rate adjustment bug and update README.md

IDF 5.0 support needs time and our effort together.I have written in README that not support IDF-5.x. This PR foucus on rate adjustment API.
It's not that hard to achieve 200fps in laptop.How about rpi4? I only have less than 40fps.Do you use pi?

How about rpi4? I only have less than 40fps.Do you use pi?

No RPI4， I use RPI 3B+ and laptop.
So 200fps is achieved on laptop? resolution?? wifi card? os ???

How about rpi4? I only have less than 40fps.Do you use pi?

No RPI4， I use RPI 3B+ and laptop.
So 200fps is achieved on laptop? resolution?? wifi card? os ???

No, it's just laptop with empty frames( Air_firmware power off. ) which could achieve over 200 fps.
With the air power on. I'm suffering about very low fps issue.
So there is no magic now and  maybe no one achieves a higher fps now .I'm really want something  happen just like the writter writen in the readme.

I need to mention that the fps is imgui fps, and the vfps is the true fps we wanna.

我们能加一下微信吗，或者留个电话来方便讨论关于esp32-cam-fpv的问题？我觉得打个电话能够更高效的在很短的时间同步我们两个人目前的项目状态。您觉得呢？
---Original---
From: "Daniel @.>
Date: Sat, Feb 4, 2023 10:25 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [jeanlemotan/esp32-cam-fpv] Fix rate adjustment bug and updateREADME.md (PR #28)
How about rpi4? I only have less than 40fps.Do you use pi?
No RPI4， I use RPI 3B+ and laptop.
So 200fps is achieved on laptop? resolution?? wifi card? os ???
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

我们能加一下微信吗，或者留个电话来方便讨论关于esp32-cam-fpv的问题？我觉得打个电话能够更高效的在很短的时间同步我们两个人目前的项目状态。您觉得呢？

wechat account, see bilibili response.

Thanks for the PR. Weren't the changes in this PR already merged? Could you rebase?

Go and check https://github.com/jeanlemotan/esp32-cam-fpv/issues/22?notification_referrer_id=NT_kwDOA7NPlLM1Mzk4MDg4NDY2OjYyMDgyOTY0#issuecomment-1413593657
I change the internal api to esp_wifi_config_80211_tx_rate() .
I use IDF-4.4.3.
use internal API:

The result:

use esp_wifi_config_80211_tx_rate() API:

The result:

(Pay attention to the raw data , we could also see the JFIF header which means jpeg.haha~)
ATTENTION! Version matters!
I checked ESP32 API doc version by version and find that we could officially adjust the rate of 802.11 injection only when using IDF-4.4.2 or newer.
IDF-4.4.2 and above says:
https://docs.espressif.com/projects/esp-idf/en/v4.4.2/esp32/api-guides/wifi.html#wi-fi-80211-packet-send

IDF-4.4.1 and below says:
https://docs.espressif.com/projects/esp-idf/en/v4.4.1/esp32/api-guides/wifi.html#wi-fi-80211-packet-send

I also find something in ESP-FAQ about the internal api:
https://docs.espressif.com/projects/espressif-esp-faq/zh_CN/latest/software-framework/wifi.html

So, Maybe ESP-FAQ is a little bit of confusing."To set and fix the Wi-Fi sending rate" may only just about "wifi"(we normally heared from) but not 802.11 raw packet.
No matter what the ESP-FAQ says,just following the API doc and using the official API to adjust 802.11 rate without a problem.
I will make a PR and note we should use at least IDF-4.4.2 version.


On supported Python versions

I see from Travis that the supported versions are presently 2.7 and 3.4. Would it be at all possible to add 3.5 and 3.6 as for scikit-hep, for consistency? Or that's too demanding right now because of the ROOT builds?

I've added Python 3.5 and 3.6 to Travis in #49.
I see this PR also mentions Python 2.6, do you see any reason to actively try and maintain support for it?

That's becoming a FAQ ;-). We've had a discussion about this in the admins list. The fact is that a bunch of HEP software still uses Python 2.6 and we hence are trying (hard and painfully at times) to keep compatibility while we can. After all our software tends to live for a long time and we need long-term support. It is understood, though, that we will eventually drop 2.6.
Bottom line: if possible, let's try and keep 2.6 compatibility alive.


ITMS-90035 error caused by GeneratePhoneNumberHeader.sh

For the latest version (0.7.5), GeneratePhoneNumberHeader.sh is included in the target, which fails when uploading to app store (Error itms-90035). Looks like we add the script to target since 0.7.4.
Do we need this file for the target? And could we remove it? Thanks.

I removed it from the target. A new release is available (0.7.6).


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/event-notifications/ibm (source)
module
patch
1.10.14 -> 1.10.19

terraform-ibm-modules/secrets-manager/ibm (source)
module
patch
1.18.3 -> 1.18.6

Release Notes

terraform-ibm-modules/terraform-ibm-event-notifications (terraform-ibm-modules/event-notifications/ibm)
v1.10.19
Compare Source
Bug Fixes

fixed bug which caused validation to fail when passing existing EN instance + plug the test gap (#300) (702db73)

v1.10.18
Compare Source
Bug Fixes

added a fix to avoid errors in DA when using existing resources (#267) (bd098f6)

v1.10.17
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.11.13 (#297) (a9a90ef)

v1.10.16
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.11.12 (#296) (1ddbae0)

v1.10.15
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.11.11 (#294) (0813ae5)

terraform-ibm-modules/terraform-ibm-secrets-manager (terraform-ibm-modules/secrets-manager/ibm)
v1.18.6
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/event-notifications/ibm to v1.10.17 (#209) (e71a27f)

v1.18.5
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/event-notifications/ibm to v1.10.16 (#208) (bceafdb)

v1.18.4
Compare Source
Bug Fixes

deps: update terraform-module (#206) (55183f4)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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

GitHub release
v1.5.0

Your semantic-release bot :package::rocket:

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

GitHub release
v1.5.0

Your semantic-release bot :package::rocket:


move test event to the far future

coverage: 88.674%. remained the same when pulling ae8e85a4f25395004459ecb035bf3c48bf84a434 on more-back-much-more-back into 4eecd1a49866b16e76ed79b74373d1265e3db0f4 on main.


New TP server table suggestions

I'm submitting a ...

[ ] bug report
[ ] new feature / enhancement request
[x] improvement request (usability, performance, tech debt, etc.)
[ ] other

Traffic Control components affected ...

[ ] CDN in a Box
[ ] Documentation
[ ] Grove
[ ] Traffic Control Client
[ ] Traffic Monitor
[ ] Traffic Ops
[ ] Traffic Ops ORT
[x] Traffic Portal
[ ] Traffic Router
[ ] Traffic Stats
[ ] Traffic Vault
[ ] unknown

Current behavior:

Just some nits on the new TP servers portal.  Purely my opinion.

How to search isn't initially obvious.  Per column search is a good feature though.
Single line table results initially have terrible elision as everything looks the same.
It would be lovely to have tooltip hover for non column expanded items.

Expected / new behavior:

Minimal reproduction of the problem with instructions:

Anything else:

How to search isn't initially obvious.  Per column search is a good feature though.

Per column table search makes searching very powerful but i agree, it isn't very obvious how to do it. i also think a global, across all column search (like the old table had) is still very valuable to the non-power user.

I'll add on that I don't really mind adjusting column widths as long as TP will remember the widths, but it would be nice if adjusting one column's width didn't eat into the width of the column next to it. That would make adjusting the column widths much easier.

"Single line table results initially have terrible elision as everything looks the same."

"In linguistics, an elision or deletion is the omission of one or more sounds in a word or phrase. The word elision is frequently used in linguistic description of living languages, and deletion is often used in historical linguistics for a historical sound change." - Wikipedia article on elision

I'm not sure how to apply that in this context

"It would be lovely to have tooltip hover for non column expanded items."

What are "non column expanded items"? You want a tooltip on hover that shows all of the columns that are hidden? Or a tooltip that shows cell content when the column is so thin that content gets cut off?

there's also an issue where if you apply a filter to a column and then hide that column, the filter remains in place. if the column, is hidden the filter should be removed.

No a tooltip over the items in a column that have been truncated.  It's possible (but not necessary) to more intelligently shorten what's being displayed.  Fixing that is more of an excuse to write something that uses dynamic programming than anything else.

No a tooltip over the items in a column that have been truncated.

yeah, it would be nice to mouseover each cell and see the full text

That'll mean the current tooltip for "Status" which shows the offline reason for offline servers - which was present in the old table - will need to go away. Is that alright?

That'll mean the current tooltip for "Status" which shows the offline reason for offline servers - which was present in the old table - will need to go away. Is that alright?

I think that's a fair trade off

clicking on an empty cell doesn't trigger row click.

hm. It ought to. That's a bug, tbh, not a suggestion.

hm. It ought to. That's a bug, tbh, not a suggestion.

i'll create a bug

New table looks great but I'm already missing the number of results per page - can we add that back in? It's nice to have all when you want it.

also, a clear all filters button would be handy...

another one: pagination is not persisted. i.e. if you go to page 5, click a server then return to the grid, you are back on page 1.

Here's my suggestion: the new search added in #4891 could be made fuzzy.

Here's my suggestion: the new search added in #4891 could be made fuzzy.

can it? i'll have to look into ag-grid's setQuickFilter api to see if it supports anything like that.

Here's my suggestion: the new search added in #4891 could be made fuzzy.

@ocket8888 can u make a separate issue for that?

I'll add on that I don't really mind adjusting column widths as long as TP will remember the widths, but it would be nice if adjusting one column's width didn't eat into the width of the column next to it. That would make adjusting the column widths much easier.

@rawlinp - TP should remember the widths you set but the eating into the width part might be just the way the grid behaves. Not sure there's a reasonable fix for that.

another one: pagination is not persisted. i.e. if you go to page 5, click a server then return to the grid, you are back on page 1.

issue created - #5384

I don't really know what re-sizing columns would look like if it didn't "eat into" the width of other columns. Unless you'd want the table to have a horizontal scrollbar if the size got bigger than the viewport?

It would be a better experience if when I widen column A it didn't also narrow column B at the same time. It means needing to manually resize all columns whenever you want to resize a single column.

It would be a better experience if when I widen column A it didn't also narrow column B at the same time. It means needing to manually resize all columns whenever you want to resize a single column.

yeah, i agree. it's not much fun. FWIW you can double click the column separator to expand it to fit the column contents...

Right, but if you widen column A without narrowing column B then where does the space come from? What are you expanding into?

FWIW you can double click the column separator to expand it to fit the column contents...

Oh, that's a neat trick I would've never figured out on my own!

Right, but if you widen column A without narrowing column B then where does the space come from? What are you expanding into?

The Void. It should expand horizontally -- it already allows you to scroll horizontally if the size is bigger than the viewport.

Okay. I kind of hate horizontal scrollbars, so the current implementation is built with avoiding them if possible in mind, but it's totally possible to bring them back - that's actually the default behavior.

I don't actually see a horizontal scrollbar, but I am able to scroll horizontally.


Use 'XDomainRequest' to facilitate cross domain requests in Old IE.

This partially fixes #14 for me.
Requests to YT & Vimeo over https when the current page is http also fail. PR for that to follow.

Thanks @MozMorris ;)


CRE does not contain the Att&ck framework

Issue
What is the issue?
We are missing the Att&ck framework, it could be used to add more CREs and easily map more tools, code snippets etc.
Should be relatively easy to import via https://attack.mitre.org/resources/working-with-attack/

Let's then go for CAPEC first, as it is oriented towards appsec and not networks - the Att&ck framework is about that. More info: https://capec.mitre.org/about/attack_comparison.html
I believe Christian from Core ruleset talked about basing their data on capec as well.
CWE 311 has about 12 capecs linked. We need to decide whether we want our users to go to CWE and go to the threats from there, or duplicate the CWE data in our database and present the capecs here. Tough call.

capec has been parsed in #212


Refactor UI messages into constants as introduced in #299

This PR introduced a Messages constant. We should extract all messages to follow the same pattern.
https://github.com/mesosphere/marathon-ui/pull/229

I've extracted all unauthorized and access forbidden messages. For every other UI message we need to introduce a new message component (with message templates) or unify/reduce the message content (eg. "Error fetching version details. Refresh the list to try again." => "Error fetching data. Refresh to try again."). What do you think?

In general I wouldn't want to lose specificity – in your example, at least the first part of the message should stay as it is. data is too vague and I think users should get a more meaningful error message (if not just for better issue-reporting :wink: ).
What if we did similarly to the access error messages, and extracted the Refresh to try again part only?
`Error fetching version details. ${Messages.RETRY_REFRESH}`

?

As I said, this is just a first pass. What we might end up doing later is a nicer module with a sprintf like syntax, so we can pass arguments and build more sophisticated messages. I guess we should return to that part later on, when our i18n strategy is clearer.

Sounds good!

Closed by https://github.com/mesosphere/marathon-ui/pull/281


Figure out "proxy" support for contracts

We need to understand requirements and then decide if we want to do something special.
Right now proxying is quite expensive as it requires spinning up an actual proxy contract.
We may be able to do things where only some methods are proxied, forward to different contracts or to host functions.

Discord thread discussing proxy support.


Error in console while duplicate a node from instanciate scene with animations

Godot version
4.0alpha13 (82811367)
System information
Windows 10
Issue description
When duplicate a Node that is an instancied child scene that conatins an AnimationPlayer, I have error in the log:
E 0:00:00:0924   _ready: Attempt to disconnect a nonexistent connection from '[Animation:-9223372010933976578]'. Signal: 'tracks_changed', callable: 'AnimationPlayer::_animation_changed'.
  <C++ Error>    Condition "signal_is_valid" is true.
  <C++ Source>   core/object/object.cpp:1295 @ _disconnect()
  <Stack Trace>  test.gd:4 @ _ready()

Steps to reproduce
Create a "child" scene with a Sprite and an AnimationPlayer with at least one animation.
Create a scene which contains the instancied "child" scene.
Add a script to the scene which duplicate the "child" scene and add it to the root
Minimal reproduction project
Bug_duplicate_animation.zip

Related to https://github.com/godotengine/godot/issues/62288.


[CLI]: non-parallelism breaks cross validation

Describe the bug
The cross validation example seems to depend on parallelism. When I replace import multiprocessing with import multiprocessing.dummy as multiprocessing the first fold will never appear in the project. This seems to indicate that the code depends on the arbitrary order in which code gets executed in parallelism, which might indicate that sometimes even the parallel code might fail.
Perhaps the first call to run.finish() finishes the sweep_run instead of the group run..?
On the very last call to sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics))) it crashes with the following stack trace:
wandb: ERROR Run (3tpcua5p) is finished. The call to `log` will be ignored. Please make sure that you are using an active run.
Traceback (most recent call last):
  File "/home/tim.kuipers/dev/deeplearning/projects/iris_drone_classification/pipeline_2023_fastai2/__ff.py", line 98, in <module>
    main()
  File "/home/tim.kuipers/dev/deeplearning/projects/iris_drone_classification/pipeline_2023_fastai2/__ff.py", line 88, in main
    sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics)))
  File "/home/tim.kuipers/mambaforge-pypy3/envs/fastai_env/lib/python3.10/site-packages/wandb/sdk/wandb_run.py", line 419, in wrapper
    return func(self, *args, **kwargs)
  File "/home/tim.kuipers/mambaforge-pypy3/envs/fastai_env/lib/python3.10/site-packages/wandb/sdk/wandb_run.py", line 380, in wrapper_fn
    raise errors.UsageError(resolved_message)
wandb.errors.UsageError: Run (3tpcua5p) is finished. The call to `log` will be ignored. Please make sure that you are using an active run.

Is it even possible to work with groups inside a sweep without using parallelism?
Additional Files

Here playful sponge was with the original example, while bright water was with multiprocessing.dummy.
Environment
$ wandb --version
wandb, version 0.15.12
$ python3 --version
Python 3.10.12
$ uname -a
Linux WS-Tim-kuipers 5.15.0-88-generic #98~20.04.1-Ubuntu SMP Mon Oct 9 16:43:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Additional Context
Here I provide some code which reproduces the problem I describe exactly.
NOTE: I did not run the following code to get to this bug report, but this code does in fact reproduce the exact same two problems: the first fold doesn't appear in the web interface and we end with a stack trace error.
(The code to get to this bug report is the example train-cross-validation.py with import multiprocessing replaced by import multiprocessing.dummy as multiprocessing.)
import wandb
import os
import random

def reset_wandb_env():
    exclude = ("WANDB_PROJECT", "WANDB_ENTITY", "WANDB_API_KEY")
    for k in list(os.environ.keys()):
        if k.startswith("WANDB_") and k not in exclude:
            del os.environ[k]

def train(worker_num, sweep_id, sweep_run_name, config):
    reset_wandb_env()
    run_name = f"{sweep_run_name}-{worker_num}"
    run = wandb.init(
        group=sweep_id,
        job_type=sweep_run_name,
        name=run_name,
        config=config,
    )
    val_accuracy = random.random()
    run.log({'val_accuracy': val_accuracy})
    run.finish()
    return val_accuracy

def main():
    num_folds = 5
    sweep_run = wandb.init()
    sweep_id = sweep_run.sweep_id or "unknown"
    sweep_url = sweep_run.get_sweep_url()
    sweep_group_url = f"{sweep_run.get_project_url()}/groups/{sweep_id}"
    sweep_run.notes = sweep_group_url
    sweep_run.save()
    sweep_run_name = sweep_run.name or sweep_run.id or "unknown"

    metrics = []
    for num in range(num_folds):
        val_accuracy = train(
            worker_num=num,
            sweep_id=sweep_id,
            sweep_run_name=sweep_run_name,
            config=sweep_run.config,
        )
        metrics.append(val_accuracy)

    average_val_accuracy = sum(metrics) / num_folds
    sweep_run.log({'val_accuracy': average_val_accuracy})
    sweep_run.finish()

    print("*" * 40)
    print("Sweep URL:       ", sweep_url)
    print("Sweep Group URL: ", sweep_group_url)
    print("Average Val Accuracy: ", average_val_accuracy)
    print("*" * 40)

if __name__ == "__main__":
    main()

Hi @BagelOrb, just to clarify were you able to reproduce this without using multiprocessing.dummy ? I'll test out the code sample you send but if I understand correctly, you are saying that since the parallel processes are executed in an arbitrary order it's possible that wandb.finish could be called before wandb.log in this example correct?

Hi @nate-wandb,
Please start by testing the train-cross-validation.py from your examples library.
Then change the line import multiprocessing in that file for import multiprocessing.dummy as multiprocessing.
This change shouldn't introduce a bug, but it does. The parallelism isn't the problem, turning off the parallelism causes the problem somehow. That's really odd.

Just to clarify: the basic example train-cross-validation.py without any changes doesn't cause any issue. It's just that I want to do cross validation without doing parallelism, but I can't get it working. Not using code that's very close to your example, and also not with code that's much simpler which doesn't use parallelism. Something seems to be horribly broken. Please make it possible to do cross validation without parallelism.

Hey @BagelOrb, the reason this is happening is because multiprocessing.dummy is just a wrapper for the threading lib. Therefore, spinning up multiple threads would cause these threads to share memory and resources across all of the initialized runs. That's why worker_q.get() doesn't fetch anything as it gets executed before the worker.queue.put call. And, from the snippets you can see the order in which the runs are initialized.
Also, you see 4 folds [runs] in that job type not 5 because the first run (atomic-gorge-239) run doesn't have the same job type as the other 4. The job type for the other 4 runs is the same =atomic-gorge-239 [as seen in the second snippet].

Hey @BagelOrb , here's an example via which you can get cross-validation running without multiprocessing --
#!/usr/bin/env python
import wandb
import os
import collections
import random

SweepData = collections.namedtuple(
    "SweepData", ("num", "sweep_id", "sweep_run_name", "config")
)

def reset_wandb_env():
    exclude = {
        "WANDB_PROJECT",
        "WANDB_ENTITY",
        "WANDB_API_KEY",
    }
    for key in os.environ.keys():
        if key.startswith("WANDB_") and key not in exclude:
            del os.environ[key]

def train(sweep_data):

    run_name = "{}-{}".format(sweep_data.sweep_run_name, sweep_data.num)
    config = sweep_data.config
    run = wandb.init(
        group=sweep_data.sweep_id,
        job_type=sweep_data.sweep_run_name,
        name=run_name,
        config=config,
        reinit=True
        # project='kFold-without-MP',
        # entity='anmol',
        # id=wandb.util.generate_id()
    )
    val_accuracy = random.random()
    run.log(dict(val_accuracy=val_accuracy))
    run.finish()
    return val_accuracy

def main():
    num_folds = 5

    sweep_run = wandb.init()
    sweep_id = sweep_run.sweep_id or "unknown"
    sweep_url = sweep_run.get_sweep_url()
    project_url = sweep_run.get_project_url()
    sweep_group_url = "{}/groups/{}".format(project_url, sweep_id)
    sweep_run.notes = sweep_group_url
    sweep_run.save()
    sweep_run_name = sweep_run.name or sweep_run.id or "unknown_2"
    sweep_run_id = sweep_run.id
    sweep_run.finish()
    wandb.sdk.wandb_setup._setup(_reset=True)

    metrics = []
    for num in range(num_folds):
        reset_wandb_env()
        result = train(
            SweepData(
                sweep_id=sweep_id,
                num=num,
                sweep_run_name=sweep_run_name,
                config=dict(sweep_run.config),
            )
        )
        metrics.append(result)

    # resume the sweep run
    sweep_run = wandb.init(id=sweep_run_id, resume="must")
    # log metric to sweep run
    sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics)))
    sweep_run.finish()

    print("*" * 40)
    print("Sweep URL:       ", sweep_url)
    print("Sweep Group URL: ", sweep_group_url)
    print("*" * 40)

if __name__ == "__main__":
    main()

As a workaround, we use _setup(_reset=True) in the above script. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

As a workaround, we use _setup(_reset=True) in the above script to reset the settings which are set during the sweep run initialization. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

I don't understand what you are saying here. For what is this a workaround?
I see you've also added wandb.init(..., reinit=True) which seems to be important.
Please note that I did not request to allow for multi-threading - I wanted to be able to do cross validation without multi-threading. The example file I've linked to above already shows how to do cross-validation in a multi-processing context. (Or am I confusing multi-threading with multi-processing here?)
The only WANDB_ env var being deleted by reset_wandb_env is WANDB_SERVICE. I've tested and the code also works without reset_wandb_env. I've simplified the code for anybody reading this thread in the future:
#!/usr/bin/env python
import wandb
import os
import collections
import random

def train(num, sweep_id, sweep_run_name, config):

    run_name = f'{sweep_run_name}-{num}'
    run = wandb.init(
        group=sweep_id,
        job_type=sweep_run_name,
        name=run_name,
        config=config,
        reinit=True
    )
    val_accuracy = random.random()
    run.log(dict(val_accuracy=val_accuracy))
    run.finish()
    return val_accuracy

def main():
    num_folds = 5

    sweep_run = wandb.init()
    sweep_id = sweep_run.sweep_id or "unknown"
    sweep_url = sweep_run.get_sweep_url()
    project_url = sweep_run.get_project_url()
    sweep_group_url = f'{project_url}/groups/{sweep_id}'
    sweep_run.notes = sweep_group_url
    sweep_run.save()
    sweep_run_name = sweep_run.name or sweep_run.id or "unknown_2"
    sweep_run_id = sweep_run.id
    sweep_run.finish()
    wandb.sdk.wandb_setup._setup(_reset=True)

    metrics = []
    for num in range(num_folds):
        result = train(
            sweep_id=sweep_id,
            num=num,
            sweep_run_name=sweep_run_name,
            config=dict(sweep_run.config),
        )
        metrics.append(result)

    # resume the sweep run
    sweep_run = wandb.init(id=sweep_run_id, resume="must")
    # log metric to sweep run
    sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics)))
    sweep_run.finish()

    print("*" * 40)
    print("Sweep URL:       ", sweep_url)
    print("Sweep Group URL: ", sweep_group_url)
    print("*" * 40)

if __name__ == "__main__":
    main()

The reason I thought the user above was interested in mult-threading was because of their use of multiprocessing.dummy lib.
However, to achieve cross-validation either without multi-threading or multi-processing, the example snippet above suffices and works well. Please let me know if it doesn't work for you or in case you have further queries in this regard.

I'm sorry, the 'other user' is just my alt account. The only reason I mentioned multiprocessing was that the only example of cross validation in your examples library uses multiprocessing. I just wanted to get it to work without multiprocessing. That's why I tried replacing multiprocessing by multiprocessing.dummy as a first step.
Thanks for all your effort. You can close this issue as far as I'm concerned.
You might want to include the sample code above in the reference library. (I hereby absolve the code of any copyright of mine.)

(just to verify this is indeed my alt account)

I'm sorry, the 'other user' is just my alt account. The only reason I mentioned multiprocessing was that the only example of cross validation in your examples library uses multiprocessing. I just wanted to get it to work without multiprocessing. That's why I tried replacing multiprocessing by multiprocessing.dummy as a first step.

Ah, I see. No worries, @TimKuipersRobinRadar
I'll put a PR up to include this code in our reference library. Thanks for your prompt responses. :)

WandB Internal User commented:
BagelOrb commented:
Hi @nate-wandb,
Please start by testing the train-cross-validation.py from your examples library.
Then change the line import multiprocessing in that file for import multiprocessing.dummy as multiprocessing.
This change shouldn't introduce a bug, but it does. The parallelism isn't the problem, turning off the parallelism causes the problem somehow. That's really odd.

WandB Internal User commented:
anmolmann commented:
Hey @BagelOrb, the reason this is happening is because multiprocessing.dummy is just a wrapper for the threading lib. Therefore, spinning up multiple threads would cause these threads to share memory and resources across all of the initialized runs. That's why worker_q.get() doesn't fetch anything as it gets executed before the worker.queue.put call. And, from the snippets you can see the order in which the runs are initialized.
Also, you see 4 folds [runs] in that job type not 5 because the first run (atomic-gorge-239) run doesn't have the same job type as the other 4. The job type for the other 4 runs is the same =atomic-gorge-239 [as seen in the second snippet].

WandB Internal User commented:
BagelOrb commented:
Hi @nate-wandb,
Please start by testing the train-cross-validation.py from your examples library.
Then change the line import multiprocessing in that file for import multiprocessing.dummy as multiprocessing.
This change shouldn't introduce a bug, but it does. The parallelism isn't the problem, turning off the parallelism causes the problem somehow. That's really odd.

WandB Internal User commented:
BagelOrb commented:
Thank you very much for looking into this more deeply.
Perhaps the multiprocessing.dummy was besides the point after all. Please have a look at the piece of code I've written.
All I am trying to do is get cross validation working without using threads. I don't want to do multiprocessing, since my models are too resource heavy to do them concurrently.
Please helps me with getting cross validation working. I don't see why the code I had posted above wouldn't work - but I don't know whether that is because of some bug or whether I am just missing some essential piece of code.
Please help. I'm not the only one with this problem. I've looked all over online and found quite some people having problems with this, but haven't found anything close to a solution.
Please make it possible to do cross validation without multiprocessing.

WandB Internal User commented:
anmolmann commented:
Hey @BagelOrb , here's an example via which you can get cross-validation running without multiprocessing --
#!/usr/bin/env python
import wandb
import os
import collections
import random

SweepData = collections.namedtuple(
    "SweepData", ("num", "sweep_id", "sweep_run_name", "config")
)

def reset_wandb_env():
    exclude = {
        "WANDB_PROJECT",
        "WANDB_ENTITY",
        "WANDB_API_KEY",
    }
    for key in os.environ.keys():
        if key.startswith("WANDB_") and key not in exclude:
            del os.environ[key]

def train(sweep_data):

    run_name = "{}-{}".format(sweep_data.sweep_run_name, sweep_data.num)
    config = sweep_data.config
    run = wandb.init(
        group=sweep_data.sweep_id,
        job_type=sweep_data.sweep_run_name,
        name=run_name,
        config=config,
        reinit=True
        # project='kFold-without-MP',
        # entity='anmol',
        # id=wandb.util.generate_id()
    )
    val_accuracy = random.random()
    run.log(dict(val_accuracy=val_accuracy))
    run.finish()
    return val_accuracy

def main():
    num_folds = 5

    sweep_run = wandb.init()
    sweep_id = sweep_run.sweep_id or "unknown"
    sweep_url = sweep_run.get_sweep_url()
    project_url = sweep_run.get_project_url()
    sweep_group_url = "{}/groups/{}".format(project_url, sweep_id)
    sweep_run.notes = sweep_group_url
    sweep_run.save()
    sweep_run_name = sweep_run.name or sweep_run.id or "unknown_2"
    sweep_run_id = sweep_run.id
    sweep_run.finish()
    wandb.sdk.wandb_setup._setup(_reset=True)

    metrics = []
    for num in range(num_folds):
        reset_wandb_env()
        result = train(
            SweepData(
                sweep_id=sweep_id,
                num=num,
                sweep_run_name=sweep_run_name,
                config=dict(sweep_run.config),
            )
        )
        metrics.append(result)

    # resume the sweep run
    sweep_run = wandb.init(id=sweep_run_id, resume="must")
    # log metric to sweep run
    sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics)))
    sweep_run.finish()

    print("*" * 40)
    print("Sweep URL:       ", sweep_url)
    print("Sweep Group URL: ", sweep_group_url)
    print("*" * 40)

if __name__ == "__main__":
    main()

As a workaround, we use _setup(_reset=True) in the above script. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

WandB Internal User commented:
anmolmann commented:
Hey @BagelOrb, the reason this is happening is because multiprocessing.dummy is just a wrapper for the threading lib. Therefore, spinning up multiple threads [multiprocessing.dummy.Process()] would cause these threads to share memory and resources across all of the initialized runs, this wouldn't be the case when multiple processes [multiprocessing.Process()] are spawned as they don't share the resources. That's why worker_q.get() doesn't fetch anything as it gets executed before the worker.queue.put call. And, from the snippets you can see the order in which the runs are initialized.
Currently, we don't support spinning multiple threads in the same context. Once we do you'll see this issue resolve itself. May I ask a reason behind using multiprocessing.dummy in your script?
Also, you see 4 folds [runs] in that job type not 5 because the first run (atomic-gorge-239) run doesn't have the same job type as the other 4. The job type for the other 4 runs is the same =atomic-gorge-239 [as seen in the second snippet].

WandB Internal User commented:
TimKuipersRobinRadar commented:

As a workaround, we use _setup(_reset=True) in the above script to reset the settings which are set during the sweep run initialization. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

I don't understand what you are saying here. For what is this a workaround?
I see you've also added wandb.init(..., reinit=True) which seems to be important.
Please note that I did not request to allow for multi-threading - I wanted to be able to do cross validation without multi-threading. The example file I've linked to above already shows how to do cross-validation in a multi-processing context. (Or am I confusing multi-threading with multi-processing here?)
The only WANDB_ env var being deleted by reset_wandb_env is WANDB_SERVICE. I've tested and the code also works without reset_wandb_env. I've simplified the code for anybody reading this thread in the future:
#!/usr/bin/env python
import wandb
import os
import collections
import random

def train(num, sweep_id, sweep_run_name, config):

    run_name = f'{sweep_run_name}-{num}'
    run = wandb.init(
        group=sweep_id,
        job_type=sweep_run_name,
        name=run_name,
        config=config,
        reinit=True
    )
    val_accuracy = random.random()
    run.log(dict(val_accuracy=val_accuracy))
    run.finish()
    return val_accuracy

def main():
    num_folds = 5

    sweep_run = wandb.init()
    sweep_id = sweep_run.sweep_id or "unknown"
    sweep_url = sweep_run.get_sweep_url()
    project_url = sweep_run.get_project_url()
    sweep_group_url = f'{project_url}/groups/{sweep_id}'
    sweep_run.notes = sweep_group_url
    sweep_run.save()
    sweep_run_name = sweep_run.name or sweep_run.id or "unknown_2"
    sweep_run_id = sweep_run.id
    sweep_run.finish()
    wandb.sdk.wandb_setup._setup(_reset=True)

    metrics = []
    for num in range(num_folds):
        result = train(
            sweep_id=sweep_id,
            num=num,
            sweep_run_name=sweep_run_name,
            config=dict(sweep_run.config),
        )
        metrics.append(result)

    # resume the sweep run
    sweep_run = wandb.init(id=sweep_run_id, resume="must")
    # log metric to sweep run
    sweep_run.log(dict(val_accuracy=sum(metrics) / len(metrics)))
    sweep_run.finish()

    print("*" * 40)
    print("Sweep URL:       ", sweep_url)
    print("Sweep Group URL: ", sweep_group_url)
    print("*" * 40)

if __name__ == "__main__":
    main()

WandB Internal User commented:
anmolmann commented:
The reason I thought the user above was interested in mult-threading was because of their use of multiprocessing.dummy lib.
However, to achieve cross-validation either without multi-threading or multi-processing, the example snippet above suffices and works well. Please let me know if it doesn't work for you or in case you have further queries in this regard.

WandB Internal User commented:
TimKuipersRobinRadar commented:

As a workaround, we use _setup(_reset=True) in the above script to reset the settings which are set during the sweep run initialization. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

I don't understand what you are saying here. For what is this a workaround?
I see you've also added wandb.init(..., reinit=True) which seems to be important.
Please note that I did not request to allow for multi-threading - I wanted to be able to do cross validation without multi-threading. The example file I've linked to above already shows how to do cross-validation in a multi-processing context. (Or am I confusing multi-threading with multi-processing here?)

WandB Internal User commented:
anmolmann commented:
Hey @BagelOrb, the reason this is happening is because multiprocessing.dummy is just a wrapper for the threading lib. Therefore, spinning up multiple threads [multiprocessing.dummy.Process()] would cause these threads to share memory and resources across all of the initialized runs, this wouldn't be the case when multiple processes [multiprocessing.Process()] are spawned as they don't share the resources. That's why worker_q.get() doesn't fetch anything as it gets executed before the worker.queue.put call. And, from the snippets you can see the order in which the runs are initialized.
Currently, we don't support spinning multiple threads in the same context. Once we do you'll see this issue resolve itself. May I ask a reason behind using multiprocessing.dummy in your script?
Also, you see 4 folds [runs] in that job type not 5 because the first run (atomic-gorge-239) run doesn't have the same job type as the other 4. The job type for the other 4 runs is the same =atomic-gorge-239 [as seen in the second snippet].

WandB Internal User commented:
TimKuipersRobinRadar commented:

As a workaround, we use _setup(_reset=True) in the above script to reset the settings which are set during the sweep run initialization. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

I don't understand what you are saying here. For what is this a workaround?
I see you've also added wandb.init(..., reinit=True) which seems to be important.
Please note that I did not request to allow for multi-threading - I wanted to be able to do cross validation without multi-threading. The example file I've linked to above already shows how to do cross-validation in a multi-processing context. (Or am I confusing multi-threading with multi-processing here?)

WandB Internal User commented:
sydholl commented:
WandB Internal User commented:
TimKuipersRobinRadar commented:

As a workaround, we use _setup(_reset=True) in the above script to reset the settings which are set during the sweep run initialization. However, it is not added as a first-class primitive in our codebase yet. I've also added this as a feature request internally to allow support for multi-threading.

I don't understand what you are saying here. For what is this a workaround?
I see you've also added wandb.init(..., reinit=True) which seems to be important.
Please note that I did not request to allow for multi-threading - I wanted to be able to do cross validation without multi-threading. The example file I've linked to above already shows how to do cross-validation in a multi-processing context. (Or am I confusing multi-threading with multi-processing here?)

I noticed one problem with your suggested cross validation code, namely that because you delete WAND_SWEEP_ID from the environment the fold runs of the cross validation won't have the proper Sweep associated. However, when I don't delete it from the environment then the code crashes.
Adjusting the environment variables feels like a hack.
Now I just use a workaround for logging the correct sweep_id: log({'sweep_id': sweep_id}), but I think it's a bit ugly to not have the proper Sweep field logged with the correct values for the fold runs.
Is cross validation such an outdated concept that wandb has such difficulty with it?


v4: Couple popover fixes

Two small fixes:

Alternate fix to #19006: Add a single variable for controlling that inner 1px padding on .popover.
Restore hiding of the .popover-title with :empty

+
+
+
+3D jQuery Rotator by Creative Punch - modified to just use Pointer Events (and PEP)
+
+
+
+
+3D Rotator by Creative Punch
+Modified to just use Pointer Events (and PEP).
+Click and drag using mouse, stylus or touchscreen to rotate the images.

+

+
+Adapted from CodePen: 3D jQuery rotator – see the article 3D rotator using jQuery
+
+
+
+
+


Production bundle throws a "Super expression must either be null or a function, not undefined" error

I am using the library in one of my applications, which is built using create-react-app.
In development mode, everything works as expected.
When production build is executed, I got the following error in browser console:
Super expression must either be null or a function, not undefined, coming from this line (minified):
(t.ToastController = (function() {
    throw new TypeError("Super expression must either be null or a function, not undefined")
}(i.Component)

I 've tried several solutions within the code, none of it worked.
Somehow, somewhere I stumbled on the suggestion to prevent uglifying function names, by setting following option in TerserPlugin in react-scripts\config\webpack.config.js:
keep_fnames: true,
which seems to resolve an issue.
Any idea what could be the root cause?
I will try to troubleshoot more, to find a potential solution, just wanted to check if it happened before for anyone?

It seems the issue was on my side. I have a custom webpack process in place which was running uglify twice and that apparently broke only this library, among many I use.
I'll close the issue, does not seem to be specific nor expected in common use-case


Unable to identify element when there is Pane in xpath

Example, if an element's xpath is /Window/Pane[1]/Window or /Window/Pane[1]/Window/Pane/Button, that element is unable to access. I am getting error as Element does not exists. Please suggest a solution for this

The issue contains too little information. We ourselves work with Xpaths that contain panes and everything works as intended.
One reason why Xpaths cannot be resolved is the execution level

Applications that run in Admin also need Admin on the Python side to find the Xpath


Document the option to have Option in queries

Not sure if the example is a bit too much? Maybe a one- or three-liner would also suffice? Alternatively, we could integrate it into the primary Query example.

Alternatively, we could integrate it into the primary Query example.

Yes, I would prefer that approach. The sentence on how this works should not be lost though. I think it would be best if we started the documentation of struct Query with a sentence explaining that queries are specified by composing the type of their results, i.e.

&C for shared access
&mut C for exclusive access
(P, Q) to combine to queries into one
Option<Q> for optional components
With<Q, C> to filter for presence of C
Without<Q,C> to filter for absence of C

I would also like it if the example you unpack the Option to demonstrate that one can access the item of the inner query if present. Ideally, put that might be pushing it w.r.t. readability, we would put a tuple inside the like Option<(&Foo, &mut Bar)> to demonstrate that its argument is a query itself, not just component.

Listing all the possibilities explicitly sounds good, as does integration into a single example. Tuples inside Option are another thing I was not aware of.

Thinking about options (of tuples) a bit, some questions came up to me... it is possible to have Option<Foo> as a component, right? Wouldn't that make Options in Queries ambiguous?
What if one adds components (i32, bool, Option<i32, bool>),  and uses Query<(Option<i32, bool>, )>?

Wouldn't that make Options in Queries ambiguous?

No, as the bare query types always contain references to types, not the bare types themselves.

What if one adds components like (i32, bool, Option<(i32, bool)>), and uses Query<(Option<i32, bool>, )>?

Querying for Option<(i32, bool)> should not compile as there is not query impl for i32 and bool. Querying for the mandatory components would be done using (&i32, &bool) and querying for the optional component would be &Option<(i32, bool)>. (And optionally querying for the optional component would be Option<&Option<(i32, bool)>>.
As a general remark, even if there was a problem, there wouldn't be in realistic examples as we would probably not store Option<bool> as a component but rather SomeNewTypeWrapper(Option<bool>) to illustrate what the bool is actually about. And instead of Option<SomeNewTypeWrapper> we would have the component present or not.

Ah, right... I somehow missed the ref in the queries while thinking about the Options stuff, AFK. Of course, this resolves it.

Implemented the suggested list of possible query specifications. Also added a sentence on Entities as Components.
Could it be helpful to also point out how to store a Query in a System? I.e. the lifetime specifiers in
query = Query<(&'static C, &'static mut D)>,

Could it be helpful to also point out how to store a Query in a System? I.e. the lifetime specifiers in

Certainly, I am just wondering where to put this? Integrate into the paragraph starting with Queries are provided as stand-alone structs? Adding to the documentation of Query::new to avoid overloading that part? But then, we would show using Default::default or even #[derive(Default)] for initialisation?

Actually just putting that as a second example on the struct doc would probably be most natural and easy to find?

Added a second example demonstrating prepared queries.


NTumbleBit uses segwit, Breeze's TumbleBit does not

It definitely leads to security holes, but it might also be a blocking factor. SegWit must be integrated to Breeze.
Related: https://github.com/stratisproject/Breeze/issues/201

According to Nicolas the lack of SegWit integration is not blocking.

no it does not
need segwit


Bump versions

Bump:
wpewebkit 2.42.2
backend-fdo 1.14.2
libwpe 1.14.1
cog 0.18.1
I removed soup2 and webaudio to make it fit. Can maybe more polished, but I leave it to someon who knows the internals more

Hi @woutervanh, thanks for submitting this PR. Sorry for a no so fast reply from my side. I am overtaking this task now in the PR https://github.com/Igalia/meta-webkit/pull/490.
If you are interested, I invite to you to take a look and review the changes. In particular there are some tweaks that I had to do to build WebKit for the Dunfell branch. For this case, I had to add meta-clang as dependency since WebKit 2.42+ requires a newer version of GCC or Clang than the one provided by Poky(dunfell).

Closing this in favour of https://github.com/Igalia/meta-webkit/pull/490.


Create a SUPPORT.md file

Create a SUPPORT.md file to have clear steps on how to get help with Kubefirst

done


[Highlight] Region/Tag highlight dont work as expect

Describe the bug
This is a gif about what happen:

To Reproduce
I use other extension to edit my theme, tag, symbol color. So I disable highlight in this extension.
After that, I found out that the highlight color of this extension still sometimes show up and overwrite my editor.
Even I change setting in settings.json:

My default color lightblue:

Still sometimes change into the purple after i move to other file and comeback or do anything (look like update issue):

Expected behavior
I ensure that the color change to purple one by this extension. That behavior gone after I disable it.
I think maybe we forget to check the boolean of highlight setting, so every the update or constructor call, it overwrite my editor color.
Additional context
VSCode version: 1.84.1
Extension version: v1.3.1

Everything works fine after I reload my VSCode...


fix(utilization): return used as does df

We can currently underflow pageserver_resident_physical_size_global, so the used disk bytes would show u63::MAX by mistake. The assumption of the API (and the documented behavior) was to give the layer files disk usage.
Switch to reporting numbers that match df output.
Fixes: #7336

test_slow_secondary_downloads[True]: release

I would be surprised if this would be affected and not flaky.


Health estimate is extremely misaligned

See attached image for example:

Health Estimate Version: 2.0.2
FoundryVTT Version: 0.7.6
PF2e System Version: <IP_ADDRESS>0
When the world is started, the labels are correct, and they stay that way until the first time the scene is changed.

Same for me. Running Health Estimate Version 2.0.2
FoundryVTT Version 0.7.5
D&D 5E Version 0.98
No other modules running for testing purposes. For a moment I thought the module wasn't working at all, until I saw the WAAY offset health estimate bottom right.
https://gyazo.com/4ec7253c26f2f9cb0ae7a685173da240

This is resolved as of version 2.0.3, although I do continue to see the issue presented in https://github.com/Shylight/healthEstimate/issues/6


validate working of form-data request body with -p arg

validate with --curl as well, looks like RequestBuilder is giving some error - builder error: unsupported pair

there are 2 types of form data

x-www-form-urlencoded
form-data

reqwest::RequestBuilder's form method is for the former one and look like the multipart method is for the later one.
so there are 2 sub tasks to support both of the above types in --process as well as --curl

writing custom curl implementation itself, should be covered in that.


Stop overwriting notifications timeout

Here is a hardcoded timeout value set for all notifications. Usually there is a setting in the notification daemon, that handles the duration. Is there any particular reason this is hardcoded and not left to the notification daemon?

Nope, there isn't a reason. I'm down to remove the timeout and let folk's desktop defaults apply. If it turns out that that lasts too long in some places, then I can add a timeout field to the settings to optionally set one. Thank you for submitting #314!


Fix selection rendering

Description
After 3265df76619e689e9a738517732fe930fbe2b590, the selection rendering was off. Selecting the trailing newline of a message (upwards) would render the whole last line of a message to be selected. However, when copying the text, only the trailing newline of the message would be included.
This PR refactors the rendering of the selection to be a bit more readable and to reduce sign-compare warnings in the code (see https://github.com/Chatterino/chatterino2/issues/4825). In addition, a special case for the newline is added to be consistent with rendering the selection of the "trailing newline" (downwards).
Even though the selection is now correctly rendered, this might not be the exact behavior one would expect. Not including the trailing newline might be desired. Feel free to discuss this here and I can potentially adjust the behavior.

I'm unable to reproduce the reported issue, could you provide some more reproduction instructions?


not working on IOS with cordova ios version 7.0.0

the plugin failed to install with Cordova-IOS 7.0.0.
it is failing on the after_plugin_install.js because "path" is undefined.

Same issue for me

@mayainle I uploaded a PR

Hey @EYALIN, this works for me too. Thank you for fixing it.

Fixed in v8.


Support for disabled fields

Would be great if we can tell to jquery-serialize-object to return disabled fields too. Something like:
$('form').serializeObject({getDisabled: true});

This plugin use jQuery.serializeArray under the hood, which only includes "successful controls", so it's not feasible at the moment.
One dirty workaround could be to remove the disabled attributes of such controls, serialize the form and then put it back.

The form
<input name="a" value="1">
<input name="b" value="2" disabled>

is serialized as
var obj = form.serializeObject();
// => {a: "1"}

The values here
form.a; //=> "1"
form.b; //=> undefined

match specification and are what I would expect

I agree on that. If you must have the values of those inputs, they shouldn't be disabled in the first place, or you should grab the values via custom scripts

I believe there is a distinction to be made between "locked" and "unwanted" values. Unfortunately, the spec doesn't give us this nuance... So a flag should be introduced that will provide the data (without more hackery)

Even tho I dont care about this feature, I do agree with @billdanbury

@billdanbury @ValeryIvanov if the value is locked, it is already set somewhere else and therefore does not need to be submitted along with the form data.

@macek Yes I do agree with you, that is what should be done in all applications, unfortunately many of us have to work with legacy application that may not follow this logic and thus need to overcome these kind of limitations (via switches/configuration). Refactoring legacy applications to support whatever libraries expect cannot be always an option (for example too much work). I dont mean to be rude, just tring to explain users perception of how things could be built (in this case more configurable library)


[WOR-1557] Reorganize documentation per repo standards

I have reorganized the existing documentation to conform to the standards outlined in https://broadworkbench.atlassian.net/wiki/spaces/TLR/pages/2952298505/GitHub+Repo+Standards#Documentation-standards. I did not attempt to verify them for accuracy.
My next step is that I am going to go through the instructions for running the code/service and tests. As part of that, I will create the setup, build, and run scripts and update documentation as necessary.

Curious what you think about moving the ./README.md#landing-zone-manager and ./README.md#landing-zone-service into the DESIGN.md document?

I thought that both of these sections were pretty high-level and helped explain what the repo does.


TreeShap using GPUs

This is a rough work in progress PR, compiling a c extension with GPUTreeShap. I have subclassed TreeExplainer as GPUTreeExplainer, overriding shap_values to provide a GPU accelerated version.

Looking good! I wonder if it would make sense to just add a compute="gpu" option to the Tree class? Then we could write a wrapper around the cext that we use directly and that could have a setting for the compute type the user wants. This would eliminate repeated code in the GPUTree class. Thoughts?

It's a possibility, I'm just afraid some things will diverge e.g. there will be some special algorithms implemented for GPU only, or some parameters needed only by the GPU version.

Okay, I am fine leaving it as GPUTree. In that case we should probably call the _cext through a property on the Tree object, then the GPUTree object only needs to set that property to _gpu_cext and everything should be set...

@slundberg one problem with that approach is that the default tree explainer often calls down into the underlying model (beyond our control), so we get a situation where the user calls GPUTreeExplainer.shap_values() and it computes on the CPU.
Instead I am refactoring the boilerplate code into helper functions of TreeExplainer, so there is virtually no code in GPUTreeExplainer except calling into _cext_gpu.

This PR supports the following, the rest can wait.
feature_perturbation="tree_path_dependent" with following models:
Xgboost - regression, binary classification
LightGBM - regression, binary classification
LightGBM - regression, binary classification
sklearn rf - regression
I think it's more or less ready for review.

Still to do on this:

Get it working on linux (works on windows)

Try to make setup.py code calling nvcc more portable and less fragile

Review comments have been addressed, I think this is ready to go.

Fixed a couple of bugs relating to stacked models. Xgboost and LightGBM were having their leaf values put an incorrect place in the C++ representation when models were stacked. Also the LightGBM model loader was not detecting stacked multiclass models.
Now GPU is tested as working for XGBoost/LightGBM/RF, regression/binary/multiclass, shap values and interaction values.
The major missing feature is feature_perturbation='interventional', which I still need to implement in cuda.

Thanks again @RAMitchell ! This looks good to me, and I agree the interventional option will be great, but best left for another PR.


Swift 2.0 Compatibility

Changes made with Xcode 7.0 Beta 3

Awesome! Could you do me a favor and create a pull request for the "swift-2.0" branch that I've just created? I don't want to screw up compatibility while it's still in beta. Thanks :)

Done!
Closing, Replaced with #5


Authenticate using NTLM/Negotiate

I can see that the ruby winrm lib supports using NTLM/Negotiate authentication (https://github.com/WinRb/WinRM/blob/1f18019a296b003b0b1b0b236b1114acb2763971/README.md#ntlmnegotiate). Would that be something rd-winrm-plugin would be able to support as well?
https://github.com/NetDocuments/rd-winrm-plugin/blob/9751a3cc49af8cc6bcf05d6046af1b34ae9af214/contents/winrmexe.rb#L89 doesnt have ntlm as an option.

Fixed by #30


It seems we are not recycling certs anymore

Overview
Several install are still burning certs, although we have the bucket with certs to be restored as expected.

Init actions: 4 expected tasks ...

Process Parameters            ... done! [1 in 0s]
- Creating K8S Cluster
Prepare Temporary Repo        ... 25.0% [#######.....................] [1 in 12m35.300948s]
- Created Softserve
- Waiting Softserve
Prepare Temporary Repo        ... done! [4 in 13m5.454s]
- Softserve Update
- Deploy ArgoCD
- ArgoCD Ready
- ArgoCD available at http://localhost:8080
- Setting argocd credentials
Deploy CI/CD                  ... done! [5 in 2m5.219s]


Added a Static Retry Policy For Connection Timeout

Follow up to the PR: https://github.com/apache/hadoop/pull/5711
This PR introduces a new Static Retry policy to be used only in case of connection timeout failures.
This Static Retry Policy will have a constant retry interval independent of retry count.
Value of the constant is kept at 2s...
This also introduces a new config: "fs.azure.static.retry.for.connection.timeout.enabled" by default set to true.
If this config is true, Static Retry policy will be used always irrespective of the linear retry config value.
If this is false, we will check for linear retry config value and use accordingly

LGTM


Added 'go-to-top' scroller in all pages

Added a simple attractive button at the bottom right of all the pages which when clicked takes the user to the top of the page.

Below is the screenshot , which shows BUTTON in a dummy page.

When pointer is  hovered over a button, it will look like:-

Thank You!!☺

@Devanshi2241 Edit the description which says Fixes:#so-so-number

Ok


CSS

CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

I did it! Yiew!

Well done


shiftfs doesn't work if built in

When running on a kernel that doesn't support modules, shiftfs is always disabled because the check for shiftfs depends on it being compiled as a module.
This check:
https://github.com/lxc/lxd/blob/a75e207459a047835e43245f95ee50ada8854cee/lxd/daemon.go#L623
uses this code
https://github.com/lxc/lxd/blob/fbff4896fa3d1a83530ffa8351fd82d1795a0230/lxd/util/kernel.go#L12
which checks /sys/module/shifts, however that directory doesn't exist because the shiftfs module doesn't expose any paramenters.
This code must currently be working by falling through to the modprobe case and succeeding.
Is there an easy way to check /proc/filesystems instead?

Ah yeah, for this one we should certainly be looking at /proc/filesystems too.