We noticed regressions and inconsistencies after migrating from 0.18.1 to 0.19.0

Hello folks,
we are trying to upgrade an existing project to splinter==0.19.0 but we are running into a lot of issues.
We are aware of the deprecations you introduced (the warning was quite useful) so we migrated all the existing code like this:
context.scenario_browser.is_element_visible_by_xpath("//a[contains(text(), 'Log In')]", 30)

to this:
context.scenario_browser.find_by_xpath("//a[contains(text(), 'Log In')]").is_visible(30)

and the weird thing is that some checks still work as they were working with 0.18.1 while some others give us a mix of these issues:

the same document which can be parsed with 0.18.1 now with 0.19.0 needs a time.sleep(1) (or even longer) otherwise the document isn't ready
it seems that the wait_time parameter is completely ignored: if we use a breakpoint() and debug the code step by step, everything works fine because by running it step by step we manually introduce slowness and by the time we run the next line of code, the element is ready to be parsed.

Considering that we haven't done any other change to our code (the initial PR was made by Dependabot which just bumped the dependency number and I only changed the syntax by following the warning message) we can't really understand why the same code doesn't work anymore.
Are you aware of any similar regression or do you know if there is something we should do to make sure the document is fully loaded before we try to access any of its elements?
Thank you so much.

When you say the wait_time parameter is ignored, have you observed this with your eyes? Does nothing happen for 30 seconds or does the script appear to continue?

The implementation of is_element_visible_by_xpath applied the wait_time argument to both the find element operation and the visibility check. find_by_xpath().is_visible(30) will only apply the wait_time to the visibility check. This behaviour is correct but wasn't documented. This may be the source of your issues.
You can use the wait_time argument with find_by_<x> methods or apply it at the Browser level. This is undocumented at the moment but should be in the future.

When you say the wait_time parameter is ignored, have you observed this with your eyes? Does nothing happen for 30 seconds or does the script appear to continue?

the script appears to continue. It doesn't wait for the element to be available, but it immediately spits errors like ElementNotFound or "the element has been removed from the DOM" etc...
I can provide more information and additional debugging information on Monday when I'm back to work.
Thanks for your reply in the mean time 🙏

The implementation of is_element_visible_by_xpath applied the wait_time argument to both the find element operation and the visibility check. find_by_xpath().is_visible(30) will only apply the wait_time to the visibility check. This behaviour is correct but wasn't documented. This may be the source of your issues.
You can use the wait_time argument with find_by_<x> methods or apply it at the Browser level. This is undocumented at the moment but should be in the future.

we tried that too (yes, I confirm the documentation is not updated but we dug into the source code to find out) but it didn't help. I will collect more information in the next days, thanks again.

@jsfehler hi, I finally had the possibility to do some tests and I tried to do what you said (add the wait_time parameter to each call), but it still doesn't work.
Our code does the following checks (they may be redundant, possibly, but they were working with 0.18.1):
browser.find_by_css("[data-testid=signup-form-expand]", wait_time=30).is_visible(30)
browser.find_by_css("[data-testid=signup-form-expand]", wait_time=30).first.click()

browser.find_by_id("id_email", wait_time=30).is_visible(30)
browser.find_by_id("id_password1", wait_time=30).is_visible(30)

password = password or TEST_PASSWORD
browser.fill("email", email)
browser.fill("password1", password)

browser.find_by_css("[data-testid=signup-form-submit]", wait_time=30).first.click()

If I put a breakpoint() at the beginning and then I continue the execution by pressing c (so in this way I introduce a bit of lag and give it time to load the page), everything works as expected.
If I remove the breakpoint() I get this error:
HOOK-ERROR in before_feature: ElementNotInteractableException: Message: Element <input id="id_email" class="field__input" name="email" type="email"> could not be scrolled into view
Stacktrace:
WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:183:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.jsm:293:5
interaction.clearElement@chrome://remote/content/marionette/interaction.js:344:11
clearElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.jsm:194:17
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.jsm:87:16

@jsfehler hi, sorry to bother you, I was wondering if there were any updates on your side for the above issue. Thanks 🙏

I think I might have a related issue I've been seeing. If unrelated, I can open up a separate one.
I have some tests which are hanging and waiting indefinitely whenever the element cannot be found. This happens if I'm writing a test first, before I've actually implemented the feature.
For example:
print('cities page')
table = self.browser.find_by_css('#result_list')
print('table')
rows = table.find_by_tag('tr')
print('rows')
row_1 = rows[0]
print('row_1')
row_1_text = row_1.find_by_tag('td')[5].text
print('city_1_row_text')
self.assertEqual(city_1_row_text, 'Yes')

Printed in the console before the test hangs:
cities page
table
rows
row_1

I would expect the row_1_text = row_1.find_by_tag('td')[5].text line to throw an error because the table does not have a column at that index yet. Once I add that column, the test passes. I have tried adding a wait_time to the find_by_tag call and I have also configured the browser with a wait_time of 1 second: Browser('chrome', config=config, wait_time=1).
Has anyone encountered this issue with the wait_time not being respected?


[Feature Request]: Add more specific error message on database timeout

Description / Beschreibung
In short: Please add a specific debug message if database connection fails due timeout.
In long:
After installing a new adapter I needed to connect an USB device, so I changed the docker config and restarted the container. Afterwards the system did not work any longer, error message was:
Checking Database connection... Failed. Please check your configuration and try again.
Set ENV DEBUG to true to get more details, but forgot to safe the outputs.
Switched some versions of the image (started from my stable running 8.1.0, went to latest / 9.0.1 and back).
Then set up ENV variables for IOB_STATESDB_TYPE / IOB_OBJECTSDB_TYPE / ff to json and corresponding values. Ran into failed DB check again.
Found this post in ioBroker forums, changed connectTimeout  in objects and states  in iobroker/iobroker-data/iobroker.json and then ioBroker ran again.
Took me quite a while to figure this out. I am not sure if there is a hint somewhere in the docs - did not find it yet. So I am requesting an additional debug / error message after checking db type / connection and running in an error due timeout.
Thank you for the really good work ( :) ).

Not sure how to do that as ioBroker gives no specific output with the actual command i use for database check.
https://github.com/buanet/ioBroker.docker/blob/0cbfd67f5a97cfee8615c9434e34b54721340c72/debian12/scripts/iobroker_startup.sh#L334C28-L334C28
Any ideas?
Regards,
André

Hi Andre,
sorry for keep you waiting. Tbh I am really low level linux user, so I hunted the script through ChatGPT, he suggested this at a first glace:
set +e
if gosu iobroker iob uuid &> /dev/null; then
  echo "Done."
  echo " "
else
  errormsg=$(gosu iobroker iob uuid 2>&1 | sed 's/^/[DEBUG] /')
  exit_status=$?
  set -e

  if [[ $exit_status -eq 124 ]]; then
    # Handle timeout error
    echo "Failed due to a timeout. The database might be too large."
    if [[ "$debug" == "true" ]]; then
      echo "[DEBUG] Error message: "
      echo "$errormsg"
    fi
    echo "Consider increasing the timeout or optimizing your database."
    echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs)."
    stop_on_error
  else
    # Handle other errors
    echo "Failed."
    if [[ "$debug" == "true" ]]; then
      echo "[DEBUG] Error message: "
      echo "$errormsg"
    fi
    echo "Please check your configuration and try again."
    echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs)."
    stop_on_error
  fi
fi

with the hints:

The exit_status variable is introduced to capture the exit status of the gosu iobroker iob uuid command.
If the exit status is 124, which typically indicates a timeout error, it will print a specific message and stop the script.
If the exit status is different, it will handle other errors as before.

I am not sure whether it is possible to access the exit status in the way chat GPT suggests.
Another Thing is, if we know the timeout, we may just run a stopwatch and assume that it depended on a timeout if the database connection is exiting after the timeout value from /opt/iobroker/iobroker-data


Anonymous type access modifier

Describe the bug
There is a different behaviour when running this code as a console app and as a dotnet script:
using System.Reflection;
using System;

Console.WriteLine(new {t=123}.GetType().IsPublic);

Console app: False
dotnet script: True
Is this intended that the access modifier of an anonymous type differs? This affects how Serilog handles anonymous types https://github.com/serilog/serilog-formatting-compact/issues/44
Please complete the following:
Which version of .NET Interactive are you using? There are a few ways to find this out:
1.0.218103+b36733612287d9e8b3237e0120d8a5f19e28d836

OS

[x] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Yes, this is intentional. The C# scripting variant works by creating an assembly for each code submission (e.g. notebook cell execution), so for anonymous types to be visible between submissions, they need to be public.

Ok, thank you. Then we can close this


Create map file in realese

Please, create *.map file in realese for debugging in browser.

You should use the non-minified file for debugging.

No, I means when debugging need in production. In this case i cann't change code.

Why are you debugging in production?

When developing the software, you are not protected from errors, and sometimes it is impossible to reproduce the error on the test stand because of the difference in data on production.
Why other libs has js, min.js, map files in release, but this lib no?

I'm not opposed to it, if someone wants to submit a PR.

Why other libs has js, min.js, map files in release, but this lib no?

Because including the source mapping in min.js adds to the file size and the point of minimizing is to minimize the file size so it is served as fast as possible.
You should probably have a staging/dev/test environment that you can duplicate the data to or reproduce in so you can debug safely there. If not, perhaps its time to look into increasing your dev ops so you can have these environments.
Also you can debug in Chrome. Click the {} button in the source viewer to see a bit more readable part.

Because including the source mapping in min.js adds to the file size and the point of minimizing is to minimize the file size so it is served as fast as possible.

Maps are typically served as separate files.


speed up compilation of binaries

run compilation in parallel

Codecov Report

Merging #1797 (c4c3fa2) into main (f22d2f6) will decrease coverage by 0.04%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #1797      +/-   ##
==========================================
- Coverage   60.03%   59.99%   -0.04%
==========================================
  Files         105      105
  Lines       10606    10606
==========================================
- Hits         6367     6363       -4
- Misses       3792     3799       +7
+ Partials      447      444       -3

see 7 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


UI: Not showing resource quota on existing or new namespaces after a resource quota is added to an existing project

master 3/13

Create a k8s cluster, it automatically creates a Default project and default namespace
Add a resource quota to the "Default" project

Issue #1: Try to view/edit the resource quota on the "default" namespace in the UI. There is no resource quota shown even tho it is in the API.

Issue #2: Try to add a new namespace to the Default project and resource quota isn't shown even tho namespace defaults should exist.

@soumyalj Can you confirm if this was the case even in 2.1.7  ?

This issue does not exist in v2.1.7. Resource quotas are shown correctly for default namespace and new namespaces.
Edit Default namespace

Add new namespace


Export Private Keys

I want to export the private keys into a readable format to use in oBTC blue wallet.
Can private keys, or a QR code generator be implemented ?
Or
Is there a way to view the wallet data as a mnemonic phrase for use in other wallets ?

@raspy313 , to get PrivateKey from OBTC-address, need to follow the following steps, in OBTC-wallet:

Generate OBTC-address: Receive -> Create new receiving address.
Copy generated addres -> Just copy this.
Go to console: Window -> Console.
Dump private key of this address -> Type dumpprivkey OBTC_ADDRESS -> Privkey on output.
Save privkey.
Import privkey if need: Window -> Console -> importprivkey YOUR_SAVED_PRIVATE_KEY.


HTML: HtmlTextRenderer doesn't support lists (ul/ol/li)

Support for lists would be very useful.

The answer #338


Subscribing open to spamming

Issue Summary
Subscribing to a Ghost blog that has enabled the experimental subscription feature is open to spamming. Spammers will submit the subscription form with just the email addresses filled out. Ghosts accepts these.
Combined with the new Zapier integration this could lead to a rather unpleasant situation when these addresses are subscribed to a Mailchimp email list and start receiving email.
Steps to Reproduce
Assuming Ghost is running on port 80 on localhost.

Subscribe with just an email address:
curl -d<EMAIL_ADDRESS>http://localhost/subscribe/
Observe that<EMAIL_ADDRESS>is among the subscribers in http://localhost/ghost/#/subscribers.
Check the subscribers table in the DB and you'll notice that<EMAIL_ADDRESS>was registered without subscribed_referrer or subscribed_url.

Technical details:

Ghost Version: 1:20 official docker image
Node Version:
Browser/OS: N/A
Database: SQLite from official docker image

Wouldn't adding CSRF protection solve part of this issue?

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated

CSRF does not prevent spam.

The subscribers feature is intentionally very limited in Ghost at the moment (one of the main reasons it's still in beta 😉) with the idea being that it's a gateway for deeper integrations via Zapier. The feature will be become more fleshed out as work on members progresses.

Some techniques for spam protection:

email validation - in place
enable double opt in (email confirmation) - possible using Zapier
brute force protection for the ip address (but it won't avoid spam completely, it just reduces spam)
captcha for the form (proof human, ux downside)
honeypot fields to trick spam bots (does not protect against manual attack)

I'll re-open this issue for now to add (3) and maybe (5). Any other suggestions are welcome.
Subscribers is a beta feature. Any help is appreciated 👍 Thank you!

Token-based CSRF and possibly Captcha will require a fairly large change to how the subscriber form works because it's typically included on every page and will be heavily cached (meaning no dynamically generated token).
If we want to use such techniques it's likely we would need to have an endpoint that only serves the form so that it can be included on cached pages via JS.

As the upcoming members feature will and should replace subscribers, the Ghost team won't improve the spam protection for subscribers.

But we might need spam protection for members if there is no auto double opt-in available. cc @allouis here to share that this issue exists.

For anyone that is still getting subscriber spam, my workaround is to change the subscribed_url column in the MySQL database to NOT NULL, this will silently drop subscription requests that don't include a subscribed_url value.  It's not a particularly elegant solution but an effective one for the time being.
MySQL command:
ALTER TABLE subscribers MODIFY subscribed_url varchar(2000) NOT NULL;

To revert this change if needed:
ALTER TABLE subscribers MODIFY subscribed_url varchar(2000) DEFAULT NULL;

@dlford Do you happen to have a version of your solution that would work in 2024?
I'm getting hit with a tonne of spam signups that are hurting my sending reputation just from the confirmation emails, and this looks like it could be just what I need.
Thanks!

@curiositry sorry, I stopped using Ghost, I've seen too many issues "closed as completed" on here without even being addressed.
If you're looking for a better subscription handler though Listmonk is fantastic, open source of course.

Thanks for your quick reply @dlford! If I find a solution I will post it here.


Update testcontainers-scala-postgresql to 0.39.7

Updates com.dimafeng:testcontainers-scala-postgresql from 0.39.5 to 0.39.7.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.dimafeng", artifactId = "testcontainers-scala-postgresql" } ]

labels: test-library-update, semver-patch

Superseded by #455.


Update multi-geo-search.md

Category

[x ] Content fix
[ ] New article
Related issues: fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?

Removed illustration as this is covered in the separate article on programmatically searching in a multi-geo environment (linked). Removed Note about Multi-Geo search being in preview, it's now available.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/solution-guidance/multigeo-search.md
:white_check_mark:Succeeded
View

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

thx Tone, sorry for the delay on getting this processed. Miss on our side.


How to add client certificate to openTest

hi I used Opentest to verify the API response .
For the normal api , it works fine.
Host:
..***.ibm.com
P12 certificate
Passcode
But with the website requires authentication through client certificate P12 , it does not work.
How do I add these params to opentest ?
Thank you for your time

You'll need to use version 1.4.1 of OpenTest, which is currently published in beta. You can install with this command:
npm install -g opentest@beta

Please note that if you omit the @beta suffix, the version that will be installed is 1.3.8.
Once you've upgraded to OpenTest 1.4.1, you can use a client certificate like this:
- description: ...
  action: org.getopentest.actions.HttpRequest
  args:
    url: https://example.com
    verb: GET
    clientCertificate: C:/path/to/certificate.p12
    clientCertificatePassword: p12_file_password

Let me know if this worked.


Add an extra test case related to return statements and annotated return types

This is a test case extracted from the "self check". I managed to break it in https://github.com/microsoft/TypeScript/pull/52622 without breaking the test suite so I figured out that it's best to get it into the test suite.

I noticed this in the test, but I'm honestly a little suspicious of this code because the type variable is only observed once, which makes me think that it's already bound to be broke as it is and maybe should be changed. But, I think that PR had other things going on too.

Yea, you might be right here - this only works within the context of the contextual type and allowing this is kinda suspicious:
type PropOfRaw<T> = readonly T[] | "not-array" | "no-prop";

declare function isString(text: unknown): text is string;

declare function getPropFromRaw<T>(
  prop: "files" | "include" | "exclude" | "references",
  validateElement: (value: unknown) => boolean,
  elementTypeName: string
): PropOfRaw<T>;

function getSpecsFromRaw(
  prop: "files" | "include" | "exclude"
): PropOfRaw<string> {
  const val = getPropFromRaw(prop, isString, "string");
  return val; // error
}

This code errors even though I only extracted the returned value to the local val variable. It doesn't even change what is actually inferred there - it's PropOfRaw<unknown> in both scenarios, it's just that somehow this is allowed when the value is returned directly. Should I open a new issue about this case? 🤔

Hmm, I took another look at this as I totally forgot about this PR... this code is so... suspicious 😅 Like, it was broken by one of my PRs, and thus might be worthwhile to have it as a test case. I still wonder though if this should actually be permitted. I can't find a reasonable explanation for this:
type PropOfRaw<T> = readonly T[] | "not-array" | "no-prop";

declare function isString(text: unknown): text is string;

declare function getPropFromRaw<T>(
  prop: "files" | "include" | "exclude" | "references",
  validateElement: (value: unknown) => boolean,
  elementTypeName: string
): PropOfRaw<T>;

function getSpecsFromRaw1(
  prop: "files" | "include" | "exclude"
): PropOfRaw<string> {
  const val = getPropFromRaw(prop, isString, "string");
  return val; // error
}

function getSpecsFromRaw2(
  prop: "files" | "include" | "exclude"
): PropOfRaw<string> {
  return getPropFromRaw(prop, isString, "string"); // ok?
}

Dunno, perhaps I will open a new issue to continue discussing this 🤷♂

After second thought... maybe this is just valid "transitively"? While this code is suspicious on its own... we can't write the implementation for getPropFromRaw that wouldn't error. Since we don't have any access to T in it (as it doesn't appear in the parameters list), we also can't return anything that would be assignable to it (without casting).


templateUrl for cellRenderers from Angular 2 components

Hi,
I have followed the tutorial for Cell Rendering (https://www.ag-grid.com/javascript-grid-cell-rendering/index.php) and the ag-grid-ng2-example (https://github.com/ceolter/ag-grid-ng2-example) and I didn't notice cellRenderers using Angular 2 Component's templateUrl.
Does the option for Angular 2 component's templateUrl exists?
Thanks in advance

Hi,
Not at this time I'm afraid - when creating components dynamically the path is hard for the ng2 runtime to determine.
I'm hoping to look at this in the next few weeks and can update this thread once I have an update if that helps

This would definitely help since it's preferred to keep complex templates in separated files.
Thanks

hi @Nim-C
Please take a look at the new 7.x beta thats available - this supports both AOT and JIT mode: https://www.ag-grid.com/angular-2-beta-release/, and supports templateURLs in both AOT and JIT mode

Hi @seanlandsman
Tried it and it works great!
Thanks a lot :+1:
Nim-C


Hazel source crashes GUI on startup every time

A customer noted this is happening, so I don't yet have any kind of logs. Just wanted to report this is happening.

Hazel source?

Knew you'd ask - I was on my phone at the time I logged - see https://chocolatey.org/docs/how-to-host-feed.

Huh. Uhh, I'm going to admit that it may be a while before I get to this. Do you know if the customer is using 14.x bits? If it's 13.x, then it might actually be fixed as 14.x+ we use Chocolatey.Lib for talking to sources rather than the previous (very janky) method.

I'm not sure. I asked and suggested they look at some other repo as those were more known as good.

It appears that Hazel is not actively maintained, and there's been no activity on this issue for over 5 years. I'll close this issue on the belief it's not an issue for any current users, and open an issue on the docs repo to update the listing of other options.


Add Copy and Paste Functionality

A copy and paste functionality would be nice to allow for the design to be duplicated on different areas of the griddle.  Right now, we have to redraw the pancake again.

Just filed PR #59 on this.

Copy/Paste managed as part of #74


Fix bcp-003-01 for windows

Run test-suite on WSL 18.04 for windows build and update name of server_certificate to certificate for future use.

LGTM. Good idea to do a squash merge and delete all the intermediate commit comments from the merge commit!


Not able to build Readium SDK Master code on VS 2013

Hi, I need to integrate Readium Reader component in C# windows application. For same I downloaded the Readium SDK from Master branch. I tried building the code under readium-sdk-master\Platform\Windows\ReadiumSDK folder but getting a lot of issues while building this code. Have copied issue log here. I tried taking help from Build & released document here (https://docs.google.com/document/d/1DphaTO2fu7mQoBKalzyfphIlOB2Ncp7yHbIbbti92CE/edit# ) but there Windows sections is empty. Please help.

@nrusta Neha,  Sorry, but the Windows code is woefully stale and largely unfinished.  This is because nobody has wanted to build anything with it.  I was the last one to do anything with it and that was as C++ and MFC (!) 2 years ago.  There WAS one company in Seattle (TagCreative) who apparently built something functional for Windows RT.  I personally never tried to build it or looked at it, but you might want to take a look since the code is still on github. I would be more than willing to talk to you about it.  If you are interested, please contact me directly at<EMAIL_ADDRESS>

Closing as outdated.  Never going to fix.


Four Screen Product-Breaking Bug.

I just received the HDK 1.3. Read the tutorial, connected it, server works fine, head tracking works fine BUT when I fire up the Palace Demo and put on the HMD I see four screens, all of which are sideways. I tried updating drivers and firmware but no luck. Any suggestions?

I think you want to make sure the HDK is in portrait mode (see Windows
display control pane)
On Fri, Mar 4, 2016 at 5:23 PM, AndrewAF1<EMAIL_ADDRESS>wrote:

I just received the HDK 1.3. Read the tutorial, connected it, server works
fine, head tracking works fine BUT when I fire up the Palace Demo and put
on the HMD I see four screens, all of which are sideways. I tried updating
drivers and firmware but no luck. Any suggestions?
—
Reply to this email directly or view it on GitHub
https://github.com/OSVR/OSVR-Core/issues/376.

--
Yuval Boger
CEO | VRguy http://www.vrguy.net
Sensics, Inc. http://www.sensics.com
Latest news and blog posts:
21 Feb: VRguy podcast Episode 3: Paul Travers, CEO of Vuzix, on AR/VR in
the Enterprise and Consumer Markets
http://sensics.com/vrguy-podcast-episode-3-paul-travers-ceo-of-vuzix-on-arvr-in-the-enterprise-and-consumer-markets/
16 Feb: Vision Summit 2016: Using OSVR to Support (practically) Any Device
in AR/VR
http://vrguy.blogspot.com/2016/02/vision-summit-2016-using-osvr-to.html
25 Jan: Got new or custom HMD? Need direct render, time warping, distortion
correction and game engine integration?
http://vrguy.blogspot.com/2016/01/got-new-hmd-need-direct-render-time.html

Hello,
We have 2 HDK so today I try to test with the second one headset on the same belt and hardware connections, and It appear that is the Headset broken. Everything work well with the second one, no glitch - black lines or color issues.
I guess I have to check with the OSVR/Razer support. The 2 HDK have been received 6 days ago...
Topic : https://github.com/OSVR/OSVR-Unity-Palace-Demo/issues/22


Change type of value parameter to generic type in BitTimePicker

This is a feature request for the BitTimePicker component. Currently, the type of the parameter value is fixed to TimeSpan, which limits the use cases of the component. For example, to use BitTimePicker to select a DateTime or a TimeOnly value, they have to be converted to and from TimeSpan, which is not convenient and may cause errors.
The proposed feature is to change the type of the parameter value to a generic type, such as T, and provide a converter function that can convert T to and from DateTime. This way, the BitTimePicker component can be used with any type of time value, such as TimeSpan, TimeOnly, DateTime, or even custom types. The converter function can be specified as a parameter of the component, or as a service that can be injected.
This feature would make the BitTimePicker component more flexible and versatile, and allow users to use it for different scenarios.

not relevant anymore!


Issue116

Thank you for your contribution. Please provide the details requested below.
ISSUE NUMBER
#116
SHORT DESCRIPTION
Prime factorization and divisor algos have been added
TESTING
Tested and verified.

@Nihalh55 , have you merged the updated file structure that I sent you?
Then , create a new branch and do the changes there

@prateekiiest  sorry i didnt recieve an updated file structure.
i have created a new branch in my forked repo too and have made changed there.

check in your Pull Request of your forked repo

@prateekiiest  ok i saw it, i see you want to have a proper PR with just 1 commit?Ill try something out, just tell me if that is appropriate.


Fix asymmetric not equals

Fixes #2483 .
Did you remember to?

[x] Add test case(s)
[x] Update CHANGES.txt

We encourage pull requests that:

Add new features to TestNG (or)
Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

@krmahadevan done

@juherr - Please help do a quick check.


feat(search-with-typeahead): add scoped search support

Related Ticket(s)
#7627
Description
This PR changes the SearchWithTypeahead API slightly so it's able to retrieve scoped results from different categories within IBM, such as PartnerWorld or Developer as examples. This can be tested under the Masthead - with scoped results in WC Storybook. Change the scope by clicking on the filter select button while the results are displayed to see how they change between scopes.
Changelog
New

scoped search in search with typeahead

Changed

added scope to SearchWithTypeahead API query if requested

Hey I took a look and for the most part it's looking really good! I noticed that in the design specs, the comments say that the browser / device default would be used for the selector. Is that what it's using right now? I just want to confirm, the specs used the spinner (no need to change if the dropdown is right).
Design specs

iPhone 11

Also, when I tested it on my iphone/tablet, the selector looked fine, but when I tried the sm and md sizes in browser in Safari, the selector didn't populate with any text. I'm not sure a lot of people will hit that issue but it caught my eye as it was going through:
Chrome - Macbook

Safari - Macbook

@RichKummer It seems that the wheel has been changed in the latest iOS, but the functionality remains. As for the Safari thing you noticed, I was able to fix it in the latest commit 👍  Nice job catching that!


[8.0.0] Creative tab rendering related crash

Creative tab rendering related crash, it crashes when trying to open the Mekanism creative tab.
Here is the crashlog: http://pastebin.com/kA5inuSs

Thought I'd fixed that. Anyway, should be actually fixed now.


improve cookbook web page

the output of the cookbook can be improved:

[x] generate markdown (not HTML) and use md2html-php to display it
[x] add basic information to the top of the page: describe what ScottPlot is, how to install it (NuGet), and link to the quickstarts.
[x] add a star button to the website https://buttons.github.io/
[x] update the links and thumbnails for the cookbook

working a little more on https://github.com/swharden/md2html-php but this will all get done tonight


how to fresh install the latest version?

Hi,
It's very clear that the CHANGELOG.md shows how to Migrate from 1.x to 2.0.3, but how to fresh install the latest version?
Sorry, I'm new to npm and create-react-app. Please let me know.
Thanks

Hey! We're in the process of cutting this release. Check back in like 15 minutes.

Shipped! See https://reactjs.org/blog/2018/10/01/create-react-app-v2.html


allow self-signed certs when downloading test files over https (#405)

Fixes #405

What test artifacts are being downloaded?

@stevedlawrence VS Code.

@stevedlawrence can you review the most recent changes when you get a chance?  Thanks.

@Shanedell, can you please review this when you get a chance?  Thanks!


Feature: Added the option to modals to prevent closing on escape key press

Description
Added the option to modals prevent it from closing when the Escape key is pressed. This enhancement ensures the modal remains on the screen, offering a more consistent user experience and eliminating accidental closures when required.
Action::make('updateAuthor')
    ->form([
        // ...
    ])
    ->action(function (array $data): void {
        // ...
    })
    ->closedByHittingEscape(false)

Visual changes
No visual changes.
Functional changes

[X] Code style has been fixed by running the composer cs command.
[X] Changes have been tested to not break existing functionality.
[X] Documentation is up-to-date.

Love Filament !! Good job 💕

Considered it, but I prefer what I suggested

Changed @danharrin, regards!

Thanks


DetectionVisualization is generating images that seem to have many samples blended in together

💡 Your Question
I have implemented a custom callback to log some metrics to MLFlow, and I am trying to visualize how the model is predicting during the validation. I am using the DetectionVisualization for that, however the saved image seems to be corrupted.
code:
        @multi_process_safe
        def on_validation_loader_end(self, context: PhaseContext) -> None:
           # mlflow logging metrics logic

            # SOME CALCULATIONS ARE IN-PLACE IN NMS, SO CLONE THE PREDICTIONS
            preds = (context.preds[0].clone(), None)
            preds = self.post_prediction_callback(preds)
            batch_imgs = DetectionVisualization.visualize_batch(context.inputs, preds, context.target, self.batch_idx, self.classes)

            batch_imgs = np.stack(batch_imgs)
            for i, img in enumerate(batch_imgs):
                cv2.imwrite(f'batch_image_{context.epoch}_{i}.png', img)

           # TODO: log image to mlflow

Result:

It seems like all or the batch size of the validation images are being blended together, original images:

How can I get one image per prediction with the bounding boxes drawn?
Versions
SuperGradient 3.5
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.6 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Clang version: Could not collect
CMake version: version 3.15.5
Libc version: glibc-2.31
Python version: 3.10.11 (main, May 16 2023, 00:28:57) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.15.0-1040-azure-x86_64-with-glibc2.31
Is CUDA available: False
CUDA runtime version: 10.1.243
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: GPU 0: Tesla T4
Nvidia driver version: 470.199.02
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.2.4
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.2.4
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   48 bits physical, 48 bits virtual
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       AuthenticAMD
CPU family:                      23
Model:                           49
Model name:                      AMD EPYC 7V12 64-Core Processor
Stepping:                        0
CPU MHz:                         2445.433
BogoMIPS:                        4890.86
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       128 KiB
L1i cache:                       128 KiB
L2 cache:                        2 MiB
L3 cache:                        16 MiB
NUMA node0 CPU(s):               0-3
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Mitigation; untrained return thunk; SMT disabled
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat umip rdpid
Versions of relevant libraries:
[pip3] numpy==1.23.0
[pip3] onnx==1.13.0
[pip3] onnx-simplifier==0.4.35
[pip3] onnxruntime==1.13.1
[pip3] torch==2.1.2
[pip3] torchmetrics==0.8.0
[pip3] torchvision==0.16.2
[pip3] triton==2.1.0
[conda] numpy                     1.23.0                   pypi_0    pypi
[conda] torch                     2.1.2                    pypi_0    pypi
[conda] torchmetrics              0.8.0                    pypi_0    pypi
[conda] torchvision               0.16.2                   pypi_0    pypi
[conda] triton                    2.1.0                    pypi_0    pypi

Hi @ani-mal , I believe that what you see is not a bug but is the consequence of your dataset transforms.
Basically, it looks like there is a mixup between an image and another image with "mosaic'.
So, I believe that if you remove these transformations, you should not see this "corrupted" aspect.
Could you please retry without these augmentation steps ?

@Louis-Dupont I am not adding any augmentation step, unless that is build in the dataloaders provided by super gradient:
train_dataloader: coco_detection_yolo_format_train
val_dataloader: coco_detection_yolo_format_val

@ani-mal like @Louis-Dupont suggested - to me it seems like you are indeed seeing images that had mosaic and/or mixup applied to them.
Do you see this happening in both train and validation data loader?
The reason I am asking, is that these data loaders have pre defined transforms so that users can just plug them easily and start training fast.
If you follow the coco_detection_yolo_format_train implementation, you will see it is defined by the configuration file:
super_gradients/recipes/dataset_params/coco_detection_yolo_format_base_dataset_params.yaml
There you will see, that indeed that mosaic and mixup transforms are applied, but only on the train set.
You can of course, override the transforms by spedfying other ones in dataset_params, under train_dataset_params' transforms.

@shaydeci Thank you for your insights. I think what was happening is that the context.target on the validation_loader_end were images from the train dataset loader. Since, after inspecting the super_gradients/recipes/dataset_params/coco_detection_yolo_format_base_dataset_params.yaml and verifying my recipe. I am using the train dataloader for training and val dataloader for validation. So now, I am calling DetectionVizualization from on_validation_batch_end, and the mosaic and mixup transform dont seem to be there. The image is not perfect, but tweaking the a custom undo_image_processing should get me there.
Also thank you for the latest release, there was a casting bug inside DetectionVisualization._visualize_image that I changed locally to make this code work, and with the newest release it has been fix :D

@ani-mal Glad to help (:
I am closing this issue down as it seems the problem is solved.
Feel free to re-open it if it ends up it was another problem, or open another issue.


Remove permitAll flag from seed & dependency check jenkins jobs

Remove permitAll flag from seed job, seed standalone job & dependency check jobs.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Seed Job

@aaltay Sorry for being vague, the permitAll flag enables build triggering for non-commiters. It's currently enabled for all jobs.
This PR, disables triggering for non-commiters for these three specific jobs.


add autodocumentation of hydrus

fixes #1, Implementation of autobuilding of  documentation of Hydrus using sphinx on readthedocs
http://hydrus.readthedocs.io/en/latest/

Thanks @sandeepsajan0


--import scanning doesn't match implicit dependencies

Original Discussion: https://www.pika.dev/npm/snowpack/discuss/63
/cc @dy, @FredKSchott
As reported in the original discussion, our import scanner will check imports against your list of dependencies to see if its a package name vs. a file. This is fine for most cases, but some people directly rely on collections of dependencies (material-components-web) instead of individual dependencies.
We could improve this to just check the import itself. If an import is of the form web_modules/X.js or<EMAIL_ADDRESS>then we should be fairly certain that it's a package and not a file within a package. This should actually simplify things, so that we don't need to worry about knownDependencies like we currently do.

Ah junk. I was scared of this happening.

If an import is of the form web_modules/X.js or<EMAIL_ADDRESS>then we should be fairly certain that it's a package and not a file within a package. This should actually simplify things, so that we don't need to worry about knownDependencies like we currently do.

That makes sense to me! I’m happy to let someone else take this issue if possible (happy to provide guidance). Or I can open a PR if there aren’t any takers.

Feel free to take it if you have the time, you probably know this logic better than anyone :)


too many inode was used when build oui

for i in ./*; do echo $i; find $i | wc -l; done
./oui-app-acl-git-2023.224.10990-ce9ea17
174265
./oui-app-backup-git-2023.224.10990-ce9ea17
174265
./oui-app-demo-git-2023.224.10990-ce9ea17
174269
./oui-app-dhcp-lease-git-2023.224.10990-ce9ea17
174265
./oui-app-home-git-2023.224.10990-ce9ea17
174256
./oui-app-layout-git-2023.224.10990-ce9ea17
174258
./oui-app-login-git-2023.224.10990-ce9ea17
174255
./oui-app-stations-git-2023.224.10990-ce9ea17
174269
./oui-app-system-git-2023.224.10990-ce9ea17
174266
./oui-app-upgrade-git-2023.224.10990-ce9ea17
174265

#272


Handle MessageExpiryInterval early enough for retained messages to honor it

Setting the pk.Expiry member to the right value early enough so it is correctly saved when the message is retained in RetainMessage.
Without the change, even if we set the MessageExpiryInterval for retained message, the message won't expire at that interval since it was stored already with the default value (0) for pk.Expiry.

Thank you @dariopb for the PR. The identification of the issue is correct. In reviewing this, I found we're not providing consistent behavior when MaximumMessageExpiryInterval is set to 0. So we may need to make larger modifications.
@mochi-co, currently when MaximumMessageExpiryInterval is set to 0, sometimes the server behaves as

no limit
https://github.com/mochi-mqtt/server/blob/8f52b891d5d3169340cbfd29cec6a6408ed66f31/server.go#L1714-L1717
yet sometimes it treats as expire immediately
https://github.com/mochi-mqtt/server/blob/8f52b891d5d3169340cbfd29cec6a6408ed66f31/server.go#L989-L992

Which meaning do you prefer?


Get error when sending invoke request to get sso token

Code:
...
return ActivityHandler.createInvokeResponse({
          statusCode: 401,
          type: "application/vnd.microsoft.activity.loginRequest",
          value: {
            text: 'SignIn Text',
            connectionName: "",
            tokenExchangeResource: {
              id: uuid.v1(),
              uri: null,
              providerId: null
            },
            buttons: [{
              type: 'openUrl',
              title: 'Please sign in',
              value<EMAIL_ADDRESS>            }],
          }

Get error:
Unexpected response type for Status Code: 401 Expected responseTypes: application/vnd.microsoft.activity.loginRequest or application/vnd.microsoft.error.invalidAuthCode

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

ID: 4621d020-5122-7e86-61ad-17089be7921d
Version Independent ID: 4621d020-5122-7e86-61ad-17089be7921d
Content: Add code to enable SSO for Adaptive Cards Universal Actions - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/sso-adaptive-cards-universal-action.md
Service: msteams
GitHub Login: @v-sdhakshina
Microsoft Alias: surbhigupta

@KennethBWSong - Thanks for reporting your issue. We will check this and update you soon.

@Nivedipa-MSFT Thank you for your reply! We propose to handle SSO token on our own, and thus we are sending an empty connection name. For the rest (uri / provider id in tokenExchangeResource), we are following the sample here.
Actually in this sample, response with type "application/vnd.microsoft.card.loginRequest" is sent. Would you please help to clarify what is the correct way to get SSO token without using tokenStore?

@KennethBWSong - We will check and update you soon.

@Nivedipa-MSFT Thank you for your reply! Actually the Oauth Card you provide seems the same as I provide in the issue. We are getting error "Unexpected response type for Status Code: 401 Expected responseTypes: application/vnd.microsoft.activity.loginRequest or application/vnd.microsoft.error.invalidAuthCode" for this card. Do you have any idea why the error will occur?

@Nivedipa-MSFT Some more updates here. I am sending the same adaptive card for get sso token as here and keep the type as "Action.Submit", and send the following invoke response when initialSso:
return ActivityHandler.createInvokeResponse({
      statusCode: 401,
      type: "application/vnd.microsoft.activity.loginRequest",
      value: {
        text: "Please sign in",
        connectionName: "",
        tokenExchangeResource: {
          id: uuid.v1(),
          uri: null,
          providerId: null
        },
        buttons: [
          {
            title: "Sign In",
            text: "Sign In",
            type: "signin",
            value: signInLink,
          }
        ]
      }
    });

Then I will successfully send the invoke response as following:

However, after this event there is no response and will not ask user to login.
When I modify the value of type to "Action.Execute", I will get the following error for the invoke response:

Can you give me some instruction how to pop up login dialog?

Hello @KennethBWSong - Sorry for delay in response.
We are looking into your issue and let you know the updates.

Hi,
We are following the same sample as mentioned in the comments above and when we send a login request using the below code, we get the same error : Unexpected response type for Status Code: 401 Expected responseTypes: application/vnd.microsoft.activity.loginRequest or application/vnd.microsoft.error.invalidAuthCode
Are the values passed for uri and provider Id correct?
Did this work for anyone>
       return ActivityHandler.createInvokeResponse( {
            statusCode: 401,
            type: "application/vnd.microsoft.card.loginRequest",
            value: {
                text: "Please sign in",
                connectionName: "",
                tokenExchangeResource: {
                  id: uuid.v1(),
                  uri: "<App Id of Bot from Azure",
                  providerId: null
                },
                buttons: [
                  {
                    title: "Sign In",
                    text: "Sign In",
                    type: "signin",
                    value: signInLink,
                  }
                ]
              }
        })

@ChetanSharma-msft Any update on this?

Hello @KennethBWSong - Sorry for delay in response.
We are looking into it and let you know the updates.


[1.16.5] Occultism Storage crafting eats honey bottles

Describe the bug
If more than 4 honey bottles are placed in the crafting grid of the occultism storage and the output is shift-clicked rather than individually clicked, it only returns one honey block and 4 empty bottles and the remainder of the honey bottles disappear.
To Reproduce
Steps to reproduce the behavior:

Setup Occultism Storage
Craft Honey Blocks with 16 Honey Bottles by shift-clicking the Honey Block
Observe 12 missing bottles

Expected behavior
To get all bottles back.
System (please complete the following information):

Occultism Version: occultism-1.16.5-1.0.16
OS: Windows
Minecraft Version: 1.16.5
Modpack Link and Version, or list of mods:
Enigmatica 6 v0.4.6 in-dev
Roughly matches this: https://www.curseforge.com/minecraft/modpacks/enigmatica6/files/3248233

That shift-craft is my nemsis - I'll look into it :)

Thank you 😄


WIP: Add tests for the fixed precision encoder

Description
This PR will add tests for the fixed precision encoder.

Closes: https://github.com/OpenMined/SyMPC/issues/1

Checklist

[x] I have followed the Contribution Guidelines and Code of Conduct
[ ] I have commented my code following the OpenMined Styleguide
[x] I have labeled this PR with the relevant Type labels
[ ] My changes are covered by tests

Force-pushed to rebase with main branch.

There's a warning when encoding floats:
"DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python."

Forced push to solve conflicts in conftest.py


fix cte update_all test and underlying functionality

Fixed up the impl, comparing it to what is done in postgrex.
Now only 1 test failing.
Fixes #17

FWIW I cannot get the associated SQL to actually work in sqlite3.
create table schema(id, x);

WITH target_rows AS (
  SELECT
    s0.id AS id
  FROM schema AS s0
  ORDER BY s0.id
  LIMIT 10
)
UPDATE schema AS s0
  SET s0.x = 123
  FROM target_rows AS t1
  WHERE (t1.id = s0.id);
=> Error: near ".": syntax error

Am I missing something? @warmwaffles

@kevinlang it's actually the s0.x = 123 that is causing the issue

WITH target_rows AS (
  SELECT
    s0.id AS id
  FROM schema AS s0
  ORDER BY s0.id
  LIMIT 10
)
UPDATE schema AS s0
  SET x = 123
  FROM target_rows AS t1
  WHERE (t1.id = s0.id);


Support different selection modes

Would you consider a change to the DataGrid to allow different selection modes?
At the very least Extended/Single could be supported like the regular datagrid.
But an approach with added modes could also be taken:
Extended
Single
SameRow (only cells on the same row can be multi-selected)
SameColumn (only cells on the same column can be multi-selected)
SameRowOrColumn (only one direction at a time)
What do you think?

Yes, this is something I have also been wanting. A multi-select (extended) selection mode would be great.
I have not though of same row/column functionality - do you need this?
It would be great if it could work like in Excel:

Based on some rough testing I think implementing any of the contiguous selection modes should be fairly simple.  However I don't need same row/column functionality currently (I only currently need single cell).
Multiple selections seems like a bigger refactor.


[Home] Relationships carousel does not update the focused text on rotate

Description
The text label for the first type of relationship is perpetually displayed as the focus text, leading site visitors to confuse the difference between the relationship examples in this carousel.
Expected Behavior
Text label focus should rotate in concert with the carousel timing.
Screenshots

Enviroment:

OS: Mac Linux Windows
Browser: Chrome Safari Firefox
Version:
Device: Desktop Mobile

Contributor Guides and Handbook
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

📚 See the Contributing to Meshery.io Website section of the readme.md and other contributing instructions, too.
🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@leecalcote @yash37158 I would like to work on this issue

Sounds good, @asr2003 👍

@asr2003 Thanks for chiming in.
Do you have updates to share on this item ?
Let's discuss this on Websites call on Monday. Adding this as an agenda item into the meeting minutes

@leecalcote @vishalvivekm Can I work on this issue?

@asr2003 any progress?

@ayushrakesh @sudhanshutech
Let's discuss this on websites call, I'll be adding it to agenda items: https://docs.google.com/document/d/1XczAHXVe2FIWPqiF57ospJ43zw5cZQ7ui8mn39v5EvA/edit

Making this issue free of assignment..

Just one note:
Currently, the carousel shows "Edge" relationships by default and changes to the respective relationship type only when the corresponding tab is clicked.
do we want that the carousel should automatically rotate through all relationship categories ("Edge," "Hierarchical," and "Sibling"), with the text label focus updating accordingly?

@vishalvivekm hii can i work on this?

Interested in working on this, can you assign me ?

Thank you everyone
you can watch this issue being discussed in the last Websites meeting on Moday, here: https://www.youtube.com/watch?v=7MqUgXDouJg&t=2573s
Following FCFS, I'll ask @ayushrakesh if you have the site set up and running ? If yes, let's assign this to you.

@vishalvivekm Yes, I have site setup locally, please assign to me.

@vishalvivekm, you might determine that this is an invalid issue that I have raised. In retrospect, I think that it’s validity can easily be called into question.

is this issue still relevant ?

is this issue still relevant ?

Hi, thanks for asking.
I don't think so, at least now.


i can not find any examples in this project

i can not find any examples in this project , can you make some examples?

Hey @lengxugz
thanks for opening this issue.
To get you started, please have a look at apiv2/client_test.go (assuming you want to use the v2 client).
For example, in ExampleNewRESTClient_withOptions(), a harbor client is constructed and later on used to list all projects (equivalent toGET /projects).
Please also have a look at our harbor-operator project.
It utilizes goharbor-client to reconcile harbor API resources as Kubernetes resources.
HTH

thanks


Make installable

As the first step to getting the package on conda-forge (#13)  I have made it installable which involved some reorganisation of the files into folders which made sense to me but very happy to change them if needed. I have also exposed a helper function to make it easy to use the models from python once the package is installed, see the README.md updates on how this works.
Questions

[ ] Do we need to expose the ASE and pysisyphus optimisation scripts as CLI entry points?
[ ] Should we have a simple CI test which ensures the models can be loaded and that the calculators work as expected?
[ ] Should we expose the ability to load the individual models not just the ensemble models?

@jthorton I just created a development branch let's move over there


[WIP] Feature/sub pipeline level graph

Description
We wanted to show some sort of summary views where we can see the relationships between sub-pipeines.

Development notes

QA notes

Checklist

[X] Read the contributing guidelines
[X] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[ ] Added tests to cover my changes

Legal notice

[ ] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Hello @gotin , some smashing ideas you have here! We are very interested in trying this out - it seems that this feature would work well with a particular Kedro project setup, wondering if you could direct us to any (non-confidential) sample project that would best showcase this feature in its glory?
Otherwise, we should definitely set up a zoom call for you to demo this feature, and even to discuss about how we can take many of the core ideas you proposed here forward!

Hello @gotin , some smashing ideas you have here! We are very interested in trying this out - it seems that this feature would work well with a particular Kedro project setup, wondering if you could direct us to any (non-confidential) sample project that would best showcase this feature in its glory?
Otherwise, we should definitely set up a zoom call for you to demo this feature, and even to discuss about how we can take many of the core ideas you proposed here forward!

I'm sorry for not having been able to realize the comment.
I tested this with the kedro 0.17 & some starters like pyspark-iris, spacefilights etc.
And this branch was added to kedro-viz v3.8.1 not main branch.
In addition, when I try to run this branch towards some older version kedro projects, it didn't work.
The error messages said a pyproject.toml file wasn't found or something.
So I dedicded to create new branch towards kedro-viz v3.6.0, and then it worked well for order version kedro projects, one of which was pmpx/patient pre-made pipeline. (This branch for the older version is only in my local environment at this moment.)
But anyway, this branch should work with kedro 0.17 & starter pipelines as I mentioned above.
I'm very happy to have a zoom call if needed.

I'm sorry for not having been able to realize the comment.
I tested this with the kedro 0.17 & some starters like pyspark-iris, spacefilights etc.
And this branch was added to kedro-viz v3.8.1 not main branch.
In addition, when I try to run this branch towards some older version kedro projects, it didn't work.
The error messages said a pyproject.toml file wasn't found or something.
So I dedicded to create new branch towards kedro-viz v3.6.0, and then it worked well for order version kedro projects, one of which was pmpx/patient pre-made pipeline. (This branch for the older version is only in my local environment at this moment.)
But anyway, this branch should work with kedro 0.17 & starter pipelines as I mentioned above.
I'm very happy to have a zoom call if needed.

Hey @gotin, we are now working on a production implementation of this feature so I'm going to close this demo/draft PR. Thanks so much for this contribution, I'm sure that you'll see a lot of the DNA of your suggestions in the final design!


Update deploy.sh

[BUG] ACR Autocreate may not actually test if ACR already exists #43
Issue

Problem: After a Bash session reset, CONTAINER_REGISTRY_SERVER might not be set, causing incorrect logging about creating a new ACR.
Steps to Reproduce:

Run deploy.sh to create an ACR.
Reset the Bash session or unset CONTAINER_REGISTRY_SERVER.
Run deploy.sh again; it incorrectly logs creating a new ACR.

Expected Behavior
The script should check if an ACR exists and log correctly.
Fix
Updated createAcrIfNotExists() to always check for an existing ACR and log appropriately.
Updated Function
createAcrIfNotExists() {
    printf "Checking if container registry exists... "
    local existingRegistry
    existingRegistry=$(az acr show --name $CONTAINER_REGISTRY_SERVER --query loginServer -o tsv 2>/dev/null)
    if [ $? -eq 0 ]; then
        printf "Yes. Using existing registry '$existingRegistry'.\n"
        CONTAINER_REGISTRY_SERVER=$existingRegistry
        return 0
    fi

    printf "No. Creating container registry... "
    AZURE_ACR_DEPLOY_RESULT=$(az deployment group create --resource-group $RESOURCE_GROUP --name "acr-deployment" --template-file core/acr/acr.bicep --only-show-errors --no-prompt -o json \
        --parameters "name=$CONTAINER_REGISTRY_SERVER")
    exitIfCommandFailed $? "Error creating container registry, exiting..."
    CONTAINER_REGISTRY_SERVER=$(jq -r .properties.outputs.loginServer.value <<< $AZURE_ACR_DEPLOY_RESULT)
    exitIfValueEmpty "$CONTAINER_REGISTRY_SERVER" "Unable to parse container registry login server from deployment, exiting..."
    printf "Container registry '$CONTAINER_REGISTRY_SERVER' created.\n"
}

Summary

Always Checks: Now always checks if the ACR exists.
Correct Logging: Logs whether it found an existing ACR or created a new one.

This fix ensures accurate logging and proper handling of the ACR status across sessions. Thanks for your contribution!

@Dead-Stone I am not sure this solution is appropriate. If you leave "CONTAINER_REGISTRY_SERVER" unset on the first run, the Bicep file will auto-generate a unique name for the ACR based on subscription name and resource group. If you then clear the "CONTAINER_REGISTRY_SERVER" variable and re-run the script, not only will you run the 'az acr show' cli command with an empty value for the name parameter but the line "No. Creating container registry... " will also be printed to the terminal output. At this point, the bicep file will generate the same unique name for the ACR and no changes will be applied to the infrastructure.
Hence I don't think it addresses the original logging issue raised.


Sub-list of servers for the node browser

There should be a way to create a custom sub-list of servers so one doesn't have to look through every server to find the ones you want.  This is especially relevant for the ADR's where most of the servers are unused.

One thing you should know about is the node now lets you set a list of servers that will be autostarted. The web UI doesn't currently support this, but if you just use the python client you will see a bunch of autostart_* settings that you can use to set up the list, and then just call node.autostart() to run them all. This will avoid having to go through the web interface at all.
Of course, having the web UI support this in some way will be nice. Basically, this you could add and remove servers from the autostart list, and start all of them with one button.

Also, adding the filter/search dialog to the node browser would help this in the meantime.

@thchwhite did you manage to find a workaround for this? Is this still an issue?

@thchwhite is this still a problem?

Yeah.  I thought I found a solution using symlinks, but it was super unstable.

Should this be moved to milestone v2.1, as I believe this goes beyond feature-equivalence with the old Delphi+Java node webpage system?

I'm personally inclined to resolve all the PE-fixit milestone items first. For a few reasons:

None of the remaining items are that difficult.
There are only two of them without pr-pending labels
I don't like the slippery slope of meeting milestone targets by simply reclassifying them.

On that note though, thanks for all your efforts in helping triage and classify these issues, it's a big help!

How do we envisage this feature working? I can implement a starring system, like the Grapher, but that's going to be Scalabrad-web wide. If a server is important to one person, is it important to everyone, or are people going to each want their own subset?
If we need multiple subsets for various use cases, then we probably want something more like a tag system, where you can then filter by tag.
Search/filter was mentioned. Would that just be an interim solution, or might that actually solve this problem more elegantly than a bunch of tags?
@thchwhite @maffoo @joshmutus

I think we should use the node autostart list for this.

Add a visual indication by each server of whether it is in the autostart list.
Add a way to add or remove servers from the autostart list (for example, the indicator could be a star that works like a toggle button to add or remove that server when clicked).
Add a button to send an autostart command to the node (this could live next to the existing refresh button that reloads the server config).
Provide a way to filter the list to only show servers that are in the autostart list on some node (they may not be in the autostart list on every node, but that's ok). Again, could just be a toggle button.

I think this would achieve most of what we want without too much work.

This was implemented as suggested by @maffoo due to no other feedback/suggestions.


[improvement](build index)Make build index and clone mutually exclusive and add timeout for index change job

Proposed changes
Currently the index change job and clone task can be executed at the same time. If the clone task gets stuck at this point, it will cause the index change job to get stuck as well and keep retrying.
To solve this problem, we can refer to alter job and make index change job and clone task mutually exclusive, and introduce the timeout to prevent infinite retries of build index.
Add the following checks and status in FE.

Check if table is stable (build index is not allowed when clone is in progress)
1.1. Tablet is HEALTHY.
1.2. Whether the tablet is included in the Tablet scheduler, if so, it means the current tablet is doing clone.
Set table state to SCHEMA_CHANGE (build index is working, clone is not allowed)
When creating the index change job, set the timeout at the same time.

run buildall

run cloud_p1

run buildall

run feut

run buildall

run buildall


GCP firewall errors

Please make sure that you have checked the boxes:

[ ] Review the Quickstart guide
[ ] Search for both open and closed issues regarding the problem you are experiencing
[X ] For permissions issues (Access Denied and credential related errors), please refer to the requisite docs before submitting an issue:
AWS, GCP, OpenStack, GitHub

Description of issue:
Hello security monkey team, first we love this tool, thank you for putting it all together.
We have been using on AWS and recently we started to use it on GCP and we noticed that we didn't get any firewall logs or information so we went an look at the logs and we found out:
    retval = job.func(*job.args, **job.kwargs)
  File "/usr/local/src/security_monkey/security_monkey/scheduler.py", line 135, in _audit_changes
    au.audit_objects()
  File "/usr/local/src/security_monkey/security_monkey/auditor.py", line 154, in audit_objects
    method(item)
  File "/usr/local/src/security_monkey/security_monkey/auditors/gcp/gce/firewall.py", line 135, in check_allowed
    (ok, errors) = self.inspect_allowed(item)
  File "/usr/local/src/security_monkey/security_monkey/auditors/gcp/gce/firewall.py", line 127, in inspect_allowed
    err = self._port_range_exists(item.config.get('Allowed'))
  File "/usr/local/src/security_monkey/security_monkey/auditors/gcp/gce/firewall.py", line 50, in _port_range_exists
    for allowed in allowed_list:
TypeError: 'NoneType' object is not iterable```

Same here: latest develop branch, getting the same error.
Any updates on this?

I have the exact same error.
Upon debugging found that it was due to a a single firewall rule being added as Action Deny instead of Allow.
https://github.com/exenin/security_monkey/commit/d04c912f30408ee143dbf1d0b9f8a81e9de2f6f0


feat: revert of revert of feat: alchemy nft collection metadata (#4599)

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4603   👈

This comment was auto-generated by Graphite.


GH-41480: [Python] Building PyArrow: enable/disable python components by default based on availability in Arrow C++

Rationale for this change
Currently, when building pyarrow from source, one needs to manually enable the optional components through setting PYARROW_WITH_... environment variables. However, we could also make a default choice of components based on which ones where enabled in the Arrow C++ build.
What changes are included in this PR?
Set defaults for the various PYARROW_BUILD_<component> based on the ARROW_<component> setting. Keep the current PYARROW_WITH_<component> environment variables working to allow to override this default.
One minor unfortunate consequence is that if you change your Arrow C++ build (eg enable a new component), you need to do a clean python build, otherwise CMake is still getting the old options (those option defaults are cached? Not sure if there is a way to solve this)
Are these changes tested?

Are there any user-facing changes?
No

GitHub Issue: #41480

I have not yet cleaned up all our CI scripts that contain things like export PYARROW_WITH_ACERO=${ARROW_ACERO:-OFF}, which is now in theory no longer necessary. Although we might also want to keep some of those ones that are explicitly set to 1 to ensure we don't accidentally turn it of because of an Arrow C++ config change.

@github-actions submit -g python

One minor unfortunate consequence is that if you change your Arrow C++ build (eg enable a new component), you need to do a clean python build, otherwise CMake is still getting the old options (those option defaults are cached? Not sure if there is a way to solve this)

It would be nice if this could be avoided. @kou does that sound possible?

@github-actions crossbow submit -g python

One "feature" of our setup.py that I forgot about is that you actually can pass command line flags to setup.py's build_ext like python setup.py build_ext --with-parquet, and that also gets passed through to cmake right now.
Is that something we think we should keep working? It's nowhere used in our own codebase, and it is also not documented, except if you run python setup.py build_ext --help)

It's nowhere used in our own codebase, and it is also not documented, except if you run python setup.py build_ext --help)

We did document it in the past, though (https://github.com/apache/arrow/blob/8ca41384b5324bfd0ef3d3ed3f728e1d10ed73f0/docs/source/python/development.rst?plain=1#L208-L215), and so this probably is still used quite a bit in the wild (one of the first google searches eg gives this gist that uses it: https://gist.github.com/cpcloud/9702e1de6e234989d215ff00f3ab728b
I will add it back here for now, and then we can still see if we want to deprecate this separately or not.

The failures for the conda builds are due to https://github.com/apache/arrow/issues/41563

Could you rebase on main to use #41567?

@github-actions crossbow submit wheel-* python-sdist -python-

@kou any other comments?
(I still need to remove some of the STATUS messages, but only want to do that when it is ready for merging, as that has been helpful while fixing/refactoring things)


FR: consider adding default-audit-criteria to config.toml

At the moment, ChromeOS is auditing crates in two stages:

'First pass' audits are for "safe-to-run" and a local "crypto-safe" key
As a later pass, we expect folks will audit for "safe-to-deploy"

While we're in a purely first-pass stage, we're having to add manual policy blocks to config.toml for each top-level crate:
[policy.foo]
criteria = ["safe-to-run", "crypto-safe"]
dev-criteria = ["safe-to-run", "crypto-safe"]

It would be nice if we could instead specify a top-level default-audit-criteria = ["safe-to-run", "crypto-safe"] (and might scare people less, since they're less likely to see a "700KLOC of backlog" message if they add a new top-level crate without adding the requisite policy line :) )
cc @bholley since we talked about this offline

To add a bit here: our thinking in the design here was that policy inheritance would generally avert significant duplication, but ChromeOS has lots of top-level crates. So it would be nice to configure the policy table defaults somehow, not totally sure yet what the cleanest syntax for that would be.

We could consider adding a [default-policy] section or something like that, which would have a similar syntax to [policy] (though with only support for the criteria and dev-criteria keys). This would then apply to all root crates which don't specify their own policy rather than the normal hard-coded defaults?
So you'd open your config.toml file with something like:
[default-policy]
criteria = ["safe-to-run", "crypto-safe"]
dev-criteria = ["safe-to-run", "crypto-safe"]

[policy.foo]
# ... whatever ...

Yeah that sounds like the right approach. I think we'd need to restrict it to a subset of fields — dependency-criteria and audit-as-crates-io wouldn't make sense in this context — but that should be straightforward.


Calling Dispose(false) in DisposeAsync() seems pointless

With the current sample implementation, it seems pointless to call Dispose(false) in DisposeAsync() because after DisposeAsyncCore() sets _disposed to true, Dispose(false) will return immediately.

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

ID: 61a961dc-3ebf-2a96-a6eb-2e0b62ab909f
Version Independent ID: d72276e1-9059-815f-dc14-a03a7544ab87
Content: Implement a DisposeAsync method
Content Source: docs/standard/garbage-collection/implementing-disposeasync.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hi @lukacs-andras - ah, yes... good catch. You're not wrong, I'll fix this. Thank you


Dependency update 2024-03

Periodic dependency update, March 2024
This PR adds also a convenient script to update the DLFW & Triton containers versions

CI MESSAGE: [13824789]: BUILD STARTED

CI MESSAGE: [13824789]: BUILD PASSED


Add a default 6-minute timeout on CD

Addresses #105

How did we decide on 6 minutes? Are we sure we don't have customers who succeeding scanning but for whom 6 minutes is not enough? Maybe we could make it configurable, for example with environment variable?

How did we decide on 6 minutes? Are we sure we don't have customers who succeeding scanning but for whom 6 minutes is not enough? Maybe we could make it configurable, for example with environment variable?

Per offline discussion, this will be overridable via the AdditionalComponentDetectorArgs parameter and will default to 15 minutes.

How did we decide on 6 minutes? Are we sure we don't have customers who succeeding scanning but for whom 6 minutes is not enough? Maybe we could make it configurable, for example with environment variable?

Apparently this was a WAG.  For now we'll default to 15 minutes and allow the user to override it.


aesthetic suggestions

Thanks for the awesomeness of this plugin and for adding so many options to configure it. Let me suggest some additional options :)
This is how my current fuzzy finder looks like (a tailored version of norcalli's ui.nvim):

The closest I got to this with telescope was this:

which is using the following options to get the "fake" padding instead of hard borders:
  local dropdown_opts = require('telescope.themes').get_dropdown({
    winblend = 10;
    borderchars = {
      prompt = {'▀', '▐', '▄', '▌', '▛', '▜', '▟', '▙' };
      results = {' ', '▐', '▄', '▌', '▌', '▐', '▟', '▙' };
    }
  })

My current problems are:

when prompt is empty, the surrounding spaces are left in the border win which as you can see in the screenshot break the upper padding
It would be nice to add a new highlight group for the > char in the selected line
It would be nice to have an option to draw the prompt at the the prompt win, rather than at the prompt border win
As you can see in my screenshot, I added a feature to ui.nvim to display right-aligned virtual text that accepts a function that prints some text at the right of the prompt window (eg: number of total matches, number of results fitting in the window, etc)

Thanks again for the plugin!

also, I cant seem to resize the height of the results window which seems to be hardcoded to 15 (https://github.com/nvim-lua/telescope.nvim/blob/master/lua/telescope/pickers/layout_strategies.lua#L141)

I saw you already implemented 4), nice! will it be possible to pass a function to generate the virtual text?
I submitted #135 for 2) and #19 for 1)
I saw you already implemented 3) through prompt_prefix but it is commented out/disabled. I guessed that for a good reason so didnt touch that one for now.

I look to add an option to tighten up the space between the prompt and the results so it looks tighter.
I also will add an option to change the number of results on list. Need to think of a good name. (I thought it was already an option of opts.max_results but I will see what happened)

I have made those changes in #143
get_dropdown{ results_height = 5, border = false} will remove all the borders and collapse the prompt and results now.
Now that I'm thinking of it, it doesn't exactly solve your problem since you're using characters to apply another border. I may need to make another option to collapse even if you have borders.

No description provided.

@tjdevries will know more about the prompt_prefix. Not quite sure about where it's at.

I was messing around with some stuff for a prompt, but I got a race condition I couldn't figure out when starting the search intermittently where the results wouldn't show up right away.
I can maybe merge it later and see if other people have the same problem. I can turn off the feature via a flag or something.

As for the status text, you can pass get_status_text (which is a function that takes a picker and returns a string) in your defaults/options to change the value.
The default looks like this:
  set("get_status_text", function(self) return string.format("%s / %s", self.stats.processed - self.stats.filtered, self.stats.processed) end)

@pwntester can you make separate issues for the remaining items? I'm not 100% sure what's left for this one anymore :laughing:

@tjdevries oh nice, didnt realize there was an option for that, thanks!
As for the remaining isses, there are only two and both of them have PRs, so opening a new issue may not be necessary (let me know otherwise :D)
https://github.com/nvim-lua/plenary.nvim/pull/19
https://github.com/nvim-lua/telescope.nvim/pull/154

That does look really pretty :) very cool.
Can you put that picture somewhere on the wiki? Just make a new page of gallery or something, just to show pretty examples.

(and can we close now?)

@pwntester That looks really goood, can you share you configuration. Thanks

@pwntester That looks really goood, can you share you configuration. Thanks

Sure, you can find my telescope (and rest of nvim) config in my dots repo

That does look really pretty :) very cool.
Can you put that picture somewhere on the wiki? Just make a new page of gallery or something, just to show pretty examples.

Thanks, will do!

Can you put that picture somewhere on the wiki? Just make a new page of gallery or something, just to show pretty examples.

Noob question ahead ... how can I contribute to the wiki? It seems like I cant send PRs to it

I think you should just be able to edit it now. I didn't realize there was a super secret hidden button not labeled or nested under wikis for allowing non-members to edit. :laughing:

Uploading these images here for the gallery, for some reason I cannot upload them directly to the wiki, and I prefer keeping them through this issue than using imgur or something like that


Update the readme examples to include tuning and setting global logger

Merging as unable to get a review and there is no change to code, only docs and CI.


Doesn't work with notebook 7

Description
I'd love for this to work with notebook 7 as well, rather than just JupyterLab. I see notebook 7 also has the 'open from URL' functionality, so hopefully it's a reasonably simple matter?

Maybe https://github.com/jupyterlab-contrib/jupyterlab-open-url-parameter/blob/f216f9dfb5ad916ee6fb3d6197c86abacd46829c/src/index.ts#L12?

https://notebooksharing.space/jupyterlite/lab/?fromURL=/api/v1/notebook/003d600c569502a28ab39b0fe4d4ea16cedcdcbc400f3093d76fc5e48f061246/Demo.ipynb works, but https://notebooksharing.space/jupyterlite/tree/?fromURL=/api/v1/notebook/003d600c569502a28ab39b0fe4d4ea16cedcdcbc400f3093d76fc5e48f061246/Demo.ipynb does not

Maybe
https://github.com/jupyterlab-contrib/jupyterlab-open-url-parameter/blob/f216f9dfb5ad916ee6fb3d6197c86abacd46829c/src/index.ts#L12
?

Yeah that may be because of this indeed.
Notebook 7 should indeed be supported.

@jtpio do you think you'll have any capacity to look into it? :D :D


Invalid S3 arn error thrown for valid format

What?
Smithy middleware-endpoint is unable to properly recognise an S3 bucket arn following the format:
arn:aws:s3:::bucket_name
...despite it being the the expected standard.
Instead, it will throw an error of Invalid ARN: ${bucketName} was an invalid ARN.
Expected Behaviour
S3 ARN values without an account id should be valid and thus not throw an error.
Where?
Tested on:
<EMAIL_ADDRESS>Using:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Example
N.B. s3BucketExampleArn is passed in via cloudformation as an environment variable, and shows up correctly in the logs - matching an existing bucket in the accounts.
import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';

const input = {
      Body: JSON.stringify(payloads),
      Bucket: s3BucketExampleArn,
      Key: `example-key`,
    };
const command = new PutObjectCommand(input);
await this.s3Client.send(command);

/usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js:39
        throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);
              ^
Error: Invalid ARN: arn:aws:s3:::s3BucketExampleArn was an invalid ARN.
    at isArnBucketName (/usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js:39:15)
    at resolveParamsForS3 (/usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js:9:37)
    at resolveParams (/usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js:47:63)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async getEndpointFromInstructions (/usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js:15:28)
    at async /usr/src/app/node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js:9:26
    at async /usr/src/app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-endpoint-middleware.js:14:24
    at async /usr/src/app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-middleware.js:9:20
    at async /usr/src/app/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26

It seems this function https://github.com/smithy-lang/smithy-typescript/blob/3d9d6038a44d513f4362cecd741ed23e320960a4/packages/middleware-endpoint/src/service-customizations/s3.ts#L61 is not following the standard since it expects the account to be present even though arn:aws:s3:::my-bucket is a valid arn


flexn/template e2e switch to electron engine on macos

Blocked by https://github.com/flexn-io/renative/issues/978, same issue on create repo

unblocked by wdio fix


Add event description to top area similar to Eventbrite pages

Compare here:

@mariobehling  This is already added here by following orga UI https://github.com/fossasia/open-event-webapp/pull/568 Please merge this.

Good first step, but let's focus more on details. Implement as shown in the screenshot. Include:

[ ] Overlap, link and Ticket Link
[ ] Description in "readable" color

Done !!


Add tkinter module.

Instead of Tkinter, which no one uses in Python...,
I think instead wrap IUP thats very simple tiny API, with just function calls,
or instead go big, and wrap PyQt6, but is huge.
🤔

We added initial support for UPBGE maybe you can use it to make 2D/3D GUI, games and more:
https://github.com/juancarlospaco/cpython/tree/nim/src/cpython/upbge


Deadlock caused by RemoteConfig fetch

Step 0: Are you in the right place?

For issues or feature requests related to the code in this repository
file a Github issue.

If this is a feature request please use the Feature Request template.

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general (non-iOS) Firebase discussion, use the firebase-talk
google group.
For backend issues, console issues, and other non-SDK help that does not fall under one
of the above categories, reach out to
Firebase Support.
Once you've read this section and determined that your issue is appropriate for
this repository, please delete this section.

[REQUIRED] Step 1: Describe your environment

Xcode version: 12.3
Firebase SDK version: 7.11
Installation method: Zip file (select one)
Firebase Component: RemoteConfig (Auth, Core, Database, Firestore, Messaging, Storage, etc)

[REQUIRED] Step 2: Describe the problem
We are experiencing a deadlock when performing a "fetch" RemoteConfig operation on a fresh install of the app.
On the main thread we have:
Thread 1 Queue : com.apple.main-thread (serial)
#0	0x00000001b1c10404 in kevent_id ()
#1	0x000000010f6a5ee0 in _dispatch_kq_poll ()
#2	0x000000010f6a6988 in _dispatch_event_loop_wait_for_ownership ()
#3	0x000000010f694a74 in __DISPATCH_WAIT_FOR_QUEUE__ ()
#4	0x000000010f6944c0 in _dispatch_sync_f_slow ()
#5	0x0000000109736960 in -[FIRRemoteConfig configValueForKey:] ()
#6	0x0000000109805368 in __41-[FPRRemoteConfigFlags cacheConfigValues]_block_invoke ()
#7	0x00000001863e2cc8 in __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ ()
#8	0x00000001863610bc in -[__NSFrozenDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] ()
#9	0x00000001098052e4 in -[FPRRemoteConfigFlags cacheConfigValues] ()
#10	0x0000000109805128 in __30-[FPRRemoteConfigFlags update]_block_invoke ()
#11	0x000000010f683ce4 in _dispatch_call_block_and_release ()
#12	0x000000010f685528 in _dispatch_client_callout ()
#13	0x000000010f693994 in _dispatch_main_queue_callback_4CF ()
#14	0x00000001863f75e0 in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#15	0x00000001863f1a88 in __CFRunLoopRun ()
#16	0x00000001863f0ba0 in CFRunLoopRunSpecific ()
#17	0x000000019d159598 in GSEventRunModal ()
#18	0x0000000188ce22f4 in -[UIApplication _run] ()
#19	0x0000000188ce7874 in UIApplicationMain ()
#20	0x0000000100a18370 in main at /Users/REDACTED/code/ios-12-3/REDACTED/REDACTED/main.swift:9
#21	0x00000001860cf568 in start ()

Meanwhile on a background thread we have:
Thread 6 Queue : com.google.GoogleConfigService.FIRRemoteConfig (serial)
#0	0x00000001b1c0e61c in __psynch_cvwait ()
#1	0x00000001cdea945c in _pthread_cond_wait$VARIANT$mp ()
#2	0x000000018768b144 in -[NSOperation waitUntilFinished] ()
#3	0x00000001863d9370 in _CFXNotificationPost ()
#4	0x000000018760f0a0 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#5	0x00000001097471d4 in -[RCNUserDefaultsManager setInstanceUserDefaultsValue:forKey:] ()
#6	0x0000000109746bcc in -[RCNUserDefaultsManager setLastETagUpdateTime:] ()
#7	0x0000000109742bc0 in -[RCNConfigSettings setLastETag:] ()
#8	0x000000010974206c in __60-[RCNConfigFetch fetchWithUserProperties:completionHandler:]_block_invoke_2 ()
#9	0x000000010f683ce4 in _dispatch_call_block_and_release ()
#10	0x000000010f685528 in _dispatch_client_callout ()
#11	0x000000010f68c5ac in _dispatch_lane_serial_drain ()
#12	0x000000010f68d234 in _dispatch_lane_invoke ()
#13	0x000000010f698a5c in _dispatch_workloop_worker_thread ()
#14	0x00000001cdeb15a4 in _pthread_wqthread ()
Enqueued from com.apple.NSURLSession-delegate (Thread 0) Queue : com.apple.NSURLSession-delegate (serial)
#0	0x000000010f689a20 in dispatch_async ()
#1	0x00000001097416ac in __60-[RCNConfigFetch fetchWithUserProperties:completionHandler:]_block_invoke ()
#2	0x0000000109801440 in __InstrumentDataTaskWithRequestCompletionHandler_block_invoke_2 ()
#3	0x0000000109801440 in __InstrumentDataTaskWithRequestCompletionHandler_block_invoke_2 ()
#4	0x0000000186a6d728 in ___lldb_unnamed_symbol531$$CFNetwork ()
#5	0x0000000186a7e1f8 in ___lldb_unnamed_symbol921$$CFNetwork ()
#6	0x000000010f683ce4 in _dispatch_call_block_and_release ()
#7	0x000000010f685528 in _dispatch_client_callout ()
#8	0x000000010f68c5ac in _dispatch_lane_serial_drain ()
#9	0x000000010f68d268 in _dispatch_lane_invoke ()
#10	0x000000010f698a5c in _dispatch_workloop_worker_thread ()
#11	0x00000001cdeb15a4 in _pthread_wqthread ()
#12	0x00000001cdeb4874 in start_wqthread ()

Steps to reproduce:
        FirebaseApp.configure()
        RemoteConfig.remoteConfig().ensureInitialized { error in
            RemoteConfig.remoteConfig().setDefaults(OurDefaultValues)
            if isFirstLaunch {
                UserDefaults.standard.setValue(true, forKey: isNotFirstLaunchKey)
                RemoteConfig.remoteConfig().fetch() { ... }
            } else {
                RemoteConfig.remoteConfig().activate() {
                   RemoteConfig.remoteConfig().fetch() { ... }
                    ...
                }
             }
        }

What happened? How can we make the problem occur?
The app freezes and becomes unresponsive due to this apparent deadlock.

I notice the logs usually end like this:
 7.11.0 - [Firebase/Analytics][I-ACS002001] APMExperimentAlarm fired
 7.11.0 - [Firebase/Analytics][I-ACS002003] APMExperimentAlarm canceled
 7.11.0 - [Firebase/Analytics][I-ACS002002] APMExperimentAlarm scheduled to fire in approx. (s): 14399.97326385975
 [tcp] tcp_input [C4.1:3] flags=[R] seq=1755433504, ack=0, win=0 state=LAST_ACK rcv_nxt=1755433505, snd_una=1622841800
 [tcp] tcp_input [C4.1:3] flags=[R] seq=1755433505, ack=0, win=0 state=LAST_ACK rcv_nxt=1755433505, snd_una=1622841800
 [tcp] tcp_input [C4.1:3] flags=[R] seq=1755433505, ack=0, win=0 state=CLOSED rcv_nxt=1755433505, snd_una=1622841800

In testing different possible fixes for this issue and googling various sections of the logs, eventually at long last, we found this old github issue from 2019 about the same exact problem: https://github.com/firebase/firebase-ios-sdk/issues/3929
I found this by googling ([FIRRemoteConfig configValueForKey:]_block_invoke freeze)[https://www.google.com/search?client=safari&rls=en&q=[FIRRemoteConfig+configValueForKey:]_block_invoke+freeze&ie=UTF-8&oe=UTF-8].
In that old issue, @ryanwilson's recommendation was to unlink the Firebase Performance module from the installation.
I tried that, and it worked—unlinking Firebase Performance from our build has resolved the deadlock.
So it seems safe to conclude that we are seeing a regression of the same issue where Firebase Performance deadlocks the main thread. Fortunately we weren't relying on Firebase Performance in our app to actually do anything important, so removing it was not really a problem.
That being said, I'm going to leave this issue open and await a response. If you come up with a possible fix for this issue, please let me know and I would be happy to test whether indeed it's fixed.

Thanks for sharing the analysis. It should help with our investigation.

@1oo7 We did fix this issue in the past and we made design changes where we do not deadlock with Remote Config. So, sounds like a regression. We will dig on this further.
Curious on how easy is it to reproduce the issue? I tried this on using Firebase version 11.0 and could not reproduce this. Will continue to try this out. But If you could share details about the version of XCode, iOS Version and your Podfile.lock, that could help immensely in figuring out the root cause of this issue.

Could this one be related to #7975?

Yes, at the look of it. It feels like this could be the cause of the issue. Let me take a look at the perf SDK to see how it acts for that change in remote config and see how we can move ahead on this.

But If you could share details about the version of XCode, iOS Version and your Podfile.lock, that could help immensely in figuring out the root cause of this issue.

Xcode 12.3, iOS 14.4.1, don't use CocoaPods.
We were using Carthage for Firebase for awhile, but then Google stopped releasing new binaries via Carthage. When Carthage 0.37.0 came out with the ability to build XCFrameworks, we transitioned all our dependencies to XCFrameworks. However Firebase can't be built from source, and while Carthage 0.37.0 can now build XCFrameworks, sadly its ability to fetch remote binaries has yet to be updated to support fetching XCFrameworks from remote servers.
So in the meantime, as a temporary measure, we have added the Firebase XCFrameworks directly into our repo.
We link the Firebase binaries to our app via a dynamic wrapper framework, which links to the static Firebase XCFrameworks that we use:

FirebaseABTesting.xcframework
FirebaseAnalytics.xcframework
FirebaseAppDistribution.xcframework
FirebaseCore.xcframework
FirebaseCoreDiagnostics.xcframework
FirebaseCrashlytics.xcframework
FirebaseDynamicLinks.xcframework
FirebaseInstallations.xcframework
FirebasePerformance.xcframework (removed to fix this bug)
FirebaseRemoteConfig.xcframework
GoogleAppMeasurement.xcframework
GoogleDataTransport.xcframework
GoogleToolboxForMac.xcframework
GoogleUtilities.xcframework
GTMSessionFetcher.xcframework
nanopb.xcframework
PromisesObjC.xcframework
Protobuf.xcframework (removed because only FirebasePerformance needs it)

Before XCFrameworks, we employed the exact same scheme except with the "xc" removed from the file extensions of these.
Our approach had apparently been working fine up until sometime recently—possibly after we switched to XCFrameworks but I'm honestly not sure—when our QA found the deadlock issue, which only affects the initial launch of the app (but, oddly, not subsequent launches).
I don't see why it being the XCFrameworks or Frameworks should matter because an XCFramework is just a folder full of Frameworks, and when we moved to XCFrameworks we did not change the version of Firebase we were using.
We'd hoped that updating to Firebase 7.11 would resolve the deadlocks, as there were some promising-sounding patch notes, but unfortunately not.
Let me know if you need any other details of our setup.