iOS crash with "MLKInvalidImage: Input image must not be nil." after upgrading from google_ml_kit 0.7.3 to google_mlkit_barcode_scanning 0.3.0

Using Camera 0.9.8+1
After switching packages from google_ml_kit: ^0.7.3 to google_mlkit_barcode_scanning: ^0.3.0 and changing the parts of the code that broke, mainly:
Replaced
    final imageRotation =
        InputImageRotationMethods.fromRawValue(camera.sensorOrientation) ??
            InputImageRotation.Rotation_0deg;

  final inputImageFormat =
        InputImageFormatMethods.fromRawValue(image.format.raw) ??
            InputImageFormat.NV21;

with
    final imageRotation = InputImageRotation.rotation0deg;
    final inputImageFormat = InputImageFormat.nv21;

and
    barcodeScanner = GoogleMlKit.vision
        .barcodeScanner([BarcodeFormat.qrCode, BarcodeFormat.aztec]);

with
    barcodeScanner = BarcodeScanner(formats: [BarcodeFormat.qrCode, BarcodeFormat.aztec]);

and
    String barcodeRawValue = barcode?.value?.rawValue;
    String barcodeFormat = barcode?.value?.format?.name;

with
    String barcodeRawValue = barcode?.rawValue;
    String barcodeFormat = barcode?.format?.toString();

It works on Android but on iOS I get a crash, with the following exception.
MLKInvalidImage: Input image must not be nil.
I can't figure out what the problem is. There is no migration guide from 0.7.3 to the new version of MLKit, so I have no idea what might be missing now.
Unfortunately the stacktrace from Sentry isn't too informative (it isn't showing any part of my code).

I have the same problem sometimes with TextRecognizer.
*** Terminating app due to uncaught exception 'MLKInvalidImage', reason: 'Input image must not be nil.'
*** First throw call stack:
(0x1805fa288 0x1992f4744 0x180651390 0x105aec148 0x105b21a9c 0x105b21918 0x105b22b10 0x105b22658 0x10abf8740 0x10a6dfa08 0x18025fe6c 0x180261a30 0x18026ff48 0x18026fb98 0x1805b2800 0x18056c704 0x18057fbc8 0x19c6b3374 0x182eef648 0x182c70d90 0x104658678 0x10732dce4)
libc++abi: terminating with uncaught exception of type NSException
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00000001b74dfb38 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`__pthread_kill:
->  0x1b74dfb38 <+8>:  b.lo   0x1b74dfb58               ; <+40>
    0x1b74dfb3c <+12>: pacibsp
    0x1b74dfb40 <+16>: stp    x29, x30, [sp, #-0x10]!
    0x1b74dfb44 <+20>: mov    x29, sp
Target 0: (Runner) stopped.
Lost connection to device.

@jbx1 : you are hardcoding the values for imageRotation and inputImageFormat, try this:
    final imageRotation =
        InputImageRotationValue.fromRawValue(camera.sensorOrientation);
    if (imageRotation == null) return;

    final inputImageFormat =
        InputImageFormatValue.fromRawValue(image.format.raw);
    if (inputImageFormat == null) return;

@fbernaly We're occasionally seeing the same crash signature in Crashlytics, using the following:
  google_mlkit_barcode_scanning: ^0.4.0
  google_mlkit_image_labeling: ^0.4.0
  google_mlkit_text_recognition: ^0.4.0

We also see some related logging before the crash:
Bad state: LocalFile: '/var/mobile/Containers/Data/Application/E00088FD-418C-465F-BD90-EE2D3DEA762E/Documents/img12_1662733618579.jpg' is empty and cannot be loaded as an image.

Stack trace:
Fatal Exception: MLKInvalidImage
Input image must not be nil.

Fatal Exception: MLKInvalidImage
0  CoreFoundation                 0x99288 __exceptionPreprocess
1  libobjc.A.dylib                0x16744 objc_exception_throw
2  CoreFoundation                 0xf0390 __CFDictionaryCreateGeneric
3  Runner                         0x20bf100 -[MLKVisionImage initWithImage:]
4  Runner                         0x33e40d4 +[MLKVisionImage(FlutterPlugin) filePathToVisionImage:] + 22 (MLKVisionImage+FlutterPlugin.m:22)
5  Runner                         0x33e3fb0 +[MLKVisionImage(FlutterPlugin) visionImageFromData:] + 9 (MLKVisionImage+FlutterPlugin.m:9)
6  Runner                         0x33e4c04 -[GoogleMlKitImageLabelingPlugin handleDetection:result:] + 56 (GoogleMlKitImageLabelingPlugin.m:56)
7  Runner                         0x33e49f4 -[GoogleMlKitImageLabelingPlugin handleMethodCall:result:] + 39 (GoogleMlKitImageLabelingPlugin.m:39)
8  Flutter                        0x55ae50 (Missing UUID c8164c661c033398832ad3cbdb9a3cd8)
9  Flutter                        0x42cd0 (Missing UUID c8164c661c033398832ad3cbdb9a3cd8)
10 libdispatch.dylib              0x1e6c _dispatch_call_block_and_release
11 libdispatch.dylib              0x3a30 _dispatch_client_callout
12 libdispatch.dylib              0x11f48 _dispatch_main_queue_drain
13 libdispatch.dylib              0x11b98 _dispatch_main_queue_callback_4CF
14 CoreFoundation                 0x51800 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
15 CoreFoundation                 0xb704 __CFRunLoopRun
16 CoreFoundation                 0x1ebc8 CFRunLoopRunSpecific
17 GraphicsServices               0x1374 GSEventRunModal
18 UIKitCore                      0x514b58 -[UIApplication _run]
19 UIKitCore                      0x296090 UIApplicationMain
20 Runner                         0x7f2c main + 7 (AppDelegate.swift:7)
21 ???                            0x109069da4 (Missing)

Any news about this??


Include WordPress Coding Standards

Add in WordPress coding standards into the CLI container
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards

Shouldn't this reside in the project's composer.json?

@GMTA since we include phpcs and Drupal coding standards for it globally, it makes sense to have Wordpress coding standards in the same place.
While it does make sense for Composer based projects to cary their own dev dependencies along in the project's composer.json file, not every project is Composer based, including Drupal 7 and Wordpress projects.

@sean-e-dietrich @shelane I guess it is worth mentionin in the docs that there are coding standards for WordPress included now https://docs.docksal.io/tools/phpcs/


Remove macro for getting label_id

There are two different ways to obtain label_id from graph_id:

The GET_LABEL_ID(id) macro
The get_graphid_label_id(id) function

To avoid future inconsistencies the macro was removed because
it was less disruptive to the codebase.

It can be part of the label redesign project.


A11y: Consider renaming " x Properties in view" to make it more accurate

Description
The label  X Properties in View doesn't accurately describe what is shown on the page.  We don't actually show all those properties in the current view as they are spread over different pages.
Also, the current view only shows 6 properties per page. It will be helpful to communicate that as well.
Recommendation

Consider renaming it to X Total Properties instead.

 Screenshot

Add some sort of a counter at the bottom of the page to say 1-6 of 100 (close to the note that says we only display 100)

 sample

Also in favor of renaming. "in view" seems like ableist language for blind folks

Hi I would like to be assigned this :)

@amyyeung17 assigned!


Avoid copying line numbers from GitHub Actions logs

Description
Copying from the actions logs includes the line numbers, make it impossible/annoying to copy-paste them properly. GitHub had the same issue years ago with regular diffs I think and Refined GitHub fixed that until they did.
Screenshot
Expect:

Find: 😡 😩
npm WARN EBADENGINE Unsupported engine {
5
npm WARN EBADENGINE   package<EMAIL_ADDRESS>6
npm WARN EBADENGINE   required: { node: '>=18' },
7
npm WARN EBADENGINE   current: { node: 'v16.19.0', npm: '8.19.3' }
8
npm WARN EBADENGINE }
9

10
added 777 packages, and audited 829 packages in 14s
11

12
207 packages are looking for funding
13
  run `npm fund` for details
14

Example URLs

Visit a workflow run log like https://github.com/refined-github/refined-github/actions/runs/4134195942/jobs/7145035572
Select some text
Copy it

This was a decade-old Safari bug that was fixed in v16.4 🎉


Update logProgress for write() to be continuous instead of always using a new line

          I would like to keep it as such for this first iteration. (write() === writeLine())

There's a few things to define for moving into the model you proposed. Mostly related to what to do on line's overflow.
On current behavior, we are truncating the line to the terminal's width.
I will create a new issue to design and plan supporting a pure write() model
Originally posted by @vhvb1989 in https://github.com/Azure/azure-dev/pull/2364#discussion_r1239086305

We are just taking care of this as part of the PR, so no need to have this issue hanging around.


Add button to generate id in type collection

Create branch from main
issue-15-add-button-to-generate-id-in-type-collection


[Eigen3] Update to 3.3.5

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Voskrese sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR!


Legend bubble when styling by size fails

STR

Create a map of points
Style one layer by size, choosing a numeric column
The legends doesn't show up. Instead the loading never stops.
Open the console and you'll see the next error:
rule-to-bubble-legend-adapter.js:14 Uncaught TypeError: Cannot read property 'unshift' of undefined

cc @xavijam @alonsogarciapablo

Have you tried this in production?


Candle drops

This would count as a "minor" bug in every other preset except for Adventure, where it will cause softlocks due to not being able to access the Alucart room.
Seed URL
Pretty much any seed in the last 4-5 days
Randomizer version:
Found in upper-right hand corner of web page.
Operating system and version:
W10 Pro 64
Browser and version:
Chrome 89.0.4389.82 (Build oficial) (64 bits)
Emulator and version:
BizHawk 2.6.1
Bug description
Candles drop nothing but small hearts. This means no big hearts, money drops, sub-weapons, etc. This doesn't seem to affect the two Uncurse candles in the Library, which still drop use items.
How to reproduce:
After getting Cube of Zoe, all candles will drop small hearts.

Should be fixed in 3.2.6


[ALL] Fastlane env class

as discussed here: https://github.com/fastlane/fastlane/issues/7326
once reviewed, i am happily splitting it into seperated PR's!
i hope i didn't miss any parts
the actual class is here: https://github.com/fastlane/fastlane/pull/7337/files#diff-4f6fae6b89f5d847cff92d730e83d6bf
with: ENV["SKIP_ENV_HANDLER"] set - it should behave like before!
/cc @KrauseFx @milch

@KrauseFx @milch spaceship, and credentials_manager reverted.

Where did we stand on combining this with the feature switches?

i think we should not combine it, as features are required to be pre-defined in the features.rb.
or any other idea?

I think it would be great to change enabled? to truthy? or something similar to explain exactly what the method is checking. To say something is enabled is to say that something is either "on" or "off" rather than something being "true" or "false" which is what the logic is expressing IMO. 😄

For example, the following code:
class PluginUpdateManager
      def self.start_looking_for_updates
        return if FastlaneCore::Env.enabled?("FASTLANE_SKIP_UPDATE_CHECK")
.....

I would say that FASTLANE_SKIP_UPDATE_CHECK can not be enabled or disabled per se, rather it is true or false.

@ohwutup From my POV this is good to go, do you have anything more to add?

@milch nope! this looks good to me!
Moving forward, I wonder if there is any way for us to enforce the use of this class over ENV. Can we add a custom rule into rubocop or something to look for instances of ENV and prompt the coder to replace it with FastlaneCore::Env?

@ohwutup We don't really want every usage of ENV replaced, just the ones that are used as booleans - figuring that out is gonna be pretty hard. If we had danger running, just outputting a warning everytime the changes include ENV would work but @KrauseFx evaluated danger and there still seem to be a couple problems with danger running on Circle

@milch that point is 💯

@hjanuschka Now that it's ready, you can prepare the individual PRs. It'd be great though if you could wait until Circle fixes their issues so that we aren't flooded by too many PRs now that we can't merge them.

@milch ok i ll do so!

continued in seperated PR's


docs(signing): mention digest calculation as a TODO item

closes #565
Signed-off-by: Matthew Fisher<EMAIL_ADDRESS>

@vdice I leave it to you to merge. I'm only the emergency merger. :-)


Add the Table of Contents to the subsections to Part 09 in Lessons

Contributed to - Add the Table of Contents to the subsections to Part 09 in Lessons #94

Could you please move the Table of Contents to the top of the page? Thank you.

Done and sent the PR


Collapse Chat Panel

There should be a way to collapse the chat panel to watch just the stream.

This is implemented as of 25d7a4711dfa9592c80d449b443264576530a4c8.


Add Slider to the reviews section

Is your feature request related to a problem? Please describe.
The review section is static and I want to make it like a slider So please assign it to me under GSSoC'23 label.

Describe the solution you'd like
So I want to add the reviews in the form of slider, reviews will auto slide that make the website looks cool
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

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

Good , Go ahead then !

Thanks please also add the required labels on this issue and I want to ask that for the contribution to be counted do I need to have the label on the issue or both issue and PR? @amanjaiman1

focus on your work , i will do these things dont worry

Ok working on it!

Add gssoc + level label to this issue @amanjaiman1

Done bhai , but now please complete in the objects layout as we discussed earlier

Will create a pr by midnight! 👍


Fix find all refs and goto def for decorators

For the sake of completeness can we get a tests for getOccurrences as well?

I added a minor fix based on our offline discussion.
:+1:


3.0 Unable to generate Mono glue.

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Windows 10 x64, Godot 3.0 master.
Issue description:
Unless there's a new undocumented way to build godot with C# support, doing this:
scons p=windows tools=yes module_mono_enabled=yes mono_glue=no
bin\godot.windows.tools.64.mono.exe --generate-mono-glue modules/mono/glue
Doesn't generate the glue code anymore.
Last commit that worked was ed57f0a as far as I can see.

Working fine on x11 with
scons p=x11 tools=yes module_mono_enabled=yes mono_glue=no
bin/godot.x11.tools.64 --generate-mono-glue modules/mono/glue

Im on win10 x64 godot 3.0 master and its working fine.

Well then it might be something very wrong with my setup.
Because I'm one mono_glue.gen.cpp file short inside the mono/glue folder.
And if/when, after those two above, I do:
scons p=windows target=release_debug tools=yes module_mono_enabled=yes
It ends with a big:
Creating library bin\godot.windows.opt.tools.64.mono.lib and object bin\godot.windows.opt.tools.64.mono.exp
modules.windows.opt.tools.64.mono.lib(gd_mono.windows.opt.tools.64.mono.obj) : error LNK2019: unresolved external symbol "unsigned __int64 __cdecl GodotSharpBindings::get_core_api_hash(void)" (?get_core_api_hash@GodotSharpBindings@@YA_KXZ) referenced in function "private: void __cdecl GDMono::_initialize_and_check_api_hashes(void)" (?_initialize_and_check_api_hashes@GDMono@@AEAAXXZ)
modules.windows.opt.tools.64.mono.lib(gd_mono.windows.opt.tools.64.mono.obj) : error LNK2019: unresolved external symbol "unsigned __int64 __cdecl GodotSharpBindings::get_editor_api_hash(void)" (?get_editor_api_hash@GodotSharpBindings@@YA_KXZ) referenced in function "private: void __cdecl GDMono::_initialize_and_check_api_hashes(void)" (?_initialize_and_check_api_hashes@GDMono@@AEAAXXZ)
modules.windows.opt.tools.64.mono.lib(gd_mono.windows.opt.tools.64.mono.obj) : error LNK2019: unresolved external symbol "void __cdecl GodotSharpBindings::register_generated_icalls(void)" (?register_generated_icalls@GodotSharpBindings@@YAXXZ) referenced in function "private: void __cdecl GDMono::_register_internal_calls(void)" (?_register_internal_calls@GDMono@@AEAAXXZ)
bin\godot.windows.opt.tools.64.mono.exe : fatal error LNK1120: 3 unresolved externals
scons: *** [bin\godot.windows.opt.tools.64.mono.exe] Error 1120
scons: building terminated because of errors.

Do you have the proper windows .net build tools and mono installed? I was getting the same error at first until i rectified this irc.

Well I've been building and using godot with C# up until november 7.
But when I updated the repo to head earlier this evening, and tried to build it failed.
And going back to commit  ed57f0a atleast generate the required files in the mono/glue folder..
Anyway, to late for further testing tonight..


User Agent uses non-standard format

http-remoting currently creates user-agent strings of the format <product-name> (<product-version>), while the majority of the internet uses <product-name>/<product-version>.
Reference:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
https://en.wikipedia.org/wiki/User_agent
Is there any reason for the nonstandard behavior?

It's not a formal spec so we picked something readable. We should fix it in http-remoting3, where we should also start appending the http-remoting version information.
On Jul 7, 2017, at 20:59, Brad Moylan <notifications<EMAIL_ADDRESS>wrote:
http-remoting currently creates user-agent strings of the format  (), while the majority of the internet uses /.
Reference:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent[developer.mozilla.org]https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.mozilla.org_en-2DUS_docs_Web_HTTP_Headers_User-2DAgent&d=DwMCaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=Vp81aOxWZvuVgVK_wp-VF3pIYG92B19LcCw6XKeYC0U&m=NMZhqlOk-uxiHEP5xxtVCunkgoRkqsFUSnod5ovn_z4&s=rq5FLkW95UinykwFlogDOhcd1k7LRIV-k7w6ngmFsOw&e=
https://en.wikipedia.org/wiki/User_agent[en.wikipedia.org]https://urldefense.proofpoint.com/v2/url?u=https-3A__en.wikipedia.org_wiki_User-5Fagent&d=DwMCaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=Vp81aOxWZvuVgVK_wp-VF3pIYG92B19LcCw6XKeYC0U&m=NMZhqlOk-uxiHEP5xxtVCunkgoRkqsFUSnod5ovn_z4&s=jAMcGWPVOMnqxbXe3hcqVxdJUE8R0RQ4lEqctkSre18&e=
Is there any reason for the nonstandard behavior?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub[github.com]https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_palantir_http-2Dremoting_issues_470&d=DwMCaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=Vp81aOxWZvuVgVK_wp-VF3pIYG92B19LcCw6XKeYC0U&m=NMZhqlOk-uxiHEP5xxtVCunkgoRkqsFUSnod5ovn_z4&s=aBXIgXTcer-O3BrQeW5zkOnXabG_b7k-h0NdwVn0W6Q&e=, or mute the thread[github.com]https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AAp3Q7kozpjL-2D2Cu0arrDd9R-5F4IHWIaCks5sLo4DgaJpZM4ORX4s&d=DwMCaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=Vp81aOxWZvuVgVK_wp-VF3pIYG92B19LcCw6XKeYC0U&m=NMZhqlOk-uxiHEP5xxtVCunkgoRkqsFUSnod5ovn_z4&s=Yj-lyYgrodsDY1qDiObhoAM10H3tWim0wM3psIABagI&e=.


set_cover_image() function not working: raises 406

-> with handle.open(cover, 'rb') as doc:
(Pdb) n
> /home/ajung/sandboxes/xmldirector.plonecore/src/xmldirector.bookalope/xmldirector/bookalope/browser/api.py(36)convert_bookalope()
-> bookflow.set_cover_image('cover.jpg', doc.read())
(Pdb)
HTTPError: HTTPErro.../image',)
> /home/ajung/sandboxes/xmldirector.plonecore/src/xmldirector.bookalope/xmldirector/bookalope/browser/api.py(36)convert_bookalope()
-> bookflow.set_cover_image('cover.jpg', doc.read())
(Pdb) c
2016-04-05 08:46:51 ERROR Zope.SiteErrorLog<PHONE_NUMBER>.960.32495364378 http://dev.zopyx.com:12020/xml-director/crex-docx-xml/crex-docx-to-xml-conversion-1/@@convert-bookalope
Traceback (innermost last):
  Module ZPublisher.Publish, line 138, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 48, in call_object
  Module xmldirector.demo.demo.crex, line 128, in convert_bookalope
  Module xmldirector.bookalope.browser.api, line 36, in convert_bookalope
  Module xmldirector.bookalope.browser.bookalope, line 858, in set_cover_image
  Module xmldirector.bookalope.browser.bookalope, line 873, in add_image
  Module xmldirector.bookalope.browser.bookalope, line 122, in http_post
  Module requests.models, line 837, in raise_for_status
HTTPError: 406 Client Error: Not Acceptable for url: https://beta.bookalope.net/api/books/76bd8ac8d1284569ad941feeba1c8933/bookflows/aacee4067b7d41e2862f04386c3ee626/files/image

Btw: why is it neccessary to pass the image_filename as parameter. Shouldn't the binary stream be enough? Or where do you refer to image_filename later on?

The current bookalope.py client wrapper is in sync with the production server, and behind the beta server. To resolve the 406 above, find the function set_cover_image() in line 850 and change "cover" to "cover-image".
I will update production server and the client wrappers this week.
The filename of the image is for internal use at the moment, and I might use it when the user wishes to download (GET) an image file from a Bookflow.

Should be fixed by https://github.com/jenstroeger/Bookalope/commit/9a87a70f1b3e272eb46c45df98d4c2f22a55c4a1


npm build error

main 分支
#0 0.528 > tsc && cross-env NODE_OPTIONS=--max-old-space-size=6096 vite build
#0 0.528
#0 16.72 vite v2.9.18 building for production...
#0 16.76 transforming...
#0 27.99 ✓ 1892 modules transformed.
#0 27.99 [vite:load-fallback] Could not load /src/plus/pages/FeatureNotification (imported by src/components/pageLayout/index.tsx): ENOENT: no such file or directory, open '/src/plus/pages/FeatureNotification'
#0 27.99 error during build:
#0 27.99 Error: Could not load /src/plus/pages/FeatureNotification (imported by src/components/pageLayout/index.tsx): ENOENT: no such file or directory, open '/src/plus/pages/FeatureNotification'

重新拉下代码试下

重新拉下代码试下

OK 最新代码已经编译通过了。


feature: custom address labels

This is the number one aspect that keeps me checking other tools/scripts/etherscan.
With thanks, otterscan is great.

You mean, privately attribute names to certain addresses? Sounds good, I just wonder what would be a good UX for persisting this data.
The simplest way would be to store it in browser local storage, but I've heard some time ago Apple would start deleting local storage after some time.
Do you have any idea of a better place you would like this personal data to be stored?

Yes, privately attribute names to addresses: my contracts, other contracts of note. Etherscan has 'tags' and you can add your own 'tags' that will show throughout the UI. For example, I've tagged both the EOA and contract in this example:

You can see the default 'tag' from etherscan too here.

As a user, I'd be happy to upload a key/value JSON dictionary, or  a command line path to docker even with additional labels. I have no good guidance on where to store user-specific data for this use case "as a web application". The only thing to manage is either a case insensitive map or to convert the addresses to checksum addresses. I looked at the /src/api/address-resolver/ impls and considered just adding to the hard-coded labels manually, but didn't think that was a good plan.
Thanks for considering/ listening ;)

Yes, as a little hack, editing the files you pointed out would work.
I think specifying a user provided JSON file would be a good start, if it works for you, although not very user friendly. But I also don't want to block this feature just because I wasn't able to decide on a definitive solution for config persistence.

I wasn't sure the best way to do that when running in docker?

You can edit the 1.json file at hardcoded-addresses directory, for example, and rebuild the docker image, where 1 is the chainid for mainnet. This hack should work for now.
But I agree that a proper solution is nice to have.

As suggested, we could create a simple web application, maybe running on a different port, that handles the API for getting/setting private labels and stores them in a simple database. In the single-user case, it could be that easy, no authentication required. In the many-user case, we can use a large random hex string for authentication, like an "API key". In the public server case, need a spam prevention measure.

The simplest way would be to store it in browser local storage, but I've heard some time ago Apple would start deleting local storage after some time.

I did a bit of research and I think the explanation is that Safari deletes local storage after 7 days, unless the site is pinned to your home screen.
In my opinion, local storage is still the 'right' way to do this - it should work for most users. Maybe we can warn users that some browsers may delete local storage and they may want to export their data to somewhere else (e.g. via an "export to JSON" button).
Maybe its because I'm biased as a non-Safari user but local storage would be the cleanest and most convenient solution for me :stuck_out_tongue:

yeah, I like the local storage solution bc it seems the natural choice for dapps.
I'm aware of the Safari policy, don't know how annoying it is in practice.


getRawWeatherGroupData()

pls, add option for format data fetched, such as getRawWeatherData()

I'm sorry for the late response @KarelWintersky.
It is unclear to me what you are asking for. Could you elaborate on your request?

public function getRawWeatherData($query, $units = 'imperial', $lang = 'en', $appid = '', $mode = 'xml')

where $mode - The format of the data fetched. Possible values are 'json', 'html' and 'xml' (default).
So,
public function getRawWeatherGroupData($ids, $units = 'imperial', $lang = 'en', $appid = '')

have no option for data fetched, it hardcoded to JSON.
Can I make my own pull request for this?

Oh! I understand now. Feel free to create a PR for that :+1:


Refactoring cache interface and dependencies

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
✔

Fixed issues
#41

👍


Update marker os_name to platform_version in docs

According to doc, marker os_name is os.name as a PEP 508 specifier.
In python2, os.name has following values: 'posix', 'nt', 'java'
In python3, it has following values: 'posix', 'nt', 'os2', 'ce', 'java', 'riscos'
I believe using platform_version = "== 'Windows'" is more appropriate.

this is straight out of the pep 508 docs

@kennethreitz But os_name = "== 'nt' in Windows in Python3 rather than os_name = "== 'windows'....
platform_version = "== 'Windows'" should be used

Well if both of you are correct, the PEP 508 docs are wrong. Maybe we should fix that first. @kennethreitz can you provide s pointer where those came from?


remove v1 registration from readiness probe and use debu/endpointz

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: GregHanson
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
Assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


multicluster tests: simplify secret rename logic

As of https://github.com/cilium/cilium-cli/pull/1551, the clustermesh connect subcommand looks for all three possible names for the clustermesh-apiserver client certificate in the local cluster.
This removes the logic needed by the GKE-based CI workflow prior to that change.

Successful test run:
https://github.com/cilium/cilium-cli/actions/runs/5138716964/jobs/9248337381?pr=1685
Removing the "Do Not Merge" PR enabling the test on this PR.


feat: properly type mount with props

This offers proper typings for the props given in the mounting options.
For example mount(defineComponent({ props: { a: string}}), {props: {a: 2}}) fails to compile.
Only issue with this PR is that we need ExtractPropTypes to be public to properly type check the case mount({ props: { a: String }}, { props: {a: 2}}).
I'll open a discussion on vue-next and link back here (see https://github.com/vuejs/vue-next/pull/983).
Update: Evan merged it, so we'll be able to merge this one when beta.2 is released.
On top of #73

Cool, will wait for beta 2.

Will leave this open until beta-2, which fixes a few things. Looks good otherwise

@lmiller1990 I rebased on top of master, we should be good to merge 👌


Add a chrome custom tab to search for device

Pattern: Android + [Form Factor] + Model Name

https://developers.google.com/custom-search/v1/libraries


Error Rate (Validation + Test)

Hi. I have used your checkpoint hdf5, change the path according to config.py and done the changes ('tensorflow':tf, 'K':K), but I am not able to achieve the accuracy that you have got. Can you please look at this once.
CER on Validation Set

CER or Test Set

Hey @grkumar123 ,
Sorry, I couldn't respond to your query earlier...had been really busy with other work. Kindly provide your full code...so that we can better understand the issue.
Again, thanks for trying out Easter.


[Modules] Update Event Grid Module - Fix typo, not checking on loop-item

Description

Thank you for your contribution !

Please include a summary of the change and which issue is fixed.

The code is not checking the property on the item being looped over

Please also include the context.

systemtopic subs

List any dependencies that are required for this change.

Pipeline references

For module/pipeline changes, please create and attach the status badge of your successful run.

Pipeline

Type of Change
Please delete options that are not relevant.

[X] Bugfix (non-breaking change which fixes an issue)

Checklist

[X] I'm sure there are no other open Pull Requests for the same update/change
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings
[X] My code follows the style guidelines of this project
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation (readme)
[X] I did format my code

@davidkarlsen thank you for the fix! Have you reran the readme and redeployed the module for testing after the change?

@ahmadabdalla there are no changes in docs, the parameters are unchanged.
I have no infra/funds to run tests on - but as it was clearly not working as intended.

All good. Approved. Will check our CI upon merge


Use semaphores to limit goroutine concurrency within the daemon

There a several areas within the daemon where a goroutine is launched to asynchronously complete a task. Currently the deployment of such goroutines is unbounded. Semaphores should be added to various areas in order to control the level of concurrency dedicated to these outstanding async requests.
Grepping for "semaphore" wtihin the repo yeids:
./fundingmanager.go:538:        // TODO(roasbeef): semaphore to limit active chan open goroutines
./rpcserver.go:461:         // TODO(roasbeef): semaphore to limit num outstanding
./server.go:327:    // TODO(roasbeef): semaphore to limit the number of goroutines for
./server.go:402:        // TODO(roasbeef): server semaphore to restrict num goroutines

In golang a simple semaphore can be created by creating a typedef around a chan struct{}. The new type would also provide acquire and release methods along with a constructor to initialize a semaphore taking a parameter which dictates the level of buffering in the underlying channel.

Hello!
I would like to try to solve this issue

I have stopped the work under Roasbeef's recommendation.


Twitter adapter

How I'm envisioning this working is that Hubot is a Twitter account that carries out actions or replies based on Mentions or DMs to him. I'm new to Node, but I'll see what I can do.

Sounds good.  DMs would probably be ideal for most things unless you have some trust level between users on twitter and your bot.

Just to get an idea of the workflow for the end user:

Get running, whether it's locally or on Heroku (or something similar).
You are presented with the Twitter login page. Once logged in, you get a out-of-band PIN code.
Give Hubot the PIN code.

I may be misunderstanding how Hubot or Twitter's authentication works, but this seems the way to go.

I was thinking that the bot would listen to it's followers only for @ mentions. And also DMs

Yeah, it also needs to follow the people that follow it in order to receive DMs from them.

Looking at twitter it seems that @MathildeLemee already has one working.  Maybe she can share the code.

:+1: Yea, I meant to say, The bot listens to everyone that that bot follows just like the chat room, and when one of those user tweets @hubot mustache @atmos the bot responds

It seems that the twitter streaming API supports getting updates for @mentions as well as direct messages. It seems that a twitter adapter could work in fairly decent real time.

Closing this issue out, open a pull request when it arrives.


0.2.0: Add BN, elliptic and nacl libs

Exposes new objects and libraries:

nacl - imports everything from tweetnacl npm
elliptic - imports everything from elliptic
BN - BN object from bn.js
Uint8Array - exposes Uint8Array

Buffer and Uint8Array are supported by deepCopy
Example:
const box = nacl.box;

const newNonce = () => nacl.randomBytes(box.nonceLength);
const generateKeyPair = () => box.keyPair();

const json = {
  a: "test",
};

const encrypt = (secretOrSharedKey, json, key) => {
  const nonce = newNonce();
  const messageUint8 = new Uint8Array(
    Buffer.from(JSON.stringify(json), "utf-8")
  );
  const encrypted = key
    ? box(messageUint8, nonce, key, secretOrSharedKey)
    : box.after(messageUint8, nonce, secretOrSharedKey);

  const fullMessage = new Uint8Array(nonce.length + encrypted.length);
  fullMessage.set(nonce);
  fullMessage.set(encrypted, nonce.length);

  const base64FullMessage = Buffer.from(fullMessage).toString("base64");
  return base64FullMessage;
};

const decrypt = (secretOrSharedKey, messageWithNonce, key) => {
  const messageWithNonceAsUint8Array = new Uint8Array(
    new Buffer(messageWithNonce, "base64")
  );
  const nonce = messageWithNonceAsUint8Array.slice(0, box.nonceLength);
  const message = messageWithNonceAsUint8Array.slice(
    box.nonceLength,
    messageWithNonce.length
  );

  const decrypted = key
    ? box.open(message, nonce, key, secretOrSharedKey)
    : box.open.after(message, nonce, secretOrSharedKey);

  if (!decrypted) {
    throw new Error("Could not decrypt message");
  }

  const base64DecryptedMessage = Buffer.from(decrypted).toString("utf-8");
  return JSON.parse(base64DecryptedMessage);
};

const obj = { hello: "world" };
const pairA = generateKeyPair();
const pairB = generateKeyPair();
const sharedA = box.before(pairB.publicKey, pairA.secretKey);
const sharedB = box.before(pairA.publicKey, pairB.secretKey);
const encrypted = encrypt(sharedA, obj);
const decrypted = decrypt(sharedB, encrypted);
console.log(obj, encrypted, decrypted);

return <pre>{JSON.stringify({ obj, encrypted, decrypted }, undefined, 2)}</pre>;

Fixes #69

LGTM just introducing new libs and modifying vm to respect that.  One thing to note is how does the editor know about these new methods for the intellisense / code hints feature?

The day we introduce tests seems like a painful day...

Maybe some hash funcs to go along with crypto would be nice, https://github.com/Daninet/hash-wasm (particularly eyeing md5 (cloud storage), crc32c (new gen cloud storage), xxHash64 (next gen cloud storage), and blake3.


retry post if 500 and echo warning to stdout

Hello! I forked this repo a year ago and faced many time out errors. I fixed it in my private repo like in pull request. Now I forked it again  and found that bug is still there. So I think my input would help to mitigate 500 errors when issuing certificates for over 300 domains with cloudflare DNS hook.

Mhmhm... I'm still not sure if I really like this. Normally when the CA throws an error it's because people didn't configure the client correctly (wrong wellknown path or didn't wait for dns refresh) or because the CA is under heavy load...
In the first case I really dislike retries, if it's not configured correctly there really is no point and it may even end up in an infinite loop (first a few retries, followed by api limit errors).
If the CA is under heavy load I'm really not sure if automatic retries are a good idea either... maybe with a bigger and staggered delay and with a maximum number of tries (first 5 seconds delay, if still error go up to 10 seconds, max out at 15 seconds and exit with error), this wouldn't put that much stress on the CA and it would limit the amount of generated api calls in case of a misconfiguration.

I'm in general agreement with @lukas2511 here. As LE is meant to be automated, and any automated server should be automating it with a service somehow and ideally should be monitored for failures, this PR seems somewhat counterproductive.
If there's an error (500 or otherwise), there's a problem that needs resolving. If it's a timeout, it's something you need to work with your provider on or resolve another way; retries will only give the illusion that all is well. If you can't reliably reach LE, your users likely cannot reliably reach you. Retrying until it works keeps one from knowing there's a problem.
With systemd, you can just use Restart=on-failure provided dehydrated exits non-zero for these
rare cases where it is actually desired. (If it doesn't exit non-zero, that's another PR that I'll gladly cheerlead for! 🥂 ) Other init systems have similar functionality, aside from extremely traditional ones where you can hand-code it into your service.
I highly, highly advise at least a basic monitoring/alerting tool to at least monitor whether your services are alive and running properly (and of course I advocate running dehydrated from a system service, even if it's cron firing a sysvinit service, though a service/timer pair with systemd is what the cool kids should be doing). If you have your monitoring email you every day or few to let you know all is well, then you know the mail server and/or monitoring isn't down. :)
And all this is stopping short of the discussion of making a bad problem worse (50x due to capacity on the remote server) or hitting API limits. LE is a public service and we should all treat it responsibly.

Retry logic may at some point be implemented, but it will require major changes to most of the loop behavior of dehydrated. This simple implementation of just looping again and again until it maybe succeeds at some point seems hacky to me. It's an acceptable solution for users with lots of network issues, but not something I want to upstream right now.


[IOTDB-3958] Add error logging in thread pool

See JIRA: https://issues.apache.org/jira/browse/IOTDB-3958 .
I refactor the WrappedCallable to make sure every task submitted to thread pool will log any uncaught exceptions.

@HTHou @wangchao316 PTAL

Coverage increased (+0.01%) to 43.147% when pulling d83ae22518ab2dc942c1b40d8c8670b44bda1147 on bugfix/iotdb-3958 into 878de3a2a45421f4b8562219629d144ac3a7ba4d on master.


Error: "Entry not found in cache" after selecting the folder to deploy the Python function

Looks the same as #2061
Does this occur consistently?
Yes
Repro steps:

Select the folder with the Python Function
Click on the Upload icon in Visual Code

Action: azureFunctions.deploy
Error type: Error
Error Message: Entry not found in cache.
Version: 0.22.0
OS: darwin
OS Release: 18.7.0
Product: Visual Studio Code
Product Version: 1.44.2
Language: en

Call Stack
a.createError extension.js:1:48963
b.<anonymous> extension.js:229:179477
extension.js:229:174092
extension.js:229:46227
extension.js:229:45094
B._callback extension.js:1:182028
B.t._callback.t.callback.t.callback extension.js:181:5470
B.emit events.js:203:13
B.<anonymous> extension.js:181:18298
B.emit events.js:203:13
IncomingMessage.<anonymous> extension.js:181:17140
Object.onceWrapper events.js:291:20
IncomingMessage.emit events.js:208:15
endReadableNT _stream_readable.js:1168:12
processTicksAndRejections task_queues.js:77:11

Thanks for filing - as a workaround you could try reloading your window or signing out and signing back in to your Azure Account using the command palette.
Unfortunately there's not much we can do in this extension, but this is being tracked upstream here: microsoft/vscode-azure-account#53


fix broken tables in permission requirements

Why:
The table in "Permission requirements for security features" section is broken.
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization#permission-requirements-for-security-features

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@shogo82148 Thanks so much for opening a PR! I'll get this triaged for review :zap:

It looks fine. https://docs-8724--patch-2.herokuapp.com/en/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization#permission-requirements-for-security-features

oops, it is still broken with ghes 2.22
<EMAIL_ADDRESS>

fixed
https://docs-8724--patch-2.herokuapp.com/en/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization

<EMAIL_ADDRESS>

Thanks for noticing this @shogo82148, and for providing a fix, but it looks like someone internally has already fixed this in https://github.com/github/docs/commit/b42910e0fbb1b173dcb2fecb1687ccaeea609d94 🙂

3057083318


ReadTheDocs Build is not triggered automatically

Upon release a webhook is sent to readthedocs but readthedocs says it's unhandled.
To build the latest main/most recent version, you need to manually trigger a read-the-docs build.

GitHub will emit an initial HTTP request (X-GitHub-Event: ping) upon creating the webhook and you may notice that the Read the Docs responds with {"detail":"Unhandled webhook event"} – this is normal and expected. Push changes to your repository and webhooks will work from this point.

https://test-12312.readthedocs.io/en/latest/webhooks.html

Problem persists as of v0.4.0

Running Sphinx v6.2.1
Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/config.py", line 354, in eval_config_file
exec(code, namespace)  # NoQA: S102
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/conf.py", line 25, in
from uml import PlantUMLNetwork, build_network, compile_files_kroki, write_class_umls
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/../docs/uml.py", line 22, in
from annotated_types import Len, MaxLen, MinLen
ModuleNotFoundError: No module named 'annotated_types'

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

Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/cmd/build.py", line 280, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/application.py", line 207, in init
self.config = Config.read(self.confdir, confoverrides or {}, self.tags)
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/config.py", line 177, in read
namespace = eval_config_file(filename, tags)
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/config.py", line 367, in eval_config_file
raise ConfigError(msg % traceback.format_exc()) from exc
sphinx.errors.ConfigError: There is a programmable error in your configuration file:
Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/config.py", line 354, in eval_config_file
exec(code, namespace)  # NoQA: S102
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/conf.py", line 25, in
from uml import PlantUMLNetwork, build_network, compile_files_kroki, write_class_umls
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/../docs/uml.py", line 22, in
from annotated_types import Len, MaxLen, MinLen
ModuleNotFoundError: No module named 'annotated_types'
Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/envs/v0.5.1/lib/python3.10/site-packages/sphinx/config.py", line 354, in eval_config_file
exec(code, namespace)  # NoQA: S102
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/conf.py", line 25, in
from uml import PlantUMLNetwork, build_network, compile_files_kroki, write_class_umls
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e-python/checkouts/v0.5.1/docs/../docs/uml.py", line 22, in
from annotated_types import Len, MaxLen, MinLen
ModuleNotFoundError: No module named 'annotated_types'

https://readthedocs.org/projects/bo4e-python/builds/21265224/

next try: #485

Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e/envs/latest/lib/python3.11/site-packages/sphinx/config.py", line 354, in eval_config_file
exec(code, namespace)  # NoQA: S102
^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e/checkouts/latest/docs/conf.py", line 25, in
from uml import PlantUMLNetwork, build_network, compile_files_kroki, write_class_umls
File "/home/docs/checkouts/readthedocs.org/user_builds/bo4e/checkouts/latest/docs/../docs/uml.py", line 26, in
from typeguard import TypeCheckError, check_type
ModuleNotFoundError: No module named 'typeguard'


#REFACTOR #1

-- es5 -> es6
-- var -> let || const
-- function -> arrow function
-- string concats -> template literals
I have review to the base code base there are lots of es5 syntax, i have taken time to refactor it and made sure that there is no error, you can check it too. i am ready to do more refactor on this base , if you allow me then i will go forward.

Yeah sure @bineetNaidu, go ahead 👍

The latest commit have all updated es6 syntax and i have removed all the unused code . And i have checked the app before commiting and was resulted with 0 errors. Now you can review  the commit and merge. :100:

Thanks for reviewing i will keep in mind to rectify those  issues. i will be working on it.. :+1:

@bineetNaidu you need to resolve the conflicts.

I have resolved the conflict and within 1 hr the request changes will be made

Hey i just want to let you know , i have commit according to the review changes required. Feel free to leave a msg to any other stuffs.

@bineetNaidu could you check again  the unnecessary code. After merging some other pull requests, there were conflicts, which I resolved, but still worried about some unnecessary code. After this I will merge your pull request. You have to fetch and rebase your origin.

Looks good @bineetNaidu, Hope someone else will continue this.


WIP: README updates

I like "on EVMs" instead of "on Ethereum and L2s"

if anything, more smoothbrain examples like


added support for orthographic cameras to ssao2RenderingPipeline

With the help of @CraigFeldspar i was able to fix this issue: https://forum.babylonjs.com/t/ssao-bug-with-othographic-cameras/12350

GG ! Just a small performance overhead, can you use a #define instead of a dynamic test in shader with the uniform orthoProjection ?
Thanks !

GG ! Just a small performance overhead, can you use a #define instead of a dynamic test in shader with the uniform orthoProjection ?
I was thinking about that but a camera can be switched dynamically between perspective and orthographic (this is also the case in my app). I'm not sure how to automatically update the defines if the camera mode gets changed.

One idea would be to use the onActivateObservable of the post process and update the effect if the camera mode was changed.
Is it ok to call updateEffect inside the onActivateObservable handler? What happens if the pipeline is used for an perspective and orthographic camera at the same time? updateEffect would be called multiple times per frame then. Is that a problem?

@CraigFeldspar will provide more guidance soon

Actually it requires a little bit of work, you would need an updateEffect function, like in motionBlurPostProcess.ts :
    /**
     * Called on the effect must be updated (changed mode, samples count, etc.).
     */
    private _updateEffect(): void {
        if (this._geometryBufferRenderer || this._prePassRenderer) {
            const defines: string[] = [
                "#define GEOMETRY_SUPPORTED",
                "#define SAMPLES " + this._motionBlurSamples.toFixed(1),
                this._isObjectBased ? "#define OBJECT_BASED" : "#define SCREEN_BASED"
            ];

            this.updateEffect(defines.join("\n"));
        }
    }

Then in onApply you check what kind of camera is used, and call updateEffect accordingly.
Do you think you can do that ? that would be really awesome :)

I changed it on my side as you wrote and it works but updateEffect does not update the effect immediately. Atleast not if its called in onApply(). There seems to be a delay of one frame. That also means it will not work if someone uses a perspective and an orthographic camera at the same time in one pipeline.
You can see the delay here:

If only the branching is a problem in my current solution then i could do something like this to avoid branching (not tested yet):
vec3 vViewRay = vec3((vUV.x * 2.0 - 1.0)*xViewport, (vUV.y * 2.0 - 1.0)*yViewport, depthSign);
float projectionDepthFactor = depth * float(1 - orthoProjection) + float(1 * orthoProjection);
vec3 origin = vec3(vViewRay.x * projectionDepthFactor, vViewRay.y * projectionDepthFactor, vViewRay.z * depth);

I think you are right and it becomes unnecessarily complicated.
The most elegant solution in my opinion would be to build a 3*3 matrix depending on the camera, then you multiply it with a vec3(x, y, depth) to get the pixel position.
It would ressemble something like this for an ortho camera :
( ..   ...   ... )   ( x )
(...   ...  ...  )   ( y )
( 0   0   ... )   ( depth )
and non-zero coefficients on the bottom line for a perspective.

I think you are right and it becomes unnecessarily complicated.
The most elegant solution in my opinion would be to build a 3*3 matrix depending on the camera, then you multiply it with a vec3(x, y, depth) to get the pixel position.

Done

LGTM I ll merge tomorrow after confirmation from @CraigFeldspar if no fire are starting due to our previous merge :-)

And it actually looks great now !!! GG @Kesshi , I bet @CraigFeldspar will love it

yep, @Kesshi great job ! and thanks


Repository check

We need some validation to check that the code under review is in a version control repository.
Code for this check should be in the 1-repository/check_repository.py script.

Fixed in 410fc6ba9f6f12e50a3aaf923426b76b291ed57f, closing this issue.


Too slow to generate id token with RSA

When generating id token, jwt.encode() calls jws.serialize_compact() to serialize id token. Then jws.serialize_compact() calls _prepare_algorithm_key to get the key.
https://github.com/lepture/authlib/blob/610622e54b6cbc810ad9fda97569f13401614348/authlib/jose/rfc7515/jws.py#L62
But _prepare_algorithm_key() always construct a new key object, if the type of key is RSA, then when signing id token,  get_private_key() will be called, RSA_check_key() will also be called.
https://github.com/lepture/authlib/blob/610622e54b6cbc810ad9fda97569f13401614348/authlib/jose/rfc7515/jws.py#L257
Unfortunately, in OpenSSL 3.0.0, RSA_check_key() become too slow. In my system, this procedure may consume 300ms in every request, it is unacceptable.
I wonder if the key should be cached in jwt object instead of build and check RSA key in every request, or any method to close RSA key checking?

Make OpenIDConnect.get_jwt_config() return a Key object instead of KeySet can solve the problem.


Add useProviderContextValueProvider

Summary
Add useProviderContextValueProvider, which will be used to return the context value (state and actions) for each provider starting with Unsplash.
Call useProviderContextValueProvider from useContextValueProvider.
Testing Instructions
Open the media pane to verify that it appears.

Can't we make use of reactjs.org/docs/hooks-reference.html#usereducer to simplify it?

useReducer is called further upstream to create the reducer, see:
https://docs.google.com/document/d/1S9jTh6Lz3UEhj9Wkb7S7x_kJGvRVpEaNOqk2aCyb4y8#heading=h.oocj9blsfyy5


Issue removing files with rmlocal.

So I got all my stuff uploaded to google drive now, but when the rmlocal script runs I receive the following error:
du: cannot access ‘'   /mnt/Library/Plex-Servers/PleXXX/local-decrypt/PleXXX/[P]/Misc/Season 02/S0002E0006.mp4'’: No such file or directory
/mnt/Library/Plex-Servers/PleXXX/scripts/rmlocal: line 126: 0 + : syntax error: operand expected (error token is "+ ")

Looking at the scripts, I think it has to do with the escape characters not existing when using $n as a parameter for fileSize=$(du -sb "$n" | awk '{print $1}') on line 124.
	find "${local_decrypt_dir}" -type f -exec stat -c "%x %n" {} \; | sort | awk '{$1=$2=$3=""; print $0}' |
		while IFS= read -r n; do
			if [ "$addedSpace" -gt "$freeup" ]; then
					spaceInGb=$(($addedSpace / 1000 / 1000 / 1000))

					spaceLeft=$(($(du -sb "$local_decrypt_dir" | awk '{print $1}') / 1000 / 1000 / 1000))
					echo "[ $(date ${date_format}) ] Removed ${spaceInGb} GB. Media in total ${spaceLeft} GB."
					break
			fi

Soo looking into the file is was referencing, there were 2 spaces back to back in the file for some reason. It couldn't handle processing that file due to that.

I'll add a trim function to remove spaces

Would it be possible for you to add following code to line 120 in rmlocal and try again: n=$(echo "$n" | xargs)

Tried both, and it is still having issues. The current way works fine, but only if my files don't have 2 spaces back to back. Which they shouldn't anyway, so it's been pointing me to each file that I need to fix anyway with the logs. If you want to fix that issue, that's up to you. I'm just fixing the one of files I have when it errors out in the script.


Publish current version to rubygems.org

When I installed your gem from rubygems.org and tried to run it, it crashed:
/Users/angelika/.rvm/gems/ruby-2.3.0/gems/adsf-1.2.0/bin/adsf:64:in `<top (required)>': uninitialized constant Rack::Handler::Mongrel (NameError)
	from /Users/angelika/.rvm/gems/ruby-2.3.0/bin/adsf:23:in `load'
	from /Users/angelika/.rvm/gems/ruby-2.3.0/bin/adsf:23:in `<main>'
	from /Users/angelika/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
	from /Users/angelika/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

I had to clone the repo and build the gem myself, it's working now. I know it's not a big deal, but maybe you could publish the current version (without Mongrel dependency) to rubygems.org, so it's more convenient for people to install it.

Sorry for dropping the ball on this! I’ve pushed 1.2.1, which should fix the problem you’re experiencing. Thanks for letting me know!


radial gradient resizing

Description
The new default background for the client light theme shifts around a lot. This becomes a problem when the page is long as it makes most of the page just completely white rather than having a purple gradient providing contrast. This can probably be resolved by just creating a set of gradient classes and using media selectors.

related #32, the shift in the background can be drastic


Doc 356

addresses https://github.com/systemslab/popper/issues/356

Hello @Franko1307! Thanks for submitting the PR.

In the file pipelines/data-generation/geni/request.py, following are the PEP8 issues :

Line 23:1: E305 expected 2 blank lines after class or function definition, found 1


Running cat on long file doesn't place prompt at bottom.

Environment
Windows build number: 19041
Windows Terminal version (if applicable): Windows Terminal Preview Version: 1.1.1671.0

Any other software? N/A

Steps to reproduce
Copy the WSL2 kernel config file into a text file and save with no extension. https://github.com/microsoft/WSL2-Linux-Kernel/tree/master/Microsoft

Run Terminal in a maximized window: In WSL, run a cat on this file.
Expected behavior
Prompt should appear at the bottom.

Actual behavior

CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_FUNCTION_PROFILER=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_HIST_TRIGGERS is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
# CONFIG_MEMTEST is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_UBSAN is not set
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_EARLY_PRINTK_EFI is not set
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_WX is not set
CONFIG_DOUBLEFAULT=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# CONFIG_UNWINDER_GUESS is not setuser@hostname/mnt/c/Users/user $

Note if I minimize Terminal, the prompt is restore to the bottom. Going fullscreen again keeps the prompt at the bottom.

The prompt being appended to the end of the final line is because the file doesn't end in a trailing \n. The real bug seems to be when you maximise and restore the window; in this case, the prompt gets moved back to the left side of the screen, overwriting any content that was there.

Curiously I just noticed the tool tip to shrink the terminal window also says maximize instead of minimize.

I updated the OP and my comment note as there may be a difference in "fullscreen" vs. "maximized window", which is what I had.

Two things here. First, @hongooi73 is totally right: if you're lacking a newline at the end of your file, you'll see this behavior.
Second, bash responds to a window size change by re-homing the prompt. That is: during window resize, bash moves the cursor back to the start of the line. This will necessarily destroy anything that was there. :smile:


Add grid tracking

This change adds tracking to the navigation grid.
Dependencies

[x] https://github.com/alphagov/static/pull/908

Trello
https://trello.com/c/btaOSNax/426-track-position-of-clicks-in-the-new-taxon-grid-pages

LGTM. ⛵


[TM] Add spec for Networking

Summary
Part of #24875, adds a spec for Networking. Since sendRequest methods are different for both platforms, I had to create 2 spec files as Flow would merge their definitions even when I added Platform.OS check
Changelog
[General] [Added] - TM spec for Networking
Test Plan
Flow passes.

mostly looks good, but are we supposed to create 2 Specs?

This is what we concluded with @rickhanlonii since there are 2 methods with different signatures, and Flow wasn't happy with Platform.OS branching. I'd be glad if someone can point a better solution :)

Probably the best we can do until we unify the native interface to use the same prop types


commodity and traded-at-relations are not consistent

Description of the issue
The definition of commodity lead to an inconsistency in the ontology, see #789.
The problem behind this that we agreed on the following statements in our development process:

emission certificates can be traded (#302)
emission certificates are licences (and therefore information content entities) (#677)
only commodities can be traded (#748)
commodities are material entities (#748)

These statements contradict each other, so we need to change at least one of them.
Ideas of solution
The first two statements seem to be intuitively correct to me.
The third statement seems questionable to me, especially since is traded at is defined as _ a relation that holds between a market exchange and the financial instruments, commodities, or other products, services, or goods which are traded there._
The fourth statement also looks questionable, since commodity role is defined as a role that inheres in something that is used in commerce and is exchangeable with other commodities of the same type.
I could imagine that a licence indeed is something that is used in commerce and is exchangeable. However, the fact that commodity is defined via this commodity role limits commodity to independent continuants (excluding licence)
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

I agree, the 3. statement should be corrected, since it contradicts the definition of is traded at.
I find it hard to make concluding restrictions in the oeo to what can be traded. The list would be probably long. Or we leave the domain open to anything.

Regarding 4.): Here it says, electricity is a commodity, which is clearly not a material entity. But I don't know if there are other kinds of commodities, besides energies, not being material entities. If not (which might be the case for our energy modelling world, at least), we could open it to both, material energy and energy.

From an ontological point of view, expressing that energies can be commodities could get difficult. The commodity role is only applicable to independent continuants. However, if we agree that energy is a commodity, we should find a way to express this in the ontology.
@jannahastings Do you have any ideas how to do this?

Very tricky. I think we will potentially need to relax the definition of commodity somehow to not be restricted to independent continuants. However, I wonder, when energy is being traded, what exactly is being traded? A quick Google search tells me that "Energy can be traded on the financial market in the form of energy derivatives. Energy derivatives are contracts based on an underlying physical asset such as crude oil, power, natural gas etc."link and also "Once the power provider has fed the energy into the grid, the REC received can then be sold on the open market as an energy commodity."link  These quotes hint that some or other physical basis is expected for something to be considered a commodity. But on the other hand the classifications of energy itself and of the certificates seem correct to me.

In the case of oil, gas and other fuels they are actually traded in volumetric or mass units. But electrical energy is traded as energy value, prices are given at the electricity market exchange in Euro per Megawatthour (€/MWh). Nobody wants to buy a quintillion electrons or one kilogram of electric charges.

To me this looks like we could theoretically limit the domain of is traded at to material entities, because there always is some kind of material entity involved. But in practice, certain types of energies are traded directly "as some amount of energy" and not "as some amount of a material entity the carries a certain amount of energy". So I would opt for leaving the domain of is traded at empty and not changing anything else. This way, energies, licenses and others could be traded directly, but commodity would still refer only to material entities.

I like your proposal.


updated numpy

Updated numpy part for workshop in 2019

Some quick things:

index.ipynb is missing (not sure it should be added, but at least the 'numpy_intro' notebook links to it
we probably want to make sure all kernels are called "python3" to avoid that people get the "No kernel" pop up (not sure if this is important, but noticed it because different notebooks now ask for a different kernel, vs python3 vs py36)
the exercise in dataset_intro might be a bit difficult? As they didn't see yet np.argmin and np.abs (or any of  the element-wise operations). So maybe limit the exercise to some things with indexing?
the drawing used in kmeans is missing
In the "operations" notebook, I might do some extra exercises

Thanks! here are the changes:

I changed link to 'index.ipynb' to point to '../01-numpy-introduction.ipynb'
Kernels are changed to python3
I moved exercise from dataset_intro to operations + added simpler excercise to dataset_intro
added new excercise to operations
added the directory /images with the images used in the notebooks
I moved K-means clustering to extra topics

Some more comments:

in the list vs array section (numpy_intro), I would include a %timeit comparing an operation on lists vs arrays (eg see https://nbviewer.jupyter.org/github/jorisvandenbossche/DS-python-data-analysis/blob/master/notebooks/python_recap/05-numpy.ipynb#Speed)
dataset_intro: exercise: it is not fully clear from the explanation that you need to create a 2D array (or maybe the formatting went wrong for me in jupyter lab, because I see in the plain text it was formatted as a 2D array)
Same exercise: "use a to assign 4, 1 and 3 to array b " -> maybe add "from the third row", as there is a 4 in one of the other rows as well
PEP8: patient0_data[patient0_data>10] -> patient0_data[patient0_data > 10]  (in filtering_data)
The copy or view quiz: we didn't really explain yet the difference I think? I am with having it in there (because it is sometimes an important notion), but just be prepared to explain it at that moment then :)
Operations notebook: "It's also possbile to average over a single axis:". Maybe it would be good to explain "axis" a bit more, as this can be a confusing topic (scipy lectures notes has picture for it: https://scipy-lectures.org/intro/numpy/operations.html#basic-reductions, you could use that or link to it)

A couple of comments:

I would remove the requirements since that we have the check_env.py
We are going to use jupyter lab instead of jupyter notebook. Could make the changes accordingly.
In the command list, you can add the ? to get the help within a notebook.
You should use a tuple to specify the size in np.reshape. It is working to say np.reshape(4, 3). However, if someone wants something like that `np.reshape(4, 3, 3), this will crash.
For the exercise to assign values, we can maybe give strict indications: which indices to use to insert the values.


Suggestion: An example of OpenAI streaming will be very impressive.

ChatGPT is still hot.
An example of OpenAI (https://www.npmjs.com/package/openai) streaming will be very impressive.

but this is a typescript package.
If you have a javascript package on jsdelivr you can probably just import it

import<EMAIL_ADDRESS>met the error:
Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at<EMAIL_ADDRESS>failed to load.
at afunc (eval at Module._make_async_from_code (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:1831), :4:9)
at Module._call_user_code (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:3097)
at __emval_call (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:167800)
at https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.wasm:wasm-function[5667]:0x2c6250
at ret. [as dynCall_iiiii] (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:147198)
at invoke_iiiii (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:3593512)
at https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.wasm:wasm-function[361]:0xd6fed
at https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.wasm:wasm-function[5678]:0x2c6e25
at ret. [as dynCall_viiiiiiii] (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:147198)
at invoke_viiiiiiii (https://jupyter-xeus.github.io/xeus-javascript/xeus/bin/xjavascript.js:8:3596228)
The reference code can be found at https://github.com/search?q="https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fopenai%404.2"+language%3AHTML&type=code&l=HTML.
Please check.

the  import statement import<EMAIL_ADDRESS>is emulate via importScripts since the normal imort syntax cannot work since the user code / the code in the cells is run trough eval / Function.
See https://github.com/jupyter-xeus/xeus-javascript/issues/4
So you might need to experiment with await import

This is working:
const {default: openai} = await import('https://cdn.jsdelivr.net/npm/openai@4.26.0/+esm');
console.log(openai)
globalThis.openai = openai  # this is only needed because some bug/issue with scoping, will be fixed soon

with the latest version you can do  (and may other import statement variants; see the demo notebook)
import OpenAI  from<EMAIL_ADDRESS>

closing this as the import is working


Anonymous credential

Add az_credential_anonymous
-Anonymous credentials can be used with SAS urls
Rename the client_secret_credential to credential_client_secret
Refactor the headers allowing customers to only include the credential they are using
Update the blob client sample to expect SAS token URLs

Passing null implies sending an empty client secret credential.  That is not what we should imply.  Anonymous is stating the credential is anonymous.  That right now means its an empty credential, but that is an implementation detail that might mean something more than NULL in the future.

Passing null implies sending an empty client secret credential.
Not necessary NULL Client Secret credential - it means passing NULL credential, which is never useful.

That right now means its an empty credential, but that is an implementation detail that might mean something more than NULL in the future.
NULL credential, in my opinion is never useful, and I can't imagine a context where it could mean anything meaning or useful, other than to indicate an intent to not authenticate (i.e. use anonymous credential). I can only think of null pointer reference, or anonymous.

That is not what we should imply. Anonymous is stating the credential is anonymous.
Yes, but do customer want the knowledge about that detail? It is an extra mental concept they'll need to know about.

There is mental concept for understanding what it means to pass NULL to be anonymous vs explicitly stating your are anonymous.  Either way you need to understand the anonymous (no auth tokens/callbacks) concept.
I did consider passing NULL vs an anonymous credential.  The reason I elected to use a value was partly driven by the fact other languages explicitly disallow a null credential.
            if (credentials == null)             {                 throw new System.ArgumentNullException("credentials");             }

@antkmsft @JeffreyRichter Updated with changes.


Support Data.Functor.Identity wrappers for adviseRecord and deceiveRecord

Currently only environments with fields wrapped in Data.SOP.I  are supported.

Added in  ba817f9.


Add Menu (drop down)

https://floating-ui.com/docs/react-examples
https://codesandbox.io/s/admiring-lamport-5wt3yg?file=/src/DropdownMenu.tsx
Focus trap
https://medium.com/cstech/achieving-focus-trapping-in-a-react-modal-component-3f28f596f35b

:tada: This issue has been resolved in version 0.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Migrate to AWS AppSync

Description:
The proposal entails migrating data.all's GraphQL endpoint from the current implementation via API Gateway to AWS AppSync, a managed service specifically designed for serverless GraphQL. The current reliance on API Gateway, intended primarily for REST protocols, necessitates the implementation of custom logic deviating from standard GraphQL definitions. This departure poses challenges for GraphQL developers working within the data.all environment, as it diverges from conventional GraphQL practices. The migration to AppSync is to align with standard GraphQL conventions, providing a more seamless experience for developers and addressing troubleshooting difficulties associated with a custom wrapper. This change aims to enhance the compatibility and user-friendliness of data.all for GraphQL developers.
Details:

Schema: Define GraphQL schemas as standard GraphQL schema files. Use a single schema file in AppSync.
Resolvers: Migrate the GraphQL resolvers to AppSync pipeline resolvers.
Datasources: Associate the datasources (e.g. Aurora serverless, OpenSearch...) to the AppSync endpoint. Simplify the datasource when possible (e.g. leverage the AWS data API for Aurora or deprecate Lambda proxys).
Out of the box features: Take advantage of the out of the box features offered by AppSync including caching, authentication/authorization options, logging and monitoring.
Infrastructure: Replace the current API Gateway infrastructure by AppSync resources while maintaining data.all modular principles
Testing: Modify current integration tests to ensure API calls are tested.
Local development: Implement the necessary changes to preserve the local developer experience that allows developers to run data.all on Docker containers.

Benefits:

Simplified developer experience: AppSync is a managed AWS service which is purpose built for GraphQL API hosting. Adopting it would simplify the overall developer experience as responsibilities are delegated to the service instead of being self-managed. Examples include out of the box features such as caching
Standardization: Our current contributors are surprised by the API Gateway setup which they find unconventional and convoluted. This migration will ensure that our backend follows a standardized, best-practice, approach adopted by most other web app projects
Improved debugging/testing: With this migration developers would be able to tap into a vast array of debugging/testing tools that were unavailable to them previously

@dlpzx @petrkalos

For the migration to AppSync we are proposing a 2-phase approach to reduce risks and complexity of the changes.
Phase 1: Lift and Shift + Code First (Planned)
Phase 1 Description
Migrate to AppSync, leaving backend logic as-is. This phase represents a "lift and shift" strategy, transitioning from data.all's current API Gateway REST endpoints to AppSync GraphQL endpoints without significant changes to the backend logic. It involves limited refactoring of the backend/frontend code to make it compatible with AppSync endpoints and removing custom wrapper pieces.
Scope of Refactoring

API handler must remove all logic around HTTP errors/authentication, as they are no longer required for AppSync.

also rework the ReAuth logic

API handler will no longer need to build GQL schema and AST; those are handled and passed as Lambda payload by AppSync.
Decorate all the resolvers as required by the AppSync Direct Lambda Resolver library (mostly automated process see the migration script that generates a patch from the runtime)
Drop the custom gql module library.
Adjustments in CDK

Write the schema using CodeFirst library (mostly manual work but we can automate parts of it)
In this first approach we will only need a Lambda Direct resolver which we will bind it to all resolvable fields of the schema

Code Sample Example
There is a PoC branch that you can see some of the changes required

Using Lambda PowerTools to dispatch AppSync requests to the resolvers, see here
Register a resolver for Query.listOrganizations with a decorator here
Encode resolver responses to dict (they can be scalars, json, SQA Objects) using fastapi’s jsonable encoder here
Defining an Object in CDK using CodeFirst here
Defining the Query.listOrganizations using CodeFirst and pointing to the Direct Lambda resolver here

Phase 2 AppSync Optimization (Not Planned)
Phase 2 Description
Optimize Data.all Backend Code using AppSync Native Components. This phase aims at "rearchitecting and optimization" requiring heavy refactoring to leverage AppSync's native components for backend logic improvement, readability, risk minimization, and performance enhancement.
Scope of Optimization

Breakdown of single backend lambda unit resolver into its functional components using AppSync Pipeline Resolvers.
Improved User Authentication/Authorization using AppSync-native Auth patterns.

Example

Breaking down the CreateDataset API from a Unit Resolver (Lambda) to a Pipeline Resolver with steps for various operations and tasks.

Benefits

Risk Mitigation: Separating migration and optimization into distinct phases mitigates risk.
Fast Incremental Benefits: Quick realization of benefits from moving to AppSync while limiting impact on backward compatibility.
Flexibility: Ability to adapt to changing designs/requirements during the optimization phase.
Iterative Improvements: Enables iterative improvements based on feedback from the open-source community and internal team.
Prioritization: Focuses on addressing migration challenges first and optimization challenges in a separate phase.

Call Outs (Risks)

Extended Overall Development Time: Longer migration timeline due to the phased approach.
Potential for Obsolete Code: Risk that code developed in the initial phase may become obsolete.
Incompatibility with local development: Local development might become incompatible once migrated to AppSync
Schema and code in different places: schema will be defined in CDK and execution logic will be in the backend lambda which might lead to some confusion.

@noah-paige @dlpzx @petrkalos I'm not familiar with AppSync and something I need to learn more about but I'll take you for your word that this is a cleaner solution to implement graphql endpoints on AWS
My only concerns for this design are:

There's no mention of pricing in the design. How is AppSync priced and how can we calculate how much operation costs would increase after switching to AppSync?

A very important bit for us is that we do not use Cognito and integrate directly to OKTA without using Cognito as a proxy. The way this works today is with react-oidc and a custom authorizer on the API gateway. Design should mention how this pathway of authentication will continue to be supported.

You already called this out but local development support is critical. I would like to ask for more details in the design how the local development experience will change with AppSync integration.

Re-auth flow is very important. At the moment design only mentions "rework the ReAuth logic". We should make sure that we have a good idea if we will be able to make that work.

Hi @zsaltys and thanks for your comments

pricing

ApiGateway is 3.5$ per request
AppSync is 4$ per request
It makes AppSync ~15% more expensive, we will be able to close this gap (see points below) or even make it cheaper.

Lambda will have to make significant less work (remember all the ApolloGL logic for initialisation but also for resolving which code to execute)
AppSync natively supports pub/sub, hence we can migrate away from polling and save $$$
In Phase2 we will start using the integration of AppSync with RDS and OpenSearch. Currently we do ApiGateway -> Lambda -> RDS/OpenSearch, with AppSync we can do AppSync -> RDS/OpenSearch hence we will avoid the lambda costs all together. For more details on this have a look here at the supported data sources.

custom authorizer

AppSync supports OpenID custom authorizers out of the box, so I think there won't be any issue with OKTA. There is already a blogpost talking about this integration. I'd appreciate if you could take a look and let me know if it seems reasonable.

local dev support

I will dive deeper into it but on my first few iterations it seems that we won't be able to have a local backend like we currently do with Docker. In my testing I had to redirect my local frontend to the AWS backend and to minimize the time it takes to test changes I was just making updates to specific stacks or just the lambda.

ReAuth workflow

The reason we need to rework it is because the way it currently works is by returning HTTP specifics from the Lambda (302 etc). If we move to AppSync the Lambda won't know anything about HTTP, it returns only a dict with the requested data.
I didn't write any implementation details wrt ReAuth because there are a few ways we can achieve it and we need to take a close look to find which one is the best.

@petrkalos @anmolsgandhi Should we close this issue for the time being? We can always re-open and come back to all the exploration that we did

For now we decided not proceed with AppSync for the following reasons...

Users are used to develop using the local environemnt (docker compose) and with AppSync there is no easy way to continue supporting this.
One of the reasons why one would want to use AppSync is use data sources directly without going through a lambda, dataall have quite complex logic and the amount of queries that can be implement as a resolvers are very few. As a result we will still end up having lambda's for the complex parts and resolvers which will make tracking the logic very hard (some business logic code will leave in CDK and some in Lambda code).


Cassandra String based partition keys

While improving the cassandra catalog towards pushing down predicates with clustering keys i noticed that String-based partition keys are not working for me right now. They show up as a type mismatch of Strings with Slices. Reproducable by e.g.:
select count(*) from timedindex where key='abc';
I fixed that by changing various methods like Marker.getValue (returning toUtf8String if it's a Slice), but probably this is not the right way as there might be slices with different types in it?

@cberner , this issue seems to be closed.


Send disconnect event on node delete

Fixes #34

This solution has some issues.

It generates disconnect events for nodes that were not connected.
It doesn't generate disconnect events for connection connected to this nodes output.

Yes, this is working for me. Thanks a lot for working on it!


latest releases not on npm

This may be intentional, though I don't understand why: the latest release on npm is behind the latest release on github.

:+1: It would be nice if the latest was published on npm

:+1:

npm should have latest now.


Can this plugin display stl file? If so, how to display it?

Hello, I want to display 3d files, Can this plugin display stl files? If so, how to display it?
Here's an stl file
fptest_wolf.stl.zip

Hello, this plugin is based on , so it only support glb / gltf. I prefer mark this issue as "won't fix".
But if you are a Windows user, there is a possible way to help you convert your stl files into glb / gltf files.

Open 3D Builder or 3D Viewer by Microsoft, which maybe system pre-installed.
Open your stl model using 3D Builder or 3D Viewer.
"Save as" your model in glb / gltf format.
Use 's Editor to test your 3D models.


Added starttransition event

Fire an event on every start of a transition, including the current node (or null if not set) and the next element.

What's the matter with this pull request, I'm about to close it to no longer have it bothering arround in my list ....

What's the matter with this pull request, I'm about to close it to no longer have it bothering arround in my list ....

See https://github.com/impress/impress.js/issues/435

Hi @m42e, in an effort to clear up older issues/PRs we are pinging back to know if you are still tracking this request.
To give a little bit of context, recently a decision was made in the project to make the development more active and the first task is to clear up older issues like this one to see if the OP is still interested in keep it going.
By the way, this seems duplicate of the substep functionality proposed on #207

This is also for my plugin https://github.com/m42e/impress.js-progress
I use it to animate the progress bar (iirc)

It seems that the fundamental difference between this PR and #176 is that, for #176, the event is triggered the same way as impress:stepleave, but with difference that it passes the element, while this PR is supposed to execute the impress:starttransition event before each transition starts.
@m42e Can you confirm?

For future reference, here is the relevant part of the plugin above that uses the impress:starttransition event.

FYI, I've added this in my repo when working on the plugin api and adding the progress bar plugin. It's part of this commit:
https://github.com/henrikingo/impress.js/commit/dd85bbb4437f464d9196830d3b90cfc87b39b49b
I didn't add a new event, rather I simply added event.detail.next to the already existing impress:stepleave event. That is sufficient for what the progress bar plugin needed.

event.detail.next for impress:stepleave events is now also available in master


Only print "Sorted Imports for ..." for the files that were touched

Technically the imports in theother files were not sorted, as
they were already sorted.

This is now out in import_sorter v4.6.0. Thanks for the PR!


make install does not copy header files

The header files are not installed correctly after following the installation instructions of the document.

Thanks for reporting the issue and bringing it to my attention.
Actually, running make install currently doesn't install header files at all. The reason is that the SQLite3MultipleCiphers header file sqlite3mc.h depends on the SQLite header file sqlite3.h. Depending on how the build of SQLite3MultipleCiphers is configured, installing the SQLite header file sqlite3.h to a system directory could lead to problems like header file version mismatch with an installed SQLite library.
I'm still undecided how to resolve the issue.

Thank you for your reply. I'm new to C and can't offer useful advice.
My idea is that users should be aware of the effect of make install, and SQLite3MC should also ensure that it is installed correctly. Is it possible to check for file conflicts during make install and report errors to the user? In fact, SQLite3 is statically linked in most cases, so is SQLite3MC.

My idea is that users should be aware of the effect of make install, and SQLite3MC should also ensure that it is installed correctly. Is it possible to check for file conflicts during make install and report errors to the user?

I guess I will have to restructure the directory layout to make it work.

In fact, SQLite3 is statically linked in most cases, so is SQLite3MC.

The typical use case is to include the SQLite3MC source code amalgamation (just 2 files) with one's own project (as I did in my own wxSQLite3 project, for example. Most likely that is the reason no one complained about the failing make install up to now.

The typical use case is to include the SQLite3MC source code amalgamation (just 2 files) with one's own project (as I did in my own wxSQLite3 project, for example.

This is a good example, I think I can use SQLite3MC in my program this way.

After commit 48f2fe1b25e183cd11418a9a8fa9df889193a2c4 this issue should now be fixed.


juicefs format error when using new bucket in ks3

What happened:
2022/07/11 07:08:58.105862 juicefs[720] <INFO>: Meta address: redis://<IP_ADDRESS>/3 [interface.go:400]
2022/07/11 07:08:58.107594 juicefs[720] <WARNING>: maxmemory_policy is "volatile-lru",  we will try to reconfigure it to 'noeviction'. [info.go:88]
2022/07/11 07:08:58.107671 juicefs[720] <WARNING>: AOF is not enabled, you may lose data if Redis is not shutdown properly. [info.go:83]
2022/07/11 07:08:58.108112 juicefs[720] <WARNING>: reconfigured maxmemory-policy to 'noeviction', but it's still volatile-lru [redis.go:2864]
2022/07/11 07:08:58.108393 juicefs[720] <INFO>: Ping redis: 229.573µs [redis.go:2871]
2022/07/11 07:08:58.108791 juicefs[720] <INFO>: Data use ks3://minimax-test-reources/test/ [format.go:437]
2022/07/11 07:09:10.549455 juicefs[720] <FATAL>: Storage ks3://minimax-test-reources/test/ is not configured correctly: Failed to put: SecondLevelDomainForbidden: The bucket you are attempting to access must be addressed using KS3 third level domain.
 status code: 403, request id: [f4kgut80n5pobs6l858qrnmvlkipdfs3] [format.go:440]

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?
Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version: v1.0.0-rc2
Cloud provider or hardware configuration running JuiceFS:
OS (e.g cat /etc/os-release):
Kernel (e.g. uname -a):
Object storage (cloud provider and region, or self maintained): ks3
Metadata engine info (version, cloud provider managed or self maintained): redis
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

You should specify the full endpoint to create a new bucket.  For KS3, the full endpoints are also needed for existing buckets.

You should specify the full endpoint to create a new bucket. For KS3, the full endpoints are also needed for existing buckets.

Ks3 no longer supports path mode for newly created buckets


The "All time" view is slowly becoming messy

The lines are too dense, they should show data with an appropriate range, for example, time coded in 2-week buckets

I would recommend showing all time statistics in 1 month buckets for the clarity (easiest to display). Later also year bucket could be relevant.
For the reference this is how Stripe displays their "all-time" statistics on their dashboard, which is pretty clean looking IMO:


[Feature] Implement Rest URI parser

You past a URI of api rest to transform data.
Example : http://www.example.com/api/products

Work in progress


 Could you please make it by a few separated PR's? This way, it'll be easier to review

Sounds pretty cool, @AlexanderSutul! Could you please make it by a few separated PR's? This way, it'll be easier to review

@egregors sure.

@egregors sure.


Chat script not showing up in my bot emulator v4 preview

See Microsoft/botbuilder-tools#293

We are working on a fix for this in emulator. In the mean time, you can use version 1.0.5 of chatdown tool to render transcripts in emulator.
> npm i -g<EMAIL_ADDRESS>


not support blob:url in chrome44.0 and  android-browser

crash in function [objectURLToBlob]
not supporting blob as responseType on low version browser..eg android <=4.3..(http://caniuse.com/#search=XMLHttpRequest)
Im think you can use canvas2dataURL -> binary.

Actually you can just load the blob:uri using responseType = 'arraybuffer' and it'll be even faster since no FileReader needs to be used afterwards.
I made that in my fork: https://github.com/diegocr/exif-js/commit/248cd8139a7a2f722d053890083e156e031d2f56
@jseidelin Feel free to cherry-pick that commit if you want, or ping me if you want me to send a PR with this and all other of my changes.

Any idea on how to grab Grab Image Comments From ImageMagick
newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>


Added detection of user's system preffered color scheme on load

Changes live when preferred scheme changes as well. Value saved in localStorage has priority on load.
The first time I did anything in Angular so if you have any idea for a better way to implement such a feature, please let me know.
Maybe separate service?

This is great, thank you!
Ideally it would be nice to abstract to a separate service, but I'm okay with keeping this within the context of SettingsService for now :)


Bump SOCI version

Description of the Change
Update SOCI version in order to use failover for database reconnection
Benefits

Recent version of SOCI
New features for simpler database reconnection

Possible Drawbacks
None?

Reopened in https://github.com/hyperledger/iroha/pull/35 since it is not possible to push to this branch


nanod | nixos/nanod: init at 20.0

Motivation for this change
This change introduces nanod, which is the daemon that is used to participate on the nano cryptocurrency network. Much of the derivation is based off the nano-wallet package that already exists in nixpkgs.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Closing due to inactivity from author.


Queue Commands using a Sequential manner.

Command Queue language or simple Commands Queue
To be able to in a single command time queue up multiple commands that can either run sequentially or based on conditions(especially if integrated well).
for example, in my program, I use Mercurial, with Perl for build environment and python to run tests. Sometimes I want to locally run it like
→ C:\Users\project› q-commands (perl build.pl workspace --androidSupport=true >
                                 if("build sucessful"),
                                 [py tests.py --test-project=Android --test-filter=GradelTests]
                                 | hg up -r fixedBranch)

Proposed technical implementation details
personally not sure how can we implement it but this seems super useful and new build dev friendly and overall expandable over time.
Allowing python or other languages that we can build pipelines in to have the ability to provide explicit.terminal.outs
where you can basically have on a function in python that simple returns
   def isBuildSucessful():
         wte.explicitoutbool("isBuildSucessful",True)

and in the terminal we can have
→ C:\Users\project›py main.py .explicit-return("isBuildSuccessful")
→ C:\Users\project› True

Couple things here. It's a good idea! It is also an idea for a shell, not for a terminal, to implement. Terminals deal in text and text only. They don't know that ";" is a command separator, or anything else.
It's such a good idea, though, that almost every shell already has support for something like this...
powershell
chaining commands
./build; ./deploy

conditional
If (./build) {
    Echo "It worked!"
} Else {
    Echo "Beefed it"
}

conditional (powershell 7)
./build && echo "it worked"

bash
chaining commands
./build; echo "it completed"

conditional
./build && echo "it worked" || echo "it failed"


wellknown.md: Clarify WELLKNOWN variable

I spent a few hours fiddling with an invalid challenge, because I had assumed the acme-challenge part was added automatically. This change should help future users not make the same mistake.

Thanks. Just wondering: you wrote must not have a trailing slash, is this a problem you experienced? from what i see it shouldn't really make a difference, but maybe i'm forgetting something...

I haven't had a problem, but I figured it's best not to be ambiguous. If you put a trailing slash it would just write to /the/path//challengefile , which in Linux doesn't matter, but it's best not to have to guess anything imo.

Would you change that section to should not have a trailing slash and also add the missing quotes at the end of the example paths? Otherwise it's OK.

Good catch. done.


[API Overuse Study] Provision a Redis cluster on Kubernetes

This PR addresses #27088 by submitting Infrastructure-as-Code that provisions a Redis cluster on Kubernetes. The purpose of this PR is to provision an architecture requirement of the API Overuse Study (see linked issue for more details). Redis is the chosen backend for storing application state such as the API quota to simplify a stateless Kubernetes deployment workload. It's README includes instructions on expected usage.

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

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
~Update CHANGES.md with noteworthy changes.~
~If this contribution is large, please file an Apache Individual Contributor License Agreement.~

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Thank you @tvalentyn !


minor Add Iceberg hadoop catalog FE unit test

Proposed changes
For easy testing the behavior of Iceberg's HadoopCatalog.listNamespaces()
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall