Add support for host:port:port

This adds support for supplying for example:
"<IP_ADDRESS>:80:80/tcp" to docker-compose.yaml and converting it to it's
corresponding Kubernetes / OpenShift hostIP.
This commit also refactors the loadPorts function of compose.go

1 test doesn't pass, going to fix that :)

Typo with a test a parameter, all good :+1:
Ready for review!

Ping @surajssd @containscafeine @procrypt @kadel @rtnpro for review!

Can this be covered by unit tests?

@cdrage LGTM

@kadel @cdrage Can I write the unit tests for this.

@procrypt Sure why not! :)

Rebased ^^

@cdrage again fix in tests and docs with all the supported ports type will help!

@surajssd @kadel Tests should pass this time (was related to my TCP PR being merged)
Regards for docs, like my other PR, I'm going to push a 1-1 document regarding what we convert between docker-compose => kubernetes/openshift all-in-one-go.

All green :tada:

I meant if you can add go unit tests, instead of shell test to this pr 👼

@kadel Np, I'll update that :)

@kadel Your wish is granted! Unit tests added.

Sweet 👍 thank you.
"Coverage increased (+2.3%) to 51.987%" 🎉 🥇


Bug: .js extensions are emitted for outDir/src/*.ts file import statements

Steps to Reproduce:

Have a project with 2 TypeScript files. One declares a type, another a function with that type as an argument or return statement. (There are other use cases where it breaks, but this is the simplest)
Build it with the snippet in the README.
(After fixing #153 if applicable) observe the output of npm/src.

Expected Behavior:
It builds fine, and imports are done using import { Thing } from "./Thing.ts";
Actual Behavior:
It builds fine and runs fine (can be imported and will work), but the actual source code and typings won't be fine. They will be like this: import { Thing } from "./Thing.js"; (note the .js and not .ts) and TypeScript will infer the type as any.

 I know it's weird, but TS doesn't rewrite specifiers so they need to be what they will be at runtime.

It builds fine and runs fine (can be imported and will work), but the actual source code and typings won't be fine.

Did you actually find something that doesn't work and have an example? Sounds like it's working.

Yup, my bad. Sorry, I had a import { Thing1, type Thing2 } from "...";, which broke it. This had totally nothing to do with it haha.
Fixed by doing two separate imports on my side: import { Thing1 } then import type { Thing2 }.


Cannot build the Hermit application

Hello, I'd like to try out Hermit and thought this might be an appropriate place to start.
I followed the README instructions and downloaded the Rust Standard Library for Hermit for x86_64 and AArch64, I unpacked both of these and ran the respective ./install.sh script. Everything seemed to be fine, no errors reported.
I then ran the README command: cargo build --target x86_64-unknown-hermit but got the following error:
   Compiling hermit v0.7.2
error[E0463]: can't find crate for `std`
  |
  = note: the `x86_64-unknown-hermit` target may not be installed
  = help: consider downloading the target with `rustup target add x86_64-unknown-hermit`

error: cannot find macro `include_str` in this scope
 --> /home/ivanv/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hermit-0.7.2/src/lib.rs:1:10
  |
1 | #![doc = include_str!("../README.md")]
  |          ^^^^^^^^^^^

error: requires `sized` lang_item

For more information about this error, try `rustc --explain E0463`.
The following warnings were emitted during compilation:

warning: $ cd "/tmp/hermit-rs-template/target/x86_64-unknown-hermit/debug/build/hermit-152bff166c6f440c/out/kernel-0.6.6" && env -u CARGO -u CARGO_CFG_PANIC -u CARGO_CFG_TARGET_ARCH -u CARGO_CFG_TARGET_ENDIAN -u CARGO_CFG_TARGET_ENV -u CARGO_CFG_TARGET_FEATURE -u CARGO_CFG_TARGET_HAS_ATOMIC -u CARGO_CFG_TARGET_OS -u CARGO_CFG_TARGET_POINTER_WIDTH -u CARGO_CFG_TARGET_VENDOR -u CARGO_ENCODED_RUSTFLAGS -u CARGO_FEATURE_ACPI -u CARGO_FEATURE_DEFAULT -u CARGO_FEATURE_DHCPV4 -u CARGO_FEATURE_FS -u CARGO_FEATURE_FSGSBASE -u CARGO_FEATURE_PCI -u CARGO_FEATURE_PCI_IDS -u CARGO_FEATURE_SMP -u CARGO_FEATURE_TCP -u CARGO_FEATURE_UDP -u CARGO_HOME -u CARGO_MAKEFLAGS -u CARGO_MANIFEST_DIR -u CARGO_MANIFEST_LINKS -u CARGO_PKG_AUTHORS -u CARGO_PKG_DESCRIPTION -u CARGO_PKG_HOMEPAGE -u CARGO_PKG_LICENSE -u CARGO_PKG_LICENSE_FILE -u CARGO_PKG_NAME -u CARGO_PKG_README -u CARGO_PKG_REPOSITORY -u CARGO_PKG_RUST_VERSION -u CARGO_PKG_VERSION -u CARGO_PKG_VERSION_MAJOR -u CARGO_PKG_VERSION_MINOR -u CARGO_PKG_VERSION_PATCH -u CARGO_PKG_VERSION_PRE -u LD_LIBRARY_PATH -u RUSTC -u RUSTDOC -u RUSTUP_HOME -u RUSTUP_TOOLCHAIN -u RUST_RECURSION_COUNT "/home/ivanv/.cargo/bin/cargo" "run" "--package=xtask" "--target-dir" "/tmp/hermit-rs-template/target/x86_64-unknown-hermit/debug/build/hermit-152bff166c6f440c/out/target" "--" "build" "--arch" "x86_64" "--profile" "dev" "--target-dir" "/tmp/hermit-rs-template/target/x86_64-unknown-hermit/debug/build/hermit-152bff166c6f440c/out/target" "--no-default-features" "--features" "acpi dhcpv4 fsgsbase pci pci-ids smp tcp udp fs"

error: could not compile `hermit` (lib) due to 3 previous errors

Apologies if I'm missing anything simple, I am not super familiar with building Rust projects.

Thanks for the issue. I forgot to bump the toolchain here after releasing 1.74.1, which you have probably installed. That's why cargo was still looking for the 1.74.0 installation, which it could not find.
I opened https://github.com/hermit-os/hermit-rs-template/pull/52 to fix this.
Let me know, if there are any problems after that. :)

Works now, thank you!


relicense as Apache 2.0

Note: As requested by @jdcourcol, also the license only applies to the code moving forward.


Glob imports with alias don't preserve the pattern

Describe the bug
With a vite config like this:
export default {
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
};

And using eager glob import like this:
const jsons =<EMAIL_ADDRESS>{ eager: true });
const json =<EMAIL_ADDRESS>// <- undefined

I expect to get the imported JSON module but instead got undefined. It turns out that the result of glob import is like this:

The alias in the pattern is resolved with absolute path so I cannot access the result using the same pattern(i.e. @/jsons/xxx).
(A temporary workaround would be using relative path instead of alias in the glob import pattern, which is however some kind of limitation.)
Reproduction
https://stackblitz.com/edit/vitejs-vite-e49pbe?file=vite.config.js
Steps to reproduce
No response
System Info
Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 7.17.0 - /usr/local/bin/npm
  npmPackages:
    vite: ^4.1.4 => 4.1.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Note that the config in vite.config.js return a function instead an object in your repro. So adding new properties (like ssr) will be ignored. Changing to return an object will be fine.

I'm migrating a Webpack-based project where the original case is like this:
<EMAIL_ADDRESS>
Ideally it should be equivalent to this in Vite:
<EMAIL_ADDRESS>{ eager: true<EMAIL_ADDRESS>
Iterating works but is awkward, like:
const imgs =<EMAIL_ADDRESS>{ eager: true })
Object.entries(imgs).find(([path, content]) => path.endsWith(`/${tabIndex}.png`))

It seems the current behavior is causing a bug with new<EMAIL_ADDRESS>import.meta.url) (#10597).

I would mention that the output generated glob chunks can wind up being truly massive when uncompressed due to long repeated key prefixes - which is a potential performance concern.
Running into a similar issue right now with large icon sets causing multiple megabyte chunks just for the dynamic key lookup mappings - and they're about 80% smaller if we can shorten the key prefix.

A case I just hit:
const content = import.meta.glob(`$lib/content/**/*.md`, {
  eager: true,
  query: '?url'
});

for (const path in content) {
  // I expected this to work, but it doesn't
  const [category, slug] = path.slice('$lib/content/'.length, -'.md'.length).split('/');

  // ...more logic...
}

It's workaroundable, but it definitely feels like a bug!

Hit the same case yesterday, I was tired of dealing with relative paths (lots of ../../../) , tried using the alias and it returned nothing. Specs: 5.0.3 and Node 20.11.1


fix(deployment): change version in helm

Summary
change version of images in helm values.yml
Does this close any open issues?
closes #3479
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

fixed by #3494


chore(host): update wrpc-transport-nats 0.11.5

Signed-off-by: Brooks Townsend<EMAIL_ADDRESS>Feature or Problem
This PR makes a small change to update wrpc_transport_nats to 0.11.5, just changing an error type. This does result in faster invocations, since that version drops a message from each wrpc invocation.
Related Issues

Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

Taken care of in #1614


Release Lyra_Pro_74B model on Hugging Face

Hi @zs-zhong,
Niels here from the open-source team at Hugging Face. I discovered your work through Hugging Face's daily papers as yours got featured: https://huggingface.co/papers/2412.09501.
The paper page lets people discuss about your paper and lets them find artifacts about it (your models, datasets or demo for instance), you can also claim
the paper as yours which will show up on your public profile at HF.
It'd be great to make the Lyra_Pro_74B checkpoint available on the 🤗 hub, to improve their discoverability/visibility.
We can add tags so that people find them when filtering https://huggingface.co/models.
Uploading models
See here for a guide: https://huggingface.co/docs/hub/models-uploading.
In this case, we could leverage the PyTorchModelHubMixin class which adds from_pretrained and push_to_hub to any custom nn.Module. Alternatively, one can leverages the hf_hub_download one-liner to download a checkpoint from the hub.
We encourage researchers to push each model checkpoint to a separate model repository, so that things like download stats also work. We can then also link the checkpoints to the paper page.
Let me know if you're interested/need any help regarding this!
Cheers,
Niels
ML Engineer @ HF 🤗

Hi Niels,
Thanks for reaching out and for featuring our paper on the Hugging Face papers page! 🤗 It’s great to see the community engaging with our work.
We’re currently preparing to upload the Lyra_Pro_74B model to Hugging Face. Due to the model’s size and storage requirements, we need a bit more time to organize its experimental results and checkpoints. We aim to have everything ready and released by the end of this month or early next month.
We appreciate the resources and guidance provided for the upload process—this will be very helpful.
Looking forward to making the model accessible to the community!
Cheers👏,
Zhisheng

Thank you!
Btw I noticed the models don't have a model card for now, so I opened https://huggingface.co/zszhong/Lyra_Base_9B/discussions/1, which also link them to the paper page

Thanks for your feedback!
We will work on completing the related model cards as soon as possible. We appreciate your support!


Implements AMQP registration broadcasting and tests

Addressing https://github.com/deginner/swagxample/issues/5
Broadcasts new user/userkey and coin registration to RabbitMQ using pika.
And tests the messages were sent to RabbitMQ's queue.

Possible room for discussion: Should the swagxample server run without RabbitMQ running on local machine, give a warning and not broadcast registrations or just refuse running? The way it is now, it just doesn't run without a RabbitMQ server running locally.

Swagxample tests are now passing (not referring to travis) with bitjws-sockjs-server on branch mrest-to-bitjws since message formats are now compatible.

Things seem to be working as should but my function "broadcast_amqp" may change what parameter to expect to make things less confusing.
"broadcast_amqp" function on server.py is being called with the object as a parameter then it prepares the message like this:
message = current_app.bitjws.create_response(new_object).data
And on test_client.py it's tested by using validate_deserialize on the broadcasted data:
msg = bitjws.validate_deserialize(amqp_msg, requrl='/response')[1]
Maybe the way broadcast_amqp works is confusing by creating yet another bitjws response.
I may change this to expect the bitjws response data if it gets clearer.


Use method call rather than RPC when the instance is running locally for state tracker

Description
A simple optimization for both New-server and cluster.
Use method call rather than RPC when the instance is running locally for state tracker
Test locally:

Coverage increased (+0.01%) to 42.51% when pulling de1d165b4838fd87c49d330e55b1af6fe3f484c7 on xingtanzjr/discard_rpc_new_server into 786c698613ad3f31b41d8eb85a7b589f222347b1 on master.


POL-274 - Google Idle Instances Update for Missing Metrics

Description
Move CPU calculation to scripts as opposed to JMESpath.
Issues Resolved
Resolves an issue when a project has no stackdriver data.
Contribution Check List

[x] All tests pass.
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] New functionality has been documented in CHANGELOG.MD

          1 Warning

:warning:
Should this include readme changes

  Generated by :no_entry_sign: Danger


Unable to see Trigger Body for Oracle Database.

I am unable to see trigger body using the navigator in DBEAVER but I am able to see it when i use the below. Any pointers would be helpful.
SELECT trigger_body
FROM SYS.ALL_TRIGGERS

Do you see any errors? Maybe there is something in Error Log view?

No. Nothing in the Error Log.

DBeaver reads trigger body from ALL_SOURCE.
SELECT TEXT FROM SYS.ALL_SOURCE
WHERE TYPE='TRIGGER' AND OWNER='SCHEMA_NAME' AND NAME='TRIGGER_NAME'
ORDER BY LINE


FilesV2 crashes when more than one tab is open

Description
When I have FilesV2 open with more than one tab, it takes a toll on the program. It won't open the file.
Instead, it will crash FilesV2 and then only after you restart FilesV2, will it work.
This also causes FilesV2 to use a LOT of memory, as seen in the screenshot below.

270MB is hardly acceptable memory usage for having 2 tabs open.
Steps To Reproduce
I'm not able to reproduce it since it happens randomly, but somehow EXACTLY when I need it to function properly.
Requirements
It shouldn't crash when more than one tab is open.
Files Version
<IP_ADDRESS>
Windows Version
10.0.19045.3693
Log File
debug.log

Thanks for the report, 270mb is normal usage but we are always try to make performance better and use less system resources.
As you said Files is crashing for you what are you doing when it crashes as it's unlikely caused by having the two tabs open. Are you attempting to open a file, if so what file is it?

Hi Josh!

Thanks for the report, 270mb is normal usage but we are always try to make performance better and use less system resources.

Oh. Okay, my bad. It seems pretty high tho... Is it because it's a UWP app?

As you said Files is crashing for you what are you doing when it crashes as it's unlikely caused by having the two tabs open. Are you attempting to open a file, if so what file is it?

Yeah, any file tbh. I usually have to open Excel files, but even a text file, an MP4 video, etc. Anything can trip it up.

It's a WinAppSDK/WinUI based app. Lot of memory issues come from Microsoft unfortunately. There's a know issue for excel files #13609 but no know cause right now.

It's a WinAppSDK/WinUI based app. Lot of memory issues come from Microsoft unfortunately. There's a know issue for excel files #13609 but no know cause right now.

My issue is for almost any file type, not just Excel.

@thisisartman can you see if the file works to open if you run Files as admin?

@yaira2 I will have to check for a while since I don't know when this will happen.


Cannot get infinite scroll to work with simplest implementation

Hi there,
I am trying the simplest implementation I can think of and infinite-scroll.js doesn't seem to want to to work.
Here's my implementation in the index file:

  {% for post in site.posts limit: 10 %}

    {{ post.title }}

  {% endfor %}

And here's the output HTML on build:
<!DOCTYPE html>

    <title>Page Title</title>

    <link href="/css/home.css" rel="stylesheet">

      Veronica Mars

      Mr. Peabody & Sherman

      Need for Speed

      Blackfish

      Enemy

      300: Rise of an Empire

      Grabbers

      Non-Stop

      Omar

      The Missing Picture

Can you see why infinite scroll might not be working? I have no console errors, so the links to the .js files are good.
Thanks for any help!

need it to be  or   and the second one?  json file >>
{
"posts" : [
{% for post in site.posts %}
"{{ post.url }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
? it's mess...


Use openSUSE Leap 15.3 to build the policy-server

The resulting image will also be based on OpenSUSE Leap 15.3.

After a build, this is the trivy result:
ereslibre@desktop ~/p/k/policy-server (image-rebase) [1]> trivy i policy-server:latest
2021-06-03T14:33:22.207+0200	INFO	Detected OS: opensuse.leap
2021-06-03T14:33:22.207+0200	WARN	This OS version is not on the EOL list: opensuse.leap 15.3
2021-06-03T14:33:22.207+0200	INFO	Detecting SUSE vulnerabilities...
2021-06-03T14:33:22.208+0200	INFO	Number of PL dependency files: 0
2021-06-03T14:33:22.208+0200	WARN	This OS version is no longer supported by the distribution: opensuse.leap 15.3
2021-06-03T14:33:22.208+0200	WARN	The vulnerability detection may be insufficient because security updates are not provided

policy-server:latest (opensuse.leap 15.3)
=========================================
Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)

+----------+---------------------+----------+-------------------+---------------+--------------------------+
| LIBRARY  |  VULNERABILITY ID   | SEVERITY | INSTALLED VERSION | FIXED VERSION |          TITLE           |
+----------+---------------------+----------+-------------------+---------------+--------------------------+
| libcurl4 | SUSE-SU-2021:1762-1 | MEDIUM   | 7.66.0-4.14.1     | 7.66.0-4.17.1 | Security update for curl |
+----------+---------------------+----------+-------------------+---------------+--------------------------+


Address api review comments for Default*Factory

This PR will address the api review comments:

Change setDefaultAzureCredential() to setDefaultCredential
Remove the static inner class from DefaultServiceBusNamespaceProcessorFactory.

API changes have been detected in com.azure.spring:spring-messaging-azure. You can review API changes here

API changes have been detected in com.azure.spring:spring-messaging-azure-eventhubs. You can review API changes here

API changes have been detected in com.azure.spring:spring-messaging-azure-servicebus. You can review API changes here

API changes have been detected in com.azure.spring:spring-cloud-azure-autoconfigure. You can review API changes here

API changes have been detected in com.azure.spring:spring-cloud-azure-stream-binder-servicebus. You can review API changes here

API changes have been detected in com.azure.spring:spring-cloud-azure-stream-binder-eventhubs. You can review API changes here

API changes have been detected in com.azure.spring:spring-messaging-azure-eventhubs. You can review API changes here


add chart lint workflow

Signed-off-by: calvin0327<EMAIL_ADDRESS>What type of PR is this?
/kind feature

What this PR does / why we need it:
we need a ci workflow to lint chart pkg. the workflow inclode:
ct changed: check whether file has changed in chart dir.
ct lint: verify that YAML files conform to the specification.
ct install: intall a clusterpedia release on kind cluster.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

@Iceber /cc

/lgtm The official check provided by helm seems to be quite useful.


darwin x86_64 syscall numbering is incomplete

the constants have (2 << 24) blindly added, which is only valid for unix (not mach, etc)
see https://github.com/lunixbochs/usercorn/issues/91

Right. Are you thinking using an enum to specify this behavior and just use it to repress possible bit shift values?


Athom Smartplugs V2 & V3 no longer display measurements in webserver page since ESPHome 2024.8.1 update

The smartplugs work ok : sensor values and diagnostics are shown correctly in HA Settings and on dashboard. The webserver display however fails to show the sensor messages. Only these warnings are shown
Time	level	Tag	Message
11:36:07	[W]	[component:237] Component preferences took a long time for an operation (65 ms).
11:36:07	[W]	[component:238] Components should block for at most 30 ms.
11:41:08	[W]	[component:237] Component preferences took a long time for an operation (62 ms).
11:41:08	[W]	[component:238] Components should block for at most 30 ms.
11:46:08	[W]	[component:237] Component preferences took a long time for an operation (62 ms).
11:46:08	[W]	[component:238] Components should block for at most 30 ms.
HA ESPHome logs don't show any errors. What could be wrong ? Is this because the sensor fails to respond within a certain timeframe?  If yes, is there anything that can be added to the yaml config to make this work again ?

G he age you set log_level to DEBUG?

The component time error is a known issue, the last two lines in this log setup gets rid of them.
logger:
level: ${log_level}
baud_rate: 0
logs:
component: ERROR # Fix for issue #4717 "Component xxxxxx took a long time for an operation"

G he age you set log_level to DEBUG, if you want the sensor messages every 10sec?

after changing loglevel to DEBUG, the sensor messages are back. Thanks :1st_place_medal:


fix: registerRegEx regex may not start with System.register

fix #16

Thanks, makes sense.

@long-woo do you have any interest in assisting with maintaining here? I can run a release, but Babel also needs to be updated as well ideally etc.

Thanks for the trust, I can maintain it

@long-woo thank you, you should have a maintainer invite for the repo now. Just let me know when you'd like to publish to npm and I can assist with that / give you npm access as well.


Extract a setFovY method that can be used to dynamically

adjust the fovY by apps (via reflection)
GearVRf-DCO-1.0-Signed-off-by: Mihail Marinov<EMAIL_ADDRESS>

Will merge tomorrow morning


Make withWidth public

import {
	AppBar,
	Button,
	Dialog,
	Divider,
	Icon,
	IconButton,
	List,
	ListSubheader,
	Tab,
	Tabs,
	Toolbar,
	Typography,
	withStyles,
	withWidth
} from 'material-ui-next';

leads to
/src/features/UserPlanEdit/UserPlanEdit.js
295:4-13 'material-ui-next' does not contain an export named 'withWidth'

It would be nice to have an ability to import all the stuff from 'material-ui'

Sure, let's make this component public.

@rogovdm Do you want to give it a shot?


ODK Tables : Sort Order Key Added

Sister PR for ODK Tables table sort feature.
https://github.com/opendatakit/tables/pull/66
@jbeorse @wbrunette @linl33
Please review.

runtests


Marshmallow permission request is never shown.

Please take a moment to fill out the following (change to preview to check or place x in []):
This is a

[X] Bug
[ ] Feature Request

Which plugin does this impact:

[ ] Battery
[ ] Connectivity
[ ] Contacts
[ ] DeviceInfo
[ ] ExternalMaps
[X] Geolocator
[ ] Media
[ ] Permissions
[ ] Settings
[ ] Text To Speech
[ ] Vibrate
Other:

Version Number of Plugin: 3.04
Device Tested On: Nexus 6P
Simulator Tested On:
Expected Behavior
Ask for Runtime Permission
Actual Behavior
Does not ask me for Permission.
Steps to reproduce the Behavior
I am currently on a Nexus 6P. My location is turned on. I uninstall the app. And press debug in xamarin studio. When I press the button in my app for location, it never prompts me for Location permission. For some reason the app already has permissions. Even if I go into the app and disable the permission from within the phone. I never see a prompt asking me whether or not I want to allow location. Am I missing something.
Structure of app. I call getLocationAsync from the PCL. My activity calls it via ThreadPool.QueueUserWorkItem().

The issue was that my app was not correctly building for api version 23. Even though I had use latest idk (23), the app was saying it was built for an older framework. Once I changed the target like mentioned in the following link, everything worked great. https://blog.xamarin.com/is-your-app-ready-for-android-marshmallow/


readyImagery is not actually ready

Reported on the forum: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/Q2qkuxWVj4s
There's a crash in GlobeSurfaceTileProvider when you zoom into some of the tiles:

it happens when zoomed between tiles with X coordinates 2047, 0 and any of the poles, as well as the opposite side of the globe - between tiles 1023, 1024 and any of the poles (places where one side is loaded and other is still blurry and loading)

It only happens the first time the tiles are loaded in, not after they are cached.  I can reproduce it by opening a new incognito window and zooming in and out on the top row of numbers near the north pole.
var viewer = new Cesium.Viewer('cesiumContainer', {
    baseLayerPicker : true
});

var layers = viewer.imageryLayers;
var coordinateTiles = layers.addImageryProvider(Cesium.createOpenStreetMapImageryProvider({
    url : 'http://commercialplanet.eu/cesium/data6/coordinatestiles',
    maximumLevel : 11,
    credit : ''
}));

    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at addDrawCommandsForTile (http://localhost:8080/Source/Scene/GlobeSurfaceTileProvider.js:1097:27)
    at GlobeSurfaceTileProvider.endUpdate (http://localhost:8080/Source/Scene/GlobeSurfaceTileProvider.js:396:17)
    at QuadtreePrimitive.update (http://localhost:8080/Source/Scene/QuadtreePrimitive.js:306:32)
    at Globe.update (http://localhost:8080/Source/Scene/Globe.js:516:21)
    at updatePrimitives (http://localhost:8080/Source/Scene/Scene.js:2201:26)
    at executeCommandsInViewport (http://localhost:8080/Source/Scene/Scene.js:2106:9)
    at updateAndExecuteCommands (http://localhost:8080/Source/Scene/Scene.js:1974:17)
    at render (http://localhost:8080/Source/Scene/Scene.js:2404:9)
    at Scene.render (http://localhost:8080/Source/Scene/Scene.js:2442:13)

@kring this sounds related to your fix in #4763.  Any ideas?

Was this fixed in 1.29?
From CHANGES.md:

Fixed a bug that could cause a "readyImagery is not actually ready" exception with some configurations of imagery layers.

@pjcozzi I was able to reproduce this in master after that was merged

Yeah I just tested with 1.29 too, it's still not fixed


Bug with gulp serve + react-three-fiber

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
Windows
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[X] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version : Chrome 96
SPFx version : 1.13.1
Node.js version : 14.16
Windows version : 11

Describe the bug / error
Hi,
I wanted to make my first example webpart for using threeJS / React-three-fiber (https://github.com/pmndrs/react-three-fiber).
I configured the webpart and started coding, but gulp serve do not work correctly, after launching debug mode on the browser, the browser blocks (infinite loop?).
Not finding the error, so I built the package to test a deployed version and it works.
I would need help because I don't see where the problem is.
If anyone could test on another environment (mac / linux) or if you have any idea, I am interested.
I have tested with and without fast-serve, i have the same result.
I have tested on another browser, i have the same result.
Packaged version for test
spfx-react-threejs-sample.zip
gitHub repos
https://github.com/PooLP/spfx-react-threejs-sample
Steps to reproduce

launch gulp serve
launch sharepoint for debug webpart
add the webpart

if  webpart block on add step, add the package on your app catalog, and add webpart in normal use (no debug) and launch debug after
Expected behavior
it's my first exemple for PnP, i would like to finish it ^^

It would be good to provide more information.  Where is the infinite loop, what's the callstack, anything show up in the console, anything in the network trace, what have you done to debug and diagnose so far, etc.

Where is the infinite loop => on first load, in debug mode (only sharepoint interface appear, browser block after)
what's the callstack => i can't verify, browser block
anything show up in the console => nothing, browser block
anything in the network trace => nothing, browser block
I have no solution for debugging, gulp serve blocks browser.
the only test that worked, is the packaged version work correctly, i have the problem only in debug mode.
is there a solution to put a debug mode on webpack / gulp task or trace before the first loading? fiddler, but what should i watch?
If i'm remove react-three-fiber elements, all work in debug, but is not a solution.
i'm use this lib on other projects without problem, but is not spfx projects.

@patmill Unfortunately, I do not have more information to provide, the browser freeze before being able to do anything.
Could you test on your side? it may be my environment, even if I have no problem with all my other SPFx projects.

So in general, we don't investigate why random package isn't working.  If you can point out why it's not working, we can look at fixing it.  That said, I took a look at your sample github project, and I'm puzzled by this line in your package.json file:
"react-three-fiber": "5.x.x"
That doesn't look like a valid reference.

for "react-three-fiber": "5.x.x" this is another way to get the latest fixes for a specific version (5.x.x => ~5.0.0)
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#dependencies
I think I have trouble making myself understood, my English is not very good.
I don't ask that we debug for me, but that we help me to find a solution to debug.
The problem only occurs in debug mode. All the code works once the package is created.
but in debug mode, the browser freezes before there is the slightest error or possibility of debugging on the browser side.
So I'm asking for help with:

Check if other users on an environment other than Windows 11 encounter the problem to eliminate a platform problem
Ideas so that I can trace the problem, because I don't know how I can debug a problem related to the debug mode of the SPFx

PS : react-three-fiber is not a little ramdom package (https://github.com/pmndrs/react-three-fiber) 2.6M of download.
I'm use version 5.x.x because it is compatible with typescript 3, newer versions must be compatible with Typescript 4, but SPFx is not compable whitout modification, it could have side effects for debugging. I will modify this when the debug problems are fixed.

That package isn't called react-three-fiber in npm (at least from what I see).  It is @react-three/fiber - https://www.npmjs.com/package/@react-three/fiber

both works, react-three-fiber it's the old name. the problem does not come from here.

The problem seems to be that the ReactDebugCurrentFrame$1 variable is undefined, so the call to setCurrentFiber throws an exception.  In the exception handler, there is an infinite loop where it tries to set the Current Fiber (via resetCurrentFiber), which throws an exception because ReactDebugCurrentFrame is undefined, which triggers the exception handler.
You can debug this by running the workbench, popping open the picker, then setting "break on all exceptions".  The 1st exception has to do with trying to parse a version, then the frame errors start getting triggered.
Searching online for 'react-three-fiber ReactDebugCurrentFrame' returns this as the #1 hit - https://github.com/facebook/react/issues/14137
Reading through that, the workaround suggested is to set the NODE_ENV variable to production, not development.  Doing that resulted in a webpart showing two rotating red squares.

Thanks @patmill.
I still have gaps on the debugging tools, thank you for helping me and finding a solution.
I have corrected repos with set the env mode on package.json sript line :
    "serve": "gulp clean && gulp bundle --custom-serve --max_old_space_size=4096 && cross-env NODE_ENV=production fast-serve",

This is while waiting for the react-reconciler lib to be fixed.


Reduce allocations in Link/Script TagHelper

Allocation data from BasicViews:

Looking here: https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs#L259
We create a new DefaultTagHelperContent object which we fill with content, and then ultimately add to the output builder. The output builder already gets recycled, we can just use it directly.

@mnltejaswini - please work with @dougbu to answer any questions you have about this code

FYI the fix for this bug will likely not change the allocations @rynowak showed above. Instead this will save initial DefaultTagHelperContent and List<object> allocations. Some DefaultTagHelperContent somewhere will still be expanded. But it's a nice fix and simplifies the code :smiley_cat:

@dougbu  It did reduce the allocations in the code path pasted by @rynowak
Scenario:  https://github.com/aspnet/Performance/tree/dev/testapp/BasicViews
loadtest.ps1
Before Optimization

After Optimization


Add Black pre-commit hook

Fixes #20

Yes, it is enough for now :) isort would be a great addition too if you decide on it. I never think about where an import goes, I just write it at the top level and let isort do the job for me.

@alin23 Cool! Thanks for your feedback.


[Centralized Logging] ControlTower sample configuration breaks logging

Using the below reference configuration for ControlTower (uncommented):
https://github.com/aws-samples/landing-zone-accelerator-on-aws-for-tse-se/blob/bd511d46aee84dbffd33c9052e5800223bc43419/config/global-config.yaml#L47-L57
With managementEvents: false
https://github.com/aws-samples/landing-zone-accelerator-on-aws-for-tse-se/blob/bd511d46aee84dbffd33c9052e5800223bc43419/config/global-config.yaml#L58-L71
Expected Behaviour:

For CreateLogGroup API requests, this eventrule is fired applying subscription, retention etc.
No Events Matched

CreateLogGroup invoked multiple times

Triage:

Organization Cloudtrail ( created by Control Tower, management events only) - missing
- Investigation shows deletion of the ControlTower Managed Cloudtrail.

{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "XXXXXXXXX:CloudTrailOrganizationReplication",
        "arn": "arn:aws:sts::YYYYYYYYY:assumed-role/AWSServiceRoleForCloudTrail/CloudTrailOrganizationReplication",
        "accountId": "YYYYYYYYY",
        "accessKeyId": "ASIAQWHCP4ZXBB5VHLDF",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "XXXXXXXXX",
                "arn": "arn:aws:iam::YYYYYYYYY:role/aws-service-role/cloudtrail.amazonaws.com/AWSServiceRoleForCloudTrail",
                "accountId": "YYYYYYYYY",
                "userName": "AWSServiceRoleForCloudTrail"
            },
            "attributes": {
                "creationDate": "2024-12-09T06:37:19Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "cloudtrail.amazonaws.com"
    },
    "eventTime": "2024-12-09T06:37:19Z",
    "eventSource": "cloudtrail.amazonaws.com",
    "eventName": "DeleteTrail",
    "awsRegion": "ap-southeast-2",
    "sourceIPAddress": "cloudtrail.amazonaws.com",
    "userAgent": "cloudtrail.amazonaws.com",
    "requestParameters": {
        "name": "arn:aws:cloudtrail:ap-southeast-2:XXXXXXXX:trail/aws-controltower-BaselineCloudTrail"
    },
    "responseElements": null,
    "requestID": "5575dc27-7598-4269-9f8e-40033170e564",
    "eventID": "23ea730f-3d69-46a3-afdc-2d79603e1be9",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "YYYYYYYYY",
    "eventCategory": "Management"
}

This is contradictory to organizationTrail:

It is important to note that the CloudTrail configured by AWS Control Tower Landing Zone at the organization level is different from the CloudTrail deployed by the solution. In the event that AWS Control Tower Landing Zone and Solution defined CloudTrail are enabled, two cloud trails will be created.

Organization Cloudtrail (created by LZA, exclude management events) - present

Side Effect - concerning for governance and compliance perspective:

Management Events are not delivered to the default eventbus - breaking event driven architectures to ensure centralised logging and potentially other customer derived patterns

Confirmed temporarily modifying organizationalTrail to include management events produces events in the default eventbus

Rationale behind two Organization trails isn't clear - disabling Organization Trail in Control Tower and enabling Management Events in LZA would reduce complexity

Hi Richard,
Thanks for raising this issue. We will investigate to seen when this behaviour changed for Control Tower deployments. Can you share which version of LZA you used for the initial install/deployment?

When you view the Control Tower settings, what is the value for CloudTrail?
e.g.

Hello @rjjaegeraws ,
Control Tower was created separately than LZA, as LZA cannot manage control tower if there is more than 1 account in the Organization - For AWS Control Tower based installation
HOME_REGION: ap-southeast-2
TSE Config version: configVersion: 1.10.0-a
AWS LZA Engine: v1.10.1
Control Tower Configuration (created through Cloudformation):
{
    "landingZone": {
        "arn": "arn:aws:controltower:ap-southeast-2:MASTER_ACCOUNT:landingzone/2GHT5S63CON41WIU",
        "driftStatus": {
            "status": "IN_SYNC"
        },
        "latestAvailableVersion": "3.3",
        "manifest": {
            "accessManagement": {
                "enabled": true
            },
            "securityRoles": {
                "accountId": "SECURITY_ACCOUNT_ID"
            },
            "governedRegions": [
                "ap-southeast-2"
            ],
            "organizationStructure": {
                "sandbox": {
                    "name": "Sandbox"
                },
                "security": {
                    "name": "Security"
                }
            },
            "centralizedLogging": {
                "accountId": "LOGARCHIVE_ACCOUNT_ID",
                "configurations": {
                    "loggingBucket": {
                        "retentionDays": 365
                    },
                    "kmsKeyArn": "arn:aws:kms:ap-southeast-2:MASTER_ACCOUNT:key/6482468a-74e4-4ae4-8301-33c9125b0455",
                    "accessLoggingBucket": {
                        "retentionDays": 3650
                    }
                },
                "enabled": true
            }
        },
        "status": "ACTIVE",
        "version": "3.3"
    }
}

KMS key mentioned above created following configure KMS keys for control tower, therefore policy looks like:
{
    "Version": "2012-10-17",
    "Id": "kms-key-policy",
    "Statement": [
        {
            "Sid": "Allow administration of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::MASTER_ACCOUNT_AWS_ID:root"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion",
                "kms:UntagResource",
                "kms:TagResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow Config to use KMS for encryption",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow CloudTrail to use KMS for encryption",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:aws:cloudtrail:ap-southeast-2:MASTER_ACCOUNT_AWS_ID:trail/aws-controltower-BaselineCloudTrail"
                },
                "StringLike": {
                    "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:MASTER_ACCOUNT_AWS_ID:trail/*"
                }
            }
        }
    ]
}

Thanks Richard,
Could you share a screenshot of your Control Tower settings that shows the CloudTrail config? In the root management account and in the home region, navigate to Control Tower, 'Landing zone settings'.
See above for a similar screenshot.

Hi @rjjaegeraws ,
Apologies for that - I glanced over the (specifics of the) request and assumed the API response would have all the details you were after. Potentially worth feedback to the Control Tower team that it doesn't supply the Cloudtrail details.

Thanks -- so the configuration shows that CloudTrail should be enabled.
Because the event you pasted above shows the service role, cloudtrail.amazonaws.com/AWSServiceRoleForCloudTrail executing the DeleteTrail for the Control Tower trail (/aws-controltower-BaselineCloudTrail), I recommend opening an AWS Support case to further investigate why the control tower trail was deleted. If the role name had a LZA prefix then that would suggest that the LZA executed that API -- which isn't the case here.

Thanks @rjjaegeraws agreed it is not the LZA codebase.
I raised a support case originally, being bounced between EventBridge and CloudTrail teams until I figured it out myself (why the Lambda was not firing).
Hoping you can also direct the inquiries internally given that customers/partners using the TSE config  are likely not having their logs successfully included in their central logging (bucket) repository

Thanks. Our TSE config lab environments do show the 2 cloudtrails configured as expected, so logs are being sent to the central logging bucket. If you are able to report back any findings this will help us investigate your scenario further.
And just to clarify, your statement "noting that Organizational Trail is set to disable - which I am not expecting"  -- where do you see this 'disable' setting?

From the Configurations -> AWS Cloudtrail Configuration


Editing Token Properties for Cards on Canvas

### Description
Currently, when placing cards on the canvas using the Card Tokens module, it is not possible to edit the token properties for these cards. This limitation prevents users from customizing options such as displaying the card name or removing vision settings (image 1).
image 1

### Proposed Solution
I would like to suggest adding a feature that allows users to edit token properties for cards placed on the canvas. Specifically, it would be helpful to have a dedicated section where users can modify the token's name. Furthermore, providing an option to set a default light source for the cards could be an interesting addition for visual effects.

You mean like "Configure Default Token Settings" in the Core settings? I understand that systems might overwrite that, but I cannot do much about that in what I try to keep a system agnostic module.

You mean like "Configure Default Token Settings" in the Core settings? I understand that systems might overwrite that, but I cannot do much about that in what I try to keep a system agnostic module.

Yes, something like this. But, not for all options. Just for the options that are standard. Example: Display Name

Also, make Vision Enabled off.

But, there is another use case. Allow to add animated light.
https://github.com/xaukael/card-tokens/assets/4999783/049e36a4-46d1-41d3-855e-2edd420c1d6b

that last bit seems like leaning toward custom tokens for every card. As for vision, I assumed that cards would be most often utilized on scenes without vision. Formatting the module in such a way that it would fit many use cases as you seem to be suggesting would increase it's complexity significantly and would be unlikely to be widely used. Setting up world scripts to handle your specific demands seems much more reasonable.

that last bit seems like leaning toward custom tokens for every card. As for vision, I assumed that cards would be most often utilized on scenes without vision. Formatting the module in such a way that it would fit many use cases as you seem to be suggesting would increase it's complexity significantly and would be unlikely to be widely used. Setting up world scripts to handle your specific demands seems much more reasonable.

Yes. World scripts can solve. But, there is some configurations that should be in this module. At least:

name control
vision enabled: don't need an option, but should be off
token dimesions: this would let the user change the standard size. I think its even related to https://github.com/xaukael/card-tokens/issues/2

I am unsure what you mean by name control. Currently the name shows on owner hover. Are we just talking about adding an option for owner always? I cannot imagine the other options would ever be desirable.
I will add settings the default dimensions for cards without them set.
I will default vision to be off.

I am unsure what you mean by name control. Currently the name shows on owner hover. Are we just talking about adding an option for owner always? I cannot imagine the other options would ever be desirable.
The cards have the name of them showing on mouse hover by default. This allow the player to identify a card without need to flip it. That's why I made that world script. I made a PR because it's very useful.
cardToken.updateSource({
sight: {
enabled: false // disable vision
},
displayName: 0
});

the name would only show if the player owns the card, which means it is in a hand they own, which means they already know what the card is, and could double click the card to open the sheet.

Yes. Worked. But. it's necessary to create one discard pile for each player. You can't have a common discard pile. Tks

This may be my not understanding the system you are using, but isn't a discard pile for cards you are not playing/interacting with anymore?

This may be my not understanding the system you are using, but isn't a discard pile for cards you are not playing/interacting with anymore?

When using cards in the game, the standard practice is to move them from the hand to a discard pile. In Foundry VTT, you can create a shared discard pile that all players can see, which might reveal the cards on the table. To maintain privacy, it is recommended to create a separate discard pile for each player, ensuring that only the respective player has access to their own pile. This is not specific to any particular system but rather a common approach in Foundry VTT.

That is too vague for me to formulate a solution. Please detail the specific situation.

That is too vague for me to formulate a solution. Please detail the specific situation.

Finding a comprehensive solution for preventing shared pile access would indeed require extensive development efforts.
Considering the complexity involved, I can suggest a few simpler alternatives:

By default, you can implement a solution to hide the card names, I'm using a world script. However, this may not entirely prevent players from manually opening the shared pile and viewing its contents.

Some card modules automatically create individual hands and discard piles for each player within Foundry VTT. This approach saves time and provides a more intuitive experience for users.

Including clear instructions in the README file, emphasizing the need for each player to have their own hand and discard pile, can help guide users and promote proper setup.

I will be adding the first point, I will be adding that sometime today.
Regarding the other two points, I am not really looking to teach people how to use cards in foundry. I made Card Tokens with the intent of providing an avenue for putting them on canvas that best represents how cards work in core. I still feel like hiding the name on the canvas is effectively pointless and better handled with piles with different permissions.

I understand. I already solve this with world script and piles. Thank you.


Multiple commands specified Error

Hello i am trying to provide additional argument for dcmi, but it fails to scrap with Multiple commands specified error. Everything else seems to work fine. Thanks in advance for help :)
This is config for this module
                user: "user"
                pass: "password"
                driver: "LAN_2_0"
                privilege: "admin"
                collectors:
                - dcmi
                - bmc
                - chassis
                - ipmi
                custom_args:
                        dcmi:
                        - "--get-system-power-statistics"  ```

Hello,
it is very hard to read your config snippet, it would be better to paste it in a proper code block (in triple backticks).
From what I can tell, you want to pass --get-system-power-statistics as additional argument to the ipmi-dcmi executable (which is used by the dcmi collector). However, there is no need for this: the collector already passes this argument by default (see collector_dcmi.go).
What is it that made you try this in the first place? Is something not working?

Sorry, i corrected the code block. When i delete the additional argument, exporter don't return any error but i can't see the desired metrics (current power, maximum power etc.). When i launch the ipmi-dcmi directly with --get-system-power-statistics this parameters are returned from ipmi. Could You have any idea why the exporter won't return them ?

can you please post the exact ipmi-dcmi command you are executing (minus any passwords of course) and the output?

Yes of course :)
The command:
/usr/sbin/ipmi-dcmi -h <IP_ADDRESS> -u -P --get-system-power-statistic
The output:
Minimum Power over sampling duration : 59 watts
Maximum Power over sampling duration : 927 watts
Average Power over sampling duration : 104 watts
Time Stamp                           : 08/30/2022 - 09:22:16
Statistics reporting time period     :<PHONE_NUMBER> milliseconds
Power Measurement                    : Active

I dont' know if this is correct becouse the metrics are returned in diffrent time frame but ipmi_dcmi_power_consumption_watts is the same value as Current Power here ?

Ah, I see now. Yes, ipmi_dcmi_power_consumption_watts is "Current Power". The reason that you don't see the other metrics is that the exporter ignores them, because they are aggregations, so they make no sense in a metrics database. You can easily get minimum/maximum/average power consumption for any time frame you see fit by using the respective Prometheus functions on your ipmi_dcmi_power_consumption_watts time series.

You are right, I just stated playing with additional arguments and didn't connected dots :) Thank You for clearing this out !


[graphql] Update type name from struct to datatype in graphql API

Description
Updates the graphql API to use datatype instead of struct for non-primitive types. This will make transition when we add enums easier.
Test Plan
Make sure existing tests pass.

tiniest of nits but - dataType vs datatype?

Good question! I prefer datatype since that is used in other languages/would be consistent with other verbiage used in the enums work that I'm in the midst of, but if dataType for the GraphQL interface is preferable more than happy to change it.

Updated to perform the additional renaming in OpenMoveType and push the renaming into the package resolver in the fixup commit.


Can't connect to remote kernel when from vscode ssh workspace

Applies To

[X] Notebooks (.ipynb files)
[X] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
I am running jupyterlab on a cluster which I have ssh access to. I can successfully run Jupyter and tunnel it to my machine such that I can open it from the browser. However, when trying to connect to the remote server from vscode this throws the following error:

Furthermore, this only occurs trying to connect to the remote server from a vscode session itself connected to the remote server.
VSCode when opened normally has no issues connecting to the remote server.
VS Code Version
Version: 1.91.1 Commit: f1e16e1e6214d7c44d078b1f0607b2388f29d729 Date: 2024-07-09T22:08:12.169Z Electron: 29.4.0 ElectronBuildId: 9728852 Chromium: 122.0.6261.156 Node.js: 20.9.0 V8: 12.2.281.27-electron.0 OS: Linux x64 5.15.0-116-generic
Jupyter Extension Version
v2024.6.0
Jupyter logs
}
16:56:17.958 [debug] Kernel Spec Root Paths, /usr/share/jupyter/kernels, /usr/local/share/jupyter/kernels, ~/.local/share/jupyter/kernels
16:56:18.324 [debug] Controller startUsingPythonInterpreter:'.jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher' for view = 'jupyter-notebook' is no longer a valid
16:56:18.324 [debug] Controller startUsingPythonInterpreter:'.jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher (Interactive)' for view = 'interactive' is no longer a valid
16:56:18.324 [warn] Disposing old controller startUsingPythonInterpreter:'.jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher' for view = 'jupyter-notebook'
16:56:18.325 [debug] Disposing controller .jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher associated with connection .jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher
16:56:18.326 [warn] Disposing old controller startUsingPythonInterpreter:'.jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher (Interactive)' for view = 'interactive'
16:56:18.326 [debug] Disposing controller .jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher (Interactive) associated with connection .jvsc74a57bd05a2f0a0613e950d5d63b554a7dbbd397fdfa50dd9c76ebeeec21d430f42b3718./home/oscar/miniconda3./home/oscar/miniconda3.-m#ipykernel_launcher
16:56:19.329 [debug] Interpreter removed /home/oscar/miniconda3
16:56:21.485 [debug] Refreshed Environments
16:56:22.486 [debug] End refreshing Kernel Picker<PHONE_NUMBER>222)
16:57:26.315 [debug] Error in detecting whether url is isJupyterHub: FetchError: request to http://<IP_ADDRESS>:4444/hub/api failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444
16:58:29.191 [debug] Error in detecting whether url is isJupyterHub: FetchError: request to http://<IP_ADDRESS>:4444/hub/api failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444
16:59:21.450 [debug] Error in detecting whether url is isJupyterHub: FetchError: request to http://<IP_ADDRESS>:4444/hub/api failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444

(Tried several times to connect)

Coding Language and Runtime Version
No response
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Remote

I am adding the following more detailed error logs:
13:51:22.555 [debug] Start refreshing Kernel Picker<PHONE_NUMBER>555) 13:51:22.563 [debug] Error in detecting whether url is isJupyterHub: FetchError: request to http://<IP_ADDRESS>:4444/hub/api failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 13:51:22.567 [error] Failed to validate Password info [D [FetchError]: request to http://<IP_ADDRESS>:4444/ failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 	at ClientRequest.<anonymous> (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/node-fetch.js:1:306417) 	at ClientRequest.emit (node:events:518:28) 	at Socket.socketErrorListener (node:_http_client:495:9) 	at Socket.emit (node:events:518:28) 	at emitErrorNT (node:internal/streams/destroy:169:8) 	at emitErrorCloseNT (node:internal/streams/destroy:128:3) 	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)] {   type: 'system',   errno: 'ECONNREFUSED',   code: 'ECONNREFUSED' } 13:51:22.582 [error] Error fetching kernels from http://<IP_ADDRESS>:4444/ (<IP_ADDRESS>): [FetchError: request to http://<IP_ADDRESS>:4444/api/kernels?1721929882571 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 	at ClientRequest.<anonymous> (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/node-fetch.js:1:306417) 	at ClientRequest.emit (node:events:518:28) 	at Socket.socketErrorListener (node:_http_client:495:9) 	at Socket.emit (node:events:518:28) 	at emitErrorNT (node:internal/streams/destroy:169:8) 	at emitErrorCloseNT (node:internal/streams/destroy:128:3) 	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)] 13:51:22.584 [error] Jupyter Lab Helper:getKernelSpecs failure:  [Error: Poll (@jupyterlab/services:KernelSpecManager#specs) is disposed. 	at v.dispose (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/@jupyterlab/services.js:11:10935) 	at ni.dispose (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/@jupyterlab/services.js:11:29299) 	at /home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/extension.node.js:181:15205 	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)] 13:51:22.590 [debug] Error in detecting whether url is isJupyterHub: FetchError: request to http://<IP_ADDRESS>:4444/hub/api failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 13:51:22.593 [error] Failed to validate Password info [D [FetchError]: request to http://<IP_ADDRESS>:4444/ failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 	at ClientRequest.<anonymous> (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/node-fetch.js:1:306417) 	at ClientRequest.emit (node:events:518:28) 	at Socket.socketErrorListener (node:_http_client:495:9) 	at Socket.emit (node:events:518:28) 	at emitErrorNT (node:internal/streams/destroy:169:8) 	at emitErrorCloseNT (node:internal/streams/destroy:128:3) 	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)] {   type: 'system',   errno: 'ECONNREFUSED',   code: 'ECONNREFUSED' } 13:51:22.606 [error] Error fetching kernels from http://<IP_ADDRESS>:4444/ (<IP_ADDRESS>): [FetchError: request to http://<IP_ADDRESS>:4444/api/kernels?1721929882597 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 	at ClientRequest.<anonymous> (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/node-fetch.js:1:306417) 	at ClientRequest.emit (node:events:518:28) 	at Socket.socketErrorListener (node:_http_client:495:9) 	at Socket.emit (node:events:518:28) 	at emitErrorNT (node:internal/streams/destroy:169:8) 	at emitErrorCloseNT (node:internal/streams/destroy:128:3) 	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)] 13:51:22.608 [error] Jupyter Lab Helper:getKernelSpecs failure:  [Error: Poll (@jupyterlab/services:KernelSpecManager#specs) is disposed. 	at v.dispose (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/@jupyterlab/services.js:11:10935) 	at ni.dispose (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/@jupyterlab/services.js:11:29299) 	at /home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/extension.node.js:181:15205 	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)] 13:51:22.608 [error] UniversalRemoteKernelFinder: Failed to get kernels without cache [FetchError: request to http://<IP_ADDRESS>:4444/api/kernels?1721929882597 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:4444 	at ClientRequest.<anonymous> (/home/~/.vscode-server/extensions/ms-toolsai.jupyter-2024.6.0-linux-x64/dist/node_modules/node-fetch.js:1:306417) 	at ClientRequest.emit (node:events:518:28) 	at Socket.socketErrorListener (node:_http_client:495:9) 	at Socket.emit (node:events:518:28) 	at emitErrorNT (node:internal/streams/destroy:169:8) 	at emitErrorCloseNT (node:internal/streams/destroy:128:3) 	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)] 13:51:22.653 [debug] End refreshing Kernel Picker<PHONE_NUMBER>555)

Thank you for the detailed logs and sorry you are running into this.

Furthermore, this only occurs trying to connect to the remote server from a vscode session itself connected to the remote server.
VSCode when opened normally has no issues connecting to the remote server.

Where is this server running, on your current machine or the remote SSH server?
I.e. is Jupyter and VS Code remote running on the same server/machine?

Good question: That actually helped me fix it.
The issue was that the jupyter server was running on a compute node and vscode was connecting to the head node of the cluster. Hence, I had to create an ssh tunnel not between my machine and the compute node but between the head node and the compute node.
Thanks,
Oscar

From: Don Jayamanne @.>
Sent: Friday, July 26, 2024 2:36 AM
To: microsoft/vscode-jupyter @.>
Cc: Oscar Pitcho @.>; Author @.>
Subject: Re: [microsoft/vscode-jupyter] Can't connect to remote kernel when from vscode ssh workspace (Issue #15873)
Thank you for the detailed logs and sorry you are running into this.
Furthermore, this only occurs trying to connect to the remote server from a vscode session itself connected to the remote server.
VSCode when opened normally has no issues connecting to the remote server.
Where is this server running, on your current machine or the remote SSH server?
I.e. is Jupyter and VS Code remote running on the same server/machine?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode-jupyter/issues/15873#issuecomment-2251693506, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH4JTD7WS5FS5EQHP5ZOR7TZOGKZ5AVCNFSM6AAAAABLNH6E4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJRGY4TGNJQGY.
You are receiving this because you authored the thread.Message ID: @.***>

Im experiencing the same issue, can you please elaborate how you fixed it?

Please can you file a new issue


handle :module, improve self-reference resolution, etc

Codecov Report

Merging #16 into master will increase coverage by 3.67%.
The diff coverage is 63.88%.

@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
+ Coverage   55.64%   59.32%   +3.67%
==========================================
  Files          10       10
  Lines         487      531      +44
==========================================
+ Hits          271      315      +44
  Misses        216      216

Flag
Coverage Δ

#unittests
59.32% <63.88%> (+3.67%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/virtualprocess.jl
86.11% <60.60%> (-6.33%)
:arrow_down:

src/profile.jl
43.90% <100.00%> (+4.42%)
:arrow_up:

src/abstractinterpretation.jl
88.52% <0.00%> (+1.48%)
:arrow_up:

src/reports.jl
75.47% <0.00%> (+1.73%)
:arrow_up:

src/tfuncs.jl
83.33% <0.00%> (+3.33%)
:arrow_up:

src/tpcache.jl
52.00% <0.00%> (+22.83%)
:arrow_up:

src/abstractinterpreterinterface.jl
89.47% <0.00%> (+26.31%)
:arrow_up:

src/TypeProfiler.jl
100.00% <0.00%> (+33.33%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 15b7483...8955022. Read the comment docs.


Continue refactoring.

Program.cs code improvements. Application of SOLID principles. Continue refactoring.

In this version, I introduced some dependency injection. I worked to make it easier to maintain.
@ardacetinkaya

In this version, I introduced some dependency injection. I worked to make it easier to maintain.
@ardacetinkaya

great, thanks...It would be great if resolve the current conflicts within the PR

I need write access for this.


Redirects even when logged in

My middleware:
import { region, userPoolId, userPoolWebClientId, Group } from "@frontend/config/next"
import { makeCognitoInspector } from "next-fortress"
import { NextMiddleware, NextResponse } from "next/server"

const redirecter: NextMiddleware = (req) => NextResponse.redirect("/login?next=" + req.nextUrl.pathname + "&redir=true")

// admins-only
export const middleware = makeCognitoInspector(redirecter, { region, userPoolId, userPoolWebClientId }, (payload) => {
  if (!payload) return false
  const groups = payload["cognito:groups"] as string[]
  return groups?.includes(Group.Admins)
})

When I open a new tab and directly go to a route protected by this middleware, it redirects me to log in. However if I navigate to the route afterwards it lets me view it.
I think maybe fortress isn't waiting for the cognito auth state to be fully resolved, possibly because it needs to refresh my access token. Just a theory.

@revmischa Hi, thanks for opening the issue.
When using Cognito, next-fortress uses a token set in the cookie to check the status in the middleware. (The key of the cookie is CognitoIdentityServiceProvider.xxxx.idToken.) This cookie is automatically set by the Amplify client after login, and the expires is set as Session.
My guess is that either the cookie was cleared when you opened a new tab, or you opened a new tab before the Amplify client set the cookie.
Is the cookie still in your browser when you open a new tab?
I have a sample site: https://next-fortress.vercel.app/cognito
I have tried the following steps on this site and am not experiencing the problem you report.

login (/cognito)
go to the logged in page (/cognito/authed)
navigated without problems
then open /cognito/authed in a new tab
accessed the page without problems

Please elaborate on the steps to reproduce your problem. Also, does the above sample site reproduce this problem when you try it?

The problem here is that the code doesnt work as expected
https://github.com/aiji42/next-fortress/blob/main/src/cognito.ts
const token = Object.entries(req.cookies).find(([key]) =>
    new RegExp(
      `CognitoIdentityServiceProvider\\.${clientId}\\..+\\.idToken`
    ).test(key)
)?.[1]

if you add some console.logs, you will see why
const token = Object.entries(req.cookies).find(([key]) => {
    console.log('key:', key)
    return new RegExp(`CognitoIdentityServiceProvider\\.${clientId}\\..+\\.idToken`).test(key)
})?.[1]

outputs
key: get
key: getWithOptions
key: set
key: delete
key: clear
key: response

the "correct" way to do this is like so
const tokenKey = [...req.cookies.keys()].find(key =>
        new RegExp(`CognitoIdentityServiceProvider\\.${clientId}\\..+\\.idToken`).test(key),
    )
if (!tokenKey) return false
const token = req.cookies.get(tokenKey)

I am going to open a PR for this

https://github.com/aiji42/next-fortress/pull/209

#209

PR merged, thanks @aiji42


add support for q4os live

This would also need the live.ipxe entry to link to it

I added the live.ipxe entry.

Pushing a generated dump from development up for testing here: https://github.com/antonym/netboot.xyz/pull/403
Closing this one out for that one, which should also cover Q4OS


Localizations not generated correctly

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Create two different localization arb files:

{
    "@@locale" : "en",
    "monthEvents": "Events {date}",
    "@monthEvents": {
        "placeholders": {
            "date":{
                "type": "DateTime",
                "format": "yMMMd"
            }
        }
    }
}
{
    "@@locale" : "de",
    "monthEvents": "Events {date}",
    "@monthEvents": {
        "placeholders": {
            "date":{
                "type": "DateTime",
                "format": "yMd"
            }
        }
    }
}

Run flutter run in order to generate app_localization_en.dart and app_localization_de.dart.

Expected results
Snippet app_localizations_en.dart:
@override
String monthEvents(DateTime date) {
  final intl.DateFormat dateDateFormat = intl.DateFormat.yMMMd(localeName);
  final String dateString = dateDateFormat.format(date);
  return 'Events $dateString';
}

Snippet app_localizations_de.dart:
@override
String monthEvents(DateTime date) {
  final intl.DateFormat dateDateFormat = intl.DateFormat.yMd(localeName);
  final String dateString = dateDateFormat.format(date);
  return 'Events $dateString';
}

Actual results
Snippet app_localizations_en.dart:
@override
String monthEvents(DateTime date) {
  final intl.DateFormat dateDateFormat = intl.DateFormat.yMMMd(localeName);
  final String dateString = dateDateFormat.format(date);
  return 'Events $dateString';
}

Snippet app_localizations_de.dart:
@override
String monthEvents(DateTime date) {
  final intl.DateFormat dateDateFormat = intl.DateFormat.yMMMd(localeName);
  final String dateString = dateDateFormat.format(date);
  return 'Events $dateString';
}

Notice: en is OK, for de I expected yMd instead of yMMMd
Code sample
There is no runnable code.
Screenshots or Video
No response
Logs
Have no logs, neither errors.
Flutter Doctor output
[√] Flutter (Channel stable, 3.7.10, on Microsoft Windows [Version 10.0.19044.2965], locale de-DE)
• Flutter version 3.7.10 on channel stable at C:\Source\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4b12645012 (7 weeks ago), 2023-04-03 17:46:48 -0700
• Engine revision ec975089ac
• Dart version 2.19.6
• DevTools version 2.20.1
[X] Windows Version (Unable to confirm if installed Windows version is 10 or greater)
Checking Android licenses is taking an unexpectedly long time...[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at C:\Users\eborsoi\AppData\Local\Android\Sdk
• Platform android-33-ext4, build-tools 33.0.1
• ANDROID_HOME = C:\Users\eborsoi\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.5.5)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
• Visual Studio Community 2022 version 17.5.33627.172
• Windows 10 SDK version 10.0.22000.0
[√] Android Studio (version 2022.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
[√] VS Code, 64-bit edition (version 1.78.2)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.64.0
[√] Connected device (4 available)
• EML L09 (mobile)  • BPN0219301001602 • android-arm64  • Android 10 (API 29)
• Windows (desktop) • windows          • windows-x64    • Microsoft Windows [Version 10.0.19044.2965]
• Chrome (web)      • chrome           • web-javascript • Google Chrome 113.0.5672.93
• Edge (web)        • edge             • web-javascript • Microsoft Edge 113.0.1774.50
[√] HTTP Host Availability
• All required HTTP hosts are available

Thanks for the report @emaborsa
Can you provide l10n.yaml and what entries are you passing in it ?

Hi,
this is the l10n.yaml:
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

what entries are you passing in it

Sorry, don't understand. What do you mean?

Thanks for the update. I am able to replicate this reported behavior.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.10.1, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.10.1 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d3d8effc68 (35 hours ago), 2023-05-16 17:59:05 -0700
    • Engine revision b4fb11214d
    • Dart version 3.0.1
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.11.0-11.0.pre.23, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.11.0-11.0.pre.23 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision dd07c61e98 (67 minutes ago), 2023-05-23 00:04:11 -0400
    • Engine revision 2586cbeeae
    • Dart version 3.1.0 (build 3.1.0-134.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

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

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

/cc @thkim1011

Hey @emaborsa, technically, you're not allowed to have metadata outside of the template arb file, but it does seem important to be able to have language-specific date formatting options. I'll see what I can do about this.

Hi @thkim1011 ,
what do you mean with to have metadata outside of the template arb file? Which metadata do you refer to?

The following portion is the metadata associated with a message.
    "@monthEvents": {
        "placeholders": {
            "date":{
                "type": "DateTime",
                "format": "yMMMd"
            }
        }
    }

Only metadata in app_en.arb is read and used.

I understand. However, it makes no sense to me. Why should I use the placeholders with a custom format if I cannot have a different one per language?

@emaborsa I agree, I'm considering implementing a separate syntax for specifying date syntax within a message that will look like the example here: https://unicode-org.github.io/icu/userguide/format_parse/messages/#examples.

Why not to allow to have metadata for different arb files?


The orderBy createdAt_DESC is not working

Hello people,
I found that the createdAt_DESC is not working, whereas the following is working directly on GraphQL Playground.
query queryfeed{   feed(orderBy:createdAt_DESC) {     count     links {       id       createdAt     }   } }
How to make it works in LinkList.js ?

On the server, the orderBy parameter is not being used by the Query resolver for feed and is also not being used by the Feed resolver to links. To use the orderBy parameter you'll need to change both files:

don't forget to change this line:
const queriedLinks = await ctx.db.query.links({ first, skip, where })

to include the orderBy parameter as well.
otherwise your pagination will not properly skip based on the orderBy clause.
ie:
const queriedLinks = await ctx.db.query.links({ first, skip, where, orderBy })

Great catch @KMontag42! Thanks

Thanks @arelaxend for opening this issue 😄. It should be working now. Closing this, please, feel free to re-open this issue if you cannot make it work!


Analysis on save

Added analysis on save
Added "Analysis on save" option to Dexter settings

Please withhold a merge of this pull request until I find out the reason of and solve a newly discovered bug. A review would be highly appreciated though.

The pull request is ready to be merged.


bug: Can't get compiler working with Next.js

Describe the bug
I'm using React + Next.js (used create-next-app to create a project). I've tried different approaches to install the Million compiler but I'm always getting:
Error: See http://million.dev/docs/install to install the compiler.
    at file:///.../node_modules/million/dist/chunks/block.mjs:4:9
    at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15) {
  digest: undefined

It happens even if I totally copy-paste next.config.mjs from the documentation:
import million from 'million/compiler';

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
};

export default million.next(nextConfig);

Tried to wrap my previous config into million.next() as well:

React 18.2.0, Next 13.4.3, Million tried 2.4.8.beta-3 and 2.4.7.

I used Million in two components:
Table component:
<For each={data}>
  {(row, index) => (
    <>
      {/* @ts-expect-error Server Component */}
      <RowBlock key={`tr-${index}`} row={row} columns={columns} onRowClick={onRowClick} />
    </>
  )}
</For>

RowBlock:
import { block } from 'million';
import { Column, Row } from '@/types/table';
import Cell from './Cell';
import { TD } from './Content';
import { styled } from '@/stitches';

type Props = {
  row: Row;
  columns: Column[];
  onRowClick?: (row: Row) => void;
};

const RowBlock = ({ row, columns, onRowClick }: Props) => {
  return (

 (onRowClick ? onRowClick(row) : undefined)}>
      {columns.map((column) => (
        <Cell key={`td-${column.title}`} row={row} column={column} />
      ))}

  );
};

export default block(RowBlock);

const TR = styled('tr', {
  variants: {
    clickable: {
      true: {
        cursor: 'pointer',
        transition: '$default',
        [`&:hover ${TD}`]: {
          bgc: '$componentHoverBg',
        },
      },
    },
  },
});

I see a couple issues that should be fixed:
export default block(RowBlock); is not recognized usage yet. I recommend wrapping it inline:
const RowBlock = block(({ row, columns, onRowClick }: Props) => {
  return (

 (onRowClick ? onRowClick(row) : undefined)}>
      {columns.map((column) => (
        <Cell key={`td-${column.title}`} row={row} column={column} />
      ))}

  );
});

Also, blocks are not supported as server components. "use client"; is required in this case, as with server components, there would be no performance benefit anyway.

Thank you for response!
I tried this wrapping as well and it didn't affect the problem. Anyway I've edited as you suggested, thanks. However I'm getting the same error despite all these fixes. Where should I add "use client" directive? Now I've added it in RowBlock and its parent component. Should it be in some another place?
Am I supposed to get the error about compiler although it might be a problem in my incorrect usage?

@enjoijkee I'm not actually super sure because I haven't played around with app dir enough, but from what I understand you might want to at least use the directive where the block is used. What I would do here is to add "use client" everywhere and incrementally remove it until you hit an error.
Better Error messages with RSC is something we are still working on. This report is helpful, however.

Welp, I've added the directive literally everywhere and the error is still here. I tend to think the problem is somewhere deeper, maybe in Next configuration, but I can't get it work even with the default config from your documentation.

Hmm, interesting. Mind joining https://million.dev/chat to debug this quicker? @enjoijkee

wait a sec, i think you're importing from the wrong place, it's supposed to be million/react @enjoijkee

@aidenybai you're right, edited import to import { block } from 'million/react'; but it's still there unfortunately

So to be clear now, that's what I have at the moment:
package.json
{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    // default scripts
  },
  "dependencies": {
    "@apollo/client": "^3.7.14",
    "@auth0/nextjs-auth0": "^2.6.0",
    // Radix stuff
    "graphql": "^16.6.0",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "million": "2.4.7",
    "next": "13.4.3",
    "next-images": "^1.8.5",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-wrap-balancer": "^0.5.0"
  },
  "devDependencies": {
    "@types/graphql": "14.5.0",
    "@types/lodash": "^4.14.194",
    "@types/moment": "^2.13.0",
    "@types/node": "^20.2.3",
    "@types/react": "^18.2.7",
    "@types/react-dom": "^18.2.4",
    "eslint": "8.41.0",
    "eslint-config-next": "13.4.3",
    "typescript": "5.0.4"
  }
}

next.config.mjs
import million from 'million/compiler';

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
};

export default million.next(nextConfig);

TableContent.tsx
'use client';

import { For } from 'million/react';
import RowBlock from './Row';
import { Column, Row } from '@/types/table';
import { styled } from '@/stitches';

interface Props {
  data: Row[];
  columns: Column[];
  onRowClick?: (row: Row) => void;
  sorting: string | null;
  sortingOrder: 'asc' | 'desc';
  onChangeSorting: (column: Column, groupName?: string) => void;
  groupName?: string;
  folded?: boolean;
  onFoldGroup?: (groupName: string) => void;
}

const Content = ({
  data,
  columns,
  onRowClick,
  sorting,
  sortingOrder,
  onChangeSorting,
  groupName,
  folded,
  onFoldGroup,
}: Props) => {
  if (data.length === 0) return null;

  return (
    <>

        {groupName && (

            <GroupName css={{ gridColumnEnd: columns.length + 1 }}>
              <FoldTrigger onClick={() => onFoldGroup(groupName)}>
                {groupName} ({data.length})
              </FoldTrigger>
            </GroupName>

        )}
        {!folded && (

            {columns.map((column) => (
              <TH
                key={`th-${column.title}`}
                align={column.align}
                sortable={column.sortable}
                sorted={sorting === column.dataIndex}
                afterGroupName={!!groupName}
              >
                 onChangeSorting(column, groupName)}>{column.title}

            ))}

        )}

      {!folded && (

          <For each={data}>
            {(row, index) => (
              <>
                <RowBlock key={`tr-${index}`} row={row} columns={columns} onRowClick={onRowClick} />
              </>
            )}
          </For>

      )}
    </>
  );
};

export default Content;

Row.tsx
'use client';

import { block } from 'million/react';
import { Column, Row } from '@/types/table';
import Cell from './Cell';
import { TD } from './Content';
import { styled } from '@/stitches';

type Props = {
  row: Row;
  columns: Column[];
  onRowClick?: (row: Row) => void;
};

const RowBlock = block(({ row, columns, onRowClick }: Props) => {
  return (

 (onRowClick ? onRowClick(row) : undefined)}>
      {columns.map((column) => (
        <Cell key={`td-${column.title}`} row={row} column={column} />
      ))}

  );
});

export default RowBlock;

and every component now have "use client" directive

So to be clear now, that's what I have at the moment:
package.json
{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    // default scripts
  },
  "dependencies": {
    "@apollo/client": "^3.7.14",
    "@auth0/nextjs-auth0": "^2.6.0",
    // Radix stuff
    "graphql": "^16.6.0",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "million": "^2.4.8-beta.3",
    "next": "13.4.3",
    "next-images": "^1.8.5",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-wrap-balancer": "^0.5.0"
  },
  "devDependencies": {
    "@types/graphql": "14.5.0",
    "@types/lodash": "^4.14.194",
    "@types/moment": "^2.13.0",
    "@types/node": "^20.2.3",
    "@types/react": "^18.2.7",
    "@types/react-dom": "^18.2.4",
    "eslint": "8.41.0",
    "eslint-config-next": "13.4.3",
    "typescript": "5.0.4"
  }
}

next.config.mjs
import million from 'million/compiler';

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
};

export default million.next(nextConfig);

TableContent.tsx
'use client';

import { For } from 'million/react';
import RowBlock from './Row';
import { Column, Row } from '@/types/table';
import { styled } from '@/stitches';

interface Props {
  data: Row[];
  columns: Column[];
  onRowClick?: (row: Row) => void;
  sorting: string | null;
  sortingOrder: 'asc' | 'desc';
  onChangeSorting: (column: Column, groupName?: string) => void;
  groupName?: string;
  folded?: boolean;
  onFoldGroup?: (groupName: string) => void;
}

const Content = ({
  data,
  columns,
  onRowClick,
  sorting,
  sortingOrder,
  onChangeSorting,
  groupName,
  folded,
  onFoldGroup,
}: Props) => {
  if (data.length === 0) return null;

  return (
    <>

        {groupName && (

            <GroupName css={{ gridColumnEnd: columns.length + 1 }}>
              <FoldTrigger onClick={() => onFoldGroup(groupName)}>
                {groupName} ({data.length})
              </FoldTrigger>
            </GroupName>

        )}
        {!folded && (

            {columns.map((column) => (
              <TH
                key={`th-${column.title}`}
                align={column.align}
                sortable={column.sortable}
                sorted={sorting === column.dataIndex}
                afterGroupName={!!groupName}
              >
                 onChangeSorting(column, groupName)}>{column.title}

            ))}

        )}

      {!folded && (

          <For each={data}>
            {(row, index) => (
              <RowBlock key={`tr-${index}`} row={row} columns={columns} onRowClick={onRowClick} />
            )}
          </For>

      )}
    </>
  );
};

export default Content;

Row.tsx
'use client';

import { block } from 'million/react';
import { Column, Row } from '@/types/table';
import Cell from './Cell';
import { TD } from './Content';
import { styled } from '@/stitches';

type Props = {
  row: Row;
  columns: Column[];
  onRowClick?: (row: Row) => void;
};

const RowBlock = block(({ row, columns, onRowClick }: Props) => {
  return (

 (onRowClick ? onRowClick(row) : undefined)}>
      {columns.map((column) => (
        <Cell key={`td-${column.title}`} row={row} column={column} />
      ))}

  );
});

export default RowBlock;

and every component now have "use client" directive

Hey @enjoijkee, does it work now with what you have here?

Hey @tobySolutions, no but @aidenybai is looking into this. We continue the discussion in the Discord thread (question "Can't get compiler working in Next.js"). I think Aiden or I will post an update here when the issue is resolved in some way.

Hey @enjoijkee, I must have missed that somehow, thank you for this.

import million from "million/compiler";
^^^^^^
SyntaxError: Cannot use import statement outside a module

@enjoijkee fixed in 2.4.8.
it will require one change on your part: you need to set ssr={false} on the For and have a second argument in the block(..., { ssr: false})


external decorator does not work for bound methods anymore (in the same way)

Since the (good) change of the external decorator into a class (line 306 of decorators.py), bound methods cannot be called without passing self anymore.
This was already taken care for with a magic __get__ in the function and coroutine decorators, but just not for the external decorator. Would adding this break any existing functionality? Would outfactoring this functionality be worthwile?
@ardwiersma, is this something you could look into?

In our case, the decorated function is a class method similar to the example below:
class Test(object):
    @cocotb.coroutine
    def test_coro(self):
        ...

    @cocotb.external
    def test_ext(self):
        ...

    @cocotb.test
    def test(self):
        yield self.test_coro()
        yield self.test_ext()

So both methods are invoked in the same way and the caller does not need to know whether it is an 'external' or a 'coroutine'
After the recent changes to the cocotb.external mechansim, the call of 'external' method  requires 'self' to be passed as a parameter => yield self.test_ext(self)
This is the result of the 'external' decorator type changing from 'function' to 'class'. It issue is resolved by adding the following __get__ method to the decorator class:
   def __get__(self, obj, type=None):
        """Permit the decorator to be used on class methods
            and standalone functions"""
        return self.__class__(self._func.__get__(obj, type))


[DOCS] :memo: Configure TSdoc for generating documentation

Description
We should configure TSdoc for generating documentation for our utility functions
Anything else?
https://tsdoc.org/

@aayushchugh  I want to do this work.

go ahead @shivamvishwakarm

ok

@shivamvishwakarm The main task is that we need to create a new script in package.json and when we run it
it should generate documentation for all the functions

can we close this issue?

@shivamvishwakarm yup forgot to do that


Slow load when shown from an on tap event /w scroll enabled

There is a long pause when the cal is shown as a result of a state change after the initial render.  This seems to only be an issue when scroll is enabled.
If anyone has any suggestions or direction on this i'd be happy to work on it and do a pull request.

This issue also seems to occur if the rendered cal is moved in any way.

Are you using the latest 0.5.0? We made a few performance changes in that release and is a lot snappier.

@coderdave - Yep - using version 0.5.0

Ok, I'm not seeing a long pause when scroll is enabled or disabled. Are you able to provide a code sample?

We're changing how we use this - let me get back to you after the redo.  Thanks for the prompt response!

It has something to do with showing it and re-rendering the cal after its been torn down.

Has this been resolved?

I'm running into this same issue now. Disabling the scroll does make this render more quickly, but once it's enabled, the page takes quite a while to load.
@dorthwein have you resolved this?

@waterdoo no sorry - I switched to date spinners ;(

Ah I see, well thanks for the response anyway. @coderdave if you're still interested in looking at the code to understand this, I'd be happy to share.

I'm actually using date spinners instead of scrolling inside my app too because I need to load data.
@waterdoo if you turn off chrome debugging, is it still slow? I've seen that before.

Picking on the calendar seems to be very slow when I run it on iphone 5 and down for me.


⚠ Bofrost.be has degraded performance

In 06ba235, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1052 ms

Resolved: Bofrost.be performance has improved in a39daaa.


[Tracking Issue] Add hardswish int8 impl via LookUpTable

Hardswish is a common act func in mobilenetv3-large/small and yolov5, etc,. By now this op in QNN will execute dequantize -> fp32 caculate -> quantize. So hardswish int8 impl via LUT is needed.

[x] P1. Add hardswish int8 impl via LookUpTable

#11700 has supported this feature, so close this issue.


Autonotal

Hello.
I want to make an answering machine, tell me if there is a way to get only new User Chat with new incoming messages?
Or do you need to use Messages_GetAllDialogs() (or Task Client_OnUpdate(IObject arg) and case UpdateNewMessage unm:) and compare with a previously created and preserved list?
Or is it possible somewhere tags, that the dialogue is new?
What is consuming less resources?

Please join https://t.me/WTelegramClient for discussions/questions rather than using GitHub issues when there is no issue with the library.