Use non-crypto version of random to generate ids.

LGTM

LGTM
@tiborvass This says design-review....

LGTM but we need a stronger seed for math.rand (working a PR)

@ewindisch why?

@tiborvass time-based seeds are predictable and easily brute-forced. I don't think our use of it is particularly unsafe here, but it costs little to do the initial seed from crypto/rand
See #15123

This is going to introduce a future security issue. The fact that IDs don't collide is a security feature, especially for image IDs.
We need to fix the entropy issue.

@stevvooe image IDs use crypto only.

Should I file the CVE now or should I wait for this to cause a problem?

I still contest there is no "entropy issue", but perhaps I digress.
@stevvooe we cannot guarantee that image IDs will not collide and cannot rely on that as a security feature. We have documented knowledge of why that's bad. Content-addressable IDs are the only IDs that may be relied on for distribution.
The use of math.rand in this patch seems to be safe and this PRNG is seeded by /dev/urandom.

@ewindisch @tiborvass This becomes a security issue when someone submits a PR with stringid.GenerateNonCryptoID in the wrong spot. At least with cryptographically strong random identifiers, we have some guarantee that they won't collide.

@stevvooe Certainly. My perspective is that this patch doesn't seem to do that in and of itself. While possibly harmless by itself, I do agree that this patch is unnecessary.
 I have no problem with generating non-cryptographicly secure UUIDs.  UUIDs prevent casual collisions for applications which must provide identifiers. It is for applications where an increment counter would be safe and sufficient. UUIDs should be local, not for a multi-user, open distributed system. If UUIDs are used for any of these reasons then their use should be reassessed.

We just hit the containers ids (well, hostnames based on ids) collision on different machines in a swarm cluster. Caused a bit of trouble.

Can you expand on that? What happened and what were the consequences?
On 9 Nov 2016 11:38 a.m., "Danila Shtan"<EMAIL_ADDRESS>wrote:

We just hit the containers ids (well, hostnames based on ids) collision on
different machines in a swarm cluster. Caused a bit of trouble.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker/pull/15107#issuecomment-259394994, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAdcPMLD7OyeG550XYo2I877Etf2VZslks5q8bDKgaJpZM4FhoRS
.

@justincormack Speculating here, but if the hostnames (containerIDs) are exported to provide routing to specific containers, collisions will result in a random containers not being accessible. This problem is compounded by the fact that the hostname is a truncated container ID, so we lose even more entropy. With the short ids used as hostnames, this is only 48-bits.
I suspect the truncation is having a larger effect on collision probability than reduced entropy of prng used to generate ids. However, the prng used for id generation isn't necessarily secure, so this could be even more likely than we think.
@ramm What is the observed rate of collision? Was this only a one off occurrence or are you seeing this regularly? If regularly, how many containers are being generated per day/hour/week?

I would suggest opening a new issue instead of commenting under this merged PR. Thanks!


integer type

This may or may not be useful:
> S.Int(7).add(S.Int(2))
Int(9)
> S.Int(7).divideBy(S.Int(2))
Int(3)
> S.Int(7).valueOf()
7

An integer type would allow us to specify types more precisely. S.at, for example, could have type Int -> [a] -> Maybe a.

There is a tricky thing though. Numbers can be an instance of monoids in two different ways.
You could do either of these:
Int.prototype.empty = function() { Int(0); };
Int.prototype.concat = function(other) {
  return Int(this.valueOf() + other.valueOf());
};

Int.prototype.empty = function() { Int(1); };
Int.prototype.concat = function(other) {
  return Int(this.valueOf() * other.valueOf());
};

Numbers can be an instance of monoids in two different ways.

True. I don't think this should prevent us from supporting one of the two. There are, I believe, multiple lawful definitions of Either#concat. @joneshf and I chose the one which seemed most useful, but I recall @CrossEye advocating a different definition.

To be honest I think using a integer type would be too much bother because you loose the ability to use operators.

That's not quite true, since one can define Int#valueOf :: Int ~> Number:
> S.Int(1) + S.Int(2)
3

To get Int(3) as the result one would use S.add (or R.add if it is updated to dispatch to add).
I use operators infrequently. I use R.add, R.inc, etc. in many places. Switching to polymorphic versions of these functions would be straightforward.

It is also much less typing to just use a literal.

I'm happy to pay this price in order to have more accurate types. S.parseInt, for example, would become:
parseInt :: Int -> String -> Maybe Int

A radix of 2.5 is nonsensical. Having the run-time type checker reject such values would be very nice indeed.

Have you considered hacking support for numbers into various places instead? So that one could do this for instance:
S.Just(4).concat(S.Just(12)); => Just(16)

I see this as orthogonal to the question of an Int type. I very much like the idea of a concat function which performs addition on Number arguments. It could also be defined for Int arguments:
> S.Just(S.Int(4)).concat(S.Just(S.Int(12)))
Just(Int(16))

I would be concerned about defining concat as add.  The minute you do, you'll want it to mean something else.
I don't think there is much of a reason to try to define standard Monoids on numeric types.  One can create an Add monoid and a Multiply monoid over a numeric type if necessary, or even more esoteric ones, but I think simply defining the operators you want would be more useful.  This would be great if it worked:
    add(Just(4), Just(12)); //=> Just(16)
    multiply(Just(6), Just(7)); //=> Just(42)

Of course that won't work so simply.  But the missing step is not that hard:
    lift(add)(Just(4), Just(12)); //=> Just(16)
    lift(multiply)(Just(6), Just(7)); //=> Just(42)

I don't have any strong opinions on Sanctuary adding an Int type.  I would hesitate to require it in API locations that now look for an integer input though, especially if the main goal is to delegate the validation of inputs to a type-checker.  Because pretty soon you're going to find the case where you then want the PositiveInteger, NonNegativeInteger, and EvenInteger types to handle other validations; and soon after that it will be NonNegativeEvenInteger and OddIntegerLessThan100, or some such.  It'll be a beautiful hierarchy.
Such constraints are much better written as predicates than as types.

That's not quite true, since one can define Int#valueOf :: Int ~> Number:

Yes. But that is quite awkward since the result of the addition is of a different type. That does not seem well behaved to me: (+) :: Int -> Int -> Number.

I'm happy to pay this price in order to have more accurate types. S.parseInt, for example, would become:

I don't really understand why you think having an explicit integer type is necessary for that. What's in the way of just using that type today anyway? JavaScript has the concept that a number can be an integer. I very much agree with @CrossEye's concern and will merely add that having to type and read S.at(Int(3), list) seems awkward.

I see this as orthogonal to the question of an Int type.

Yes. You can definitely see them as orthogonal. But my point was that Sanctuary functions could in general treat numbers as being instances of their respective type classes in all relevant cases and thus one wouldn't need to have an Int object in order to achieve that.

But my point was that Sanctuary functions could in general treat numbers as being instances of their respective type classes in all relevant cases and thus one wouldn't need to have an Int object in order to achieve that.

Oh, I see your point now (which may also be what @CrossEye was saying). I absolutely :heart: this idea!
I was ready to raise two objections, but in writing them I thought of good solutions to both. :)
We would lose the ability to provide polymorphic functions. For example:
divide :: Numeric n => n -> n -> Maybe n

Should divide(7, 2) evaluate to 3 or 3.5? It's ambiguous. We'd need separate functions:
divide :: Number -> Number -> Maybe Number
divideInt :: Int -> Int -> Maybe Int

This seems fine, though, since we could use S.Int as a namespace for Int-specific functions (and S.Float for Float-specific functions potentially). Actually, this solves another problem I'd encountered. I'd like to provide the following functions:
and :: Int -> Int -> Int
or  :: Int -> Int -> Int
xor :: Int -> Int -> Int

These would be function equivalents of JavaScript's &, |, and ^ operators. The problem is that Sanctuary already defines functions with these names, and we should avoid having these functions mean two very different things.
We would need more manual bounds detection. Currently, add simply returns Int(a + b). This will result in a run-time type error if the result of adding a and b is beyond the bounds of a signed 32-bit integer (32-bit since I'd like to provide the bitwise functions).
Actually, now that I think about it this needn't be an issue. We could define Int as follows:
var Int = function(n) {
  if (R.is(Number, n) && (n | 0) === Number(n)) {
    return n;
  } else {
    throw new TypeError(R.toString(n) + ' is not a 32-bit integer');
  }
};

It wouldn't create a container, it would simply ensure that the given value is a Number representing an integer within the bounds.


[WIP] Explantory text on Quick Calculation button

The new button text looks like this. Now just need to add additional text to results page.

Looks nice!

this is now good to go

The text all lgtm.


[Engineering System] Event Hubs Environment Variables

Summary
Adding the environment variables for Event Hubs back into the build  configuration; they appear to have been inadvertently removed during a recent change.
Last Upstream Rebase
Monday, April 22, 2019 12:17pm (EDT)

@danieljurek: FYI it appears these variables were accidentally removed in your last change to this file (https://github.com/Azure/azure-sdk-for-net/pull/5865).

[updating this thread for completeness]
Jesse and I spoke about this the other day after this was approved. These variables aren't used today but they're needed for Event Hubs testing going forward and it was correct to put them back in with this change. 👍

[updating this thread for completeness]
Jesse and I spoke about this the other day after this was approved. These variables aren't used today but they're needed for Event Hubs testing going forward and it was correct to put them back in with this change. 👍

They're now active, since the merge of PR #5862 this morning and will be used in the nightly run.


Syntax error in pagination

when calling getTransactionHistory or getNotificationHistory we receive the error
// ParseError: syntax error, unexpected '(' in file /var/www/app/vendor/readdle/app-store-server-api/src/Response/PageableResponse.php on line 65
The line in the file is:
$nextRequest = new (get_class($page->originalRequest))(...

request that this could please be updated to:
$class = get_class($queryParams);
$nextRequest = new $class(

which seems to fix the issue.
I've submitted a PR for your approval here: https://github.com/readdle/app-store-server-api/pull/3

Hello,
Indeed, PHP 7.4 doesn't support this way of instantiation. I'm working in PHP 8+ environment and rely on PHPStorm on notifying me about all these incompatibilities, but this time it failed :)
Thanks for the fix, I've merged it.

PR merged, closing issue.


[MenuItem] Add right padding when there is icon.

Problem description
The text of the menu item is below the right icon.
Steps to reproduce

Create a dropdown menu with a fixed size.
Enter a long string as value of the menu item.
Add a right icon to the menu item.

Versions
Only tested on...

Material-UI: 0.15.2
React: 15.1.0
Browser: Pretty much all of them!

Thanks


Need slash handling quirk

Now that I've got Virtual DJ and Serato running under WINE to test Quirks out 'for real', it is very clear that better slash handling is required.  So let's add a button to handle the various possibilities: \ to /, / to \, and of course no change at all. (/ to /, \ to \)

Ahhhh, that's another thing I was wondering about.


FSR 2.2 jittering, trails

Godot version
4.2.stable.official [46dc27791]
System information
Godot v4.2.stable - Ubuntu 23.04 23.04 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 6GB (nvidia; 535.129.03) - AMD Ryzen 5 2600X Six-Core Processor (12 Threads)
Issue description
FSR 2.2 when enabled creates an effect that can only be described as psychedelic and jittery
I have also noticed that GPU particles leave behind trails of stray pixels with it enabled.
Video example from my game:
(The jittering is visible at all times, you can see the peculiar trail at around 0:37 for one example)
https://github.com/godotengine/godot/assets/991507/a9a68f59-b8bc-40e2-81b0-5712a63b8f65
Video example from included minimal demo (editor view) :
https://github.com/godotengine/godot/assets/991507/f892c48a-44eb-43ec-9b3f-f40d740a9f91
It seems to be related to the apparent load of the GPU, but that is just conjecture. I have no idea what is going on. There is ghosting that appears at random as well.
Steps to reproduce
Enable FSR 2.2
Witness insanity
Minimal reproduction project
FSR_Bug.zip

If you're rendering large planes of ViewportTextures in front of the screen, disable FSR2 on your root viewport and enable it on the Viewport that renders to the ViewportTexture instead.

If you're rendering large planes of ViewportTextures in front of the screen, disable FSR2 on your root viewport and enable it on the Viewport that renders to the ViewportTexture instead.
FSR2 cannot "see" textures that are updated in real-time (such as ViewportTextures), so ghosting is expected on those if they update quickly.

Okay, that makes sense. I should note that the global project setting enables FSR2 in the default view and any viewports (and thus viewport textures).
There should probably be a warning for this, however I have noted that there is still a perceptible jitter in ViewportTextures mapped to a quad, I will continue to investigate.


⚠ Bofrost.at has degraded performance

In 19e9a1d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1133 ms

Resolved: Bofrost.at performance has improved in 693b7ae.


⚠ ClamAV has degraded performance

In 2b8f978, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 83 ms

Resolved: ClamAV performance has improved in 8d12adf after 16 minutes.


Mailer: Email to announce MFA Phase 2 rollout and blog post on Launch Day

🤷♀ What problem are you solving?
Contributes to https://github.com/Shopify/ruby-conventions/issues/88
On Launch Day (June 13, 2022), RubyGems will be announcing the rollout of an MFA policy. To raise awareness about this policy which will be announced in a blog post, we plan on emailing all RubyGems users.
📋 How will you solve this?
🔹 Create a mailer (0d935233c9891ec989a2d8c2acc739b5174119c3)

Adds a mailer action mfa_recommendation_announcement and a mailer view in both HTML and plain text formats

🔹 Set up mailer preview (c1940df0cd8d8cab3a2b8f5b9e574bea706d0156)

So we can more easily tophat and preview the email in both HTML and plain text, I've set up a mailer preview

🔹 Add rake task for delivering the email (d5e42d3495a4e297a74fad3e725772b151bb5126)

This will be the task that the RubyGems Team will run on Launch Day to send out the email
I've followed similar logging that they've done in a previous mailer

🤔 Review feedback
⚠ 📆 I will be upstreaming this to rubygems/rubygems.org by 5pm EST today. If you don't get a chance to review here, I'd still love your feedback in the ~ official PR ~.
I'm looking for review feedback on the following items:
1⃣ Location of rake task

There's an existing rake task called mfa_notification, but I chose to create a new one called mfa_policy
My rationale is that we'll have other mailers that we'll need to set up related to the mfa policy. So it felt fitting to create a namespace for the mfa policy specifically. But! I'm open to feedback and cool with keeping everything under the mfa_notification namespace

2⃣ Logging invalid emails

Would it be beneficial to log which accounts have invalid emails and did not receive the announcement?
It appears the previous mfa_notification:send rake task that RubyGems had previously set up did not log it. So I'm currently following their pattern.

3⃣ Plain text emails

It appears there isn't a consistent practice of adding a plain text format with mailers in this repo
I've decided to add a plain text email anyway
Any strong opinions about removing the plain text format?

4⃣ Email copy

I'd love feedback on the email subject line & copy. I'm soliciting feedback from Aditya and Josef too. But as we await their thoughts, we can continue adjusting as needed. I'll update the issue for A+J accordingly.

🎩 Tophat instructions

Once you have the app running (rails s)
You can navigate to (http://localhost:3000/rails/mailers) to review the list of all mailers available for preview

To view this mailer, click on the link titled: mfa_recommendation_announcement

The mailer for this PR is located at http://localhost:3000/rails/mailers/mailer/mfa_recommendation_announcement

@jenshenny

I haven't worked with mailers much. When would the text version be used vs html version? Do you know if it's a common standard to have a text version?

From my experience and understanding, it's typically good practice to have both HTML & plain text versions. For instance, a user's email client may only display plain text. I believe plain text emails are better for screen readers (so that's an accessibility consideration).
I've typically always accompanied an HTML email with a plain text version, so I was a bit surprised to see there aren't many plain text counterparts to the other mailers set up in this repo 🤔 .

Tophatted! Everything looks gouda ✨ . I'll probably need another round of reviews on the new copy I've added. Let's have the convo over in the new PR that I'm opening on rubygems.org 🚀 .


Duplicate bullets

Description

Expected Behavior
Remove the bulllet points that is duplicate.
Show us the trouble with screenshots

Which browsers are affected?
No response
Which OS are affected?
No response
Enter the version of your web browser
all
Device?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

I have completed the previous issues, Please assign this to me @Vaishnavi-Patil2211

@Vaishnavi-Patil2211 This has been fixed already as of now should I close this ?

Yes


Added Developerflags config setting

Documentation for: https://github.com/mattermost/mattermost-server/pull/18801

Added DeveloperFlags config setting to the product documentation as well as the Telemetry page.

Great feedback, @lieut-data! Thank you!


Fix issues with 'Customising generated forms'

The 'Customising generated forms' example contains a few issues that might confuse those who are copy/pasting the code.

No reference to the geocode library and where it comes from, added imports and revised API usage
location = models.CharField() requires the max_length attribute set
FieldPanel('title') added to content panels, otherwise testing this out causes error because no title or slug exists

These issues were flagged in #3737

@gasman just realised this is a branch on the main Wagtail repo, should I delete this PR and do again from my lb-/wagtail repo?

@lb- Nope, no worries. Just as long as you don't make a habit of it ;-)


Re-run MQSC scripts at startup

Currently, the MQSC configuration scripts are only run at the time of queue manager creation.  This means that the user needs to make configuration and administrative changes separately, for example through MQSC or PCF.  It would be better, and more intuitive, if an idempotent MQSC script could be used, and run every time.  For the most part, using the REPLACE keyword in MQSC will make it work even with existing resources.
A fix to this issue will allow configuration changes to be made by an updated Docker image.

Completed in PR #52


Repo social image

Prepare and upload a repo social image in the repo settings

Uploaded

@ihsaan-ullah
Nice job. I think it would be interesting to add this image to the code of the platform, so it is also displayed when sharing the URL of the platform.

Also, this is a version with more explicit information:

yes, this is mentioned in this issue #1050

Image updated


Fix image tag for postsubmit job

Signed-off-by: Carlos Eduardo Arango Gutierrez<EMAIL_ADDRESS>
What type of PR is this?
/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/lgtm
/approve


Request support for Heat Storm 6000 watt Infrared Electric Garage Heater

First time doing this so hopefully everything is correct.
Managed to butcher together some sort of working yaml
Log Message
"data": {
"name": "HeatStorm Garage heater",
"type": "heatstorm_garage_heater",
"device_id": "REDACTED",
"local_key": "REDACTED",
"host": "REDACTED",
"protocol_version": "auto",
"api_version_set": 3.3,
"api_version_used": 3.3,
"api_working": true,
"status": {},
"cached_state": {
"updated_at":<PHONE_NUMBER>.7319975,
"1": true,
"2": 18,
"3": 19,
"4": "Auto",
"5": "10",
"7": true,
"13": 0,
"19": "c",
"20": 64,
"21": 66
},
"pending_state": {},
"connected": true,

Please paste logs here

Information about DPS mappings

{
  "result": {
    "category": "qn",
    "functions": [
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Switch",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "°C"
        },
        "name": "Set Temperature",
        "type": "Integer",
        "values": "{\"unit\":\"°C\",\"min\":4,\"max\":37,\"scale\":0,\"step\":1}"
      },
      {
        "code": "mode",
        "lang_config": {
          "auto": "",
          "high": "",
          "low": ""
        },
        "name": "Mode",
        "type": "Enum",
        "values": "{\"range\":[\"Auto\",\"Low\",\"High\"]}"
      },
      {
        "code": "level",
        "lang_config": {
          "10": "10%",
          "50": "50%",
          "100": "100%",
          "off": ""
        },
        "name": "Brightness",
        "type": "Enum",
        "values": "{\"range\":[\"Off\",\"10\",\"50\",\"100\"]}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Child Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "week_program1",
        "lang_config": {
          "unit": ""
        },
        "name": "Week Program（freestyle）",
        "type": "Raw",
        "values": "{}"
      },
      {
        "code": "temp_unit_convert",
        "lang_config": {
          "c": "°C",
          "f": "℉"
        },
        "name": "Temperature Scale",
        "type": "Enum",
        "values": "{\"range\":[\"c\",\"f\"]}"
      },
      {
        "code": "temp_set_f",
        "lang_config": {
          "unit": "℉"
        },
        "name": "Set Temperature ",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":40,\"max\":99,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_current_f",
        "lang_config": {
          "unit": "℉"
        },
        "name": "Current Temperature",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":16,\"max\":99,\"scale\":0,\"step\":1}"
      }
    ],
    "status": [
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Switch",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "°C"
        },
        "name": "Set Temperature",
        "type": "Integer",
        "values": "{\"unit\":\"°C\",\"min\":4,\"max\":37,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_current",
        "lang_config": {
          "unit": "°C"
        },
        "name": "Current Temperature",
        "type": "Integer",
        "values": "{\"unit\":\"°C\",\"min\":-9,\"max\":37,\"scale\":0,\"step\":1}"
      },
      {
        "code": "mode",
        "lang_config": {
          "auto": "",
          "high": "",
          "low": ""
        },
        "name": "Mode",
        "type": "Enum",
        "values": "{\"range\":[\"Auto\",\"Low\",\"High\"]}"
      },
      {
        "code": "level",
        "lang_config": {
          "10": "10%",
          "50": "50%",
          "100": "100%",
          "off": ""
        },
        "name": "Brightness",
        "type": "Enum",
        "values": "{\"range\":[\"Off\",\"10\",\"50\",\"100\"]}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Child Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "fault",
        "lang_config": {
          "fault1": "Temp sensor fault",
          "fault2": "Tilt over ",
          "fault3": "Over-Voltage",
          "fault4": ""
        },
        "name": "Fault Alarm",
        "type": "Bitmap",
        "values": "{\"label\":[\"fault1\",\"fault2\",\"fault3\",\"fault4\"],\"maxlen\":4}"
      },
      {
        "code": "week_program1",
        "lang_config": {
          "unit": ""
        },
        "name": "Week Program（freestyle）",
        "type": "Raw",
        "values": "{}"
      },
      {
        "code": "temp_unit_convert",
        "lang_config": {
          "c": "°C",
          "f": "℉"
        },
        "name": "Temperature Scale",
        "type": "Enum",
        "values": "{\"range\":[\"c\",\"f\"]}"
      },
      {
        "code": "temp_set_f",
        "lang_config": {
          "unit": "℉"
        },
        "name": "Set Temperature ",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":40,\"max\":99,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_current_f",
        "lang_config": {
          "unit": "℉"
        },
        "name": "Current Temperature",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":16,\"max\":99,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t":<PHONE_NUMBER>001,
  "tid": "c676d308bd3d11ed8e091e9ebf08afbf"

Product ID
product:

id: wta6rb1zqwayghxv

Information about how the device functions

Manual https://cdn.shopify.com/s/files/1/1873/7325/files/HS_6000_GC_manual_2020_V2.pdf?v=1611599756
Semi working .yaml
name: HeatStorm Garage heater
product:

id: wta6rb1zqwayghxv
primary_entity:
entity: climate
dps:

id: 1
type: boolean
name: hvac_mode
mapping:

dps_val: false
value: "off"
icon: "mdi:fire-off"
dps_val: true
value: heat
icon: "mdi:fire"

id: 2
type: integer
name: temperature
range:
min: 4
max: 37
id: 3
type: integer
name: current_temperature
id: 4
type: string
name: preset_mode
mapping:

dps_val: auto
value: Auto
dps_val: low
value: Low
dps_val: high
value: High

The display brightness is not working properly. The units display is only capable of the preset values of off, 10% , 50% and 100%
HA is using a slider for the brightness value.
The native tuya integration gives a drop-down selection of 0,10,50,100 but incorrectly reports this as temperature
The child lock is also being reported incorrectly. It is reporting locked when it is really unlocked and vice versa.
All other functions are working properly.
Thank You

The slider should snap to the closest allowed value. Does it not do this? Slider is the native HA UI for brightness. The config does define just 0, 10, 50 and 100 as allowed values.

I noticed that snapping to the nearest valid value is not actually implemented for the generic case.  I think for the devices that used that before, the values were evenly spaced, and "step" was set, to get the snapping.  So I have implemented a general case snap to nearest mapping for numeric values, which does not require evenly spaced numbers.  This probably fixes at least one other device (which the user has been quiet about, probably because they submitted the config themselves and are putting up with the UI not working for brightness).  I also inverted the child lock.

I replaced custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml and custom_components/tuya_local/helpers/device_config.py
Not sure what to do with tests/mixins/light.py or if I even need to.
The child lock works/reports as expected
The brightness is not.
Moving the switch or the slider results in:
Failed to call service light/turn_off.type str doesn't define_round_method

The files under tests are not installed to HA.  But if you are using HACS, I would recommend using the "Redownload" function there and selecting "main" as the version to install, instead of replacing individual files.

If I redownload and select "main" the version I end up with is 01e1cb0
This results in the device becoming unavailable and the following warnings and errors being generated in HA
2023-03-12 12:03:55.259 WARNING (MainThread) [homeassistant.helpers.entity] Update of select.heatstorm_heavy_duty_heater_temperature_unit is taking over 10 seconds
2023-03-12 12:06:27.737 ERROR (MainThread) [custom_components.tuya_local.device] Failed to refresh device state for Heatstorm heavy duty heater.
2023-03-12 12:07:49.246 ERROR (MainThread) [custom_components.tuya_local.device] Heatstorm heavy duty heater receive loop terminated by exception 'TuyaLocalSelect' object has no attribute 'dps'
Traceback (most recent call last):
File "/config/custom_components/tuya_local/device.py", line 197, in receive_loop
for dp in entity.dps():
AttributeError: 'TuyaLocalSelect' object has no attribute 'dps'
If I then redownload 2023.3.0 and manually add heatstorm_hs6000gc_heater.yaml the device becomes available.
The switch for the brightness will turn off the display but will not turn it back on
the slider will turn the display on only if slid all the way to 100%
If I replace Device_config.py
The switch will turn off the display but will not turn it back on.
The slider will turn the display back on and will snap at 10%, 50%, at 100% all levels function


SVG Animation for Toggle Button

Replace the Dark-Mode button with a dark mode toggle.
Reference

When we toggle the dark mode will be converted into light mode just like that you want to add? @Harshal0902

@SamikshaSankar go ahead, you just need to replace the Dark-Mode button with a dark mode toggle. The site already has a dark mode.

I would like to work on this issue if @SamikshaSankar  is not working.

@RituCs I am working on this issue


jsHint throws a TypeError on some .js files

EDIT: 11 hours after the original post, I read my post again. Where you now see (path to global), I had used a different notation (less thans and greater thans) that didn't show. Very confusing.
I'll consistently call two directories on my C: drive "(path to global)" and "(path to dev)". Neither is relative; both start with C:\ and list directories.  (path to dev) is longer; it is a child of (path to global).
expected behavior: jsHint analysis of my .js file
actual behavior: I get this report:
(path to global)\node_modules\jshint\src\jshint.js:5438
        throw err;
        ^

TypeError: Cannot read property 'id' of undefined
    at Object.nud (<path to global>\node_modules\jshint\src\jshint.js:2570:38)
    at expression (<path to global>\node_modules\jshint\src\jshint.js:888:34)
    at statement (<path to global>\node_modules\jshint\src\jshint.js:1633:9)
    at statements (<path to global>\node_modules\jshint\src\jshint.js:1678:16)
    at block <path to global>\node_modules\jshint\src\jshint.js:1773:13)
    at doFunction (<path to global>\node_modules\jshint\src\jshint.js:3078:5)
    at Object.fud (<path to global>\node_modules\jshint\src\jshint.js:3907:5)
    at expression (<path to global>\node_modules\jshint\src\jshint.js:885:32)
    at statement (<path to global>\node_modules\jshint\src\jshint.js:1633:9)
    at statements (<path to global>\node_modules\jshint\src\jshint.js:1678:16)

Sadly, I don't get this for all .js files. Of the two I've tried, one works and one doesn't. Both are modules. The file that causes the report imports from the file that jsHint analyzes without error. Maybe that's relevant.
environment: Windows 10. My .js file includes ES6 syntax. Babel v6.16.0 makes it ES5. Node.js v6.9.2 runs it.
node.js is in C:\Program Files\nodejs.
jshint was 2.9.3. I upgraded to 2.9.4 and got the same behavior.
jsHint is at (path to global)\node_modules\jshint.
A batch file starts jsHint with the command
call (path to global)\jshint (path to dev)\(file).js

In (path to global) are (among others) two files, jshint and jshint.cmd.
jshint
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
  "$basedir/node"  "$basedir/node_modules/jshint/bin/jshint" "$@"
  ret=$?
else
  node  "$basedir/node_modules/jshint/bin/jshint" "$@"
  ret=$?
fi
exit $ret

jshint.cmd
@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\node_modules\jshint\bin\jshint" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "%~dp0\node_modules\jshint\bin\jshint" %*
)

The lowest .jshintrc in a directory that is parent to the .js file:
{
  "bitwise": true,
  "curly": false,
  "eqeqeq": false,
  "esversion": 6,
  "forin": true,
  "freeze": true,
  "funcscope": false,
  "futurehostile": true,
  "iterator": false,
  "latedef": "nofunc",
  "maxcomplexity": 15,
  "maxdepth": 10,
  "maxerr": 150,
  "maxparams": 4,
  "maxstatements": 50,
  "noarg": true,
  "nocomma": true,
  "nonbsp": true,
  "nonew": true,
  "notypeof": true,
  "predef": ["Buffer", "console", "module", "process", "promise",
    "require", "setInterval", "window"],
  "shadow": false,
  "singleGroups": true,
  "strict": "global",
  "undef": true,
  "unused": true,
  "varstmt": true,
  "asi": true,
  "boss": false,
  "debug": false,
  "eqnull": true,
  "evil": false,
  "expr": false,
  "lastsemic": true,
  "loopfunc": false,
  "noyield": false,
  "plusplus": false,
  "proto": false,
  "scripturl": false,
  "supernew": false,
  "withstmt": false
}

(path to global) is a parent directory to this file.
I'd like to be as helpful as possible in providing any additional information!

Can you please provide the source code that triggers this warning? Please remove all but the lines necessary to reproduce the TypeError.

It's been a few months, so I'm assuming you've worked this out. Let me know if that's not the case, and we can re-open this issue.


Windows Issue with Tutorial: No module named 'fcntl'

Hello metaflow,
I am interested in learning about the metaflow offering but am hitting a snag in the very first tutorial:
λ python 00-helloworld/helloworld.py show
Traceback (most recent call last):
File "00-helloworld/helloworld.py", line 1, in
from metaflow import FlowSpec, step
File "C:\Users\Nick.Franciose\AppData\Local\Programs\Python\Python36\lib\site-packages\metaflow_init_.py", line 45, in
from .event_logger import EventLogger
File "C:\Users\Nick.Franciose\AppData\Local\Programs\Python\Python36\lib\site-packages\metaflow\event_logger.py", line 1, in
from .sidecar import SidecarSubProcess
File "C:\Users\Nick.Franciose\AppData\Local\Programs\Python\Python36\lib\site-packages\metaflow\sidecar.py", line 4, in
import fcntl
ModuleNotFoundError: No module named 'fcntl'
Stackoverflow suggests fcntl is a linux specific.  Is this offering windows compatible?  If so, do you have a workaround?
Best,
NIck

See:
https://github.com/Netflix/metaflow/issues/10

Let me know if I can close this issue once the workaround in #10 works for you.

Yes, using WSL solves the issue.  Thanks.


Pickle error and OOM when upgrading to 1.2.0

When upgrading from 1.1.6 to 1.2.0, I notices 2 changes

Significant increase of gpu memory
Pickle error in my module class (the object metric_fn is sure not pickable but the same code worked fine in 1.1.6)

Do you have an idea what changes in 1.2.0 may cause the issues ?
Any suggestion for the memory problem ?
My pseudo code
class ClfModule(pl.LightningModule):
    def __init__(self, model, tokenizer):
        self.model = model
        self.tokenizer = tokenizer
        self.metric_fn = not_pickable_object()

I am using Huggingface transformers and datasets

I noticed GPU memory increase too. My original data image size didn't work when going from 1.1.8 to 1.2.

Gpu memory problem should be fixed in v1.2.1.
What accelator are you using? ddp_spawn requires that everything can be pickled.

@phihung My OOM went away with upgrade to v1.2.1 and using DDP. Please try.

Dear @angadkalra,
Were using using AMP ? In 1.2.0, there were a hot bug and it wasn't applied properly. Which could explain our OOM.
Best,
T.C

Hi SkafteNicki, hi angadkalra,
Thanks for your help
I confirm that upgrading to 1.2.1 solves OOM problem.
The pickle problem remains. I've tried the following
pl.Trainer(precision=16)
pl.Trainer(precision=16, accelerator="ddp_spawn")
pl.Trainer(precision=16, accelerator="ddp")
pl.Trainer(precision=16, accelerator="ddp")

What was the default in 1.1.6 ?

@phihung can you post a model where I can reproduce your pickle error?
Also, what prevents you from transforming your non-pickle object into a pickable object?


Feature: A new and good looking UI for the settings tab of the app

Feature description
The settings section of the app needs a new finish. The UI needs an update.
I will make a clean but attractive UI for this tab following the colour code of the app i.e. Blue and White.

👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

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

@maityamit Kindly review and assign this feature to me under IWOC label.

Okay, You can continue ....


Minor Clarification Request - Windows VMs with Software RAID

My use case is that I have a VM using the SQL IaaS extension to configure disk striping for the data disks, and Azure Security Center is recommending I encrypt the VM disks, but it looks like this is not an option at this time.
In the meantime, can this bullet point under unsupported scenarios be broken out into multiple bullet points?

Azure Files (shared file system), Network File System (NFS), dynamic volumes, and Windows VMs that are configured with software-based RAID systems

Under supported scenarios, there is a very clear bullet point for Linux VMs

Enable encryption on Linux VMs configured with disk striping (RAID) using mdadm

And I missed that Windows VMs with RAID was not supported because it was the 4th item in a single bullet point.
Thank you.

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

ID: 7c60e59e-b306-3b47-dcad-56a3c03de428
Version Independent ID: 95ea9500-3d2e-6bef-a743-86e660e1ca86
Content: Azure Disk Encryption for IaaS VMs Overview
Content Source: articles/security/azure-security-disk-encryption-overview.md
Service: security
GitHub Login: @mestew
Microsoft Alias: mstewart

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

@mjcarrabine Thanks for the suggestion. Using separate lines will make it easier to read. I am updating the article with your suggestion. #please-close

@mjcarrabine We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Standardise files with files in sous-chefs/repo-management

Signed-off-by: Dan Webb<EMAIL_ADDRESS>

Released as: 3.0.1


feat: allow pushing the whole secret to the provider

Problem Statement
This will allow pushing the whole secret to the provider which will make templating that much easier.
Related Issue
Related issue also https://github.com/external-secrets/external-secrets/issues/2166.
Proposed Changes
How do you like to solve the issue and why?
Checklist

[ ] I have read the contribution guidelines
[ ] All commits are signed with git commit --signoff
[ ] My changes have reasonable test coverage
[ ] All tests pass with make test
[ ] I ensured my PR is ready for review with make reviewable

Related

https://github.com/external-secrets/external-secrets/issues/2836
https://github.com/external-secrets/external-secrets/issues/2841

.. with the ability to also copy metadata.labels of the Secret in addition to the spec.data in Kubernetes.

@pre 👋 Hello
How is https://github.com/external-secrets/external-secrets/issues/2841 related? 🤔 This isn't dealing with configmaps at all. 🤔

@Skarlso you're right - not related. I removed that reference to the ConfigMap issue. I merely thought copying Secrets between k8s clusters should have the same functionality (re: metadata.labels)  as ConfigMaps.

I merely thought copying Secrets between k8s clusters

Err... I'm not doing that here either. :D As far as I understand. :D I really new to the codebase. :)

I'm happy as long as pushing the whole secret includes both ability to push

the whole spec.data instead of specifying individual keys
metadata.labels in addition to spec.data (maybe not part of this PR)

It's great if this PR can make it easier to implement these!
Related issues are

https://github.com/external-secrets/external-secrets/issues/2166
https://github.com/external-secrets/external-secrets/issues/2836

@moolen Okay, so as mentioned in slack, this PR now only covers Kubernetes and the API change.
I'm going to add the other providers separately to keep review efforts to a minimum and to give me time to learn how pushing a whole secret actually works. :D

/ok-to-test sha=e76e780

/ok-to-test sha=8b03f1c

@moolen Don't worry about it! :) Thanks very much! :)


Fixes for pipeline leaks, introduces breaking changes.

Ticket to come soon.

Wrong branch to merge into.


Change menu bar icon for better visibility

Before opening the issue, have you...?

[x] Searched for existing issues

Is your feature request related to a problem? Please describe
Using an icon from SF Symbols makes it difficult to distinguish MonitorControl from other apps. Also, not all users have brightness adjustment as their primary purpose. sun.max is not an optimal icon for these users.
Issues #766, #748 and #632 all lead to an (silent) option for choosing a custom icon.
Describe the solution you'd like
I suggest to use an own icon instead of an icon from SF Symbols. The icon should stay in line with Apples Human Interface Guidelines.
Before
Fluor as an example right next to MonitorControl.

After (Layout)
Variant 1
(modified sun.maxfrom SF Symbols)

Variant 2
(modified display or lock.display from SF Symbols)

Describe alternatives you've considered
See Custom icons by editing the preferences plist file #766.
Anything else?
I will be happy to assist with additional variations or the exported icon file if desired.

There was a similar pull request lately - https://github.com/MonitorControl/MonitorControl/pull/880
The icon can be changed but needs the unanimous consent of all devs. I am flexible on the issue. There is a request on a monthly basis about changing the menu icon so I understand that at least some percentage of the community is not happy with the current one. :)

@the0neyouseek @JoniVR


Massive memory leaks due to data.Dataset.shuffle

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  18.04.1-Ubuntu
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v2.3.0-54-gfcc4b966f1 2.3.1
Python version: 3.6.9
CUDA/cuDNN version: 10.1
GPU model and memory: GTX 2080 Ti, ~11gb

Describe the current behavior
When a new iterator to a dataset containing a shuffle() iteration is opened after the old one became completely exhausted,
the memory held by the ShuffleDataset is not released / reused, resulting in massive memory leaks and ultimately in the process being killed by the OOM reaper.
For this purpose it does not matter whether we manually iterate over the dataset, use a Keras function like Model.fit() or chain a Dataset.repeat() operation at the end.
The original bug was found in production code and the condensed code below outlines roughly our original data pipeline
but perfectly reproduces the problem.
Describe the expected behavior
Memory usage should be constant when a new iterator to the Dataset is opened and there are no existing iterators anymore.
To be extra safe it might be desirable to immediately release any memory held by the ShuffleDataset when iteration is done,
so that other components can use it. (maybe introduce parameter controlling the behaviour?). This could be very important in conjunction with Dataset.interleave(), e.g when we iterate 36 files with a cycle_length of four and only have enough memory to hold 4 shuffle buffers in memory. If memory is not immediately released, we would run out of memory after the first four files have been processed.
Standalone code to reproduce the issue
I run the code with the memory-profiler package (https://pypi.org/project/memory-profiler/) to generate plots of the memory usage. By default shuffle buffers are enabled but when any additional argv is passed, shuffle buffers will be disabled:
Example usage: mprof run --include-children test.py  or mprof run --include-children test.py no-shuffle
I recommend at least 32 GB of memory so that you can properly observe the behaviour. Otherwise feel free to tune down the memory usage in the code, for example by reducing the image size from 512x512 to 256x256.
import sys
import tensorflow as tf

do_shuffle = len(sys.argv) <= 1

# Simulate reading from files
filenames = tf.data.Dataset.from_tensor_slices(['{}.data'.format(i) for i in range(16)])

def read_files(files):
    # In the original code we open TFRecordDatasets here
    N = 8192 * 4

    def gen():
        for _ in range(N // 32):
            yield tf.random.normal([32, 512, 512, 1])

    rng_ds = tf.data.Dataset.from_generator(gen, tf.float32).unbatch()
    return rng_ds

readers_ds = filenames.batch(4).map(read_files, num_parallel_calls=1, deterministic=True)

def process(ds):
    # Create windows of 4 and add them as extra T dimension
    window_size = 4
    ds = ds.window(window_size, shift=1, drop_remainder=True).flat_map(lambda x: x).batch(window_size)

    # buffer size = 1.07 GB (256 * 4 * 512 * 512 * 4)
    if do_shuffle:
        ds = ds.shuffle(
            256,
            reshuffle_each_iteration=True
        )

    return ds

# interleave will result in 4 iterators being opened in parallel
# which iterate the whole dataset (each iterates 4 files and there are 32 files in total)
ds = readers_ds.interleave(
        process,
        cycle_length=4,   # total buffer size: 1.07 GB * 4 = 4.29 GB
        block_length=1,
        num_parallel_calls=1,
        deterministic=False
    )

ds = ds.batch(32)

for e in range(30):
    print('epoch: ', e)

    # this creates a temporary iterator to the dataset
    for x in ds:
        pass

Other info / logs
The first run uses shuffling and we can clearly see the buffer filling up again after each epoch without the old memory being released (it appears that sometimes a small fraction is released though). I'm not sure why the buffers use 8gb in total opposed to the theoretical 4gb. After the fourth epoch the process is killed on my machine, because i run out of memory (32gb):

Log:
epoch:  0
epoch:  1
epoch:  2
epoch:  3
epoch:  4

For the second run I disabled shuffling and we can see that there is still some leakage yet much more irregularly. In previous test runs which used our original data-pipeline, I was able to achieve a flat memory usage by disabling the shuffling; I'm not sure why it doesn't work with the test script though. This might require further investigation. I manually terminated the script after a while.

Log:
epoch:  0
epoch:  1
epoch:  2
epoch:  3
epoch:  4
epoch:  5

I cannot reproduce the issue when I ran your program using internal version of TensorFlow at HEAD and I am not aware of any issues that got fixed between TF 2.3 and now that could explain that.
Could you set the TF_CPP_VMODULE environment variable to dataset=2? This will log which tf.data iterators are being constructed and destructed. The shuffle transformation buffer is owned by the iterator, which would allow us to establish whether the buffer memory is being released at the end of each epoch or not.
Lastly, how do you measure the memory consumption?

@jsimsa Can you check this code.
`
import numpy as np
import tensorflow as tf
import psutil
data = np.ones([int(1e7), 1], dtype=np.float32)
dataset = tf.data.Dataset.from_tensor_slices(data)
iterator = dataset.shuffle(int(1e7)).batch(int(1e6)).repeat(10)
for it in iterator:
used_mem = psutil.virtual_memory().used
print("used memory: {} Mb".format(used_mem / 1024 / 1024))
`
The memory usage keeps increasing. Am I using it correctly?
Thank you.

@shauidu I cannot reproduce this using public colab

I'm having the same issue.
System information(s) (I've tried two different configurations):
Tensorflow : 2.3.0 (gpu) ; 2.0 (gpu)
GPU: 2x 2080ti
CUDA: 10.1; 10.0
Python: 3.5
Issue:
Running the above test script with or without GPU leads to huge memory usage very quickly
Output:
used memory: 5203.69140625 Mb
used memory: 5211.5078125 Mb
used memory: 5272.92578125 Mb
used memory: 5308.12890625 Mb
used memory: 5356.12890625 Mb
used memory: 5404.41015625 Mb
used memory: 5453.68359375 Mb
used memory: 5502.7421875 Mb
used memory: 5551.15625 Mb
used memory: 5601.9296875 Mb
used memory: 5569.28515625 Mb
used memory: 5578.01953125 Mb
used memory: 5627.60546875 Mb
used memory: 5677.09375 Mb
used memory: 5723.94140625 Mb
used memory: 5772.9375 Mb
used memory: 5829.57421875 Mb
used memory: 5871.0703125 Mb
used memory: 5920.375 Mb
used memory: 5971.19921875 Mb

@federicoruggeri what do the numbers look like when you remove the shuffle transformation?

@jsimsa Disabling shuffle gives the following results. Memory usage seems stable.
 I cannot reproduce the issue in my environment.

@federicoruggeri can you reproduce this issue in a colab? I cannot reproduce the issue in my environment.

I've tried the colab session that you've linked above, but I'm not able to reproduce the issue there. My initial guess was that the colab runtime was using tensorflow==2.3 (no gpu) but the same configuration does not work for me. Just to be sure about that, I've created a virtualenv from scratch with just tensorflow==2.3 and python 3.5.0. Running the same toy script shows the memory leak issue.
Therefore, I don't know if the problem does not show in the colab session due to some additional package that is installed there. Could the python version mean something here? I'm a bit sceptic about this since @sehoffmann was using python 3.6.9 (yet another version).

@federicoruggeri  can you try @jsimsa script in an official Tensorflow Docker image?

Sorry for the late reply!
I've tried running the script in the following docker tensorflow image: tensorflow/tensorflow:latest-gpu-jupyter
I don't know if the selected image is good for testing (if it is not the case, which one should I try?). The selected docker image runs tensorflow-gpu==2.3.1.
Running the test script on CPU, gives the following results:
CPU, no shuffle:
used memory: 5913.8671875 Mb
used memory: 5958.3046875 Mb
used memory: 5976.640625 Mb
used memory: 5983.40234375 Mb
used memory: 5986.78125 Mb
used memory: 5912.99609375 Mb
used memory: 5957.484375 Mb
used memory: 5976.9375 Mb
used memory: 5984.3203125 Mb
used memory: 6001.578125 Mb
used memory: 5988.734375 Mb
used memory: 5988.7265625 Mb
used memory: 5988.8046875 Mb
used memory: 5988.8046875 Mb
used memory: 5988.8046875 Mb
used memory: 5988.8046875 Mb
used memory: 6007.3828125 Mb
used memory: 5988.41796875 Mb
used memory: 5988.41015625 Mb
used memory: 5988.34765625 Mb
CPU, shuffle:
used memory: 7384.109375 Mb
used memory: 7432.59765625 Mb
used memory: 7482.33984375 Mb
used memory: 7532.17578125 Mb
used memory: 7583.8671875 Mb
used memory: 7633.65234375 Mb
used memory: 7681.5234375 Mb
used memory: 7731.34375 Mb
used memory: 7780.64453125 Mb
used memory: 7830.98046875 Mb
used memory: 7791.765625 Mb
used memory: 7801.609375 Mb
used memory: 7850.3828125 Mb
used memory: 7899.046875 Mb
used memory: 7948.2890625 Mb
used memory: 7997.28515625 Mb
used memory: 8047.5390625 Mb
used memory: 8097.25390625 Mb
used memory: 8145.54296875 Mb
used memory: 8194.12109375 Mb
As you can see, enabling shuffles causes the same memory leak issue.

Can you check also with tensorflow/tensorflow:2.4.0rc3-gpu?

Here you are!
CPU, no shuffle:
used memory: 6489.3828125 Mb
used memory: 6527.87109375 Mb
used memory: 6556.4140625 Mb
used memory: 6584.17578125 Mb
used memory: 6490.6875 Mb
used memory: 6534.18359375 Mb
used memory: 6562.65234375 Mb
used memory: 6590.45703125 Mb
used memory: 6499.765625 Mb
used memory: 6534.37109375 Mb
used memory: 6562.42578125 Mb
used memory: 6590.02734375 Mb
used memory: 6559.4296875 Mb
used memory: 6546.87890625 Mb
used memory: 6563.83984375 Mb
used memory: 6591.390625 Mb
used memory: 6559.734375 Mb
used memory: 6534.88671875 Mb
used memory: 6564.5 Mb
used memory: 6591.3359375 Mb
CPU, shuffle:
used memory: 8369.921875 Mb
used memory: 8429.8828125 Mb
used memory: 8466.77734375 Mb
used memory: 8519.40625 Mb
used memory: 8568.71484375 Mb
used memory: 8616.8203125 Mb
used memory: 8665.1015625 Mb
used memory: 8723.90625 Mb
used memory: 8763.6171875 Mb
used memory: 8812.03125 Mb
used memory: 8652.1171875 Mb
used memory: 8692.453125 Mb
used memory: 8741.24609375 Mb
used memory: 8790.6875 Mb
used memory: 8841.984375 Mb
used memory: 8897.66796875 Mb
used memory: 8939.43359375 Mb
used memory: 8989.12109375 Mb
used memory: 9038.546875 Mb
used memory: 9088.08984375 Mb

Do you have an updated Nvidia driver?

Info:
NVIDIA-SMI 455.45.01    Driver Version: 455.45.01    CUDA Version: 11.1
I've tried also the 450 driver
Is it ok?

It Is strange that It Is GPU only. Can you try to give a run with https://www.tensorflow.org/api_docs/python/tf/config/experimental/set_memory_growth

@bhack Actually the problem seems to not related to the device. I've tested tensorflow-gpu (different versions) with and without GPU device, as well as standard tensorflow.
As you suggested, I've also tried by enabling memory growth (that's what I usually do) but the memory leak still appears.
The strange thing is that the same code on the colab session works fine. I don't know if it is a combination of tensorflow packages (and their versions) that does the trick..

Yes It was very strange if It was related to the GPU package. The problem is the Colab has its own build from soruce.
So we are not sure that in Docker or Wheels we are the Colab build.
Can you try on Colab with pip install tf-nightly?

Here's the link to the colab session: https://colab.research.google.com/drive/1MKQmTbly7BxSJVxEjlgdO-ZpRsVK0RhJ?usp=sharing
I'm not sure I've done eveything correctly (debug print messages seem ok to me): running !pip install tf-nightly for the first time requires restarting the runtime. After that, I think the update is up.
For what concerns the test script, it runs fine without any memory issue.

I have recently investigated the memory growth observed for OSS version of TensorFlow when shuffle is used. The conclusion of my investigation is that the memory growth is because of poor performance of the memory allocator (TensorFlow OSS uses system malloc by default). In my experiments, switching to use TCMalloc (details below) resulted in constant memory usage (and program speedup).
For the evaluation, I used the following simple input pipeline:
import tensorflow as tf
import psutil

dataset = tf.Dataset.range(int(1e7))
iterator = dataset.shuffle(int(1e7)).batch(int(1e6))

for _ in iterator:
  used_mem = psutil.virtual_memory().used
  print("used memory: {} Mb".format(used_mem / 1024 / 1024))

When executed on workstation, it produces the following output:
$ python example.py

used memory: 19853.52734375 Mb
used memory: 19905.6484375 Mb
used memory: 19958.109375 Mb
used memory: 20014.796875 Mb
used memory: 20064.8359375 Mb
used memory: 20061.375 Mb
used memory: 20117.23828125 Mb
used memory: 20172.8515625 Mb
used memory: 20228.18359375 Mb
used memory: 20278.62890625 Mb

I then installed tcmalloc using sudo apt-get install libtcmalloc-minimal4 and used it for the same program, as follows:
$ LD_PRELOAD=/path/to/libtcmalloc_minimal.so.4 python example.py

used memory: 19291.0859375 Mb
used memory: 19307.90234375 Mb
used memory: 19315.859375 Mb
used memory: 19315.859375 Mb
used memory: 19315.875 Mb
used memory: 19317.8671875 Mb
used memory: 19311.14453125 Mb
used memory: 19317.3515625 Mb
used memory: 19317.34765625 Mb
used memory: 19316.96484375 Mb

Not only the gradual memory growth disappeared, but the program also ran 2x faster.

Is this about a specific glibc version?

Also I don't know if we could pilot some specific tuning with mallopt e.g. M_ARENA_MAX

Independently arrived at a similar memory issue in a training situation I'm working on. In my case, we had a lot of RAM, and we noticed that after 3 or so epochs, it no longer continued incrementing.
After swapping to the malloc library above, from the start we had it staying constant! Thanks @jsimsa  for posting your fix! Is this dependency issue even mentioned anywhere in the TF docs?

Independently arrived at a similar memory issue in a training situation I'm working on. In my case, we had a lot of RAM, and we noticed that after 3 or so epochs, it no longer continued incrementing.
After swapping to the malloc library above, from the start we had it staying constant! Thanks @jsimsa  for posting your fix! Is this dependency issue even mentioned anywhere in the TF docs?

What Is your glibc version?

2.27-3ubuntu1

2.27-3ubuntu1

It could be nice to test this with a more recent glibc version

2.27-3ubuntu1

It could be nice to test this with a more recent glibc version

My experiments used Debian GLIBC 2.31-9.

@jsimsa Can you reproduce the memory growing in your example prefix python with the env M_CHECK_=1?

@bhack Unfortunately, I will not have cycles to investigate this further in the near future.

Ok just to confirm that I cannot reproduce your example with M_CHECK_=1

Hi @jsimsa, So I tried your solution which solved my memory problem but it's 2x slower (TF version: 2.4.0). is there any fix planned to this issue in the upcoming releases ?

This may be related to how glibc works for smaller allocations, the ones that are not mmaped. IIUC, glibc free does not actually return the memory to the system in those cases. E.g. if you run this
import tensorflow as tf
import psutil

dataset = tf.Dataset.range(int(1e7))
iterator = dataset.shuffle(int(1e7)).batch(int(1e6))

for _ in iterator:
  used_mem = psutil.virtual_memory().used
  print("used memory: {} Mb".format(used_mem / 1024 / 1024))

and run as follows
# See glibc doc for MALLOC_TRIM_THRESHOLD_. Quoting:
# The value of this tunable is the minimum size (in bytes) of the
# top-most, releasable chunk in an arena that will trigger a system
# call in order to return memory to the system from that arena.
$ MALLOC_TRIM_THRESHOLD_=0 python foo.py
[snip]
used memory: 2092.2265625 Mb
used memory: 2099.8515625 Mb
used memory: 2099.8515625 Mb
used memory: 2099.8515625 Mb
used memory: 2099.80859375 Mb
used memory: 2099.80859375 Mb
used memory: 2099.80859375 Mb
used memory: 2099.80859375 Mb
used memory: 2099.80859375 Mb
used memory: 2099.80859375 Mb

the leak disappears. Forcing mmap everywhere also "works"
MALLOC_MMAP_THRESHOLD_=0 python foo.py
[snip]
used memory: 2340.01953125 Mb
used memory: 2347.640625 Mb
used memory: 2355.515625 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb
used memory: 2363.14453125 Mb

Using tcmalloc is still ~2x faster however.

This may explain the issue we're seeing here: https://blog.cloudflare.com/the-effect-of-switching-to-tcmalloc-on-rocksdb-memory-use/.

it still useless

sorry, i try it again, it indeed works.


Boundaryless Regex broken when you want to turn off case sensitivity during a match

Describe the bug
When we check regex like:
{
      "Name": "Facebook Secret Key",
      "Regex": "(?i)^(facebook|fb)(.{0,20})?(?-i)['\\\"][0-9a-f]{32}['\\\"]",
      "plural_name": false,
      "Description": null,
      "Exploit": null,
      "Rarity": 1,
      "URL": null,
      "Tags": [
         "API Keys",
         "Bug Bounty",
         "Credentials"
      ]
   },
  {
      "Name": "LinkedIn Client ID",
      "Regex": "(?i)^linkedin(.{0,20})?(?-i)[0-9a-z]{12}$",
      "plural_name": false,
      "Description": null,
      "Exploit": null,
      "Rarity": 1,
      "URL": null,
      "Tags": [
         "Bug Bounty"
      ]
   },

Because of the (?-i) it messes up during boundaryless regex conversion. This is a bug :-( We should be able to handle this!

I tested boundaryless conversion on both examples, and it works as it is supposed to.


Added 25 new unique words

For issue #2, I added 25 new unique words to wordlist.txt.

in response to issue #2, I added 25 new words to wordlist.txt

will add more words if required in my free time

It is appreciated 😀


Upgrade gRPC to 1.19.0

Hi,
axon-server-connector ships with gRPC bundled in in version 1.16.1. When trying to use any other library that requires gRPC 1.19.0 that creates a problem. There are breaking changes between those two and it requires a lot of working around the issues just to make it not fail at runtime.
Upgrade should be pretty transparent AFAIK but would massively help me.
Thanks

Solved by https://github.com/AxonFramework/AxonFramework/pull/1018

Thanks for closing this for us @travikk!


Update main

Update main
Test URLs:

Before: https://main--express--adobecom.hlx.page/express/
After: https://stage--express--adobecom.hlx.page/express/

Codecov Report

Merging #182 (705d1d8) into main (136cd97) will not change coverage.
Report is 12 commits behind head on main.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #182   +/-   ##
=======================================
  Coverage   35.38%   35.38%
=======================================
  Files          27       27
  Lines        9490     9490
=======================================
  Hits         3358     3358
  Misses       6132     6132

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


A log_add_exp function that returns containers

It would be nice to have a function that works like log_sum_exp but elementwise, so the return was also a container.

I have a similar issue with log_sum_exp where I wanted it to vector[n] a = log_sum_exp(vector[n] b, vector[n] c) across each element, however it doesn't do this type of elementwise sum. Maybe if we had a log_add_exp which I've seen in other languages.

Originally posted by @spinkney in https://github.com/stan-dev/docs/issues/832#issuecomment-2478728469

Hi, can I be assigned this issue?

Hi @MichaScant -- we don't really use the 'assign' feature of GitHub, but if you want to go ahead and tackle this, feel free!

@spinkney if it would be useful, but probably easiest to have as a separate issue

Hello, I am in the middle of building the test file using log_sum_exp_test as an example and noticed you were passing in logSumExp into the test

Would I have to initialize an equivalent logAddExp and how would that occur? Or is there a substitute I can use? Thank you

The two arguments there are test group and test name, so you can just write the logAddExp without having to do any more code


Merge 0.6.0-dev to dev for eventual 0.6.0 release

Stats and AGP for the first seven days of using this branch. Given the profound lack of bolusing and the tuning period, these results are remarkable. Range Used is consistent with clinical studies.

I've noticed that the upload to Nightscout shows all insulin given by oref1 as SMB in the OpenAPS pill as Basal IOB. Would it make sense to separate out Basal IOB from meal specific Bolus IOB in the pill?

How exactly are you thinking we'd separate them out?
The only real function of the bolus vs. basal IOB is to decide whether to bolus snooze. If you recategorized SMBs as boluses, that would trigger bolus snooze, which would sometimes prevent oref1 from zero temping after microbolusing.

It was more an information point. Most people are used to a bolus/background model, and this changes the thinking paradigm yet again. It may simply be that we need to document what's going on carefully.

I've just updated to include the latest commits. I've been noticing some slightly frustrating patterns, but I'll wait to comment until I've run with this for a couple of days.

This is ready to merge to dev whenever @danamlewis is satisfied that we have things well documented enough for general testing.

I think we need a lot of warnings in there. Over the past few days I've been seeing a lot of post prandial rises of 110+ mg/dl. It's almost always the same phenomenon and pretty much always comes with food with a higher fat content.
When a meal is announced, the 50% load gets done quite quickly, then it pauses whilst there appears to be a period of no increase in glucose level. I then see a later absorption, for which there is not enough IOB, and the kick up starts. This is often at the point where the Fiasp peak has passed by about 30-60 mins, and as the earlier dose has not started to bring glucose levels back down, the new rise has a higher starting point.
I've also found that when I stack carbs (with about an hour between them) it often struggles. I'm using SMBBasalMins=90 at the moment.

Warnings on what? We won't be encouraging people in the documentation to try no-bolus just because they're using 0.6.0. If people want to try reducing or eliminating boluses in certain situations, they certainly can. They'll undoubtedly still get better outcomes with partial manual boluses, but that is a tradeoff against usability.

I think it's worth being aware of the kinds of questions that will get asked in looped and how those should be handled.

Adding notes for 0.6.0 dev update relating to Exponential curves:
Exponential Curves
The code now supports three new configuration variables in preferences.json to allow exponential curves that better reflect the effects of insulin:

curve, with legal values of blank, "bilinear", "rapid-acting" and "ultra-rapid"

if left blank or set to "bilinear", OpenAPS uses the old insulin activity model

If set to "ultra-rapid", the new curve model analyzed from publicly available data for Fiasp from Novo Nordisk is used, set to reach activity peak at 55 minutes

If set to "rapid-acting", the new curve model analyzed from publicly available data for Novorapid (Novolog) from Novo Nordisk is used. This curve should match well to Novorapid, Novolog, Humalog and Apidra and is set to peak at 75 minutes

insulinPeakTime, with legal values from 35 to 120. The value defines the minutes from bolus to peak. Note if you don't set it, the above mentioned peak defaults are used.
useCustomPeakTime, which must be set to "true" for the customized insulinPeakTime value to take effect

In order to use the rapid-acting or ultra-rapid curves, your pump must be set to 5 hour DIA, or longer. 6 hours is recommended as the starting point.
The details of the curve calculations and discussions can be found PR #568

If your pump DIA is set to less than 5h, and you turn on exponential curves, oref0 will use 5h as their DIA without complaining.

Enhanced SMB (eSMB)
The default behaviour for SMB is that the max bolus that can be delivered is no greater than 30 mins of basal insulin. An additional preferences value, "maxSMBBasalMinutes", has been added to allow SMB to deliver a different amount of insulin as an SMB. This gives the ability to make SMB more aggressive if you choose. As with standard SMB, it is triggered by temp targets, carb entries and a pump bolus.
Increasing "maxSMBBasalMinutes" will allow the SMB functionality to deliver more insulin, earlier in the SMB process.
"maxSMBBasalMinutes" can be added into myopenaps/preferences.json. It is recommended that the value is set to start at 30, in line with the default, and if you choose to increase this value, do so in no more than 15 minute increments, keeping a close eye on the effects of the changes.
It is not recommended to set this value higher than 90 mins, as this may affect the ability for the algorithm to safely zero temp. It is also recommended that pushover is used when setting the value to be greater than default, so that alerts are generated for any predicted lows or highs.

I'm running a clean install from flashing the Edison through installing everything, including totally fresh Bluetooth. Will let you know how it goes.

Clean install worked very well. From nothing to 0.2.0 + OpenAPS fully looping in about 45 mins.

TY @tim2000s for the starter notes and for the confirmation of clean installs. merging to dev for further testing.


Webview tests are skipped

Couple of milestones ago I have skipped these tests becuase they were failing. I am not sure if I created the issue at the moment but I am doing that now. Sorry if I did not ping sooner.
Code pointer
https://github.com/microsoft/vscode/blob/ca370bdb0aef33613cbaced701c38281cf851e19/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts#L20

I had to revert this change: https://github.com/microsoft/vscode/commit/6bd7b70515d546aba9010d2a0249a1a19205822f
I think they cause our browser tests to hang/fail:
 vscode API - webview
    1) webviews should be able to send and receive messages
    √ webviews should not have scripts enabled by default (1001ms)
    2) webviews should update html
    - webviews should preserve vscode API state when they are hidden
    3) webviews should preserve their context when they are moved between view columns
    4) webviews with retainContextWhenHidden should preserve their context when they are hidden
Terminate batch job (Y/N)?
##[error]The task has timed out.

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=99855&view=logs&j=672276a2-8d3a-5fab-615d-090c51352f92&t=354d3e13-3534-5793-0b68-b00f8c1d36f3&l=136

I had to revert this change: https://github.com/microsoft/vscode/commit/6bd7b70515d546aba9010d2a0249a1a19205822f
I think they cause our browser tests to hang/fail:
 vscode API - webview
    1) webviews should be able to send and receive messages
    √ webviews should not have scripts enabled by default (1001ms)
    2) webviews should update html
    - webviews should preserve vscode API state when they are hidden
    3) webviews should preserve their context when they are moved between view columns
    4) webviews with retainContextWhenHidden should preserve their context when they are hidden
Terminate batch job (Y/N)?
##[error]The task has timed out.

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=99855&view=logs&j=672276a2-8d3a-5fab-615d-090c51352f92&t=354d3e13-3534-5793-0b68-b00f8c1d36f3&l=136


Cannot use the horizontal scroll bar in split view mode

Description:
In the split view, we cannot click on the horizontal scroll bar.
Steps to reproduce:

Affected Versions:
Current head 74df3bc0ef882af243b4b5346423596ad4aaa8a2

Duplicate of https://github.com/ballerina-platform/ballerina-lang/issues/9012


Can the supported IntelliJ version range be extended?

Is your feature request related to a problem? Please describe.
Thank you for addressing https://github.com/koxudaxi/ruff-pycharm-plugin/issues/329 in plugin version v0.0.32. Unfortunately, I cannot use that version currently, because we are still pinned to IntelliJ IDEA Ultimate 2023.1.3, and the plugin page lists any plugin version newer than v0.0.19 as incompatible with that.
Describe the solution you'd like
Is there a technical reason why the plugin is not backwards compatible to older versions of IntelliJ?
If the range could be extended with minimal effort then that would be great.
Since many companies upgrade their software on a bi-annual cycle, it would be ideal if the newest plugin version was always available with all prior year (and current year) versions of the IDE, i.e. currently Intellij IDEA v2023.* and Intellij IDEA v2024.*
Describe alternatives you've considered
I understand if extending the compatibility range is too much work. In that case, maybe you could comment on what the challenge is?

Thank you for creating the issue.
I checked briefly, for example, there seems to be no lsp related modules.
In other words, the current source code cannot be built for 2023.1.
To be honest, it is not very easy to prepare a version without lsp functionality.
https://blog.jetbrains.com/platform/2023/07/lsp-for-plugin-developers/

@koxudaxi FYI, we're about to release LSP4IJ, which provides LSP support for 2023.1, for all JetBrains products (free or not). At this time it provides much more features than what JetBrains does.

@fbricon
Thank you for sharing the project :)
@MichaReiser @snowsignal
Not directly related to the main topic of this issue, but what about using LSP4IJ?
Because @charliermarsh mentioned in talkpython that you are working hard on the LSP implementation.
If we stop manipulating ruff on the PyCharm plugin side and let ruff-lsp take care of much of the processing, whether pro or free version, we could benefit from the development of ruff-lsp.
If it matches your company's policy, I would like to consider this support as an optional feature.
I would appreciate your input.

@koxudaxi Thank you for asking! We do want the LSP to be the main method for editor extensions to interface with Ruff going forward. As you said, it's a lot less work on the extension side.
We have been working on a new Rust-based LSP server, ruff server, which comes built-in with ruff. So that should make things even easier to implement. 😄
I'm definitely interested in LSP4IJ! We've been concerned that Jetbrains LSP support is only available for paid versions, because we'd like the extension to be used by everyone. So if this gives us a way to support both free and paid versions, (with additional features, no less) that would be great!

@fbricon
I tried it as soon as possible. The warning came out well from ruff-lsp.
Can we fix the code by using only the user-definition method?
If the user-definition method is the easiest way to solve everything from settings to options, I'll be happy to finish developing this plugin :sweat_smile:
However, if my plugin is useful as an integration for users to easily introduce ruff-lsp, I will continue to incorporate and develop the lsp functionality with LSP4IJ.
@snowsignal

We have been working on a new Rust-based LSP server, ruff server, which comes built-in with ruff. So that should make things even easier to implement. 😄

This is exciting information. I was sure you guys would implement this in ruff someday. :rocket:
I told @charliermarsh this in DM, but if there is anything I can do to help, please let me know.
I don't want to hinder your business by my slow development speed.  I'm sure if I could commit to OSS full-time, it would solve the problem, but I can't find a good way to do it at the moment.
I can continue to develop it, or I can transfer the repo to your company, or I can archive my repo if you want to make it official from scratch in your company, no problem :smile:
My goal is not to earn stars, but to provide a useful tool for everyone.
I will be giving a talk at PyConUS next month, so if you are going too, we might be able to talk then.

I don't know anything about ruff-lsp. I'll let you guys validate whether user-defined LS is good enough for you. If it is, then you can maybe open a PR to create a ruff-lsp template in https://github.com/redhat-developer/lsp4ij/blob/main/src/main/resources/templates/template-ls.json, with additional instructions, default settings and initialization options similar to https://github.com/redhat-developer/lsp4ij/tree/main/src/main/resources/templates/rust-analyzer.
Do not hesitate to open tickets in https://github.com/redhat-developer/lsp4ij/issues or ask in https://github.com/redhat-developer/lsp4ij/discussions to discuss about LS integration

Can we fix the code by using only the user-definition method?

I'm not sure what you mean here. If the LSP provides code actions for some diagnostics, then they should show up. If the fix is 100% managed on the server side, it should just work (or else it's a bug we'd need to fix). If the fix requires specific client integration, then that's out-of-scope of LSP4IJ, you'd need to provide a specific plugin integrating with LSP4IJ for that.
Now if you're not talking about code actions, then you'll have to provide more details ;-)

Now if you're not talking about code actions, then you'll have to provide more details ;-)

Sorry for the lack of explanation, I am not familiar with this, but I believe many users would like to invoke this request(textDocument.formatting) to fix the code from a keyboard shortcut.
In any case, I think I should play with lsp4ij first and then pose a detailed question to you.
Thank you!!

yeah formatting is not yet supported in LSP4IJ. You'll have to be patient ;-)

Thank you so much @koxudaxi. I'm really grateful for all the work you've put into the extension. I'm sorry that I missed your DM on Mastodon -- I'm just seeing it now. Our main focus today is on making ruff server a full replacement for the ruff-lsp Python package (that's @snowsignal's project), then from there I suspect we'll start thinking about how to package it for other editors (e.g., we're focused on our own VS Code extension, but a lot of users have asked about an "official" PyCharm extension, we might also want something for Zed). I'll need to chat with @snowsignal and others to see what makes most sense, whether we'd want to start from scratch for IntelliJ or build on your work as a foundation (it's a very kind offer). Regardless I am sure we would learn a lot from the current version of the extension, including if it supported LSP4J. And, ideally, swapping out ruff-lsp for ruff server should be extremely straightforward.

My goal is not to earn stars, but to provide a useful tool for everyone.

I will be giving a talk at PyConUS next month, so if you are going too, we might be able to talk then.

I'll be there! I would love to meet in-person.

@charliermarsh
Thank you for sharing specific policies despite your busy schedule.
I had hoped to deliver the ruff experience to as many people as possible through this project (the same goes for my Pydantic and Poetry plugin projects). If the existence of this plugin has reduced the number of users criticizing your project for not being usable in PyCharm, I am happy.
I just understood you still plan to allocate your team resources to the ruff server.
While you focus on the ruff server, I can implement integration with LSP4IJ in this plugin and gather user feedback.
Initially, this project implemented many features using only the ruff command, later supported LSP, WSL, followed the latest version of IDEA, and had to support multiple ruff versions (including changes in options). Therefore, the code of this project is not very clean and needs refactoring. Once the transition to LSP4IJ and the rough server is complete, the code of this plugin can be significantly refactored. This is good news for us.
If you were to build from scratch, since user requirements are already clear, I believe you could start with a much cleaner implementation.

ideally, swapping out ruff-lsp for ruff server should be extremely straightforward.

It's very cool :smile:

FYI, LSP4IJ is now available in the stable channel on the marketplace

@fbricon
It's good news.
I don't know if it will be ready for release this weekday, but we will work on it.
I expect to be able to release it next week at the latest.

@fbricon
It's good news.
I don't know if it will be ready for release this weekday, but we will work on it.
I expect to be able to release it next week at the latest.

@koxudaxi we have released last week LSP4IJ 0.3.0 which provides  experimental LSP semantic tokens support.
Is there another thing that you need to adopt LSP4IJ ?

@fbricon @angelozerr @charliermarsh @gSchurkus
Sorry for the delay.
I have released version 0.0.36 of our PyCharm plugin, which now supports LSP4IJ.
Thank you very much!!

@koxudaxi  first congrats. It is a fantastic news for LSP4IJ, thanks!
Please create a PR to add your plugin in https://github.com/redhat-developer/lsp4ij?tab=readme-ov-file#who-is-using-lsp4ij

@koxudaxi Congrats on the release! I can update the Ruff documentation to reflect this change :)


Exception handling for addTrajPoint and execute methods

@shaun-edwards! Can you please have a look?

I think sticking to standard exceptions will be a good idea for this case.

@shaun-edwards! Does this look like a better implementation?


Update sp-add-schedule-transact-sql.md

Fix markdown formatting

@markingmyname - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

This is already part of a project to refresh system stored procedures.


Broken npm publish

https://github.com/aeternity/aepp-calldata-js/runs/7994961473?check_suite_focus=true#step:6:119
I'm not really sure what's changed since 1.1.1 release which was successful run.
The NPM token used in https://github.com/aeternity/aepp-calldata-js/blob/master/.github/workflows/publish.yml#L19 have been updated to make sure there is no something wrong with it. It's a personal token of my account not org (yeah .. NPM sux) with type set to "Automation" which should bypass 2FA.
My account can publish the package locally.
It's set as GH Actions secret in this repo settings.

@davidyuk @thepiwo @kenodressel any idea how to solve that?

Have you checked is secrets.NPM_TOKEN available in publish workflow? Can GitHub handle it as unsave run (not from a protected branch?) and don't provide secrets?

I suspect 5460dbdbe2fb2358a2e85ffe9a1de4a7d647a982

Have you checked is secrets.NPM_TOKEN available in publish workflow? Can GitHub handle it as unsave run (not from a protected branch?) and don't provide secrets?

I can't find clear docs on the subject, but as I understand anyone with write access (as action actor) can read the repo secrets. That also excludes forked PRs


Error type.toUpper

Hi!, today i installed Reactable, it is everything i need for my data display, but when i tried to implement your table i got Uncaught TypeError: type.toUpperCase is not a function, at first thought i believe that was my data or column definition, so i got your example and rigged up on my view, but i got the same error.
Am i doing something wrong ?
My data, columns, require and call
http://pastebin.com/euwFWL03

You need to wrap
<div id="sdefTable">
              <Reactabular columns={columns} data={data} rowKey={'id'} />
            </div>

within a React component definition. Otherwise it blows up at React side like that. See demos/ for more practical examples and how to wrap it.

You mean something like this?
var DetailsContainer= React.createClass({
render: function() {
  return (

)
});

@eduardodelaguila Can you upload a complete example at GitHub? I tried using your column/data definition but it worked for me...

Right now i cant, i'll do it at night.
P.S. I'm a newbe on React.JS and English is not my native language, so sorry for any mistake :p

@eduardodelaguila No worries. I'll have a look at your code tomorrow.

thanks! :D

@eduardodelaguila Any update? Can you upload some code for me to look at?


What might be conflicting with tab indents?

I've been trying to narrow down a problem with tab indenting when using Rainbow with WordPress. Been digging for 2 days and I can't reproduce it in a fiddle.
There's no conflict with plug-ins because I disabled them all, so it's either something in the core or the theme. It's also not rainbow.linebumbers.js because I made a fiddle with it and the tab indenting worked fine with identical code that I have in a WordPress post.
Basically if I have code with multiple indents with regular tabs,  the farthest the code will indent is one tab. The only way to get around this is to convert the tabs to spaces—ok for now, but if anyone wants to copy the code they might not be pleased with spaces for indents.
I just wanted to post on here to see if anyone has run into this issue with Rainbow and WordPress so I can work out where the conflict is happening before I lose my sanity.
Here's an examples of what I see:
<?php
// Typical Rainbow Output
function open_sesame(){
	if (is_page('door')) {
		ring('bell');
	}
	else if (is_search()) {
		echo 'some text' . $a_variable;
	}
	else {
		print "yawn";
	}
}
?>

<?php
// Rainbow in WordPress Post
function open_sesame(){
	if (is_page('door')) {
	ring('bell');
	}
	else if (is_search()) {
	echo 'some text' . $a_variable;
	}
	else {
	print "yawn";
	}
}
?>

After much toil I finally found the problem, so I'm posting it in case anyone ever runs into it.
If you have CSS letter-spacing applied to anything that affects your code that Rainbow is styling, it seems to collapse the tab indents if there is more than one tab used. Not sure why, but it does. This fiddle shows it broken.
in my case, I had letter-spacing set on body to apply a small negative, kerning to all text on the site. I managed to fix it with a simple line:
pre *, code * { letter-spacing:initial; }

anyway, if you use WordPress and Rainbow, be mindful of this or you'll be in the same hell I was the past week.


Documenting LogManager Setup and Best Practices

Adding bit more guidance in our docs on setting up and managing loggers, especially since we've got those two paths: LOGMANAGER_INSTANCE for the straightforward cases and LogManagerProvider for when things get a bit more complex.
What's added?

A breakdown of when and how to use LOGMANAGER_INSTANCE.
A guide on leveraging LogManagerProvider for more advanced logging setups.
Some advice on keeping things smooth and safe with loggers in multithreaded environments.
Tips on choosing the right approach based on what you're building.

@maxgolov @mkoscumb -  whenever you have time to review this PR. Thanks.


Let users vote for their favorite game(?)

As an alternative to trophies, a cheap effort to still determine a winner would be to let users include a vote for their favorite game in their game's description. It would take the form of a shortcode (written manually? generated by FF?) that could then be parsed and saved during scraping.

Won't do


Edge case with proto

I did some fuzz testing with this library and found an edge case.
The JSON string "{\"__proto__\": 0}" is correctly parsed by the native JSON library into { "__proto__": 0 }, but in this library it is parsed into {}.
To solve, in the parseObj function update obj[key] = value; to
Object.defineProperty(obj, key, { value, writable: true, enumerable: true, configurable: true });

Thanks! I'm not very familiar with these JavaScript features, as I simply translated my Python implementation without a deep understanding of the JavaScript specifics. Would you mind creating a PR?


Add orderlist css rule

Tested in https://github.com/leelavg/thoughtexpo/commit/527698ee4d7eaecf54bd1edea1fe058f2a4fca9f

Thank you!


Error when calling DeleteFidoPolicy: The request violates a constraint imposed by the service.

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.
PingOne Terraform provider Version

v0.6.0+
Terraform Version

N/a
Affected Resource(s)

pingone_mfa_policy
pingone_mfa_fido2_policy

Terraform Configuration Files
Step 1
resource "pingone_mfa_fido2_policy" "fido" {
  environment_id = data.pingone_environment.general_test.id

  ....
}

resource "pingone_mfa_policy" "mfa" {
  environment_id = data.pingone_environment.general_test.id
  name           = "MFA Policy"

  ...

  fido2 {
    enabled = true

    fido2_policy_id = pingone_mfa_fido2_policy.fido.id
  }

}

Step 2
# resource "pingone_mfa_fido2_policy" "fido" {
#  environment_id = data.pingone_environment.general_test.id

#  ....
# }

resource "pingone_mfa_policy" "mfa" {
  environment_id = data.pingone_environment.general_test.id
  name           = "MFA Policy"

  ...

  fido2 {
    enabled = true
  }

}

Debug Output

Error: Error when calling `DeleteFido2Policy`: The request violates a constraint imposed by the service.

        PingOne Error Details:
        ID: <<id>>
        Code: REQUEST_FAILED
        Message: The request violates a constraint imposed by the service.
        Details object:
        [{"code":"CONSTRAINT_VIOLATION","innerError":{},"message":"You cannot delete
        this policy because it is used in the following:"}]

Panic Output

N/a
Expected Behavior

FIDO policy deleted successfully as it is unused
Actual Behavior

Error shown, FIDO policy is still assigned to the MFA policy.  The MFA policy should instead adopt the default FIDO policy for the environment
Steps to Reproduce

terraform apply using Step 1 hcl
Adjust applied HCL to match Step 2
terraform apply using Step 2 hcl

Important Factoids

References

This occurs because Terraform attempts deletion of the FIDO2 policy before the modification of the MFA policy.  The API rightly restricts this sequence and the error is appropriate.  This is also normal behaviour from a Terraform perspective.
There is nothing that can be done in the provider code to mitigate, however Terraform HCL writers can use the create_before_destroy lifecycle argument to control the order of sequencing.
For example:
resource "pingone_mfa_policy" "mfa" {
  environment_id = data.pingone_environment.general_test.id
  name           = "MFA Policy"

  lifecycle {
    create_before_destroy = true
  }

  ...

  fido2 {
    enabled = true

    fido2_policy_id = pingone_mfa_fido2_policy.fido.id
  }

}

However this isn't recommended to be used on this type of resource all the time unless there are random characters added to the name parameter.  This is because if this resource ever needs replacement, the create_before_destroy meta argument will attempt to create this resource first before the destroy takes place, and there will be conflict if the name is kept the same.
Closing with no action necessary


Add santisoler as maintainer

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@santisoler you have to add yourself to the recipe/meta.yml file instead. All of the rest is handled by the bots. You might get an invitation to a team in this org, if I remember correctly.
Closing this.


Set useCapture on document mousemove/mouseup handlers during drag

A scrollbar drag continues even if the pointer moves off the scrollbar track while the mouse button is down.  We want to block other elements’ mousemove/mouseup handlers from firing during this period.

That makes sense. Good job!


Missing tau

If I'm correct, the rescaling via tau = self.dim_key**0.5 described in Eq.1 of the paper is missing after L44.

oh yes, you are right! https://github.com/lucidrains/cross-transformers-pytorch/releases/tag/0.0.2


Add sample code for microTask-3

Added javascript equivalent code for the following python codes.
delete.py
edit.py
get_my_watchlist_feed.py
login.py
move.py
parse_wikitable.py
purge_namespace_pages.py
purge_two_pages.py
userrights.py
watch.py

@srish please review this. Thanks!

@adarshPatel509 Thanks for your work on this! It looks you sent a pull request with changes to ~10 files. However, you were only supposed to send for one that you claimed userrights.py in https://phabricator.wikimedia.org/T215681. Others are working on other files. It would be great if you could make adjustments to this pull request, remove other files and only keep that you picked.

@srish, I have removed other JS files. Please review this. Thanks!

@srish I have made the requested changes.
I have checked for jshint errors and followed the same code convention as used in other JS files.
Please review this, Thanks.


[1.19.2] Drawers render differently depending on facing location

DO NOT REPORT AN ISSUE IF YOU HAVEN'T TESTED THE ISSUE WITH THE LATEST VERSION IN CURSEFORGE
Functional Storage Version:
1.19.2-1.1.4
Drawers facing East/West render darker than drawers facing North/South.
Attached is a screen shot from FTB Skies.  Shaders are turned off and there are no resource/texture packs.
The drawers are so dark they look like a different block.
EDIT: I've added light source blocks directly above/below and onto the West facing to show that it's not shadow/lack of light causing the issue.

#33


Convert to SoftwareSerial

Convert library to SoftwareSerial so ESP8266 can use native USB port for debug.  Using D7/D8 for rec/xmit.  Also added NULL pointer checks that were previously mentioned by others.  Assuming some may want to stay with HardwareSerial, so maybe this branch can just sit here for whoever wants it.  Modified .cpp, .h, and example files.  Tested on ESP8266 NodeMCU 1.0 (ESP-12E).

Gday! Thanks heaps for working on this. Would be great to merge it into the master.
Perhaps you could add some board directives:
// #define ESP
#ifdef ESP
...
#else
...
#endif


Add some useful GPL dependencies

Resolves #46.

I guess we need a corresponding PR in lynxkite-enterprise removing these?

I think so.


Review comment; *; GE; medium

The test method descriptions often are not unambiguously clear with respect to exactly what needs to the asserted. Providing the Xpath references for each selection and assertion necessary would help.

Hello Peter, I am going to upload automatically all the issues

Ignore - issues to be bulk uploaded.

Thanks, Emidio – I was struggling a bit. I’m next able to take a look at this task on 1st April. I would delete my three, but the best I can do is close them.
Peter
From: Emidio<EMAIL_ADDRESS>Sent: 22 March 2016 10:46
To: inspire-eu-validation/ats-discovery-service<EMAIL_ADDRESS>Cc: Peter Parslow<EMAIL_ADDRESS>Subject: Re: [ats-discovery-service] Review comment; *; GE; medium (#5)
Hello Peter, I am going to upload automatically all the issues
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/inspire-eu-validation/ats-discovery-service/issues/5#issuecomment-199748124
This email is only intended for the person to whom it is addressed and may contain confidential information. If you have received this email in error, please notify the sender and delete this email which must not be copied, distributed or disclosed to any other person.
Unless stated otherwise, the contents of this email are personal to the writer and do not represent the official view of Ordnance Survey. Nor can any contract be formed on Ordnance Survey's behalf via email. We reserve the right to monitor emails and attachments without prior notice.
Thank you for your cooperation.
Ordnance Survey Limited (Company Registration number 09121572)
Registered Office: Explorer House
Adanac Drive
Southampton SO16 0AS
Tel: 03456 050505
http://www.os.uk


Bump strip-css-comments from 4.0.0 to 4.1.0

Thanks, but this is not needed. Semver handles this for us. Read more here: https://nodesource.com/blog/semver-tilde-and-caret


Add macro to add the contract state version as a custom section

Closes #2116

We could also make this part of the logic of entry_point, that way we don't need to pass the same function twice through a proc-macro facility and through syn parsing


stm32f3: clock control should be able to represent USART1 clock erratum

Is your enhancement proposal related to a problem? Please describe.
Some STM32F3 devices have a bug in USART1 clocking. ES0246 describes it like that:

USART1 is mapped on the fast APB (APB2) and its clock can be selected among four
different sources using the USART1SW [1:0] bits in the RCC_CFGR3 register.
The default configuration selects PCLK1 (APB1 clock) as USART1 clock source instead of
PCLK2 (APB2 clock).

This problem leads to wrong baud rate calculation, because PCLK1 and PCLK2 frequencies are usually different.
Describe the solution you'd like
I'd like to have a way to pass a specific PCLKx as the domain clock source for the peripheral instead of the generic STM32_SRC_PCLK which cannot be used for baud rate calculation anyway.
Describe alternatives you've considered
An alternative would be to include device-specific hacks to USART driver, but I don't think it's a good idea.
Another alternative would be to set SYSCLK as the default domain clock source, but that violates "Note 2" rule from st,stm32-rcc.yaml.
Additional context
Affected devices are STM32F30xx6/8, STM32F334x4/6/8, maybe some others. Looks like B/C/D/E devices are not affected.
There are several application-specific workarounds possible, but I'd like to see the default solution, because the issue affects several in-tree boards.

@erwango Could you please look at that as you are the one who implemented domain clocks? I'm thinking about introducing H7-like STM32_SRC_PCLKx aliases for STM32_CLOCK_BUS_APBx, but I'm not sure about that.

Another alternative would be to set SYSCLK as the default domain clock source, but that violates "Note 2" rule from st,stm32-rcc.yaml.

@tagunil This is what was done recently for I2C, that have similar issue:
https://github.com/zephyrproject-rtos/zephyr/pull/53216/commits/fa428afeead70a2bc185dca2ae128ef47a1d68f7
I might need to edit note 2 and state "when possible" or "unless default reset configuration doesn't allow to provide a functional configuration"