Don't treat entries in --files-from as glob definitions

I know (e.g. 2448) that there is already disagreement on whether this is a "bug", or a "feature request", and in fact globbing was explicitly introduced as a "feature" at some point into --files-from.
My argument is that, given that no other software on Earth that I could find treats lines in a --files-from (or analogous feature) as glob specifications, Restic shouldn't either, and it's a bug.
But if you'd rather consider it a new feature request, fine with me - something like:

A new flag that doesn't glob, e.g. --files-raw-from, and/or
An environment variable that overrides --files-from default behavior so as to not glob

Why?

As far as I know and have been able to determine through google (surely with some obscure exceptions), all other software with such a flag expects the list to be a plain 1:1 raw dump of exact file path specifications (whether absolute or relative).
The writers of such software know that such lists are generated by some other tool. Not by hand-crafting glob specifications.

Hand-crafted wildcard specifications are literally what a completely different set of related features are for: pattern-based "exclude" and "include" arguments and file pointers. Rsync, for example, supports at least six variations of specifying pattern-based includes, excludes, and mixed definitions.)

The Linux way is "Do One Thing Well", and chain together the tools you need.
Treating --files-from entries as glob specifications, introduces unexpected errors, violating the principle of "least surprise". As I discovered, with brackets in filenames - which I now have to jump through additional hoops to programmatically process and escape.

There's deep personal irony here. The reason I have so many brackets in filenames, is because long ago when using primarily Windows, parentheses in filenames caused (and still does) errors in Windows CMD processor's half-baked attempt at a modern-ish "if exist fileX ( thenY )" branching syntax. So now with brackets instead of parentheses, I'm getting bugs in Windows. (Well at least these are solvable by escaping.)

As an example of what programs typically expect, when using rsync, rclone, and numerous other tools, users and admins often:

Generate a list of regular (non-symlink/socket/named pipe) files, filtered by date or size, with something like find . -f | sort > filelist1.txt.
Filter that list with something like grep -iPv ".*\/local\/Trash\/.*" filelist1.txt > filelist2.txt (etc.) As many times as necessary.
rsync --files-from filelist2.txt source/ dest/

Why do users and administrators do that? Because as we all finally know by now, rsyncs include/exclude syntax was carefully designed by the demons from "The Good Place", to torture a large swath of humanity and bring literally endless human suffering.
(I'm even writing a utility to generate such simple raw-dump-of-files list. [Surely others exist, seems like an obvious idea, but I haven't managed to find an existing, dedicated FLOSS one.] Benefits over, for example, rsyncs arcane include/exclude syntax: Uses regex; user-definable regex macros; reverses the logic of rsync broaden/narrow filtering which is really hard to grasp and debug.)
Anyway the point is, treating a programmatic file list dump as a hand-crafted list of glob definitions, I feel was an objectively incorrect decision specifically intended to torture users.
Did restic help you today? Did it make you happy in any way?
Yes! Fix this issue, and drastically improve prune performance (I know it's in the works), and add --iexclude-file; and we'd have the One True Superior Backup Solution! Oh also, compression might be nice, but I feel that's less important than most people realize and more of a shopping list item, what with deduplication, and data file formats increasingly designed to already be as dense as possible. (Except for things like VM images.)
Edits: Bad at grammar and formatting.

@MichaelEischer
Partially. If you consider these two issues a Venn diagram, there is some overlap in terms of topics discussed. But not the purpose. One is a bug report of an existing feature. The other is asking for new feature that is completely different.
Although well-written, that issue is obviously a feature request for new functionality. And not about fixing --files-from.
1. Specifically, a his feature request is about parsing a JSON array containing wildcards.
1. His opening description and later clarification hints at some of the problems this issue specifically addresses and calls a bug: glob characters causing problems in --files-from - but in his issue only in an incidental way.
1. His feature request is a workaround for the problem that this issue addresses head-on, via completely new and different functionality.
More than one issue mentioning the same problem, doesn't make them duplicates. One issue might be "Fix the bug in the anti-lock-brakes program", a second issue might be "Add airbags so that when the brakes fail due to the ABS bug, there's a little less dying." Both are valid issues by themselves.

@jim-collier

The other (#2944) is asking for a new feature that is completely different - only in part to work around the very same bug, but it's also an interesting feature idea on it's own, independent of any bug.
1. Specifically, his feature request is about parsing a JSON array containing wildcards.

The issue description explicitly mentions both JSON and null-byte terminated lines. Your suggested --files-raw-from variant is just a slightly different format to specify the file (i.e., using new lines as separators instead of the null-byte). The second comment in #2944 also lists variants used by other backup/file transfer programs, which also includes --files-from-raw.

2. His opening description and later clarification hints at some of the problems this issue specifically addresses directly and calls a bug: glob characters causing problems in `--files-from`.

The opening description also explicitly asks for restic not to interpret the file paths as globs. Just removing the interpretation of glob characters still leaves trimming and comments # as potential problems, so we'd also need a solution to handle that behavior. That is just removing the globbing still leaves a few special cases around, such that we have to discuss the variants mentioned in #2944 anyways. I don't see why we should break compatibility of an existing feature when a new option --files-from-raw (or special line prefixes as in borg) would be perfectly fine. As there is also a use-case for glob expansion (#1891 and maybe others), I'd say the --files-from option works as expected.

3. His is a feature request with a completely new and different feature idea, only in part as a workaround to the problem that this issue solely addresses. But his idea also happens to be a valid feature request, even if this bug were fixed and closed.

We don't want to have multiple different ways in restic to solve the same problem. That is we can't handle these two issues in isolation anyways. And if we'd have to break compatibility it would still be preferable to not do so repeatedly.

More than one issue mentioning the same problem, doesn't automatically make them duplicates. One issue might be "Fix the bug in the anti-lock-brakes program", a second issue might be "Add airbags so that when the brakes fail due to the ABS bug, there's a little less dying." Both are valid issues by themselves. That's not always the case obviously - a workaround feature request might be completely moot if the bug issue is fixed and closed. But in this case - as purposely illustrated in this contrived example - they're both valid issues independently.

From my point of view we're discussing here whether to solve the ABS bug via solution A or B, with B being the comprehensive solution. Or in other words I still consider this issue to be a subset of #2944 (that's what I meant with "full duplicate").

@MichaelEischer I disagree with your analysis, but I do recognize (and appreciate) the inescapable fact that you've had eyes on this and the web of related issues far longer and intently than I, so I don't have much of a leg to stand on to keep flogging it.
I can however, disagree with (what I believe is) a fair degree of experience & subject matter expertise, over your assertion that

the --files-from option works as expected

Definitely doesn't. Well, IMO. However, there's an implied "works as expected for ..." in there. Presumably, "for me (meaning you)". If so, then of course  that's not debatable. But for most others working in this general administrative or pseudo-administrative filesystem space, I could name half a dozen respected utilities or more that don't behave that way, and zero that do - in support of the notion that, for most such people, it's not working as expected.
The top of that list is the legendary rsync, which has exented CLI interface standards for batchey-filey tools, for 2 or 3 human generations now, used by millions. So by saying that globbing is expected behavior, you're essentially arguing that rsync's behavior for --files-from is not expected behavior, since in the context of this narrow behavioral discussion, they are opposites by definition.
I mean look, I'm in not at all married to the redefining how restic --files-from works. It's pretty well established that changing what CLI interfaces do, in general, can break user scripts - and is really bad. That's arguably more important than being consistent with big-sister utilities and industry conventions. (Unless of course zero users currently rely on hand-crafted globbing behavior in --files-from. Which I'm guessing is impossible to know.)
In other words, I'm perfectly fine with having a new and different flag. (As referenced in my opening acknowledgement of more or less, "is this issue a bug report or new feature request?").
My only real "concern" here, is confusing this extremely narrow problem (treating a raw dump of file paths as individually hand-crafted glob statements), with talk about JSON, null-terminate strings, etc. It's clear the author spent time and care crafting the issue, but I'm still not clear on exactly what end-state he would most ideally like to see. (Fair enough to say the same about my issues generally.)
Whereas this issue, if anything, is at least crystal clear on that:
Either ditch the globbing logic in --files-from, or introduce a new flag that does, e.g. --files-from-raw.
Also, you mentioned the question of how to handle comments. And that highlights a key difference - I think - in how we perceive how --files-from should be interpreted. In rsync for example, there explicitly is to be no comments, or anything that isn't a file path, not even empty lines or spaces that aren't part of a filename. It's a raw text based list of files, terminated with newlines. Either the filespec listed on each line is a file, or it is assumed to no longer exist as one by that literal path. (And rsync --files-from does not, to my knowledge, deal with newlines in filenames. Either each individual line exists as an exact filename path, or it doesn't.)
To be fair, rclone does allow comments in --files-from and does some other very minimal preprocessing (e.g. leading spaces). But importantly, not globbing! A straight dump of raw filenames will always work.
rclone --files-from-raw, OTOH, is functionally identical to rsync --files-from, at least in what it expects of the actual contents. And, as far as I can tell, also doesn't correctly interpret newlines in filenames.
Well I've made my case, probably can't state it better, so if you still disagree and want to close this, I'll still disagree but can appreciate your desire to minimize the number of issues etc. It's never a perfect process, I'm not a direct contributor, nobody is getting paid here, and we don't always get what we want ;-) And there are considerably bigger problems in the world.
As for handling newline characters in filenames, I'm at a loss. That's a much bigger issue than either of us or restic. Probably across time and space. I've never dealt with it before, personally, in spite of knowing it's possible. (Which is not the same as saying I know for sure I have, or manage, zero filenames with newlines! I've seen alot of strange stuff.) I know rsync can be made to deal with newlines in names, but not in an obvious straightforward way, and not involving --files-from. As much as I hate suggestions of ad-hoc "preprocessing" kludges to fix another program's "flaws" (e.g. having to globally escape brackets in the filenames dump so that they don't glob in restic!), in this edge case it might suffice to say, "fix your filenames with newlines before doing anything else - in general, restic or not". Shouldn't be too hard to automate with a bash one-liner. That said, I'm happy to just say "I don't know" when it comes to newlines and be OK with it!

BTW if it would help clarify things if I change the title of this issue to "Add --files-from-raw feature", and remove mentions of --files-from having a "bug" or unexpected outcome, I'm more than happy to do so. That might also address your understandable heartburn of overlapping discussion of --files-from in other issues that discuss it.

With #3013, this can be closed.


[BUG] Error sending NG Setup Request

Describe the bug
I trying to run some test using PR and Free5GC, but I encountered some errors.
To Reproduce
Steps to reproduce the behavior:

Run free5gc using free5gc-compose
Execute packetrusher using the provided config file

Expected behavior
Ngap assoc OK
Architecture (please complete the following information):

OS: Debian GNU/Linux
Platform x86_64
Version 11
Kernel 5.10.0-16-amd64

I'm using the following configuration:
gnodeb:
  controlif:
    ip: "<IP_ADDRESS>"
    port: 9487
  dataif:
    ip: "<IP_ADDRESS>"
    port: 2152
  plmnlist:
    mcc: "208"
    mnc: "93"
    tac: "1"
    gnbid: "000001"
  slicesupportlist:
    sst: "1"
    sd: "010203"

ue:
  msin: "0000000003"
  key: "8e27b6af0e692e750f32667a3b14605d"
  opc: "8baf473f2f8fd09487cccbd7097c6862"
  amf: "8000"
  sqn: "000000000023"
  dnn: "internet"
  routingindicator: "0000"
  hplmn:
    mcc: "208"
    mnc: "93"
  snssai:
    sst: 1
    sd: "010203"
  integrity:
    nia0: false
    nia1: false
    nia2: true
    nia3: false
  ciphering:
    nea0: false
    nea1: false
    nea2: true
    nea3: false

amfif:
  ip: "<IP_ADDRESS>"
  port: 38412

logs:
  level: 5

Log:
./app --config config/packetrusher/config.yml gnb
INFO[0000] Loaded config at: config/packetrusher/config.yml
INFO[0000] PacketRusher version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing an gnb attached with configuration
INFO[0000] [TESTER][GNB] Number of GNBs: 1
INFO[0000] [TESTER][GNB] Control interface IP/Port: <IP_ADDRESS>/9487
INFO[0000] [TESTER][GNB] Data interface IP/Port: <IP_ADDRESS>/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: <IP_ADDRESS>/38412
INFO[0000] ---------------------------------------
INFO[0000] [GNB] SCTP/NGAP service is running
INFO[0000] [GNB] Initiating NG Setup Request
encoding/hex: odd length hex string
encoding/hex: odd length hex string
INFO[0000] [GNB][NGAP] Error sending NG Setup Request: OctetString Length(0) is not match fix-sized : 3

On the AMF side, I can see the following:
2024-02-07T13:38:41.428766817Z [INFO][AMF][Ngap] [AMF] SCTP Accept from: <IP_ADDRESS>:9487
2024-02-07T13:38:41.429762874Z [INFO][AMF][Ngap] Create a new NG connection for: <IP_ADDRESS>:9487
2024-02-07T13:38:41.429868081Z [ERRO][AMF][Ngap][ran_addr:<IP_ADDRESS>:9487] NGAP decode error : Get bits overflow, requireBits: 8, leftBits: 0
2024-02-07T13:38:44.639177704Z [INFO][AMF][Ngap] Handle SCTP Notification[addr: <nil>]
2024-02-07T13:38:44.639261521Z [INFO][AMF][Ngap][ran_addr:<IP_ADDRESS>:9487] SCTP_SHUTDOWN_EVENT notification, close the connection
2024-02-07T13:38:44.639284044Z [INFO][AMF][Ngap][ran_addr:<IP_ADDRESS>:9487] Remove RAN Context[ID: ]
2024-02-07T13:38:44.639560681Z [INFO][AMF][Ngap] Handle SCTP Notification[addr: <nil>]
2024-02-07T13:38:44.639588015Z [WARN][AMF][Ngap] RAN context has been removed[addr: <nil>]
2024-02-07T13:38:44.639839401Z [INFO][AMF][Ngap] Handle SCTP Connection Error[addr: <nil>] - remove RAN
2024-02-07T13:38:44.639862125Z [WARN][AMF][Ngap] RAN context has been removed[addr: <nil>]

Pcap:
malformed-packet.zip

Hi @abousselmi,
There is an issue in your configuration, tac should be 6 digits: eg. 000001. That's why you are seeing the error "encoding/hex: odd length hex string".
We are going to improve the code so PacketRusher does not run further if the configuration is malformed.
Thanks a lot for the report!

Hi @linouxis9,
Thank you for your feedback. That fixed my issue. SST should also be two digits.
This configuration might be used as a reference for free5gc: https://free5gc.org/blog/20240110/20240110/?h=pack#packetrusher-gnbue-config
And yes it would be great to fail fast and to be a little bit more explicit in the error message.
Thanks again !


More concise, Laravel-style Controller@method callbacks

Thanks for all work on this @Rican7 ! I'm interested in adding support for Laravel-style 'Controller@method' route callbacks. Something like this:
$klein->get('/users', 'UsersController@index');
$klein->get('/users/[i:id]', 'UsersController@show');

... which could be implemented by adding the following to setCallback in Route.php:
if (is_string($callback) && strpos($callback, '@') !== false) {

    $parts = explode('@', $callback);
    $class = $parts[0];
    $method = $parts[1];

    if (!class_exists($class)) {
        throw new InvalidArgumentException('Controller class '. $class .' does not exist');
    }
    if (!method_exists($class, $method)) {
        throw new InvalidArgumentException('Controller method '. $method .' does not exist');
    }

    $callback = function($req, $res, $ser, $app) use ($class, $method) {
        $controller = new $class($req, $res, $ser, $app);
        $controller->$method($req, $res);
    };
}

I know there is support for static controller methods, but this technique also opens up some interesting possibilities for using a base Controller class, adding middleware etc. I'd be happy to submit this as a Pull Request with tests etc if this is something you'd be open to adding to Klien.php. It doesn't look like this project is getting much activity in terms of recent commits, but I think it's delightful to use on small projects and would love to see it continue to be maintained.

Or for a slightly more sophisticated approach that detects route params and passes those into the method call, replace the $callback closure above with this:
$reflection = new ReflectionMethod($class, $method);
$params = (array) $reflection->getParameters()[0];
$params = $req->paramsNamed()->all(array_values($params));
$controller = new $class($req, $res, $ser, $app);
$reflection->invokeArgs($controller, $params);

I already use similar style in a Klein.php based project:
$router->respond('GET', '/', 'main->index');

Example. Implementation is here (done by extending Klein class).

@rekcuFniarB thanks for sharing!


updates and fixed PNP link

Please use this template to ensure easier processing of your pull request
Category

[X ] Content fix
[ ] New article

Docs Build status updates of commit baa0c2c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

CHANGELOG.md
:white_check_mark:Succeeded

Community/document-sets-are-magic.md
:white_check_mark:Succeeded
View

Community/glossary.md
:white_check_mark:Succeeded
View

Community/microsoft365-maturity-model--governance-and-compliance.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add insecure flag

Closes #22
I added the new insecure flag and updated the Changelog and mix version to prepare for a new release ;)

What's your hex username? Then I'll add you as a maintainer to the package.


rafd_crop_size?

can anyone please let me know what is irafd_crop_size? when you tarin star gan on your dataset

@Abhijitdas2048 When you train StarGAN on RaFD or your custom dataset, you can just treat rafd_crop_size as crop_size. Image processing module will center-crop images according to crop_size. Please see here.

main.py: error: argument --rafd_crop_size: invalid int value: 'CROP_SIZE'
This error occurred when I was training under my own data set. I hope to get your help!


fixed issue with login page being accessible after login

Fixes: #35
Made it so that the user is redirected to / route when logged in on entering /login.
As per the expected behaviour

I'm merging this PR for now, I'll release a PR that will have these changes formatted.


Hosted service Ebola_Burial_Teams/FeatureServer does not have a service definition item

The hosted service "Ebola Burial Teams" item exists id:37af79a219614f899d12cf5564a13dba but does not have an associated service definition portal item. Without the service definition item the service won't be published to any user conference machines.
NOTE: Only hosted services published from ArcGIS Desktop or ArcGIS Pro, which upload a service definition item to portal, will be published to the UC servers.
Service owned by Sarah S.

This was fixed as part of the release process I assisted @nfeuerstein with.


Response body contents not being respected when the same URL is used with different methods

In a file api_login.yaml (from the Springboot example) there is a GET request and a POST request with different body contents:
id: api_auth
info:
    title: 'API Auth'
requests:
    - isTrap: true
      expect:
          method: GET
          path: '/api/login'
      reply:
          status: 200
          headers:
              content-type: 'application/json'
          body:
              contents: '{"status":"error", "message":"Please use POST request to login"}'
    - isTrap: true
      expect:
          method: POST
          path: '/api/login'
      reply:
          status: 200
          headers:
              content-type: 'application/json'
          body:
              contents: '{"status":"error", "message":"Invalid credentials"}'

When actually using this template, the server responds with the body contents for the GET request when making a POST request:
> GET /api/login HTTP/1.1
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Set-Cookie: wrong-warrant=691ef51be0d33e43c2b2d39ed7dbbf017a5beaac; Path=/; HttpOnly
< Set-Cookie: sweet-waiting=s%3AOLpDwW4qvAlkRrmVzE0XVVGGpGptUjuf.XZfSClcaDrVIyevEJE8z8gf4KBrJ%2BZCzAZKdWRm7FNU; Path=/; HttpOnly
< Content-Type: application/json; charset=utf-8
< Content-Length: 64
< Date: Thu, 14 Sep 2023 18:24:08 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host <IP_ADDRESS> left intact
{"status":"error", "message":"Please use POST request to login"}%

> POST /api/login HTTP/1.1
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Set-Cookie: wrong-warrant=691ef51be0d33e43c2b2d39ed7dbbf017a5beaac; Path=/; HttpOnly
< Set-Cookie: sweet-waiting=s%3AWN703nkFbOzLce0fQcKweSUpp87Y-OwL.SL7c5vRZeNDKV8zmOwhJtQGVqGb7tdT9gwb6IkbYBvE; Path=/; HttpOnly
< Content-Type: application/json; charset=utf-8
< Content-Length: 64
< Date: Thu, 14 Sep 2023 18:24:01 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host <IP_ADDRESS> left intact
{"status":"error", "message":"Please use POST request to login"}%

Fixed in #17 , Will release a new version soon. Thanks for reporting.


Bug: "Other" IR Devices send commandOn and commandOff at reversed times

Describe The Bug
When turning on a device, it sends commandOff, and vice versa
To Reproduce
Set up an IR "Other" device and try toggling state.
Expected behavior
Turning on a device should use the configured commandOn command, not commandOff
Relevant log output
(When turning a device off)

[12/04/2022, 15:31:22] [SwitchBot] [DEBUG] Other: Iceman On: 0
[12/04/2022, 15:31:22] [SwitchBot] Other: Iceman Sending request to SwitchBot API. command: On, parameter: default, commandType: customize
[12/04/2022, 15:31:23] [SwitchBot] [DEBUG] Other: Iceman pushChanges: [object Object]
[12/04/2022, 15:31:23] [SwitchBot] [DEBUG] Other: Iceman Command successfully sent.
[12/04/2022, 15:31:23] [SwitchBot] [DEBUG] Other: Iceman updateCharacteristic Active: 1

Config for homebridge-switchbot
{
    "deviceId": "xxxxxxxxx",
    "configRemoteType": "Fan",
    "other": {
        "deviceType": "Fan",
        "commandOff": "Off",
        "commandOn": "On"
    },
        "logging": "debug"
}

Screenshots
No response
Device & Model
Raspberry Pi 3
Node.js Version
v16.13.0
NPM Version
v8.1.0
Homebridge Version
v1.4.0
Homebridge Switchbot Plugin Version
v1.12.8
Homebridge Config UI X Plugin Version
v4.42.0
Operating System
Raspbian

should be resolved from PR


assisted ztp: fix multiarch tests in cached environments

Fixes multiarch test failures in environments using image caching

/cc @achuzhoy @vkolodny

/lgtm

/lgtm


#125 Robottests for Skillscard to test editing tech pref works

This refers to the tech pref checkbox in SkillsCard (unless the checkbox has been changed to some other format) and the function of being able REVIEW and EDIT it.
Note: Robot tests for reviewing & editing projects one wishes to work with are already completed in PersonalInfoCard. (same user story #125)


changed/enterprise: disabled downloading of BFG and Symf for enterprise users

Instead of eagerly starting the Symf and LocalEmbeddings services on startup, we subscribe them both to the auth provider and only start them (or provide an instance of them if called explicitly) if the user has authenticated as a dotcom user. Otherwise we skip them.
As I got into trying to test this, I bit off a little more than I could chew and ended up refactoring chat-view/context.ts pretty heavily to clean it up and replace a lot of the copy-pasta. However when I started testing the refactor, I realized it was going to be a heavy lift (at least another day) to generate a good test suite to validate that my refactor didn't break anything. So I reverted it back to where we are currently where it's just the simple update to not do the downloads.
I'm kind of in limbo on this because I'd love to complete the refactor and add some test coverage for that file (it looks very high touch and complex so an ideal test candidate) but I don't know how long I should spend on this.
Oh I also replaced a bunch of null with undefined. Not out of any particular zealotry, just that it was cleaner in the code I was touching and then it felt weird to have a bunch of prop1?: Type1 next to prop2: Type2 | null. If there's a specifically good reason to be using | null I can roll everything back.
Test plan
Green CI

@dominiccooney From what I've seen, the issue is that they're not really lazy, for instance symf has this in the constructor which calls this  that immediately starts indexing the local workspaces ahead-of-time. There's a similar such setup in LocalEmbeddings. So while they do lazy downloading, both try to eagerly compute indexes before any task has been assigned.
We could remove these eager evaluations entirely (I'm not sure what impact that would have on correctness, hopefully none), but we'd still have to wire through the plumbing of pulling and checking auth status at each time of use and ensuring every public method of those objects does that check correctly before use.
To me it still feels like we want two layered interface:

The public interface which can synthesize synchronous and asynchronous information to determine if the widget is usable
The private inner class which actually does the thing

I think we can and should consolidate all of the conditionals into 1) but inlining the two classes together feels like we could easily end up making this mistake again.

To simplify testing this locally, I took a stab at separating agent integration tests for enterprise accounts into separate files (one for demo and one for s2) https://github.com/sourcegraph/cody/pull/5127. You can rebase on main to get the changes.


Some catch rates display a strange symbol after the male percentage

https://media.discordapp.net/attachments/807985513990586378/911311376352411699/unknown.png

Fixed in latest


ID field - Abnormal behavior

When you generate a model, if you delete the id of a component and close the panel, and then you move to another component, then the component whose id is deleted is no longer clickable or editable. If afterwards you delete the id of another component, the second time the framework regenerates a correct id and manages the cancellation of the ID (the component is still clickable and modifiable).
id_bug.zip

Fixed in almost-joint
Related https://github.com/B3rn475/almostjs-joint/commit/bd4f685434274104b5d998ea25964a6c5bd9e804

Problem correctly solved.


Avalonia 0.9.0 With Corert Takes so long To Compile

hello guys this is not really an issue but i wanted to post it in here to hear your thoughts.
I'm using Corert with 'Avalonia latest Released Build' and all were good till u guys Released the 0.9.0 V Now my app Takes so much Time To Compile 'I had to Give Up after more than 2 Hours' and this was an issue with every Nightly Build and Now I'm Facing it with he latest Released 0.9.0 the 0.8.3 and before was all good, so why and what's changed in this new Released is there anyway to Update 0.8.3 to the latest version with the same Results like Earlier Releases?

It's most likely a CoreRT issue. We haven't added anything that would prevent an AOT compiler from compiling the code. An issue in corert repo with a simple repro might be a better way to address this.

https://github.com/dotnet/corert/issues/7920

It's most likely a CoreRT issue. We haven't added anything that would prevent an AOT compiler from compiling the code. An issue in corert repo with a simple repro might be a better way to address this.

Can You please Update System.Reactive to the Version 4.2.2 or 4.3.2 to Fix this issue
https://github.com/dotnet/reactive/pull/1116
https://github.com/dotnet/corert/issues/7920

Can You please Update System.Reactive to the Version 4.2.2 or 4.3.2 to Fix this issue
https://github.com/dotnet/reactive/pull/1116
https://github.com/dotnet/corert/issues/7920

I still seem to be running into this even with System.Reactive 4.3.2.
It's compiling methods like these and it's taking absolutely forever:
         Compiling [System.Reactive]System.Reactive.Concurrency.DefaultScheduler+LongRunning.ScheduleLongRunning<ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`2<__Canon,__Canon>>>>>>>>>>>>>>>>>>(ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`2<__Canon,__Canon>>>>>>>>>>>>>>>>>,Action`2<ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`3<__Canon,__Canon,ValueTuple`2<__Canon,__Canon>>>>>>>>>>>>>>>>>,ICancelable>)...

Finally I got the solution, though it's a bit complex.
It uses RestorePackagesWithLockFile to force project using a nightly build of System.Reactive, and disables RootAllApplicationAssemblies to avoid https://github.com/dotnet/corert/issues/3460.
Sample project:
AvaloniaApp.zip

Does anyone have an estimate on how long building a default template app with CoreRT shoudld take? I'm using 9.9 but still seem to be having problems building. I'm not getting past "Generative native code"

Does anyone have an estimate on how long building a default template app with CoreRT shoudld take? I'm using 9.9 but still seem to be having problems building. I'm not getting past "Generative native code"

I'm using the same Version and it takes at maximum 5 Min just install System.Reactive Package the latest version to Your Project and it should Compile Successfully

@Shadow4walker  it was definitely the System.Reactive reference, so now I can compile, but now I'm getting a linking error:
Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'libAvaloniaNative': The specified module could not be found

The libAvaloniaNative.dylib file is in the same directory as the executable any ideas?

@phillvancejr Did you copy native dlls to the output directory?

@hez2010 yes

@phillvancejr I cannot repro your issue.
Here's an example project:
AvaTest.zip

Thank you @hez2010 I'll check this out, thanks for taking the time to try to help!


Thank you for your answer!

          Thank you for your answer!

I understand that the decoding is not required for the applications you're interested in, but I would be interested in working in this latent space, for instance if I encode a molecule and slightly modify the resulting embedding would it be possible to decode it and get another (valid) molecule?
Originally posted by @htalibart in https://github.com/chao1224/GraphMVP/issues/17#issuecomment-1564815509

Hi @HICUELA,
We actually tried this in another paper called GraphCG. The answer is yes, though the latent space is on the pretrained HierVAE, not on pretrained GraphMVP.


walker() function corrupts tree

Hello,
I have the following problem. I want to walk through a tree and give all nodes with the key equal "key" a new increasing number (starting at 100). But after walker() function the tree is corrupted:
$tree = '{"key":"root_1","title":"root","children":[{"title": "Node 1", "key": "1"},{"key":"2","title":"Folder 2","children":[{"key":"3","title":"Node 2.1"},{"key":"4","title":"Node 2.2"}]}]}';
$tree = json_decode($tree, true);
print_r($tree);

$counter = 100;
$treewalker = new TreeWalker([]);
$treewalker->walker($tree, function(&$tree, $key, &$value) use (&$counter) {
  if ($key == "key") {
    $value = $counter++;
  }
});
print_r($tree);

The code above has the following output:
Array
(
    [key] => root_1
    [title] => root
    [children] => Array
        (
            [0] => Array
                (
                    [title] => Node 1
                    [key] => 1
                )

            [1] => Array
                (
                    [key] => 2
                    [title] => Folder 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [key] => 3
                                    [title] => Node 2.1
                                )

                            [1] => Array
                                (
                                    [key] => 4
                                    [title] => Node 2.2
                                )

                        )

                )

        )

)
Array
(
    [key] => 100
    [title] => root
    [children] => Array
        (
            [0] => 101
            [1] => Array
                (
                    [key] => 102
                    [title] => Folder 2
                    [children] => Array
                        (
                            [0] => 103
                            [1] => Array
                                (
                                    [key] => 104
                                    [title] => Node 2.2
                                )

                        )

                )

        )

)

Could you please look into this issue?
I use PHP 5.6.24 and the latest Treewalker.php (17.02.2018)
Best regards,
Mario

I debugged myself with Brackets and XDebug and found out the following:
The condition "if ($key == "key")" is also true if the $key is 0 ??? When I use "===" instead of "==" then it works!
So, I think you can close this issue.

Hi @SuperMario77 , I did some tests here and found a very interesting explanation on stackoverflow.com ,
For example: ("ABC" == 0) -> true , but why?
"Evaluates true because "ABC" is converted to integer and becomes 0 then it is compared to 0."
To skip this problem use strict comparison.
SuperMario77, Thanks for opening this issue, feel free to collaborate.


[REF] Improve checkpointing class's name, define preliminary API

Renames CheckpointHandler into Checkpointer.
It's shorter and less prone to being confused with other 'handler's (e.g. signal handlers).

LGTM. #2 Will need to be refactored to sit on top of these changes.


Fix #119 - pluralization rules for es

Fixes #119, only for Spanish, as I'm not sure about French and others.

Can you please write tests for this? We already have it broken, we should fix it for real with tests so that we don't break it again.
I can help with the French.
I think we should refactor Fr into something else that's more generic or copy the implementation into Es, it's weird that Es uses Fr.


update cilium runtime image with ubuntu 18.04

Summary of changes:
update cilium runtime image. See commits for more details

This change is

test-me-please

test-me-please

test-me-please

The previous build was the VXLAN flake, already being looked at https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/3840/

test-me-please

The previous build wast the GENEVE flake https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/3847/

policy across namespaces https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/3854/

test-me-please


Figure out a way to get to the admin panel

We've had some trouble getting admin rights for<EMAIL_ADDRESS>

I just created a superuser account for that email address. You should be able to do a password reset to get access to it.

Works as a charm


More troubleshooting tips please - Dynamics 365 - ADD-IN ERROR

What are the steps to resolve the problem.
ADD-IN ERROR:
This add-in could not be started.  Close this dialog to ignore the problem or click "Restart" to try again.

[Enter feedback here]

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

ID: b4bb8dcf-9211-591e-4ddc-a82ba53b2807
Version Independent ID: 4b501c46-bd2e-457d-c891-2ebea3e44967
Content: Deploy Dynamics 365 App for Outlook
Content Source: ce/outlook-app/deploy-dynamics-365-app-for-outlook.md
Service: crm-online
GitHub Login: @mduelae
Microsoft Alias: mkaur

Thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here.
To contact Support, consider one of the options described here: https://docs.microsoft.com/dynamics365/get-started/support/
Closing this issue


Implement the observation processing determination methods in all mission classes

These methods use detailed observation information that might only become available after the initial processing steps to determine whether a particular observation-instrument-subexposure should be processed for scientific use.
Can't implement these for Chandra/NuSTAR right now because I haven't started the processing work yet.
@jessicapilling  we'll need to do this for eROSITA as well once all of this is in master, though again just a not implemented error at first.
XMMPointed I am writing properly now, as that is what inspired this function. It is somewhat more complicated than I expect most of the other missions to be, as we can download data that are taken with filter CalClosed, and sub-exposures exist, and can be diagnostic rather than scientific - stuff like that.

Incidentally the method is called check_process_obs


Support netbsd-amd64

title self explainatory

We are looking to integrate more architectures with Goreleaser: in particular see this PR and v0.0.4.
I am checking whether Goreleaser supports netbds too (if you have any pointer feel free to suggest).

Added in v0.0.6

Thanks, working now!


Saving in Download folder gives error

https://github.com/user-attachments/assets/10574e68-aac2-4f75-bc57-cebd149106fe

Fixed


updated NFS server configuration on icub-server-laptop

Hi @mbrunettini
Thanks for the fix 👍🏻
Merged ✔
I've seen that your fork has somehow diverged. This happens if you don't make a fresh fork for the current modifications or if you don't rebase it.
The quickest thing is that after the merge of the PR you delete your fork and start over from scratch for the next contribution.

I will, thanks!


Mean/var -> Beta moment match can happen in the log-domain

No need to calculate betaln and convert to linear just to pass into _meanVarToBeta when the latter can operate in the log-domain. Just need to use expm1.

No can do, expm1 is exp(x)-1, but we need 1-exp(x).

Actually, we can do this. Simplifying the expressions for alpha and beta from the first two moments: letting m_1 = x_1/y and m_2 = x_2/y and simplifying on Wolfram Alpha (x_1/y)*((x_1/y)*(1-(x_1/y))/(x_2/y - (x_1/y)^2)-1) for alpha and (1-x_1/y)*((x_1/y)*(1-(x_1/y))/(x_2/y - (x_1/y)^2)-1) for beta yields

alpha = (x1-x2)/(x1**2 - x2 * y) * x1
beta = (x1-x2)/(x1**2 - x2 * y) * (x1-y)

which we can probably use to some numerical advantage.

Closed this because Ebisu v3 is moving away from Beta priors on recall to Gamma priors on half-life.


Fix number in Kubernetes page

Checklist

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

@Naarcha-AWS I think this does not have any changes except for the added spaces. Could you delete the spaces and verify?

@kolchfa-aws: Adding the spaces fixes the numbering on the list. Instead of resetting, the numbering on the list continues from line 64.


mplement streamhandlers, simplifies I/OHandler interface

This change adds streamhandlers which can be use by programs which import
zdns who need other types of input/output handlers beyond the pipes and
disk-files provided by the filehandlers.

"New" constructors are provided for the File and Stream handler
implementations.  This allows them to keep their filepath (or
reader/writer) private, while also allowing them to be created by
packages which import the handlers.

The {Input,Output}Handler interfaces are simplified, the Inititalize
method is removed (as are the calls to it in lookup).  This method
wasn't being used by the only existing implementation beyond as a way to
pass the filename to the Handler implementation.  The "New" constructors
fulfill this requirement in a way which is (hopefully) more transparent
and easier to use.

The "file" package is subsumed by the "iohandlers" package, which
provides the two implementations.

zdns/main.go is modified to use the File{In,Out}putHandlers

[fixes #209]

Here's another approach at #209.  This one actually provides the streamhandlers alongside the filehandlers.  This approach is built on the PR in #210, so you can consider it a follow-on.

One further change, which I considered but didn't implement here, would be to have the File{In,Out}putHandler embed the Stream{In,Out}putHandler and then simply try to open the filepath on some call to New.


update template queries in grafana and README

Thanks! This LGTM -- just going to wait for pull request #2 since this pull request refers to the changes you made there.


Have all server requests going through ServerRequests model

i completely forgot i'd made this. it simplifies the code for getting the json data i need. it builds the url and returns the associated array tree.

ok ServerRequests is a model. it's supposed to be logging the latency of requests. but it's not.

what the absolute hell?! it's saying that columns don't exist that most 10000% do exist

ok it's logging the requests to track latency

i think i got most of the ones in NullHub going through the ServerRequests and logging the request times.

yeah i think this is done for this repo at least... i need to do it for the plugins.... but i should add it as issues for those plugins when i get around to it....


[Masthead, mega menu] md breakpoint clicking outside the menu should close menu

In both web comp & react, md breakpoint.
Expecting: clicking outside the menu on page with an overlay should close the menu.
Currently: clicking outside the menu on the overlaid page doesn't do anything.

Closing.  Consolidated this information into issue (#6676)


Underscores not allowed in Swift Testing functions

This was fixed on July 13 via https://github.com/swiftlang/swift-format/commit/1c9d74317759b240a04d1f064833189fe04394a9, but it hasn't been released yet. May I ask if there's gonna be another 600 release?

Synced to Apple’s issue tracker as rdar://141910707


feat(normalize): add jc normalize flow

Goal

[x] Adds the jc normalize command to normalize a flow before deployment.

This PR also checks if a flow is normalized when jc deploy is called before a flow has been normalized.

[ ] Run Integration tests GHA manually & comment the link.

@jina-ai/team-wolf

In this PR I am also simplifying the _get_post_params() logic. See screenshots below.
Before

After

Running jc normalize <path>

Running jc deploy <path>


After creating a mirror, "mirror of..." does not show the repo URL

Gitea version (or commit ref): 1.8.1
Git version: 2.5.5
Operating system: CentOS 7 x86_64
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[X] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[X] No
[ ] Not relevant

Log gist:

Description
With v1.8.1, after creating a mirror, "mirror of..." does not show the repo URL. I tried the same on try.gitea.io and "mirror of..." does show the repo URL. So I guess this has already been fixed in master.
...
Screenshots

Hi could you check that the git on your Gitea server has git remote get-url? I'm not certain that we didn't anything special to fix this on master.

I experienced the same behavior as OP with Gitea 1.8.1 and git 2.1.4.
Gitea 1.8.2 fixed it. Issue was get-url #7065 #7076 as @zeripath assumed.


Unpublished versions 10.2.4 and 11.2.4

According to the issue
https://github.com/microsoft/mssql-jdbc/issues/2103
there were two other development tickets defined:

https://github.com/microsoft/mssql-jdbc/pull/2106
https://github.com/microsoft/mssql-jdbc/pull/2107
and two appropriate milestones were defined:
https://github.com/microsoft/mssql-jdbc/milestone/64
https://github.com/microsoft/mssql-jdbc/milestone/65
All of them are closed now with comments that the issue is fixed.
So, everything around this issue looks finished except the one problem:
These two versions were never published. There are no maven artifacts and no git tags in this github repo.
Could you please publish these two missing versions and make them available for developers?

Many thanks for considering my request.

We'll take another look at this, but I believe the two hotfixes were not released because they were found to not be needed. A user having the above issues with 10.2.3/11.2.3 could use either 10.2.2/11.2.2 respectively, or use the later stable release in 12.2.0. We'll look again to see if these additional hotfixes are needed.

@OleksandrShkurat we're not able to release any hotfixes at the moment, but our recommendation is the above, either use a downgraded (10.2.2,11.2.2) or upgraded (12.2.0+) version of the driver, and the issue presented in 10.2.3/11.2.3 is no longer present.

Please let us know if this solution works for you. I noticed you also had an issue here (https://github.com/spring-projects/spring-boot/issues/37794). If Spring Boot is using 10.2.3/11.2.3 then they will also need to follow the same advice and update the driver being referenced.

Please let us know if this solution works for you. I noticed you also had an issue here (spring-projects/spring-boot#37794). If Spring Boot is using 10.2.3/11.2.3 then they will also need to follow the same advice and update the driver being referenced.

We've overridden mssql-jdbc version directly in our project to 12.4.1 and it looks like it works.
However, the Spring-Boot team has a strategy of automatically upgrading 3rd-party dependencies inside some predefined ranges. So, for Spring-Boot 3.1.x there is a predefined version range for mssql-jdbc - 11.2.x. And version 12.x will be used since Spring-Boot 3.2.0
It means that almost every single Spring-Boot based project working in Azure is affected by this issue and is forced to redefine mssql-jdbc driver manually.
I don't think the Spring-Boot team will redefine this rule for currently going 3.1.x lineup.
At the same time, it sounds strange that hotfix releases are impossible on your side, taking into account that in fact the fix was implemented and, moreover, an appropriate issue has the comment that 11.2.4 release is created for it.

Glad to hear there is a solution.

It means that almost every single Spring-Boot based project working in Azure is affected by this issue and is forced to redefine mssql-jdbc driver manually.

I see how this may be an issue. We'll take another look once we're able to move out releases again, but I believe the decision from earlier, that a hotfix is not needed here because, for most cases, there is a reasonable alternative, would stand.

At the same time, it sounds strange that hotfix releases are impossible on your side

A hotfix is not possible in the immediate future as we're currently experiencing a blocker. Once this is resolved, we'll take another look whether this is something we want to re-address.
For the time being, since there is a solution, we will close this as resolved. If we do indeed decide to release an updated hotfix 10.2.4/11.2.4, we'll update this issue.

Thank you for the response

I don't think the Spring-Boot team will redefine this rule for currently going 3.1.x lineup.

I don’t think this rule makes sense for third party artifacts which have a different lifecycle policy or do not follow semver. I mean it’s ok to limit automatic bumps of dependency versions to minor versions, but as soon as there are real requests for newer (and compatible versions), they should have a manual process.
Having said that, is there a lifecycle defined for older major versions and how often they get updated, i did not notice many „branches“ before (and I think that’s reasonable)

Having said that, is there a lifecycle defined in mssql-JDBC (or Ms commercial) for older major versions and how often they get updated

Generally if there has been several stable releases since the release in question, additional hotfixes are unlikely to be released. In this case, since 10.2.3 and 11.2.3, there has been stable release 12.2.0, 12.4.0, and 12.4.1. We also take a look on a case-by-case basis, to see if the issue warrants an exception. We decided an exception was not warranted in this case, as there is a reasonable alternative through updating.


Support form submit via ENTER/RETURN key

In general in modern web-UX there is a lack of keyboard shortcut support.
LubeLogger is not bad - it supports TABing, and pressing buttons with SPACE etc.  this is great (!)
BUT unfortunately it's missing support for SUBMIT FORM using ENTER / RETURN
Example:
In the Gas -> Increment Last Reported Odometer Reading "window" there is only one input field.
After entering a value it should be submittable via pressing the ENTER or RETURN key.
As of now one have to either use the mouse to click on the Add button OR use TAB (nice) to get focus on the Add button and THEN press [SPACE, ENTER or RETURN].
I really like to use the "old native application style" (I recall it as long back as Apples system 6 and 7 in the late 80'ies ) where there is always one button visually identifiable as the one being used when hitting the ENTER / RETURN key.
LubeLogger uses the same visual design (a special color is used for the "submit" action, but lacks the keyboard support
Here the Quit is the action being performed when pressing ENTER or RETURN

Atlassian's JIRA https://jira.atlassian.com/secure/ViewKeyboardShortcuts!default.jspa  is actually a very cool example of a web GUI that have keyboard shortcuts as a "first class citizen".

Next release, you will be able to use the enter key to submit on the popups(i.e.: increment last reported odometer window), but for the other form fields(Odometer, Description, Cost, Tags, Notes, etc) you will need to use CTRL+Enter to submit the form.

Released.


Update README

Updating README for changes in features of sim_gps_data and gps_stats_main functions.

Also, could you make sure that the instructions can actually be followed as written and without errors by testing them?


Release v198

https://github.com/heroku/heroku-buildpack-python/compare/v197...9982aa36cb58c9b4fdd4ed7f1efd517ad19ceeeb
GUS-W-9833138.

$ make publish
Deploy as version: v198 [y/n]? y

Tagging commit 5f75b3f57f529dcb7173fc76122f1596c7093ec2 with v198...
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/heroku/heroku-buildpack-python
 * [new tag]         v198 -> v198

Publishing to the buildpack registry...
Two-factor code: ********************************************
Publishing buildpack heroku/python... done
Publishing buildpack was successful

Version  Released At               Status
───────  ────────────────────────  ─────────
198      2021-08-30T22:44:58.846Z  published

https://devcenter.heroku.com/articles/python-support#supported-runtimes
https://devcenter.heroku.com/changelog-items/2261


Update Scala to 2.12.13 / 2.13.6

Superseded by https://github.com/almond-sh/almond/pull/941 / https://github.com/almond-sh/almond/pull/905.


Remove etcd from slurmd operator

Description
This pull request removes all etcd-related code from the the slurmd operator and replaces it with a "brute start" mechanism using systemd and a Python wrapper. Instead of using etcd to check if the slurmd node has been accounted for by the slurmctld server, the slurmd operator now uses a Python wrapper to try and start slurmd over the course of 15 minutes. If slurmd fails to start within 15 minutes, the Python wrapper fails. Here's the overrides that we had to apply to systemd and the Python wrapper to make the new start mechanism work:
/etc/systemd/system/slurmd.service.d/override.conf
[Unit]
ConditionPathExists=

[Service]
Type=forking
ExecStart=
ExecStart=/usr/bin/python3 {__file__}  # __file__ resolves to absolute path of utils.slurmd
LimitMEMLOCK=infinity
LimitNOFILE=1048576
TimeoutSec=900

/etc/default/slurmd
SLURMD_OPTIONS="--conf-server {host}:{port}"
PYTHONPATH={Path.cwd() / "lib"}

The Python wrapper itself
def _start_slurmd_service() -> None:
    """Start the slurmd service on machine.

    This method is invoked when the slurmd utils module is executed as a runnable
    script. The method wraps the command traditionally executed by systemd when
    the slurmd service is started with `systemctl start slurmd`. The difference
    is that this method attempts to start the slurmd daemon over the course of
    15 minutes since the slurm.conf file may not be ready on the slurmctld server.
    """
    # Environment variables must be expanded here because the Popen
    # command will fail to execute if the inline environment variable
    # has a whitespace-delimited value. $SLURMD_OPTIONS is white-space
    # delimited, so it is expanded here to simplify the call to Popen.
    slurmd_cmd = shlex.split(os.path.expandvars("/usr/sbin/slurmd -D -s $SLURMD_OPTIONS"))

    # Try to start slurmd with 10 seconds in-between each attempt. Timeout after 15 minutes.
    end_time = datetime.datetime.now() + datetime.timedelta(minutes=15)
    while True:
        if datetime.datetime.now() >= end_time:
            _logger.error("Failed to start slurmd daemon. Timeout exceeded")
            sys.exit(1)
        else:
            try:
                process = subprocess.Popen(slurmd_cmd, env=os.environ)
                # There needs to be a slight delay here to give slurmd
                # enough time to fail if configuration file is not ready yet.
                # If timeout is reached, this means the slurmd is running.
                # If exit code is returned, this means slurmd failed and is not running.
                process.wait(timeout=30)
            except subprocess.TimeoutExpired:
                _logger.info("Slurmd successfully started")
                break

How was the code tested?
The unit tests and integration tests were run on both my Ubuntu 22.04 LTS workstation and on a private OpenStack cloud.
Miscellaneous
The added hpc_libs module is temporary for the time being as we figure out where the juju_systemd_notices charm library should be located upstream. Implementation of the systemd notices charm library is also subject to potentially change in the future.
Checklist

[x] I am the author of these changes, or I have the rights to submit them.
[x] I have added the relevant changes to the README and/or documentation.
[x] I have self reviewed my own code.
[ ] All requested changes and/or review comments have been resolved.

@jaimesouza I'll see what's going on with the node-configured action. Perhaps something is missing in the integration data bag that was removed when we took etcd out.
Re. the active status message, generally nothing is shown in the status message if the charm is in the desired state (e.g. slurmd is running and communicating with slurmctld operator). I find this helps to reduce visual clutter in the juju status ... window and enables to focus on the details of other charms in the cluster. The slurmd operator being marked as active should indicate the slurmd is up and running. Let me know your thoughts on this!

Re. the active status message, generally nothing is shown in the status message if the charm is in the desired state (e.g. slurmd is running and communicating with slurmctld operator). I find this helps to reduce visual clutter in the juju status ... window and enables to focus on the details of other charms in the cluster. The slurmd operator being marked as active should indicate the slurmd is up and running. Let me know your thoughts on this!

@NucciTheBoss It makes sense indeed. So, we should remove the message from the other operators (slurmdbd, slurmctld and slurmrestd) also, to make them consistent.

Re. the active status message, generally nothing is shown in the status message if the charm is in the desired state (e.g. slurmd is running and communicating with slurmctld operator). I find this helps to reduce visual clutter in the juju status ... window and enables to focus on the details of other charms in the cluster. The slurmd operator being marked as active should indicate the slurmd is up and running. Let me know your thoughts on this!

@NucciTheBoss It makes sense indeed. So, we should remove the message from the other operators (slurmdbd, slurmctld and slurmrestd) also, to make them consistent.

Sounds good. I can open these as separate pull requests.

Okay @wolsen - this latest batch of commits should address your comments. I agree that the local charm testing for the integration tests should be added in a separate pull request. It will be a nice feature to have, especially if we need to make incompatible changes between SLURM operators.


[CTRL-2617] Port the Batch/Replace translations dialogs to Eto.Forms

Update the Batch Replace and Batch Translate docs to correspond the latest Studio Pro UI.
Related Work Items: #CTRL-2617

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Is there any way to use embedded resources in reflection-free mode?

I'm trying to embed some binary files in a library, but loading the resources crashes the program when compiled in reflection-free mode, specifically when instantiating the ResourceManager.
Is there a reflection-free workaround for this?

There is no workaround. At some point I would like to upgrade the reflection free mode to be able to do more things (generate reflection data for types, enums, and assemblies only - no methods or general fields). It should have very similar characteristics to the current reflection-free mode (can't really do much, and the overhead is minimal), but it would drastically improve the quality of life around APIs like NativeLibrary (that requires Assembly parameters), enums (that currently don't know how to format/parse named values/flags) and the like. Manifest resources would be fixed with that too.

I'm currently trying to avoid the resources issue by using something like bin2coff, then creating a small c library that links the resulting .obj, and finally statically linking the resulting .lib and DllImporting it.


Discuss approach for implementing design system changes for front-end

Notes from our discussion:

Increasing the font size of the smallest font has a cascading impact; all styles will likely need to be enlarged in order to maintain the established text size hierarchy (subheadings, headings, etc.)

Further, line-height will likely need to be increased to stay consistent (and legible)

Michelly and Kevin will consult with the FDS Design System team about mapping out the updated font sizes and line heights per style class, so we can then pass on the updated carbon design system tokens for Craig and Mateus to apply to the code

Manual work involved on the code side: Updating the style used for field labels to be larger than helper text


Upgrade for Django 3 deprecations

Fixes #375
Fixes #376

@rob-deutsch thanks man

@rob-deutsch Would you mind adding django3 to travis conf, so we can make sure tests are passing for django3 ?

@rob-deutsch What do think about adding django 3 to travis config ?

@Anton-Shutik unfortunately I'm not familiar with Travis, and I don't have capacity this week to learn it

@rob-deutsch  It should pretty easy, just add one more line with django 3

@rob-deutsch Could you take a look at the conflict on this please?
I'm looking at getting bits merged ready for a new release.


Status of the project

Hi @WilHall, I'm just looking at using gretel in a new project and just wanted to check in on whether you're still actively maintaining it? Thanks for merging in my PR from ages ago. For some reason I don't think I noticed that it happened :)

Hey all,
Thank you so much for your patience. @MrShemek and I are starting the migration of issues and development to WilHall/gretel - so please tune in there, and let us know if you'd like to help out :)


Mod Request: "I'm Walking Here" @ https://www.nexusmods.com/skyrimspecialedition/mods/27742

https://www.nexusmods.com/skyrimspecialedition/mods/27742
Makes it possible to walk through allies (summoned Minions, Followers) and optionally disables their collision comments, making for far less annoying allies. Quickly became a must for me, and is thankfully quite easy to add on to a pack.

The next update will feature this. It does effectively the same. 👌
https://www.nexusmods.com/skyrimspecialedition/mods/35925


Add WakaTime integration to setup instructions

I'm noticing people aren't aware of the WakaTime integration that sends data to both Wakapi and WakaTime simultaneously. When they find out, there's already some inconsistency between the two. Should instructions for syncing data to WakaTime be added to the setup instructions?

Sure, I'll add a subtle hint to let new users know that feature exists.

@alanhamlett Would you mind sharing how can I achieve this? I was looking for this exact solution but couldn't find any. As far as I know, we can have one URL (api_url) in the wakatime.cfg file.

You can configure Wakapi to forward all incoming heartbeats to WakaTime as well.

That is an awesome feature to have, thank you!

I think its better to add default wakatime api url in the input box as placeholder or perhaps on the left side. I had to spend a lot of time finding that out. It was in the docs of wakatime but I didnt know where to look immediately and then stumbled here where muety posted the screenshot.

I think its better to add default wakatime api url in the input box as placeholder

What do you mean by that?


Allow listing should not show soulBounded items

I think we dont need to fix the tests.
They will be fixed in other branches.
I just changed a script in this branch and is already checked with the go task


Improve error handling for GetCredentialStateForProvider

The GetCredentialStateForProvider swallows an error since it was originally written for a codepath where the error was not important. Since then, it is used in a second place where the error is important. I'm not sure if it's possible for the error to get triggered in practice, but I managed to trigger the error path while writing unit tests, which led to a strange and hard to debug error happening after the error was skipped over.
Refactor this function to return an error. Ignore it in the call site where it should be ignored, and react to it where it is significant. As a nice side effect of this change, the control flow of GetCredentialStateForProvider is significantly simplified.
Some unrelated unit test improvements from an ongoing development branch have also been added to this branch.
Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
Change Type
Mark the type of change your PR introduces:

[x] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[x] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[x] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 50.215% (-0.06%) from 50.276%
when pulling ac1165d06fb035d640a02e9875e7dc13d699f621 on return-error-cred-state
into 006c6fa04075c8f269ade750116a4e17fc6da9d3 on main.


Docs for seperate_effects and different_effects

Need to add documentation on what we mean by seperate_effects and different_effects when coding test_heterogeneity.

A separate_effects being true indicates that there are hypothesis about the effect in each of the indicated subgroups.
A different_effects being true indicates that there is a hypothesis about the effect being the same in the indicated subgroups.
Added to README in version 4f10412


Add files via upload

@sweell The file lib/domains/it/edu/icsavona3.txt is empty. Please put the name of the school there.
Also, please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@sweell You might miss my previous comment. Please react.

Thanks Philip, tonight (in Italy) I’ll try to fix
Il giorno mer 15 giu 2022 alle 11:29 Philip Torchinsky <
@.***> ha scritto:

@sweell https://github.com/sweell You might miss my previous comment.
Please react.
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/14323#issuecomment-1156231342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWVJ5ND4TV7EHZ4GEZZ5X3VPGPAFANCNFSM5X44MIWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Luigi Gambardella
Mobile +39<PHONE_NUMBER>
E-mail @.***
Webmail @.***

Hi, I've submitted the school name in the repository.
Other details following, thanks very much for your help.
Luigi

Istituto Comprensivo Savona 3 "G. Manzino"
https://www.icsavona3.edu.it/
Via Machiavelli, 4 – 17100 Savona (SV) Italy
https://www.icsavona3.edu.it/attachments/article/541/Piano della Didattica Digitale Integrata agg 1-9-2021.pdf
(Integrated digital teaching)

Attached Screenshot of the teacher inviting the student to classroom.
[image: image.png]

Il giorno lun 13 giu 2022 alle ore 18:09 Philip Torchinsky <
@.***> ha scritto:

@sweell https://github.com/sweell The file
lib/domains/it/edu/icsavona3.txt is empty. Please put the name of the
school there.
Also, please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an
IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are
submitting as an official email domain for the students.

—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/14323#issuecomment-1154111460,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWVJ5MJKG2OSBDRR7LC7W3VO5MM3ANCNFSM5X44MIWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Luigi Gambardella
Mobile +39<PHONE_NUMBER>
E-mail @.***
Webmail @.***

@sweell First stage of verification passed, official domain is icsavona3.edu.it as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@sweell Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Logo Proposal

Hi @mukeshthawani  I am a graphic designer and I would like to contribute to your good project by designing a logo for it as i have noticed it doesn't have one yet..I will be doing it as a gift for free, I just need your permission first before I begin..Hoping for your positive feedback. Thanks and best regards!

Tobaloidee

Hi @Tobaloidee
Thanks for the proposal. Sure go ahead 👍

Thank you for permitting me. Will start designing now and show you here when done Sir..

Hello @mukeshthawani  here's what i came up with...I hope you like it

Thanks Sir..im glad you liked it..I will prepare the files and make a PR with it..

Sir before i finalize it i just want to show you this option for the third version that you have chosen..you might like this, if not then its the original third version. I made a custom "T" to be uniform with the typeface

Yeah, it looks good.
Thanks
Sent with GitHawk

okay Sir..thanks for the quick response! will finalize it now and make a PR :+1:

I made a PR #17 already @mukeshthawani  Thanks so much and best regards to the project!

Merged


Please move from native to Starlark rules for external git/http repositories

From version 0.20 onwards, bazel by default will no longer support the native http and git repositories. Please switch to the Starlark versions of those rules.
For more background, see

the original announcement https://groups.google.com/d/topic/bazel-discuss/dO2MHQLwJF0/discussion

and the documentation of the incompatible changes https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#remove-native-git-repository

Once migrated, please also file an issue against http://github.com/bazelbuild/continuous-integration to reenable testing of your project as a bazel downstream project.
Thanks,
Klaus

Hi all, this flag is flipped now at bazel@HEAD and will be the default behavior of Bazel 0.20. I'll disable this project on our downstream pipeline (https://buildkite.com/bazel/bazel-with-downstream-projects-bazel/builds/537#8966c329-08a1-47d5-9fd9-90e0aa5e6423). Please fix quickly and create an issue at bazelbuild/continuous-integration to reenable. Keep in mind that we are now not catching unintentional breakages of this project in bazel@HEAD.


Require only App-Extension-Safe API

This PR includes #57 also, since I needed both ☺
I'd be happy to rebase if you want to merge that one first.
This patch adds a flag that tells Xcode that we are only using APIs that are safe to use inside an app extension. This is needed to be able to use this library inside an app extension at all, read more here:
https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html#//apple_ref/doc/uid/TP40014214-CH2-SW6

@artman rebased 👌

@artman Thank you! Would you mind tagging a new release? Maybe 5.1.0?


fix: appVersion needs prefix

Our Chart uses appVersion as image tag. The images we produce have a v prefix, this PR aligns that. appVersion needn't be semver (docs) / cert-manager does that, too.

/approve

/merge


Fix thread safety issue in RPCTransaction.responseCollectors

What is the goal of this PR?
To fix intermittent test failures (specifically in our TransactionTest) caused by RPCTransaction's ResponseCollector set being manipulated in a non-thread-safe way.
What are the changes implemented in this PR?

Atomically modify the ResponseCollector map in RPCTransaction (enforced using the AtomicBoolean transactionWasClosed)
Don't call close() after commit

Currently debugging the Grabl failures. Builds fail intermittently because of an issue in RBE; tests fail intermittently which appears to be due to the CI server holding too many network connections open concurrently (including the gRPC connections to the Grakn Servers run in the behaviour tests)

This PR fixes #181 , #186 and #187 .


.env.example shows as modified on new blank cpa

Describe the Bug
.env.example shows as modified on new blank project w/ cpa.
pnpx create-payload-app@latest -t blank
Something changed in how we modify the .env.example file. It is likely done in the wrong order (after the initial commit).

Link to the code that reproduces this issue
https://github.com/payloadcms/payload/tree/main/templates/blank
Reproduction Steps

pnpx create-payload-app@latest -t blank
git status

Which area(s) are affected? (Select all that apply)
area: core
Environment Info
Binaries:
  Node: 22.6.0
  npm: 10.8.2
  Yarn: 1.22.19
  pnpm: 9.7.1
Relevant Packages:
  payload: 3.9.0
  next: 15.1.0

Likely related to  #9757 and #10027


30 comment on posts

Let me know if this works. I added an extra commit to this because my previous pull request was missing a comma in the post/models.py and it was an important comma.


Update to storage console 1.24.0

@Halama I suppose I can just straight merge this and then register it in the 3 regions, but thought I may check with you anyways:)


Include a playground script for generating one off certificates and certificate chains

@RufusJWB I think this might go some ways towards what you were looking for with regard to getting contributors an easier way to generate test data.
The intent of this script is that it behave more like a Python script than a Go CLI program. That is, I don't think that we should be attempting some sort of generic CLI tool or service here; that already exists in OpenSSL and our version would only be even more confusing. Rather, I'm thinking that this can just be something that contributors can edit, go run, and get their strangely specific certs generated as one-offs (at least, this is how I was using it).
That is:

Here is a working sample of the Go standard library. Here is the x509.Certificate type with all of its fields laid bare to you. Here are some functions for building a signed certificate chain. And here is a function that gets you the pretty string output that you can just copy into testdata/myTestCert.pem.

The idea is that contributors can hop to the fully expanding constructor list for each x509.Certificate and immediately see what is available to them. The minutiae of how to get a properly signed chained is largely handled for them, and even if they have to do something different I believe this serves as a workable sample that someone new to the API can easily figure out and bend to their will (after all, just seeing a working sample goes a long ways).
Once we merge the custom code linter then I think it would be a good idea to write a lint that hashes this script and makes sure that people don't accidentally commit their local changes.
This addresses issue #568

@sleevi however your wisdom is always appreciated :)
I suppose that this would be more of a user acceptance test from contributors outside of the zmap org, especially those who do not typically write Go. Unfortunately those are exactly the people who cannot leave green/red checkmarks on a review, so I kinda grasped at straws for names on this one.

I think this is fine to merge. I have a somewhat similar view as Sleevi, but there's really no harm and it might indeed be useful to someone, so I don't see much reason not to. I'll leave final decision to @cpu since I think he might have the the strongest opinions.

I'm still mildly unconvinced that there's an audience that is ready to contribute to ZLint but not ready to figure out x509 certificate generation but I also recognize that this could be a nice time-saver for folks and seems like a reasonable template to start from.
It might be nice if we could add a default subject prefix or something to the certificate template that might let us see down the road how many unit tests are added to the tree that use certs generated by this script. If it doesn't see any use by contributors after a year or two we could revisit.

I think this is fine to merge. I have a somewhat similar view as Sleevi, but there's really no harm and it might indeed be useful to someone, so I don't see much reason not to. I'll leave final decision to @cpu since I think he might have the the strongest opinions.

I'm still mildly unconvinced that there's an audience that is ready to contribute to ZLint but not ready to figure out x509 certificate generation but I also recognize that this could be a nice time-saver for folks and seems like a reasonable template to start from.

Well, when I started to write the Lint for https://github.com/zmap/zlint/issues/471 it took me a day or so to find out, how exactly to configure OpenSSL to create exactly the certificates I needed for that Lint. Of course, there are plenty of examples of how to use OpenSSL to generate certificates but to tweak these examples into the exact configuration needed was not really straightforward. Therefore I'm convinced there are people out there with sufficient know-how about PKI to help writing Lints but who never needed to use OpenSSL to create certificates.

@RufusJWB Thanks for weighing in, I appreciate your input here as an external contributor. I'm convinced we should merge this PR (I'll defer doing that to @christopher-henderson so they can sort through my review feedback if interested).
RE your experience, I think my core takeaway is that we shouldn't be encouraging using OpenSSL, not that we need too much in the way of extra resources. IME OpenSSL is a particularly bad tool for most everything, certificate generation included.
Either way I hope the Go based example will make for an easier experience in the future!

RE your experience, I think my core takeaway is that we shouldn't be encouraging using OpenSSL, not that we need too much in the way of extra resources. IME OpenSSL is a particularly bad tool for most everything, certificate generation included.

OpenSSL seems to be PKI equivalent to editing a text in vi. If you are able to master it, you are the cool hero of the neighborhood but for everybody else, it is just scaring

@cpu mostly I moved the documentation to CONTRIBUTING.md and put the command itself under v3/cmd/genTestCerts because...well...it's command. It seems reasonable to me, at least.
Perhaps more interestingly I added a new code lint to v3/integration/lints/lints/not_commiting_genTestCerts.go which asserts that SHA256 of this file. That is, if we are going to encourage others and ourselves to edit this file to generate arbitrary test data, then it would be nice if we didn't have to hunt down accidental commits to this file on every PR.

Gentle ping to @cpu and @robplee (I think the most pressing issue was location, for which I moved the help documentation to CONTRIBUTING.md and the actual command to v3/cmd/genTestCerts/genTestCerts.go)

@christopher-henderson Thanks for the ping - will take a look shortly.

Hi @christopher-henderson, I am sorry to make such a small comment when you're so close to merging but this filename should also be sorted to contain the regulation number of 't's in 'committing' v3/integration/lints/lints/not_commiting_genTestCerts.go

lol no worries @robplee cleanliness is next to godliness ;)


verbose option not working with new git version

When trying to run librarian-puppet with the --verbose option, I get this output:
[Librarian] Git: /usr/bin/git
error: unknown option `silent'
usage: git version [<options>]

    --build-options       also print build options

When I run git version, I get this output:
git version 2.14.1

When I run git version --silent, I get the same error as the librarian-puppet run:
$ git version --silent
error: unknown option `silent'
usage: git version [<options>]

    --build-options       also print build options

I've tested with git version 2.13.3 and that still works fine. So it seems the --silent was removed from git 2.14.x
$ git version --silent
git version 2.13.3

Moved to https://github.com/voxpupuli/librarian-puppet


Improve docs for using bindings.azure.eventgrid Secure WebHook Event Delivery

Following the Breaking Changes mentioned in https://github.com/dapr/components-contrib/issues/2813, I have spent the last 3 days trying to work out why Dapr and Azure would not play nicely and create my WebHook Event Subscription when upgrading from Dapr 1.9.0 to anything above 1.10.x (when the Event Grid Component changed to require Secure WebHook Event Delivery.
The current documentation https://v1-10.docs.dapr.io/reference/components-reference/supported-bindings/eventgrid/#azure-ad-credentials is very good, but it wasn't able to get this fully working in my environment.
My environment:

Kubernetes (Azure AKS)
ingress-nginx (Helm chart 4.8.1 with Dapr Annotations)
Dapr 1.11.4
ASP.NET Core 6.0 API

Issue 1 - Bad Gateway / Service Unavailable
I found myself constantly running into this issue where Azure isn't able to hit the Web Hook URL as it doesn't seem to be responding during the provisioning stage. However it responds fine when I test it manually shortly after checking the Dapr and Azure logs.
After checking on the NGINX logs, I saw that I was often getting a 503 response from the Dapr sidecar when hitting the HTTP OPTIONS port and path.
It seems that the component is trying to create the WebHook Subscription in Azure before the Dapr sidecar is fully ready, which is why we see the HTTP 503 response.
To get around this, I simply increased the replicas in Kubernetes to ensure that there was at least one Dapr sidecar running to response.
Dapr Sidecar Log:

time="2023-10-11T22:29:31.537362452Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:34.551680101Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:34.551722502Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:38.561889738Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:40.551656377Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:40.551803279Z" level=debug msg="{ERR_HEALTH_NOT_READY dapr is not ready}" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime.http type=log ver=1.11.4time="2023-10-11T22:29:42.07166219Z" level=error msg="error reading from input binding myapplication: failed to create or update event subscription: GET https://management.azure.com/subscriptions/13c38e4f-af2e-47c6-be0e-1a5348b735b0/providers/Microsoft.EventGrid/locations/uksouth/operationsStatus/9796D3EF-F58C-4598-B948-4A15FBF11184\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: Url validation\n--------------------------------------------------------------------------------\n{\n  "id": "https://management.azure.com/subscriptions/13c38e4f-af2e-47c6-be0e-1a5348b735b0/providers/Microsoft.EventGrid/locations/uksouth/operationsStatus/9796D3EF-F58C-4598-B948-4A15FBF11184?api-version=2022-06-15\",\n  "name": "9796d3ef-f58c-4598-b948-4a15fbf11184",\n  "status": "Failed",\n  "error": {\n    "code": "Url validation",\n    "message": "Webhook validation handshake failed for https://mywebgateway.com/dapr-eventgrid/myapplication/api/events. Http OPTIONS request failed with response code ServiceUnavailable. For troublehooting, visit https://aka.ms/esvalidationcloudevent. Activity id:2c38bc14-9b23-4b35-92e7-e4adc00eb5af, timestamp: 10/11/2023 10:29:34 PM (UTC)."\n  }\n}\n--------------------------------------------------------------------------------\n" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime type=log ver=1.11.4time="2023-10-11T22:29:42.071799593Z" level=info msg="dapr initialized. Status: Running. Init Elapsed 12979ms" app_id=dapr-event-grid-test01 instance=dapr-event-grid-test01-6f645594c8-vm2pk scope=dapr.runtime type=log ver=1.11.4

Azure Logs:

{"status":"Failed","error":{"code":"ResourceOperationFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"Url validation","message":"Webhook validation handshake failed for https://mywebgateway.com/dapr-eventgrid/myapplication/api/events. Http OPTIONS request failed with response code BadGateway. For troublehooting, visit https://aka.ms/esvalidationcloudevent.

{"status":"Failed","error":{"code":"ResourceOperationFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"Url validation","message":"Webhook validation handshake failed for https://mywebgateway.com/dapr-eventgrid/myapplication/api/events. Http OPTIONS request failed with response code ServiceUnavailable. For troublehooting, visit https://aka.ms/esvalidationcloudevent.

Issue 2 - 401 Unauthorized
Once Issue 1 was resolved, and the Dapr Sidecar was responding, I started to see an Unauthorized error.
Thanks to the logging, I zoned in on the JWT token by enabling the Debug logs on NGINX to capture the value and inspect it. The iss value was https://sts.windows.net/{tenantId}/ however the component requires validation against https://login.microsoftonline.com/{tenantId}/v2.0
As configured here: https://github.com/dapr/components-contrib/blob/v1.11.4/bindings/azure/eventgrid/eventgrid.go#L52C11-L52C11
This was a side effect of creating the App Registration using Terraform and not specifying accessTokenAcceptedVersion value of 2. This is discussed further here: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/575
Thankfully, simply updating the Application Registration Manifest to specify version 2 was enough to resolve this issue.
This is also configurable on the azuread_application Terraform resource using the property requested_access_token_version in the api block.
Dapr Sidecar Log:

level=error msg="Failed to validate JWT in the incoming webhook request: "iss" not satisfied: values do not match"

Log message from Azure Event Grid:

{"status":"Failed","error":{"code":"ResourceOperationFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"Url validation","message":"Webhook validation handshake failed for https://mywebgateway.com/dapr-eventgrid/myapplication/api/events. Http OPTIONS request failed with response code Unauthorized. For troublehooting, visit https://aka.ms/esvalidationcloudevent.

One other thing to mention while reverting the changes to get the failed log messages is that when I put everything back to the correct configuration and restarted the pods, I saw the same errors again. I simply restarted the pods again and then I saw 401 Unauthorized, invalid iss. So I restarted for a second time and it created the Event Subscription...

Thank you for sharing these issues.
Yes, we had to make a fairly large breaking change to the Event Grid binding in 1.10. This was a necessity for security reasons, as in Dapr 1.9 the endpoint did not authenticate calls and anyone could have invoked that to deliver messages to your Dapr. The "correct" way to add authentication is to use Azure AD, which works great but is not the easiest to set up.
For issue 1: this seems like something we should be able to fix.
For issue 2: IIRC the default for new apps is to use version 2. This seems to be more of an issue with Terraform than Dapr. However, we can update the logs to explain that v2 must be used.

@ItalyPaleAle, thank you very much!

Closing this because we should instead rewrite the component to poll for messages (which is new in EventGrid). See: #3322


Objects not loaded after repeated put

Hi, I ran into the below problem with versions 0.4+, and
node -v: v0.10.30
The error:

node hashtable_test3.js
/home/nol/webapps/tester/hashtable_test3.js:13
item.members.push(i)
^
TypeError: Cannot call method 'push' of undefined
at Object. (/home/nol/webapps/tester/hashtable_test3.js:13:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

// File contents (test_hashtable.js)
var ht = require("hashtable")
var hash = new ht()

for (var i=0; i<10000; i++) {
  // Create id under which several members will be added
  var id = Math.round(i / (Math.random() * 100))
  var item = hash.get(id) || {
        id: id,
        members: []
      }

  item.members.push(i)
  hash.put(id, item)
}

console.log("Hash size:", hash.size())

// Finishes and returns size with<EMAIL_ADDRESS>// Breaks with<EMAIL_ADDRESS>

I'm sorry everyone, for some reason I never got emails about these new issues and pull requests, does this still happen in 0.5.2?

looks like this should still be a problem with 0.5.2, I'm so sorry. I've mostly focused on es6-native-set and es6-native-map (I used this node-hashtable code as the basis for them) since that's what we use at work, I'll merge this change and push a new version.


Fix dev-dependencies

babel-core is a peer dependency of babel-loader, so this squelches the warning.
The second commit bumps up all dep ranges to the latest version, just as a housekeeping detail.

Thanks, @taion! :D


Adding Streamlit web app and Flask API server

Adding Streamlit web app and Flask API server

go to merge


fix: tasklist auth config

Which problem does the PR fix?

closes #2523
What's in this PR?
The user task access restrictions are a boolean, but are defined as a string. To fix this, the quote pipe has been removed.

Checklist
Please make sure to follow our Contributing Guide.

Before opening the PR:

[ ] In the repo's root dir, run make go.update-golden-only.
[ ] There is no other open pull request for the same update/change.
[ ] Tests for charts are added (if needed).
[ ] In-repo documentation are updated (if needed).

After opening the PR:

[ ] Did you sign our CLA (Contributor License Agreement)? It will show once you open the PR.
[ ] Did all checks/tests pass in the PR?

@jonathanlukas Thanks for the PR :raised_hands:


feat: GL E-Ink audio

Asana task: [Mercury] Update e-ink audio
Updated audio for GL E-Ink. Subway status didn't need any changes. Header was updated because these screens show destination instead of current stop. The original Alerts widget needed audio implementation so that was added for only this screen type.
https://github.com/mbta/screens/assets/10713153/95e11b0f-d88d-447b-8127-68faeb2d54db
If testing locally, add the following to your GL E-Ink config:
"audio": {
    "days_active": [1, 2, 3, 4, 5, 6, 7],
    "daytime_start_time": "07:00:00",
    "daytime_stop_time": "21:00:00",
    "daytime_volume": 1,
    "interval_offset_seconds": 0,
    "nighttime_volume": 0.5,
    "start_time": "04:45:00",
    "stop_time": "01:45:00"
}

[ ] Tests added?

Also, definitely not in the original scope of this ticket is adding audio for subway status, but I think all we'd have to do is turn it on for this screen type. Right? If it's a one-line change, would you mind doing that here? Departures are already turned on, and I think evergreen content?

Good catch on the wrong field being used. Not really sure what I was thinking using description. Also added GlEink as a valid app for SubwayStatus readouts.


Create and test Node and ItemNode

Fleshing out API as described in #49. Starting with generic Node and a more specific ItemNode implementation.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@27845ec). Click here to learn what that means.
The diff coverage is 36.06%.

@@            Coverage Diff            @@
##             master      #72   +/-   ##
=========================================
  Coverage          ?   86.61%
=========================================
  Files             ?        7
  Lines             ?      695
  Branches          ?        0
=========================================
  Hits              ?      602
  Misses            ?       93
  Partials          ?        0

Impacted Files
Coverage Δ

apacheconfig/__init__.py
100% <100%> (ø)

apacheconfig/wloader.py
33.89% <33.89%> (ø)

Continue to review full report at Codecov.

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

Thanks for the feedback! I addressed some of the comments-- I'll try to address the rest of them by Sphinx-ifying the docs.

Documentation/testing sprint done! While doing that I also changed the constructor a bit-- I moved the parse_item factory as a static method at ItemNode.parse.
I pushed a branch at sydneyli/apacheconfig:merged-writable-loader-item-sphinx that merges this branch with #77 to show that the docs make the apacheconfig.wloader automodule properly.

@etingof this is ready for more review, when you have time ^_^ Biggest change is moving the docs to Napoleon per your suggestion-- the docs are definitely a lot cleaner now.

@etingof this is ready for more review, when you have time ^_^ Biggest change is moving the docs to Napoleon per your suggestion-- the docs are definitely a lot cleaner now.

Awesome! Thank you for the heads up - I've been sidetracked by the upcoming conference. I will get back to this shortly.

First of all, I am terribly sorry for long delays! But the good news is that I am hopefully back from my conference preparations!

No worries at all! Thanks for working with us on this :)

I've posted some more nits, these are the side-effect of my trying to understand the new design. Those are mostly nits, in my mind they might be helpful for the human reader to understand the arrangements. WDYT?

Naming is difficult, so I appreciate your input here! I think they make sense. Took your suggestions.

Re: the make_loader context manager, could create a generic parser context manager, though probably name it something else (since make_parser already exists!) Either way, we could also punt this conversation to another issue for what sort of factory interface to provide for the writable loader.

Re: the make_loader context manager, could create a generic parser context manager, though probably name it something else (since make_parser already exists!) Either way, we could also punt this conversation to another issue for what sort of factory interface to provide for the writable loader.

Alright, so what's remaining for this PR to be merged? My only question so far is possible repetitive parser re-creation. Is this a valid concern?

Alright, so what's remaining for this PR to be merged? My only question so far is possible repetitive parser re-creation. Is this a valid concern?

That fix should be coming in the downstream PR!

(To be specific, since the LeafNode doesn't contain any other config items, it doesn't need a reference to a parser since it doesn't do any parsing)

Thank you! \o/

We should probably update CHANGES at some point.

Another unrelated thought: would it make sense to add "default" flavor essentially enumerating all options and their defaults? That won't technically change anything, but would probably be more illustrative and easier to change defaults.

I think that would be good! a lot of the defaults are scattered in the codebase (using dict.get(key, default)) so something like that would consolidate them in one place. I'll open an issue.