Check failed: backend != IOSRenderingBackend::kImpeller. Software rendering is incompatible with Impeller.

Steps to reproduce

Open a new Flutter project (the default will do) on Mac 14.5 on Visual Studio Code
Add all of these plugins in pubspec.yaml (necessary for my actual project, I'm only testing here on a default app)
cupertino_icons: ^1.0.6
firebase_core: ^3.1.0
firebase_auth: ^5.1.0
google_sign_in: ^6.2.1
cloud_firestore: ^5.0.1
flutter_dotenv: ^5.1.0
google_generative_ai: ^0.4.3
image_picker: ^1.1.2
firebase_storage: ^12.1.0
flutter_riverpod: ^2.5.1
google_maps_flutter: ^2.7.0
permission_handler: ^11.3.1
geolocator: ^12.0.0
location: ^7.0.0
http: ^1.2.1
fl_chart: ^0.68.0
intl: ^0.19.0
flutter_slidable: ^3.1.0
table_calendar: ^3.1.2
image_gallery_saver: ^2.0.3
url_launcher: ^6.3.0
awesome_notifications: ^0.9.3+1
shared_preferences: ^2.2.3
mime: ^1.0.5
flex_color_picker: ^3.5.1
Do a flutter clean
Then flutter pub get
flutter pub outdated
cd ios
pod install
Go in XCode, open the ios folder in XCode (right-click on ios folder in Visual Studio Code > Open in XCode)
Product > Clean Build Folder...
Product > Build
Wait for the build to finish and then click on the play button to open the app in iOS simulator iPhone 15 Pro - iOS 17.2 version

Expected results
Open the app (default app in Flutter)
Actual results
It shows me this error instead.
[FATAL:flutter/shell/platform/darwin/ios/ios_context.mm(29)] Check failed: backend != IOSRenderingBackend::kImpeller. Software rendering is incompatible with Impeller.
Software rendering may have been automatically selected when running on a simulator in an environment that does not support Metal. Enabling GPU pass through in your environment may fix this. If that is not possible, then disable Impeller.
Code sample
Code sample
The code is the Default code when you create a new Flutter project, nothing more.

Downloading packages...
  collection 1.18.0 (1.19.0 available)
  http_parser 4.0.2 (4.1.0 available)
  js 0.6.7 (0.7.1 available)
  leak_tracker 10.0.4 (10.0.5 available)
  leak_tracker_flutter_testing 3.0.3 (3.0.5 available)
  material_color_utilities 0.8.0 (0.12.0 available)
  meta 1.12.0 (1.15.0 available)
  string_scanner 1.2.0 (1.3.0 available)
  test_api 0.7.0 (0.7.3 available)
  vm_service 14.2.1 (14.2.4 available)
  web 0.5.1 (1.0.0 available)
Got dependencies!
11 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

flutter pub outdated:

Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest

direct dependencies: all up-to-date.

dev_dependencies: all up-to-date.
all dependencies are up-to-date.

pod install:

Analyzing dependencies
cloud_firestore: Using Firebase SDK version '10.28.0' defined in 'firebase_core'
firebase_auth: Using Firebase SDK version '10.28.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '10.28.0' defined in 'firebase_core'
firebase_storage: Using Firebase SDK version '10.28.0' defined in 'firebase_core'
Downloading dependencies
Installing AppAuth (1.7.5)
Installing BoringSSL-GRPC (0.0.32)
Installing Firebase (10.28.0)
Installing FirebaseAppCheckInterop (10.29.0)
Installing FirebaseAuth (10.28.0)
Installing FirebaseAuthInterop (10.29.0)
Installing FirebaseCore (10.28.0)
Installing FirebaseCoreExtension (10.29.0)
Installing FirebaseCoreInternal (10.29.0)
Installing FirebaseFirestore (10.28.0)
Installing FirebaseFirestoreInternal (10.28.0)
Installing FirebaseSharedSwift (10.29.0)
Installing FirebaseStorage (10.28.0)
Installing Flutter (1.0.0)
Installing GTMAppAuth (4.1.1)
Installing GTMSessionFetcher (3.5.0)
Installing GoogleMaps (9.0.0)
Installing GoogleSignIn (7.1.0)
Installing GoogleUtilities (7.13.3)
Installing IosAwnCore (0.9.3)
Installing PromisesObjC (2.4.0)
Installing RecaptchaInterop (100.0.0)
Installing abseil (1.20240116.2)
Installing awesome_notifications (0.9.3)
Installing cloud_firestore (5.1.0)
Installing firebase_auth (5.1.2)
Installing firebase_core (3.2.0)
Installing firebase_storage (12.1.1)
Installing gRPC-C++ (1.62.5)
Installing gRPC-Core (1.62.5)
Installing geolocator_apple (1.2.0)
Installing google_maps_flutter_ios (0.0.1)
Installing google_sign_in_ios (0.0.1)
Installing image_gallery_saver (2.0.2)
Installing image_picker_ios (0.0.1)
Installing leveldb-library (1.22.5)
Installing location (0.0.1)
Installing nanopb (2.30910.0)
Installing permission_handler_apple (9.3.0)
Installing shared_preferences_foundation (0.0.1)
Installing url_launcher_ios (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 15 dependencies from the Podfile and 41 total pods installed.

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `Runner` to `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` or include the `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` in your build configuration (`Flutter/Release.xcconfig`).

[!] The `Runner [Debug]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `Runner [Release]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `Runner [Profile]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Debug]` target overrides the `APPLICATION_EXTENSION_API_ONLY` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Debug]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Release]` target overrides the `APPLICATION_EXTENSION_API_ONLY` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Release]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Profile]` target overrides the `APPLICATION_EXTENSION_API_ONLY` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `RunnerTests [Profile]` target overrides the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting defined in `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.3, on macOS 14.5 23F79 darwin-x64, locale en-US)
    • Flutter version 3.22.3 on channel stable at /Users/admin/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (11 days ago), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Xcode - develop for iOS and macOS (Xcode 15.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C65
    • CocoaPods version 1.15.2

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

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

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

[✓] Connected device (3 available)
    • iPhone 15 Pro (mobile) • 06FEE452-0C84-4B4E-917C-EC4059E90D9C • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-2
      (simulator)
    • macOS (desktop)        • macos                                • darwin-x64     • macOS 14.5 23F79 darwin-x64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 126.0.6478.185

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

I found this comment by someone on another issue. Is this true?
"Impeller does not support simulators that aren't running on devices with GPU passthrough, such as some cloud providers. In the past this wouldn't fail at startup, but would boot into a mode where parts of the engine used Skia and parts used Impeller, which lead to crashes. This behavior was changed so that the app exits in unsupported configurations instead.
if you need to run Flutter on software only simulators, you need to explicitly opt out of Impeller.
Originally posted by @jonahwilliams in https://github.com/flutter/flutter/issues/140718#issuecomment-1872438958"
So should I disable Impeller because I am not running the iOS simulator on a physical Mac, but in MacinCloud? Is there a workaround of fixing this? Should I just assume it will work on an actual device?

Impeller does not have support for software rendering. This is not an issue on real iOS devices and the vast majority of simulator set ups, but if you are running on a cloud provider that hasn't fully implemented macOS metal support it won't work. As a work around you can disable Impeller (though this will hurt the runtime performance of your app if you keep it disabled when you ship it).
Around EOY we will be removing Skia support from all iOS builds which will remove this workaround. I would recommend finding a new cloud provider or asking your existing cloud provider for devices with GPU pass through.


Pivot Tool does way too much

It's hard to describe, and harder to understand.
Can it be split into separate Index, Pivot and Aggregate operations?
(Group By needs fixing up anyway)

OK so the first step was to clean up the Group By tool ...

that was kind of successful but:

the squillions of little checkboxes are annoying.
(in pandas) you can ask for a median but there's no way to ask for a N%-ile for example.
you can join back to the original data to spread the grouped quantities out, but this is slightly annoying to do, this could become an option in the group by plugin:

pivot plugin stripped back, probably can just be pandas pivot_table but not sure about dask support (see #21) so leaving this open for the mo.

this is done for now, although there's some more thinking to do here wrt how much complexity each "tool" should have.


[Bug] Importing Leaflet Removes Dynamic Html Head on Build

Reporting a bug
I am experiencing a rather weird situation using this genius library (please feel free to point me to the chat if it's better suited there or even directly to the Leaflet community).
I am generating dynamic html information in the build stage which works absolutely fine however as soon as I import leaflet which we would like to use in our contact form it removes the head information and we just do not understand why.
Environment
  System:
    OS: macOS Mojave 10.14.6
    CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
    Memory: 736.20 MB / 16.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 10.17.0 - ~/.nvm/versions/node/v10.17.0/bin/node
    Yarn: 1.17.3 - /usr/local/bin/yarn
    npm: 6.11.3 - ~/.nvm/versions/node/v10.17.0/bin/npm
  Browsers:
    Chrome: 80.0.3987.163
    Safari: 13.0.4

Steps to Reproduce the problem

MVP can be found here  git clone https://github.com/TimMcCauley/react-static-leaflet-head-bug.git
yarn install
yarn build && yarn serve
Check the markup after building with and without line 3 in react-static-leaflet-head-bug/src/containers/Post.js
With will strip out the dynamic Head and without react-helmet will build the html perfectly.

Expected Behavior
I would expect that importing leaflet would have no effect on the generation of the html head.
Reproducible Demo
https://github.com/TimMcCauley/react-static-leaflet-head-bug

Thanks @SleeplessByte - I thought I might mention that I am experiencing the same issue if I simply try to change the title this way
const Post = () => {

  useEffect(() => {
   document.title = "lool"
  }, []);

  const { post } = useRouteData()
  return (

      <Link to="/blog/">{'<'} Back</Link>

{post.title}

{post.body}

  )
}

export default Post

My guess is that it's on leaflet's side; we do do something special with helmet to "pre-render" the head, so it could be us too. If there is any issue over at the leaflet repo, can you link it here?

Thank you. I did raise it with the leaflet folks but it was closed https://github.com/Leaflet/Leaflet/issues/7107 - is there anything you recommend me to try?

Given that src/core/Browser.js is targetting the browser -- perhaps what you can try is conditionally import leaflet, for now. So basically, instead of doing:
import leafletthings from 'leaflet'

you only import it when in the browser (And not on build):
if (typeof document !== undefined) {
  import('leaflet').then(...)
  // or
  const leafletthings = require('leaflet')
}

If that makes it work, at least we know where to look.

 I updated the code in the repository:
https://github.com/TimMcCauley/react-static-leaflet-head-bug/blob/master/src/containers/Post.js
Cheers a bunch for this stunning hint!
/T

Sweet. I'm glad that works!


[GEARPUMP-297] Make urls relative

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the commit message is formatted like:
[GEARPUMP-<Jira issue #>] Meaningful description of pull request
[x] Make sure tests pass via sbt clean test.
[x] Make sure old documentation affected by the pull request has been updated and new documentation added for new functionality.

+1, the test failure is unrelated. Created https://issues.apache.org/jira/browse/GEARPUMP-301


Update ulule limiter package to 2.0.0

What does this PR do?
Updating the package https://github.com/ulule/limiter to the new version, issues #216

👍

@italolelis Thx. Now, the project uses two libraries to work with redis (github.com/go-redis/redis and github.com/garyburd/redigo/redis), I think it's worth leaving one ...


Secure service for untrusted remote devices

Description
It would be intriguing to make a connection to a node remote service that is running on untrusted hardware and provide it with a seed created in a hardened / trusted service operating within known confines of information-theoretical security.
Motivation
We can't trust any machine we didn't build ourselves. Cloud providers attempt to give us "faith", but faith is not the same as trust. By creating secrets in an environment we trust and then giving them to the "less-trusted" device, we have an opportunity to enhance operational security. Obviously there are new risks, but it is an intriguing approach, nonetheless.
Vision
This stronghold would be running on something like a cryptocore (or a smartphone), for example.

This is possible with snapshots.  You write the snapshot in a safe environment and send it over to a stronghold in the less safe environment.  If the zone is in place, in theory there shouldn't be a way to access the data from the systems point of view except by using the stronghold interface.


V1.5 breaks webview events

I updated to 1.5 webview.navigationcompleted stopped working, spent half the day thinking it was my code and trying different events. Works in the Windows Phone emulator but not on an actual device.

Hello @bobbydharrell ,
Thank you for reporting.
Which version were you using before that was working? We will check if something has changed that could impact that.
So far, I don't remember any changes related to this event.
Best Regards,
Jonathan

Hi <IP_ADDRESS> is working. Installed via Nuget Package manager in Visual Studio 2017

To duplicate, create a webview, add an event for navigation completed with a few lines of code within it. Then run on a physical device. It will fail to call the event, DOMCompleted would call the event if it only had 1 thing in it. But it all works flawlessly on the Emulator.

Hello @bobbydharrell ,
What's the relation within webview/navigation completed event and Html Agility Pack?
From the description provided, it looks that you don't need HAP to reproduce this issue.
So I'm not sure what we need to fix.
Best Regards,
Jonathan

Sorry, I am using the HAP to parse the content of the website after it loads to look for a specific element.
I am not currently at my computer but could provide a code snippet on Wednesday.
Sincerely,Bobby HarrellOwner/DeveloperB-Tech Labs<EMAIL_ADDRESS>http://www.b-techlabs.com
-------- Original message --------From: Jonathan Magnan<EMAIL_ADDRESS>Date: 7/10/17  10:14 PM  (GMT-05:00) To: zzzprojects/html-agility-pack<EMAIL_ADDRESS>Cc: Bobby Harrell<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [zzzprojects/html-agility-pack] V1.5 breaks webview events (#34)
Hello @bobbydharrell ,
What's the relation within webview/navigation completed event and Html Agility Pack?
From the description provided, it looks that you don't need HAP to reproduce this issue.
So I'm not sure what we need to fix.
Best Regards,
Jonathan
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/zzzprojects/html-agility-pack","title":"zzzprojects/html-agility-pack","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/zzzprojects/html-agility-pack"}},"updates":{"snippets":[{"icon":"PERSON","message":"@JonathanMagnan in #34: Hello @bobbydharrell ,\r\n\r\nWhat's the relation within webview/navigation completed event and Html Agility Pack?\r\n\r\nFrom the description provided, it looks that you don't need HAP to reproduce this issue.\r\n\r\nSo I'm not sure what we need to fix.\r\n\r\nBest Regards,\r\n\r\nJonathan"}],"action":{"name":"View Issue","url":"https://github.com/zzzprojects/html-agility-pack/issues/34#issuecomment-314302986"}}}

Hello @bobbydharrell ,
We have not received yet your code snippet,
Best Regards,
Jonathan

My sincerest apologies!!!! I did forget to post back, I am sorry!
You can actually delete this thread, I can no longer duplicate the issue in order to provide any more details, 1.5 and 1.5.1 are working fine.
Thank you!

Thank you for letting me know ;)
Best Regards,
Jonathan


LUAFDN-491 connect should pass only innerProps

Closes #48

Coverage remained the same at 100.0% when pulling c198f1214d971249edaac9419e9cd68a5c71573f on fix-connect-map-state-to-props-call into 40877d3969fa46be021e88ba8405e32a340b59fc on master.


Linting error when using test.extend

When running a simplified version of the test.extend demo from the vitest docs:
import { test } from "vitest";

export const myTest = test.extend({
  archive: []
})

I get the following linting errors:
error  Use expect in test body      vitest/expect-expect
error  Test title must be a string  vitest/valid-title

Link to Docs: https://vitest.dev/guide/test-context.html#extend-test-context
eslint-plugin-vitest: 0.3.8
vitest: 0.34.6

this is a new api that's not currently implemented

This is still an error in 1.0.4

those two rules are among recommended rules you can use all rules setting instead of recommended like this
{
  "extends": ["plugin:vitest/all"]
}

or turn them off

This doesn't resolve the problem - it is a false positive in the rule and clearly a bug.

It'll be fixed in the next release

I'm still seeing these 3 errors, even on the latest version of this plugin.

Could you pls link to which version includes the fix? thanks

@veritem Still reproduces on v0.5.4


Image ALT texts are sometimes displayed, sometimes hidden behind "ALT" button

THANKS FOR AN AMAZING PROJECT :heart:
Describe the bug
I'm wondering why sometimes image alt texts are visible and other times there's an "alt" button that needs to be clicked.
I cannot find a consistent pattern.
To Reproduce
ALT button: https://fosstodon.org/@mariatta/112441181927547930 :disappointed:
ALT text as caption: https://fosstodon.org/@mariatta/112426998242061472 :partying_face:
Expected behavior
I would like for ALT texts to always display. It's nice and encourages more usage. See also this blog post that praises Phanpy stats: https://stefanbohacek.com/blog/impact-of-fediverse-clients-on-the-use-of-alt-text/

Currently the alt-text-as-caption only show up when it's short (certain number of characters + other conditions). Reasons:

The 'ALT' badge/button UI should be good enough as hints to encourage more usage. There's a design research document by an ex-X, https://laurenrace.com/design/twitter-alt-text-features/
Alt text character limit on Mastodon is 1500 (or shorter/longer if from forked or other non-Mastodon platforms), so it can get pretty long and need to be truncated at some point. It may have multiple line breaks which may show up as paragraphs.
Multiply that by max limit of 4 media attachments on Mastodon (or less/more from forked or non-Mastodon platforms), so it can get even longer.
Ultimately, the alt-text-caption feature on Phanpy only serves as "progressive enhancement"; if it's short enough, hide ALT badge and show them inline. The only contradiction is that Phanpy also show them inline for multiple media attachments but truncate them to a single line, so 4 media attachments = 4 lines of truncated alt text.
This is all still experimental and require observations, so ideas here will be considered one day 😉.

Wonderful thinking behind the feature!
I wouldn't mind to have a truncated version with a button to read more?
I agree that 1500 chars is a lot to display inside the post area, especially in column mode... so the standalone modal makes sense.

Proposal 1:
The following example could be a good "fits-all" solution that truncates the text if necessary: the ALT buttons become an always-present element, same with the ALT texts.
This is btw. my favorite layout already, I've seen people use it to give a picture-by-picture narrative. Works really well with multiple images :100:

I'd prefer if Phanpy never showed alt text by default and always put it behind a button click (unless, of course, accessibility software is turned on that uses it).
Reasons:

It distracts me. My eyes are drawn to the text before I've processed the image itself.
In case of visual humor, the alt text often spoils the joke.
It's alternative text; by definition, I'm supposed to use the image or the text, not both at the same time.
Showing alt text by default encourages people to use it as a caption or Easter egg, rather than for describing the image. I'm old enough to remember when web browsers stopped displaying alt text as a mouseover tooltip for this exact reason! Fedi clients shouldn't go out of their way to bring that counterproductive behavior back, imo.

@graue there are actually stats available, as mentioned in the description: https://stefanbohacek.com/blog/impact-of-fediverse-clients-on-the-use-of-alt-text/
I'm pretty convinced that decisions to expose ALT texts in Phanpy encourage the usage in a positive way. Which is backed up by the stats.
To say that ALT texts are used as an Easter egg (or any other non-accessibility relevant purpose) is far from my impression - and won't be relevant since this issue suggests to have a way of displaying ALT texts without mouseovers (which don't work on touch displays).
The behavior could be made configurable - there are of course individual preferences. But I would encourage to have it switched on by default so that people are aware of its existence and can choose to switch it off again.

That blog post specifically praises Phanpy's prominent place for image descriptions in the compose dialog. That's a great design that seems to be making a difference. I'm saying I'd prefer the alt text to be initially tucked away upon viewing a post.

@graue Phanpy is taking the lead to promote usage of ALT texts (whether that's an intended goal or not). I think that the author isn't a user of Phanpy and had missed this part, but it's hard to leave it out of the analysis.
Anyways, there's a lot to be said and designed. No one wants to ruin your UX by adding huge unconfigurable walls of text everywhere, I think it's probably in good taste to make any new behaviors configurable :+1:
So I think that whether you want the ALT texts or not, the :cherries: on the :cake: solution will satisfy both preferences :+1:


[📖] Integration Issue with SIWE and Auth.js Credentials Provider

Provider type
Credentials
Environment
System:
OS: Linux 6.4 Fedora Linux 38 (Workstation Edition)
CPU: (16) x64 AMD Ryzen 7 PRO 6850U with Radeon Graphics
Memory: 6.39 GB / 14.38 GB
Container: Yes
Shell: 5.2.15 - /bin/bash
Binaries:
Node: 18.17.1 - /usr/bin/node
npm: 9.8.1 - /usr/local/bin/npm
Browsers:
Chrome: 117.0.5938.92
Packages:
"@auth/core": "^0.13.0",
<EMAIL_ADDRESS>"^1.2.12",
<EMAIL_ADDRESS>"0.1.3",
<EMAIL_ADDRESS>"^1.2.12",
Reproduction URL
https://github.com/visoftsolutions/ksox-web/tree/authjs-credential-dead-end/exchange
Describe the issue
I'm facing a problem when trying to integrate Sign-In with Ethereum (SIWE) with Auth.js as per this guide. There's no straightforward way to pass the 'message' and 'signature' credentials from SIWE to Auth.js's Credential provider programmatically. The current implementation redirects users to a page where they're prompted to enter these credentials manually.
How to reproduce
In the repo https://github.com/visoftsolutions/ksox-web
run redis db
podman run -p 6379:6379 -p 8001:8001 -it redis/redis-stack:latest

run dev
npm run dev -w exchange

and go to http://localhost:5173/siwe/
Expected behavior
I'd like to pass the SIWE credentials to Auth.js's Credential provider programmatically, without redirecting users for manual input.
Solving this would make Qwik a more viable option for web3 applications alongside React.

My workspace is over here https://github.com/visoftsolutions/ksox-web/tree/authjs-credential-dead-end/exchange/src/routes/siwe

I am not an expert in this area, but perhaps we can figure this out together.
What would you expect qwik to change in its current implementation to fix this?

It seems for me to be very heplful if qwik-auth exports some way to pass credentials to the Credential Provider like shown here in the next repo
https://github.com/spruceid/siwe-next-auth-example/blob/main/pages/siwe.tsx#L32-L37
The equivalent code that tries to do something similar (but fails) in my repo is here
https://github.com/visoftsolutions/ksox-web/blob/authjs-credential-dead-end/exchange/src/routes/siwe/index.tsx#L126
It seems like redirect: false option doesn't make any effect.
It would be perfect if there is any documentation how to use @builder.io/qwik-auth with siwe to let users sign with Ethereum

Could you create a PR to fix https://github.com/BuilderIO/qwik/blob/main/packages/qwik-auth/src/index.ts so that it can do what you are looking for?

We may arrange a call and discuss if such modification is possible and how to properly do that

Who is we? You mean you and me?

Yes, or me and a somebody who worked on qwik-auth

Sorry, the person who worked on it is currently working on a priority item. Can we resolve this async? What change needs to be made? Or better yet, can you make a change and propose a PR?


Fix CI

Stack from ghstack (oldest at bottom):

-> #55

Summary:
broken when lm-eval is not installed, this PR fixes it
Test Plan:
CI
Reviewers:
Subscribers:
Tasks:
Tags:

putting this up just for reference, in case we need some of the modifications here. the fix is landed in https://github.com/pytorch-labs/ao/pull/50


Fix the case where bitmap.lenght and bitmapLength are not equal.

Motivation:
Fix the case where PoolSubpage's bitmap.lenght and bitmapLength are not equal.
e.g. runSize=8192, elemSize=8192, we got bitmap.length=8, but bitmapLength=1
Modification:
Length of bitmap initialization
Result:
PoolSubpage's bitmap.lenght always correct

@giiiiiithub please add a unit test which would fail without this change

@giiiiiithub but shouldn't this be "caught" by an assert ?

@giiiiiithub but shouldn't this be "caught" by an assert ?

bitmapLength and bitmap are  PoolSubpage's internal state, I can't capture them through assert. I can only observe it through debug.

I mean an assert in the code itself. This would then be triggered when try to allocate the buffer as you stated

@chrisvest @franz1981 PTAL

@chrisvest @franz1981 ping

Let me close this for nw


 As we start to have more roles and more things to do in a room, there will be different priorities that creeps need to balance.
One way to accomplish this is with a task queue where creeps can be assigned work that needs to be done based on their capabilities.

One good example of a task queue being useful would be for Builder creeps to decide whether to build a new building versus repair an existing one.
Repair jobs for buildings with most of their health left is low priority, but if the building is missing a lot of health, or is a critical building like an extension or wall that is under attack, it should have a high priority.


Add __call to Product Class

If I currently want to get data from a product I need to do so by using the woocommerce function which is not so nice. We could implement __call() and __get() method in the imber\Integrations\WooCommerce\Product to be able to get data from the product and routes the function calls and property calls to the contained product variable.

Ah just saw this is not needed. I can just access the product variable.


mergeSchemas(), simple-schema.js, Line: 745 throws Errors

I use Websorm IDE. When I enable JS exception breakpoints, I get a load of exceptions from simple schema on creating a new schema.
when calling new SimpleSchema() then:
coming from simple-schema.js Line 39
in Line 745:
throw new Match.Error("Expected " + pattern.name);

Will need reproduction code.


Basic scheduling

Setup the basic scheduling, and update the readme with any setup steps performed.
Scheduling:
"setup => rivers & drains & raw_dem => hydrological_dem => roughness"

Notes on useful links:

Cycl 8 install - https://cylc.github.io/cylc-doc/latest/html/installation.html
Cylc 8 tutorial - https://cylc.github.io/cylc-doc/latest/html/tutorial/index.html
NeSI JupyterHub page - https://support.nesi.org.nz/hc/en-gb/articles/360001555615#accessing_jupyter_on_nesi
NeSI Module setup / finding software - https://support.nesi.org.nz/hc/en-gb/articles/360000360576-Finding-Software
SnakeMake Workshop instructions - https://nesi.github.io/snakemake_workshop/workshop_material/01_introduction.html


brew install screen --HEAD broken

0 λ brew install screen --HEAD
==> Installing screen from homebrew/dupes
==> Using the sandbox
==> Cloning git://git.savannah.gnu.org/screen.git
Updating /Users/sobrinho/Library/Caches/Homebrew/screen--git
==> Checking out branch master
==> Downloading https://gist.githubusercontent.com/yujinakayama/4608863/raw/75669072f227b82777df25f99ffd9657bd11384
Already downloaded: /Users/sobrinho/Library/Caches/Homebrew/screen--patch-9c53320cbe3a24c8fb5d77cf701c47918b3fabe8d6f339a00cfdb59e11af0ad5.diff
==> Patching
==> Applying gistfile1.diff
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/src/acconfig.h b/src/acconfig.h
|index 2e46985..c797e5c 100644
|--- a/src/acconfig.h
|+++ b/src/acconfig.h
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
Error: Failure while executing: /usr/bin/patch -g 0 -f -p1 -i /private/tmp/screen--patch-20161017-78604-1m4508l/gistfile1.diff

Do you need more info?
I'm trying to figure it out what is wrong.

What can I say is that the commit df1c012227c95dd7aafe8706f4537445ba8f5d48 on screen removed the src/acconfig.h.
According to the documentation, seems like you have to configure the build flags at src/config.h now.
I'm trying something here.

Removing the patch the compilation goes on until shadow.h is not found:
1 λ brew install screen --HEAD
==> Installing screen from homebrew/dupes
==> Using the sandbox
==> Cloning git://git.savannah.gnu.org/screen.git
Updating /Users/sobrinho/Library/Caches/Homebrew/screen--git
==> Checking out branch master
==> ./autogen.sh
==> ./configure --prefix=/usr/local/Cellar/screen/HEAD-e973e7f --mandir=/usr/local/Cellar/screen/HEAD-e973e7f/share
==> make
Last 15 lines from /Users/sobrinho/Library/Logs/Homebrew/screen/03.make:
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 sched.c -o sched.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 telnet.c -o telnet.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 encoding.c -o encoding.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 canvas.c -o canvas.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 layout.c -o layout.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 viewport.c -o viewport.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 list_display.c -o list_display.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 list_generic.c -o list_generic.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 list_window.c -o list_window.o
clang -c  -iquote. -DSCREENENCODINGS='"/usr/local/Cellar/screen/HEAD-e973e7f/share/screen/utf8encodings"' -g -O2 -Wall -Wextra -std=c11 authentication.c -o authentication.o
authentication.c:14:10: fatal error: 'shadow.h' file not found
#include <shadow.h>
         ^
1 error generated.
make: *** [authentication.o] Error 1

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/Homebrew/homebrew-dupes/issues

These open issues may also help:
brew install screen --HEAD broken https://github.com/Homebrew/homebrew-dupes/issues/668

See #669


Fix tests failing due to whitespaces and trailing forward slash in Advanced Node and Express

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #39533

@Sky020 If we are fixing the regex, can you adjust the regex for both of your suggestions to make use of the capture groups for the single or double quotes.  For example:
Change:
/('|")\/auth\/github\/callback\/?('|")[^]*?get.*?passport.authenticate.*?github.*?failureRedirect:("|')\/\2/gi

to:
/('|")\/auth\/github\/callback\/?\1[^]*?get.*?passport.authenticate.*?github.*?failureRedirect:("|')\/\2/gi

I have not tested the need for the lazy matching, but the \s flag checks for all kinds of whitespace (\r\n\t\f\v), and the g flag should negate the need for +

I suppose only the first test requires the lazy matching, but I left both lazy..

@piouson Thank you, for making those changes. Unfortunately, I had a brain-freeze moment. So, could you update to remove the ( |) again?
You were correct in removing it in the first place, because of the .replace()

@Sky020 Technically, the second set of quotes around / can be either " or '.  While not likely, the user could use double quotes for one and single quotes for the other.

@Sky020 Technically, the second set of quotes around / can be either " or '. While not likely, the user could use double quotes for one and single quotes for the other.

ahah I realise now, best to leave it as separate capture groups..

@piouson Thank you, for making those changes. Unfortunately, I had a brain-freeze moment. So, could you update to remove the ( |) again?
You were correct in removing it in the first place, because of the .replace()

good catch, indeed that was my initial idea, I missed that, but all should be good now, thank you!


Different punctuation in Continuous ASR and Continuous Translation

In your complete Demo for JavaScript I noticed a different behaviour for automatic punctuation:
In Continuous ASR, the punctuation is set only after onRecognized, i.e. when a segment is finalized.
In Continuous Translation, the punctuation of the ASR is set in real-time while onRecognizing, i.e. while hypotheses are sent back.
It is possible to have real-time punctuation also in Continuous ASR without having to wait until a segment is finalized? The real-time punctuation provided with Continuous Translation seems good enough.

@TakamotoAI Would config.SetProperty(PropertyId.SpeechServiceResponse_PostProcessingOption, "TrueText"); be what you're looking for? Thanks for using Speech SDK, and writing this issue up.

Closed since no further comments in 20 days. Please open a new issue if more support is needed.


Capture stdout and stderr when executing docker compose

What does this PR do?
Capture stdout stderr of docker compose in case of error.
Motivation
This is essential for troubleshooting.
Additional Notes
We can't hardcode capture=True in the docker compose call because some integrations, like Confluence, exceed the maximum argument limit, causing an error:
OSError: [Errno 7] Argument list too long:
'/opt/hostedtoolcache/Python/3.12.7/x64/bin/python'
Error: Process completed with exit code 1.

Therefore, the caller of docker_run decides whether the docker compose output should be captured.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Changelog entries must be created for modifications to shipped code
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
[ ] If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

imo this needs a changelog for datadog_checks_dev

change added


How do I check if the download completed in onCreate?

Hi.
First of all thank you for providing such a nice solution.
How do I check if the download completed in onCreate?
The following code work without problem, but maybe user cancel the download operation before completion and incomplete file exists in the path.
try {
File root = android.os.Environment.getExternalStorageDirectory();
File path = new File(root.getAbsolutePath() + "/telavat/" + "shahat.mp3");
 if (path.exists()) {
     dllaye.setVisibility(View.GONE);
 }

} catch (Exception e) {
}
How can I understand the download is completed?
I’d appreciate your cooperation.
Thank you & Best Regards,
Ahmad Karimi

You can check if the files exist in onCreate like this:
private boolean isFilePresent(String fileName) {
        File root = android.os.Environment.getExternalStorageDirectory();
        File path = new File(root.getAbsolutePath() + "/telavat/" + fileName);
        File file = new File(path);
        return file.exists();
    }

Then in onCreate check if the file exists:
if (isFilePresent("shahat.mp3")) {
            //file exists
        } else {
            //file doesn't exist
        }

In order to know when a download has completed, you have to override onChanged listener. A little trick I used to avoid incompleted downloaded files is to create a new boolean variable that is true only when DOWNLOAD_COMPLETED is triggered, otherwise to delete the file or the request.
private boolean isCompleted = false;

 @Override
    public void onChanged(Download download, @NotNull Reason reason) {
        switch (reason) {
            case DOWNLOAD_STARTED:

                break;
            case DOWNLOAD_COMPLETED:
                isCompleted = true;
                break;
            case DOWNLOAD_ERROR:

                break;
            case DOWNLOAD_WAITING_ON_NETWORK:

                break;
            case DOWNLOAD_PROGRESS_CHANGED:

                break;
        }
    }

On your Cancel button add this code to delete the incomplete downloaded file:
if (!isCompleted && request != null) {
            fetch.delete(request.getId());
        }

After all of this the first method which I showed you will only return true if completed downloaded file exists.

Hi @moisoni97 .
Thank you very much for your response.
I need to pause and resume in my app.
How to change file name after download completed ?
I think so is a trick to avoid incompleted downloaded files.
 private void updateViews( Download download, Reason reason) {
        if (request.getId() == download.getId()) {
            if (reason == Reason.DOWNLOAD_COMPLETED) {
      //How to rename file here?
            }

private void enqueueDownload() {
        final String url = "https://amoozesh3.ir/soft/TartilParhizgar.apk";
        final String filePath = Environment.getExternalStorageDirectory() + "/telavat/" + Uri.parse(url).getLastPathSegment();

        request = new Request(url, filePath);
        request.setExtras(getExtrasForRequest(request));

        fetch.attachFetchObserversForDownload(request.getId(), this)
                .enqueue(request, new Func<Request>() {
                    @Override
                    public void call(@NotNull Request result) {
                        request = result;
                    }
                }, new Func<Error>() {
                    @Override
                    public void call(@NotNull Error result) {
                    }
                });
    }


Addressing konflux error and fixing multi arch build with podman 5.2

Description
Fixing multiarch build.
Addressing multiple konflux error:
- the build not being hermetic
- removing deprecated task in the build
- using base image from registry.redhat.io

/lgtm
@OlivierCazade I guess we can merge?

/approve


'No Need to create an account or login'

Could you please explain as to why it is requesting I login?

@pyrosyndicate A follow-up question, why did you open an issue in the static html email templates repository?

This is the repo I landed on and the info states that there is no login required so I gave it a quick try and the first thing when I tried to drag and drop was a login screen, is there a better place to ask the question?

Amazing, thank you for the explanation. the program looks amazing, great work. I wish you/your team all the best in the future.


pochita

Addon Manifest URL
<EMAIL_ADDRESS>Addon Description
No response
Language of Content
Multilingual (Default)
Choose Labels

[x] anime
[ ] asian drama
[ ] bollywood
[ ] cartoons
[ ] debrid support
[ ] http streams
[ ] live tv
[ ] metadata
[ ] misc
[ ] movies
[ ] music
[ ] nsfw
[ ] podcasts
[ ] radios
[ ] subtitles
[ ] torrents
[ ] tv shows
[ ] video games

i don't know what that is, but it's not a new addon, so i'm closing this


Update jersey-test-framework-provider-grizzly2 to 2.42

About this PR
📦 Updates org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2 from 2.25.1 to 2.42
📜 GitHub Release Notes
Usage
✅ Please merge!
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!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.glassfish.jersey.test-framework.providers", artifactId = "jersey-test-framework-provider-grizzly2" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.glassfish.jersey.test-framework.providers", artifactId = "jersey-test-framework-provider-grizzly2" }
}]

labels: test-library-update, commit-count:1

Superseded by #1981.


[timeout] Forbidden error when tt or utt a user if they have a role higher than the bot

Traceback (most recent call last):
  File "/home/ubuntu/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/ubuntu/.local/share/Red-DiscordBot/data/BaconMan/cogs/CogManager/cogs/timeout/timeout.py", line 190, in timeout
    await self.timeout_user(ctx, member_or_role, time, reason)
  File "/home/ubuntu/.local/share/Red-DiscordBot/data/BaconMan/cogs/CogManager/cogs/timeout/timeout.py", line 92, in timeout_user
    await ctx.bot.http.request(r, json=payload, reason=reason)
  File "/home/ubuntu/redenv/lib/python3.9/site-packages/discord/http.py", line 248, in request
    raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/redenv/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "/home/ubuntu/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/home/ubuntu/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

I will be doing a small rewrite of the timeout cog for the dpy2 branch and this should be fixed there

looking forward to it

should be fixed now


Amazing plug in but..

It works as advertised and is amazing.
One problem is that if I have it on one track for instance with another instrument and duplicate this tract then the plug in crashes in the duplicate.
Am I using it wrong or is it a genuine bug.
Cheers from
PK
<EMAIL_ADDRESS>

This is exactly the right place to whine! I do appreciate you bringing this up, and have been able to reproduce the crashes you describe. It looks like it's probably related to the serialization code (saving/loading plugin states), but I'm still looking into how to fix it. I'll update this thread once I discover more.
Thanks again!

@Pishky To directly answer your question, that behavior is not by design. However, when I open up a track in Reaper with just this plugin it does seem to register MIDI events correctly (seen from the visual indicator in the plugin's graph). Does this issue only occur for you in Bitwig?
Also, just out of curiosity, do you have a use case in mind for using the plugin by itself on a track? The only case I can think of is if you wanted to route the plugin's output to a different track. I'm sure there are more I'm not thinking of however.


Text to speech (TTS)

:warning: This is not fully written yet. More information is still needed.
As a analphabetic user/less fluent reader I want to have the possibility to get texts read out loud such that I can still use the app and understand the content.
Acceptance Criteria:

[ ] Add an option in the UI to read the current text
[ ] This should work for categories (others TBD)
[ ] It should work in all supported languages (if possible)

Technical Tasks:
TBD

See more details in this issue: https://openproject.tuerantuer.org/projects/community-feedback/work_packages/3171/activity

We may use these libraries
React: https://github.com/morganney/tts-react
React-Native: https://www.npmjs.com/package/react-native-tts

We just had a call with UI/UX and decided to do:

We only read texts of third level categories
target group for this feature are people with basic reading skills and/or basic language skills, not for people who cannot read at all
we aim to use the native build in tts functionality
should be available offline
should support multiple languages, we may need to navigate to settings where the content language can be downloaded. if language is not available we use the device language and do not disable the feature
we do not want to read "lists with 3 elements" or stuff like this. We expect user to have basic reading skills and read the text while the tts reads it.
we aim to support web and native, but we will start with native
pausing should be possible
we try to highlight the part of the text that is read out, if this is too much effort we postpone it
we want to have this feature enabled by default, but design should not be annoying for people who do not want to this feature or add an easy way to turn it off / hide it.

to be discussed:

should we only display the tts-buttons if there is a long text. @hauf-toni does a little research on best practices and we will decide this based on the results.

🗣 you can find my design proposal for this functionality here.
my research on limiting the function to content above a certain number of characters will be posted in this thread as soon as it is completed 🕵🏼

🕵♀  pros and cons of making tts functionality available only for texts over a certain number of characters

Pros
Cons

Relevance Filtering, ensures tts is used for longer, more meaningful content. Avoids unnecessary activation for trivial or very short texts.
Inconsistency in user experience may confuse or frustrate users if tts is not consistently available for all content. They most likely expect tts to work uniformly, regardless of text length.

Reduces potential annoyance from tts reading out short, easily readable texts.
Important short texts may be excluded from tts support, impacting accessibility (e.g. texts on emergency numbers, which are very short and very important). This limits the utility of tts for users who can make much better use of the app with the tts function.

Saves processing power and battery life by limiting frequent tts activations and could possibly optimize performance.

Best Practice:
💡 Tts functionality is generally applied universally, without character limits.
🎛 Customization allows users to adjust how tts interacts with content, ensuring that the feature meets diverse needs without imposing rigid constraints.
🤖 Some systems incorporate intelligent design (smart features) to optimize the tts experience based on context, but they do not exclude shorter texts by default.
🎯 Recommendation:
Leading platforms prioritize accessibility and user control over imposing character-based restrictions. I would recommend making the tts functionality available for all third level pages, providing a consistent experience for our users.

@hauf-toni I am a bit confused we wanted to do this issue for native, but the design proposal is for desktop browsers. Can you please also share a design for mobile /native?


Fixes #848 - Use more secure PRNG

Math.random() is not cryptogaphically secure, but the crypto-random-string
package provides what is needed with a cryptographically secure pseudo-random
number generator.

Pull Request Test Coverage Report for Build 1020

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 53.504%

Totals

Change from base Build 1019:
-0.03%

Covered Lines:
2639

Relevant Lines:
4887

💛  - Coveralls

No way, I added more coverage than there was at the start! =/

Okay, added a unit tests on getBranchesAsObjArray, which previously wasn't covered at all, to bump the coverage up a bit in place of the code I stripped out as part of this ticket. The PR should be ready to go at your convenience.


Official RSC exploration

Description
Related #249
Background

Today, Hydrogen uses a reverse-engineered version of server components which supports context and SSR in Hydrogen.

Specifically, Hydrogen wraps client components in logic which forks their output based on whether they're being rendered in a SSR or a RSC context (using Providers to know if the current rendering is RSC or not).

When responding to a RSC request, the client component wrappers render a <span> containing data attributes about the client component and the passed props. Hydrogen renders the entire tree to HTML and then re-parses it using a third-party library, generating the NDJSON "wire" syntax as the output. This is really inefficient, fragile and cannot be streamed.

Our goal is to remove this code as quickly as we can properly support the official React Server implementation in Hydrogen apps.

Incompatibilities with official React 18 experimental
As far as I understand, React 18 experimental supports the following features in isolation:

SSR streaming: by loading client components normally in the server, it can do SSR and stream the progress.
RSC: by loading a "component descriptor" (i.e. plain object containing filepath and name of the component) instead of the actual client component in the server, it can generate the wire/flight syntax for RSC. Replacing actual client components with their corresponding descriptors is done via Node registers/loaders when passing --conditions react-server to the Node runtime.

It is not obvious to me that both features can be combined right now, because based on the public demos you either load actual client components or only the descriptors in the server.
However, Hydrogen needs both, components and descriptors, at the same time in order to do SSR + RSC in the same process. This could be achieved by importing 2 different server bundles but this seems problematic and would slow down the development server.
On top of that, Hydrogen is supposed to run on Oxygen/workers, where nothing like --conditions can be passed to the runtime.
And of course, Hydrogen uses Vite instead of Webpack, which is the only tool that has official support at the moment.
New approach
Instead of Node --conditions, this PR uses a hook in Vite to generate the descriptor. This descriptor is "merged" with the actual component in a proxy and will behave differently depending on the renderer (we don't need Provider/Context anymore).
When the app tree is passed to React SSR renderer, the proxied client components will be returned as normal components -- they are actually wrapped in React forward refs due to some constraints but the point is that they are rendered normally as real components.
However, when the app tree is passed to React RSC renderer, and thanks to a customizable isModuleReference hook, the proxied client components will behave as RSC descriptor instead, outputting the correct wire/flight syntax.
Apart from that, since we are still using Vite's dynamic imports from the client, we don't need a manifest to generate or interpret the RSC payload. We just pass the module ID to Vite's helper in the browser and it figures out the way to download it.
The tricky part in all of this is merging actual components with their descriptors so they work for both flows in the same process. Also, the way this PR accesses React flight logic is by importing directly from react-server and react-client packages, which are not published to NPM at the moment (they are linked to a local version of React).
Unknowns

Does this approach align with what React team has in mind, or will it break due to any change upstream?
Are react-server and react-client going to be published to NPM, or do we need to make a PR to React repo with a Vite plugin instead?
How does this work with hydrateRoot? Related https://github.com/reactwg/react-18/discussions/114
How do we generate the RSC wire/flight payload and SSR at the same time? Right now we do SSR first and then RSC after that, which is obviously slower because it traverses the app tree twice (although fetch sub-requests should be cached and reused). We can make some tricks to preload RSC components in the frontend during SSR streaming but we still need to wait for the final RSC wire/flight payload for the actual hydration.

Update

react-server and react-client packages are not going to be published to NPM. We have now submitted a Vite plugin in React repo. A compiled version of this plugin has been added to this PR in vendor/react-dom-server-vite.
Combining SSR and RSC responses can be done following this strategy. Another strategy would be generating RSC first, consume that response within the server, and pass the result to SSR.

Setup

Run yarn dev-lib in Hydrogen root
Run yarn dev-server in Hydrogen root when the lib finishes

Before submitting the PR, please make sure you do the following:

[ ] Add your change under the Unreleased heading in the package's CHANGELOG.md
[ ] Read the Contributing Guidelines
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository for your change, if needed

Tried to load this in worker and it didn't work. The RSC didn't even generate a serialized response.

If you want to load the dev project in a worker, just do the following:

Replace dev/worker.js with the following

  // import handleEvent from '@shopify/hydrogen/worker';
// import entrypoint from './src/entry-server.jsx';
// // eslint-disable-next-line node/no-missing-import
// import indexHtml from './dist/client/index.html?raw';

// addEventListener('fetch', (event) => {
//   try {
//     event.respondWith(
//       handleEvent(event, {
//         entrypoint,
//         indexTemplate: indexHtml,
//         cache: caches.default,
//         context: event,
//       }),
//     );
//   } catch (error) {
//     event.respondWith(
//       new Response(error.message || error.toString(), {
//         status: 500,
//       }),
//     );
//   }
// });

import handleEvent from '@shopify/hydrogen/worker';
import entrypoint from './src/entry-server.jsx';
// eslint-disable-next-line node/no-missing-import
import indexHtml from './dist/client/index.html?raw';
import {getAssetFromKV} from '@cloudflare/kv-asset-handler';

async function assetHandler(event, url) {
  const response = await getAssetFromKV(event, {});

  if (response.status < 400) {
    const filename = url.pathname.split('/').pop();

    const maxAge =
      filename.split('.').length > 2
        ? 31536000 // hashed asset, will never be updated
        : 86400; // favico and other public assets

    response.headers.append('cache-control', `public, max-age=${maxAge}`);
  }

  return response;
}

addEventListener('fetch', (event) => {
  try {
    event.respondWith(
      handleEvent(event, {
        entrypoint,
        indexTemplate: indexHtml,
        assetHandler,
        cache: caches.default,
        context: {
          waitUntil: event.waitUntil ? (p) => event.waitUntil(p) : undefined,
        },
      }),
    );
  } catch (error) {
    event.respondWith(
      new Response(error.message || error.toString(), {
        status: 500,
      }),
    );
  }
});

Add "dev-worker": "yarn build && npx miniflare dist/worker/worker.js -s dist/client", in dev/package.json scripts
Add "dev-worker": "cross-env LOCAL_DEV=true VITE_INSPECT=1 yarn workspace dev dev-worker", in <root>/package.json
Run yarn dev-worker in root folder

@wizardlyhel Ah yes, this PR is not prepared for workers yet due to lack of ReadableStream. As you know, in the previous approach we were buffering the RSC response and returning plain text instead of streaming in workers. However, I haven't implemented that buffering here since this is still blocked by other stuff and the ReadableStream should be available soon.
If you are curious, I think the RSC request in workers is dying either here or here.

This PR is 🤯. Maybe I'll schedule a time where @frandiox you could could walk me through it?

Right - I keep forgetting about the missing ReadableStream support in workers.

@blittle Sure! Tuesday/Wednesday morning JST (your afternoon/evening 1 day before) works for me 👍

It looks like the tests are failing on Windows 😭

@frandiox Thank you for the opportunity; that's the least I could do!


[Hotfix] add config to config thrift thread count

Why are the changes needed?
user need to adjust the number of threads on the thrift server
Brief change log
add config to config thrift thread count
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before making a pull request

Documentation

Does this pull request introduces a new feature? (no)
If yes, how is the feature documented? (not documented)

@hameizi Does the PR have any issues associated with it？ Does the master branch have the same problem?

add issue https://github.com/NetEase/arctic/issues/1162
i will resolve this in master branch


test_orthogonal j, js roots failures on 32-bit Linux with system blas / lapack

32-bit Ubuntu 12.04, numpy 1.11.0 system blas / lapack:
======================================================================
FAIL: test_orthogonal.test_j_roots
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/mb312/dev_trees/scipy/scipy/special/tests/test_orthogonal.py", line 312, in test_j_roots
    vgq(rf(0.5, -0.5), ef(0.5, -0.5), wf(0.5, -0.5), -1., 1., 100, atol=1e-12)
  File "/home/mb312/dev_trees/scipy/scipy/special/tests/test_orthogonal.py", line 286, in verify_gauss_quad
    assert_allclose(vv, np.eye(N), rtol, atol)
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 1391, in assert_allclose
    verbose=verbose, header=header)
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 733, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Not equal to tolerance rtol=1e-15, atol=1e-12

(mismatch 29.16%)
 x: array([[  1.000000e+00,   1.968788e-12,  -1.966810e-12, ...,
          6.198497e-14,  -2.997552e-14,  -3.320739e-16],
       [  1.968861e-12,   1.000000e+00,   1.968029e-12, ...,...
 y: array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  1., ...,  0.,  0.,  0.],...

======================================================================
FAIL: test_orthogonal.test_js_roots
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/mb312/dev_trees/scipy/scipy/special/tests/test_orthogonal.py", line 381, in test_js_roots
    vgq(rf(1, 0.5), ef(1, 0.5), wf(1, 0.5), 0., 1., 100, atol=1e-12)
  File "/home/mb312/dev_trees/scipy/scipy/special/tests/test_orthogonal.py", line 286, in verify_gauss_quad
    assert_allclose(vv, np.eye(N), rtol, atol)
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 1391, in assert_allclose
    verbose=verbose, header=header)
  File "/home/mb312/.virtualenvs/test-bare/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 733, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Not equal to tolerance rtol=1e-15, atol=1e-12

(mismatch 29.18%)
 x: array([[  1.000000e+00,   1.968788e-12,  -1.966856e-12, ...,
          6.231325e-14,  -2.979876e-14,  -1.689169e-16],
       [  1.968861e-12,   1.000000e+00,   1.968029e-12, ...,...
 y: array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  1., ...,  0.,  0.,  0.],...

I do not get this error testing against openblas (32-bit).
$ python -c 'import scipy; scipy.show_config()'
lapack_info:
    libraries = ['lapack', 'lapack']
    library_dirs = ['/usr/lib']
    language = f77
lapack_opt_info:
    libraries = ['lapack', 'lapack', 'blas', 'blas']
    library_dirs = ['/usr/lib']
    language = c
    define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
openblas_lapack_info:
  NOT AVAILABLE
blas_info:
    libraries = ['blas', 'blas']
    library_dirs = ['/usr/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
atlas_3_10_blas_threads_info:
  NOT AVAILABLE
atlas_threads_info:
  NOT AVAILABLE
atlas_3_10_threads_info:
  NOT AVAILABLE
atlas_blas_info:
  NOT AVAILABLE
atlas_3_10_blas_info:
  NOT AVAILABLE
atlas_blas_threads_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
blas_opt_info:
    libraries = ['blas', 'blas']
    library_dirs = ['/usr/lib']
    language = c
    define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
atlas_info:
  NOT AVAILABLE
atlas_3_10_info:
  NOT AVAILABLE
lapack_mkl_info:
  NOT AVAILABLE
mkl_info:
  NOT AVAILABLE

Some more data points: I see this on 32-bit Ubuntu 12.04, but not on 32-bit Ubuntu 14.04 or 16.04. Not seeing it on 14.04 is somewhat surprising since 12.04 and 14.04 seem to be using the same stock blas:
http://packages.ubuntu.com/precise/libblas-dev
http://packages.ubuntu.com/trusty/libblas-dev

different gcc versions?

Given that it works fine on 14.04 and above, ISTM it's reasonable to take no action. Thoughts?

ISTM it's reasonable to take no action

+1 from me-seeing as it's likely a gcc/blas/lapack issue and 12.04 is EOL next August I imagine that we're de facto going to take no action anyway.
Maybe label as not action but leave open until 12.04 is officially toast?

12.04 is EOL; closing this unless someone objects.


Fix patch 3401

Fixes #3401.
Motivation
Remove CompleteHandler with lambda
Code optimization with lambda
Modifications
Replaced CompleteHandler with lambda.
Documentation

Does this pull request introduce a new feature? (no)

LGTM


add aquavanjaram942X_20CU libraries for HHS/BBS/TF32/I8I8I

hipblaslt-test passed locally on my node:
[----------] Global test environment tear-down
[==========] 35356 tests from 13 test suites ran. (2227434 ms total)
[  PASSED  ] 35356 tests.
hipBLASLt version: 800

May I know the hipblaslit library size with/wo this PR?
Command to check library size
sudo du --max-depth=0 --block-size=M build/release/hipblaslt-install/

@jichangjichang shared privately in the chat.

@babakpst  Please get approval from NA team first.

please provide local test result for latest change

Tests after the second commint:
[----------] Global test environment tear-down
[==========] 35356 tests from 13 test suites ran. (2131781 ms total)
[  PASSED  ] 35356 tests.
hipBLASLt version: 800
command line: ./hipblaslt-test


Consider upgrading to StoregeV2

Consider this JSON
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "${azure.apiVersion2}",
            "name": "[variables('name_storageAccount')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "[variables('const_storageAccountType')]"
            },
            "kind": "Storage",
            "properties": {
                "supportsHttpsTrafficOnly": false
            },
            "dependsOn": [
                "[variables('name_networkSecurityGroup')]"
            ]
        },

Note the value of the kind property.  We should consider upgrading.  See Upgrade to a general-purpose v2 storage account.
General-purpose v2 storage accounts support the latest Azure Storage features and incorporate all of the functionality of general-purpose v1 and Blob storage accounts. General-purpose v2 accounts are recommended for most storage scenarios. General-purpose v2 accounts deliver the lowest per-gigabyte capacity prices for Azure Storage, as well as industry-competitive transaction prices. General-purpose v2 accounts support default account access tiers of hot or cool and blob level tiering between hot, cool, or archive.

AB#1230802


Minor fixes to spelling and filenames.

I don't like capital letters in my filenames, but thank you for fixing the typo in the readme :)

https://www.gnu.org/software/make/manual/html_node/Makefile-Names.html
Makefile is the convention that is most followed for a reason but alright.

I +1 the capital letter for this

:'(


Creating onClick event in getTdProps or getTrProps overrides Expander functionality

Problem Description
If I create an Expander column for my table and then add getTdProps: { onClick: (some function) } to the table, the expander is never opened. I imagine this is because the event isn't being passed along to the expander after the onClick event fires. I've also noticed this issue with getTrProps, but only when I call setState inside the onClick function.
Code Snippet(s) or Codepen (https://codepen.io/colwynmyself/pen/gxaqRW?editors=0010)
Steps to Reproduce

Comment out the onClick handler in the Codepen and the expander will work. If you leave it in, the expander doesn't work.

System Information

Chrome 64-bit (59.0.3071.115)
Node 6.11.1
Ubuntu 16.04
NPM 3.10.10
Yarn 0.27.5

Btw I tracked it down to these lines: https://github.com/tannerlinsley/react-table/blob/master/src/index.js#L712
                  {...interactionProps}
                  {...tdProps.rest}

interactionProps and tdProps.rest both have onClick handlers, and the tdProps.rest one takes priority since it comes second. I'm working on a fix for this right now, but I'd love some input from you on how you would like it solved.
Right now I'm just doing a dumb check if both objects exist and have onClick handlers, call them both. But it could be improved, or maybe interactionProps.onClick can be an extra property provided to getTdProps that can be called. So the signature looks more like:
                    getTdProps={(state, row, col, instance) => ({
                        onClick: (event, cb) => {
                            // do some stuff with the event
                            cb()
                        }
                    })}

I have a fork here: https://github.com/colwynmyself/react-table/tree/onclick-handling
There aren't any crazy changes, though I'm not totally familiar with your code so while I believe I left the interface the same (except adding a cb that is passed back with getTdProps.onClick when both onClick handlers exist) it's definitely worth double checking. I'm using this fork on my project and it's working well.

There would be a use case for both sides of this coin.  Sometimes you may want to override the original onClick functionality, other times you may want to add to it. I think we need to figure out a way to balance the two options.

Tthat was sort of the idea of passing the callback into the getTdProps.onClick function that if called would trigger the expandable event. I do see your point that that doesn't allow for overriding the getTdProps.onClick function with expandable.
Basically with this change right now, when you have a getTdProps.onClick function and expandable enabled you can:

[x] Trigger just getTdProps.onClick
[x] Trigger getTdProps.onClick and expandable, in any order
[ ] Trigger just expandable

And it would be ideal to be able to override the getTdProps.onClick function with the expandable function. Maybe we could add an option like prioritizeExpand that will override getTdProps.onClick with expandable if they both exist?

Here's a snippet from the new docs:
<ReactTable
  getTdProps={(state, rowInfo, column, instance) => {
    return {
      onClick: (e, handleOriginal => {
        // IMPORTANT! React-Table uses onClick internally to trigger
        // events like expanding SubComponents and pivots.
        // By default a custom 'onClick' handler will override this functionality.
        // If you want to fire the original onClick handler, call the
        // 'handleOriginal' function.
        if (handleOriginal) {
          handleOriginal()
        }
      }
    }
  }}
/>

Hi
Can anyone verify whether this is working?
Here is a snippet of my code:
`const renderSubComponent = (row) =>
(

{renderExpandedViewPanels()}

)
if (props.subComponents) {
subComponents.SubComponent = renderSubComponent
subComponents.getTdProps = (state, rowInfo, column, instance) => ({
onClick: (e) => {
if (!expandedView.data.hasOwnProperty(rowInfo.original['OIT-SessionID'])) {
fetchSessionView(rowInfo)
}
}
})
}
return (
<ReactTable
data={data}
columns={columns}
showPageSizeOptions={showPageSizeOptions}
minRows={pageSize}
pageSize={pageSize}
loading={loading}
className={className}
showPagination={false}
{...subComponents}
/>
)`
The onClick handler in getTdProps() overrides the expander. When I try to use getTrProps() instead, the onClick handler fires and on subsequent clicks, the expander works.
Is there something I'm doing wrong? Thanks in advance!

I am always getting callback is not a function here, my release is "react-table": "^6.5.3"

Got it, it seems that the original function aka callback is only present in getTdProps, in getTrProps it is just an event!

I've added this workaround here:
        // check if we have an original function for clicking         if (originalFunctionOrEvent && typeof originalFunctionOrEvent === 'function') {           // call it           originalFunctionOrEvent()         } else {           // log           console.log('originalFunctionOrEvent is an event: ', originalFunctionOrEvent)         }

I encountered this problem as well.  It still seems to be an issue when (as OP states) you attempt to setState inside getTdProps.  You can either handleOriginal or setState but not both.
I'm attempting to select the entire row onClick rather than having to use  the checkBoxes.    Clicking on a row for my implementation means clearing any other rows that might be selected and just selecting this current row.  To select multiple you would need to use the checkboxes.
My workaround is this.  I leave getTdProps to to the handleOriginal and I moved the setState to a cell rendering routine i.e.
...
{
    Header: "Name",
    accessor: "name",
    Cell: (row) => this.renderCell(row)
}
...

And then in renderCell ...
  renderCell(row) {
    if (this.state.selection.indexOf(row.original.id) >= 0) {
      return (
{this.renderValue(row.column.id, row.value)}
);
    } else {
      return (
{this.renderValue(row.column.id, row.value)}
);
    }
  }

Finally onTextClick ...
  onTextClick(row) {
    let id = row && row.original && row.original.id ? row.original.id : null;
    if (id) {
      let data= this.props.data;
      let selectedItem = null;
      if (data) {
        for (let i = 0; i < data.length; i++) {
          if (data[i].id === id) {
            selectedItem = data[i];
            break;
          }
        }
      }
      if (selectedItem) {
        this.setState({ selection: [selectedItem.id,] });
      }
    }
  }

(Assuming the data for your table is passed in via this.props.data.)
The renderValue routine just converts the value to text ... but it's just a slightly improved toString function really.
Note that there is a little hack ... I have to add a   in case renderValue returns an empty string otherwise the onClick method won't fire.
Also note that the row won't be selected if you click the expander (I'm using the custom expander version), but I can live with that.
That's the best I've been able to come up with, hope it helps someone and if someone has a better solution I'd love to hear it! :)


feat(input-otp) added one-time-code input to shadcn-ui examples

Added one-time-code input to the shadcn-ui examples

Thanks for the PR! It looks good to me. Can you update the pnpm-lock file with pnpm i? I tried to push a fix to your branch but it doesn't work probably because you are making the change from your main branch. I am happy to merge this once you fix the lockfile :)

No worries, sorry about that. I have ran pnpm i, hopefully it can be merged now!


After updating to v1.3.0 the package is failing

After updating to v1.3.0 the package is failing
Download action repository<EMAIL_ADDRESS>(SHA:ee6b0d1d63a92fa814d742cc997a9ced0b8d565f) Error: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: node18' is not supported, use 'docker', 'node12' or 'node16' instead.')    at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)    at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile) Error: Fail to load patrickedqvist/wait-for-vercel-preview/v1.3.0/action.yml
It looks like this recent change, updating from node16 to node18 may be the cause? https://github.com/patrickedqvist/wait-for-vercel-preview/pull/51/files
Originally posted by @brunolucena in https://github.com/patrickedqvist/wait-for-vercel-preview/issues/50#issuecomment-1403760235

Thanks for submitting the issue @brunolucena , I've released a v.1.3.1 with a fix

@patrickedqvist Not sure if it was intended to add a dot in front of the version number 🤔
You released v.1.3.1 instead of v1.3.1. 😅


Replacing iap_function with C RAM functions

It's not possible to write true RAM functions in rust (yet) where
everything inside the function must not touch flash (needed for flash
controller operations)
Port ASF versions of efc_perform_fcr and efc_perform_read_sequence

Made a bit more generic so no compiler defines so the included
static libraries should work for any atsam4 chip that uses EEFC/EFC

Added some examples on how to access the unique id and user signature
Was having a lot of issues trying to run functions from ROM so this
code has been removed (efc_perform_fcr is the equivalent RAM function
that ASF uses)

I haven't verified all of the efc paths yet, but things like grabbing the unique id works great.


Add support for Option parameters. Replace C printing with tracing. Various code cleanups and refactorings

LGTM, feel free to address my comments in another PR.

Yeah, I have now another 2 branches in a chain on top of this one, so I better to do these fixes in the followup branch.


Make api and primitives generic over Runtime

Types defined by the Runtime (Hash, Index, Balance .. ) are now not hardcoded any more, but depend on the Runtime input.
Renamed generic parameter P (probably for Pair) to Signer.

You're right, I forgot about the wasm part. But the Config trait itself is not from the Runtime, but from the pallets (e.g. https://github.com/paritytech/substrate/blob/master/frame/system/src/lib.rs#L204-L357) . So, worst case, a no_std application would need to implement the Config via your proposed buffer. But the rest should work as is.. or did I overlook something?
So we could offer a pre-implemented no-std Runtime as an example, but that could be done in a different issue/PR (first the api needs to be made no-std compatible anyway). Can you agree to that?

The pallets-itself also assume wasm in no-std, so IMO opinion, you can't get around the runtime config trait that I am suggesting. So if you want to merge this PR now, I suggest fixing the trait immediately afterwards, so we don't have a breaking interface in subsequent releases.


Issue with 'AsyncRequest': Missing Attribute '_json_response_data'

https://github.com/gradio-app/gradio/issues/4061
gradio从3.39.0升级到3.43.2解决


Bump mypy version to 0.981

This PR bumps mypy version to 0.981. This is to remove "ignore" comments to silence mypy.

The version includes a fix for python/mypy#5374. This PR removes the comments to silence mypy due to the issue.
The version has a fix for python/mypy#731. The fix is enabled when running mypy with --enable-recursive-aliases (link to blog post), but this PR doesn't enable the fix, deferring to a separate PR. This is because using the option causes different 91 errors. It seems better to tackle enabling the option in a separate PR.
The version doesn't have a fix for python/mypy#4717, unfortunately. mypy still complains when the comments were removed.

@tetsuok Maybe this update resolves some issues tagged by 4717 as well as 5374.

@odashi Issues on python/mypy#4717 still persist with this update.


make messagebox optional

I use another translators, that can also do variable replacements and can translate a schema (labels) to a given language. It also sets all messages to the proper translation. For this I just used the messages-function on simple-schema 1 and on version 2 i now use schema.messageBox.messages({ en: i18n.t('simpleSchema')})  (where i18n.t returns an object with all messages).
However, I do not need the features of messagebox and in paticular i do not want to have the huge handlebars depencency. So i think it would be best to have messagebox completly optional.
It could be a function that you had to implement, like getMessage(field, errorType)

I think this would be OK if someone wants to figure out a plugin package implementation.

maybe you can define messageBox as peer dependency, so that at least one could just override
messageForError(errorInfo) and throw an error if someone did not install messagebox and did not define messageForError


Using of @ResponseErrorProperty out of the constructor

Hello, this is not an issue, but I couldn't find anywhere else to ask.
I want to show extra properties but without putting them in the constructor. I have a specific exception that I receive from an external API and I would like to parse it in the exception class, but my properties, even though I load them, end up showing null values. Is there a way to do this or do I have to do my parsing before I throw my exception?
I would be very grateful if you could help me.
Here is my exception class
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseErrorCode("DOCUMENT_SERVICE_ERROR")
@Slf4j
public class DocumentServiceException extends RuntimeException {
    @ResponseErrorProperty(includeIfNull=true)
    private JSONArray violations;

    @ResponseErrorProperty(includeIfNull=true)
    private String url;

    @ResponseErrorProperty(includeIfNull=true)
    private String title;

    public DocumentServiceException(String msg) {
        super(msg);
        log.error(msg);
    }

    public DocumentServiceException(HttpClientErrorException ex) {
        super("Error from DS API");
        String jsonString = ex.getMessage().substring(ex.getMessage().indexOf(":") + 2);
        //remove first and last \"
        if (jsonString.startsWith("\"") && jsonString.endsWith("\"")) {
            jsonString = jsonString.substring(1, jsonString.length() - 1);
        }
        JSONObject obj = new JSONObject(jsonString);
        this.violations = obj.getJSONArray("violations");
        this.url = obj.getString("instance");
        this.title = obj.getString("title");
        log.error("Error from DS API, {} {} {}", this.url, this.title, this.violations);
    }
}

I don't see anything wrong at first sight. If you assign a value to your fields in the constructor like you seem to do, then things should work. Have you tried using a debugger to ensure the values are properly assigned to the fields?

Closing this issue as no feedback is provided.


Use & operator from Data.Function

Thanks!  Great idea to make sure that this doesn't conflict with Data.Function.&

Thank you for great libraries and blogs :) I was thinking if it makes sense to not reexport (&) at all and update documentation accordingly. Most of the lens libraries (lens, lens-family, microlens at least) (re)export this function. What do you think?

I think it's fine to re-export, especially now that it reuses Data.Function.& so it won't clash with other exports.  I generally try to reduce the number of imports for users when it's easy to do so

Sure, that makes sense.


:zlib.inflate_nif/4 error with deflate-encoded resource

Hello,  when fetching deflate-encoded content, Req fails to decode it:
Req.get("https://httpbin.org/deflate", receive_timeout: 20_000)
** (ErlangError) Erlang error: :data_error
    (erts <IP_ADDRESS>) :zlib.inflate_nif(#Reference<0.3668438451.4136501253.102340>, 8192, 16384, 0)
    (erts <IP_ADDRESS>) :zlib.dequeue_all_chunks_1/3
    (erts <IP_ADDRESS>) :zlib.inflate/3
    (erts <IP_ADDRESS>) :zlib.unzip/1
    (elixir 1.15.4) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir 1.15.4) lib/map.ex:916: Map.update!/3
    (req 0.3.11) lib/req/steps.ex:860: Req.Steps.decompress_body/1
    (req 0.3.11) lib/req/request.ex:755: anonymous fn/2 in Req.Request.run_response/2
    (elixir 1.15.4) lib/enum.ex:4830: Enumerable.List.reduce/3
    (elixir 1.15.4) lib/enum.ex:2564: Enum.reduce_while/3
    (req 0.3.11) lib/req/request.ex:683: Req.Request.run/1
    iex:8: (file)

It appears that there is a decoding issue for deflate-encoded content. HTTPoison seems to be able to decode it:
HTTPoison.get("https://httpbin.org/deflate", [], recv_timeout: 20_000)
{:ok,
 %HTTPoison.Response{
   status_code: 200,
   body: <<120, 156, 61, 142, 205, 14, 130, 48, 16, 132, 239, 60, 69, 211, 179, 173, 20, 168, 46, 38, 30, 56, 24, 245,
     106, 48, 241, 138, 116, 249, 137, 210, 154, 82, 15, 74, 120, 119, 11, 36, 94, 54, 153, 111, 103, 103, 118, 8, 8,
     161, 10, 171, 103, 225, 80, 209, 29, 113, 246, 141, 43, 50, 193, 6, 11, 133, 182, 247, 108, 240, 210, 131, 147,
     233, 157, 87, 180, 113, 238, 117, 111, 53, 55, 182, 166, 179, 213, 239, 174, 61, 90, 150, 213, 168, 23, 71, 81, 62,
     52, 126, 214, 130, 11, 224, 226, 111, 186, 177, 172, 251, 106, 150, 219, 162, 68, 118, 158, 218, 232, 197, 24, 183,
     23, 108, 147, 168, 4, 48, 137, 152, 4, 136, 212, 166, 42, 227, 168, 66, 169, 98, 140, 1, 96, 139, 97, 74, 125, 194,
     184, 252, 213, 161, 107, 204, 124, 124, 60, 228, 75, 54, 53, 182, 173, 91, 61, 177, 52, 228, 144, 114, 233, 167,
     164, 193, 24, 252, 0, 149, 102, 58, 41>>,
   headers: [
     {"Date", "Thu, 10 Aug 2023 07:14:14 GMT"},
     {"Content-Type", "application/json"},
     {"Content-Length", "181"},
     {"Connection", "keep-alive"},
     {"Server", "gunicorn/19.9.0"},
     {"Content-Encoding", "deflate"},
     {"Access-Control-Allow-Origin", "*"},
     {"Access-Control-Allow-Credentials", "true"}
   ],
   request_url: "https://httpbin.org/deflate",
   request: %HTTPoison.Request{
     method: :get,
     url: "https://httpbin.org/deflate",
     headers: [],
     body: "",
     params: %{},
     options: [recv_timeout: 20000]
   }
 }}

It seems to work with Finch, too:
Finch.build(:get, "https://httpbin.org/deflate") |> Finch.request(MyFinch)
{:ok,
 %Finch.Response{
   status: 200,
   body: <<120, 156, 61, 142, 49, 15, 130, 48, 16, 133, 119, 126, 69, 211, 217, 86, 170, 5, 193, 196, 129, 193, 168,
     171, 193, 196, 181, 208, 3, 154, 72, 107, 74, 93, 36, 252, 119, 15, 72, 92, 46, 121, 223, 189, 123, 239, 198, 136,
     16, 170, 161, 121, 169, 0, 154, 30, 73, 240, 31, 216, 144, 25, 118, 160, 52, 248, 1, 217, 136, 18, 193, 213, 13, 1,
     21, 237, 66, 120, 87, 198, 114, 231, 91, 186, 88, 113, 247, 24, 192, 179, 162, 5, 187, 56, 122, 99, 195, 86, 240,
     132, 139, 191, 225, 201, 138, 254, 107, 89, 233, 85, 13, 236, 54, 55, 209, 187, 115, 225, 36, 88, 42, 181, 84, 66,
     72, 22, 239, 85, 222, 168, 58, 67, 181, 19, 34, 215, 7, 153, 30, 42, 104, 82, 138, 9, 211, 250, 83, 15, 161, 115,
     203, 241, 229, 92, 174, 217, 212, 121, 211, 26, 59, 179, 60, 230, 89, 206, 19, 156, 9, 141, 166, 232, 7, 122, 240,
     56, 212>>,
   headers: [
     {"date", "Thu, 10 Aug 2023 08:34:32 GMT"},
     {"content-type", "application/json"},
     {"content-length", "177"},
     {"connection", "keep-alive"},
     {"server", "gunicorn/19.9.0"},
     {"content-encoding", "deflate"},
     {"access-control-allow-origin", "*"},
     {"access-control-allow-credentials", "true"}
   ]
 }}

Note: if httpbin.org is down, one can test with kennethreitz/httpbin docker image.

Thank you for the report. The problem is we're using :zlib.unzip/1 for deflate:
https://github.com/wojtekmach/req/blob/v0.3.11/lib/req/steps.ex#L871
however it seems we should use :zlib.uncompress/1:
iex> Req.get!("http://localhost:8000/deflate", raw: true).body |> :zlib.uncompress()
"{\n  \"deflated\": true, \n  \"headers\": {\n    \"Accept-Encoding\": \"zstd, br, gzip, deflate\", \n    \"Host\": \"localhost:8000\", \n    \"User-Agent\": \"req/0.3.11\"\n  }, \n  \"method\": \"GET\", \n  \"origin\": \"<IP_ADDRESS>\"\n}\n"

I'm a bit lost which content-encoding header value should correspond to which :zlib functions so any links to definite references would be very helpful.

I'm a bit lost which content-encoding header value should correspond to which :zlib functions so any links to definite references would be very helpful.

Not sure either, but for "deflate", :zlib.inflate/1 looks more appropriate, maybe? I'm well outside my confort zone, here, sorry. :sweat_smile:

Looks like Tesla has the same issue:
iex> Mix.install([:tesla])
iex> Tesla.client([Tesla.Middleware.DecompressResponse]) |> Tesla.get("http://localhost:8000/deflate")
** (ErlangError) Erlang error: :data_error
    (erts 14.0.2) :zlib.inflate_nif(#Reference<0.2165264108.559022081.244095>, 8192, 16384, 0)
    (erts 14.0.2) :zlib.dequeue_all_chunks_1/3
    (erts 14.0.2) :zlib.inflate/3
    (erts 14.0.2) :zlib.unzip/1
    (tesla 1.7.0) lib/tesla/middleware/compression.ex:65: Tesla.Middleware.Compression.decompress/1
    (tesla 1.7.0) lib/tesla/middleware/compression.ex:60: Tesla.Middleware.Compression.decompress/1
    iex:16: (file)

localhost:8000 is httpbin running with Docker.

Tesla uses httpc by default, IIRC
Le jeu. 10 août 2023, 18:15, Wojtek Mach @.***> a
écrit :

Looks like Tesla has the same issue:
iex> Mix.install([:tesla])
iex> Tesla.client([Tesla.Middleware.DecompressResponse]) |> Tesla.get("http://localhost:8000/deflate")
** (ErlangError) Erlang error: :data_error
(erts 14.0.2) :zlib.inflate_nif(#Reference<0.2165264108.559022081.244095>, 8192, 16384, 0)
(erts 14.0.2) :zlib.dequeue_all_chunks_1/3
(erts 14.0.2) :zlib.inflate/3
(erts 14.0.2) :zlib.unzip/1
(tesla 1.7.0) lib/tesla/middleware/compression.ex:65: Tesla.Middleware.Compression.decompress/1
(tesla 1.7.0) lib/tesla/middleware/compression.ex:60: Tesla.Middleware.Compression.decompress/1
iex:16: (file)
localhost:8000 is httpbin running with Docker.
—
Reply to this email directly, view it on GitHub
https://github.com/wojtekmach/req/issues/215#issuecomment-1673524769,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPQAO6ZEKJJ26ZYU2AXQKLXUUCJBANCNFSM6AAAAAA3LBUGQE
.
You are receiving this because you authored the thread.Message ID:
@.***>

It does. Why?

Thinking out loud, sorry, it doesn't matter actually as the compression is handled by Tesla.

@dorian-marchal I decided to just remove support for deflate. If it's a blocker for you to adopt Req, please let me know. There's a pretty funny/tragic history about it pasted below. Given the confusion and that support varies (or, you know, varied like 10-15 years ago and a bunch of people decided to drop it too) I don't want to deal with it unless there are actual use cases for this.
Per https://zlib.net/zlib_faq.html#faq39
What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
"gzip" is the gzip format, and "deflate" is the zlib format. They should probably have called the second one "zlib" instead to avoid confusion with the raw deflate compressed data format. While the HTTP 1.1 RFC 2616 correctly points to the zlib specification in RFC 1950 for the "deflate" transfer encoding, there have been reports of servers and browsers that incorrectly produce or expect raw deflate data per the deflate specification in RFC 1951, most notably Microsoft. So even though the "deflate" transfer encoding using the zlib format would be the more efficient approach (and in fact exactly what the zlib format was designed for), using the "gzip" transfer encoding is probably more reliable due to an unfortunate choice of name on the part of the HTTP 1.1 authors.
Bottom line: use the gzip format for HTTP 1.1 encoding.

OK, RFC 9110 § <IP_ADDRESS> says:

The "deflate" coding is a "zlib" data format [RFC1950] containing a "deflate" compressed data stream [RFC1951] that uses a combination of the Lempel-Ziv (LZ77) compression algorithm and Huffman coding.

Note: Some non-conformant implementations send the "deflate" compressed data without the zlib wrapper.

(emphasis mine)
so yeah, it is well specified after all, we can bring back the support if someone really needs it.


flash from file instead of stream

removes the redundant step of piping a stream to a file
Change-type: patch|minor|major
Signed-off-by: Ryan Cooke<EMAIL_ADDRESS>

@balena-ci rebase

@balena-ci retest


DeprecationWarning: 'root' is deprecated, use 'global'

I'm  getting this error when using mesh.
DeprecationWarning: 'root' is deprecated, use 'global'

I think one of your dependency is using the deprecated variable.

See https://github.com/senecajs/seneca/issues/566

Having the same issue