Secrets mounting limited by kubernetes client throttling

Describe the bug
We routinely see errors like in the secrets store driver
"failed to mount secrets store object content\" err=\"rpc error: code = Unknown desc = rate: Wait(n=1) would exceed context deadline\" pod=\"<some-pod-name>\""

And in many cases we see corresponding errors in csi aws provider:
Failed to initialize AWS session\" err=\"rate: Wait(n=1) would exceed context deadline\"

The latter is coming from https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/c02c72deeebe81ae44cc00d9b931043f30455b82/server/server.go#L130.
The issue is I don't know what that error means. It looks to me like client-side throttling, but I'm unsure what the fundamental error is. I'm guessing that there is actual AWS server-side rate-limiting going on, but I'm not finding ThrottlingException or Rate exceeded or something definitive, and it is notoriously a pain to work backwards from CloudTrail.
This typically happens in the vicinity of upgrading services or draining nodes/scheduling onto new nodes, and it is node-specific. The node itself has free CPU and memory while these errors occur.
To Reproduce
Steps to reproduce the behavior:
We tend to find this when draining a node of ~50 pods, each with 3-10 secret mounts.
Do you also notice this bug when using a different secrets store provider (Vault/Azure/GCP...)? No
If yes, the issue is likely with the k8s Secrets Store CSI driver, not the AWS provider. Open an issue in that repo.
Expected behavior
Failed to initialize AWS session reports a meaningful error or some contingent error is separately logged.
Environment:
OS, Go version, etc.
Additional context
Add any other context about the problem here.

Also when I look at the csi-driver-provider logs for Servicing mount request for pod <some-pod-name>, I don't see evidence of an exponential backoff

Maybe that would be the secrets-store-driver's responsibility.

Thank you for reporting the issue. We are looking into the request.

One more observation in my testing -- it appears something seems to go wrong when the node is under high load, which happens when many pods are scheduled at the same time.

The gap corresponds to the node being pegged. As the resources recover, pods stuck pending on the node continuously fail due to the aforemented errors indefinitely. Deleting those pods or restarting the csi-driver-provider-aws resolves the scheduling issue. The latter peaks in the graph correspond to my restarting the driver and many pending pods successfully lifting all at once.
So, it appears like the AWS session-per-pod in the csi-driver-provider-aws is broken indefinitely when pods are scheduled on a node with high load.

@dindurthy : The recent example you shared seems to be separate issue from the original exception handling issue.  If you are still experiencing this issue please open a support case with AWS.

Ok, I was able to make some progress and I believe the issue is kubernetes go client rate limiting.
I upgraded to latest which didn't solve the problem but improved the logging.
During an application upgrade or draining other nodes, we may schedule ~20-40 pods on a node and many of those pods have up to 30 secrets mounts/pod. The csi-secrets-store-provider-aws pod hits client rate limiting and pods become "stuck".
For a while, initially, we see these occasional errors:
Waited for 16.996690473s due to client-side throttling, not priority and fairness, request: POST:https://<IP_ADDRESS>:443/api/v1/namespaces/services/serviceaccounts/redoxengine-default/token",

at a rate of 0-10/minute. This looks normal. Some pods successfully lift, but at some point, pending pods get stuck. All pods emit these errors:
\"failed to mount secrets store object content\" err=\"rpc error: code = Unknown desc = us-east-1: client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline\" pod=\"services/redoxengine-cardinal-api-priority-674d4b5d5-thskl\"",

These are all definitely kubernetes go cli errors, e.g. this and this.
At this point, pods are stuck indefinitely. Sometimes they lift after 20-30 minutes -- not always -- but typically we intervene or rollback. I examined the API actions that are happening by the csi pod. It looks like we are doing 3 kinds of lookups:

1 node lookup/pod/mount attempt
1 pod lookup/pod/mount attempt
1 service account token create/pod/mount attempt

There may be more that I am missing. Unsurprisingly, each of these calls occur per Mount execution. It is not very efficient and there is no caching, and all of these API calls are necessary for the pods to schedule. So I believe we are in a storm of pods that attempt to node-lookup, pod lookup, token create, error, get throttled, and eventually the wait on the throttle would exceed the context deadline for these calls so they don't actually wait -- they just cancel -- and no mount attempt can actually succeed in order to relieve the pressure.
Mounting many classes/pod is not scalable. Seems like there could be a lot done to make this more efficient. I would be good to document some of these considerations somewhere -- maybe they are documented and I missed it. Minimizing the secrets/pod I think is our only option without significant enhancements. Possibly exposing kubernetes cli options could give us something to work with. But some kind of caching seems like the only option long term.

Hi @dindurthy. I know it's been a while since this was reported, but we recently discovered another customer case where client-side rate limiting was being hit. There is a default QPS limit of 5.0 and Burst of 10 in the Kubernetes Go client which is used. This can be changed by adding cfg.QPS = 20.0 and cfg.Burst = 40 (adjusting for whatever numbers you feel work for your environment) above the line in this file. We have added a backlog item to make this configurable for customers in the future.

Closing this since we've made these options configurable for the future for our plugin. Keep in mind that you may have to also configure qps and burst in the Kubernetes CSI Driver itself.


Fix mount/unmount path of iscsi driver.

The AttachDisk and DetachDisk methods were appending volume name to the supplied target path which was causing the disk to be mounted at wrong path. Further the unmounting of the disk fails as kubelet could not find any mounted device at the actual mount path. This commit removes the appended volume name.
fixes https://github.com/kubernetes-csi/drivers/issues/88

@princerachit this looks good.

/lgtm


the code is not working

  'API KEY',
   'apiSecret' => 'API SECRET',
   'apiCallback' => callback url'
 ));
 $loginUrl=$instagram->getLoginUrl();
 ?>

Instagram - OAuth Login

It helps to mention errors and to format your code for readability.

Try using the example first. Be sure to use the success.php file as your uri redirect when requesting for a client id. If you're on a windows, you can try using <IP_ADDRESS>/navigating to where success.php is.


[1.12.2-1.2.3] Missing model for Lightwood planks

I think this screenshot should speak for itself :

Got it from the creative tab, has missing texture for both the item and the block.

Looks like an issue in 1.11 too


Passing Chrome version through pom.xml

I have to pass params to Selenoid from pom.xml (Surefire plugin) but seem to be unable do that for Chrome version. Whatever I do it doesn't get recognized by Selenoid making it fall back to default Chrome version specified in browsers.json.
Here is what I have in logs:

Here is what I have in pom.xml (<> replaced with []):

Any clues on how to do that? I failed to find any useful info on the Internet.

As i can see version did not set, it comes as empty string, that is why
selenoid using default from browsers.json...
ср, 8 мая 2019 г., 19:21 Roman Titov<EMAIL_ADDRESS>
I have to pass params to Selenoid from pom.xml (Surefire plugin) but seem
to be unable do that for Chrome version. Whatever I do it doesn't get
recognized by Selenoid making it fall back to default Chrome version
specified in browsers.json.
Here is what I have in logs:
2019/05/08 19:04:13 [-] [NEW_REQUEST_ACCEPTED] [unknown] [<IP_ADDRESS>]
2019/05/08 19:04:13 [24375] [LOCATING_SERVICE] [chrome] []
2019/05/08 19:04:13 [-] [DEFAULT_VERSION] [Using default version:
74.0.3729.108]
2019/05/08 19:04:13 [24375] [USING_DRIVER] [chrome] [74.0.3729.108]
2019/05/08 19:04:13 [24375] [ALLOCATING_PORT]
Here is what I have in pom.xml (found somewhere on Github):
...
org.apache.maven.plugins
maven-surefire-plugin
...
...
chrome
71.0.3578.80
...
Any clues on how to do that? I failed to find any useful info on the
Internet.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aerokube/selenoid/issues/728, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKY23NUP35PBX7DGZRTPBLPUL4Z3ANCNFSM4HLTHCYA
.

Yes, and the question is how to set it in pom.xml?

<chrome.capabilities.version>${chrome.version}</chrome.capabilities.version>


Rebuild InstanceAddressURL to ServiceConfigURL for LazyConnectExchangeClient

…eClient
What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #9041 (779dda7) into 3.0 (54b27a9) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                3.0    #9041      +/-   ##
============================================
+ Coverage     64.20%   64.25%   +0.05%
- Complexity      312      313       +1
============================================
  Files          1168     1168
  Lines         50158    50194      +36
  Branches       7439     7466      +27
============================================
+ Hits          32204    32254      +50
- Misses        14427    14429       +2
+ Partials       3527     3511      -16

Impacted Files
Coverage Δ

.../rpc/protocol/dubbo/LazyConnectExchangeClient.java
56.38% <100.00%> (+0.46%)
:arrow_up:

...dubbo/common/status/support/LoadStatusChecker.java
46.15% <0.00%> (-20.52%)
:arrow_down:

...ng/transport/dispatcher/all/AllChannelHandler.java
68.96% <0.00%> (-13.80%)
:arrow_down:

...in/java/org/apache/dubbo/common/utils/JVMUtil.java
81.13% <0.00%> (-11.33%)
:arrow_down:

...ng/transport/dispatcher/WrappedChannelHandler.java
47.82% <0.00%> (-10.87%)
:arrow_down:

.../remoting/transport/netty4/NettyClientHandler.java
58.62% <0.00%> (-6.90%)
:arrow_down:

...ng/exchange/support/header/HeartbeatTimerTask.java
68.42% <0.00%> (-5.27%)
:arrow_down:

...nt/metadata/StandardMetadataServiceURLBuilder.java
86.04% <0.00%> (-4.66%)
:arrow_down:

...ubbo/remoting/exchange/support/DefaultFuture2.java
42.85% <0.00%> (-1.59%)
:arrow_down:

...pache/dubbo/registry/support/AbstractRegistry.java
78.26% <0.00%> (-1.45%)
:arrow_down:

... and 47 more

Continue to review full report at Codecov.

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


use type switch with var assignment

This makes it possible to avoid redundant type assertions.
Found with https://go-critic.github.io/overview#typeswitchvar

Pull Request Test Coverage Report for Build 46

4 of 8 (50.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.819%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

types/types.go
2
3
66.67%

sqlx.go
2
5
40.0%

Totals

Change from base Build 32:
0.0%

Covered Lines:
1078

Relevant Lines:
1501

💛  - Coveralls


Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

I signed it!

On 16 Apr 2020, at 19:18, googlebot<EMAIL_ADDRESS>wrote:
I signed it!


Select multiple

Is there any support for select with multiple tag?
I've tried to use $('select').material_select() in <select multiple> but it's render the single select type.

We do not support that at the moment. You could use checkboxes?

Sure, It's pretty amazing =D
Thanks for the answer!

Do you know another stylized component that does the same?
I need to use select multiples because I have a large collection data.
Thanks


Create check to compare theme files

UI Version: 0.9.2
Description:
A sometimes the theme json files do not hold the same set of variables, I propose we create a check that they do.

i am strongly against spending more time maintaining two themes. #993

As we remove the themes I am closing this


32533302330030021330290023330050050010031333005005001003302a00330280023001001222533302400213374a900125eb804c8c94ccc084c00c0084cdd2a40006604e00497ae013330050050010033028003302600214a22a6603c9215f28636f6e0a2020737472696e670a202022726573756c745f73656e745f746f5f6f776e5f616464726573735f6d6174636828696e707574732c206f7574707574732c206f75747075745f7265666572656e636529203f2046616c7365220a290014a0980103d87a80004c0103d87980004bd701919199119801801119191981199299981199b87480000044c8c8c8c8c8c94ccc0b8c0c40084cc0a8cc08c0148c8c8cc0b4c94ccc0b4cdc3a4000002264646464a66606c60720042930a99819a481334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a606e002606e0046eb4c0d4004c0ac00c54cc0bd2413a28636f6e20737472696e672022436f6e73747220696e64657820646964206e6f74206d6174636820616e7920747970652076617269616e7422290016302b0023302d32533302d3370e90000008991919191919299981c181d8010a4c2a6606a921334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a607200260720046eb4c0dc004c0dc008dd6981a80098158010a99817a4813a28636f6e20737472696e672022436f6e73747220696e64657820646964206e6f74206d6174636820616e7920747970652076617269616e7422290016302b001498c0bc008c0b400526153302b491334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a605e002605e0046eb8c0b4004c0b4008dd5981580098108010a99812a4813a28636f6e20737472696e672022436f6e73747220696e64657820646964206e6f74206d6174636820616e7920747970652076617269616e7422290016302100153330223370e6eb4cc078c080005200400413374a900019814000a5eb804cdd2a400497ae03028001301e3253330213370e9002181000088008a99811a4812a4578706563746564206f6e20696e636f727265637420636f6e7374727563746f722076617269616e742e00163301c301e3301c301e0014800920040110033001001222533302300214bd70099191919299981119b87480080044ccc01c01c00c0144c8c8cc0a8004ccc02402401401cc0a8004c080008c080004c00c008c09c00cc094008dd6981080098108011bae301f001301500f14a0602a01c4464646466e95200033020374e006660406ea40052f5c06664446660100060020040044466446016664466e28008004008004008004004c01922100330060022300200130010012222533301c0031002132323333006006001330030040020033020004375c603c00646e48004c0040048894ccc06000852f5c026464660366ea4c00c008ccc01401400400cc07000cc068008c004004894ccc0540045288991929998090010998020020008a5030190023370e900118099baa301700137586601260166601260160089000240086eb0cc020c028cc020c02800d200048000c048004c020c94ccc02ccdc3a4004601400220022a6601a92012a4578706563746564206f6e20696e636f727265637420636f6e7374727563746f722076617269616e742e001633006300800148008526163001001222533300d00214984cc024c004c03c008ccc00c00cc040008004cc0040052000222233330073370e00200601c4666600a00a66e00011200230100010020022300737540024600a6ea80055cd2b9b5738aae7555cf2ab9f5740ae855d11

@matiwinnetou do you have that on a branch that I could try on the hydra-voting-poc repository?

I have it locally and you would have to compile a few snapshots from other projects, it is not exactly development friendly right now.

(I am only interested in the Aiken code though).

aiken code will be easy peasy

Check this branch:
To github.com:cardano-foundation/hydra-voting-poc.git
   c5a630d..4816c3d  hydra-l2 -> hydra-l2

You may need to enable yourself a few traces, I disabled a few of them.

Fix is now live.

I am getting the following exception now:
mati@Mateuszs-MBP on-chain % aiken build -k
    Compiling Cardano-Fans/acca 7fa74a150150920efa4f8e23f7f80715ef071b3a (/Users/mati/Devel/OpenSource/hydra-voting-poc/on-chain/build/packages/Cardano-Fans-acca)
    Compiling cardano-foundation/hydra-voting-poc 0.0.1 (/Users/mati/Devel/OpenSource/hydra-voting-poc/on-chain)
   Generating project's blueprint (/Users/mati/Devel/OpenSource/hydra-voting-poc/on-chain/plutus.json)
Error:
  × Main thread panicked.
  ├─▶ at crates/uplc/src/optimize.rs:16:68
  ╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "aiken/cbor_diagnostic", unique: Unique(40) })
  help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.

So yes issue is fixed but it actually went into some new issue.


update test-infra to the latest version

Part of https://github.com/knative/test-infra/issues/844
Proposed Changes
Fixing the forbidden images in the nightly release.
Release Note

NONE

/assign @grantr


#302: Added plugin support for GraalVM

Implements: #302
Enables the install-plugin and uninstall-plugin command for graalvm.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 66.749%

Files with Coverage Reduction
New Missed Lines
%

com/devonfw/tools/ide/tool/graalvm/GraalVm.java
12
45.45%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.06%

Covered Lines:
6267

Relevant Lines:
9047

💛  - Coveralls

@KianRolf
I should not do coding in the browser during review but I wanted to do a constructive review to get this resolved and merged asap.
I found this in the final review:

pc.executable(getToolPath() + "\bin\gu");

Using backslashes in path only works on windows so that would fail on Linux or Mac.
Using slashes works on any OS so if you really want to code slashes always prefer slashes over backslash.
This only got a green build on github action CI build since this feature is not covered by a test.
I extracted a private method since both install and remove methods more or less shared the exact same code except for the String "install" or "remove" passed to gu.
There I also avoiding coding a slash or backslash at all using the resolve method what seems even more elegant.


Handle non-linux version of statfs.

@baldersheim : please review

@vekterli Is this tool  needed, or is it a leftover from yesterday ?
Can we just remove it instead.

I have never used this tool and quite frankly had no idea it existed in the first place 😬 Feel free to remove with a vengeance

Superceeded by #12994


The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first

I get the error when share.

You just check the proper steps if integrating the sdk first before calling the share function


Timeout Exception

Currently, the Java SDK doesn't use the TimeoutException.
On most of the SDK there is three main Exception:

ApiError
CommunicationError
TimeoutError

It would be nice to implement a timeout catch everywhere where it would be necessary.
You can check as an example the Python SDK where the exception is implemented and used.

HI @alallema I'm wondering if this issue is still open?

HI @trangntt-016,
Thank you for your interest, yes this issue is still open!

Closed #438


Podman Extension - Unable to activate

Bug description
Fresh installation of Windows 11, with all available updates applied.
Hardware: Lenovo M720q
I have installed both Podman CLI (first) and Podman Desktop (second). Podman CLI installation initially fails after a restart, however, once I have uninstalled the 5.3.1 version and installed 5.3.0 it seems to install fine.
Podman Desktop goes through the installation process, installs Compose successfully. Once the Dashboard is visible I get prompted to set up Podman. The "Set up" button takes me to a blank page.
The Extensions tab shows Podman Extension status as "FAILED". Reason for this, according to the error log is that the extension activations times out. Once given more time to activate becomes stuck at "ACTIVATING".
I'm able to to make Podman work through the command line by initializing the Podman machine through podman machine init and podman machine start. Once that's done Podman appears as "RUNNING" on the Podman Desktop dashboard and I'm able to create containers through the command line.
Video of Podman Desktop being installed on the Lenovo M720q: https://youtu.be/GFcTrWmXIfM
Note: Attached log has been generated after manually initializing and starting the Podman machine.
Note 2: This is my first bug report, happy to hear any feedback.
Operating system
Windows 11, OS build 22631.4602
Installation Method
Installer from website/GitHub releases
Version
1.14.1
Steps to reproduce

Download and install Podman CLI from the official website
Download and install Podman Desktop from the official website
Podman Desktop installs Compose
Podman Desktop recognizes Podman CLI installation, asks for the extension to be set up
Press the "Set up" button - Podman Desktop will take you to an empty page
Head to Extensions tab instead and Press the play icon underneath the Podman Extension
Podman Extension is stuck at "ACTIVATING"

Relevant log output
PS C:\Users\afryd> podman info
host:
  arch: amd64
  buildahVersion: 1.38.0
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
  conmon:
    package: conmon-2.1.12-2.fc40.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.12, commit: '
  cpuUtilization:
    idlePercent: 98.29
    systemPercent: 1.05
    userPercent: 0.66
  cpus: 4
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: container
    version: "40"
  eventLogger: journald
  freeLocks: 2048
  hostname: DESKTOP-4FBVOR2
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 524288
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 524288
      size: 65536
  kernel: <IP_ADDRESS>-microsoft-standard-WSL2
  linkmode: dynamic
  logDriver: journald
  memFree:<PHONE_NUMBER>
  memTotal:<PHONE_NUMBER>
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.13.1-1.fc40.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.13.1
    package: netavark-1.13.0-1.fc40.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.13.0
  ociRuntime:
    name: crun
    package: crun-1.18.2-1.fc40.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 1.18.2
      commit: 00ab38af875ddd0d1a8226addda52e1de18339b5
      rundir: /run/user/1000/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20241030.gee7d0b6-1.fc40.x86_64
    version: |
      pasta 0^20241030.gee7d0b6-1.fc40.x86_64
      Copyright Red Hat
      GNU General Public License, version 2 or later
        <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
  remoteSocket:
    exists: true
    path: unix:///run/user/1000/podman/podman.sock
  rootlessNetworkCmd: pasta
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: true
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree:<PHONE_NUMBER>
  swapTotal:<PHONE_NUMBER>
  uptime: 0h 36m 53.00s
  variant: ""
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - docker.io
store:
  configFile: /home/user/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /home/user/.local/share/containers/storage
  graphRootAllocated:<PHONE_NUMBER>832
  graphRootUsed:<PHONE_NUMBER>
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Supports shifting: "false"
    Supports volatile: "true"
    Using metacopy: "false"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 1
  runRoot: /run/user/1000/containers
  transientStore: false
  volumePath: /home/user/.local/share/containers/storage/volumes
version:
  APIVersion: 5.3.1
  Built:<PHONE_NUMBER>
  BuiltTime: Wed Nov 20 16:00:00 2024
  GitCommit: ""
  GoVersion: go1.22.7
  Os: linux
  OsArch: linux/amd64
  Version: 5.3.1

Additional context
I have been able to reproduce it on two different machines and at least three times on the Lenovo M720q.
The installation process/flow fails every time on a fresh install of Windows 11. I've tried using older Podman CLI versions (5.30), as I've tried a different machine.
There are additional issues that interrupt the install process, such as the missing '.ssh' directory if there were no SSH sessions carried out with the machine prior to installing Podman CLI/Desktop. I'm not sure if they are within the scope of this bug report.
My expectations are: I should be able to sucesfully install Podman CLI and Desktop by following the steps outlined in the installers and onboarding screens and at the end of it have Podman Desktop ready to create containers.
It's important to me, because I'm working on creating a video guide that promotes self-hosting and open-source software and I chose to go with Podman due to project's nature.

hello @RoseyWasTaken could you give a try to the nightly build of Podman Desktop
https://github.com/podman-desktop/prereleases/releases
We changed the way the podman extension is activating itself.
Thanks

While the installation flow is different in the nightly build of Podman Desktop, I'm still unable to end up with a functional Podman Machine at the end of the installation process.
Now, Podman Machine can not be created. Please see the screenshot -
Note that, I hoped to use WSL as the virtualization provider - because of that I ticked the "Install WSL v2" checkbox during Podman CLI installation. I'm not sure if it was successful to do so.

@RoseyWasTaken Hello there, the last pic suggests that you are running Podman Desktop as Administrator, and you have not fully configured WSL (maybe also restart missing).
So, in order to create podman machine using WSL you need to enable windows feature (Virtual Machine Platform). Then you need to run wsl --install --no-distribution via powershell. Restart it needed. Then you should open Podman Desktop without admin rights (should not be condition, one can have both WSL/VMP and hyperv features enabled and configured and run PD as admin to have option to create machine with either WSL or hyperv virtualization provider - in that case there is a selection in the Create new machine page).


Scroll to the top of the viewport after selecting language on mobile

Fix for #2 does not work on mobile.

Has been fixed in the meantime.


Refactor server a bit

Too many merge conflicts to keep this open, will close, please resubmit when the merge conflicts are sorted out.


Update README.md

Description

Motivation and Context

Screenshots (if appropriate)
Upgrade notes (if appropriate)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue) labeled with bug
[ ] New feature (non-breaking change which adds functionality) labeled with enhancement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code standards of this project.
[x] My change requires updating the documentation. I have updated the documentation accordingly.

I have read the Dynamic Solutions Individual Contributor License Agreement (CLA) Document and I hereby sign the CLA

recheck


Updated README.md to reflect current port behavior

No longer set up a port in index.html to focus text fields

Thanks!


deploying another aws service (s3/lambda/cloudformation)

I've been trying hard to deploy an Apex lambda function via LambCi to get the same build environment. I'm having some difficulty.
In my dynamo DB, I've set up a separate AWS credential and region just like the readme. But I get an error similar to https://gist.github.com/cmawhorter/3cf67164414c4a97fcd8
I've also tried every step given in the gist that includes

lambda full access permission
IAM roles full permission

My suspicion is that somehow the AWS credentials that I gave it is being replaced by lambda's own credentials.
here is the repo commit for reference https://github.com/thewillhuang/rancher-in-apex/commits/master
I've also tried to get Apex to run on circle, and it was successful. The commands and the AWS credentials are the same.
so my question is, what's the best way to securely use another AWS credential in a public repo? Or better yet, what am I doing wrong and how to fix it?

@thewillhuang the best way would be to give the Lambda function (LambCI's Lambda function) the correct permissions – so modify LambCI's IAM role accordingly. That way you're not passing credentials around.
Lambda populates the process.env.AWS_* variables every invocation with its temporary credentials, so I'm guessing that's why everything you're trying isn't working. You'd have to override those variables in your function body with your own values (or construct the AWS sdk objects with your own values, not ones from process.env.AWS_*) if you wanted to do it without modifying LambCI's IAM.

Excellent! I got it to work, thank you so much!
Would you ever consider a feature to inject a separate AWS cred then revert to lambCI's lambda AWS credentials after some process? Is that a possibility for lambda's architecture?
I believe there can be a lot of use cases that would prove beneficial. For example, uploading built assets to S3 etc. Would you accept a PR to make such a use case possible?

@thewillhuang well secretEnv can be used for this very purpose – just define variables using different names than the ones Lambda will override and then use them to create your AWS objects.
This use case is possible already and very straightforward – I don't think I'd want to add anything else here. What are you suggesting?

(also, I still believe that modifying LambCI's IAM Role is the most secure way to achieve this, rather than passing around secret keys)

Makes sense! The main problem is that sometimes with other libraries such as Apex, it is not possible to call another ENV unless I fork it and rebuild it from source. Depending on the author of these tools, it's not always something the user has control over. Which is why I think having a way to set a new AWS credential by default and revert to lambda's would be a better developer experience

would be a better developer experience

Well, I respectfully disagree – everyone I know managing other AWS assets from LambCI is using the IAM role for this. I'm not sure how it's a better experience to have to create a whole new set of credentials and define them as variables, instead of just adding capabilities to the existing role without any code at all?
I'm still not entirely sure what you're suggesting here btw – doesn't secretEnv already cover your situation?

You are correct. secretEnv does cover my use case as long as it is not AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY. The main problem is I did set a new AWS credential using secretEnv by editing dynamo DB's table, However, it is being replaced by lambci's AWS credentials.
The ENV being replaced is the part that I don't expect should happen for a CI and it is also the sole reason why I think the developer experience could be better.
Does that clear it up?

@thewillhuang right, but I'm just not sure what you're proposing as a PR? It's Lambda itself that sets those variables (not LambCI) - although of course LambCI relies on them implicitly when communicating with DynamoDB and S3.

Went looking through the code, I get your point now. DynamoDB, S3 are using the AWS credentials implicitly.
I guess if a PR were to be made, I'd export the current lambda injected credentials, under LAMBCI_ AWS_ACCESS_KEY_ID and LAMBCI_ AWS_SECRET_ACCESS_KEY inject explicitly lambda credentials to DynamoDB and S3 on their initialization so they are not using the globals. Finally, override the global credentials with secretEnv, but this time, secretEnv could contain another AWS credential

Looking at your code, I wouldn't pass credentials to my Client function (see Line 43) and would instead rely on the intrinsic AWS.CredentialProviderChain which will discover the IAM role permissions you have given the to Lambda function and assume them as needed.
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html

yeah http://docs.aws.amazon.com/lambda/latest/dg/env_variables.html just found this, looks like bad practice to do so. thanks!

@thewillhaung check out http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role if you haven't found that part.


500 on the demo site

When not authenticated, go to https://www.thredded.com/meta/private/new to get a 500

closed with fd17716


Updated 22.h and main.h

Done the updation in the program to multiply 2 multidimensional matrices.Please check the same
@RKRohk @SahilKr24

I have resolved the previous conflicts of the #8 problem and also updated the #22 problem and also the main.c file. Please check and accept the changes. @SahilKr24

good code.

Thanks


how  achieve Like  Android TextView android:ellipsize="marquee" Such a function？

android code:
<TextView
    android:singleLine="true"
    android:ellipsize="marquee"
    android:text="Still remember you said that the home is the only castle with the rice sweet river continue to run, smiling childhood dream I know"
    android:background="#ed3a37"
    android:textSize="30sp"
    android:textColor="#dadc4c"
    android:padding="10dp"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

flutter Would you consider supporting in [Text overflow]

Although I have implemented this feature
Would consider supporting in [Text overflow]?

Hello @dev-zl !
Thank you for posting.
Your question seems to be a good fit for the StackOverflow as well. Flutter has a very active and helpful community there, so feel free to post it there too.
It also seems like similar question was already raised here: #40712.
Thank you.

Hello @dev-zl !
Thank you for posting.
Your question seems to be a good fit for the StackOverflow as well. Flutter has a very active and helpful community there, so feel free to post it there too.
It also seems like similar question was already raised here: #40712.
Thank you.

Many thanks

@dev-zl
As workaround you can use
SingleChildScrollView(
        scrollDirection: Axis.horizontal,
        child: Text(
          "Long text Long text Long text Long text Long text Long text Long text Long text Long text ",
        ),
      )

Simply use Marquee plugin.

Simply use Marquee plugin.


pairing airpod on arch

https://meroupatate.github.io/posts/airpods/

How to connect Airpods to Arch Linux with PulseAudioAlice ZHEN on May 3, 2020 Jan 4, 2021 3 minIn this article, I will document how I connected my AirPods to my computer running Arch Linux with PulseAudio.While I first thought that it would be quite laborious since Apple is not known for worrying about compatibility with platforms other than Apple devices, it turned out that connecting Airpods is not really different from connecting other bluetooth devices.PrerequisitesIn this tutorial, I will use bluetoothctl and pulseaudio. If you do not have a sound multiplexer installed, I recommend going through the Arch Linux wiki page on installing and configuring PulseAudio.You will also need to have the bluez package installed, which should provide your computer with Bluetooth utilities.Once you have BlueZ and PulseAudio installed and configured, you will need to install pulseaudio-alsa which provides compability between ALSA and PulseAudio, pulseaudio-bluetooth for bluetooth support with PulseAudio and finally bluez-utils providing the bluetoothctl CLI tool interact with the bluetooth service.
1 | > pacman -S pulseaudio-alsa pulseaudio-bluetooth bluez-utils
-- | --
Now if you open the PulseAudio sound control panel pavucontrol you should see your AirPods in the “Output devices” tab below your default internal audio device.If the Airpods don’t show in the control panel, the issue might be that you haven’t installed the pulseaudio-bluetooth module.ConclusionNow you should have your AirPods working ! As you can see, connecting your AirPods to a Linux device does not require any specific configuration other than standard bluetooth connection tools.I hope that this short tutorial can be useful for those of you with AirPods who didn’t know how to connect them with your Arch Linux machine.If you need any specific troubleshooting solutions, I highly recommand you going to the Arch Linux wiki, especially to the Bluetooth headset page, which is quite complete and from which I learned a lot of what I mentioned in this article.How to connect Airpods to Arch Linux with PulseAudio
Alice ZHEN on May 3, 2020
Jan 4, 2021 3 min
In this article, I will document how I connected my AirPods to my computer running Arch Linux with PulseAudio.
While I first thought that it would be quite laborious since Apple is not known for worrying about compatibility with platforms other than Apple devices, it turned out that connecting Airpods is not really different from connecting other bluetooth devices.
Prerequisites
In this tutorial, I will use bluetoothctl and pulseaudio. If you do not have a sound multiplexer installed, I recommend going through the Arch Linux wiki page on installing and configuring PulseAudio.
You will also need to have the bluez package installed, which should provide your computer with Bluetooth utilities.
Once you have BlueZ and PulseAudio installed and configured, you will need to install pulseaudio-alsa which provides compability between ALSA and PulseAudio, pulseaudio-bluetooth for bluetooth support with PulseAudio and finally bluez-utils providing the bluetoothctl CLI tool interact with the bluetooth service.

pacman -S pulseaudio-alsa pulseaudio-bluetooth bluez-utils
Pairing and connecting your Airpods with bluetoothctl
First of all, you need to start the bluetooth systemd service and kill any existing PulseAudio instance.

systemctl start bluetooth.service
pulseaudio -k
Now that the bluetooth service is running, you can run the bluetoothctl command and enter its command prompt.

bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
At this point your bluetooth pairing agent should be in discovery mode. It means that your computer is ready to connect to your AirPods.

For your AirPods to be discovered by bluetoothctl, you will need to put them into bluetooth pairing mode. With your AirPods in their charging case, open the lid of the charging case and keep the button on the back of the case pressed until the status light flashes white. The white light means that your AirPods are now in pairing mode, which means that if you look back to the bluetoothctl command prompt, there should be a new line with the MAC address and the name of your AirPods:
[NEW] Device B8:5D:0A:52:EF:86 AirPods
Now that your AirPods have been discovered, you can pair them and connect them with your computer using their MAC address:
[bluetooth]# pair B8:5D:0A:52:EF:86
Attempting to pair with B8:5D:0A:52:EF:86
(...)
Pairing successful
[bluetooth]# connect B8:5D:0A:52:EF:86
Attempting to connect to B8:5D:0A:52:EF:86
Connection successful
Your AirPods should now be connected to your computer !
To automatically connect to your AirPods in the future, you can trust the device by running:
[AirPods]# trust B8:5D:0A:52:EF:86
Changing B8:5D:0A:52:EF:86 trust succeeded
You can also change the name of your AirPods by using the bluetoothctl set-alias command:
[AirPods]# set-alias "AirPods de Jean Michel"
[CHG] Device B8:5D:0A:52:EF:86 Alias: AirPods de Jean Michel
Changing AirPods de Jean Michel succeeded
Now if you open the PulseAudio sound control panel pavucontrol you should see your AirPods in the “Output devices” tab below your default internal audio device.
If the Airpods don’t show in the control panel, the issue might be that you haven’t installed the pulseaudio-bluetooth module.
Conclusion
Now you should have your AirPods working ! As you can see, connecting your AirPods to a Linux device does not require any specific configuration other than standard bluetooth connection tools.
I hope that this short tutorial can be useful for those of you with AirPods who didn’t know how to connect them with your Arch Linux machine.
If you need any specific troubleshooting solutions, I highly recommand you going to the Arch Linux wiki, especially to the Bluetooth headset page, which is quite complete and from which I learned a lot of what I mentioned in this article.


Add BitGo, replace Blockchain, update panel descriptions

Replaces lamassu-blockchain configuration with lamassu-bitgo.
Adds new language on various panels, links to support articles, link to FAQ, removes custom source in price panel.

@joshmh Now adds Coinapult to ticker and trader options.


[Go] move dotprompt to plugins

@jba We discussed moving dotprompt parallel to genkit, but I see from other genkit discussion that the reason that TypeScript moved their version to plugins was in case other prompt libraries were added.  So this moves dotprompt to plugins on the Go side.  I can change to be parallel to genkit if you still think that is better.

Fine with me.

Submitting because my current work depends on it.


Descriptions enhancement : add support for different code page

Your scripts for exporting/exportings descriptions are very usefull, however it uses the default Excel code page which can be an issue on non English Excel version.
It would be nice to add an origin variable to set the code page (close to other variables definitions) in ExportDescriptions.cs:
object origin = Type.Missing;   // 65001 for UTF-8;
and use excelApp.Workbooks.OpenText(textFilePath, origin, 1, ... instead of excelApp.Workbooks.OpenText(textFilePath, Type.Missing, 1, ...
Exporting and importing DisplayFolder could be nice also even if it's not strictely descriptions.
Thanks

Thanks. Fixed in v1.0.1. The same concept can be applied to Display Folders (or really an model property). You can also use the Metadata Export for this (at least the export functionality).


Criado

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


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-28-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4354

Questions ?
Please refer to the Backport tool documentation


From private repo

@v-alje : Thanks for your contribution to the Azure documentation! The author, @kuhussai, has been notified to review your proposed change.


install brew error  error: Failed to merge in the changes.

Bug report
Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

[ ] ran brew update and can still reproduce the problem?
[ ] ran brew doctor, fixed all issues and can still reproduce the problem?
[ ] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)
install brew
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"

Command output

What you expected to happen

Step-by-step reproduction instructions (by running brew commands)

error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
To restore the stashed changes to /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core run:
'cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core && git stash pop'
Error: 767: unexpected token at '{
<<<<<<< HEAD
"azure-cli": "homebrew/core",
"basex": "homebrew/core",
"borgbackup": "homebrew/core",
"chronograf": "homebrew/core",
"cocoapods": "homebrew/core",
"consul": "homebrew/core",
"consul-template": "homebrew/core",
"cryptol": "homebrew/core",
"cups-pdf": "homebrew/core",
"dmd": "homebrew/core",
"docker-compose": "homebrew/core",
"exa": "homebrew/core",
"exiftool": "homebrew/core",
"fastlane": "homebrew/core",
"fpc": "homebrew/core",
"gedit": "homebrew/core",
"ghc": "homebrew/core",
"go": "homebrew/core",
"graphviz": "homebrew/core",
"handbrakecli": "homebrew/core",
"helm": "homebrew/core",
"hub": "homebrew/core",
"hyper": "homebrew/core",
"idris": "homebrew/core",
"java": "homebrew/core",
"jenkins": "homebrew/core",
"lunchy": "homebrew/core",
"minikube": "homebrew/core",
"mitmproxy": "homebrew/core",
"mosh": "homebrew/core",
"nmap": "homebrew/core",
"node": "homebrew/core",
"nomad": "homebrew/core",
"otto": "homebrew/core",
"packer": "homebrew/core",
"pandoc": "homebrew/core",
"pgloader": "homebrew/core",
"pgweb": "homebrew/core",
"podman": "homebrew/core",
"purescript": "homebrew/core",
"python": "homebrew/core",
"python3": "homebrew/core",
"r": "homebrew/core",
"redis": "homebrew/core",
"rust": "homebrew/core",
"serf": "homebrew/core",
"sickbeard": "homebrew/core",
"srclib": "homebrew/core",
"sshfs": "homebrew/core",
"sslmate": "homebrew/core",
"swi-prolog": "homebrew/core",
"syncthing": "homebrew/core",
"terraform": "homebrew/core",
"vault": "homebrew/core",
"vfuse": "homebrew/core",
"volatility": "homebrew/core"
"adobe-air-sdk": "homebrew/cask",
"android-ndk": "homebrew/cask",
"android-platform-tools": "homebrew/cask",
"android-sdk": "homebrew/cask",
"app-engine-go-32": "homebrew/cask/google-cloud-sdk",
"app-engine-go-64": "homebrew/cask/google-cloud-sdk",
"avidemux": "homebrew/cask",
"chromedriver": "homebrew/cask",
"cmucl": "homebrew/cask",
"cockatrice": "homebrew/cask",
"crystax-ndk": "homebrew/cask",
"corelocationcli": "homebrew/cask",
"dwarf-fortress": "homebrew/cask",
"geany": "homebrew/cask",
"gimp": "homebrew/cask",
"grads": "homebrew/cask",
"gtkwave": "homebrew/cask",
"horndis": "homebrew/cask",
"inkscape": "homebrew/cask",
"jsl": "homebrew/cask",
"kdiff3": "homebrew/cask",
"keybase": "homebrew/cask",
"meld": "homebrew/cask",
"osxfuse": "homebrew/cask",
"phantomjs": "homebrew/cask",
"quassel": "homebrew/cask",
"transmission-remote-gtk": "homebrew/cask/transmission-remote-gui",
"tuntap": "homebrew/cask"

imagemagick@6: update 6.9.10-53 bottle.
}
'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in parse' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in parse'
/usr/local/Homebrew/Library/Homebrew/tap.rb:541:in tap_migrations' /usr/local/Homebrew/Library/Homebrew/tap.rb:687:in tap_migrations'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:220:in block in report' /usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:193:in each_line'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:193:in report' /usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:430:in add'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:105:in block in update_report' /usr/local/Homebrew/Library/Homebrew/tap.rb:559:in block (2 levels) in each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:558:in each' /usr/local/Homebrew/Library/Homebrew/tap.rb:558:in block in each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:557:in each' /usr/local/Homebrew/Library/Homebrew/tap.rb:557:in each'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:94:in update_report' /usr/local/Homebrew/Library/Homebrew/brew.rb:119:in '
Failed during: /usr/local/bin/brew update --force

Output of brew config and brew doctor commands

brew update-reset should fix this.


IssueID:1579:HaaSEDUK1 flash driver for new driver framework

[Detail]
HaaSEDUK1 flash driver for new driver framework.
[Verified Cases]
Build Pass: helloworld_demo@haaseduk1
Test Pass: helloworld_demo@haaseduk1

感谢提交 Pull Requests！
Thanks for submitting a pull request.

Security Check : abf53a37089028dc2f4f92cbc816182848f9b9f1

auto build success,number:83

autotest success,number:1160


Implement the RX pipeline

Implement the common parts of the RX pipeline. At this point, about 90% of the work is done. All that is left is to add the basic public API wrappers for subscriptions and RPC-services. For details about the implementation of the RX pipeline refer to the line that says "Internally, the RX pipeline is arranged as follows".

Slightly refactor the code added earlier to uphold orthogonality and avoid unnecessary duplication.

Trivial renamings to keep names shorter, e.g.:

UdpardConstPayload -> UdpardPayload (const implied by default; there's also UdpardMutablePayload)
UdpardPayloadFragmentHandle -> UdpardFragment

Establish an internal convention that functions named "Destroy" deallocate the passed memory while "Free" only deallocate the memory of the associated resources. This is not API-visible.

Remove the port_id field from UdpardRxPort because it is not needed.

After this is merged, the remaining task is to simply implement the public RX pipeline functions on top of:

rxPortInit
rxPortAcceptFrame
rxPortFree

The test coverage is supposed to be full but llvm-cov slightly misreports it.

👀


Update API v1.1 draft content

Context
The draft v1.1 spec is behind a feature flag to allow the ease of finalising any further comments before sharing with providers.
Changes proposed in this pull request
Update documentation and add further details to each feature and section.
Please note that some attributes were added or moved under the offer object for consistency.
Guidance to review
Please add any further comments/ideas that I have missed, draft version can be found here: https://apply-for-te-update-api-jkbuvt.herokuapp.com/api-docs/draft
Link to Trello card

Things to check

[ ] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] Required environment variables have been updated added to the Azure KeyVault

Could we standardise on "confirm" for the act of making a deferred offer viable? cc @adamsilver https://ukgovernmentdfe.slack.com/archives/CPH8J9G65/p1638790602379500?thread_ts=1638789873.379400&cid=CPH8J9G65

Reinstating deferral: "This call only succeeds if the same course, location and study_mode combination is available in the current recruitment cycle." What is the HTTP code and response in this case?

Is it weird not to support GET /applications/{application_id}/interviews?

What's the behaviour of updating an interview when an optional field is present in the record but missed out of the update? does it delete that field? is this really a PUT?

We'll need to fix the formatting 😅

Can we take this opportunity to remove confirm-enrolment? assuming nobody's using it

@JR-G @mnacos to action:

change URI for reconfirming a deferred offer to reconfirm-offer
swap out reinstate with reconfirm deferred offer

Reinstating deferral: "This call only succeeds if the same course, location and study_mode combination is available in the current recruitment cycle." What is the HTTP code and response in this case?

Add 422 with indication of a course not matching in the next year. Also update content around an application moving to pending conditions if they did not meet yet.
remove "or decline an offer" and just keep the side effect of the status description
add created_at and updated_at to notes and interviews
"To update an interview, the update endpoint can be invoked with only the fields that require update." add more description to indicate that if a field isn't included it won't be overriden

change URI for reconfirming a deferred offer to reconfirm-offer
swap out reinstate with reconfirm deferred offer

Is it "reconfirm"? I think Adam would disagree!?

Is it weird not to support GET /applications/{application_id}/interviews?

It'd be weird if we had RESTful API but we don't. The plan for these minor releases is to keep returning the full application as part of the response for all types of call, as all are related to an application, to make life easy for vendors/intergrators, who have already written code for parsing applications and would just need to extend it.
Maybe something to revisit for v2.

Can we take this opportunity to remove confirm-enrolment? assuming nobody's using it

We talked about it and decided only to remove deprecated fields/endpoints in v2.

What's the behaviour of updating an interview when an optional field is present in the record but missed out of the update? does it delete that field? is this really a PUT?

We've added a clarification to the docs that only fields passed along with the request are overwritten and fields already set but not mentioned are preserved. This would be a PUT normally, but this is not a RESTful API and we are sticking with GET/POSTs.

Reinstating deferral: "This call only succeeds if the same course, location and study_mode combination is available in the current recruitment cycle." What is the HTTP code and response in this case?

It's a 422 with a json error mentioning the availability of these things in the new cycle. We have updated the docs to make this clearer.

Is it weird not to support GET /applications/{application_id}/interviews?

It'd be weird if we had RESTful API but we don't. The plan for these minor releases is to keep returning the full application as part of the response for all types of call, as all are related to an application, to make life easy for vendors/intergrators, who have already written code for parsing applications and would just need to extend it.
Maybe something to revisit for v2.

Great. I'm very here for "this is not a RESTful API" discourse 😄

What's the behaviour of updating an interview when an optional field is present in the record but missed out of the update? does it delete that field? is this really a PUT?

We've added a clarification to the docs that only fields passed along with the request are overwritten and fields already set but not mentioned are preserved. This would be a PUT normally, but this is not a RESTful API and we are sticking with GET/POSTs.

Great. Not a PUT by behaviour either

Yes, I guess the behaviour described would be a PATCH, but we don't support that either :-)

Thanks @mnacos and @JR-G for addressing all the comments as well as responding to any queries! @duncanjbrown I believe all your comments have been addressed bar the reconfirm which we'll be finalising tomorrow morning, if you can have another look/approve please


I added the homework for github class

chmod&pip.pdf
cube is trying to find his algorithm '-'.pdf
github.pdf
grep.pdf
manproccess.pdf
navigation.pdf
whitecard.pdf

https://github.com/aselleon/studentswork/tree/master/OrynbassarAssel


[directxtk12] Update to dec2019 release

Describe the pull request

Base Issue #9380
Update version dec2019
Adding build for ARM64 Windows 10
CI baseline updated directxtk12:arm64-windows

Thanks for the PR!
directxtk12 doesn't contains any features that need to test locally.

Thanks for the PR!


Provide cluster creation for vSphere provider

We must add vSphere as the provider to provision clusters

+1
Don't know how to use the bringyourown cloud provider either.


Add Google Cloud Platform (GCP) support

This issue tracks adding support for google cloud platform. If you'd like to import resources from GCP please give this a 👍

The keynote shows GCP as a choice in the Cloud dropdown, does this mean it's in progress?


Integration tests create a local directory directory_for_grid_upload

Test should not leave locally any data, this directory should probably be created in tmp dir.

So why can't the integration tests not write to tmp_test_directory?

It can, that's the second option I suggested because the application explicitly writes to the local directory and ignores the output_directory.

Can you explain why it ignores output_directory?
If this is absolutely necessary, why not setting output_directory to the local directory as default? This would still allow to change it if necessary.

Yes, setting output_directory to the local one by default might work. I need to test this, will look into it when we start maintnance.


Closing tabs from command-line (ex) mode

If I have multiple tabs open and I type :q or :close, the focus will change to a previous tab as if the active tab had closed but the tab itself still remains.  gt will correctly skip the "closed" tab but clicking on the tab will still display the file.  It seems the only way to close a tab is by clicking the X button... with your mouse. :scream:

It seems the only way to close a tab is by clicking the X button... with your mouse.

Yikes, that is atrocious!
I think this is related to #593 - by default we just show the buffers , unless editor.showVimTabs is set to true. If you change that setting, I think the behavior will be more what you would expect.
My goal with showing buffers by default is it more closely maps to how other editors work, but it sounds like this default is really confusing to both you and @bert88sta who have a tab-based workflow, and expect the tabs in Oni to map to Vim tabs.
So a couple questions:

Does setting editor.showVimTabs to true give you the behavior you'd expect?
Would you prefer to have the default changed? I know @bert88sta would prefer that 😄

One thing I realized too, if we change that default to editor.showVimTabs to true, it kind of fixes #591 too...

Setting editor.showVimTabs to true didn't appear to have any effect on this.  Also, even if this could've been handled by a config setting I'd still call it a defect since gt iterates through all tabs and :q causes gt to skip the tab but the tab is actually still visible.  Even if you're trying to distinguish between buffers and tabs I think we're still mixing metaphors here.

I think this is the bug that I bump into the most when using Oni.
Its not an actual issue that stops me working, but I will just have tabs that are left behind.
A few other related issues (or at least issues where tabs fall behind where they should be) is using Save As is not reflected in the tab line until you swap back and forth to a different tab. Similarly if I open multiple tabs (with :e test1 then :e test2) it will stay on the first tab until I enter insert mode and then it jumps over.
These all feel somewhat related, but I can't be sure.
Is there anything that makes sense to look into for this?

@CrossR - Just curious, do you use 'tabs.mode':'tabs' or 'buffers'? There are a couple of different entry points for each.

A few other related issues (or at least issues where tabs fall behind where they should be) is using Save As is not reflected in the tab line until you swap back and forth to a different tab.

I think @Akin909 had looked into this for an investigation, and IIRC he mentioned there were some oddities in the timing of getting the buffer events back.

Similarly if I open multiple tabs (with :e test1 then :e test2) it will stay on the first tab until I enter insert mode and then it jumps over.

This one seems to work better for me in tabs mode vs buffer mode. In tabs mode, we rely on Neovim to send us the events (since we have the externalized tabline) -  it's the tabline-update event we get from NeovimInstance. That's then handled here:
https://github.com/onivim/oni/blob/ab0704a25c4db2425d193809942d26da7d0562a7/browser/src/Editor/NeovimEditor/NeovimEditor.tsx#L421
In buffer mode, we listen to a variety of events and try and populate the buffer list after those events - some examples here:
https://github.com/onivim/oni/blob/ab0704a25c4db2425d193809942d26da7d0562a7/browser/src/Editor/NeovimEditor/NeovimEditor.tsx#L864
https://github.com/onivim/oni/blob/ab0704a25c4db2425d193809942d26da7d0562a7/browser/src/Editor/NeovimEditor/NeovimEditor.tsx#L907
It's possible that we're missing an event, potentially -

Just curious, do you use 'tabs.mode':'tabs' or 'buffers'? There are a couple of different entry points for each.

I use buffers mode, since I'm still pretty useless with buffers so having them all shown on the tabline is great for me.
It does seem like a timing issue and I couldn't remember where the discussion about this had gone on. I'll try and have a look at some point and see if there is any other event we could hook into.
It would make sense, since we get updates on buf enter and unload, they may not capture a new buffer and a buffer write. Then when starting editing and swapping away and back, the buf enter autocmd is being kicked off, at which point we do capture it. Perhaps linking up the BufNew or BufWrite would fix these issues, but there could be additional issues if we are creating a lot of new autocmds.

@CrossR yeah its been a bug bear of mine specifically renaming buffers etc. and we've had to resort to a bufferDelete command that navigates back and forth just to hit a bufEnter event we discussed this is #1173 as which is populateBufferList came from the name for the post save event is I think fileReadPre its in the vim docs on autocommands somewhere. I worked on it a little and managed to get the title to update by hooking into the event the issue was that the buffer lost its highlighted status for some unknown reason which seemed like an annoying result so I havent done much more with it

I'm pretty sure this is fixed for me now we've swapped to tabs by default, or at least I've never hit it since.
Does anyone who uses buffers still encounter this? I seem to think @Akin909 uses buffers mode.


11/21 Publish

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-autogen/azure.common.client_factory.yml
:white_check_mark:Succeeded

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/index.yml
:white_check_mark:Succeeded

xrefmap.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Parallel install sends ProcessUpdate event after installation completed

Description
While testing Provisioner with parallel-install library (PR-678) I noticed a crash in callback method handling ProcessUpdate from parallel-install. After some investigation it turned out that parallel-install sent an update event after the installation was marked as complete what in turn caused Provisioner's crash. Apart from incorrect ProcessUpdate callback implementation in Provisioner, parallel-install should not emit events after installation completed.
Expected result
There is no ProcessUpdate sent after one of the following cases is true:

all components installed
one of the events occurred: ProcessExecutionFailure, ProcessForceQuitFailure, deployment.ProcessTimeoutFailure.

Actual result
There is a ProcessUpdate event sent.
Steps to reproduce
It was reproduced under load on Provisioner - there were 10 concurrent provisioning processed at the same time.

This issue is no longer valid, the parallel installation module has been removed.


🎉 Add Multitask Prompt Tuning

Adds code for the paper: https://arxiv.org/abs/2303.02861

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@pacman100
Can you take a look at this PR?
This adds the functionality to use Multitask Prompt Tuning as proposed in this paper.

Also, a working notebook has been added @pacman100 🤗

Done @pacman100

Hello, after a discussion with @younesbelkada, we were thinking if it is possible for you to add a test file for this to test minimal core components only (forward, save_pretrained, generate)?

Do you want me to provide some other script?

A test file similar to https://github.com/huggingface/peft/blob/main/tests/test_adaption_prompt.py

Hey, sorry for the late reply.
Sure, Ill work on this :)

Hello Mayank, please let us know if you need any help from us. Looking forward to merging this PR soon

Hey, sorry had been side-tracked with some urgent work.
Will look into doing this sometime this week :)

@pacman100 @younesbelkada really sorry for the late reply here.
I have added unit tests and everything seems to work fine.

Should we merge this?
This is a long-standing PR :)

Done @younesbelkada :)

I just noticed that there isn't any addition to the docs for MPT. Could you please add some documentation there? Or are we fine with adding it in a separate PR?

Hey @pacman100 let me add some comments in the code.
There is a some stuff that isn't clear.
I will also resolve the merge conflicts over the weekend

@pacman100 I have addressed the suggestions.
Can you run the unittests?
Thanks

@pacman100 @younesbelkada lets merge this?

Hey, guys still waiting for an update :)

@younesbelkada addressed the comments

@mayank31398 Just to let you know: We'll probably soon merge #807 which adds a new folder structure to the tuners. If you want to, you can already adjust your code to use the new structure. Otherwise, it's also fine as is, then we'll do the refactoring later.

I prefer leaving as is for now.
I am a little busy with some other stuff :)
Lets refactor later

@mayank31398 Why can't I locate the distillation process of the source prompt in the code? Am I missing something? 😭

@junzhang-zj yeah, it doesn't have that.
Its not simple to add it to this repo I think.
This is a basic MPT pipeline where you pretrain a joing prompt on a bunch of task, use it for initialization of target prompt and then finetune it for the target prompt.

@mayank31398 Thank you for your answer, which addressed my concern about carelessness!


load_map=True results in URLError

This works just fine:
import sc2reader
path = "/home/volker/Sync/DatenVolker/git/sc2stats/zipout/CN/Group A/1 TIME vs BreakingGG/Time vs BreakingGG G1.SC2Replay"
sc2reader.load_replay(path)

but this
#!/usr/bin/env python
import sc2reader

path = "/home/volker/Sync/DatenVolker/git/sc2stats/zipout/CN/Group A/1 TIME vs BreakingGG/Time vs BreakingGG G1.SC2Replay"
sc2reader.load_replay(path, load_map=True)

fails with the message
Traceback (most recent call last):
  File "/usr/lib/python3.9/urllib/request.py", line 1342, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 822, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.9/socket.py", line 953, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/volker/Sync/DatenVolker/git/sc2stats/./extract.py", line 5, in <module>
    sc2reader.load_replay(path, load_map=True)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 85, in load_replay
    return self.load(Replay, source, options, **new_options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 143, in load
    return self._load(cls, resource, filename=filename, options=options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 152, in _load
    obj = cls(resource, filename=filename, factory=self, **options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/resources.py", line 307, in __init__
    self.load_map()
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/resources.py", line 447, in load_map
    self.map = self.factory.load_map(self.map_file, **self.opt)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 105, in load_map
    return self.load(Map, source, options, **new_options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 142, in load
    resource, filename = self._load_resource(source, options=options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 201, in _load_resource
    contents = self.load_remote_resource_contents(resource, **options)
  File "/home/volker/.local/lib/python3.9/site-packages/sc2reader/factories/sc2factory.py", line 185, in load_remote_resource_contents
    return urlopen(resource).read()
  File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/usr/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 1371, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.9/urllib/request.py", line 1345, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>

I'm using Python 3.9.1. Both ipv4 and ipv6 internet is working.

It appears to be a replay from CN region. Which is not a problem on its own, but blizz quite recently migrated their "depot" to amazon S3, what also resulted in change of the domain names.
It was fixed for US/EU/KR in https://github.com/ggtracker/sc2reader/commit/98eb2d90630fec4667bd63b22cc4559265767b98
However that fix does not account for CN - it currently points to a domain that doesn't exists, thus the error. And I think it was broken for CN even before that patch, lol.
Anyway, the correct URL for CN is http://cn-s2-depot.battlenet.com.cn/{1}.{2}

battlenet.com.cn as gateway
no HTTPS

@Talv Seems like a solid diagnosis to me!
@Volker-Weissmann can you test that out and see if it works? If so, I would be happy to take a Pull Request fixing it!

url_template = "http://{0}-s2-depot.battlenet.com.cn/{1}.{2}"
does work.

This should be safe to close now that the PR was merged.

Hi, PR #151 didn't fix this problem. It only add suffix '.cn' to the domain, but still unavailable.
'https://CN-s2-depot.classic.blizzard.com.cn' should be 'https://cn-s2-depot.battlenet.com.cn'.

Woops, missed the difference in the url when I created the pr.  Nice fix for the resources.py urls too!


Fix bug of descending aggregation query

See JIRA https://issues.apache.org/jira/browse/IOTDB-1997
The following bugs are fixed:

LocalQueryExecutor passes AggregationResult list into an ascending and decending one to create proper reader with the AggregationResult.isAscending().
Fix the bug of FirstValueDescAggrResult implementation.
Add java doc and unit test cases.

@Alima777 @JackieTien97 Thanks for reviewing these codes.

Hi, please add the Jira id in the PR name when creating, then it will be linked in the Jira


FGP_TV Lipschitz constant 3D

In the FGP_TV class for the CCPi-Regularisation Toolkit the step-size (Lipschitz constant) is wrong.
At the moment is 1/26 but the correct value for 3D arrays with unitary grid (voxel-size=1.0) is 1./12. Because in this case the
$$||\nabla|| = \sqrt{12}$$
This can cause problems when Total Variation prior is used with PDHG/SPDHG/FISTA. @Letizia97 @paskino
When tolerance is 0.0 (default), for every outer iteration we run 100 iterations (default) for the proximal of TV (which is the FISTA algorithm applied on the dual-ROF problem). Since every time a smaller step-size (1/26) is used, it is possible that we have not reached to the desired solution for every iteration, and in some cases we may observe divergence, see the figure below by
BeckTeboulle.  Higher step size (1/12) will give better results.

Warm-starting can help but still the subproblem is not solved optimally, i.e., with the right step size.
Note: I have tried many times to make this simple change and build it locally. But failed every time. Actually, I managed to make it work with cpu but building it with gpu it was a complete failure. For the datasets that I am working, it was usually 15-20sec per iteration and after building it with this change it was 100sec per iteration.

There are two alternatives for this problem. One is for free and is from the TIGRE toolbox which we support.
One can create easily a wrapper for im_3d_denoise. Similar to FGP_TV the dual ROF is solved but not with an accelerated gradient descent.
The algorithm is basically a projected gradient descent described in here

The step-size is not fixed in every iteration but is changing.
https://github.com/CERN/TIGRE/blob/dbcd848671c96a42b7c9669e75c8e7e19e55ce6d/Common/CUDA/tvdenoising.cu#L445-L446
I believe the implementation is based on ZhuChan maybe @AnderBiguri can confirm.

It works with multiple gpu and is useful for large 3D datasets.
The other option is to use cucim and dask-cuda.
In both cases, one needs to implement a __call__ method that computes the Total variation in every iterate, $$||\nabla x_{k}||_{2,1}$$ which can be done by the GradientOperator and MixedL21Norm.

@epapoutsellis I can confirm! that is the paper indeed. I believe the paper that was exactly followed was: https://link.springer.com/article/10.1007/s10334-010-0207-x

@epapoutsellis I can confirm! that is the paper indeed. I believe the paper that was exactly followed was: https://link.springer.com/article/10.1007/s10334-010-0207-x

Thank you @AnderBiguri!!!
In the im_3d_denoise do you normalize in order to default lambda value? I do not think is necessary.

@epapoutsellis honestly I wrote that 8 years ago, so I have no idea why I do it. Perhaps its indeed to default lambda, or perhaps the source code doesn't handle large numbers, no idea really. If you get to test it let me know if I need to remove it.

Currently I am failing at building the CCPi-Regularisation Toolkit...

Lots of changes are happening in the CCPi-Regularisation Toolkit to allow building. https://github.com/vais-ral/CCPi-Regularisation-Toolkit/pull/183


FIX: PyVista rcParams DeprecationWarning

This PR follows https://github.com/mne-tools/mne-python/issues/9649#issuecomment-894225981 and backports the fix of rcParams in the pyvista 3d backend.

I also added 71563680c11c96ca3180fff7cf7b9e9291306b8c for Main Windows 3.8 pip pre but I don't know to what extent we should maintain maint/0.23 CIs. I can revert it if necessary @drammock

ok, I hit (and fixed) an unrelated problem with graphviz installation, which was solved by doing apt update during Circle setup. And I think your master -> main fix was needed.  But now Circle is failing on
Building wheels for collected packages: mayavi
  Building wheel for mayavi (setup.py) ...

Too long with no output (exceeded 10m0s): context deadline exceeded

@GuillaumeFavelier can you investigate?  I'm a bit swamped right now.

This issue seems to be reported in https://github.com/enthought/mayavi/issues/1065


Review unit tests

Description
Make sure unit tests are properly written and cover all essential functions of the application.
Motivation
The quality of the tests suite is essential for application stability, maintainability and reliability.
Acceptance Criteria

Tests are present and are within its scope

The unit tests were reviewed with few remarks. Development will be continued in the issue #743.


Setup Project

Implement a VM to process a program.
What's new

functions to check a value
arch (storage) and binary format

Scoping to some initial tests, opcodes, memory, and handling data.


data download

Hello, how do you download your data.csv? Thanks a lot.

Hi, if you're looking to just pull the data.csv file from the repo, you should be able to do so by clicking on it and selecting the icon to "Download raw file" on the top right. It will also be downloaded if you're cloning the whole repository as described in the README. Hope this helps!

Hi, if you're looking to just pull the data.csv file from the repo, you should be able to do so by clicking on it and selecting the icon to "Download raw file" on the top right. It will also be downloaded if you're cloning the whole repository as described in the README. Hope this helps!

Thank you for your response. There might be a misunderstanding of my intention. What I meant to ask is: Where did you download your data.csv from? Because the the data in the 'structure' column downloaded using the Material Project API seemed a bit different from yours.

Hi, sorry for the confusion. The dataset was downloaded directly from the figshare repository provided in the publication of the dataset (https://doi.org/10.6084/m9.figshare.c.3938023.v1), see README for full citation. Note that our structures are saved from ase Atoms objects rather than pymatgen Structure objects, in case that makes a difference. However, if you're finding that the structures are actually non-equivalent, my best guess would be there may have been some updates on Materials Project since the creation of this dataset, so it might be better to use the new, updated versions you're getting. Let me know if you have any other questions or issues.


Port https://github.com/microsoft/vscode-jupyter/pull/5711

Codecov Report

:exclamation: No coverage uploaded for pull request base (release-2021.05@fdb41f7). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                @@
##             release-2021.05   #5712   +/-   ##
=================================================
  Coverage                   ?     69%
=================================================
  Files                      ?     401
  Lines                      ?   26747
  Branches                   ?    3903
=================================================
  Hits                       ?   18481
  Misses                     ?    6661
  Partials                   ?    1605


Fix nullability for optional typeindex properties

Fortunately this doesn't seem to cause any deserialization errors, but it would be good to correct regardless.

🤔 I guess JSON deserialization must ignore nullability?

Thankfully! Although I guess I'd have caught this sooner if it did...


use pdoc for docs

I actually like pdoc a lot more than any other doc generator, so I would like to change the documentation to use it.

With the new executable book theme, I think it's quite OK as it is. And it does offer more freedom in writing the docs, which is nice.


investigate + fix why models are not being included/calculated in simplecov test coverage

@Pralish this is the next infrastructure upgrade we are looking to do after we integrate the change for deploying to violet rails apps over Github Actions

@donrestarone , I tracked it down to this line:
  add_filter "app/models/"
This was done some 15 months ago. I removed  the line and models got included in simplecov test coverage. Do you remember why models were skipped before?
Before:

After:


feat: Right click panning

Panning comes up as a regular question.
I see no harm in adding right-click panning, next to the already existing wheel-click and space+left-click panning.
See the most recent related issue raised for the Obsidian plugin: https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/307

I'd wanna hold onto this. There's also a proposal to support right-click box-selection that would switch the box-selection model: https://github.com/excalidraw/excalidraw/issues/3983#issuecomment-922337156

Can you create an issue request for this, and also list what apps are using RMB for panning? I'm aware only of Miro.

Can you create an issue request for this, and also list what apps are using RMB for panning? I'm aware only of Miro.

#4448

parking this for now…

There are many apps that behave like this currently (LucidSpark, Miro, Unreal engine, Discord whiteboard, Figma (toggleable in settings)). Is it possible to re-open/look into this again? It is very helpful for navigating the canvas with one hand. Combined with scroll to zoom (also possible in the apps mentioned before), it is extremely powerful!


RFC Only include primary source files

We currently include all source files in the codebase for Doxygen. I feel its better if we stick to only the files in shared and module so as not to include the more obscure types in the documentation.

I'd tend to agree. Seems reasonable to me too.


AttributeError when importing tensforflow probability

Hi Max,
I just installed classy on a Ubuntu system through pip and the Juno example on the Github readme does not work correctly on my end.
>>> import classy
>>> test = classy.Spectra(3)
>>> test.classify()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lauri/.local/lib/python3.10/site-packages/classy/core.py", line 709, in classify
    spec.classify(taxonomy=taxonomy)
  File "/home/lauri/.local/lib/python3.10/site-packages/classy/core.py", line 294, in classify
    getattr(taxonomies, taxonomy).classify(self)
  File "/home/lauri/.local/lib/python3.10/site-packages/classy/taxonomies/mahlke.py", line 59, in classify
    model = data.load("mcfa")
  File "/home/lauri/.local/lib/python3.10/site-packages/classy/data.py", line 90, in load
    return _load_mcfa()
  File "/home/lauri/.local/lib/python3.10/site-packages/classy/data.py", line 124, in _load_mcfa
    import mcfa  # skip the heavy tensorflow import if it can be avoided
  File "/home/lauri/.local/lib/python3.10/site-packages/mcfa/__init__.py", line 2, in <module>
    from .core import MCFA
  File "/home/lauri/.local/lib/python3.10/site-packages/mcfa/core.py", line 18, in <module>
    import tensorflow_probability as tfp
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/__init__.py", line 20, in <module>
    from tensorflow_probability import substrates
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/substrates/__init__.py", line 17, in <module>
    from tensorflow_probability.python.internal import all_util
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/__init__.py", line 138, in <module>
    dir(globals()[pkg_name])  # Forces loading the package from its lazy loader.
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/internal/lazy_loader.py", line 57, in __dir__
    module = self._load()
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/internal/lazy_loader.py", line 40, in _load
    module = importlib.import_module(self.__name__)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/experimental/__init__.py", line 31, in <module>
    from tensorflow_probability.python.experimental import bijectors
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/experimental/bijectors/__init__.py", line 17, in <module>
    from tensorflow_probability.python.bijectors.ldj_ratio import forward_log_det_jacobian_ratio
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/bijectors/__init__.py", line 19, in <module>
    from tensorflow_probability.python.bijectors.absolute_value import AbsoluteValue
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/bijectors/absolute_value.py", line 19, in <module>
    from tensorflow_probability.python.bijectors import bijector
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/bijectors/bijector.py", line 34, in <module>
    from tensorflow_probability.python.math import generic as math_generic
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/math/__init__.py", line 19, in <module>
    from tensorflow_probability.python.math import psd_kernels
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/math/psd_kernels/__init__.py", line 18, in <module>
    from tensorflow_probability.python.math.psd_kernels.changepoint import ChangePoint
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/math/psd_kernels/changepoint.py", line 28, in <module>
    from tensorflow_probability.python.math.psd_kernels import positive_semidefinite_kernel as psd_kernel
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel.py", line 1130, in <module>
    class AutoCompositeTensorPsdKernel(PositiveSemidefiniteKernel,
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel.py", line 1123, in __new__
    return auto_composite_tensor.auto_composite_tensor(
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/internal/auto_composite_tensor.py", line 598, in auto_composite_tensor
    @type_spec_register(type_spec_name)
  File "/home/lauri/.local/lib/python3.10/site-packages/tensorflow_probability/python/internal/auto_composite_tensor.py", line 441, in type_spec_register
    if allow_overwrite and name in type_spec._NAME_TO_TYPE_SPEC:
AttributeError: module 'tensorflow.python.framework.type_spec' has no attribute '_NAME_TO_TYPE_SPEC'

classy status shows
classy status

Contents of /home/lauri/.cache/classy:

    68024 asteroid reflectance spectra from 11 sources

    24CAS      286    52CAS      146    AKARI       64    ECAS       589
    Gaia     60518    MITHNEOS  1905    Misc       877    PRIMASS    437
    S3OS2      820    SCAS       126    SMASS     2256

Choose one of these actions:
[0] Do nothing [1] Clear the cache [2] Retrieve all spectra (0):

so the spectra are definitely in the cache.
Let me know if you need more details!

Hi Lauri,
this appears to be another error related to tensforflow like in #1. It could be due to different package versions but it's difficult to diagnose at a distance. These are the versions of tensorflow and related packages that I have installed:
$ pip list | grep tensorflow
tensorflow                      2.11.0
tensorflow-estimator            2.11.0
tensorflow-io-gcs-filesystem    0.30.0
tensorflow-probability          0.16.0

You could try matching these versions (in particular tensorflow and tensorflow-probability) and see if this fixes the issue.

Here are the tensorflow versions I had on my end:
$ pip list | grep tensorflow
tensorflow                    2.13.0
tensorflow-estimator          2.13.0
tensorflow-io-gcs-filesystem  0.32.0
tensorflow-probability        0.16.0

I confirm that installing the versions you have fixes the problem on my end, so I suppose something changed on the tensorflow end!


Attribute dict not available

The attribute __dict__ is not listed in classes.
class Something:
    pass
Something.__dict__

See above, when entering Something. the attr __dict__ is not listed in the auto completion list.
This works in Jedi

See comment in #338


Template based jailbareak augmentation

Add template based jailbreak augmentations to langcheck.augment.en and langcheck.augment.ja

@yosukehigashi
Ready for review again!!!


Menu events

Renamed MenuItem to IMenuItem;
Removed actions from constructors;
Added Activate event for Menu and ListMenu;
Added ChangeItem event for Menu;
Added Yes and No events from MessageBox;

Let's break all mods.
Example:
var listMenu = new ListMenu( "lol" );
listMenu.Add( "el1" );
listMenu.Add( "el2" );
listMenu.Add( "el3" );
listMenu.ActivateItem += ( o, args ) =>
{
	UI.ShowSubtitle( args.MenuItem.Item1, 2000 );
};
this.View.AddMenu( listMenu );
...
var gtaMenu = new Menu( "TestMenu", new MenuItem[]
{
	new MenuButton( "Btn"),
	new MenuButton( "Btn2"),
	new MenuButton( "Btn3" ),
	new MenuEnumScroller( "enum", "", new []{"one", "two", "three"} ),
} );
gtaMenu.ChangeItem += ( o, args ) =>
{
	var mes = args.Item as MenuEnumScroller;
	if ( mes == null )
	{
		return;
	}
	UI.ShowSubtitle( mes.Value, 2000 );
};
gtaMenu.ActivateItem += ( o, args ) =>
{
	var btn = args.MenuItem as MenuButton;
	if ( btn == null )
	{
		return;
	}
	UI.ShowSubtitle( btn.Caption, 2000 );
};
this.View.AddMenu( gtaMenu );

Looks good! :-)

@IncoCode Did you see my edit?

@Frede1012 i'm waiting for comments or suggestions by @JohnnyCrazy or @crosire . If they accept this implementation - i will add separate events for MenuItems (if these events are needed).

Some things I noted while skimming over it:

Do we need ActivateItem? I see no reason since the actual menu should not care if you activate an item or not, and besides that every MenuItem will have it's own event so or so.
I would go with other names. ChangeItem looks like a funtion or property. I would suggest using SelectedIndexChanged (taken out of the WinForms ListBox class)
MessageBox-changes seem like a good Idea. But maybe we should implement some blocking-call. So it will return a DialogResult instead of events. I'm not sure about this one tho

But these are just my opinions, wait for @crosire since I don't want to decide alone on this :)

I agree with @JohnnyCrazy's points.

Well, ActivateItem could be useful: if we have many MenuItems and need to call the same method, but the argument will depend on the selected item, or for ListMenu:
var menu = new ListMenu( "Vehicles" );
foreach ( string vehName in Enum.GetNames( typeof( VehicleHash ) ) )
{
	menu.Add( vehName );
}
menu.ActivateItem += ( o, args ) =>
{
	var veh = (VehicleHash)Enum.Parse( typeof( VehicleHash ), args.MenuItem.Item1 );
	World.CreateVehicle( veh, player.Position.Around( 3f ) );
};
this.View.AddMenu( menu );

About MessageBox, I need to keep or delete the current implementation?

I agree that ActivateItem is useful in some cases, but i also think that menu items need their own seperate events :-)

Well, but it is kinda "bad practice". We should keep the abstraction levels.
Changing your example:
var menu = new Menu("Vehicles");
foreach (VehicleHash veh in Enum.GetValues(typeof(VehicleHash)))
{
    MenuButton button = new MenuButton(Enum.GetName(typeof(VehicleHash), veh));
    button.Clicked += (sender, args) => World.CreateVehicle(veh, player.Position.Around(3f));
    menu.Add(button);
}
this.View.AddMenu( menu );

BTW:
What is the sense behind ListMenu? Where is the difference between a normal Menu with buttons? When I think of a ListMenu (like the ListBox from WinForms), you select one or more items, but you never actually execute one.

@JohnnyCrazy Ah, i see. That makes sense.
I think the original purpose of ListMenu, was to have a menu that is easier to edit. I am not sure its relevant anymore, since changes.

Maybe ListMenu should be removed all together?

@Frede1012 I agree, it's kind of redundant since you can achieve the same with a normal menu without much effort.

Update:

Renamed MenuItem to IMenuItem;
Added Yes and No events from MessageBox;
Removed actions from constructors;
Added Activated event for MenuButton;
Added Activated and Changed events for MenuEnumScroller;
Added Activated and Changed events for MenuNumericScroller;
Added Activated and Changed item for MenuToggle.

Cool!

@IncoCode Mind removing ListMenu altogether too before merging?

@crosire okay, also I will update SimpleTrainer example.

Done. Also updated SimpleTrainer example.


File Limits

Hi @ntoll
I'm trying to put my own python lib on the microbit so I can call it later.  The file is 4k (well 3.58kb) but when I upload the file using put it get the following error message
File "C:\Python34\lib\site-packages\microfs.py", line 131, in put
raise IOError(clean_error(err))
OSError: MemoryError: memory allocation failed, allocating 2480 bytes
I'm assuming it a file size limit.  The microbit does not have anything flashed on it at all so I should be well inside the 32k limit.
Any ideas?
Thanks
Damian

The microbit might not have enough RAM to store the whole file before copying to the flash storage.  To fix it the file will need to be copied in pieces.

Ok thanks.  Looks like that will be the job for this week :-)
The micro:bit has 16k of RAM available and 256K flash but i guess a lot gets used up on  resources while running.
Will play.
Thanks again
On 26 Jun 2016 22:10, Damien George<EMAIL_ADDRESS>wrote:The microbit might not have enough RAM to store the whole file before copying to the flash storage.  To fix it the file will need to be copied in pieces.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

Hmm - It would make life a lot easier if there was an append option, with would enable the ability to build up a file over time rather than trying to store it all in memory before moving to flash.
I guess the need to keep it light weight overrides the need for append.
Will keep plugging away

@damianburrin I was looking through this code over the weekend and there was a bug in the naive first implementation I'd written. It's now fixed and you'll be able to put/get files of arbitrary size (it does what Damien suggests - chunks the read/write into pieces). However, this doesn't address your append-related query.
Since I've addressed the initial (non-append) bug report, I'm closing the issue. Thanks for the feedback! Keep it coming. :-)

Great stuff
Damian
From: Nicholas Tollervey
Sent: Monday, July 4, 2016 12:36 PM
To: ntoll/microfs
Cc: Damian ; Mention
Subject: Re: [ntoll/microfs] File Limits (#2)
@damianburrin I was looking through this code over the weekend and there was a bug in the naive first implementation I'd written. It's now fixed and you'll be able to put/get files of arbitrary size (it does what Damien suggests - chunks the read/write into pieces). However, this doesn't address your append-related query.
Since I've addressed the initial (non-append) bug report, I'm closing the issue. Thanks for the feedback! Keep it coming. :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Merged to soon, didn't realize the extra unnecessary serialization

I applied @pranavkm changes and didn't realize there was a leftover serialization operation.

/cc: @Pilchie
This is cleanup left-over

Approved for 3.1.0-preview3.


docs: Add lucumt.info to showcase

Add a new hugo website example to hugo,the address is http://lucumt.info , and is suitable for the Chinese users.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Rosen Lu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @lucumt,
thank you submitting the addition of your website to the showcase. Before we can merge it please make sure to sign the CLA that's linked in the comment above.

@digitalcraftsman  thank you for your kinder remind,but I have signed the CLA yesterday and it said "You have signed the CLA for spf13/hugo",now I just sign the CLA in another computer,and it also said "You have signed the CLA for spf13/hugo",but the check result still shows that I do not sign the CLA,I do not know why,can you helo me,please?

@digitalcraftsman  all checks have passed now!

I've merged your addition as 431d5974.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1294 ms

Resolved: Bofrost.at performance has improved in 2c7f593.