I've also encountered this problem + found a solution that worked for me:

I've also encountered this problem + found a solution that worked for me:

I am also experiencing this issue. Any update would be great. When I first created the solution, I was able to add the new webpart to a modern page. I made some changes, updated the package in the AppCatalog and tried adding to a new site I was working on and now it won't show up at all.
It does NOT appear when I go to "_api/web/GetClientSideWebParts" on the site I am working on.
It does appear when I go to "/Lists/ComponentManifests/Allitems.aspx".

My solution (for an SPFx solution NOT deployed to the entire tenant in one go):
Step 1: (preferrably) remove the apps on the site collections where you installed them. Do it like this: from site contents, remove. As a site collection admin (or global admin), go to the recycle bin. There is an error indeed when attempting to remove it there. However, change the url: _layouts/15/RecycleBin.aspx to _layouts/15/AdminRecycleBin.aspx. There, remove the app. Also, go to the second stage recycle bin (_layouts/15/AdminRecycleBin.aspx?View=2) and remove it there. Now the app is completely removed from your site collection.
Step 2: remove the spfx app from the app catalog. Repeat the steps with the admin recycle bin to make sure this item is completely gone from the app catalog site collection.
Step 3: re-add your spfx package to the app catalog. I did not have to alter any ids to get it to work.
Step 4: re-add your app to the site collection where you want to add your web part.
Step 5: find your web part in the toolbox ! You can now also check the following endpoints to see your web part listed:
_api/web/GetClientSideWebParts
/Lists/ComponentManifests/Allitems.aspx
Originally posted by @PieterHeemeryck in https://github.com/SharePoint/sp-dev-docs/issues/775#issuecomment-495615831

It is now 2021 and using the latest SPFX release with React and TailwindCSS, I have the same issue and hours of lost time trying to figure out why a solution that works perfectly on the hosted workbench fails repeatedly in a site collection app catalogue. It is not logical to have to delete things from the recycled bin, add description text etc and so on to get something to work. If you know these things are required in advance why put the onus on developers to go through umpteen steps, create support headaches and so on when it could be easily fixed at the source? We should be guaranteed that if a spfx solution is working on the hosted workbench it should work in production. And if not, at least provide some kind of easily accessible logging/developer tool that will tell us why something failed. I develop NextJS apps hosted on Vercel and it can happen from time to time that a local deployment works fine but on production some packages have issues due to the hosting environment. Vercel provides a nice log to show exactly where things have gone wrong. Unless I am unaware that such easy logging exists somewhere.

Hi @jsabety - from you description it's not quite clear what exactly doesn't work for you.
The issue you're referencing has a long thread and history.
To your point with description - as mentioned in the issue, you will have a build time error if you remove it from the manifest.
If you had a webpart in the solution and then added an extension to it - you could have problems. But they should be fixed in SPFx 1.14.
If you have any other issues - please provide some details and clarification.
Thanks!


juniper_graphql_ws silently closes the socket

Describe the bug
When running the latest examples/warp_subscriptions app locally the websocket silently dies after ~20 seconds. I suspect that there's an issue with the keepalive functionality but haven't been able to track it down. If config.with_keep_alive_interval(0) is used the socket stays open. If config.with_keep_alive_interval(Duration::from_secs(15)) is used it also stays open, however if the default is left (30) or it's manually set to > 25 with with_keep_alive_interval the socket will die after a few seconds.
To Reproduce
Steps to reproduce the behavior:

Run the example app
Execute subscription { users { id } } in GraphiQL
After ~20 seconds the socket will disconnect

Expected behavior
The socket should remain open permanently. It would be nice if a log event was generated when the socket closes (crashes?).

There is no default keepalive value for GraphQL clients, so it is up to you to set it for your particular use-case.
See this in the example:
https://github.com/graphql-rust/juniper/blob/45c16acc6e6dba9cf32e075d4516a9ab7c6fe780/examples/actix_subscriptions/src/main.rs#L101
We actually probably shouldn't even provide a default and make consumers specify it. Though if clients are all starting to default to the same value happy to take a patch.

Actually, reopening. I wonder if we are using just simple durations between keep alive pings instead of checking that we get pings in x second bucket intervals.

(note there is a potential fence post / counting problem here on both sides)

It looks like graphiql uses https://github.com/apollographql/subscriptions-transport-ws under the hood. According to the readme the default is 30000 ms.
There is probably something wonky here where the playground is 20 secs but we need 15 to actually work. I wonder if we are sending it too late or the clients are starting to count too early?

For some reason it hadn't occurred to me that the client was closing the connection. It looks like this is just a simple mismatch between the juniper_graphql_ws crate's default of 30 seconds https://github.com/graphql-rust/juniper/blob/master/juniper_graphql_ws/src/lib.rs#L66 and the GraphQL Playground's default of 20 seconds https://github.com/prisma-labs/graphql-playground/blob/master/packages/graphql-playground-react/src/state/sessions/fetchingSagas.ts#L81
I guess this is still sort of a bug but it's just a config change in the example. Would you like to see a PR that drops the example keepalive down to 15 seconds so it doesn't disconnect?

I'd take a PR to make the default 15 seconds, sounds like that will work for Graphiql and the playground!


How do we implement the same functionality for right click instead of left click ?

I would like to implement the same functionality for right-click(onContextMenu) instead of onClick.

Hi @jayanthsaikiran , please see this example for how to add right click (context) menu in you page: https://szhsin.github.io/react-menu/#context-menu


Going from 1.1.1 -> 1.1.2 I end up in a death loop

I use this in a nextjs app, and something / somehow goes haywire if I upgrade to 1.1.2. If I downgrade to 1.1.1 everything is fine.

Here's my code using Sender:
      <Sender
          state={{ to: "/" }}
          render={({ url }) => (

              Sign in

|

              <SignInAsGuest />

          )}
        />

Also, worth noting, I created Sender there with this code:
const { Sender, Receiver } = createOauthFlow({
  authorizeUrl: "https://www.dropbox.com/oauth2/authorize",
  tokenUrl: "https://api.dropbox.com/oauth2/token",
  clientId: DROPBOX_APP_KEY,
  clientSecret: DROPBOX_APP_SECRET,
  redirectUri: IS_DEV
    ? "http://localhost:3000/authreceiver"
    : "https://chartcomposer.com/authreceiver",
});

I've not yet looked, I was hoping something in terms of your changes between the two point releases might strike you as obvious, but I can experiment more. For now I'm just pinned to the prior version so it's not a major deal.


[RFR] Place a marble on the board

Create an empty board, display the board, ask for position and refresh the board game.

Ready for review


Albanian translation missing

Let's also combine all translation requests into one github issue.

Yes agreed

https://github.com/quran/quran.com-frontend/issues/135


CUBETOUCH 1s (3yqdo5yt) not supported

Integration doesn't create any switch or controls for my CUBETOUCH 1s (3yqdo5yt), only the signal strength sensor

Could you please provide "Device debugging" from Tuya IOT Platform?
You have to login to https://iot.tuya.com/ then select Cloud on the left, select your project, Devices tab, click "Debug device" in CUBETOUCH device row, Device Debugging tab, copy text below Standard Instruction Set.
I suppose datapoints of CUBETOUCH 1 must be identical to CUBETOUCH II, so only adding product_id will be needed.

This is a screenshot

switch
Boolean
"{true,false}"

mode
Enum
{   "range": [     "click"   ] }

click_sustain_time
Integer
{   "unit": "s",   "min": 0,   "max": 10,   "scale": 0,   "step": 1 }

arm_up_percent
Integer
{   "unit": "%",   "min": 0,   "max": 100,   "scale": 0,   "step": 1 }

arm_down_percent
Integer
{   "unit": "%",   "min": 0,   "max": 100,   "scale": 0,   "step": 1 }

power_saving
Boolean
"{true,false}"

tap_enable
Boolean
"{true,false}"

CUBETOUCH II doesn't have power_saving and tap_enable.
Has your device any buttons for manual control? In mobile application is there something corresponding to "power_saving"?
I think it's better to recheck id's of all datapoints. Here is described how to do it:
https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html#_9-find-your-data-point

CUBETOUCH II doesn't have power_saving and tap_enable.
Has your device any buttons for manual control?

Only an on/off switch

In mobile application is there something corresponding to "power_saving"?

No

I think it's better to recheck id's of all datapoints. Here is described how to do it:
https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html#_9-find-your-data-point

If I understood the instructions:

Data Point
Code

switch
1

mode
2

click_sustain_time
3

control_back
4

arm_up_percent
5

arm_down_percent
6

charge_status
7

battery_percentage
8

power_saving
9

tap_enable
10

program
11

Yes, that's what I've expected, thank you.
I'll add the device with power_saving and tap_enable as switch entities. So, you will be able to check what these switches do on real device. Then you have to decide is it worth to expose it in HA or not.

I've added new version 0.1.3 with draft of CUBETOUCH 1s support. Can you update to it with HACS?

I've added new version 0.1.3 with draft of CUBETOUCH 1s support. Can you update to it with HACS?

It works!
I have these two switches:

They should be power saving and tap enable, but they have the same generic name.
Probably they are useless, I will check and let you know.
Thanks a lot for your work

I have the same model number as damiano but cant seem to get mine running.

It gets discovered but hangs at the setup process

Logs say its timing out

What Ive tried

unbinding and connecting to cubetouch
rebinding and connecting to cubetouch
adding the gateway (expect this to not work, just trying things 😓 )
uninstalling and reinstalling from hacs
unlinking in tuya app and re linking

Thanks for setting up the code you have so far do you know of anything else I could try to make this work?

do you know of anything else I could try to make this work?

I think the problem is in connection quality, the integration itself has nothing to do with it. Try to move your device closer to your Bluetooth adapter to check.

@damiano75 have you decided about these two additional switches?

@damiano75 have you decided about these two additional switches?

It seems they are useless, if I switch on them they come back to off after a while.
I have disabled them

I close the issue, feel free to reopen it if you decide to reactivate these switches.

I have been testing this Integration for the last full day and it is working fine on my side. Only noticed that if the Bluetooth Proxy goes down or is disconnected, the Cubetouch does not connect back


Does azure postgres flexible server 15 support file_fdw?

Hi,
Does the Azure Postgres flexible server support file_fdw? It was not found under 'server parameters'. However, it is listed in 'pg_available_extensions'.

@Niba-nazar
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@Niba-nazar
We are going to close this thread .if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


Mouse cursor not moving on the client side

I've got a ubuntu 22.04 desktop (amd64, rkvm-server) and have a ubuntu 22.04 desktop vm (arm64, rkvm-client, running on apple macbook m1 pro running under UTM). rkvm connects successfully and am able to control the mouse/keyboard on the server and use the key sequence to change to the client. After switching to control the client, the cursor/pointer stays in one place though I can click (right/left) and see that things (windows/icons/can select txt/etc) in the direction I am moving the mouse towards get focused/highlights/etc. Any ideas?
Both client/server is running wayland. I compiled rkvm using ubuntu:lunar docker image otherwise I would get errors.

Hi, what WM are you using?


[BUG] SecretClient.GetSecretAsync() gives ServiceRequestFailed Exception (400) while trying to get the private key of a certificate.

Describe the bug
GetSecretAsync() gives ServiceRequestFailed Exception (400) while trying to get the private key of a certificate.
Expected behavior
Return the private key or return the exact error message
Actual behavior (include Exception or Stack Trace)
Service request failed.
Status: 400 (Bad Request)
An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
To Reproduce

Get the KeyVaultCertificateWithPolicy using CertificateCient.
var cert = await certificateClient.GetCertificateAsync(certificateName);

Get the certificate private key using SecretId
await secretClient.GetSecretAsync(cert .SecretId.ToString()

I am able to retrieve the certificate private key with the same SecretId using keyvault v3 library 'Microsoft.Azure.Keyvault'
I am able to retrieve other secrets using SecretClient.
Environment:

Azure.Security.KeyVault.Secrets 4.2.0, Azure.Security.KeyVault.Certificates 4.2.0
Windows 10 .NET SDK 2.1.300
VisualStudio 17.0.0 Preview 2.1

Found that the DownloadCertifcate method is now available in CertificateClient to get X509Certificate.


mmr-cookie name mismatch

Following the instructions in the How to use it section:
python migrator.py --mmr_cookie="<session cookie on a string>"

gives me this error:
❌ Argument "--mmr-cookie" is missing or empty!

Please update the README to use the correct parameter name.
PS. Just like you I need to migrate from MapMyFitness to Strava. Thanks for a great script that makes this migration so much easier!

Thanks for reporting it. Fixed as part of https://github.com/Korrd/mapmyfitness-to-strava-migrator/pull/11


support for TensorFlow >= 2.16

TensorFlow 2.16  with tf-keras==2.16 (instead of the default Keras 3) introduces a series of issues.  For instance, there seem to be incompatibilities with transformers which causes various errors.     Moreover, TF 2.16 and Keras 3 do not support legacy optimizers, but the new optimizers are unacceptably slow in Keras 2 (in TensorFlow 2.15).  This makes it difficult to simultaneously support different TensorFlow versions.  This issue is to update ktrain to workaround these issues.

The newest version of transformers (4.39.3) solves the aforementioned issues with newer versions of TensorFlow, but breaks when using older versions of TensorFlow (e.g., tensorflow==2.11) such as "AttributeError: module 'keras.utils' has no attribute 'unpack_x_y_sample_weight'".  To solve downgrade transformers when using older versions of TensorFlow (e.g., TF 2.11): pip install transformers==4.37.2.

As mentioned in the installation instructions, when using tensorflow>=2.16 you must:

Install a version of tf_keras compatible with your installed tensorflow version: pip install tf_keras # installs latest
Set the TF_USE_LEGACY_KERAS environment variable to True: `os.environ['TF_USE_LEGACY_KERAS'] = "1"


Add an 'operations.uuid' column, generated and virtual

This column is not stored separately, but allows indexing operations by uuid without further modification or redundant storage. DB's have some cool features!
This is part of ongoing work toward #373. You can see the whole branch in https://github.com/GothenburgBitFactory/taskchampion/compare/main...djmitche:issue373.

I'm not sure how exactly this fits in the latest strategy you've described in #373 but it does suggest the possibility of passing references to "losing" operations rather than values. The duplication of operations -- which basically have an unbounded size -- worries me.

I'm not sure what you mean by "duplication of operations". The discussion in #373 does talk about values being duplicated, in order to indicate which operation "won" while also including "losing" operations. But that's not particularly relevant to this PR, which just allows indexing operations by task uuid.
I'm also confused by references vs. values -- that makes sense in Rust terms, but none of that is happening in this PR. And I think SQL is entirely pass-by-value, although I've not thought about that too hard.
If you meant "referencing" an operation by some unique ID, I'm not sure how we would establish that unique ID across replicas, and also ensure that the referent was always present on a replica where the reference was present.

If you meant "referencing" an operation by some unique ID, I'm not sure how we would establish that unique ID across replicas, and also ensure that the referent was always present on a replica where the reference was present.

Yeah, that is what I meant. Sorry I was using rust terminology analogously, that was cruel.
I already had in mind that a modification of the sync protocol employing operation uuid's might escape some of the obstacles we were discussing, including duplication and the invariant that the replica state is the result of all operations by separating the data of operations from the concept of "all operations". "All operations", with respect to the invariant, could be an array of uuids. And with global uuid's, duplication could probably be eliminated and transmission could be limited to the uuid rather than the whole operation. I'm just spitballing a a significant change here though and hoping you have a more elegant solution.

Ok, so after reviewing #450 I now see that I had missed that these uuid's don't belong to the operation itself but the task it operates on so my suggestion was irrelevant to this PR.

Ah, I see!


KLC file won't open in MSKLC 1.4

When I try to open the file I get an error "There was a problem loading this keyboard"

How did you solve?

If memory serves, there was a problem with CRLF


support for azurestandard.com

example url: https://www.azurestandard.com/shop/product/food/grains/wheat/hard-red-wheat-berries/hard-red-wheat-organic/11656?package=GR062

actually i scrapped the data sir. need to discuss with you about this.

please create the PR, we can discuss over the PR.


Tzippy glantz security microsoft.security 2024 01 31

Add new resource -Integrations

@TzippyGlantz - In future please don't remove the intake form before submitting. It is absolutely critical for correct handling of your PR.

Consider fixing the warnings flagged here - https://github.com/Azure/azure-rest-api-specs/pull/27602/checks?check_run_id=21483272252


Linking to container image via --template when creating AZ Batch pool

This pull request includes significant updates to the Azure Batch Pool setup process, including adding a new Python script for pool creation and configuration and updates to the workflow and dependencies.
Azure Batch Pool Setup Enhancements:

Added a new Python script azure/pool.py to handle Azure Batch Pool creation and configuration using a TOML configuration file. This script includes functions for creating containers, reading autoscale formulas, and setting up the batch pool with the necessary credentials and configurations.
Updated the workflow file .github/workflows/containers-and-az-pool.yaml to run the new Python script, replacing the previous direct Azure CLI commands. This includes steps for writing the configuration file, ensuring the Azure CLI is installed, and running the Python script. [1] [2] [3]

Documentation and Dependency Updates:

Updated NEWS.md to include a note about the new script for setting up the Azure Batch Pool.
Added new dependencies to azure/requirements.txt required by the new Python script, including azure-common, azure-core, azure-identity, azure-keyvault, azure-mgmt-batch, and toml.

So we are getting closer @jkislin and @zsusswein. There's an issue with the generated toml file that is makes it fail during the read process:
    config = toml.load(config_file)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/toml/decoder.py", line 134, in load
    return loads(ffile.read(), _dict, decoder)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/toml/decoder.py", line 514, in loads
    raise TomlDecodeError(str(err), original, pos)
toml.decoder.TomlDecodeError: Found tokens after a closed string. Invalid TOML. (line 10 column 1 char 754)

I'll try to debug it tomorrow, but I think we are almost there!

I am getting errors on testthat b/c of duckdb. The issue is intermittent, so either we are missing a seed, or there's something else going on. https://github.com/CDCgov/cfa-epinow2-pipeline/actions/runs/11943535928/job/33293099360#step:3:309. I have had to restart the job many times in the past, with the second try working. Unsure what's the issue
attn @natemcintosh @zsusswein

That's weird. I've seen an intermittently flaky test from DuckDB but it's rare and I thought I had resolved it.
Can you open an issue for it and I'll look into it?

Is the PR ready to go? I had been assuming it was waiting for something because it was still draft.

Given that the tests pass, this is ready for review @zsusswein and @jkislin!


No wifi on recovery screen

Hi, I booted the usb and got to the recovery screen, but there’s not WIFI to download macos. Help!!!

What version of MacOS are you booting into / trying to install?

Ventura

Ok, that's strange. Ventura should work without issue.  I plan to update the EFI when OC-0.9.6 comes out if you want to wait till then. Otherwise, you'll need to install the debug files and provide a log file for troubleshooting.


[$250] Scan split - Confirmation page & Category RHPs appear together when opening Category

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.63-5
Reproducible in staging?: Y
Reproducible in production?: N
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Go to staging.new.expensify.com
Go to workspace chat.
Create a scan split expense.
Click on the split preview.
Click Category.
Select a category.
Click Category again.

Expected Result:
There will not be another RHP appearing when opening Category list.
Actual Result:
Confirmation page RHP appears briefly together with Category list RHP when opening Category list.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/33dc4e3c-a319-4a04-b820-660736a382c4

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~014586c0d55dcc99f4
Upwork Job ID:<PHONE_NUMBER>702237696
Last Price Increase: 2024-04-19
Automatic offers:

bernhardoj | Contributor | 0

@adelekennedy I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

We think this issue might be related to the #collect project.

Production
https://github.com/Expensify/App/assets/115492554/604dcd50-f307-443c-a19a-4c61db44267e

Oh, I see it happens once the expense is submitted and scanning is in progress:
https://github.com/Expensify/App/assets/12268372/4f25d176-80bb-4750-b73d-bb933d5a74a1

@MariaHCD is this an actual deploy blocker? Or can we scale this back to a high priority bug?

related to categories - making this wave collect!

removed the deploy blocker label and re-added the external label

Proposal
Please re-state the problem that we are trying to solve in this issue.
The navigation transition is really weird when navigating to the money request category page.
What is the root cause of that problem?
On the category page, we use a selection list. In the selection list (specifically in BaseListItem), we have a useSyncFocus that will give the selected/focused item a browser focus (.focus())
https://github.com/Expensify/App/blob/8616678cef4af714c63abf7147853e34fb40f4ce/src/hooks/useSyncFocus/index.ts#L11-L17
Because we focus immediately after mount, you can see that the navigation transition animation for the category page is gone and there is a weird transition happening only when we open the category page from the SplitBillDetailsPage.
Focusing on an element after component mount is a common issue we face, that's why we always delay, for example, auto focus on a page or waiting for screen transition end.
What changes do you think we should make in order to solve the problem?

In our case, we can either wrap selection list with withNavigationTransitionEnd HOC to get the transition end state or just use isInitialSectionListRender state. It's simpler to use isInitialSectionListRender.
isInitialSectionListRender initial value is true and will be set to false when the selection list calls onLayout. Then, we will only enable the focus once isInitialSectionListRender becomes false.
https://github.com/Expensify/App/blob/8616678cef4af714c63abf7147853e34fb40f4ce/src/components/SelectionList/BaseSelectionList.tsx#L361
shouldSyncFocus={!isTextInputFocusedRef.current && !isInitialSectionListRender}

If we want to use transition end, then it becomes
shouldSyncFocus={!isTextInputFocusedRef.current && didScreenTransitionEnd}

I agree that this doesn't need to block the deploy.
@thesahindia could you review the above proposal?

@thesahindia bump on the proposal review!

This is already fixed in https://github.com/Expensify/App/pull/40562. I can't reproduce it anymore. Can someone retest?

@izarutskaya could you please retest this to see if it's still reproducible?

Not overdue, we just need to retest this. cc: @izarutskaya

@izarutskaya has this been retested?

I can't reproduce - I'm going to close this one and we can reopen if this happens again?


PP-682 Right pad all the card range numbers

WHAT
A brief description of the pull request:

Not all card range data is 9 digits long, so we need to pad the ones
that do not conform, so that we can lookup in an uniform manner.

with @PauloPortugal
WHO
Who should review this pull request:

[x] Developers
[ ] WebOps

👍


SkinType.TEXT remarks

Hey HanSolo,
Very great work this library!!! Got it added in my application in just a few minutes.
Some questions about the text tile...

description change only gets visualized if text is updated?
how to align the description?

Best regards,
Frank

Concerning "how to align the description?", see pull request https://github.com/HanSolo/tilesfx/pull/4

Hey, something seems to be wrong with the description alignment...
<dependency> <groupId>eu.hansolo</groupId> <artifactId>tilesfx</artifactId> <version>1.3.4</version> </dependency>

Well I just added TOP_LEFT and TOP_RIGHT. Do you also want to have CENTER?

aha, that's clear :-)
would be great indeed...

Ok, I've just enabled all possible alignment settings with the latest commit and seems to work as expected now :)


Conversations API Updates

add beta2 API version for list endpoints
add cursor pagination methods next() and prev() for conversations, users, members and events
add v1 API version for record endpoint
add the ability to change hosts for the Conversations API

Codecov Report

Merging #271 into beta will decrease coverage by 2.59%.
The diff coverage is 12.24%.

@@            Coverage Diff            @@
##             beta     #271     +/-   ##
=========================================
- Coverage   69.75%   67.15%   -2.6%
=========================================
  Files          30       30
  Lines        1035     1084     +49
=========================================
+ Hits          722      728      +6
- Misses        313      356     +43

Impacted Files
Coverage Δ

src/Conversations.js
75.75% <20%> (-24.25%)
:arrow_down:

src/Utils.js
91.66% <50%> (-8.34%)
:arrow_down:

src/Users.js
57.57% <6.66%> (-42.43%)
:arrow_down:

src/Events.js
58.33% <9.09%> (-41.67%)
:arrow_down:

src/Members.js
60.71% <9.09%> (-33.41%)
:arrow_down:

Continue to review full report at Codecov.

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


@NotNull annotation is parsed in models even if it's not required (in schema)

Hi,
Here is an example
openapi-processor-mapping: v2

options:
  package-name: be.unamur.nuts.web.api
  javadoc: true
  bean-validation: true

openapi: 3.0.2
info:
  title: nuts
  version: '1.0'
  contact: {}
  description: 'Test bug'
servers:
  - url: 'http://localhost:8080'
tags:
  - name: user
    description: Everything about users
paths:
  '/users/{userId}':
    parameters:
      - schema:
          type: integer
        name: userId
        in: path
        required: true
        description: Id of an existing user.
    get:
      summary: Get User Info by User ID
      tags:
        - user
      responses:
        '200':
          description: User Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Get User Alice Smith:
                  value:
                    id: 142
                    firstName: Alice
                    lastName: Smith
                    email<EMAIL_ADDRESS>                    dateOfBirth: '1997-10-31'
                    emailVerified: true
                    signUpDate: '2019-08-24'
        '404':
          description: User Not Found
      operationId: get-users-userId
      description: Retrieve the information of the user with the matching user ID.

components:
  schemas:
    User:
      title: User
      type: object
      description: ''
      x-examples:
        Alice Smith:
          id: 142
          firstName: Alice
          lastName: Smith
      properties:
        id:
          type: integer
          description: Unique identifier for the given user.
        firstName:
          type: string
          description: The firstname of the user
        lastName:
          type: string
          description: The lastname of the user
      required:
        - lastName
  examples: {}

The result is the following Model:
public class User {
    @JsonProperty("id")
    @NotNull
    private Integer id;
    @JsonProperty("firstName")
    @NotNull
    private String firstName;
    @JsonProperty("lastName")
    @NotNull
    private String lastName;

    public User() {
    }
    ....
}

spring processor version: 1.0.0.M20
maven plugin version: 1.0.0.M2
The id and the firstName should not be @NotNull, only lastName is required

Yes, that was a bug in M20, fixed in https://github.com/openapi-processor/openapi-processor-core/issues/44
It will work with oap-spring 2021.2.

Thanks ! Works like a charm :partying_face:


ODBC.listdrivers() does not list all of my drivers

i'm able to connect to my database with:
isql -v DBNAME user password
but when trying to use ODBC.jl, it appears that my driver cannot be found as ODBC.listdrivers() cannot find the driver that was used in isql above.

You'll need to check which ODBC Driver manager is being detected. You can see this by doing ODBC.API.odbc_dm and reporting the result. I imagine it's something different than what isql is using (i.e. if you have both unixODBC and iODBC installed on the same system)

Appreciate the help. I think i found my problem here. I need to pass a custom connection string through. How can I pass the connection string through? I tried ODBC.DSN("connection string") but this returns this error:
 [ODBC] IM002: [unixODBC][Driver Manager]Data source name not found, and no default driver specified

To override, you'll need to edit the ODBC/src/types.jl file and put in a definition like:
odbc_dm = "path/to/odbc_lib"

The reason is because odbc_dm is internal to the ODBC.API submodule and not exported. I'm going to add a setter function for this so it's even easier in the future to manually set the ODBC lib.

Thank you


Store selected forum name in DConf and show it on the first page

For custom forums their URL is shown on the first page.

Thanks!


fix: add demo values for gatekeeper chart

Forgot to add the .demo values.

The build was failing, I updated the branch maybe it helps..

@Morriz
I just added small change to the annotation fields we are using for the ignored resources.
Kubernetes does not accept more than one / in an annotation field and resources won't get deployed.
New convention is:
policy.otomi.io/ignore.container-name: policyID1,2

Please review and merge this PR.


How to install in ableton

Hi how do you install it in ableton 11 ? doesn't seem to show up

Hi how do you install it in ableton 11 ? doesn't seem to show up

I bet you're on a PC.  I'm having the same issue.  Works get on my Mac but I can't get it to show up on my PC.

Change line 11 in manager.py from:
tmp_dir = "/tmp"
to:
tmp_dir = "c:\Temp"
then make sure that c:\Temp exists...

Now c:\Temp\abletonosc.log gets spammed with:
(2021-06-08 20:01:01,305) [INFO] AbletonOSC: Socket error: Traceback (most recent call last):   File "C:\ProgramData\Ableton\Live 11 Suite\Resources\MIDI Remote Scripts\AbletonOSC\abletonosc\osc_server.py", line 62, in process     data, addr = self._socket.recvfrom(65536) ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

Now c:\Temp\abletonosc.log gets spammed with:
(2021-06-08 20:26:04,961) [INFO] AbletonOSC: Socket error: Traceback (most recent call last):   File "C:\ProgramData\Ableton\Live 11 Suite\Resources\MIDI Remote Scripts\AbletonOSC\abletonosc\osc_server.py", line 62, in process     data, addr = self._socket.recvfrom(65536) BlockingIOError: [WinError 10035] A non-blocking socket operation could not be completed immediately

Some quick testing and I don't see these errors causing any actual failure, but just inflating the log file.  I disabled the log entry in the code, and it appears to be working correctly.  Reading about WinError 10035 online and lot of folks seems to think it is harmless and not worth trapping and logging.

I can confirm that the original script does not show up on PC.
@bsom Thanks a lot for finding the culprit and the solution for the inflating log file!
@ideoforms Would be great to have this fixed or explained in the readme.
It should also be mentioned that the IPs have to be changed in osc_server.py for
non-local OSC apps.

Change line 11 in manager.py from: tmp_dir = "/tmp" to: tmp_dir = "c:\Temp" then make sure that c:\Temp exists...

This fix also works for me in Windows 10/Ableton 11. Turned logging off by commenting out "logger.addHandler(file_handler)". However I notice "file_handler.setLevel(logging.INFO)". Should that be changed to "CRIT", "WARN" to turn off all but the most relevant log items ?

A chance to make it appear in ableton live 11.1, windows 10? i put the script in user\Documents\Ableton\User Library\Remote Scripts , no luck Then in C:\ProgramData\Ableton\Live 11 Suite\Resources\MIDI Remote Scripts , no luck to .
I also : "Change line 11 in manager.py from:
tmp_dir = "/tmp"
to:
tmp_dir = "c:\Temp"
then make sure that c:\Temp exists... "
Nothing...

I had this working in Live 11.0 then I made the mistake of updating to Live 11.1.  It broke.  So I downgraded back to Live 11.0 and now it still doesn't work.  What the hell?!? :-)

Even more interesting: It works just fine on my Mac with Live 11.1.1 but no go on my Windows 10 machine with same version of Live.  Trying to figure out where it falls apart...

OK, I figured it out.
In manager.py, the commands to construct the log path seem to have changed what they return.  Their return value was adding "c:\windows\system32\" to the returned string.
As a simple workaround, I simply commented out the lines:
tmp_dir = "/tmp"
log_path = os.path.join(tmp_dir, "abletonosc.log")
And replaced them with a hard-coded path:
log_path="c:\temp\abletonosc.log"
I'm sure there is a more elegant way to solve this but this was done just to investigate the issue.

I've now resolved this more elegantly by having the script create and log to a folder called logs relative to the AbletonOSC top-level directory, which should resolve these Windows path issues. Thanks @RickDDD for the idea and help with testing.


Fix cron job

Cron job isn't working with healthy.io.
 Switched over to systemd timers/services because my OS (Solus) uses systemd timers instead of cron jobs...guess cron jobs aren't cool anymore.

Moved to VPS. Everything fixed and operational.


Resolve Issue with many SSTORES/SLOADs

With the previous VirtualMap we were having issues with executing many SSTOREs. It seemed that the hashing was freezing and the node stops processing transactions. When debugging it we discovered that the Future for hashing was not completing.
Goal:
Now that we have the new VFCMap, lets try to reproduce the issue and verify that it was resolved.

The issue comes from the BinFile implementation. Will be resolved at a later stage, depending on the chosen data structure.


Properties being created

I think it is this plugin doing it, but I have various Dataview fields that I do not want to add to properties. However as soon as I select them to add data to them a Yaml property is being created too with the front tick showing in the inline section.
How do I let the plugin know when I want all the dataview field to be in the properties and when I don't?
Apologies if  it is not this plugin that is creating this but it started when I installed it.
Thanks

hi there ! in the settings there should be a place to include fields you want to ignore. you can add the names of the fields there like

Is that what you are looking for?


Identity Clarification

We need to check with Scott:

Identity as a separate module, anything against?
Tests - environment credential vs reading secrets from environment

Scott sees benefits in having identity as a separate module, nothing against it.
Reading from the environment is fine, we should add stuff as there there are users for it. So, at some point, there will be someone who gets their credential from the environment, and at that time it would be worth to add the environment credential. But now, it is totally fine to read from the environment, as we do in the C repo tests.


Support loading "mousetrap" in AOT mode when using SystemJS

I'm submitting a ...
[x] Bug report
Current behavior
Actual loading of "mousetrap" is done using the following code because of the comment in the code:
To prevent issues with angular-universal on server-side ...
if (typeof window !== 'undefined') { require('mousetrap'); }

which means that require('mousetrap') is called outside of the header of CommonJS module:
(function (global, factory) { ... } (this, (function (exports,core,common) { ... })));

and it leads to a run-time error require is not a function when SystemJS is used as a loader.
Expected behavior
Support loading of angular-modal-gallery.umd.js using SystemJS loader on a client side in a browser in AOT mode ... probably by using correct import and not a direct using of require('mousetrap'); in the code.
When the code if (typeof window !== 'undefined') { require('mousetrap'); } is eliminated (manual removing in the actual code in angular-modal-gallery.umd.js) all works fine in a client browser because loading is done by imports in the main app module:
import 'hammerjs';
import 'mousetrap';

What is the motivation / use case for changing the behavior?
Using Angular application in AOT mode when SystemJS loader is used.
- SystemJS: 0.20.19
- I'm using Server Side Rendering with angular-universal: NO
- I'm compiling with mode: PROD with AOT
- angular-modal-gallery: 5.7.1

I cannot change it otherwise ssr won't work. Obviously I have to support all users but I particolar everyone that are using official tools like angular cli.
When Google will release a real support for ssr with window object on server side I'll really happy to remove it (it's a work in progress feature and I hope for a release with angular 7...i hope). Now I can't, because without this workaround no one could use ssr.

@Ks89 ... hmm, that's sad. Isn't possible to use ModalGalleryModule.forRoot() to pass an option that would said it's running only in a browser? Like: ModalGalleryModule.forRoot({ssr: false})

I'll investigate. Please be patient because this week I'm really busy. I'll update you ASAP.

I don't know how to implement this, because right now I must use require to support SSR with angular-cli and universal.
If I add an else with import inside It isn't working, because I cannot use import conditionally (not supported by Angular itself).
So the only way is to use require.
Also, If I try to add another parameter to forRoot, this will be available inside the service in the constructor, but I need it before, outside the service class (at the beginning).
I don't think that it is feasible right now. We should wait for a real support by Angular.
When SSR will be supported in the right way, without workarounds, I'll update the library to remove the 'require'.

PS: If you have other ideas, feel free to share their

@Ks89 ... hm, dynamic import() expressions has been working since TS 2.4 but only for --module esnext or --module commonjs and not for --module es2015 because that module format uses only static import declarations and they have to be only at the top-level of a file. So you are right that the only way is to use require.
What I don't understand is:

but I need it before, outside the service class (at the beginning)
because you can call require('mousetrap'); in any place. Or I am missing something?

If I missed something then there is always a global possibility on window level because you are also using it as:
if (typeof window !== 'undefined') {
    require('mousetrap');
}

So we can create a global property ... for example window.AngularModalGallery = {ssr: false}; and you can check it and react as necessary.

Mmm I'll try it

because you can call require('mousetrap'); in any place. Or I am missing something?

You are right. I moved the require inside the constructor in this way:
// To prevent issues with angular-universal on server-side
    if (typeof window !== 'undefined') {
      require('mousetrap');
      this.mousetrap = new (<any>Mousetrap)();
    }

It seems to be ok.
Also, I added a new property into forRoot, however this is a huge workaround and I don't want to support this adding it to the documentation website. I decided to add it only to help you and It should be considered as a 'private' and 'undocumented' api that will be removed in upcoming versions (when Google will add a window implementation on server-side) without a real breaking change warning (so be careful and help me to test this in future releases).
ModalGalleryModule.forRoot({shortcuts: ['ctrl+s', 'meta+s'], disableSsrWorkaround: true})

You must specify both params.
What do you think? I'll release it this week as part of version 6.0.0-beta.2 under the new package name @ks89/angular-modal-gallery and with this migration tutorial https://ks89.github.io/angular-modal-gallery-2018-v6.github.io/migration
I cannot promise that it will be perfect, however we could try with this workaroud.

@Ks89 ... super. Thanks a lot for your effort! I appreciate it. I'll help you with the testing in any future version.

Beta2 released https://github.com/Ks89/angular-modal-gallery/releases/tag/v.6.0.0-beta.2
PS: please check the doc website https://ks89.github.io/angular-modal-gallery-2018-v6.github.io/migration site because SystemJS users must add the additional param to forRoot
If the website is still not updated change forRoot() with forRoot({ shortcuts: ['ctrl+s', 'meta+s'], disableSsrWorkaround: true })

@Ks89 ... Hi, I finally did the tests with v.6.0.0-beta.2. All is working fine in JIT and AOT.

I used Angular 6.0.4.
Finally I had to move to Node 10.2.1 and use only NPM.
YARN has some problems with running with Node  10.2.1.

Ok perfect.
I'll do some tests and this weekend I'll release it as final version.
Thank u
Issue closed

Hi @mlc-mlapis
Are you still using SystemJs? If yes, do you have a starter/template project to create an empty Angular9 project with Systemjs?
Because I want to add it as official systemjs example to the next major release of the library. At the moment, I'm not able to use systemjs and Angular9 together.
thanks

@Ks89 Hi, I don't have it. We are using CLI for new projects and old ones ... still not enough time to migrate or just try to switch to the latest one using SystemJS.
But with UMDs from  Angular 9, it should probably be very close to the previous ones. The key is still ngc compiler. Of course, the tree-shaking is out of the game with SystemJS Builder.
What did you try, and what is the problem that is blocking you?

Oooo damn! I forgot to import reflect-metadata.
Fixed 👍

I created a demo here https://github.com/Ks89/systemjs-angular-starter/tree/master
Now I have to try to upgrade SystemJs to the latest version

@Ks89 Not sure if it is a good idea to switch to the latest version of SystemJS. They totally re-structuralized the code and change many things -> a lot of breaking changes. For what you need, it's better to keep the previous one, I think.

Probably you are right. I didn't find a good tutorial and apis are totally different.

@Ks89 Fine. Btw, ... are you OK? I mean the actual situation in Italy and how it affects you and your family.

Yes everything is OK :)
Thank u.


cross language support (java)

Hi!
I'd like to share my bloom filter output to Java services. Are there any Java libs that are compatible with the data structure provided by fastbloom?
Thanks

Hi @lcmgh, if I understand correctly, you want to deserialize the result obtained from the get_bytes method into a Bloom filter implemented in Java. If so, there may not be an implementation that is exactly the same in Java, but I plan to use JNI to provide a Java soon. By the way, if you are interested, you can participate!

Hi @yankun1992 . To be precise, I would like to serve the bytes blob of the bloom filter's result at an endpoint to give other systems the option to run data against the filter locally. Could the artifact of your "Java implementation" then be published on Maven central or will it require additional effort for Java clients to make use of the lib (beside of declaring it as dependency)?

Hi @lcmgh, the snapshot package has been publish to https://s01.oss.sonatype.org/content/repositories/snapshots/io/github/yankun1992/ . You can test it!


Add keyrings.alt to requirements

None of the widgets will load unless the package is installed.
Caveat, the package is not yet available as conda package (https://github.com/conda-forge/staged-recipes/pull/1919)

Fixed in 6cbb0e6c


Display issues with unique names along with district information

@AlOneill Here's the story if you'd like to make a start. I've had a quick look but nothing is jumping out at me right now. I'll come back to it.

Although a sighted user will understand the information as presented, a screen-reader user is going to struggle to make sense of it.
The table is more presentational than semantic: the type of content in the data columns is not consistent — it's not possible to devise meaningful headings that would apply to the whole of either column 2 or 3.
Are we sticking with 'Unique names' or do we want to call them 'Names' as per REG? The reason for change on REG was that the names are not unique in the everyday meaning of the word.

Also, the markup for the description lists in the cells that give the numbers of names is not valid — invalid markup throws screen-reader software.
I totally understand the allure of a very neat-looking display, but …


use separate ignore files for prettier and eslint

Use separate ignore files for prettier and eslint.
Fixes #4937
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

thank you!

Ignoring the lock files makes sense, but do we want to ignore package.json as well? Maybe that one could be checked / formatted

Ignoring the lock files makes sense, but do we want to ignore package.json as well? Maybe that one could be checked / formatted

ignored package.json because it wasn't formatted correctly be default.
attempt fix in #5013


Fix markdown table

Codecov Report

Merging #86 (1594d00) into master (8485fe5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #86   +/-   ##
=========================================
  Coverage     50.27%   50.27%
  Complexity      411      411
=========================================
  Files           110      110
  Lines          1848     1848
  Branches        208      208
=========================================
  Hits            929      929
  Misses          880      880
  Partials         39       39

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 8485fe5...1594d00. Read the comment docs.


improve sample certificate creation Makefile

create a root-ca config
leave intermediate files to save work when creating multiple intermediate certificates

@elevran: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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

Needs approval from an approver in each of these files:

OWNERS

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

@elevran: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@elevran: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-integ-local-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@elevran: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@elevran: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-integ-k8s-tests

prow/istio-presubmit.sh
76dccbd65bc438cf22bd30cbafa7bec39a032260
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


support deepspeed

Introduction
This PR adds DeepSpeed support via Accelerate to sd-scripts, aiming to improve multi-GPU training with ZeRO-Stage. I've made these changes in my fork under the branch-deepspeed and I'm open to any feedback!
1. Install DeepSpeed
First, activate your virtual environment and install DeepSpeed with the following command:
DS_BUILD_OPS=0 pip install deepspeed
2. Configure Accelerate
You can easily set up your environment for DeepSpeed with accelerate config. It allows you to control basic DeepSpeed environment variables. You can also use command-line arguments for configuration. Here's how you can set up for ZeRO-2 stage using Accelerate:
(deepspeed) accelerate config
In which compute environment are you running? **This machine**
Which type of machine are you using? **multi-GPU**
How many different machines will you use (use more than 1 for multi-node training)? [1]: **1**
Should distributed operations be checked while running for errors? This can avoid timeout issues but will be slower. [yes/NO]: **NO**
Do you wish to optimize your script with torch dynamo?[yes/NO]: **NO**
Do you want to use DeepSpeed? [yes/NO]: **yes**
Do you want to specify a json file to a DeepSpeed config? [yes/NO]: **NO**
What should be your DeepSpeed's ZeRO optimization stage? **2**
How many gradient accumulation steps you're passing in your script? [1]: **1**
Do you want to use gradient clipping? [yes/NO]: **NO**
How many GPU(s) should be used for distributed training? [1]: **4**
Do you wish to use FP16 or BF16 (mixed precision)? **bf16**
accelerate configuration saved at ~/.cache/huggingface/accelerate/default_config.yaml

Follow the prompts to select your environment settings, including using multi-GPU, enabling DeepSpeed, and setting ZeRO optimization stage to 2.
Your configuration will be saved in a YAML file, similar to the following example (path and values may vary):
compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  gradient_accumulation_steps: 1
  zero_stage: 2
...

3. Use in Your Scripts
TOML Configuration File: Add deepspeed=true and zero_stage=[your_stage] to your TOML config file. Refer to the ZeRO-stage and Accelerate DeepSpeed documentation for more details.
Bash Argument: Simply add --deepspeed --zero_stage=[your_stage] to your script's command line arguments.
Note
This PR aims to improve training efficiency in multi-GPU setups. It's been tested only in Linux environments and specifically for multi-GPU configurations. The DeepSpeed support in Accelerate is still experimental, so please keep this in mind and feel free to provide feedback or comments on this PR.

Still on test.

hello.
so we add --deepspeed --zero_stage=[your_stage]
but what is your_stage here? thank you
what is zero_stage?

hello.
so we add --deepspeed --zero_stage=[your_stage]
but what is your_stage here? thank you
what is zero_stage?

your stage means one of ZeRO stage, [0, 1, 2, 3]. Details are in ZeRO documents.
Shortly

ZeRO stage 1 : The optimizer states
ZeRO stage 2 : The optimizer states + The gradient stages
ZeRO stage 3 : The optimizer states + The gradient stages + The parameters
to shard them into multi-gpus.

hello.
so we add --deepspeed --zero_stage=[your_stage]
but what is your_stage here? thank you
what is zero_stage?

your stage means one of ZeRO stage, [0, 1, 2, 3]. Details are in ZeRO documents. Shortly

ZeRO stage 1 : The optimizer states
ZeRO stage 2 : The optimizer states + The gradient states
ZeRO stage 3 : The optimizer states + The gradient states + The parameters

to shard them into multi-gpus.

for 2 gpus which one you suggest? like --deepspeed --zero_stage=1?
what about 3 gpus?
currently it clone entire training on each gpus as far as i know
so can you tell some suggested guidelines?

hello.
so we add --deepspeed --zero_stage=[your_stage]
but what is your_stage here? thank you
what is zero_stage?

your stage means one of ZeRO stage, [0, 1, 2, 3]. Details are in ZeRO documents. Shortly

ZeRO stage 1 : The optimizer states
ZeRO stage 2 : The optimizer states + The gradient states
ZeRO stage 3 : The optimizer states + The gradient states + The parameters

to shard them into multi-gpus.

for 2 gpus which one you suggest? like --deepspeed --zero_stage=1?
what about 3 gpus?
currently it clone entire training on each gpus as far as i know
so can you tell some suggested guidelines?

I think that ZeRO-2 stage is optimal stage if you have enough VRAM. i.e. --deepspeed --zero_stage=2 only.
And if you want to use cpu/nvme offload, you might meet some kind of error in this commit. I will fix it soon.
But you can use ZeRO-2 stage without offloading

when i tested fp16 and bf16 on SD 1.5 I had horrible results. are you able to get any decent results?

any update here? @kohya-ss

Here is a report of deepspeed in sd-scripts
Environment
Model

Stable Diffusion XL 1.0

GPUs

GPUs, 24GB VRAM. No NVLink

2 x RTX 3090, 4 x RTX 3090, 6 x RTX 3090 and 8 x RTX 3090
2 x RTX 4090, 4 x RTX 4090 and 6 x RTX 4090

No NVLink make bottleneck among GPU communication.
Requirements

torch 2.2.0 cu121
bitsandbytes 0.0.42 for AdamW8bit
accelerate 0.25.0
deepspeed 0.13.1
lycoris 2.0.2 for LoCon

Training Settings

Methodology

Full Finetuning(FT). sdxl_train.py
LoCon with rank=16(PEFT). sdxl_train_network.py

Training Precision

full_fp16, only active for DDP

Distributed Method

Distributed Data Parallel(DDP). sd-scripts and accelerate default
ZeRO. stage 1, 2, and 3

Resolution

1024x1024 with aspect ratio bucketing(ARB)

Batch and Optimizer

batch size = 4
gradient accumulation steps 16
AdamW8bit

With 24GB VRAM, sd-script can run barely PEFT, and can not run FT on DDP.
Results
Fisrt, I'm sorry for some missing element of table. My budget is limited.
RTX 3090, full_fp16, FT
VRAM usage(MB). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
OOM
OOM
OOM
OOM

4
OOM
OOM
OOM
21539

6
OOM
OOM
OOM
21569

8
OOM
OOM
23400
21013

Training Speed(s/it). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
OOM
OOM
OOM
OOM

4
OOM
OOM
OOM
191.73

6
OOM
OOM
OOM
477.72(?)

8
OOM
OOM
143.58
190.09

RTX 4090, full_fp16, FT
VRAM usage(MB). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
OOM
OOM
OOM
OOM

4
OOM
OOM
OOM
21154

6
OOM
OOM
OOM
21571

Training Speed(s/it). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
OOM
OOM
OOM
OOM

4
OOM
OOM
OOM
50.02

6
OOM
OOM
OOM
104.65

RTX 3090, full_fp16, PEFT
VRAM usage(MB). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
23282
22097
22026
21045

4
23113
23206
23154
20968

6
22764
23280
23034
21949

8
23109
22582
SIGABRT*
21955

SIGABRT raised. IDK
Training Speed(s/it). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
58.64
51.7
56.25
114.71

4
59.27
55.92
58.37
167.77

6
58.32
52.61
57.07
375.46

8
53.08
48.88
SIGABRT
165.85

RTX 4090, full_fp16, PEFT
VRAM usage(MB). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
22450
22163
22175
20791

4
22720
23059
23528
22209

6
21767
OOM*
23167
22142

Ideally this OOM should not be happened.
Training Speed(s/it). Lower is Better.

# of GPU
DDP
ZeRO-1
ZeRO-2
ZeRO-3

2
30.33
29.23
29.76
66.43

4
32.36
29.42
31.17
75.34

6
32.91
-
31.91
112.83

the only way to utilize multiple consumer GPU is i think cloning the training if you don't have pro GPUs.

full_fp16, only active for DDP

Why not use bf16 for these cards?

Training Speed(s/it). Lower is Better.
29.23

Could you please compare it with training on a single card? As far as I remember I get roughly the same speeds with just one card.

full_fp16, only active for DDP

Why not use bf16 for these cards?

Training Speed(s/it). Lower is Better.
29.23

Could you please compare it with training on a single card? As far as I remember I get roughly the same speeds with just one card.

full_bf16 and bf16 is on running.
For a single card, training speed is almost same as DDP, DDP is slight slower.

full_fp16, only active for DDP

Why not use bf16 for these cards?

Training Speed(s/it). Lower is Better.
29.23

Could you please compare it with training on a single card? As far as I remember I get roughly the same speeds with just one card.

full_bf16 and bf16 is on running.
For a single card, training speed is almost same as DDP, DDP is slight slower.

The results look very promising, I can help you by providing you with different multi-gpu machines if it will help with your tests.

what is your effective batch size?
this is cloned on each GPU?
like 2 gpu means 4 * 16 * 2 ?

full_fp16, only active for DDP

Why not use bf16 for these cards?

Training Speed(s/it). Lower is Better.
29.23

Could you please compare it with training on a single card? As far as I remember I get roughly the same speeds with just one card.

full_bf16 and bf16 is on running.
For a single card, training speed is almost same as DDP, DDP is slight slower.

The results look very promising, I can help you by providing you with different multi-gpu machines if it will help with your tests.

Thank your suggestion. But I think now-days Diffusion Models are not too big and necessary to run with multi-machines or multi-nodes.

what is your effective batch size?
this is cloned on each GPU?
like 2 gpu means 4 * 16 * 2 ?

Effective Batch calculation in sd-scripts is on below
[effective batch] = [number of machine] x [number of gpus] x [train_batch_size] x [gradient_accumulation_steps]
For example, in my 2 gpu settings.
effective batch = 1 machine x 2 gpus x 4 train batch size x 16 gradient accumulation steps
= 1 x 2 x 4 x 16 = 128

@mchdks
Here is a simple yet all about installation.
installation
I recommend to use deepspeed anaconda envrionment. First, you need to clone my deepspeed branch.

install anaconda

I recommend python=3.10

install anaconda deepspeed env via yml file.

conda create -n deepspeed --file=/path/to/YAL_FILE.yml

move dir to sd-scripts deepspeed branch

cd /path/to/deepspeed/branch

activate anaconda environment

conda activate deepspeed

install pytorch and sd-scripts requirements.txt

conda install pytorch==2.2.0 torchvision==0.17.0 pytorch-cuda=12.1 -c pytorch -c nvidia
pip install -r requirements.txt
tested torch version is 2.2.0 but it can run on other torch version >= 2.0.1.

install bitsandbytes, xformers, and lycoris

pip install bitsandbytes xformers lycoris_lora

install deepspeed

DS_BUILD_OPS=0 pip install deepspeed=0.13.1

config accelerate config
prepare test image set and script configuration file, like

CONFIG_FILE.toml
pretrained_model_name_or_path = "./training/base_model/sd_xl_base_1.0.safetensors"
xformers = true
deepspeed = true
zero_stage = 1
mixed_precision = "bf16"
save_precision = "bf16"
full_bf16 = true
output_name = "full_bf16_ff_zero_1"
output_dir = "./training/ds_test/model"
train_data_dir = "./training/test_img"
shuffle_caption = true
caption_extension = ".txt"
random_crop = true
resolution = "1024,1024"
enable_bucket = true
bucket_no_upscale = true
save_every_n_epochs = 1
train_batch_size = 4
max_token_length = 225
max_train_epochs = 1
max_data_loader_n_workers = 4
persistent_data_loader_workers = true
seed = 42
gradient_checkpointing = true
gradient_accumulation_steps = 16
logging_dir = "./training/ds_test/logs"
caption_separator = ". "
noise_offset = 0.0357
learning_rate = 1e-4
unet_lr = 1e-4
learning_rate_te1 = 5e-5
learning_rate_te2 = 5e-5
train_text_encoder = true
max_grad_norm = 1.0
optimizer_type = "AdamW8bit"
save_model_as = "safetensors"
optimizer_args = [ "weight_decay=1e-1", ]
lr_scheduler = "constant_with_warmup"
lr_warmup_steps = 340
no_half_vae = true

run script like this.

accelerate launch --mixed_precision=bf16 \
        --num_processes=8 --num_machines=1 --multi_gpu \
        --main_process_ip=localhost --main_process_port=29555 \
        --num_cpu_threads_per_process=4 \
        ./sdxl_train.py --config_file=$CONFIG_FILE

CONFIG_FILE is a path to above toml file.

you will meet very long warnings and logs. but just ignore them, it doesn't effect on training.

@BootsofLagrangian Hi! I've merged the PR to the new branch, and I'm refactoring a bit the code.
I have a question for DeepSpeedWrapper. In my understanding, Accelerate library does not support multiple models for deepspeed. So, we need to wrap multiple models into a single model.
If this is correct, when we pass the wrapper to accelerator.accumulate, the argument for accumulate might be the wrapper, instead of the list of models. Because accumulate takes the prepared model.
Therefore, training_models = [ds_model] might be ok. Is this correct?

Yep, that is correct. accelerate do something magical, accumulate method accepts accelerate-compatible Modules.
I tested training_models = [ds_model] and it works.

I got very optimistic results!
I have only 3x4090 in my PC and I was able to run Adam (not Adam8bit) optimizer on BF16 (without full_bf16) with batch size 16 and 1st text encoder training.
I used zero stage 2 and cpu offloading.
Speed is incredible: 10s/it 😱
It took 123 GB of RAM.
Just to note: to run Adam with batch size 16 you need ~ 75GB VRAM (A100 or H100) and it performs with 4s/it.
@BootsofLagrangian you are a wizard!

@storuky wow nice results


Auto generate installation instructions for packages

Rather than manually adding:
dotnet add package {package}

we could autogenerate this as part of the Update-Snippets, or at least validate that it is correct as part of CI. This would ensure that the value matches the library name and the --prerelease flag is only included for beta versions in libraries that have never GA'ed.

@JoshLove-msft, can you provide more context here?  Are you talking about when these appear in our various readmes?
I worry that the work to automate this would be more difficult than simply adding "prerelease" if you want "beta".  This also seems very language specific as other languages have different tools and versioning systems.  Please reach out to @weshaggard if we're missing something.

I agree that the validation may differ per language, but I was thinking that something like this could live in the Verify-Readme script and have language-specific logic. I think all languages include installation instructions in one form or another in the Readme.
I've implemented something for .NET that validates there are GA instructions if the library has a GA version.

@JoshLove-msft what did you do for the .NET repo? Also for these install instructions wouldn't it be easier to have simple instructions with a footnote to add --prerelease if you want the latest beta?

@JoshLove-msft what did you do for the .NET repo?

See https://github.com/Azure/azure-sdk-for-net/blob/main/eng/scripts/CodeChecks.ps1#L107-L159

Also for these install instructions wouldn't it be easier to have simple instructions with a footnote to add --prerelease if you want the latest beta?

We could do that, but it is somewhat annoying for the case where there is no GA release yet, hence the desire for a more customized installation experience.

Yes it is kind of annoying for a little while but I don't think that will hit very many people and it will make it such that these steps will be copy/paste and we don't have to worry about trying to update maintain them at all.

Well we would still need some sort of checks to ensure people are pasting in the installation instructions correctly, so I'm inclined to stick with what we have for .NET as it provides a slightly better user experience.

What about cases where there are both GA and prereleases? Do you plan to have a note about prerelease flag?
We have some basic readme validation which verifies that people have the correct headers but it might be interesting to think about a little deeper templating mechanism that would enable folks to add a set of common text like this for the sections as well but I'm not sure what that would look like currently. I think for now keeping what you have in .NET until a clearer pattern or scenario emerges will be the best option for this currently.

If there are both GA and prereleases, we would only require that GA instructions are there. In an ideal world, I think this would be auto-generated into the Readme based on the changelog entries.

I actually think it is less about the changelog but more about the version we have defined for a given package. The trouble is we don't currently have anything that parses and can update READMEs as part of the process. If you would like you could attempt to add this as part of https://github.com/Azure/azure-sdk-for-net/blob/main/eng/scripts/Update-PkgVersion.ps1 which is what we use when we update or set the package versions. However that does mean you would need to do more logic to determine if we ever shipped a GA version or not, I suppose that might be what you were meaning by using the changelog which could be one way of doing this, we could also consider using the release tags to figure out the versions that have shipped as well.


Improve lexer resilience

It would be really lovely to have a slightly more resilient lexer.
There's two different kinds of problems that the lexer can encounter:

"completely recoverable": instead of crashing when encountering an invalid escape, just continue lexing the given string and only store the error somewhere to report it later (we don't really care about an invalid escape even in Typer!)
"partially recoverable": just create a proper error token and continue lexing; the tricky part here is finding the delimiter until which the error token should be (where we can recover)

I think this approach isn't great: separating out soft and hard errors doesn't make things easier. Instead, I think we should:

always advance
produce error tokens recognised by the backend
leave the actual string parsing, escaping etc. to the Parser (=> moving to a Token = { offset: Int, length: Int, kind: TokenKind } representation or something similar)

from #523


[FEATURE REQUEST] How to remove Configuration {...} from the output file?

Is your feature request related to a problem? Please describe.
How to remove the long string of redundant information Configuration {...} in the output file? Because this is not what the user cares about, what really matters is the final result.
Describe the solution you'd like
Add an option to filter out this long string of Configuration {...}.
Describe alternatives you've considered
Additional context

In the output report, the information of Configuration {...} is too long, and I personally think it is unnecessary to print this configuration in the output report, because we have already set these configurations in the configuration file, so there is no need to print them again in the report. The report should highlight the key points of the scan results.

howdy!
saving the configuration in the output is by design. While it's true that you know the configuration for a single scan that was just run, that might not be true if you store results for historical purposes and come back to a file weeks/months later.
one way of avoiding the configuration output is to add the --json flag. The result is that the configuration entry (and all results) are a fully formed json object, one per line. For example:
{"type":"configuration","wordlist":"/home/epi/wordlists/seclists/Discovery/Web-Content/common.txt","config":"/home/epi/projects/feroxbuster/ferox-config.toml","proxy":"","replay_proxy":"","server_certs":[],"client_cert":"","client_key":"","target_url":"http://127.1:8000","status_codes":[100,101,102,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511,103,425],"replay_codes":[100,101,102,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511,103,425],"filter_status":[],"threads":50,"timeout":7,"verbosity":0,"silent":false,"quiet":false,"auto_bail":false,"auto_tune":false,"json":true,"output":"/tmp/output1","debug_log":"","user_agent":"feroxbuster/2.11.0","random_agent":false,"redirects":false,"insecure":false,"extensions":[],"methods":["GET"],"data":[],"headers":{},"queries":[],"no_recursion":false,"extract_links":true,"add_slash":false,"stdin":false,"depth":4,"scan_limit":0,"parallel":0,"rate_limit":0,"filter_size":[],"filter_line_count":[],"filter_word_count":[],"filter_regex":[],"dont_filter":false,"resumed":false,"resume_from":"","save_state":true,"time_limit":"","filter_similar":[],"url_denylist":[],"regex_denylist":[],"collect_extensions":false,"dont_collect":["tif","tiff","ico","cur","bmp","webp","svg","png","jpg","jpeg","jfif","gif","avif","apng","pjpeg","pjp","mov","wav","mpg","mpeg","mp3","mp4","m4a","m4p","m4v","ogg","webm","ogv","oga","flac","aac","3gp","css","zip","xls","xml","gz","tgz"],"collect_backups":false,"backup_extensions":["~",".bak",".bak2",".old",".1"],"collect_words":false,"force_recursion":false,"scan_dir_listings":false,"protocol":"https","limit_bars":0}
{"type":"response","url":"http://<IP_ADDRESS>:8000/.config","original_url":"http://127.1:8000","path":"/.config","wildcard":false,"status":201,"method":"GET","content_length":120,"line_count":1,"word_count":5,"headers":{"content-type":"text/plain; charset=utf-8","date":"Mon, 30 Dec 2024 21:37:08 GMT","content-length":"120","permissions-policy":"interest-cohort=()","x-content-type-options":"nosniff","server":"Rocket","x-frame-options":"SAMEORIGIN"},"extension":"","timestamp":1735594628.6063209}

when the output is JSONL (line-delimited json), you can remove the configuration with something as simple as tail -n +2 /path/to/output.jsonl


fixing push-image job

Signed-off-by: Mark Rossetti<EMAIL_ADDRESS>

/hold

/lgtm

/hold cancel
Both https://github.com/kubernetes/k8s.io/pull/4665 and https://github.com/kubernetes/test-infra/pull/28474 merged


Add QueuesApi datasource

Summary
This implements the datasource layer part of the events consumption feature. The full implementation of the feature was drafted in (https://github.com/safe-global/safe-client-gateway/pull/1382)
Changes

Adds amqplib and amqp-connection-manager dependencies (NestJS recommended packages to manage AMQP queues).
Adds RabbitMQ/AMQP configuration as environment variables.
Adds a development RabbitMQ server instance to the docker-compose.yml file.
Adds a development RabbitMQ server instance to the ci.yml file.
Adds QueuesApiModule along with QueuesApiService, which allows subscribing functions to new messages received in a given AMQP queue.
Adds QueuesApiModule, which contains QueuesApiService and its interface, QueueReadiness, and QueuesApiShutdownHook,

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 53 (0.0%)  changed or added relevant lines in 6 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.6%) to 92.486%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/datasources/queues/queues-api.service.interface.ts
0
1
0.0%

src/domain/interfaces/queue-readiness.interface.ts
0
1
0.0%

src/datasources/queues/tests/test.queues-api.module.ts
0
6
0.0%

src/datasources/queues/queues-api.shutdown.hook.ts
0
8
0.0%

src/datasources/queues/queues-api.service.ts
0
17
0.0%

src/datasources/queues/queues-api.module.ts
0
20
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/routes/transactions/entities/tests/human-description.builder.ts
3
60.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
6773

Relevant Lines:
7082

💛  - Coveralls


Getting started

I'm attempting to integrate this reporter into a test project based upon webdriverio/cucumber-boilerplate.
So far I've included this repository as a module in the project, built the build/reporter.js file and added the main attribute to package.json pointing to it. I've then referenced the module in the config file of my test project and set it as the reporter.
var AllureReporter = require('wdio-allure-reporter');

exports.config = {

    ...

    reporter: AllureReporter,
    reporterOptions: {
        outputDir: './'
    },

    ...

};

When I run the tests the cases execute as normal but nothing related to the reporter seems to be happening. I've added debug logging to the reporter.js file and it doesn't seem to be executing.
Am I doing something wrong? Is it possible to get a quick getting started guide?
Thanks for your help.

Hello! Why did you close this?
I just have started working on guide yesterday. I am going to create a repo with demo project and write few words about it.

Hi @just-boris,
I closed the issue as I resolved the specific problem I was having integrating a custom reporter with the cucumber-boilerplate project.
A getting started guide would still be very useful. I can edit the initial issue to remove the reference to the specific issue which I solved if you want to tag the guide against this issue?

Okay. I will create the new one, when I will have something to show.


Feature request: skip Enter in refactors menu if there are fewer than 10 options

It would be nice if I could save a button press (50% of all button presses in the menu!) in the refactors menu, if it would just accept the input number in the case where there are fewer than 10 options and not wait for Enter. (Or if anyone could suggest a workaround, that'd be great too!)

We are using vim.ui.select (:h vim.ui.select) under the hood, which by default uses vim.fn.select (:h select), this is the interface you are seeing. vim.ui.select is designed to be able to be overriden by plugins (I'm using a select function exposed by fzf-lua, for example) and users


Unable to Run DevSkim VS Code Plugin with .NET 6 in ARM64 Dev Containers

Describe the bug
Unable to run DevSkim VS Code plugin when only have .NET SDK 6 installed
To Reproduce
Steps to reproduce the behavior:

Run mcr.microsoft.com/devcontainers/dotnet:6.0 using Dev Containers with ms-cst-e.vscode-devskim extension specified in devcontainer.json:

    "extensions": [
        "ms-cst-e.vscode-devskim"
    ]

See error

Expected behavior
Should be able to run with only .NET 6 installed without the need to install .NET 7
Screenshots

Versions(please complete the following information):

Host OS: macOS 12.6.6
Host Architecture: M1
Devskim Version 1.0.8
Dev Containers 0.295.0
Container OS: Debian bullseye
Container Architecture: arm64

I can't reproduce this by installing the latest version of the extension from the store. Tested on an ARM64 Mac.
The language server for the VS Code plug-in requires .NET 7.0 - however it manages its the runtime it needs automatically with the .NET Install Tool for extensions. It is not intended to rely on an existing sdk.
https://learn.microsoft.com/en-us/dotnet/core/additional-tools/vscode-dotnet-runtime

Thank you for your response, I see that .NET Install Tool for Extension Authors extension is already installed inside Dev Container together with DevSkim extension as shown in following screenshot.

Do you mean manually edit manifest of DevSkim extension to explicitly specify .NET Install Tool for Extension Authors extension as dependency?

Thanks for the extra info. I believe since you do see install tool I wouldn't expect explicitly specifying it to change the behavior.
I suspect using a .net 7.0 image would work as a workaround here if one is available - and should still allow you to build .NET 6.0 projects. However, it looks like I'll have to test myself with dev container, as I wouldn't expect the mere presence of a .net 6.0 sdk to cause the extension to not work - the install tool extension is supposed to ensure that the user doesn't have to have the sdk installed in order to use the devskim extension.

I believe I've have a fix for this with #559.

Thanks @gfs for the fix, version 1.0.11 has been tested working with only .NET 6 installed in dev container.


Remove update_proposal;

Do not let proposal origin update proposal to avoid misunderstanding and mallicious activities. Another proposal can be made anytime anyways.

Done -


Update ChatHttpClient.java

Patch will fix a NullPointerException which was caused by giving (null) ErrorStream as an argument to a InputStreamReader. NullPointerException was thrown if a valid and logged user tried to post a message but the server returned an error code.

Thanks for the contribution. Will accept this patch.
Should also change the handling of responses overall so that first check if server did send anything in the response body and then read it, using the stream != null as a check:
	InputStream in = connection.getInputStream();
	if (null != in) {
		BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));

I agree, that would definitely be a better way to handle the responses.


Latest v2.3.0 for JDK 23 Pcap.findAllDevs() throws on macOS

After upgrading to the latest jnetpcap release v2.3.0, Pcap.findAllDevs() throws on macOS 15.1.1 with JDK 23.0.1, stack trace see below. I remember this was not the case with PR #57, that included some changes. Something must have sneaked into the overall fixes for JDK 23 / release 2.3.0, but I can't easily trace it back.
Exception in thread "main" java.lang.IndexOutOfBoundsException: Out of bound access on segment MemorySegment{ address: 0x13d6dc8d0, byteSize: 20 }; new offset = 0; new length = 38
        at java.base/jdk.internal.foreign.AbstractMemorySegmentImpl.outOfBoundException(AbstractMemorySegmentImpl.java:439)
        at java.base/jdk.internal.foreign.AbstractMemorySegmentImpl.apply(AbstractMemorySegmentImpl.java:420)
        at java.base/jdk.internal.foreign.AbstractMemorySegmentImpl.apply(AbstractMemorySegmentImpl.java:70)
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:124)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:448)
        at java.base/jdk.internal.foreign.AbstractMemorySegmentImpl.checkBounds(AbstractMemorySegmentImpl.java:409)
        at java.base/jdk.internal.foreign.AbstractMemorySegmentImpl.checkAccess(AbstractMemorySegmentImpl.java:369)
        at java.base/jdk.internal.foreign.LayoutPath.checkEnclosingLayout(LayoutPath.java:288)
        at org.corebounce.nova/org.jnetpcap.SaLayout.get(SaLayout.java:313)
        at org.corebounce.nova/org.jnetpcap.SaLayout.getNumber(SaLayout.java:325)
        at org.corebounce.nova/org.jnetpcap.SaLayout.getUnsignedShort(SaLayout.java:336)
        at org.corebounce.nova/org.jnetpcap.SockAddr$LinkSockAddr.<init>(SockAddr.java:438)
        at org.corebounce.nova/org.jnetpcap.SockAddr.newInstance(SockAddr.java:713)
        at org.corebounce.nova/org.jnetpcap.PcapIf$PcapAddr.<init>(PcapIf.java:198)
        at org.corebounce.nova/org.jnetpcap.PcapIf$PcapAddr.listAll(PcapIf.java:172)
        at org.corebounce.nova/org.jnetpcap.PcapIf.<init>(PcapIf.java:358)
        at org.corebounce.nova/org.jnetpcap.PcapIf.listAll(PcapIf.java:322)
        at org.corebounce.nova/org.jnetpcap.Pcap0_7.findAllDevs(Pcap0_7.java:204)
        at org.corebounce.nova/org.jnetpcap.Pcap.findAllDevs(Pcap.java:1098)
        ....

Taking a look at it now. I'm able to reproduce the failure it as well.

Found the problem. Will checkin this afternoon. A very minor issue. I did modify how address structure length is calculated for the JDK 23 implementation. That did not work well with JDK 23 on Mac (being BSD derrived).

Had to do a little branch cleanup but everything looks great now:
sdks/jnetpcap-wrapper$ git branch -r
  origin/bugfix/issue-61-v230-for-jdk-23-pcapfindalldevs-throws-on-macos
  origin/develop
  origin/gh-pages
  origin/jdk21/develop
  origin/jdk21/main
  origin/main

I originally fixed this while at the airport between flights, but now I'm taking a second closer look at why this failed in the first place, so specifically for BSD/MacOS.
I will back propagate the changes in the JDK 21 do another point release for JDK 22+ and JDK 21 (v2.3.1 and v2.3.1+jdk21)

This issue is fixed in v2.3.1 and v2.3.1+jdk21.
Published to maven central (allow upto 24 hrs).


[GSoC Proposal] Support Cold/Hot Tier storage in TiKV

TiKV uses RocksDB as its storage layer, currently RocksDB support assigns a list of path, newer data is placed into paths specified earlier in the list while older data gradually moves to paths specified later in the list. For example we may use a 300GB fast local SSD as the first path, and a 2TB HDD disk as the second path, and an 16TB remote network disk as the last path. This will reduce the total cost, but the older data doesn’t mean it is cold data. If there is some older but frequently accessed data, it will host in block-cache normally, but the total memory is limited. If this frequently accessed data can be pulled up to the first path(the local fast ssd), it can achieve a better read performance for TiKV.

Hello @yiwu-arbug, I am interested in this task, where can I get started?

@hskang9 Thank you for interest for the project. Please join tikv-wg.slack.com on Slack and ping me (Yi Wu). We can discuss in more detail. Thanks.

Hello @yiwu-arbug! I am interested in taking  this project up as part of GSoC.

No applicant at last. Closing.


Consider using dependabot

It looks like you did not yet setup dependabot support; at least .github/dependaboit.yml is missing.
Please consider setting up dependabot support (and to ease life the workflow auto-merge.yml). Dependabot will ensure that your adapter uses the most recent versions of external packages and avoids problem due to outdted base libraries. Dependabit provides PRs at you repository to update the dependencies. Depending on you setting, especially on auto-merge.yml configuration no or only minor revisions will be outmatically merged into you main branch. All major revisions must (and should) be reviewed by you.
Hint: at least @iobroker/adapter-core is not up to date (actual release is 3.x.x)

dependabot.yml and auto-merge.yml created.


eks initial commit

Closing. EKS is deprioritized and anyway all infra modules are moving to slalom-ggp/dataops-infra.


Use the right value for zone field

JIRA Issues: MARATHON_EE-1665

ditto on zen-dog comment... shouldn't there be tests that would have capture this?

@kensipe @zen-dog tests used the value from the Constraints object, that explains why they didn't fail.

😂
Yeah, at some point we need to write a test to make sure the test is testing the right thing.


Allow clients to turn on AudioCaptureOptions's experimentalNoiseSuppression flag.

Is your feature request related to a problem? Please describe.
Our team would like to experiment with googNoiseSuppression2, which requires enabling the experimentalNoiseSuppression flag. However, this flag is a let constant, set to false, and is not settable in the initializer for the AudioCaptureOptions type.
Describe the solution you'd like
Make experimentalNoiseSuppression settable in the AudioCaptureOptions initializer.
Describe alternatives you've considered
Make experimentalNoiseSuppression a var, but that doesn't seem like a correct approach given that these options are all constants.
Additional context
I'd be happy to put up a PR that does this, though I'm curious to learn if there's a strong reason not to use this API today.

I haven't been able to find evidence that this is used in WebRTC, was planning to remove these.
Please let me know if I'm wrong.

Ah, shoot – you are correct!