Skip clientConfig

As KTB user I would like to have possibility to manage kafka topics without security/connection configuration.
For example I run local kafka cluster and can create topics by kafka-topics tool.
But I can't use KBT for this, because it require addition security configuration and clientConfig option.

This is certainly not the case,
you can use a description like this:
``yaml
context: "example"
projects:

name: "foo"
topics:

name: "foo"
config:
replication.factor: "1"
num.partitions: "1"
dataType: "avro"
name: "bar"
config:
replication.factor: "1"
num.partitions: "1"
dataType: "json"
name: "zet"
config:
replication.factor: "1"
num.partitions: "1"

name: "bar"
topics:

dataType: "avro"
name: "bar"
config:
replication.factor: "1"
num.partitions: "1"

this would create topics without any ACLs or RBAC Authorization. Any security config required as part of the client config is to allow the tool to talk to Kafka, necessary, but not related.

Closing this for now, feel free to reopen in any case.


Toggle controllers on and off

As part of the starboard --> trivy-operator move, upstream is making lots of changes to which CRDs are supported/installed. Adding these flags allows the exporter to run in clusters where, for example, the CISKubeBenchReport CRD has been removed.
Checklist

[x] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.
[ ] (Giant Swarm) If creating a release, bump the version and appVersion in Chart.yaml.

Tested on ghost and in a workload cluster.


Daikin Air Conditioner Not Showing All Properties

Once in a while I’ll find that my Daikin Air Conditioner appears in the list of devices, but it’s missing nearly all of its properties. It’s strange because I have several air conditioners of the same model, but it only happens with one or two of them.
In the attached logs, it’s the bedroom_ac device.
echonetlite2mqtt_logs_internalsStatus 5.zip

Figured it out. Looks like my alias got mixed up with the base node profile.

Ah — perhaps this is a problem, then. I believe Daikin is using the same of for its base profile and the air conditioner profile. I have an alias set up for this air conditioner’s, but depending on the order the base profile and ac profile are discovered, the alias gets matched to the wrong actual device.
Is there some way to set up an alias to match against a specific device type?

Reattaching my logs.
Uploading echonetlite2mqtt_logs_internalsStatus 5.zip…

I think if the alias file changed to:

id matches based on prefix. so for example “1234” would match the actual ids “1234” and “12345”
add an eoj entry so that i can disambiguate. if i want the alias to be for an air conditioner, i can add eoj: “013001“ to the entry.

@aftertommy
Thanks for your reporting.
This is likely due to a change in v3.1.2 or v3.1.3.
Use v3.1.1 if you want to get the fix quickly.
The issue is how the ID is determined.
Sometimes ECHONETLite2MQTT fails to discover the device.
This issue seems to happen if only the node profile is found initially.

Thanks! Yeah I believe it's just that the node profile is found first, then the ac is found after and assigned the separate ID. On my local, I ended up making my previously suggested change -- allow the alias file to define an optional eoj, and then change the parsing logic to include the eoj if it's defined, and compare the id using startsWith instead of just ===. It appears to work, but I'm not sure if that's the direction you want to go with. I suppose another way is to always assign nodeProfile devices a unique id, since I doubt alias files would ever want to alias those.
I wish I could provide a PR, but unfortunately my employer doesn't allow me to contribute to outside projects. Not really happy about that. In any case, I really love this project, and am truly appreciative of all your hard work.

Your idea of partial ID matching is a good one.
This is still a prototype, but I am thinking of creating the following features.
* is a wildcard.
Example: Specify id prefix and eoj
{
  name: "bedroom-aircon",
  id:"fe000008e84f25c6ce46*",
  eoj:"013001"
}

Example: Specify ip and eoj
{
  name: "kitchen-aircon",
  eoj:"013001",
  ip:"<IP_ADDRESS>"
}

However, the idea of giving a special ID to a nodeProfile has problems.
I have received reports of devices with duplicate IDs that are not nodeProfile.
https://github.com/banban525/echonetlite2mqtt/issues/32#issuecomment-2287957109

That schema sounds nice. It'd be interesting if adding ip entries in the alias file could replace the need for defining the ECHONET_DEVICE_IP_LIST environment variable.

Integrating the alias file and the environment variable ECHONET_DEVICE_IP_LIST...
That would be a configuration file rather than an alias file.
Since this would be a specification change, I will address it in the next major version upgrade.
However, there are no plans for a major version upgrade.

First, I will try to fix the method of determining the ID, which changed in the previous version.
I think the problem is that the ECHONET Lite specifications are vague.
For a long time I've been struggling with how to give objects IDs.
ECHONET Lite has an ID specification, but it seems that the implementation differs depending on the manufacturer.

Each object (EOJ) has a different ID.
NodeProfile has an ID, but other objects have not.
All objects have the same ID.
Each object has the same ID, but only NodeProfile has a different ID.

(your air conditioner is 3.)
The fix I'm currently considering is one of the following:

Delay deciding the ID until all devices are found.
If devices are found later, change the already-determined ID.

Fixed in v3.2.0 .


running error

Traceback (most recent call last):
File "manage.py", line 24, in
execute_from_command_line(sys.argv)
File "/home/normsoftware/project/sampath/lib/python3.5/site-packages/django/core/management/init.py", line 371, in execute_from_command_line
utility.execute()
File "/home/normsoftware/project/sampath/lib/python3.5/site-packages/django/core/management/init.py", line 347, in execute
django.setup()
File "/home/normsoftware/project/sampath/lib/python3.5/site-packages/django/init.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/normsoftware/project/sampath/lib/python3.5/site-packages/django/apps/registry.py", line 112, in populate
app_config.import_models()
File "/home/normsoftware/project/sampath/lib/python3.5/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/home/normsoftware/project/sampath/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/home/normsoftware/project/django-safety-master/safety/models.py", line 14, in
from . import managers
File "/home/normsoftware/project/django-safety-master/safety/managers.py", line 6, in
from . import utils
File "/home/normsoftware/project/django-safety-master/safety/utils.py", line 4, in
from .compat import import_module
File "/home/normsoftware/project/django-safety-master/safety/compat.py", line 13, in
from django.contrib.gis.geoip import GeoIP as GeoIP  # noqa
ImportError: No module named 'django.contrib.gis.geoip'

not an issue, please install geoip packages on your server/compute.


UI / message reading pane obscured by long recipient list

RainLoop version, browser, OS:
1.11.3 / Chrome / Windows 10 Pro v1709
Expected behavior and actual behavior:
message reading pane should scroll up/down to allow message reading. instead the message window is obscured with a long recipient address list
Steps to reproduce the problem:
receive message with overly long recipient list. try to read it without opening it in single message view.
Logs or screenshots:
even when you double click the email to open the single message full screen view, the actual reading area can be quite small with a long recipient list. the address list should be scroll-able to move it out of the way.

This gets even worse when replying to all. Then there is not even the "i". Would be great if you shrink the header or make it scrollable.


Add a method for testing - MobileCore.resetSDK()

I don't recommend adding a public method to MobileCore. Can you change it to default accessor? Tests can access it by adding a helper class in com.adobe.marketing.mobile package.

https://developer.android.com/reference/androidx/annotation/VisibleForTesting
@praveek  It's only a public method in test code.

@praveek @prudrabhat addressed your review comments.


Privilege elevation is required in order to install update when istalled using System Installer

VSCode Version: 1.39
OS Version: Windows 10 (18362.418)

Steps to Reproduce:

Click "Install Update" when update is available
Privilege elevation will be requested for it to install

Does this issue occur when all extensions are disabled?:
Yes.
Mozilla Firefox is also installed system-wide and uses a service to facilitate updates, but no privilege elevation is required in order to install them, which makes it a better user experience.

This is why we distribute a user install, please use that instead if you'd like to avoid escalation.

I'm well aware of the user install option, but it's beside the point.
Update of a system-wide installed component doesn't have to require privilege elevation.
Mozilla Firefox, Microsoft Office and Windows itself are good examples of that.
The requirement of privilege elevation defers delivery of updates in cases like kids using VS Code on machines where they don't have admin privileges (they have to wait for someone who does have them).


Getting started markdown links don't work

Testing #122275
I tried using GitLens' README.md as a getting started media file, and none of the links work -- external links, nor links within the same markdown file. Command lines also didn't work.

Fixed external links & commands, going to say that internal links are not supported by design.... ideally the pages wont be long enough to need them, and I'd prefer to reserve that syntax for linking to other steps in the walkthrough https://github.com/microsoft/vscode/issues/122795

Plus I can't even find a way to handle them... webview.onDidClickLink does not get called for links with only a fragment (#my-cool-section), yet the webview also does not scroll to the specified section.

@JacksonKearl Yes for fragment only links, we try to scroll to reveal the element with that id within the webview itself. All other links should go through onDidClickLinks

I'm finding that the webview does not scroll, try for instance going to the extension editor page for the GitLens readme, the links do not work.

They work for me in the markdown preview. I think GitLens is just using a format of links that we don't support. It works on GitHub but I'm not sure it's standard

Seems to work for me. Even the "labelled" links like gitlens's readme has [test](https://example.com 'labelled') work, although we don't seem to support that in our markdown


"GoogleVertexAISearchRetriever" object has no field "_serving_config". It's a Pydantic-related bug.

System Info
When upgrading from version 0.317 to 0.318, there is a bug regarding the Pydantic model validations. This issue doesn't happen in versions before 0.318.
File "...venv/lib/python3.10/site-packages/langchain/retrievers/google_vertex_ai_search.py", line 268, in init
self._serving_config = self._client.serving_config_path(
File "pydantic/main.py", line 357, in pydantic.main.BaseModel.setattr
ValueError: "GoogleVertexAISearchRetriever" object has no field "_serving_config"
Who can help?
I tagged both of you, @eyurtsev and @kreneskyp, regarding this version 0.318 change, in case it is related: https://github.com/langchain-ai/langchain/pull/11936.
Thanks for this amazing library!
Information

[ ] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[X] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Execute the following code:
def main():
    aiplatform.init(project=PROJECT_ID)

    llm = VertexAI(model_name=MODEL, temperature=0.0)

    retriever = GoogleVertexAISearchRetriever(
        project_id=PROJECT_ID, search_engine_id=DATA_STORE_ID
    )

    search_query = "Who was the CEO of DeepMind in 2021?"

    retrieval_qa = RetrievalQA.from_chain_type(
        llm=llm, chain_type="stuff", retriever=retriever
    )
    answer = retrieval_qa.run(search_query)

    print(answer)

if __name__ == "__main__":
    main()

Expected behavior
To output the answer from the model, as it does in versions before 0.318

This is solved here:
https://github.com/langchain-ai/langchain/commit/f5be2d525ab734b5b5cff1e3c8717ebb5e337611


[directxmesh] Use CMake build system and add dx12 feature

Use the provided CMake file instead of the VS solutions to build the library, as recommended in the maintainer guidelines. DirectXMesh can be built without DirectX12 (default for desktop) for Windows 7 Service Pack 1 or later, or with DirectX12 (default for ARM or UWP) for Windows 10.

I didn't know it was possible to specify the library own features as dependencies, this is way cleaner. Thanks for your help.

@RT222 yeah, course! it's pretty weird so I'm not surprised you wouldn't've thought of it :)

Thanks for your contribution!


[CHORE] Ensure compatibility with deltalake version v0.19

Deltalake v0.19 changes their _convert_pa_schema_to_delta function to take in a schema_conversion_mode instead of large_dtypes. Pyarrow also needed to be upgraded to v16.0.0 as well to be compatible with the new version of deltalake
The difference between this PR and #2754 is that it still maintains compatibility with older deltalake versions.
The reason why this PR also includes a change to arrow2 is because starting in version 0.19, deltalake uses arrow-rs by default instead of pyarrow to write files when calling deltalake.write_deltalake. We do not actually use this functionality but our tests do, and arrow-rs writes map arrays in a way that does not conform to the parquet spec. I figured it would be good to just add that compatibility in there just in case some user is using arrow-rs to write their parquet files.
However, there are also other issues with deltalake's rust writer, including improper encoding of partitioned binary columns, so we will use their pyarrow writer for testing.

Hi @fecet, would you mind creating a Github issue for this? Also, could you check if this worked in the current release version of Daft with deltalake 0.18.2?


Stanford830

The test_driver() function has been updated to include a debugging option. The stanford830 has been updated to follow proper docstring syntax. The test cases are passing and this is reflected in the test log.

Please note, the readthedocs build initially failed, and then succeeded once I entered an empty commit with absolutely no changes to it. Nothing to take action with but something to be aware of.

Also, the stanford830 is not passing test cases because it has buffer_points in the docstring but not in the driver itself. This should be fixed before this PR is pulled.


Transforming ISC into a registry to support other providers

This merge request changes the functionality of InferenceServicesCollection and transforming it into a registry for infrastructure providers. It also introduces functionality to support adding new services and pass the registry to the model when creating

Hey @nurv sorry - seems like it fails a test. I haven't dug into the code enough to see where - can you take a look? This weekend I plan to merge this into main, support Groq (which Hugo was talking about)

& do a new release

@johnjosephhorton I've just pushed a fix for this, ran the tests my self, everything passed. Sorry for the typo.


[Chrome extension] Refused to load the script

Hi,
I am trying to create an extension that can use Azure cognitive service sdk to make speech to text. Everything worked fine with the mv2 extension but since i have to migrate to mv3 i'm having some trouble. Step by step i'm trying to make it all works. Now i'm stuck with an error

Refused to load the script 'blob:chrome-extension://extension_id/{...}' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback

I'm having this issue since i'm trying to implement the Azure sdk in my web accessible resources which is an iframe to make all the retranscription.
Here is my code :
audiosources.html
<!DOCTYPE html>
<html>
    <body>
        <script src="distrib/browser/microsoft.cognitiveservices.speech.sdk.bundle.js"></script>
        <script src="audiosources.js"></script>
    </body>
</html>

audiosource.js
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
    switch(message.type) {
        case "startStreaming":
            startStreaming(message, sender, sendResponse);
            break;
        case "init":
            console.log("init");
            break;
    }
    sendResponse();
});

function startStreaming(message, sender, sendResponse) {
    for (const tabId in Live) {
        chrome.tabs.sendMessage(parseInt(tabId), {
            type: "removeTranscript",
        });
        stopStreaming(tabId);
    }
    captureUser(sender.tab.id);
}

function captureUser(tabId) {
    audioConfigUser = SpeechSDK.AudioConfig.fromMicrophoneInput(microphoneId);
    recognizerUser = new SpeechSDK.SpeechRecognizer(
        speechConfig,
        audioConfigUser
    );
    console.log("recognizerUser : ", recognizerUser);
    recognizerUser.startContinuousRecognitionAsync();
    recognizerUser.recognized = (s, e) => {
        toContentUser(tabId, e.result.text);
    };
}

the error occurs when i'm using the function :

startContinuousRecognitionAsync()

manifest.json
{
    "manifest_version": 3,
    "version": "1",
    "name": "Extension stt Azure MV3",
    "minimum_chrome_version" : "93",
    "content_scripts": [
        {
            "matches": ["<all_urls>"],
            "js": ["content.js",
                    "public/js/jquery-3.6.0.min.js"],
            "css": ["public/css/index.css"]

        }
    ],
    "background": {
        "service_worker" : "background.js"
    },
    "web_accessible_resources": [
        {
            "resources":["audiosources.html", "public/icons/copy_icon_24dp.png", "public/css/index.css"],
            "matches":["<all_urls>"],
            "use_dynamic_url": true
        }
    ],
    "permissions":["tabCapture", "tabs"],
    "action":{
        "default_popup":"popup.html",
        "default_icon" : "./public/icons/logo.png"
    }
}

Thanks for your help !

While I haven't written a Chrome extension, a quick look at the MV3 documentation makes me suspect you need to request cross origin permissions for the Speech SDK to be able to connect to the Azure Speech Service.
https://developer.chrome.com/docs/extensions/mv3/xhr/#requesting-permission
You could try adding permissions for *stt.speech.microsoft.com.

Not working, i think we just can't use dynamic script in new chrome extension manifest v3. However i am trying using sandbox pages for it since there is no CSP restriction. But i'm getting an error on the AudioContext() function
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page
I tried to initialize it before, resume it but not working.

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

It solves the problem sometimes
https://github.com/microsoft/cognitive-services-speech-sdk-js/issues/657


parse_dup and parse_file_dup APIs

These APIs dup the input string coming in in order to provide a hard limit to give valgrind a better chance of finding any errors where we may read off the end of the string.
Fixes #570

Great, thank you!


[benchmark] Janitor Duty: Final Sweep

Hopefully last of the cleanups…

@swift-ci please benchmark

Performance: -O

TEST
OLD
NEW
DELTA
RATIO

Regression

RemoveWhereQuadraticInts
478
1372
+187.0%
0.35x

RemoveWhereQuadraticStrings
1133
1720
+51.8%
0.66x

RemoveWhereFilterInts
22
28
+27.3%
0.79x (?)

ArrayPlusEqualArrayOfInt
260
280
+7.7%
0.93x (?)

Improvement

DataAppendDataLargeToLarge
24000
17600
-26.7%
1.36x (?)

RemoveWhereSwapInts
31
28
-9.7%
1.11x (?)

ArrayPlusEqualFiveElementCollection
2516
2331
-7.4%
1.08x (?)

Performance: -Osize

TEST
OLD
NEW
DELTA
RATIO

Regression

RemoveWhereQuadraticInts
480
1372
+185.8%
0.35x

RemoveWhereQuadraticStrings
1135
1720
+51.5%
0.66x

RemoveWhereFilterInts
22
28
+27.3%
0.79x (?)

SuffixCountableRangeLazy
4
5
+25.0%
0.80x (?)

Improvement

DataAppendDataLargeToLarge
24000
17600
-26.7%
1.36x (?)

RemoveWhereMoveInts
18
16
-11.1%
1.12x (?)

Performance: -Onone

TEST
OLD
NEW
DELTA
RATIO

Regression

RemoveWhereQuadraticInts
8904
103978
+1067.8%
0.09x

RemoveWhereQuadraticStrings
9889
45420
+359.3%
0.22x

Improvement

DataAppendDataLargeToLarge
24200
18000
-25.6%
1.34x (?)

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@swift-ci please benchmark

@swift-ci please benchmark

Performance: -O

TEST
OLD
NEW
DELTA
RATIO

Improvement

RemoveWhereQuadraticInts
480
98
-79.6%
4.90x

RemoveWhereQuadraticStrings
1134
316
-72.1%
3.59x

Code size: -O

TEST
OLD
NEW
DELTA
RATIO

Regression

RemoveWhere.o
24391
24983
+2.4%
0.98x

Performance: -Osize

TEST
OLD
NEW
DELTA
RATIO

Improvement

RemoveWhereQuadraticInts
484
96
-80.2%
5.04x

RemoveWhereQuadraticStrings
1133
319
-71.8%
3.55x

Code size: -Osize

TEST
OLD
NEW
DELTA
RATIO

Regression

RemoveWhere.o
24118
24486
+1.5%
0.98x

Performance: -Onone

TEST
OLD
NEW
DELTA
RATIO

Improvement

RemoveWhereQuadraticStrings
9848
4634
-52.9%
2.13x

RemoveWhereQuadraticInts
8861
4284
-51.7%
2.07x

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Hmm… I was trying to lower the workload of RemoveWhereQuadratic because on my machine the runtimes were simply egregious:

TEST
MIN(μs)

RemoveWhereQuadraticInts
10397

RemoveWhereQuadraticStrings
25880

but I see that these are much different on on modern hardware:

TEST
OLD
NEW
DELTA
RATIO

RemoveWhereQuadraticInts
480
98
-79.6%
4.90x

RemoveWhereQuadraticStrings
1134
316
-72.1%
3.59x

I'm unable to use legacyFactor here, because there is non-linear relationship between the workload size and resulting runtime. I think the performance of this benchmark is heavily dependent on L1 and L2 cache size. I'm going to leave it as is.

Can one of the admins verify this patch?

@swift-ci test

@swift-ci benchmark

Performance: -O

Improvement
OLD
NEW
DELTA
RATIO

DataAppendDataSmallToSmall
4200
3840
-8.6%
1.09x (?)

Code size: -O

Regression
OLD
NEW
DELTA
RATIO

InsertCharacter.o
5115
5195
+1.6%
0.98x

Performance: -Osize
Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

CharacterPropertiesFetch
5150
5860
+13.8%
0.88x (?)

String.data.LargeUnicode
123
135
+9.8%
0.91x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

@eeckstein I seem to have forgotten about this one. Thank's for remininding me, @CodaFi. Please review.


MT option in newer versions

Hi team,
I moved this from here: https://github.com/MicrosoftDocs/windowsserverdocs.de-de/issues/19
@Mac-Chiato commented 10 hours ago
Its not clear if the option /MT is available in newer versions than Windows 7 / Windows Server 2008R2
Newer versions should also be described here, as they are supported

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

ID: bf2281d4-1470-0658-ec5a-687fe2cd451c
Version Independent ID: 2ce2be3e-e3a2-790c-3bff-90efe7318450
Content: robocopy
Content Source: WindowsServerDocs/administration/windows-commands/robocopy.md
Product: windows-server
Technology: manage-windows-commands
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

I've been using robocopy since a couple of days now to copy data from my main storage to an external drive.
I have tested the /MT option first with a test-structure of empty folders and textfiles.
The task was finished immediately.
Then I have then copied a 30 GB folder with the /mt option, which took about 17 minutes(1,764 GB/minute).
The display of the percentage copied was shown in integers and progressed comparatively slowly, which caught my attention.
I have then copied a 53,2 GB folder without the /mt option, which took about 7 minutes(7,6 GB/minute).
The display of the percentage copied was shown in floating point numbers, which is updated with every first decimal place already copied.
I have run more tasks to provide for more data.
with /mt
11.195 GB in 7:53 minutes results in 1,42 GB/minute.
without/mt
50.662 GB in 4:39 minutes results in 10,89 GB/minute.
Then I have copied the same folder using both methods(first without then with /mt):
with /mt
4.929 GB in 0:21 minutes results in 14,08 GB/minute.
without /mt
4.929 GB in 0:27 minutes results in 10,95 GB/minute.
I have used the following commands for those operations:
robocopy "source-folder" "target-folder" /e /Move [/mt]
Since the comparison is an unexpected result I have run a further test of copying an identical folder(this time first with then without /mt).
with /mt
3.538 GB in 1:05 minutes results in 3,26 GB/minute.
without /mt
3.538 GB in 0:19 minutes results in 11,17 GB/minute.
I'm running a AMD Ryzen2700X. BIOS, Drivers, System is udpated.
I copied the folder which was copied faster with /mt enabled again.
with /mt
4.929 GB in 0:23 minutes results in 12,85 GB/minute.
without /mt
first run
4.929 GB in 0:42 minutes results in 7,04 GB/minute.
second run
4.929 GB in 0:43 minutes results in 6,87 GB/minute.
Each time I compared the copy times using the same folder I've been moving the already copied folder from the target back to the source using Ctrl+X and Ctrl+V (Cut&Paste), which was considerably slower.

I've been using robocopy since a couple of days now to copy data from my main storage to an external drive.
I have tested the /MT option first with a test-structure of empty folders and textfiles.
The task was finished immediately.
Then I have then copied a 30 GB folder with the /mt option, which took about 17 minutes(1,764 GB/minute).
The display of the percentage copied was shown in integers and progressed comparatively slowly, which caught my attention.
I have then copied a 53,2 GB folder without the /mt option, which took about 7 minutes(7,6 GB/minute).
The display of the percentage copied was shown in floating point numbers, which is updated with every first decimal place already copied.
I have run more tasks to provide for more data.
with /mt
11.195 GB in 7:53 minutes results in 1,42 GB/minute.
without/mt
50.662 GB in 4:39 minutes results in 10,89 GB/minute.
Then I have copied the same folder using both methods(first without then with /mt):
with /mt
4.929 GB in 0:21 minutes results in 14,08 GB/minute.
without /mt
4.929 GB in 0:27 minutes results in 10,95 GB/minute.
I have used the following commands for those operations:
robocopy "source-folder" "target-folder" /e /Move [/mt]
Since the comparison is an unexpected result I have run a further test of copying an identical folder(this time first with then without /mt).
with /mt
3.538 GB in 1:05 minutes results in 3,26 GB/minute.
without /mt
3.538 GB in 0:19 minutes results in 11,17 GB/minute.
I'm running a AMD Ryzen2700X. BIOS, Drivers, System is udpated.
I copied the folder which was copied faster with /mt enabled again.
with /mt
4.929 GB in 0:23 minutes results in 12,85 GB/minute.
without /mt
first run
4.929 GB in 0:42 minutes results in 7,04 GB/minute.
second run
4.929 GB in 0:43 minutes results in 6,87 GB/minute.
Each time I compared the copy times using the same folder I've been moving the already copied folder from the target back to the source using Ctrl+X and Ctrl+V (Cut&Paste), which was considerably slower.

Adding some more results, since I have to copy the data anyway:
with /mt
x GB in x:xx minutes results in x GB/minute.
x GB in x:xx minutes results in x GB/minute.
x GB in x:xx minutes results in x GB/minute.
without /mt
26.676 GB in 2:35 minutes results in 10,32 GB/minute.
x GB in x:xx minutes results in x GB/minute.

Adding some more results, since I have to copy the data anyway:
with /mt
x GB in x:xx minutes results in x GB/minute.
x GB in x:xx minutes results in x GB/minute.
x GB in x:xx minutes results in x GB/minute.
without /mt
26.676 GB in 2:35 minutes results in 10,32 GB/minute.
x GB in x:xx minutes results in x GB/minute.

#assign:xelu86

Hey @steved0x,
Thanks again for contacting Microsoft. We value your feedback.
From my understanding, the /mt parameter in robocopy should function in all versions of Windows starting from Windows 7 and Windows Server 2008 R2 up to Windows 11 and Windows Server 2022.
Will add a note under the "copy options" section for this distinction. Changes will be live after the next business day. Thank you and have a most pleasant day.
#please-close

Apologies @steved0x, I meant to tag @mac-chiato.


stringify option to disable alias in output

Is your feature request related to a problem? Please describe.
hi, thanks for the useful library. I use it to generate pipeline definition YAML.
Sadly the do not accept alias syntax in YAML.
Describe the solution you'd like
A way to disable alias in the output
Describe alternatives you've considered
I am doing some workarounds but sometimes it seems to automatically detect duplicate content and create alias to it.
Additional context
thank you for your time

The option you're looking for is aliasDuplicateObjects, see here: https://eemeli.org/yaml/#createnode-options

Thanks


Pretrained checkpoint parameters loaded failed

Thank you for your amazing work on the Mamba2 model. I am currently trying to load a pretrained model on VMamba Tiny-224 for image classification, but I encountered the following error:
File "vmamba.py", line 48, in _load_from_state_dict     state_dict[prefix + "weight"] = state_dict[prefix + "weight"].view(self.weight.shape) RuntimeError: shape '[192, 96]' is invalid for input of size 9216
It seems that the shape of the weight tensor does not match the expected input size. Could you please provide guidance on how to resolve this issue? Is there a specific step I might be missing or a modification needed in the model architecture?
Thank you.

I did not encounter this problem, can you show me the traceback (in which layer of which stage this problem encounters)?

Actually when i run directly like your example it's working normal:

but when i run for training on my dataset, it's have trouble on load_pretrained_ema like this image:

Can you help me to explain for my error.
Thank you.


Update documentation

The documentation is a bit outdated and is due for a refresh.
This will involve:

a more thorough comparison with differences with the Python API.
making sure all the information is relevant and correct
improving the documentation pipeline

I would love to help with this. Is there a watch mode for the documentation?

It's now all in the repository as markdown.

Awesome!


Launchpad UX suggested revisions

Background
Hi, I'm James from Prysmatic Labs. We have been doing some research into the UX of becoming a validator and have thought about various changes that could improve this experience. I prepared a doc here
Major Points

currently key actions ( syncing eth 1 and eth2 nodes ) from advisories section 9 (checklist) is easily missed

can we provide more warning on the select a client pages to ensure users are fully synced after installation or linked back to the check list
possibly even adding more warning on advisories section 9 to include risks for not completing checklist prior to deposit.

currently mentions "While you can use a third-party service like Infura, we recommend running your own client in order to ensure the network stays as decentralised as possible." is this the case for Test net as well ( reduces hardware requirements for testing)?
can we add during " choosing client sections " that setup should be for specific network ( launchpad network) that it's for x testnet so users are not accidently syncing on the wrong network, also repeating advisories on setup for the eth2 client?

perhaps provide some warning that without prior setup you may be subject to premature penalties ( activated validator without the validator running properly on machine)

provide more information on how to get initial eth for testnet onboarding
stretch: change UI design ( like color ) and possibly some of the risks based on network selection to distinguish Mainnet from Testnet pages ( even though url is different it would be more clear to initial users)
stretch: provide a launchpad for advanced users that would like to skip the checklist warnings ( suggestion detect if user already went through launchpad once somehow )

use case for advanced users or ones that have been through the process prior or for users who need to go through this for multiple deposits/system setups

Thanks for putting this together @james-prysm

* stretch: provide a launchpad for advanced users that would like to skip the checklist warnings ( suggestion detect if user already went through launchpad once somehow )

  * use case for advanced users or ones that have been through the process prior or for users who need to go through this for multiple deposits/system setups

I strongly support this, as most of the users get familiar with the launchpad-steps on the testnet. It would also improve the UX for existing stakers (adding more validators).

Thanks for the write up @james-prysm, definitely some good suggestions here! The accompanying doc is amazing too.

More fully synced warnings - Definitly, I'll look into it
Recommendation to run own eth1 client on testnets - I'm reluctant to remove this as I want to encourage users to get used to configuring their own "eth1" node. (It enhanced the 1st point above)
"add during choosing client sections that setup should be for specific network" - agree this is beneficial
more info on faucets - this seems doable
stretch: change UI design ( like color) - I think this sould be easy to implement with a filter/overlay so as not to have to design a new colour pallet.
stretch: skip checklist warnings - as a part of our policy of not having any storage/cookies, I don't see how we can make this automatic. Offering a button/page without these checks should be possible tho

Another thought on this is the UX for someone that wants to top off their eth, perhaps they started with 32 eth, something happened, they'd like to deposit more. would the launch pad still be the appropriate place to do this?

Hey @james-prysm! Circling back to this, noticing that many of the items you have mentioned have since been addressed.

provide more information on how to get initial eth for testnet onboarding

We do still appear to be lacking in the faucet department... similar to my comments here I think if we can find a dependable way to provide a faucet for stakers, it would be a great feature to add information about this to the Launchpad. If we want to pursue this at this point, I'd suggest we open a new issue to track separately.

stretch: provide a launchpad for advanced users that would like to skip the checklist warnings ( suggestion detect if user already went through launchpad once somehow )

I also tend to agree with this, although previous discussions resulted in erring on the side of caution and intentionally keeping some friction here. Would be curious to hear how others feel after some time has passed. If we want to do pursue this, similar I'd suggest we open an independent issue to track progress, and we can reach out for some design help.

Going to close this issue out in the meantime, but as noted if we still want to pursue the remaining items, it would help to have them split off as independent issues. 🙏  Please feel free to override and re-open if you feel I've missed anything else here.


POC: Custom validation using go-playgroung/validator

Signed-off-by: Mayank Shah<EMAIL_ADDRESS>

@yashvardhan-kukreja , I like the idea of just implementing validation functions which implement an interface, that way anyone can come-in and add new validation fns.
One thing we'd miss without the go-playground/validator is that, Our addon-metadata operator's CRDs would have marker based validations which can easily be copied to the struct's fields for the go-playground/validator to validate. (free validations w/o writing a single line of code).
Wdyt @mayankshah1607 @yashvardhan-kukreja @sugarraysam

Left a lengthy comment in JIRA ticket. Will not copy it here again, please have a look!

One thing we'd miss without the go-playground/validator is that, Our addon-metadata operator's CRDs would have marker based validations which can easily be copied to the struct's fields for the go-playground/validator to validate. (free validations w/o writing a single line of code).

We could simply add a single function to do tag base go-playground style validation:
type ValidationObjects struct {
  AddonMetadata *AddonMetadata `validate: "require"`
  Bundle *Bundle `validate: "require"`
  ImageSet *ImageSet `validate: "require"`
}

func(obj ValidationObjects) (error,string) {
  // single place where we use it - dont have to be global
  validator = validator.New()

  // recursive tag-level based validation (will dive in structs)
  err := validator.Struct(obj)

  // interpret err, get str etc.
  return err, "some message"
}

@yashvardhan-kukreja , I like the idea of just implementing validation functions which implement an interface, that way anyone can come-in and add new validation fns.
One thing we'd miss without the go-playground/validator is that, Our addon-metadata operator's CRDs would have marker based validations which can easily be copied to the struct's fields for the go-playground/validator to validate. (free validations w/o writing a single line of code).
Wdyt @mayankshah1607 @yashvardhan-kukreja @sugarraysam

Nice catch Ashish but I thought about that as well and that won't be a concern.
We can still move ahead and tag the structs with go-validator's tags and that will give the new engineer/developer, while coding their validator, an opportunity to still make use of those tag-level validations by calling the validator.Struct(<object>) method inside the validator function which they shall be writing.
And if someone else, trying to add another validator, doesn't want to make use of go-validator and those tag-level validations, they can just simply choose to skip tag-level validation by not calling the go-validator's method (validator.Struct(<object>)) for tag-level validation. And hence, they can code out their validator in whatever manner they want to :)

I have some ideas and proposals around that and will be raising them as a PR by tomorrow on this repo :)

I just checked out the commit which was pushed by Mayank. And that commit is accomplishing the exact proposal (ValidatorFunc) which I was suggesting and wanted to implement. So, I am totally in favor with the latest state of this PR.

Just checked out the latest commit by @mayankshah1607 . It's pretty much exactly in line with what I was suggesting (ValidatorFunc). So, thanks for implementing that out :)
I just had one suggestion here for the design of ValidatorFunc.
I suppose it would be better to make ValidatorFunc have this signature instead ValidateFunc func(mb *MetaBundle) (bool, error)
The bool denotes success/failure of validation (true -> success, false -> failure)
the error denotes any error which occurred while executing the ValidatorFunc.
Feels more semantic to me.
What do you folks think? :)

BTW, I've provided some boiler plate for color-coding logs and stuff too.
Just checked that out. Looks fab!

Please feel free to fork this branch and push changes as you feel. We will get this merged once it looks good :)
Regarding I have already forked your forked repo instead. And I'll be going to make a PR against mayankshah1607:mayank/implement-validation
And if it looks good, you can approve and merge it in the future (with mayank/implement-validation branch), its commit/commits will be automatically reflected. So things would stay clean :)


Support for swift 4

When do you think this project will support swift 4?

Soon
Now I haven't time for update project, sorry

@nevinjethmalani  I am updated for Swift 4, please, update pod! Thanks


The to email parameter is required.","field":"personalizations

I am trying to send email to many recipients with template & persotionalization.
I am getting Error:
SendGrid\Response Object ( [statusCode:protected] => 400 [body:protected] => {"errors":[{"message":"The to email parameter is required.","field":"personalizations.0.to.0.email","help":"http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.personalizations.to"}]} [headers:protected] => Array ( [0] => HTTP/1.1 400 Bad Request [1] => Server: nginx [2] => Date: Sat, 30 May 2020 20:50:40 GMT [3] => Content-Type: application/json [4] => Content-Length: 206 [5] => Connection: keep-alive [6] => Access-Control-Allow-Origin: https://sendgrid.api-docs.io [7] => Access-Control-Allow-Methods: POST [8] => Access-Control-Allow-Headers: Authorization, Content-Type, On-behalf-of, x-sg-elas-acl [9] => Access-Control-Max-Age: 600 [10] => X-No-CORS-Reason: https://sendgrid.com/docs/Classroom/Basics/API/cors.html [11] => [12] => ) )
outpout of print_r($email) is:
SendGrid\Mail\Mail Object ( [from:SendGrid\Mail\Mail:private] => SendGrid\Mail\From Object ( [name:SendGrid\Mail\EmailAddress:private] => ABC [email:SendGrid\Mail\EmailAddress:private] =><EMAIL_ADDRESS>[substitutions:SendGrid\Mail\EmailAddress:private] => [subject:SendGrid\Mail\EmailAddress:private] => ) [subject:SendGrid\Mail\Mail:private] => [contents:SendGrid\Mail\Mail:private] => [attachments:SendGrid\Mail\Mail:private] => [template_id:SendGrid\Mail\Mail:private] => SendGrid\Mail\TemplateId Object ( [template_id:SendGrid\Mail\TemplateId:private] => xxxxxxxxxxxxxxxxxxxxxxxxxx3 ) [sections:SendGrid\Mail\Mail:private] => [headers:SendGrid\Mail\Mail:private] => [categories:SendGrid\Mail\Mail:private] => [custom_args:SendGrid\Mail\Mail:private] => [substitutions:SendGrid\Mail\Mail:private] => [send_at:SendGrid\Mail\Mail:private] => [batch_id:SendGrid\Mail\Mail:private] => [asm:SendGrid\Mail\Mail:private] => [ip_pool_name:SendGrid\Mail\Mail:private] => [mail_settings:SendGrid\Mail\Mail:private] => [tracking_settings:SendGrid\Mail\Mail:private] => [reply_to:SendGrid\Mail\Mail:private] => [personalization:SendGrid\Mail\Mail:private] => Array ( [0] => SendGrid\Mail\Personalization Object ( [tos:SendGrid\Mail\Personalization:private] => [ccs:SendGrid\Mail\Personalization:private] => [bccs:SendGrid\Mail\Personalization:private] => [subject:SendGrid\Mail\Personalization:private] => [headers:SendGrid\Mail\Personalization:private] => [substitutions:SendGrid\Mail\Personalization:private] => [dynamic_template_data:SendGrid\Mail\Personalization:private] => [has_dynamic_template:SendGrid\Mail\Personalization:private] => [custom_args:SendGrid\Mail\Personalization:private] => [send_at:SendGrid\Mail\Personalization:private] => ) [1] => SendGrid\Mail\Personalization Object ( [tos:SendGrid\Mail\Personalization:private] => Array ( [0] => ArrayObject Object ( [storage:ArrayObject:private] => Array ( [0] => Array ( [email] =><EMAIL_ADDRESS>) [1] => Array ( [email] =><EMAIL_ADDRESS>) [2] => Array ( [email] =><EMAIL_ADDRESS>) [3] => Array ( [email] =><EMAIL_ADDRESS>) [4] => Array ( [email] =><EMAIL_ADDRESS>) ) ) ) [ccs:SendGrid\Mail\Personalization:private] => [bccs:SendGrid\Mail\Personalization:private] => [subject:SendGrid\Mail\Personalization:private] => [headers:SendGrid\Mail\Personalization:private] => [substitutions:SendGrid\Mail\Personalization:private] => Array ( [Title] => Array ( [0] => น.ส. [1] => นาย [2] => น.ส. [3] => นาง [4] => นาย ) [FirstName] => Array ( [0] => First_ 11117554 [1] => First_ 11117555 [2] => First_ 11117556 [3] => First_ 11117557 [4] => First_ 11117558 ) [LastName] => Array ( [0] => Last_ 11117554 [1] => Last_ 11117555 [2] => Last_ 11117556 [3] => Last_ 11117557 [4] => Last_ 11117558 ) [UserName] => 904345343 [Password] => xxxxxxxxxxxx ) [dynamic_template_data:SendGrid\Mail\Personalization:private] => [has_dynamic_template:SendGrid\Mail\Personalization:private] => [custom_args:SendGrid\Mail\Personalization:private] => [send_at:SendGrid\Mail\Personalization:private] => ) ) )
I can see email parameters are present. Code is as below:
$email = new SendGrid\Mail\Mail();
<EMAIL_ADDRESS>"ABC");
$personalization = new SendGrid\Mail\Personalization();
$personalization->addTo($recipients,null, 0);
$email->addPersonalization($personalization);
$email->setTemplateId(
new \SendGrid\Mail\TemplateId( $TEMPLATE_ID )
);
$email->addDynamicTemplateDatas( [
'Title'     => $title,
'FirstName' => $fname,
'LastName' => $lname,
'UserName' => $username,
'Password' => $password
] );
$sendgrid = new \SendGrid('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
print_r($email);
$response = $sendgrid->send($email);
print_r($response);

Did you use this code in previous version of this library, or did you find this code somewhere else?
This sample has a few issues (if using current version):
$personalization->addTo($recipients,null, 0);
The addTo method of Personalization accepts just a single argument. You provided 3, which suggest you intent to use addTo method of Mail (?).
According to tos member of Personalization, the array contains an ArrayObject instead of To instances. Because the ArrayObject is added, contents are extra wrapped and that isn't recognized by the API.
If your purpose is to 'send a single message having the same contents, to multiple recipients which see each other' (which your code sample does), remove the 3 Personalization lines and add every recipient in a loop by $email->addTo($recipient); $recipient contains the email address (string or created To instance).

Hi kampalex
Thank you for quick response.
Actually I have tried initially Personalization with  single argument.
My requirement is :

I need to send single email with username & password to each recipient.
recipient email 7 username, passwords are picked from database
Each recipient will see only his email in To field.
I already have template at sendgrid ( username & password ) will be replaced in  template.

I will try again. If you kenow any sample which fulfills above requirements then please share,
Thanks in advance

I had the same idea while I was reading your code sample.
You have to personalize every single message which has their own substitutions. If you convert this sentence to code, you have to create a single Personalization instance for every recipient, apply addTo and addSubstitution methods and append onto Mail instance using addPersonalization.
Please take a look at the Kitchen Sink example, which contains sample code to add multiple Personalization instances having different settings.
(Note to myself: Maybe it's an idea to implement addSubstitutions in Personalization which accepts an array containing multiple substitutions.)

I am not sure what I am doing wrong, everything looks good. Now only issue remaining is all emails are sent to last email in percipient array:
$email = new SendGrid\Mail\Mail();
<EMAIL_ADDRESS>"ABC");

$i=0;
$Emailobject = new stdClass();
$personalization=array();
foreach ($recipients as &$recipient) {
$Emailobject->email = $recipient;

$personalization[$i] = new SendGrid\Mail\Personalization();

$personalization[$i]->addTo($Emailobject);

$email->addPersonalization($personalization[$i]);

$email->setTemplateId(
new \SendGrid\Mail\TemplateId( $TEMPLATE_ID )
);

$email->addDynamicTemplateDatas( [
'Title'     => $title[$i],
'FirstName' => $fname[$i],
'LastName' => $lname[$i],
'UserName' => $username[$i],
'Password' => $password[$i]

] );
$i++;
}
echo json_encode($email, JSON_PRETTY_PRINT), "\n";
See $email
{ "personalizations": [ { "to": [ { "email": "<EMAIL_ADDRESS>} ], "dynamic_template_data": { "Title": "\u0e19.\u0e2a.", "FirstName": "First_ 11117554", "LastName": "Last_ 11117554", "UserName": "kamal", "Password": "5lQ8685F" } }, { "to": [ { "email": "<EMAIL_ADDRESS>} ], "dynamic_template_data": { "Title": "\u0e19\u0e32\u0e22", "FirstName": "First_ 11117555", "LastName": "Last_ 11117555", "UserName": "4043017468", "Password": "8bA7B708" } }, { "to": [ { "email": "<EMAIL_ADDRESS>} ], "dynamic_template_data": { "Title": "\u0e19.\u0e2a.", "FirstName": "First_ 11117556", "LastName": "Last_ 11117556", "UserName": "4043018163", "Password": "7yC5CDF8" } }, { "to": [ { "email": "<EMAIL_ADDRESS>} ], "dynamic_template_data": { "Title": "\u0e19\u0e32\u0e07", "FirstName": "First_ 11117557", "LastName": "Last_ 11117557", "UserName": "4043027780", "Password": "1mWB23B8" } }, { "to": [ { "email": "<EMAIL_ADDRESS>} ], "dynamic_template_data": { "Title": "\u0e19\u0e32\u0e22", "FirstName": "First_ 11117558", "LastName": "Last_ 11117558", "UserName": "4043030343", "Password": "7bO61444" } } ], "from": { "name": "ABC", "email"<EMAIL_ADDRESS>}, "template_id": "d-e7f2a5aace61444bb486e2ebd6e65823" }

I suggest to clean up some output in your post. It may contain sensitive data.
The cause of the 'last address is used everywhere' is because you're using the same object (reference) in every Personalization instance you've created. In the foreach loop, property email of this object is overwritten every time, so its value equals latest value of $recipients.
Much better would be using like this:
// $recipient =<EMAIL_ADDRESS>$personalization[$i]->addTo(new SendGrid\Mail\To($recipient));

I'm still not confident how you assign your addDynamicTemplateDatas onto $email, but it works for now because it's assigned to the last added Personalization.
Leave out the setTemplateId() from the foreach loop.

Thank you for suggestion, all data is demo data, not real data.
problem is not with Personalization, it works perfectly good.  I found the issue, i moved $Emailobject = new stdClass(); inside the loop and problem is solved.
Final code which works is below, in case someone else needs it.
However I have a suggestion, which may be good idea to implement for future. $personalization[$i]->addTo($Emailobject); should be able to take  parameter as string/array element, instead of object, which can save lot of trouble converting array element to object.
`$email = new \SendGrid\Mail\Mail();
<EMAIL_ADDRESS>"ABC");
$i=0;
$personalization=array();
foreach ($recipients as &$recipient) {
$Emailobject = new stdClass();
$Emailobject->email = $recipient;
$personalization[$i] = new SendGrid\Mail\Personalization();
$personalization[$i]->addTo($Emailobject);
$email->addPersonalization($personalization[$i]);
$email->addDynamicTemplateDatas( [
'Title'     => $title[$i],
'FirstName' => $fname[$i],
'LastName' => $lname[$i],
'UserName' => $username[$i],
'Password' => $password[$i]

] );
$i++;
}
$email->setTemplateId(
new \SendGrid\Mail\TemplateId( $TEMPLATE_ID )
);
echo json_encode($email, JSON_PRETTY_PRINT), "\n";`

However I have a suggestion, which may be good idea to implement for future. $personalization[$i]->addTo($Emailobject); should be able to take parameter as string/array element, instead of object, which can save lot of trouble converting array element to object.

I agree with that, but limited to only allow string (email address) or To instance. Just like the addTo method in Mail.
For now, I strongly recommend to use a To instance because pattern validation of the provided email address can be performed.


Skia fails to compile on Flutter 2.3 branch with Xcode 12

For example: https://ci.chromium.org/p/flutter/builders/prod/Mac beta iOS Engine Release/85
This happened because the version of Xcode across Flutter's LUCI builds was incremented from Xcode 11 -> Xcode 12, and the newer version has different clang settings, causing a compilation error in the skia source. This was fixed upstream by: https://skia-review.googlesource.com/c/skia/+/418636
I worked around this by re-running affected builds, overriding the Xcode version with Xcode 11.

Further worked around by hardcoding into the builder config which release branch should use which xcode version: https://github.com/flutter/infra/pull/483
The permanent solution will be once we auto-generate builder config from .ci.yaml cc @CaseyHillers

Tracking issue for ci.yaml generation is in https://github.com/flutter/flutter/issues/84998. Once complete, we'll need to wait for it to roll into the next stable.

Tracking issue for ci.yaml generation is in #84998. Once complete, we'll need to wait for it to roll into the next stable.

Will it require a non-trivial refactor to the ci.yaml? In other words, if the .ci.yaml change is easy to cherrypick, I would rather do that and remove my code hard-coding the xcode version on beta branch.

It should be trivial to cherypick the platform args into the release branches. I'll need to be mindful of the builder changes and applying them to the release branch .ci.yaml as well

It should be trivial to cherypick the platform args into the release branches. I'll need to be mindful of the builder changes and applying them to the release branch .ci.yaml as well

oh, we need to migrate all the builder properties into .ci.yaml, right?

Yes, good point. I'll just add an AI for me in https://github.com/flutter/flutter/issues/84998 to CP these changes to the release branches as well.

This field is now being tracked in .ci.yaml, so this is completed.


no-restricted-paths with absolute import paths

if I import module like
// folder 1
import x from "src/folder2/module"; // expect no-restricted-paths error

// folder 2
import x from "src/folder1/module"; // expect no-restricted-paths error

however, this doesn't work for me with this setup
        "import/no-restricted-paths": ["error", {
            "zones": [
                { "target": "src/folder2", "from": "src/folder1" },
                { "target": "src/folder1", "from": "src/folder2" }
            ]
        }],

Note: for relative path imports this rule works though.
Can someone help please?

Note: these are not absolute paths (which start with /), they're bare identifier paths (which start with anything besides . or /).
What is src? How is it defined? Typically this rule is used only on relative paths - bare identifiers are generally "things in node_modules" and as such, it wouldn't make sense to warn on those since you can't change them.

src is main local directory, webpack resolver is setup so that people can import like src/folder/... instead of ../../../../folder/..
this is how eslint import plugin setup
    "settings": {
        "import/resolver": {
            "node": {
                "paths": ["."],
                "extensions": [".js", ".jsx"]
            }
        }
    },

If you're using webpack to alias src, then import/resolver also needs to include a webpack entry - otherwise the eslint plugin doesn't have any idea what src means.

I see, trying different things here and no luck, could you please an example?
im looking at this https://www.npmjs.com/package/eslint-plugin-import#resolvers

Add https://www.npmjs.com/package/eslint-import-resolver-webpack - and alongside node, add "webpack": {}.

Thank you! Everything works now


MapR 6.1 MEP 6.3 KD app

MapR app on KD version 1.0

This version of the app is designed for KD and also each services is made to run independent pods, while in EPIC few services were grouped
There is no need for repo location because all the required services are already installed on docker file, based on pod respective services gets enabled and configured
As per the requirement for 5.1, it was decided to have only MapR core functionality, Hive, Hue and Edge services.
Through secrets user can change the default MapR admin password and also pass the ssl_truststore and mapr-clusters.conf information to the pod (currently provided as a workaround). Until this feature gets in KD.
There are 2 dockerfiles one for MEP and other one for edge pod. The reason for having 2 is because few packages cannot co-exist, mapr-core and mapr-client packages cannot co-exist.

Lots of indentation/format variation in the JSON... can you run it through a formatter to clean it up?

I have fixed the indentation of JSON and YAML files


Modify issue from baseline testing

1.change function name.
2.modify arguments of ini file.
3.fix a bug of toup camera connect.

4.add guard code for PID enable

modify the solution of fix bug of toup camera connecting fail

fix one bug, when exit application need close focus camera

windows platform compatible

add function for tune gain on the software


Add events for users including @-file or @#-symbol tagging in chat inputs

Today, Cody Chat in VSC supports tagging files (with @) and symbols (with @#) to include in Cody's context, but we don't have a way of knowing how valuable this functionality is to users.
Can we add telemetry to log these events (without capturing the actual file or symbol that was tagged) so that we can measure this?

@kelsey-brown how should we get started on this? I assume you will have to enable the data collection fields first?

@taylorsperry @kalanchan the telemetry should be available in looker 🫡  https://sourcegraph.slack.com/archives/C05AGQYD528/p1707962756304409?thread_ts=1707959968.144029&channel=C05AGQYD528&message_ts=1707962756.304409

Looker: https://sourcegraph.looker.com/looks/1883
Doc: https://docs.google.com/document/d/17Ia6LEcwnPu6pOBv6UZlP0aJGEZbIjxDjPiYdbnliWI/edit


avoid $WORKDIR

WORKDIR was set to PWD, which might not be set on Windows.
It used to produce other problem edge cases (e.g. COMMANDS = .), testing src-d/ci examples, etc.
Signed-off-by: Santiago M. Mola<EMAIL_ADDRESS>

Note that this will break rovers, that will need to set COMMANDS = .. Before, it was just working by pure chance, just because cd $(WORKDIR)/$@ was failing but execution continued.


Analysing filter usage

We want to know if providing filters has improved the user experience

Dates
Formats
Locations
Library catalogue/Images

Definition of success is

Users find what they are looking for more quickly

We'll know if we're succeeding if we measure the following metric and this happens

Higher click through rate (CTR)
Lower average page position of work selected for viewing

Definition of failure is

Users take longer to find what they're looking for

We'll know if we're failing if we measure the following metric and this happens

Lower click through rate (CTR)
Higher average page position of work selected for viewing

Slides containing analysis here:
https://wellcomecloud.sharepoint.com/:p:/r/sites/wcdigitalexperience/_layouts/15/Doc.aspx?sourcedoc={FB45416E-9DCD-46B6-98F9-49FABADD8276}&file=5833 Analysis of filter usage 14Dec.pptx&action=edit&mobileredirect=true


Excluding node type does not seem to have an effect

Problem
Hi,
I am trying to exclude a certain node type from the indentation scope, so that the indent line is not drawn in that place.
Perhaps, I misunderstand the way the exclude list should work?
Steps to reproduce
I am editing the C++ source file like this:
class {
 public:
  void M() {
  }
 private:
};

Our style guide forces single space for public keyword, then there is a double space for actual functions and fields of the class.
I am trying to remove the indent line that goes from the public keyword down. This is the treesitter node called access_specifier, so I added this to the exclude list as so:
require("ibl").setup({
  indent = { char = "┊" },
  scope = {
    show_start = false,
    show_end = false,
    exclude = {
      node_type = {
        cpp = { "access_specifier" },
      },
    },
  },
})

However, the indent line for the scope is still drawn, resulting in the 3 lines inside void M(), which is not very pleasing:

Expected behavior
The indent scope should not be created, or perhaps documentation should be extended to show how to exclude certain node types.
Neovim version (nvim -v)
NVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794

Please read :help ibl.config.scope. Scope is an additional highlight that shows the scope the cursor is in.
Normal indentation does not use treesitter. You cannot exclude a node type from normal indentation.


Provide an API to return the resources that a label is referenced by

The API returns the resources that the label is referenced by. The resources contain only replication policies for now.

Coverage decreased (-2.6%) to 61.926% when pulling 4e0c5f3612e1d684491de86e396a54ad8935459f on ywk253100:180613_label_resource into 9c1d3c259a152372d98dca886f7d5e89593783af on vmware:master.


TFCat validator

To validate the format of the TFCat catalogue, the validate function of tfcat package can be used
from tfcat.validate import validate_file
validate_file('my_catalogue_tfcat.json')

tfcat doesn't seem to be available through pip install - is this the version you use? https://gitlab.obspm.fr/maser/catalogues/tfcat

Yes it's indeed this version.
I think you should be able to install it by doing:
pip install git+https://gitlab.obspm.fr/maser/catalogues/tfcat.git
(I just tested it, it seems to have worked well).

Unfortunately, that gives me a Permission denied (publickey) error, which it shouldn't because I'm doing keyless SSH clone. Looking into it, it looks like the command fails when it attempts to pull in the JSON schema submodule... which is also public, do shouldn't require a key. Do you happen to have an SSH key registered on the GitLab?

This is indeed due to a submodule using the json Python package. It should have been removed for now, since it is not yet usefull.
Can you try again?

Installs fine on my office Mac - I'll leave this issue open until I've tested it on Ubuntu as well.

It no longer does! Fixed. I need to test it running to make sure I'm using it properly.


add missing attributes and relocate macro

Hi there! I found some functions that where missing several attributes, so I fixed that.
I also moved the round_op! macro to the avx module, just before the related functions are, as cmp_op! is, and that also fixes it being properly feature-gated, as was show in the docs.

out in safe_arch-0.7.3


Working on calling step from other step, need function 'resolveStepDefinition' be exported in steps.js

My team is using cypress-cucumber-preprocessor, it's so great and helpful. In our old project (selenium+cucumber.ruby), we relied on 'step' function to call step from other step, now we're migrating test, people would love to have that function with cypress-cucumber;
The issue is we can't import/require function 'resolveStepDefinition' in the framework, because it's not exported in /node_modules/cypress-cucumber-preprocessor/steps.js.

Current behavior
When we import 'cypress-cucumber-preprocessor/steps', we only get
Then,
And,
But,
Given,
When,
Before,
After,
defineParameterType,
defineStep,

Desired behavior
Hoping we can have 'resolveStepDefinition' exported in steps.js, I guess it shouldn't be too much work. We could move whole cypress-cucumber-preprocessor folder to /plugins of cypress, but we wouldn't want to miss any new update of this repo in the future. So, can someone help? Thanks very much!

Test code to reproduce

Versions

Cypress version: 5.6.0
Preprocessor version: 4.0.0
Node version: 12.13.0

Duplicate of https://github.com/TheBrainFamily/cypress-cucumber-preprocessor/issues/170.

Duplicate of https://github.com/TheBrainFamily/cypress-cucumber-preprocessor/issues/170.

So looks like badeball has a workaround for you :) Let us know if it works for you, preferably in that other thread.
Also, thanks for the nice words!

So looks like badeball has a workaround for you :) Let us know if it works for you, preferably in that other thread.
Also, thanks for the nice words!

I saw the workaround in #170, tried that and worked, thanks for your help!!

I saw the workaround in #170, tried that and worked, thanks for your help!!


Failed to spawn process: EACCES: permission denied

Description
The error described in the title occurs upon opening neovim and status is not detected in Discord. Setting log_level="trace" and calling :message yields no further information.
Operating system
Manjaro 6.11.11-1-MANJARO
Neovim version
NVIM v0.10.2
Build type: RelWithDebInfo
LuaJIT 2.1.1731601260
Run "nvim -V1 -v" for more info

Steps to reproduce

nvim

Expected behavior
Detection of neovim status under Discord "Registered Games" in User Settings.
Actual behavior
An error ocurrs upon neovim start up:

and no reflection of status in Discord:

Minimal configuration
return
{
  {
    'vyfor/cord.nvim',
    branch = 'client-server',
    build = ':Cord fetch',
    event = "VeryLazy",
    opts = {}, -- calls require('cord').setup()
  },
}

Hey, could you please try running chmod +x ~/.local/share/nvim/cord/bin/cord (assuming that's where nvim stores the data dir for you) and restart Neovim?

This worked after closing all instances of Neovim and restarting Discord. Apologies for the trouble.

I've added the chmod call to the plugin, so this issue should no longer occur in future releases.
I assume your problem is resolved, so I'll go ahead and close this. If you run into any other issues, feel free to open a new one.


Incorrect issuer provided as guidance

In your guidance to use the OpenID provider in case the function app is in another tenant (which, I guess would be then norm?), it's stated to just replace the tenant id from the template string https://login.microsoftonline.com/{tenantId}/v2.0/.well-known/openid-configuration
This led to my EasyAuth configuration on my function app to reject any requests.
JWT validation failed: Issuer validation failure - Expected: https://login.microsoftonline.com/TENANT_ID/v2.0; Token: https://TENANT_ID.ciamlogin.com/TENANT_ID/v2.0

Instead, for the metadata url I had to use https://TENANT_NAME.ciamlogin.com/TENANT_ID/v2.0/.well-known/openid-configuration to make it work.

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

ID: ef99966f-e466-d7fe-3f12-8e725ac0ce85
Version Independent ID: 827894b5-38c5-7dac-0b90-8f839996c87d
Content: Get started with custom claims providers (preview) - Microsoft identity platform
Content Source: docs/identity-platform/custom-extension-get-started.md
Service: identity-platform
GitHub Login: @cilwerner
Microsoft Alias: cwerner

@mdddev
Thanks for your feedback! We will investigate and update as appropriate.

@mdddev
Thank you for bringing this to our attention! We've initiated a pull request (PR) to address this issue. Once the author reviews the changes, they will be merged, and the updates should go live shortly. Your diligence is much appreciated!


Delete persisted state via Nuxt lifecycle hooks

vuex-persistedstate version: 3.2.0
node version: 12.16.3
npm (or yarn) version: 6.14.10

Relevant code or config
In nuxt.js, I'm trying to delete the data in my cart when arriving to the confirmation page.
index.js
export const state = {
  cart: []
}
export const mutations = {
  resetCart (state) {
    Object.assign(state, { cart: []} )
  }
}

/pages/confirmation/index.vue
methods: {
   deleteCart: function() {
      let self = this
      setTimeout(function(){
        self.$store.commit('resetCart');
      })
   }
},
mounted() {
    this.deleteCart()
}

What you did:
I wrote a method deleteCart that commits a mutation in order to reset the cart state. Then used mounted nuxt lifecycle hook to fire the method.
What happened:
If no setTimeout is used, the method works, but persistedState acts after that and overwrites with the previous state. Just using setTimeout I am able to reset the state after persitedState.
Problem description:
It is not very cosistent to use a timeout.
Suggested solution:
Is there any event I could use in order to know that persistedState has done its job and then reset the state? Any solution is welcome. Thanks in advance!

Same issue with you, however for me I do redirection and before I complete my redirection I reset the vuex state to initial state. I do store.commit('RESET') which resets the list of products added to the vuex.
However upon redirection and successful reset, when clicking the back button to return to the website it still retains the product list previously before redirection. Which has been cleared before redirection and should now be an empty.


Assigning a mii when creating a new licence doesnt work.

When creating a new licence and choosing a mii there is a weird newline in the confirmation box

then it kicks you back here but as you can see it has the player mii on this licence now

going back into the licence settings and changing the mii again will not have the newline anymore and will work properly

wait i think its applying the mii to the licence before it in the list, when creating my 4th licence i assigned the gunk mii to it, but it has now placed that on the 3rd licence and the 4th is stuck with player

The newline is here in the vanilla game (E locale).


file

Type: Feature Request
I can't create a normal file from my open editors tab apart fron untitled file
VS Code version: Code 1.85.2 (8b3775030ed1a69b13e4f4c628c612102e30a681, 2024-01-18T06:40:10.514Z)
OS version: Windows_NT x64 10.0.22000
Modes:

The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our issue reporting guidelines.
Happy Coding!


preferences window hides immediately

I have no idea why this is happening, need to inspect further

window reference to file owner is missing


Tutorial

Hi Pablo,
This looks like a awesome project!
I'm suggesting some edits that came to mind as I was reading the tutorial.

Thank you very much. This is really helpful ! Since the travis error is unrelated, I am merging this one right now.
The documentation has been lagging behind for quite a while, but it should improve very soon.


Outdated rockspec

Description
The rockspec at LuaRocks looks to be outdated. Is there an automated process to get the latest code?

I think I understand what's happening. The rockspec is correct in pulling in the tagged v0.1.7 release but that release was cut last year. To get more current code (to get new server configurations, for example) not included in that release I needed to install via rocks.nvim as :Rocks install neovim/nvim-lspconfig rev=master and things worked as I expected.

It looks like the luarocks release is producing deprecation warnings with neovim 0.10.
Any chance we can get another release?


updating (blockfrost) provider when changing network

Hi.
I am currently working on an example repo with a blockfrost proxy api, as discussed in https://github.com/spacebudz/lucid/issues/25#issuecomment-1145689280.
In this example, I want to be able to communicate to the blockforst API that corresponds to the wallet-active network. Ie. if the user - using Nami - switches network from Mainnet to Testnet, I want this to be reflected in the Blockfrost API.
This can be tracked with
window.cardano.nami.expermintal.on("networkChange", updateNetwork)

but my design-related question is how to best update the Lucid client. As I understand it, the only way to set the provider is at instantiation, ie.
const lucid = Lucid.new(new Blockfrost(url, key))

With this API, I could - using React - keep the lucid client as a state and override it, but that feels a bit awkward, since I would prefer it to be a global singletong of sorts.
Is it possible to simply update the provider, ie. lucid.provider = newProvider or is there an API for this?
Thanks.

I guess this goes for the second parameter - network - of Lucid.new(blockfrostProvider, network as well.

Hey, so basically you want to have a function to update the provider from the existing Lucid instance?

Yes. But more directly, being able to react to switching networks. I have no deep understanding of lucid, so I don't know the inner workings of it, or what it entails, but just from an outside look, I guess both the provider and network arguments need to be reactive to this.

Either that Lucid automatically implicitly/internally updates (this is what I would expect but probably more complicated in terms of configuration) or explicitly through some API.

maybe something like
const lucid = Lucid.new({
  testnet: new Blockfrost(...),
  mainnet: new Blockfrost(...),
})

And in that case, the second param, network, would be dropped in favor of derriving that from the internal workings of the wallet integration. Again, don't knwo if this is technically possible to do.

Just for clarification, I think I can implement this in userland using WalletApi.getNetworkId(), which might be the correct way to go about it. I am in the process of creating a react hook which could incoorporate this, but an integrated, UI-library agnostic solution might be preferable.

Here is some triage code from a next.js page. It works, but does suffer from the design decisions I brought up earlier. Not really too pretty IMO. Also, it relies on the experimental event listener API, which might not be implemented by some wallets.
import { useCallback, useEffect, useState } from "react"
import { isNil } from "lodash"
import { Blockfrost, Lucid, WalletApi } from "lucid-cardano"

const useWalletApi = () => {
  const [walletApi, setWalletApi] = useState<WalletApi>()

  useEffect(() => {
    window.cardano.nami.enable().then(setWalletApi)
  }, [])

  return walletApi
}

const useNetworkId = (walletApi?: WalletApi) => {
  const [networkId, setNetworkId] = useState<number>()

  const onNetworkChange = (newNetworkId: unknown) => {
    setNetworkId(newNetworkId as number)
  }

  useEffect(() => {
    if (!walletApi?.experimental) return

    walletApi.getNetworkId().then(setNetworkId)

    walletApi.experimental.on("networkChange", onNetworkChange)

    return () => {
      walletApi.experimental.off("networkChange", onNetworkChange)
    }
  }, [walletApi])

  return networkId
}

const useLucid = () => {
  const walletApi = useWalletApi()
  const networkId = useNetworkId(walletApi)

  const [lucid, setLucid] = useState<Lucid>()

  const createLucidInstance = useCallback(async () => {
    if (isNil(walletApi) || isNil(networkId)) return

    console.log("instantiating lucid instance with network id", networkId)

    const newLucidInstance = await Lucid.new(
      new Blockfrost(`/api/blockfrost/${networkId}`, ""),
      networkId === 0 ? "Testnet" : "Mainnet"
    )

    newLucidInstance.selectWallet(walletApi)

    return newLucidInstance
  }, [walletApi, networkId])

  useEffect(() => {
    createLucidInstance().then(setLucid)
  }, [walletApi, networkId, createLucidInstance])

  return {
    networkId,
    walletApi,
    lucid,
  }
}

const NetworkChangeTestPage = () => {
  const { networkId, walletApi, lucid } = useLucid()

  return (

Network ID from wallet API: {networkId}

  )
}

export default NetworkChangeTestPage

Also, as a side note, it would be nice if the Blockfrost provider accepted undefined as protocolKey, with the assumption that this will be injected via a proxy or middleware of some sort.

@alessandrokonrad I created an example repo if you want to have a look at a potential user-land solution: https://github.com/GGAlanSmithee/cardano-lucid-blockfrost-proxy-example

I think it's better right now to have a trigger event outside of Lucid. Nami is the only wallet that has such an event, but there could be also other criterias for changing a provider/network. It's more flexible to do it outside of Lucid, but I'm happy to provide a function that let's you update provider and network from an existing Lucid instance. Is that something useful to you?

Also, as a side note, it would be nice if the Blockfrost provider accepted undefined as projectId, with the assumption that this will be injected via a proxy or middleware of some sort.

I think setting projectId: "" should be good enough. It could get a bit confusing otherwise.

I'm happy to provide a function that let's you update provider and network from an existing Lucid instance. Is that something useful to you?

Yes please, because that way, I can keep the lucid instance as a singleton and also, if there are any internal side effects (now or in future versions) it would be easier for you to handle them.

I think setting projectId: "" should be good enough. It could get a bit confusing otherwise.

Yeah, I understand. I think it can be confusing the way it is now as well, but I guess it depends on your use case. Either way, it's not a big issue!

This should be resolved now with Lucid 0.7.1. There is a function lucid.switchProvider() and I made the projectId for the Blockfrost optional as well now :)

Aweome @alessandrokonrad I will update the example and after I've verified that it works, I'll close this issue!

@alessandrokonrad I've updated the example, and it works flawlessly. Just look at how much more beautiful and reasonable this code became: https://github.com/GGAlanSmithee/cardano-lucid-blockfrost-proxy-example/commit/87e380152b4fc3759c4f0307bad1077fa8489c03
Being able to keep lucid as a singleton will, IMO, allow for a much better DX than equivalents in the ETH web3 space. I am currently creating a react hook npm package for lucid (and some more QoL stuff) and I think this will allow me to work around some of the insance prop drilling that I've experienced when working with ETH web3 projects.
Cheers!


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.10.82",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8440377e1a5644779b4c8d013aa2a917f5fc83c3"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "8440377e1a5644779b4c8d013aa2a917f5fc83c3",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.82 by commit 8440377e1a5644779b4c8d013aa2a917f5fc83c3. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002291


Can I use this library to render html generated by the Rich editors like Quill and draft.js?

Hi,
We have some HTML content generated by using Quill editor, can I use this library to render that HTML?

Yes. You may need to write some custom renderers and/or tag styles depending on what your content contains, but otherwise that's exactly what this library is designed to do.

Ya @sarang-naico I am using this to display the content generated by Quill editor. Its working awesome. I just added a small tweek for Tables and other than that everything is fine for me.

I am closing because this issue seems to have been resolved.


Compatibility with Flask

I've been trying to use watch with Flask, but the output doesn't appear in the terminal until after the Flask application has terminated.
from watchpoints import watch
from flask import Flask

app = Flask('app')

x = None
watch(x)

@app.route('/')
def change_x():
	global x
	x = "Something"		# no output until after app.run terminates
	print("manual print")	# prints immediately
	return x

app.run('<IP_ADDRESS>', 500, debug=True, use_reloader=True)

Is there a way to output immediately?

Ah, that's actually a bug for watchpoints. watchpoints does not deal with global variables well. Also I'll have to be honest that this library has not been actively maintained. Personally I loved this black magic library but not there are not a lot of active users to make maintenance worthy.

I'm surprised to hear that. I can't imagine a better way to monitor variables that are involved in a complex interaction. Personally, I'm dealing with cached quasi-global proxy objects and hooks or signals being accessed by external modules I'm still getting to know. It can take quite a while to track down issues.
I only just discovered your project yesterday. Hopefully it will garner more attention and catch on.


Akshat ramanathan

@AkshatRamanathan Followed your instruction to the ✉ .
https://github.com/yashksaini-coder/BookStream/discussions/14#discussioncomment-10713057
Raising a PR from Akshit --> main branch

review, approve and merge it


Setting Goals int he EXP Tracker

Essentially right now it is a pain to set a level goal for a skill to track it further than one level in advance. You have to do it through the XP Goals ingame, when on other clients you can just rightclick the xp/hr tracker and set a new lvl goal that way. Is it possible to implement that into Runelite?

No, the way it is done is intentional. In-game interface is good enough so just use it.


enable check dist

after merged https://github.com/sustainable-computing-io/kepler-action/pull/44, we can enable check dist ref https://github.com/actions/javascript-action/pull/304

Commit number 4be183afbd08ddadedcf09f17e8e112326894107 from https://github.com/actions/javascript-action/commit/4be183afbd08ddadedcf09f17e8e112326894107


LL-2551 Show basic Extra Operation Details

Type

Context

Parts of the app affected / Test plan

This PR is relaying on this PR

sorry, wrong repo


MINOR: code cleanup follow up for KAFKA-6906

Intellij warned that the condition of the if will always be false -- thinking about this, it makes sense. After refactoring the code in KAFKA-6906 and moving the EOS-part out of the commitOffsetNeeded block L433-440 cover this case already and we can remove redundant code.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

lgtm

Merged to trunk and cherry-picked to 2.0, and 1.1 (already fixed in 1.0 and 0.11.0 while back porting the original PR)


Apply local llvm/clang/swift patches when using cmake build system

This is already supported in the Xcode and bash build scripts, add
to the cmake build scripts for parity.

Yeah, we use the patchset feature for some internal changes and build system peculiarities, but I agree that it doesn't make sense in general for upstream work.

I've needed to maintain patches to llvm/clang/swift that I couldn't get upstreamed for a short period in the past, I've had similar code on branches to do this too. The main question I have about the patch is the 'patch -p0' - normally git diffs need -p1 don't they?  Are the patches from svn, or is there some way to make git diff not do that?

Yeah, I've debating switching things to -p1 myself, but generally assumed we chose -p0 for some reason. I'd be happy to put up a diff for -p1 (it would make my life a bit easier for sure)

Also, would one of you mind merging this commit? I don't yet have swift commit access

ach, I also committed your matching phabracator change on llvm.org, sorry looking at too many different branches today and I forgot that only the github change needed to be committed.


fix ssr and update version number from 0.1.0 to 0.1.1

I saw that the repository has a github action, so I updated the version.

I saw that the repository has a github action, so I updated the version.

Thanks for opening this up @Xuhv ❤ The package uses changesets to automatically generate the Changelog content and version number. Could you revert the changes you did on CHANGELOG.md and package.json?


doc: update public items' documentation entries

Go through all the Rust doc of honeycomb-core to update entries & fix miscellaneous stuff. Also add #![warn(clippy::pedantic)] over the core crate, with some exceptions to work through later.
Scope

[x] Build script: honeycomb-core
[x] Documentation

Type of change

[x] Refactor
[x] Chore

Codecov Report
Attention: Patch coverage is 0% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 54.26%. Comparing base (2186a09) to head (82cc8ff).

Files
Patch %
Lines

honeycomb-core/src/attributes/collections.rs
0.00%
2 Missing :warning:

honeycomb-core/src/spatial_repr/coords.rs
0.00%
2 Missing :warning:

honeycomb-core/src/twomap.rs
0.00%
2 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #47   +/-   ##
=======================================
  Coverage   54.26%   54.26%
=======================================
  Files          14       14
  Lines        2228     2228
=======================================
  Hits         1209     1209
  Misses       1019     1019

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


New API with emplace and DefaultMap

@mikbar-uib Please invite your students to be reviewers here too, if they are interested.


[Enhancement] ChatList / MessagesList

Summary
In Xamarin Forms it's currently quite difficult to make a smooth Chat UI without a custom renderer (at least this has been my experience). And even then it had performance issues on Android.
API Changes
Could you maybe create an API that wraps around some native Chat UI components on both iOS and Android?
https://github.com/stfalcon-studio/ChatKit (Android)
https://github.com/MessageKit/MessageKit (iOS)
e.g. you could have something like this.
var chat = new MessagesList {
    ShowDateHeader = true,
    Bubbles { // or children
        new CustomMessageBubble {
            SendAt = DateTime.UtcNow,
            Content = new Button {
                Text = "Hey"
            }
        },
        new TextMessageBubble {
            SendAt = DateTime.UtcNow,
            Text = "Hey"
        }
    }
}

Content = chat;

Intended Use Case
I think many applications can benefit from a user-friendly Chat UI.
Who Will Do The Work?

[ ] I am willing to take this on myself
[ ] Just putting this out there for someone to pick up
[x] I'd love to be involved in adding this to XCT, but I'm not an expert

Hey Coen!
I love the last option you added there! And seeing your name seemed Dutch, I looked at your profile and you're in Maastricht?! You're like my neighbor! 🙀
Anyway, the important stuff. We'd love to have something like this. A lot of people seem to want it. However, seeing the current velocity and future of this package I feel that this might be too much to take on right now. What I mean by "future of this package" will become official pretty soon, but as you might expect, the lifetime in its current form is limited. This is tied to Xamarin.Forms and Xamarin.Forms will soon transition into .NET MAUI.
I think if we were to make something like this it would be in the .NET MAUI timeframe and not so much in the lifespan of this Toolkit. Does that make sense?
In the meantime I think Telerik and SyncFusion both have great components for this if you really need it right now.
If you really want to get involved make sure to reach out since you live so close it will be fun to have a chat and we can see if I can get you up to speed.
Thanks for the suggestion!

Hey Coen!
I love the last option you added there! And seeing your name seemed Dutch, I looked at your profile and you're in Maastricht?! You're like my neighbor! 🙀

Haha, yes I live in Maastricht, we should go for coffee sometime!

Anyway, the important stuff. We'd love to have something like this. A lot of people seem to want it. However, seeing the current velocity and future of this package I feel that this might be too much to take on right now. What I mean by "future of this package" will become official pretty soon, but as you might expect, the lifetime in its current form is limited. This is tied to Xamarin.Forms and Xamarin.Forms will soon transition into .NET MAUI.
I think if we were to make something like this it would be in the .NET MAUI timeframe and not so much in the lifespan of this Toolkit. Does that make sense?

Yes, that makes sense, I also posted this request on the MAUI repo, but they told me to post it here :D but it would nice to have this in a Maui Community Toolkit.

In the meantime I think Telerik and SyncFusion both have great components for this if you really need it right now.

I'm using a collectionview right now, but if you scroll too quickly, it's not great. I'm using it to make a free app for finding a dance partner (as that's been a bit difficult during corona). So I'm not really looking for a paid plugin.

If you really want to get involved make sure to reach out since you live so close it will be fun to have a chat and we can see if I can get you up to speed.

Yeah, I'd like that.

Thanks for the suggestion!

SyncFusion has the community license which is free and it seems like you qualify :)
Find my email on my GitHub profile and shoot me a message, we'll see about that coffee!


[CARBONDATA-3858] Check CDC deltafiles count in the testcase

Why is this PR needed?
Current there is no deltafiles count check in the testcase, which shall be supplemented.
What changes were proposed in this PR?
Check CDC deltafiles count in the testcase
Does this PR introduce any user interface change?

No

Is any new testcase added?

Yes

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1445/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3171/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3173/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1448/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3174/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1449/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3188/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1462/

LGTM

LGTM, Thanks for your contribution!


Add tooling to test code coverage

This pull request is for:

[x] packages/next-drupal

GitHub Issue: #609
Describe your changes
Add code coverage tests and adds minimum thresholds for code coverage.

GitHub Actions run each Jest suite per packages/* entry. So I had to move the jest config into each package to get code coverage enabled. Otherwise, each packages/* test suite would try to report the coverage percentages of the whole monorepo.


🕷[BUG/CRASH/GLITCH] Pistol aiming issue and sniper rifle scope issue in training mission. Plus a crash after first covert training section.

What version of RTX Remix you're using - 0.5.0
What version of the renderer you are using - 0.2.3
Which version of Deus Ex you have; is it from Steam or GOG, was it modded or freshly installed? - Steam one freshly installed and configured as described in https://github.com/onnoj/DeusExEchelonRenderer

1, In training mission at first shooting range with pistols  Gunter instructs you to aim longer - I guess gun's reticule should become tighter - but crosshair stays the same no matter how long I hover  it on the shooting dummy. And I see no dedicated key binding for aiming.
2. Later at the second shooting range with sniper rifles Gunter instructs you to toggle the scope, and when you do you see scope's crosshair on the big black rectangle which covers the shooting dummy almost completely.
3. After successful first covert training section - after you sneak by two soldiers and closing on a door to the next section game crashes mentioning something about bridging service.
rtx.conf file is downloaded from https://www.moddb.com/games/deus-ex/downloads/rtxconf-file-for-deus-ex
deusex_d3d9.log is in attachement
deusex_d3d9.log

Found "NvRemixBridge.log"
NvRemixBridge.log

Hi, Nvidia fixed a number of these crashes, if you'd like to try again

Hi, Nvidia fixed a number of these crashes, if you'd like to try again

I have tried both 0.51 remix and your newest renderer - the game does freeze before showing the main menu...


improves hyparview common tests

Codecov Report

Merging #48 into master will decrease coverage by 0.42%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
- Coverage   84.77%   84.34%   -0.43%
==========================================
  Files          33       33
  Lines        2115     2115
==========================================
- Hits         1793     1784       -9
- Misses        322      331       +9

Impacted Files
Coverage Δ

src/lashup_kv_sync_tx_fsm.erl
89.65% <0%> (-3.45%)
:arrow_down:

src/lashup_hyparview_membership.erl
85.14% <0%> (-2.44%)
:arrow_down:

src/lashup_hyparview_ping_handler.erl
85.5% <0%> (+5.79%)
:arrow_up:

Continue to review full report at Codecov.

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


BUG: Gradients not working in specific browsers  due to browser / vendor prefixes.

Hi
The resulting css declarations when adding a new gradient through the plugin have -webkit- prefix.  This causes issues when rendering in browsers like IE11.
Note this is not an issue when loading an element which already has defined gradients (without prefixes). It's only an issue when applying a new gradient to an element.
You can replicate this in the demo page by adding a gradient to one of the text blocks. Compare this with the existing gradient in the main container.

Load Demo page at: https://codepen.io/artf/full/bYwdQG/
Inspect container element with pre-defined gradient:

Add any sort of gradient using the plugin to one of the text blocks. Upon inspection would look something like this:

Possible fix:
Use getValue() instead of getSafeValue() when reading the value from https://github.com/artf/grapick at: https://github.com/artf/grapesjs-style-gradient/blob/cd2e9fc6da5a1c2d873b36d0ec6cc503645c430e/src/styles.js#L79
Or
Update https://github.com/artf/grapick to return by default the non prefixed value instead of the prefixed one at:
https://github.com/artf/grapick/blob/6e759fe5726cf6e616880c7aab00f5eec5f20478/src/Grapick.js#L138

Should be fixed in the latest release