Recognise components.yml

https://github.com/mixxorz/slippers/blob/2b0c9b42e6f78e9bad3903816c8becae870b26f4/slippers/apps.py#L43
Looks like this line could be updated to find either a yaml or yml file 😃.

select_template https://docs.djangoproject.com/en/3.2/ref/templates/api/#django.template.Engine.select_template

Oh nice. That's a good idea.


Destroying is broken as of 9.0.2

Blizzard protected the function DeleteCursorItem(), so auto destroy is no longer possible. However, the function can still be called in response to a hardware event.

how to call hardware event ?

I have to update the addon to provide the ability. A lot of code needs to be reworked to support the change, but it shouldn't take too long.

so, autodestroy can still work with hardware events?

Not properly. I'll be implementing a UI with a button to destroy items one at a time instead.

well, we'll wait! your addon is really very good. I'm wondering "manual destroy" will work in combat? and will you make it possible to bind this button for destroy.

Yes, destroying should work in combat still. And there will be a keybind allowing you to destroy items without going through the interface (again, one item at a time to avoid certain issues).

sounds cool! I will wait


[BEAM-59] Remove IOChannelUtil/Factory from BigQueryIO

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify.
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @dhalperi @jkff Mostly kept the same behavior but there could be room for clean ups. PTAL

Run Java PostCommit

Coverage remained the same at 70.553% when pulling 0188f58619efb33dda2abfb267af997401d2a877 on vikkyrk:bq_ioc into ff6bb353002610169a8079d1164118606bebb21e on apache:master.

Coverage decreased (-0.003%) to 70.55% when pulling 0188f58619efb33dda2abfb267af997401d2a877 on vikkyrk:bq_ioc into ff6bb353002610169a8079d1164118606bebb21e on apache:master.

Run Java PostCommit

@dhalperi yeah I think there is. Taking another pass, let me see.

Done.

Changes Unknown when pulling 7e3b9b58d11cbaf8a66fd37cfc3532cf0ec1fc00 on vikkyrk:bq_ioc into ** on apache:master**.

Coverage decreased (-0.04%) to 70.511% when pulling 7e3b9b58d11cbaf8a66fd37cfc3532cf0ec1fc00 on vikkyrk:bq_ioc into 48c8ed17623b3f36b7aeebb2e2ca585a259d2fec on apache:master.

Coverage decreased (-0.05%) to 70.504% when pulling 7e3b9b58d11cbaf8a66fd37cfc3532cf0ec1fc00 on vikkyrk:bq_ioc into 48c8ed17623b3f36b7aeebb2e2ca585a259d2fec on apache:master.

Coverage decreased (-0.04%) to 70.515% when pulling 7e3b9b58d11cbaf8a66fd37cfc3532cf0ec1fc00 on vikkyrk:bq_ioc into 48c8ed17623b3f36b7aeebb2e2ca585a259d2fec on apache:master.

Coverage decreased (-0.05%) to 70.501% when pulling 7e3b9b58d11cbaf8a66fd37cfc3532cf0ec1fc00 on vikkyrk:bq_ioc into 48c8ed17623b3f36b7aeebb2e2ca585a259d2fec on apache:master.


Clustering two diffrent channels

I was trying to make cluster with few machines from alpha channel and few from stable , and I was unable to create that environment. There is no information in documentation that user cannot make environment like this .I suppose that main factor is diffrent etcd2 (version 2.1.2 and 2.2.1).
Logs saying that server is already initialized as member before ,but I remove few times /var/lib/etcd2/*  ,and after that logs are the same.
Logs from alpha:
Nov 26 13:38:37 localhost systemd[1]: Starting etcd2...
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://x.x.x.x:2379,http://x.x.x.x:4001
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/xxxxxxxxxxxxxxxxxxxxxxxxxxx
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://x.x.x.x:2380
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://x.x.x.x:2380
Nov 26 13:38:37 localhost etcd2[1782]: recognized and used environment variable ETCD_NAME=fd570bcd45794220900167d68f6bb3dd
Nov 26 13:38:37 localhost etcd2[1782]: etcd Version: 2.2.1
Nov 26 13:38:37 localhost etcd2[1782]: Git SHA: 75f8282
Nov 26 13:38:37 localhost etcd2[1782]: Go Version: go1.4.3
Nov 26 13:38:37 localhost etcd2[1782]: Go OS/Arch: linux/amd64
Nov 26 13:38:37 localhost etcd2[1782]: setting maximum number of CPUs to 1, total number of available CPUs is 48
Nov 26 13:38:37 localhost etcd2[1782]: the server is already initialized as member before, starting as etcd member...
Nov 26 13:38:37 localhost etcd2[1782]: listening for peers on http://x.x.x.x:2380
Nov 26 13:38:37 localhost etcd2[1782]: listening for client requests on http://<IP_ADDRESS>:2379
Nov 26 13:38:37 localhost etcd2[1782]: listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 13:38:37 localhost etcd2[1782]: stopping listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 13:38:37 localhost systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Nov 26 13:38:37 localhost systemd[1]: Failed to start etcd2.
Nov 26 13:38:37 localhost systemd[1]: etcd2.service: Unit entered failed state.
Nov 26 13:38:37 localhost systemd[1]: etcd2.service: Failed with result 'exit-code'.
Nov 26 13:38:47 localhost systemd[1]: etcd2.service: Service hold-off time over, scheduling restart.
Nov 26 13:38:47 localhost systemd[1]: Stopped etcd2.

Could you share the command that you used to start your etcd?
And the server is already initialized as... indicates you did not empty the
data directories, I think.

As I mentioned before I'm sure that /var/lib/etcd2/* was empty.
I stopped etcd2 ,clear /var/lib/etcd2/* ,then start it again systemctl start etcd2

@MichalMankowski We need to have full log to help you more, especially the log right before the exit. See https://github.com/coreos/etcd/blob/master/Documentation/reporting_bugs.md#how-to-get-etcd-configuration-and-log-when-it-runs-as-systemd-service-etcd2service.

conf:
# /usr/lib64/systemd/system/etcd2.service
[Unit]
Description=etcd2
Conflicts=etcd.service

[Service]
User=etcd
Type=notify
Environment=ETCD_DATA_DIR=/var/lib/etcd2
Environment=ETCD_NAME=%m
ExecStart=/usr/bin/etcd2
Restart=always
RestartSec=10s
LimitNOFILE=40000

[Install]
WantedBy=multi-user.target

# /run/systemd/system/etcd2.service.d/20-cloudinit.conf
[Service]
Environment="ETCD_ADVERTISE_CLIENT_URLS=http://10.1.x.x:2379,http://10.1.x.x:4001"
Environment="ETCD_DISCOVERY=https://discovery.etcd.io/1da53758cc76c432eb29cxxxxxxxxx"
Environment="ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.1.x.x:2380"
Environment="ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001"
Environment="ETCD_LISTEN_PEER_URLS=http://10.1.x.x:2380"

2 more intresting logs I think :
Nov 26 11:35:57 localhost systemd[1]: Starting etcd2...
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://10.1.x.x:2379,http://10.1.x.x:4001
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/1da53758cc76c432eb29c4xxxxxxxxxx
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.1.x.x:2380
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://10.1.x.x:2380
Nov 26 11:35:57 localhost etcd2[1898]: recognized and used environment variable ETCD_NAME=050f492063ea43aa8caee9ad39db3de0
Nov 26 11:35:57 localhost etcd2[1898]: etcd Version: 2.2.1
Nov 26 11:35:57 localhost etcd2[1898]: Git SHA: 75f8282
Nov 26 11:35:57 localhost etcd2[1898]: Go Version: go1.4.3
Nov 26 11:35:57 localhost etcd2[1898]: Go OS/Arch: linux/amd64
Nov 26 11:35:57 localhost etcd2[1898]: setting maximum number of CPUs to 1, total number of available CPUs is 48
Nov 26 11:35:57 localhost etcd2[1898]: the server is already initialized as member before, starting as etcd member...
Nov 26 11:35:57 localhost etcd2[1898]: listening for peers on http://10.1.x.x:2380
Nov 26 11:35:57 localhost etcd2[1898]: listening for client requests on http://<IP_ADDRESS>:2379
Nov 26 11:35:57 localhost etcd2[1898]: listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 11:35:57 localhost etcd2[1898]: stopping listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 11:35:57 localhost etcd2[1898]: stopping listening for client requests on http://<IP_ADDRESS>:2379
Nov 26 11:35:57 localhost etcd2[1898]: stopping listening for peers on http://10.1.x.x:2380
Nov 26 11:35:57 localhost etcd2[1898]: member "050f492063ea43aa8caee9ad39db3de0" has previously registered with discovery service token (https://discovery.etcd.io/1da5375xxxxx76c432eb29c4165fxxxxx).
Nov 26 11:35:57 localhost systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Nov 26 11:35:57 localhost systemd[1]: Failed to start etcd2.
Nov 26 11:35:57 localhost systemd[1]: etcd2.service: Unit entered failed state.
Nov 26 11:35:57 localhost systemd[1]: etcd2.service: Failed with result 'exit-code'.
Nov 26 11:36:07 localhost systemd[1]: etcd2.service: Service hold-off time over, scheduling restart.
Nov 26 11:36:07 localhost systemd[1]: Stopped etcd2.

Nov 26 11:36:28 localhost systemd[1]: Starting etcd2...
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://10.1.x.x:2379,http://10.1.x.x:4001
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/1da53758cc76c432eb29c41xxxxxx
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.1.x.x:2380
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://10.1.x.x:2380
Nov 26 11:36:28 localhost etcd2[1924]: recognized and used environment variable ETCD_NAME=050f492063ea43aa8caee9ad39db3de0
Nov 26 11:36:28 localhost etcd2[1924]: etcd Version: 2.2.1
Nov 26 11:36:28 localhost etcd2[1924]: Git SHA: 75f8282
Nov 26 11:36:28 localhost etcd2[1924]: Go Version: go1.4.3
Nov 26 11:36:28 localhost etcd2[1924]: Go OS/Arch: linux/amd64
Nov 26 11:36:28 localhost etcd2[1924]: setting maximum number of CPUs to 1, total number of available CPUs is 48
Nov 26 11:36:28 localhost etcd2[1924]: the server is already initialized as member before, starting as etcd member...
Nov 26 11:36:28 localhost etcd2[1924]: listening for peers on http://10.1.x.x:2380
Nov 26 11:36:28 localhost etcd2[1924]: listening for client requests on http://<IP_ADDRESS>:2379
Nov 26 11:36:28 localhost etcd2[1924]: listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 11:36:28 localhost etcd2[1924]: stopping listening for client requests on http://<IP_ADDRESS>:4001
Nov 26 11:36:28 localhost etcd2[1924]: stopping listening for client requests on http://<IP_ADDRESS>:2379
Nov 26 11:36:28 localhost etcd2[1924]: stopping listening for peers on http://10.1.x.x:2380
Nov 26 11:36:28 localhost etcd2[1924]: member "050f492063ea43aa8caee9ad39db3de0" has previously registered with discovery service token (https://discovery.etcd.io/1da53758cc76c432eb29c4165xxxxxxxx).
Nov 26 11:36:28 localhost etcd2[1924]: But etcd could not find valid cluster configuration in the given data dir (/var/lib/etcd2).
Nov 26 11:36:28 localhost systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Nov 26 11:36:28 localhost systemd[1]: Failed to start etcd2.

Seems like you got duplicate IDs. Did you set the same token? Or initial-cluster-state?
--initial-cluster-token etcd-cluster-1
--initial-cluster-state new

Token was the same from the beginning , with first run logs shows that.
It's only appears on alpha coreos from my cluster , all nodes with stable seems ok from the beginning.
cloudconfig:
#cloud-config
coreos:
  etcd2:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
    # specify the initial size of your cluster with ?size=X
    discovery: https://discovery.etcd.io/1da53758cc76c432eb29c4165xxxxxxx
    # multi-region and multi-cloud deployments need to use $public_ipv4
    advertise-client-urls: http://10.1.x.x:2379,http://10.1.x.x:4001
    initial-advertise-peer-urls: http://10.1.x.x:2380
    # listen on both the official ports and the legacy ports
    # legacy ports can be omitted if your application doesn't depend on them
    listen-client-urls: http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
    listen-peer-urls: http://10.1.x.x:2380
  units:
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start

    - name: eno1.network
      runtime: true
      content: |
        [Match]
        Name=eno1

        [Network]
        DNS=<IP_ADDRESS>
        Address=10.1.x.x/23
        Gateway=10.1.x.x

@MichalMankowski There are two issues:

You should remove the pervious data dir

You should not reuse previous discovery token.

ETCD_DATA_DIR=/var/lib/etcd2 This is your data dir. I do not know how you "clear" it, but it was not removed when you started etcd.

So how nodes are in the list under my discovery key? I really don't know. If I didn't remove my old dir they shouldn't show up in the next one (if i'm right).

@MichalMankowski

So how nodes are in the list under my discovery key? I really don't know.

I do not know exactly how you put the node under the discovery token. And I really cannot help you to figure that out. Probably you started etcd twice the same discovery token.
The result is that you reused the discovery token.

If I didn't remove my old dir they shouldn't show up in the next one (if i'm right).

You probably did not clear entire /var/lib/etcd2, but the actual wal was cleared. I cannot know what you have done exactly.
Again here is my suggestion:

do not reuse the discovery token

clear entire data dir

If you still have the same issue, please report back.

@MichalMankowski
And it is OK to run etcd 2.1 with 2.2. The problem is that you:
cleared the wal and reused the discovery token. Once you remove the wal, your member is basically gone. If you want to add it back, you need to use runtime reconfiguration. See https://github.com/coreos/etcd/blob/master/Documentation/runtime-configuration.md#add-a-new-member


blake2s: there is no use in exposing blake2s_ctx, or is there?

Is there any need to expose blake2s_ctx to the caller?
The blake2s function in firmware is a one-shot function that initializes the context and also finalizes the hash computation and stack allocations are (practically) free. Any "control" over memory-use seems to be illusionary, i.e. only the location on the stack is different. If there is no value to derive from the contents of blake2s_ctx, it seems that latest-/shortest-possible allocation is beneficial for memory-availability.
The only use I can think of, is inspecting blake2s_ctx after calling blake2s to inspect changes to the context, which is only useful for debugging the Blake2s hash-function implementation.
https://github.com/tillitis/tkey-libs/blob/4c57f87d9da92b19269ca1954ad4c96b69187c83/libcommon/blake2s.c#L12-L20

I think you're right. It's mostly historical baggage. However, it could be of some use in the future, perhaps...
The point of passing ctx is to have control of where in the memory space it's allocated. For instance if you have some special protected memory you can allocate ctx there and pass it to blake2s() instead of having the function just put it on the ordinary stack.
We had an idea to include a very small memory with hardware protection for firmware use only, FW_RAM. Since the Unique Device Secret lives for a short while in the blake2s_ctx we explicitly allocated the context from the new FW_RAM and then passed the pointer to this function instead of letting blake2s() put it on the stack.
Later we found that we could fit in a bigger FW_RAM on the FPGA and increased it to 2 kByte! Imagine! Vast amount of space! This meant we could put the entire firmware stack in FW_RAM which probably makes passing ctx to blake2s() a moot point, at least from the firmware's point of view.
However, since we don't have any context switch, the use of the firmware's blake2s() function from an application is not protected in FW_RAM, only the firmware's own use of blake2s(). Such a context switch and hiding sensitive data would have been interesting but was deemed to complex. The FPGA is very nearly full and we wanted other features. Also, the security implications of introducing a context switch wasn't entirely clear.
We also discussed having something similar, outside of the normal RAM, for use in applications, which could have other electrical properties than static RAM. In that case it would probably make sense to keep sensitive application data, including the ctx, there. This idea didn't make it to the released design but we might want to revisit that idea eventually.... There's a lot we want to do with a bigger FPGA!

Of course, now that we have quite a number of TKeys with this signature call, the fw_blake2s(out, outlen, key, keylen, in, inlen, ctx) part, in the firmware it isn't easily changed without breaking a lot of existing hardware.
We'll have to live with it.

Or did you mean that we should change just the tkey-libs function? And have that function allocate ctx itself? Yeah, we could do that. Didn't understand if that's what you meant.

The tkey-libs function. At this point, requiring it as a parameter does not add any benefit, AFAICT. Having it in local call stack space means you know exactly how the memory is used. So, there is no real urgency or benefit to even set up an execution monitor on that memory.
To make it ridiculously concrete: construct a local variable at line 18, pass that on for blake2s_ctx into fw_blake2s, instead of the function parameter. (You'll already understand, but this should remove any miscommunication.)
I am not an expert at C programming, so I may miss some technical detail, but it seems like there is no added benefit to passing it into function call of blake2s (line 12). I am aware that it's nitpicking, but I do like to keep things simple. In this case it means developers don't even need to be aware of the blake2s_ctx struct itself. The struct type can be local to the implementation too, i.e. not in the header.

About https://github.com/tillitis/tkey-libs/issues/38#issuecomment-1968500055, confirmed that I am not criticizing use of fw-RAM, if mostly that I do not know anything about prior choices and I haven't looked into resources/capacity. I comment on the simplification of blake2s in tkey-libs, as is obvious now. I prefer simpler myself, usually. Passing on some "working memory" as blake2s_ctx into the firmware function call seems very much acceptable.
FWIW, 128 KiB will be on the smaller side for some applications. With a few dependencies, I passed 60 KiB. I do not expect issues, but the binary (a C application) can become substantial.


How do we authenticate API users?

How do we want to deal with access control?
Do we have admin permissions?
How do we separate admin from typical users?

Discussion from today: OpenID spec compliant tokens, start w/email & password, permissions in the JWT to read/write certain clusters, cluster read/write permissions cascade down (higher permission given grants access to all lower clusters).

We've started a document here: AuthN-and-AuthZ

The current state of authentication is located here: Authentication

This is addresses by the authentication plan in the wiki as well as the authentication-server repo.


Need help setting up Continuous Integration for running unit tests

What CI service do you hope to use?

I think Travis CI would be nice! But if you have any recommendations I am all ears!

Awesome. What command do you run to execute your tests?

Also, do you want a CI build to be triggered when a PR is made?

@zackharley that's a bit of a concern... I haven't got any CMakeLists.txt for building the tests yet ... I have created another issue addressing that I need some sort of build system for the tests if you want to check it out too! And yeah I think it would be nice to trigger a CI build when a pr is made ;) I am new to continuous integration and build systems. I hope I will learn a lot from you guys!!!

@zackharley someone is working on the Build System 😃  https://github.com/JLospinoso/forest/commit/e6f6887affc1fb3657d7b077c624eddca82e23ab

@zackharley So, what do you think?

@zackharley @xorz57 Project is dockerized, so if you prefer Travis CI should be easier now! https://github.com/xorz57/forest/pull/21

@zackharley I would like your help. Can you trigger a Circle CI build when a PR is made?


Crash when using Voiceover

Crash only when using Voiceover, good performance when shutting down
This only happens on XCode 11 and iOS 13
My Reat-native version is 0.59.8
void SendDelegateMessage(NSInvocation *): delegate (webView:resource:didFinishLoadingFromDataSource:) failed to return after waiting 10.000000 seconds. main run loop mode: kCFRunLoopDefaultMode
nw_connection_receive_internal_block_invoke [C26] Receive reply failed with error "Operation canceled"
Message from debugger: Terminated due to memory issue
This is the last content that appears in the console, then the program crashes
info
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 107.11 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.12.0 - /usr/local/bin/node
Yarn: 1.10.1 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
IDEs:
Xcode: 11.0/11A419c - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.8 => 0.59.8
npmGlobalPackages:
react-native-cli: 2.0.1

I'm also running into this with issue using Xcode 11, iOS 13.1, react 16.8.3, and react-native 0.59.9, only when building with react-native run-ios --device. If I build from Xcode, it works as expected with VoiceOver.

Whenever I run in debug with VoiceOver enabled on a physical device, I'm seeing an EXC_BAD_ACCESS on perform_rebinding_with_section in RCTWebSocket > fishhook.c
This is preventing me from properly supporting VoiceOver in the Khan Academy app. Yikes!
This is in Xcode 11.1, building to iOS 13.1 on an iPhone XS, with react-native 0.59.9

Has anyone gotten any solutions? I'm running VoiceOver on with Debug build configuration and hitting the same issue as @bryanjclark


downloads v2 runs out of memory when performance trace is active

When running oikwp downloads.php v2 the program Fatalled with
Fatal error: Allowed memory size of<PHONE_NUMBER> bytes exhausted (tried to allocate 561421928 bytes)
in C:\apache\htdocs\wordpress\wp-content\plugins\oik-bwtrace\includes\bwtrace.php on line 800

Performance trace was enabled.
CLI tracing was enabled.
Trace level was verbose

Total plugins: 59697

Workaround

Disable CLI tracing.


Hide Sheets with Google PHP SpreadSheets client

I am using the following code to hide some sheets of a spreadsheet. I use php client library. My target is to export only the desired sheets into a PDF file. Since there is not method to achieve that, I am trying to hide the undesired sheets and then export the spreadhseet with the sheet I need to send by email. But all there requests are failing.
`function hideSheets($spreadsheetId, $sheetIds)    {

// Get the sheet service.
global $sheet_service;

$requestBody = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();

$requests = array();
foreach ($sheetIds as $key => $sheetId)  {

    $request= new Google_Service_Sheets_UpdateSheetPropertiesRequest();
    $request_prop = new Google_Service_Sheets_SheetProperties();
    $request_prop->setSheetId($sheetId);
    $request_prop->setHidden(true);
    $request->setProperties($request_prop);
    $request->setFields("hidden");
    $requests[] = $request;
}

// print_r($requests[0]);

$requestBody->setRequests($requests);

$requestBody->setIncludeSpreadsheetInResponse(false);

try { $response = $sheet_service->spreadsheets->batchUpdate($spreadsheetId, $requestBody);
} catch (Exception $e) { print "An error occurred: " . $e->getMessage(); die(); }

echo '

';
print_r($response);
return;}`

This code is throwing the following error:
`An error occurred:
{ "error":
    { "code": 400, "message": "Invalid JSON payload received. Unknown name \"fields\" at 'requests[0]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[0]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[1]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[1]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[2]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[2]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[3]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[3]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[4]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[4]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[5]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[5]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[6]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[6]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[7]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[7]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[8]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[8]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[9]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[9]': Cannot find field.",

"errors": [ { "message": "Invalid JSON payload received. Unknown name \"fields\" at 'requests[0]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[0]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[1]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[1]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[2]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[2]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[3]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[3]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[4]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[4]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[5]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[5]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[6]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[6]': Cannot find field
   Invalid JSON payload received. Unknown name \"fields\" at 'requests[7]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[7]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[8]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[8]': Cannot find field
    Invalid JSON payload received. Unknown name \"fields\" at 'requests[9]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[9]': Cannot find field.", "domain": "global", "reason": "badRequest" } ],
"status": "INVALID_ARGUMENT" } } `

The following request body is working fine:
{  "requests": [     {   "updateSheetProperties": {             "properties": {                  "sheetId": 848799001,                  "hidden": true             },             "fields": "hidden"}}]}
on google's TRY THIS API app: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
But I do not achieve to translate it to google php client...:(

remove
$request->setFields("hidden");

from your request

Thank you @LindaLawton , I already did, but similar output:
An error occurred: {
  "error": {
    "code": 400,
    "message": "Invalid JSON payload received. Unknown name \"properties\" at 'requests[0]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[1]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[2]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[3]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[4]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[5]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[6]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[7]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[8]': Cannot find field
    Invalid JSON payload received. Unknown name \"properties\" at 'requests[9]': Cannot find field.",
    "errors": [
      {
        "message": "Invalid JSON payload received. Unknown name \"properties\" at 'requests[0]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[1]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[2]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[3]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[4]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[5]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[6]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[7]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[8]': Cannot find field
        Invalid JSON payload received. Unknown name \"properties\" at 'requests[9]': Cannot find field.",
        "domain": "global",
        "reason": "badRequest"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

I reproduced this error from the code you provided. My approach was just to look at the request in-flight (using mitmproxy, Charles works too) From that it looks like the easiest fix will be to change the last line in your foreach loop to
        $requests[] = ["updateSheetProperties"=> $request];


Added getter for LightGBMBooster

This is useful for getting internal information from the booster, such as the string representation.

@mhamilton723 would you be able to merge this in?  This is a nice feature for scala users.  Thanks!

Thank you @terrytangyuan :)


Unravel cyclical dependency between OutputLibrary and TypeFactory

Fixes: https://github.com/microsoft/typespec/issues/3360

API change check
APIView has identified API level changes in this PR and created following API reviews.
Microsoft.Generator.CSharp

maybe this PR unraveled the cyclic dependency between output library and type factory by changing the implementation of CreateCSharpType method in TypeFactory for enums and models, but removing the cache of models and enums by default I think is not acceptable. With this change, every time the same enum/model type shows up there should would be a type provider created for it.

The issue with caching is if someone overrides CreateType they can completely bypass this caching.  BuildModels in OutputLibrary is designed to run exactly one time, and within there it will iterate over the models in InputLibrary exactly one time therefore I don't think we will run into any issues.  If someone overrides down to this layer they will need to ensure the same or build their own cache.


Ambiguity ？

Gradient checking implementation notes

Remember if you use the normal Regularization to add the value of the additional check to your equation
(lamda/2m)sum(W[l])

I think it is difficult to understand what's meaning of this sentence because of the ambiguity.

If you use the normal Regularization to add the value of the additional check to your equation,Remember  (lamda/2m)sum(W[l])
Remember if you use the normal Regularization to add the value of the additional check to your equation  (lamda/2m)sum(W[l]) or not

Would you like to tell me which one is right?
Thank you at all.

Yes, I think so.


RawPy on M1 Mac

Sorry if I indeed missed this already, but I managed to get through the other issues that popped up.
However 'raspy' doesn't seem to want to install, or be found actually. Tried tricking it like I did for a couple other files that gave errors, but it is having non of that.
Anyone else?

Well if it helps anyone else....
M1 binaries exist for Python, Tensorflow, Conda, Anaconda, that at least got me to the test script. New error, of course. ;) I'lll post that as a new issue.


fix(tooler): set userid/groupid to 1000 if run as root on unix to build local tooler image

closes #93 and closes #85

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.884%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1346

Relevant Lines:
2043

💛  - Coveralls


Add a reference to runtime.osx.10.10-x64.CoreCompat.System.Drawing in test project

This fixes the following exception on macOS (when mono-libgdiplus is not installed):

System.DllNotFoundException
Unable to load shared library 'libgdiplus' or one of its dependencies.

This increases the number of tests passing on macOS from 443 to 446.


Retry test setup for example tests

Describe your changes
Sometimes, the example tests fail because the setups (preparing model, data, config, etc) fail randomly. Retry the test setups to catch such errors.
Test fixtures are also updated to make them simpler and consistent across examples.
Checklist before requesting a review

[ ] Add unit tests for this change.
[ ] Make sure all tests can pass.
[ ] Update documents if necessary.
[ ] Format your code by running pre-commit run --all-files

(Optional) Issue link

Any reason why the tests can fail? Should we fix the failure reasons?

Any reason why the tests can fail? Should we fix the failure reasons?

@xiaoyu-work I am not sure why the setup fails. It happens rarely so it is hard to replicate the failure on my local machine. For the whisper windows test, it appears to be with decoding the stderr output of the subprocess call. But it succeeds when we run the subprocess call again.


Add max split trick

The not so known Python split() method has a second param that allow to split max times, leaving the rest of the string intact.

Want to add yourself to the contibutors?

Yup. Updated this PR with an extra commit.

Alright, thanks for your contribution!


Setting DestinationRule.caCertificates breaks cluster wide mTLS

Bug description
Applying the following yaml seems to break all mTLS communication in the cluster:
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: google
  namespace: some-other-ns
spec:
  hosts:
  - www.google.com
  ports:
  - number: 443
    name: http
    protocol: TCP
  resolution: DNS
  location: MESH_EXTERNAL
---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: google
  namespace: some-other-ns
spec:
  host: "www.google.com"
  trafficPolicy:
    tls:
      mode: SIMPLE
      caCertificates: /etc/ssl/certs/ca-certificates.crt

It may take a minute or two for SSL errors like the following to start showing up:
[2020-09-11T18:34:41.098Z] "GET / HTTP/1.1" 503 UF,URX "-" "TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED" 0 91 21 - "-" "curl/7.69.1" "cadc0151-7ada-44f7-a209-f52a6fefe17f" "httpbin.sample-app.svc.cluster.local" "<IP_ADDRESS>:80" outbound|80||httpbin.sample-app.svc.cluster.local - <IP_ADDRESS>:80 <IP_ADDRESS>:59016 - default

If the DestinationRule.caCertificates attribute is not set, then communication within the cluster is not broken. Removing the caCertificates attribute is not usually sufficient to have the cluster recover. In many cases it requires all affected sidecars to be restarted.
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[X] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
The caCertificates feature is functions, and is able to be used to properly validate Egress TLS Origination.
Steps to reproduce the bug
The following was isolated on Docker Desktop for Mac running Kubernetes 1.16.5.
Install the Istio 1.7.0 operator (istioctl installed via brew):
$ istioctl operator init
Using operator Deployment image: docker.io/istio/operator:1.7.0
✔ Istio operator installed
✔ Installation complete

Install the control plane with the following yaml:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: istio-system
  namespace: istio-system
spec:
  profile: default
  meshConfig:
    accessLogFile: /dev/stdout # Only needed for observing the broken communication.

Configure a few services to be able to communicate with each other. The httpbin/curl pod combo used in many of the examples is sufficient. These services can be running in any namespace you choose.
Apply the ServiceEntry/DestinationRule to any namespace. They can be applied to a brand new namespace, empty namespace.
Make periodic attempts to communicate between the sample services installed. Within a few minutes (usually less than 10), communication will start to fail, and log lines like above will be generated by Envoy.
Full reproduction yaml: ~drca-repro.yaml.gz~ (<- old version with typos) drca-repro.yaml.gz It may need to be applied a few times, and pods restarted to trigger injection, but all the parts are there.
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
$ istioctl version --remote
client version: 1.7.0
control plane version: 1.7.0
data plane version: 1.7.0 (3 proxies)
$ kubectl version --short
Client Version: v1.19.1
Server Version: v1.16.6-beta.0

How was Istio installed?
Operator, default profile.
Environment where bug was observed (cloud vendor, OS, etc)
Initially observed on AWS EKS 1.16.13, but was able to reproduce with Docker Desktop for Mac running Kubernetes 1.16.5.
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.
~istio-dump.tar.gz~ (<- From bad repro)
istio-dump.tar.gz

In your reproduction I found the Service is wrong. It has targetPort=8080 but the httpbin listens on 80. Once I changed that it seems ok. I will check again in a bit since you said it may take some time for it to break.

Re port 80: I've gotten in the habit of moving things out of the <1024 range as I've been trying to move things out of running as root. I think my brain got ahead of itself. Looking at the log line above, I swapped it for one generated from the example, without fully reading be beyond the 503.
I also noticed I had commented out the caCertificates attribute. Uncommenting, and restarting the httpbin/sleep pods triggered it.
Working repo:
drca-repro.yaml.gz
Actual log line generated (will edit the initial report to fix):
[2020-09-11T18:34:41.098Z] "GET / HTTP/1.1" 503 UF,URX "-" "TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED" 0 91 21 - "-" "curl/7.69.1" "cadc0151-7ada-44f7-a209-f52a6fefe17f" "httpbin.sample-app.svc.cluster.local" "<IP_ADDRESS>:80" outbound|80||httpbin.sample-app.svc.cluster.local - <IP_ADDRESS>:80 <IP_ADDRESS>:59016 - default

Updated cluster dump: istio-dump.tar.gz

Ah I restarted the pods and it triggered it now. Thanks!

Thanks for the helpful reproduction steps. I have verified the workload certificate root CA is somehow being overriden with the DR CA. I am not sure why yet, but seems the root cause is clear and this is a clear bug. Thanks again!

The root cause is https://github.com/istio/istio/blob/c574f8ce63b2bd0fa0531320ba0e9265368c07bc/security/pkg/nodeagent/cache/secretcache.go#L716.
@ramaraochavali can you take a look? I am not 100% sure how we distinguish a root cert from file the workload root cert from file?

Thanks for reporting this. I can reproduce it, but I'm not sure the proposed PR is the right fix. Let's find out the cause precisely and verify the fix as well. We also need to have integration test covering it.

Given @howardjohn's analysis, I think #27268 is part of the fix. But I am not clear whether #27268 completely fixes the issue.
It would be nice if we can verify it at least manually. #27268 and file-based SDS feature do not have good test coverage, we need to improve the test coverage before calling this feature as beta/GA.

I just wanted to follow up on this and see where this stands.

AFAIK this is fixed by https://github.com/istio/istio/pull/27268?


Adding node 18.x support

Fixes #1242
Node 18 is out, and the engine restrictions currently prevent it working on node 18. This simply adds node 18.x to the supported engines list

@jakearchibald Sorry for the ping, you seem to be the last person who has contributed to this repo. Is this repo still maintained? If so, is someone able to help out with this PR and the related issue #1242?

@devinmatte is this the only required thing? I'm getting these errors if I ignore the engine:
(node:55337) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/deps/undici/undici:4813
            throw new TypeError("Failed to parse URL from " + input, { cause: err });
                  ^

TypeError: Failed to parse URL from<EMAIL_ADDRESS>

Looks like there's more to it. The issue is with the fetch API in node 18 it seems: https://github.com/node-fetch/node-fetch/issues/1566
I can dive deeper into this, but looks like it's affecting a lot of projects, including another google repo https://github.com/google/draco/issues/888

Yeah I assumed as much. Though looks like this is abandoned.
Are there any good alternatives?

fwiw, my plan is to deprecate this (just the CLI/lib, not the site), since there isn't anyone to work on it, and no chance to hire people to work on it given the current economic climate. Folks are welcome to continue the work in a fork.

I don't think we'll be getting Node 18 support based on this commit.
https://github.com/GoogleChromeLabs/squoosh/pull/1321

Should be closed because of #1321.


Improve "Definition Preview Hover" rendering and layout (similiar to JetBrains IDEs)

I'm almost done with migration from PyCharm to VSCode, but a few things are holding me back! One of them being the layout and the rendering for "Definition Preview Hover" or the equivalent for "Quick Documentation Popup"  on JetBrains' IDEs.
Rather than trying to explain it in words, I rather attach a screenshot from both VSCode and PyCharm displaying the documentation for sort_values() method:

PyCharm

VSCode

As you can see in the images above, PyCharm's definition doc preview is displaying very nicely, properly formatted and easy to read while VSCode started with all of the overload examples of the method and even when you scroll down past the overloads you see this hard to read and poorly formatted text:

I'm not sure if this is the right repository for this issue, if it's not let me know the right one.

Moving this issue to discussion as an enhancement request for comments and upvotes.


[Examples] Add TensorFlow serving example

Add TensorFlow serving example.

Coverage decreased (-31.02%) to 50.115% when pulling f90eda1bf87f838cac113c1e58c7522a8677fd74 on xiongyf/tf-serving into 63fc97c7e49e99812375585101ef1f985d70dbb3 on master.


Runtime values in v2 gRPC API

The existing API has a number of runtime settings expressed via https://lyft.github.io/envoy/docs/intro/arch_overview/runtime.html flags on the filesystem. We should audit these and ensure that the v2 gRPC API is suitably expressive to allow these to be delivered via xDS. See #22 for an example.
There is a desire to retain runtime configuration for simpler static configurations that don't operate via xDS.

@mattklein123 What if we make even static configurations xDS? Serve up the static configs via some simple loopback server?
Then, we can have the loopback server watch with inotify the config fragments and send an update to the server.
This way, we don't need to special case static configurations in either the API or implementation, and we only need a fairly simple loopback server that Envoy can launch and run as a subprocess.

Per offline convo, I like the idea of the loopback, but I think it will be pretty complicated to merge the existing "runtime" code with generic config on the fly. It's worth thinking about though. IMO if we just make sure that all major runtime values for routing can be expressed in the config, we are probably headed in the right direction.

Some discussion from today:

Any time runtime is used in the context of routing, this must become part of the respective v2 API, e.g. RDS.
Feature flags can be provided by an additional API (Runtime Discovery Service RTDS).

I'm going to close this for now. I haven't heard any desire for this. We can reopen if needed.


Make changes to permissions model in the Editor (LEAN-1798)

we could add more permissions like deleting a project. but as we don't use all components of the manuscript frontend this will not be in LW at all and will ignore it.

@asouqi, is there a reason this was merged to master without testing first?

is there a reason this was merged to master without testing first?

I'm not under the impression that we are going to test small changes first before merging to master, I was thinking it will be just for big PR. but if we want to do it for every ticket we could revert this change and open a new PR to test it first.

That's fail, I didn't notice the size of the change. No need to revert it.


Update _config.yml

:white_check_mark: Build POC-dotnet-Dijkstra 1.0.41 completed (commit https://github.com/GuilhermeStracini/POC-dotnet-Dijkstra/commit/8b53f30219 by @guibranco)


Setting a canonical URL in a post header doesn't override the old canonical URL

Please stop ignoring critical issues in the system!
Related issue is here.
This bug makes it impossible to set canonical urls properly which is mandatory for proper SEO!

I tried setting a canonical url for a post in Code Injection > Post Header but I still see the old canonical URL set by Ghost.
I’m trying to publish a guest post on a blog and I can’t do it while I can’t set the canonical url for my post to point to the original article.
Is there a solution for this which works now? We’re blocked by this bug.

This is not a feature request but a bug report. But you know what? I'm no longer a Ghost user.


Skeptic fails to find dependencies starting with Rust 1.77

Starting with Rust 1.77 (currently beta), skeptic fails to find dependencies (rt::get_rlib_dependencies returns Ok(vec![])), which means that it cannot be used.
I know that this crate is unmaintained, but I post this issue for future people who have the same issue.

(Yes, I don't want to maintain this crate anymore, see https://github.com/budziq/rust-skeptic/issues/140 -- if anyone credible wants to pick it up I'm happy to assist with that.)


Slower and slower writing in the chat box (even not sending info) just writing

I've been experiencing a significant slowdown while typing in the prompt/chatbox. At times, there's a delay of up to 15 seconds before the words I type appear in the chat field, even though I'm not sending them to any API.
I understand that the project might not currently be maintained, but I'm reaching out in the hope that someone could offer some assistance or insight into why this might be happening.
Thank you so much for your time and help.

I think you need check if the issue is caused by yourself

how can I connect you,


No Type Declarations in dist

After the latest release, there are no type declarations being included in the dist folder, despite being referenced from the package.json, hence Typescript thinks there are no longer any types for this package.

Thank you for flagging this. Working on a fix.

V1.2.2 adds the type declarations in the build process.


turning on real writebarrier mode on Linux

previousely I made the change to assume all write barrier pages are dirty, regardless there's missing annotation or not, to make the annotation work easier.

@dotnet-bot test Linux tests please

@dotnet-bot test Ubuntu daily_ubuntu_linux_debug_static please


Make it possible to use plain Ambuzol with a hypo

About the PR
Changed Ambuzol (plain, not plus) threshold to be 9 units, so that a CMO with a hypo can actually cure people.
Why / Balance
Using a hypo is a silent failure for Ambuzol. Also, if you don't have a syringe around, you'll have to waste additional 5u per person (most CMOs probably have a syringe around but still).  Also chem would gain 10% free with this... if they even could manage to clear their buffer. Which probably isn't gonna happen, let's be real.
Technically this allows for much easier mass innoculation without much/any loss. Which might be actually a concern? Not sure. But feels odd to have a 10u threshold that can't be achieved with a hypo. And rushing in to cure people in middle of a battle will likely backfire as zombies have rather strong attacks.
Alternative would be to use an increasing status effect that requires ~10u of the stuff and only kick in after enough got processed.
Technical details
YAML only, threshold change. Removed extra whitespace.
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Changelog
:cl:

tweak: Ambuzol now requires 9 units to cure infected

The attack of the flaky tests! Tests run fine on my machine.
If I recall correctly, you can push an empty commit to re-run the tests, or wait until someone with actions access re-runs it.

Well, empty commit...
Or git commit --amend --no-edit to amend with nothing, and then the blasphemous git push --force

Maintainers can rerun the tests, so you no longer need to do that :)

i would just change thresholds be >= globally

Can we also change ambu+ to be 4 units for situations like having to dissolve a pill into 5u of water due to being a moth?

Can we also change ambu+ to be 4 units for situations like having to dissolve a pill into 5u of water due to being a moth?

Oh for fuck's sake I didn't realize. That complicated things.
...I think I'm going to take the advice to just not do any of the above and instead make a system of global drug accumulation threshold. Because whew, annoying stuff.
Though, more stuff for newmed to bulldoze/duplicate later and I "only" wanted to fix this one thing. But now realising how this kinda applies to way too many things now.
Homeostasis when :C

Can we also change ambu+ to be 4 units for situations like having to dissolve a pill into 5u of water due to being a moth?

Oh for fuck's sake I didn't realize. That complicated things.

You can just take a sip from the bottle, then throw the pill in and it won't overflow.
For this PR: Instead of giving it a weird number like 9u I would maybe make it 5u so it is consistent with Ambu+ and make the recipe more expensive in turn.

Can we also change ambu+ to be 4 units for situations like having to dissolve a pill into 5u of water due to being a moth?

Oh for fuck's sake I didn't realize. That complicated things.

You can just take a sip from the bottle, then throw the pill in and it won't overflow.
For this PR: Instead of giving it a weird number like 9u I would maybe make it 5u so it is consistent with Ambu+ and make the recipe more expensive in turn.

Its more about sips being 5u ratio of whatever you are drinking rather than overflowing, so when you drink/use hypo most of the time you won't meet required bloodstream reagent amount when it metabolizes if you are not using stasis bed(which can still fail if you are unlucky enough) or are very lucky spider.


Logger outputs wrong values for different metrics

Hi
I tried to test Continuum with a simple class incremental scenario for the Fashion MNIST dataset, but unfortunately, I could not get the correct metrics with Logger. In the code below, I am trying to test all tasks up to task_id with test_task = scenario_test[:task_id].
# Datasets
dataset_train = FashionMNIST("../../../out/data/", download=True, train=True)
dataset_test = FashionMNIST("../../../out/data/", download=True, train=False)

# Scenarios
n_way = 2
scenario_train = ClassIncremental(dataset_train, increment=n_way)
scenario_test = ClassIncremental(dataset_test, increment=n_way)

# Model
model = nn.Sequential(nn.Linear(1*28*28, 200), nn.Linear(200, 10))
optimizer = optim.SGD(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()

# Training episodes
logger = Logger(list_keywords=["performance"], list_subsets=["train", "test"])
for task_id, train_task in enumerate(scenario_train):
    print("-"*20)
    print("Task: ", task_id)

    model.train()
    train_loader = DataLoader(train_task, batch_size=32, shuffle=True)
    # Train for one epoch
    for itr, (x,y,t) in enumerate(train_loader):
        pred = model(x.view(x.shape[0], -1))
        optimizer.zero_grad()
        loss = criterion(pred, y)
        loss.backward()
        optimizer.step()
        pred_ = torch.argmax(pred, dim=1).detach()
        logger.add([pred_, y, t], subset="train", keyword="performance")

    # Test all tasks up to task task_id
    test_task = scenario_test[:task_id]
    test_loader = DataLoader(test_task, batch_size=32, shuffle=True)
    model.eval()
    for itr, (x, y, t) in enumerate(test_loader):
        pred = model(x.view(x.shape[0], -1))
        pred_ = torch.argmax(pred, dim=1).detach()
        logger.add([pred_, y, t], subset="test", keyword="performance")

    print(f"acc: {logger.accuracy}, online acc: {logger.average_incremental_accuracy} ")
    print(f"BWT: {logger.backward_transfer}, FWT: {logger.forward_transfer}")
    logger.end_task()

And this is how the output looks like:
--------------------
Task:  0
acc: 0.9385, online acc: 0.9385
BWT: 0.9385, FWT: 0.9385
--------------------
Task:  1
acc: 0.9385, online acc: 0.9385
BWT: 0.9385, FWT: 0.9385
--------------------
Task:  2
acc: 0.9385, online acc: 0.9385
BWT: 0.9385, FWT: 0.9385
--------------------
Task:  3
acc: 0.9385, online acc: 0.9385
BWT: 0.9385, FWT: 0.9385
--------------------
Task:  4
acc: 0.9385, online acc: 0.9385
BWT: 0.9385, FWT: 0.9385

I looked into the implementation of the classes Logger and _BaseLogger and it seems like directly using the accuracy method from continuum.metrics.metrics works properly when used in a similar way as in the accuracy method of the class Logger. I think it might have something to do with the @cache decorators used in the class Logger as it does not retrieve the current predictions and targets.
For the backward and forward transfer, I also tried to use the  backward_transfer from continuum.metrics.metrics directly, but I would get nan after 3 episodes. It seems like logger.add([pred, y, t], keyword="performance") does not add the task ids t because in its implementation in the _BaseLogger class it check if (task_ids is not None) and self._get_current_task_ids(subset).size > 0:  and since task_ids is empty at the beginning of training it remains empty for the rest of the episodes.
Am I doing something wrong with regard to the usage of  Logger?
Thanks :)

Hello! Sorry for the inconvenience and thank you for the bug report.
There was indeed a problem with the cache which appeared during a recent refactor. I have disabled the cache for now.
Furthermore, you made a tiny mistake in your code, by doing  scenario_test[:task_id], you should do scenario_test[:task_id + 1]. I have add an error so that it can be more explicit.
Everything has been fixed in #122, and you can update your continuum to 1.0.13.
Now I get those metrics results:
--------------------
Task:  0
acc: 0.947, online acc: 0.947
BWT: 0.0, FWT: 0.0
--------------------
Task:  1
acc: 0.4795, online acc: 0.7132499999999999
BWT: 0.0, FWT: 0.0
--------------------
Task:  2
acc: 0.3303333333333333, online acc: 0.5856111111111111
BWT: -0.31566666666666665, FWT: 0.0
--------------------
Task:  3
acc: 0.249375, online acc: 0.5015520833333333
BWT: -0.4755, FWT: 0.0
--------------------
Task:  4
acc: 0.1988, online acc: 0.4410016666666666
BWT: -0.575, FWT: 5e-05

(bwt and fwt only starts at the third task, it's their normal behavior)


Integrating pdf-annotate.js with FPDI and TCPDF

Hello.
This is not an issue of pdf-annotate, but someone may have a solution.
I've just integrated pdf-annotate.js on my website, I'm using my database to store/retrieve annotations and I added the functionality for  downloading that annotated document.
To do so, I use FPDI for parsing the PDF and TCPDF for adding the  annotations. I accomplished the integration between these 2 libraries  following this tutorial: https://www.setasign.com/products/fpdi/demos/tcpdf-demo/.
The problem comes when I try to place the pdf-annotate.js annotation  inside the document. Annotations get generated with some X and Y  coordinates, but when I use them in TCPDF's method $pdf->Annotate(x,  y, ...), the resulting location differs widely from the original one.
Does anyone have a solution for this?
Thanks.

Hiii @fdbatista I am working on PDF Annotator in php i need only download source code i am using tcpdf and fpdi but i am not able to integrate this could you help me

What do you want to achieve? The download option for the annotated pdf file?


[BUG]: Handling 403:1008 for address resolution calls.

We are continuously addressing and improving the SDK, if possible, make sure the problem persist in the latest SDK version.

Describe the bug
When a region has been removed and the SDK possibly reaches out to removed region and performs address resolution calls against the removed region could have the operation fail.
To Reproduce
Use the chaos framework in the Gateway mode to inject 403:1008s for Address resolution requests [or] subject a workload to single-write multi-region account where the write region is failed over.
Expected behavior
Ideally, address resolution in-lined with the document operation should be part of the document operation's ClientRetryPolicy and be retriable to other available regions.

Related exceptions stck
2024-09-24T17:10:00.008184Z	CosmosDbRequestEndWithClientFailure	CosmosItemDataProvider.Query.PrivateLinkAssociation	Response status code does not indicate success: Forbidden (403); Substatus: 1008; ActivityId: 123fc2f9-43ae-4fa7-bcd1-5b284e0e7354; Reason: ( RequestUri: https://XXXX.documents.azure.com/dbs/LxkPAA==/colls/LxkPAMPhU1A=/pkranges; RequestMethod: GET; Header: authorization Length: 86; Header: x-ms-date Length: 29; Header: x-ms-max-item-count Length: 2; Header: A-IM Length: 16; Header: x-ms-activity-id Length: 36; Header: Cache-Control Length: 8; Header: User-Agent Length: 94; Header: x-ms-version Length: 10; Header: x-ms-cosmos-sdk-supportedcapabilities Length: 1; Header: Accept Length: 16; ActivityId: 123fc2f9-43ae-4fa7-bcd1-5b284e0e7354, Request URI: /dbs/LxkPAA==/colls/LxkPAMPhU1A=/pkranges, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.34.4);	at Microsoft.Azure.Cosmos.GatewayStoreClient.<ParseResponseAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.GatewayStoreClient.<InvokeAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.GatewayStoreModel.<ProcessMessageAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Cosmos.GatewayStoreModel.<ProcessMessageAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Routing.PartitionKeyRangeCache.<ExecutePartitionKeyRangeReadChangeFeedAsync>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetryAsync>d__6`2.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Documents.ShouldRetryResult.ThrowIfDoneTrying(ExceptionDispatchInfo capturedException)    at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetryAsync>d__6`2.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetryAsync>d__6`2.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Cosmos.Routing.PartitionKeyRangeCache.<GetRoutingMapForCollectionAsync>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.AsyncCacheNonBlocking`2.<GetAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Routing.PartitionKeyRangeCache.<TryLookupAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Routing.PartitionKeyRangeCache.<TryGetOverlappingRangesAsync>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.Azure.Cosmos.IRoutingMapProviderExtensions.<TryGetOverlappingRangesAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.CosmosQueryClientCore.<GetTargetPartitionKeyRangesAsync>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.ExecutionContext.CosmosQueryExecutionContextFactory.<GetTargetPartitionKeyRangesAsync>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.ExecutionContext.CosmosQueryExecutionContextFactory.<TryCreateFromPartitionedQueryExecutionInfoAsync>d__10.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.ExecutionContext.CosmosQueryExecutionContextFactory.<TryCreateCoreContextAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.AsyncLazy`1.<GetValueAsync>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.Pipeline.LazyQueryPipelineStage.<MoveNextAsync>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.Pipeline.NameCacheStaleRetryQueryPipelineStage.<MoveNextAsync>d__10.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Azure.Cosmos.Query.Core.Pipeline.CatchAllQueryPipelineStage.<MoveNextAsync>d__1.MoveNext(

It's a cold start scenario

Query started on a cold client
It tried to read the collection Partitions, and it got 403/1008 (DatabaseAccount not found in that region)

It's a newly added region

Another related
Microsoft.Azure.Cosmos.CosmosException : Response status code does not indicate success: Forbidden (403); Substatus: 1008; ActivityId: ba79d888-129d-4424-a108-5c92fdc2a1a4; Reason: (
RequestUri: https://XXX.documents.azure.com//addresses/?$resolveFor=dbs%2fXzQbAA%3d%3d%2fcolls%2fXzQbAInIqrI%3d%2fdocs&$filter=protocol eq rntbd&$partitionKeyRangeIds=0;
RequestMethod: GET;
Header: Authorization Length: 1593;
Header: x-ms-date Length: 29;
Header: x-ms-force-refresh Length: 4;
Header: Cache-Control Length: 8;
Header: User-Agent Length: 79;
Header: x-ms-version Length: 10;
Header: x-ms-cosmos-sdk-supportedcapabilities Length: 1;
Header: Accept Length: 16;

ActivityId: ba79d888-129d-4424-a108-5c92fdc2a1a4, Request URI: //addresses/?$resolveFor=dbs%2fXzQbAA%3d%3d%2fcolls%2fXzQbAInIqrI%3d%2fdocs&$filter=protocol%20eq%20rntbd&$partitionKeyRangeIds=0, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.32.0);
   at Microsoft.Azure.Cosmos.GatewayStoreClient.ParseResponseAsync(HttpResponseMessage responseMessage, JsonSerializerSettings serializerSettings, DocumentServiceRequest request)
   at Microsoft.Azure.Cosmos.Routing.GatewayAddressCache.GetServerAddressesViaGatewayAsync(DocumentServiceRequest request, String collectionRid, IEnumerable`1 partitionKeyRangeIds, Boolean forceRefresh)
   at Microsoft.Azure.Cosmos.Routing.GatewayAddressCache.GetAddressesForRangeIdAsync(DocumentServiceRequest request, PartitionAddressInformation cachedAddresses, String collectionRid, String partitionKeyRangeId, Boolean forceRefresh)
   at Microsoft.Azure.Cosmos.AsyncCacheNonBlocking`2.AsyncLazyWithRefreshTask`1.CreateAndWaitForBackgroundRefreshTaskAsync(Func`2 createRefreshTask)
   at Microsoft.Azure.Cosmos.AsyncCacheNonBlocking`2.UpdateCacheAndGetValueFromBackgroundTaskAsync(TKey key, AsyncLazyWithRefreshTask`1 initialValue, Func`2 callbackDelegate, String operationName)
   at Microsoft.Azure.Cosmos.AsyncCacheNonBlocking`2.GetAsync(TKey key, Func`2 singleValueInitFunc, Func`2 forceRefresh)
   at Microsoft.Azure.Cosmos.Routing.GatewayAddressCache.TryGetAddressesAsync(DocumentServiceRequest request, PartitionKeyRangeIdentity partitionKeyRangeIdentity, ServiceIdentity serviceIdentity, Boolean forceRefreshPartitionAddresses, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.AddressResolver.TryResolveServerPartitionAsync(DocumentServiceRequest request, ContainerProperties collection, CollectionRoutingMap routingMap, Boolean collectionCacheIsUptodate, Boolean collectionRoutingMapCacheIsUptodate, Boolean forceRefreshPartitionAddresses, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.AddressResolver.ResolveAddressesAndIdentityAsync(DocumentServiceRequest request, Boolean forceRefreshPartitionAddresses, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.AddressResolver.ResolveAsync(DocumentServiceRequest request, Boolean forceRefreshPartitionAddresses, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.Routing.GlobalAddressResolver.ResolveAsync(DocumentServiceRequest request, Boolean forceRefresh, CancellationToken cancellationToken)
   at Microsoft.Azure.Documents.AddressSelector.ResolveAddressesAsync(DocumentServiceRequest request, Boolean forceAddressRefresh)
   at Microsoft.Azure.Documents.ConsistencyWriter.WritePrivateAsync(DocumentServiceRequest request, TimeoutHelper timeout, Boolean forceRefresh)
   at Microsoft.Azure.Documents.BackoffRetryUtility`1.ExecuteRetryAsync[TParam,TPolicy](Func`1 callbackMethod, Func`3 callbackMethodWithParam, Func`2 callbackMethodWithPolicy, TParam param, IRetryPolicy retryPolicy, IRetryPolicy`1 retryPolicyWithArg, Func`1 inBackoffAlternateCallbackMethod, Func`2 inBackoffAlternateCallbackMethodWithPolicy, TimeSpan minBackoffForInBackoffCallback, CancellationToken cancellationToken, Action`1 preRetryCallback)
   at Microsoft.Azure.Documents.ShouldRetryResult.ThrowIfDoneTrying(ExceptionDispatchInfo capturedException)
   at Microsoft.Azure.Doc--TRUNCATED--


Alphanumeric attributes

adds support for alphanumeric attributes
updates parser test case
fixes loader test case

Looks good, could you rebase it?

Has been published with 0.4.2


Update WindowsAppSDK-RunTestsInPipeline-Job.yml

Stop running tests on 21h1 OS image because this version has reached end of support, and the image is no longer in the test VM pool.
A microsoft employee must use /azp run to validate using the pipelines below.
WARNING:
Comments made by azure-pipelines bot maybe inaccurate.
Please see pipeline link to verify that the build is being ran.
For status checks on the develop branch, please use TransportPackage-Foundation-PR
(https://microsoft.visualstudio.com/ProjectReunion/_build?definitionId=81063&_a=summary)
and run the build against your PR branch with the default parameters.
For status checks on the main branch, please use microsoft.ProjectReunion
(https://dev.azure.com/ms/ProjectReunion/_build?definitionId=391&_a=summary)
and run the build against your PR branch with the default parameters.

/azp run


Dispatch "Notify" from outside a component context

Hello, is there a way to launch a "Notify" without being inside a component context? I'm implementing a login page and I want to launch a "Notify" at any given time, but I'm out of a component context, thanks for the help right away!

Solved!


False-positive yank report if a crate is in a private registry, but same-named crate from public registry was yanked

Describe the bug
This is dumb, but this actually happened with us. I won't disclose the name of the crate we have in our particular use case, but suppose it's named foo. We have it at the latest version x.y.z in our private crates registry. However, the same-named crate foo exists on crates.io and its version x.y.z was yanked.
To Reproduce
Steps to reproduce the behavior:

Publisn a crate with the same name and version as some existing crate on crates.io. For example, take syn v2.0.19, which is yanked.
Add this new crate from your private registry to another crate as a dependency. In our case, we still use the git-based index (see the offtopic section at the bottom of the issue). We have a config like this:[registries]
private = { index = "https://dl.cloudsmith.io/basic/redacted-org/redacted-repo/cargo/index.git" }

Now run cargo deny check
You'll see an error saying that the crate from the private registry was yanked

Expected behavior
No "yanked crate" advisory should be reported, because the crate comes from our private registry, and it is different from the same-named crate on crates.io
Screenshots
Here is the redacted cargo-deny output:
error[yanked]: detected yanked crate
    ┌─ /home/runner/work/path/to/repo/Cargo.lock:627:1
    │
627 │ foo x.y.z registry+https://dl.cloudsmith.io/basic/redacted-org/redacted-repo/cargo/index.git
    │ ----------------------------------------------------------------------------------------- yanked version

Offtopic
I know Embark uses a private crates registry as well. I wonder if you still sit on a git-based registry index? We can't use the sparse crates registry index because it doesn't support auth tokens. Cloudsmith, for example still provides a way to use the sparse registry, but the auth token in this case must be part of the registry index URL, which in turn means this URL becomes part of Cargo.lock and therefore the secret auth token needs to be committed into source control. This is because the issue https://github.com/rust-lang/cargo/issues/10474 is not done. So.. I just wanted to ask wether it also blocks your migration to spare registry index.

This should have been fixed in #502, are you using a version older than 0.13.8?

Oh, what a coincidence. We've been using 0.13.1 version on CI, and I've been using 0.13.7 locally. I've just updated cargo-deny and it works.
Thank you!


Downloaded RPM, opening it brings up terminal promting for password then crashes

Describe the bug
I'm using Fedora 38. I downloaded the RPM and when I go to open the app, the terminal opens up asking me for my password. Once I put the password in the sniffnet logo and some text that I can't read before the terminal window vanishes/crashes 1 second later after entering my sudo password.
To Reproduce
Describe steps to reproduce the bug, e.g.:

Go to https://www.sniffnet.net/download/ and download RPM
Double click to install it.
Click the icon or "open" button in Software Center
Enter in your sudo password
Watch as it crashs.

Expected behavior
For the GUI to open up and let me use the app. Also why does clicking the icon open up my terminal instead of the GUI app from the start?
Desktop (please complete the following information):

OS: Linux Fedora 38

Additional context
Is this a dependency issue? I did not install any, If so I am pretty new to linux overall still and need help with the exact commands for Fedora specifically to properly install them. Thanks to anyone who can get this working, I really need a GUI based bandwidth monitor and I want to like this one.

I went ahead and sudo dnf installed those 3 but it's still crashing when I open it and type in my password in the terminal.

I had to record it and watch it frame by frame since the terminal crashes in less than a second after typing in the password but this is what I was able to capture before crashing/closing: https://imgur.com/a/lnLpdvu

I also got that error but it was more like a warning in my case because the app was able to correctly run anyway.
I'll come back to you if I have any news.

I remember of a guy who solved this exact problem in #17.
You can check how he solved it.

Something about wgpu and x11. I use wayland on Fedora. Is that why the GUI is not showing up? If so what would the command to fix it be?

I honestly have no idea, but at this point I think that the problem is related to the graphical renderer.
If you have Rust installed, I suggest you to build Sniffnet from the glow-renderer branch, which usually solves renderer-related problems.

Hey @SpaceRaccoonFluff
We changed the building strategy and we are looking for feedback/testers to see if we finally solved this issue.
Could you kindly try the new package available below?
Sniffnet_LinuxRPM_x86_64.rpm.zip
Thanks in advance.


Add support close index on es 2.0

based on #16

Seems reasonable given the other updates, thanks @badlamer !


Feature request: randomized levels

Once play of the game gets high enough, I think it would be cool to have randomized levels.
Care should be taken so that the levels are generated deterministically given a PRNG state. The PRNG seed could be made available so players could share it and compete with each other and replay a given generated level.
Also, if the level generator is deterministic, there could be a "level of the day" that can be generated without needing a server. The day's PRNG seed could be generated based on the date.
This could enable leaderboards later on for the daily levels. Of course, the trick with this would be that players would need to submit their code so the leaderboard server could verify their score. If players only submitted their scores to the server, it would be trivially easy to submit fake scores.

I know that a web-based version was mentioned in another ticket. Imagine a leaderboard system where people could watch each other's replays, too. So many possibilities!

Imagine a leaderboard system where people could watch each other's replays, too. So many possibilities!

Yeah, that's my main motivation behind the web version, adding a hint of competitiveness to a game that's currently played from your terminal.

Of course, the trick with this would be that players would need to submit their code so the leaderboard server could verify their score.

This is how it currently works 🙂

Once play of the game gets high enough, I think it would be cool to have randomized levels.
Care should be taken so that the levels are generated deterministically given a PRNG state. The PRNG seed could be made available so players could share it and compete with each other and replay a given generated level.
Also, if the level generator is deterministic, there could be a "level of the day" that can be generated without needing a server. The day's PRNG seed could be generated based on the date.

I'm very interested on this, and it's being asked over and over. I'm gonna close this issue and create a new one to centralize this idea in case someone wants to play around in this direction.
Thanks for the thoughtful issue!


Updated examples in README.md

Fixed formatting errors in the README.md
Fixed example 3, which was lacking a comma
Changed objects in example 1 from const to var for consistency
Removed a blank line because its existence annoyed me
Author:    Jacob Bowers<EMAIL_ADDRESS>Signed-off-by: Eric Windisch<EMAIL_ADDRESS>

Thanks @Solitaire96 ! Note that I squashed your changes, submitted this new PR, and will be merging them as one!


[BUG] OpenSearch version explicitly specified in CI.yml file

What is the bug?
Currently, the CI.yml file explicitly specify opensearch.version property. Interestingly, as of writing it slightly differs from the version specified in build.gradle.
My questions are:

Is there any benefit in specifying opensearch version in CI file? Is it not enough that opensearch version is actually specified in build.gradle file?
Does it mean that plugin authors maybe interested in running their CI workflow against different version of opensearch than what their build script depends on? And if there is such a case shouldn't it be documented so that plugin authors know how and when to specify different versions?

FYI we let you specify -Dopensearch.version to allow building for a different distribution at the same time since all versions have to match (e.g. 1.3.0-SNAPSHOT vs. 1.3.0). So no need to have it in the CI yml, thanks for the change!

we let you specify -Dopensearch.version to allow building for a different distribution at the same time since all versions have to match (e.g. 1.3.0-SNAPSHOT vs. 1.3.0)

@dblock Do you if this is documented? Would be nice to have it into the docs along with some explanation.

we let you specify -Dopensearch.version to allow building for a different distribution at the same time since all versions have to match (e.g. 1.3.0-SNAPSHOT vs. 1.3.0)

@dblock Do you know if this is documented anywhere? Would be nice to have it in the docs along with some explanation.

I think we could add something to https://github.com/opensearch-project/opensearch-build/blob/main/src/build_workflow/README.md regarding this. Want to give that doc a read and maybe PR something?

Actually we do document this in https://github.com/opensearch-project/opensearch-plugins/blob/main/BUILDING.md#always-build-snapshot-artifacts.


Update Composer dependencies (2024-06-21-00-18)

Visual regression test passed!
View the visual regression test report


Test previous runner

Testing if test issue is related with the runner version

@moisses89 can we close this?


Installtation issue in master branch with adding the docker-compose-ember.yml from elastic search

When trying to install from master branch with adding the docker-compose-ember.yml file we got an application running in 9002 port but  nothing is running in 9001. and in logs, we got this error also ""Caused by: java.net.UnknownHostException: datahub-gms""(docker logs datahub-frontend-react --tail 100 -f)

Assuming this is a duplicate of https://github.com/linkedin/datahub/issues/3565 Let's consolidate into one.

closing as there has been no activity on this one


Community Meeting March 15, 2022

At 11am Eastern, 8am Pacific, 3pm UTC; find your time
Video call link: https://meet.google.com/ohf-kwvd-mrp
Or dial: (US) +1<PHONE_NUMBER> PIN: 936<PHONE_NUMBER>#
More phone numbers: https://tel.meet/ohf-kwvd-mrp?pin=9361820877398
Or join via SIP<EMAIL_ADDRESS>Meeting recordings available on YouTube at https://www.youtube.com/channel/UCfP_yS5uYix0ppSbm2ltS5Q
This issue will collect prospective agenda topics. Add topics you'd like to discuss below!

P4 scope discussion

static deployment YAML for syncer installation (#418)
determining which resources should be synced to clusters (P4)

service accounts, creation & authentication merged 🎉
sercice account syncing into workload clusters in the works (@jmprusi)

CRDB investigation update.

KCP use case question.

Prototypes as e2e

Next: https://github.com/kcp-dev/kcp/issues/751
Recording: https://youtu.be/6ricq5o_YqU


[Event Request] Table 210 "Job Journal Line".CopyFromResource

Please add new event
    local procedure CopyFromResource()
    var
        Resource: Record Resource;
    begin
        Resource.Get("No.");
        CheckResource(Resource);
        //----------------------------------------OnBeforeAssignResourceValues:BEGIN
        OnBeforeAssignResourceValues(Rec, Resource, CurrFieldNo);
        //----------------------------------------OnBeforeAssignResourceValues:END
        Description := Resource.Name;
        "Description 2" := Resource."Name 2";
        "Resource Group No." := Resource."Resource Group No.";
        "Gen. Prod. Posting Group" := Resource."Gen. Prod. Posting Group";
        Validate("Unit of Measure Code", Resource."Base Unit of Measure");

        OnAfterAssignResourceValues(Rec, Resource, CurrFieldNo);
    end;

    //----------------------------------------OnBeforeAssignResourceValues:BEGIN
    [IntegrationEvent(false, false)]
    local procedure OnBeforeAssignResourceValues(var JobJournalLine: Record "Job Journal Line"; Resource: Record Resource; CurrFieldNo: Integer)
    begin
    end;
    //----------------------------------------OnBeforeAssignResourceValues:END

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Save the Lucene index per role

Each Orchard instance should use the name of the current VM to store the lucene index.
It can be done by having a service providing the name for this folder in the Lucene module. A custom feature would be able to use the VM name. We already have an implementation to get the name of the running VM.

Or share the Lucene indices between nodes? On Azure it can be done through Blob Storage (https://orchardazureindexing.codeplex.com/), otherwise a shared drive can be used I think.

This only fixes the storage, not that two writers can be open at the same time on the same storage, and lead to corrupted indexes. I am not sure at what level the concurrency can be handled in Lucene, but if it was easy to handle, then the FileDirectory would do it for sure and lock concurrent writers.

I can see the lock is implemented in the azure directory you are mentioning.

Yes. I guess this is somehow possible with local index too.
Especially it would be better not to duplicate indices because this would need us to change the background indexing batching so it's node-aware and does the full indexing on all nodes. Not to mention we'd do the indexing job two times, which doesn't really look nice.

This is how the indexing has been designed, each node does it's own, as long as they have different file systems. This is why it works in cloud services. The indexing table is the same (what to index) but each node stores it's indexing cursor locally. With Web Apps both local cursor storage and indices are broken.
I like the AzureDirectory implementation, but I am afraid of the licencing restrictions. And it would also require that the cursor logic is extensible so that it's stored globally, and only one node would do the indexing.

I see, my mistake then.
It's the MIT license, open source, and our module is Simplified BSD so I don't see an issue.


esdoc-coverage-plugin: Add coverage kind option

Not include in coverage such as constructor, variable, etc..
esdoc-coverage-plugin add coverage kind option.

@jaxx2104 Thanks!


rfc: networkscenemanager refactoring and additive scene loading

This is the RFC for MTT-820
Link to view the RFC
Summary
In order for users to be able to effectively use additive scene loading and benefit from multi-scene editing workflows there are some additional features and refactoring needed with NetworkSceneManager.
Acceptance Criteria

Scene loading and transitioning (non-additive) still works as expected.
Additive scene loading works with:
Scene Transitioning
Late Joining
Network Prefab Overrides
Custom Prefab Overrides
NetworkObject Pooling

Users should be able to implement various additive scene usage patterns commonly used in Unity today with the only distinguishing differences revolving around the requirements of the NetCode implementation.

do you think this RFC is up-to-date and good to go by now @NoelStephensUnity ?


rubocop: generate_completions DSL

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

related to #13536
cc @Rylan12
I have achieved to implement a preliminary RuboCop, but I will appreciate any feedback, since I'm sure there's room for improvement.
The Cop is able to correct
(bash_completion/"foo").write Utils.safe_popen_read(bin/"foo", "completions", "bash")

but I have been unable to come up with a solution to get and replace with all shells whilst only walking the AST once.
The Cop also warns for the
output = Utils.safe_popen_read(bin/"foo", "completion", "bash")
(bash_completion/"foo").write output

pattern, but has no corrector, as discussed in #13536.
Please feel free to push any commits improving my implementation 😄

but I have been unable to come up with a solution to get and replace with all shells whilst only walking the AST once.

Not sure, I guess I haven't tried. I think you could probably write a pattern that checks for multiple instances right after each other. That would probably be pretty easy to implement. You also could probably do something like this (not tested at all):
def audit_formula(_node, _class_node, _parent_class_node, body_node)
  install = find_method_def(body_node, :install)

  completion_nodes_to_fix = []

  correctable_shell_completion_node(install) do |node, shell, base_name, binary, cmd, shell_parameter|
    ...

    # Instead of calling `offending_node` and `problem`:
    completion_nodes_to_fix << [node, replacement]
  end

  completion_nodes_to_fix[0...-1].each do |node, _|
    offending_node(node)
    # The wording here is terrible but is just an example
    problem "Use a single `generate_completions` call to generate completions" do |corrector|
<EMAIL_ADDRESS>"")
    end
  end

  # Create the single `generate_completions` call
  offending_node(completion_nodes_to_fix.last.first)
  problem "Use `#{replacement}` instead of<EMAIL_ADDRESS>do |corrector|
<EMAIL_ADDRESS>replacement)
  end
end

That's just an example, I haven't thought through the logic very thoroughly so there might be a better way to do it.
If those don't work, you could probably write a separate rubocop that combines all of the individual generate_completions calls into one combined call.

Looks good so far! Unit tests for this should make it much easier to test.

Ah yes, I forgot to mention tests in my initial comment. RuboCop tests are, luckily, pretty easy to make. I'd recommend looking at the ShellCommands test since it will be almost identical to what you need here. Happy to give more guidance if needed!

Thank you for the feedback and helpful example code! I'll update the PR with the proposed changes as soon as I refactored the DSL PR, and will also include Unit Tests when doing so.

Hello there! I have updated the PR to reflect the changes made in the DSL PR, and also included some other fixes.
I have also added another Cop to combine multiple calls with different shells into one.
The only thing I haven't been able to figure out is how to instruct the corrector to also remove the empty lines left behind, as can be seen in the homebrew/core example PR. I have looked into the source_range argument without success, but maybe @Rylan12 can give me a hint 😄

Can the tests be moved to their own file in test/rubocops/lines/generate_completions_spec.rb?

Sure, done!

I have now extended the tests. 😄
Now that https://github.com/Homebrew/homebrew-core/pull/105707 is also merged, this should be good to go if CI passes 🎉

Yeah, I'm gonna need some help with that CI error...
I feel like I am missing a return unless somewhere?
2022-09-05T17:58:39.3127476Z An error occurred while FormulaAudit/GenerateCompletionsDSL cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:39.3130785Z To see the complete backtrace run rubocop -d.
2022-09-05T17:58:39.3134252Z An error occurred while FormulaAudit/SingleGenerateCompletionsDSLCall cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:39.3137255Z To see the complete backtrace run rubocop -d.
2022-09-05T17:58:39.6834742Z An error occurred while FormulaAudit/GenerateCompletionsDSL cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:39.6835363Z To see the complete backtrace run rubocop -d.
2022-09-05T17:58:39.6836495Z An error occurred while FormulaAudit/SingleGenerateCompletionsDSLCall cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:39.6838375Z To see the complete backtrace run rubocop -d.
2022-09-05T17:58:40.0134391Z
2022-09-05T17:58:40.0135188Z 2 errors occurred:
2022-09-05T17:58:40.0136425Z An error occurred while FormulaAudit/GenerateCompletionsDSL cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:40.0137372Z An error occurred while FormulaAudit/SingleGenerateCompletionsDSLCall cop was inspecting /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-portable-ruby/Abstract/portable-formula.rb:72:0.
2022-09-05T17:58:40.0154164Z undefined method `metadata' for nil:NilClass
2022-09-05T17:58:40.0156644Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:79:in `display_error_summary'
2022-09-05T17:58:40.0157372Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:58:in `display_summary'
2022-09-05T17:58:40.0158062Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:27:in `block in execute_runner'
2022-09-05T17:58:40.0158740Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:52:in `with_redirect'
2022-09-05T17:58:40.0159393Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:25:in `execute_runner'
2022-09-05T17:58:40.0160202Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command/execute_runner.rb:17:in `run'
2022-09-05T17:58:40.0160832Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/command.rb:11:in `run'
2022-09-05T17:58:40.0161427Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli/environment.rb:18:in `run'
2022-09-05T17:58:40.0162020Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli.rb:72:in `run_command'
2022-09-05T17:58:40.0162602Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli.rb:79:in `execute_runners'
2022-09-05T17:58:40.0163177Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.35.1/lib/rubocop/cli.rb:48:in `run'
2022-09-05T17:58:40.0163588Z /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/utils/rubocop.rb:12:in `<main>'

I can reproduce the failure if I have a formula containing only an install def, but I don't know why the cop should fail then... We are not calling #metadata anywhere...
E.g.
class Foo < Formula
  def install
    (bash_completion/"foo").write Utils.safe_popen_read(bin/"foo", "completions", "bash")
  end
end

Also, the cask audit test failures should be unrelated.

Or: should we simply scope this cop to the core tap? The run for all core formulae was fine.

Yay, all green now! (except for the unrelated tests) Thanks again!
That should be everything now for the new DSL 🎉

@SMillerDev the current CI issues (which are occurring for me locally even on the master branch) seem to caused by or related to https://github.com/Homebrew/brew/pull/13746. Any ideas?
Weirdly, I can see the errors if I run brew tests --only=cask/audit but if I add a line number e.g. brew tests --only=cask/audit:6 (which should just run all the tests) I don't see an error.

I have no idea, it passed for me and in CI.

Failures likely fixed by #13813.

Failures likely fixed by #13813.

Curiously, they are still present 🧐
Do I need to rebase?

Do I need to rebase?

Yes, probably.

Thanks so much for all of your work on this, @max-ae! 🎉


Filters for trakt.tv collection and watched stuff

4 plugins to accept or reject movies and episodes by the user's trakt.tv activity.

@tarzasai it seems this PR was missed...
I haven't looked at your code yet. Before i do can you confirm this is still valid, working and used?

This is broken since the big trakt.tv-2.0 mess and I don't know if they have yet restored all the required stuff. Frankly, I wrote my own tracking system (my last PR) so I don't really care.

@tarzasai I saw that PR. I'll review it when i get a chance but i think i'll need get some of the other guys to have a read as well.. thanks.