fix Gfile method size() to Size()

Gfile object has method Size(), not size()
Signed-off-by: yaoning<EMAIL_ADDRESS>

Can one of the admins verify this patch?

Are you sure?
Gfile now just wraps FileIO, which defines it as size(): https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/lib/io/file_io.py#L83

It was Size() in branch r0.10.  If you want to send a PR for that branch, please do, after signing the CLA.  However, we since changed it to size() in r0.11 / master, so I'm going to close this.
https://github.com/tensorflow/tensorflow/blob/r0.10/tensorflow/python/platform/gfile.py#L179


Keras 2.0

Are the CompactCnn weights compatible with the last version of keras?

No, as written in README, use keras 1.1 or 1.2, nothing else but BN has changed in keras 2.0.

Could it be possible to train the Compact CNN again with keras 2.0? I can do it myself if you dont have time.

Thinking of doing it at some point, not right away though. There seems some model loading issue in Keras 2.0 and kinda waiting till it becomes mote stable.

On 30 Mar 2017, at 17:00, Valeriu Lacatusu<EMAIL_ADDRESS>wrote:
Could it be possible to train the Compact CNN again with keras 2.0? I can do it myself if you dont have time.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


Invalidate state on checkpoint quorum peer disagrees with

Description
This changeset verifies that the checkpoint quorum id agrees with its own checkpoint id.  If there is a quorum which disagrees with the local replica, the replica will invalidate its state, and perform state transfer.
This is a companion PR to #1971.  SMEs include @kchristidis @corecode or @tuand27613.
Motivation and Context
The code previously naively assumed that its state must match the any checkpoint quorum, assuming it had reached that sequence number.  This caused the replica not to detect non-determinism if the replica generated its own checkpoint before the last matching quorum checkpoint was received.
This should eliminate the secondary behavior seen in #1857, where a replica would believe itself to be up to date with a diverged state.  The primary cause of #1857 (non-deterministic chaincode) has been fixed in pr #1969 for master.
How Has This Been Tested?
This PR contains a new testcase which verifies the new behavior.
Checklist:

[X] I have added a Signed-off-by.
[X] I have either added documentation to cover my changes or this change requires no new documentation.
[X] I have either added unit tests to cover my changes or this change requires no new tests.
[X] I have run golint and have fixed valid warnings in code I have added or modified. This tool generates false positives so you may choose to ignore some warnings. The goal is clean, consistent, and readable code.

The continuous integration build process will run make checks to confirm that tests pass and that code quality meets minimum standards. You may optionally run this locally as PRs will not be accepted until they pass.
Signed-off-by: Jason Yellick<EMAIL_ADDRESS>

must go in

@corecode Thanks, LGTM. Also review in the 0.5 branch.


Document behavior for tslint.json in subfolders when config file is specified via CLI flag

Bug Report

TSLint version: 5.11.0
TypeScript version: 3.3.4000
Running TSLint via: CLI (and applies to VSCode too)

Repo structure
packages/
    workspaces/
        package1/
            src/index.ts
            tslint.json
tslint.json
tsconfig.json

Actual behavior
yarn run tslint -p tsconfig.json                 # subfolder tslint.json takes precedence.
yarn run tslint -p tsconfig.json -c tslint.json  # subfolder tslint.json seems ignored.

Expected behavior
I expected that passing default value wont change the behavior.
Related issues
#4568
#4570

Can you elaborate on your use case? In your example it seems like the first command, yarn run tslint -p tsconfig.json, is sufficient.

@adidahiya Yes, that's enough for my use-case, but it was frustrating and took quite a time to figure out what caused the problem - I didn't expect that passing the default value would change the behavior, and I prefer to explicitly list parameters in my scripts. Not fixing but rather documenting the different would also solve my use-case.
I see another problem here - if someone is forced to use config file with non-default name, then currently it's impossible to achieve sub-folder behavior.

I didn't expect that passing the default value would change the behavior

I don't think this expectation is so clear-cut; I could imagine someone arguing the opposite.
Also regarding a config file named something other than tslint.json... that seems like a rare / low priority use case. I'm open to other ideas if people feel strongly about this and have a concrete proposal on what to change, but for now I find the current behavior ok.

Ok, then let's document this difference?

☠ TSLint's time has come! ☠
TSLint is no longer accepting most feature requests per #4534. See typescript-eslint.io for the new, shiny way to lint your TypeScript code with ESLint. ✨
It was a pleasure open sourcing with you all!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


check initail cluster when start pd

two pd-server starts with different initial-cluster url map  will meet error.
2017-04-07 15:48:46.047671 E | etcdserver: publish error: etcdserver: request timed out
2017/04/07 15:48:56 etcdutil.go:141: [warning] check etcd http://<IP_ADDRESS>:2379  status, resp: <nil>, err: context deadline exceeded, cost: 10.000233022s
2017-04-07 15:48:57.047847 E | etcdserver: publish error: etcdserver: request timed out

check consistence of initail-cluster fistly or recommend to use join

This type error just appears in firstly start a PD cluster, if already exist a normal PD cluster and restart with Inconsistent initial-cluster, will get error cluster id and not start success.
we no need to fix it. it is a new PD cluster, you can clear data and turn the parameter to consist and start it.if not, the etcd will adjust the actually urls map according to the startup order, it also will running normally.


Bump to v0.1.1

Fixes #4
Upgrades to new extension.toml format
Manually set -light themes to light
Fixes whitespace in template and json

Thank you!


Ensure type coercion of attributes

Thought this is what pydantic did but seems it's not working.
Ensure all floats are floats, ints are ints etc.

From https://docs.pydantic.dev/2.3/usage/models/#data-conversion, maybe need to use model_dump() method?

Also we can get very 'Pydantic' and use specifically positive ints! https://docs.pydantic.dev/2.3/usage/types/number_types/


Check time platform abstraction macro definitions

This patch adds some checks to check_config.h to ensure that macro
definitions for the time platform abstraction are acceptable. In this
case the requirements are:

MBEDTLS_PLATFORM_C must be defined whenever
MBEDTLS_PLATFORM_TIME_ALT, MBEDTLS_PLATFORM_TIME_TYPE_MACRO or
MBEDTLS_PLATFORM_TIME_MACRO is defined.
MBEDTLS_PLATFORM_STD_TIME and MBEDTLS_PLATFORM_TIME_ALT cannot be
defined simultaneously with MBEDTLS_PLATFORM_TIME_TYPE_MACRO or
MBEDTLS_PLATFORM_TIME_MACRO.

@yanesca @sbutcher-arm

Why is MBEDTLS_PLATFORM_C a prerequisite for MBEDTLS_PLATFORM_TIME_TYPE_MACRO?

Why is the following condition necessary?
"MBEDTLS_HAVE_TIME and MBEDTLS_PLATFORM_TIME_ALT must be defined
whenever MBEDTLS_PLATFORM_STD_TIME is defined."

+1

+1

The last commit splits the rather complex condition in check_config.h into two separate preprocessor conditions for simplicity as suggested by @yanesca.

Reviewed and approved for merge,


Connection disconnects - random time-out / connection failures

Azure Data Studio Version: 1.40.1
OS Version: Windows 11 21H2

Steps to Reproduce:

Connect to any database and run a query
Switch between tabls

Does this issue occur when all extensions are disabled?: Yes

I have an issue that seems to be related to token refreshes.  I am seeing connecting to both Azure or on site SQL servers.  A query may run and then end with an error such as "Query failed: Invalid operation. The connection is closed."
Opening Developer mode and watching the console, this message keeps showing until the error happens :  INFO Found pending reconnect promise for uri untitled:SQLQuery_7, waiting. workbench.dekstop.main.js:877
Switching open tabs for one second then going back to the same window reports
INFO Access token expired for connection 67cef55a-4f0b-4965-91e5-7f4635f1abd6 with uri untitled:SQLQuery_7
Successfully refreshed token for connection 67cef55a-4f0b-4965-91e5-7f4635f1abd6 with uri untitled:SQLQuery_7, result: true [object Object], isConnected: true, [object Object]
then immediately reports this again
INFO Access token expired for connection 67cef55a-4f0b-4965-91e5-7f4635f1abd6 with uri untitled:SQLQuery_7
The same does not happen when running 1.41.0-insiders

Duplicate of #21320


fix: Address flaky integration test

Trying to figure this one out, I read up again on the documentation of StreamWriter.read() and took extra note of this passage.

[...] return at most n available bytes as soon as at least 1 byte is
available in the internal buffer.

After switching to use .readexactly() instead, the error systematically stops occurring.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c57a4bd) 96.67% compared to head (c36685e) 96.67%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #130   +/-   ##
=======================================
  Coverage   96.67%   96.67%
=======================================
  Files          14       14
  Lines        1023     1023
  Branches      139      139
=======================================
  Hits          989      989
  Misses         26       26
  Partials        8        8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@eliax1996 IO is just a protocol so it doesn't really have opinions of how many bytes the method should return.
Note that there was also a previous related fix for all the lower-level read functions: https://github.com/Aiven-Open/kio/pull/117. Prior to that, some of them would silently accept fewer bytes than expected, but the fix makes them fail loudly.

IO is just a protocol so it doesn't really have opinions of how many bytes the method should return.

And this would probably require dependent types to express with the type system 😁


postinstall message about analytics gets buried

Congrats on Roots 3!
I love what you guys are doing with Keen around the anonymous CLI/API analytics, and especially love the sentiment around making it transparent, obvious, and easy to disable with the postinstall message.
However, I've noticed the postinstall script gets buried by the final npm WARNs and dep tree. I have absolutely nothing helpful to add here, as I couldn't find anything from npm/google on how to avoid that. Thought it was worth raising in case you might have any ideas, but if this is something you are already aware of and there's no known fix, please close and carry on — with many thanks for all of your great work.

Hey @sperand-io -- thanks for the heads up! It seems like actually this is an issue with npm and your local node install, I don't see any of those npm warnings, and they are not normal. Usually the postinstall is the final message that appears after installation.
Thanks for the notice though, and the kind words about roots! I'm going to close this out as it's not an issue with our code, and not one that we can fix, but will keep an eye on it for the future :grinning: Of course let us know if there are any other things we can help with or things you notice.


haskellPackages.cachix: dontCheck

Motivation for this change
I guess since it's a channel blocker, it can go to master instead of haskell-updates? cc: @cdepillabout
Fixes https://github.com/NixOS/nixpkgs/issues/89255
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@vcunat How urgent is unblocking the channel?
The easiest thing here might be not to merge this in, but wait until @domenkozar fixes it in cachix upstream, makes a release, and it gets pulled into the haskell package set.
cc @peti about this as well.

Only nixpkgs-unstable channel depends on that, so I'd personally wait at least 24h for a reaction.  Most Linux-based people use nixos-* channels, I think, so this one would be mainly for macOS.

This makes sense to do while I fix it properly and release.


Support inlining function literals with multiple arguments, implement Array.foldLeft and Array.foldRight

Implements #79.
Removed subs parameter in Common.app and appSubs methods since it's not used anywhere. Also I modified Common.app implementation to support inlining of multiple arguments in function literals.

I thought it might be a better idea to have a single argument list since macro invocations can't be curried. But consistency with standard libraries is a good reason to have it this way, so now it should be correct.

LGTM, great job @adamwy !


runTests doesn't respect the .vscode folder in the opened workspace

I have a "Run Extension" launch task that starts vscode so that I can test my extension. I have a folder called test-environment that vscode is supposed to open directly into. When I run my launch task, it opens that folder but none of the settings in test-environment/.vscode are being respected. When I test my extension, I want it to use the typescript.tsdk in the test-environment/node_modules, not the version of typescript bundled with vscode. I have the same issue when I run the extension tests via the terminal.
Here's my launch json:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Run Extension",
      "type": "extensionHost",
      "request": "launch",
      "args": [
        "${workspaceFolder}/test-environment",
        "--disable-extensions",
        "--extensionDevelopmentPath=${workspaceFolder}/packages/extension"
      ],
      "outFiles": ["${workspaceFolder}/packages/extension/out/**/*.js"],
      "preLaunchTask": "${defaultBuildTask}",
      "internalConsoleOptions": "openOnSessionStart"
    }
  ]
}

Here's my run-tests file:
async function main(): Promise<void> {
  try {
    // Download VS Code, unzip it and run the integration test
    await runTests({
      version: 'stable',
      launchArgs: [TEST_ENV_DIR, '--disable-extensions'],
      // The folder containing the Extension Manifest package.json
      extensionDevelopmentPath: EXTENSION_ROOT_DIR,
      // The path to test runner
      extensionTestsPath: resolve(E2E_ROOT_DIR, 'out/tests/index'),
    })
  } catch (err) {
    console.error('Failed to run tests')
    process.exit(1)
  }
}

Folder structure:
test-environment/
  .vscode/
    settings.json
  testing.ts
  tsconfig.json
  etc...

Here is the test-environment/.vscode/settings.json contents:
{
  "typescript.tsdk": "node_modules/typescript/lib",
  "telemetry.enableTelemetry": false,
  "typescript.tsserver.trace": "messages",
}

I've created a test-workspace.code-workspace file in this directory. Is there a way for me to get the runTests to open that workspace configuration directly? Maybe that would solve the issue?

Can you log the TEST_ENV_DIR value? Maybe it is not pointing to the correct place. (it migth be tricky depending from the test are executed)

I have the same problem, I know my runtest is opening the right folder, because I see the files in the explorer tab, I see the .vscode folder, but the settings.json in there is being ignored.  If I open the same folder as a user using the same .vscode-test version of code.exe then the settings.json is honored.  So something weird about runtest for sure...


To skip replace inside code block

HI Team,
I have a c # plugin to to create PR, with in PG i have added a function to replace "<" and ">" with < and >. And I dont want this replace to happen with a code block. Is it possible if yes can someone suggest me to proceed. I am new to markdown logic.

We have a great extension developer community over on GitHub discussions and Slack where extension authors help each other. This is a great place for you to ask questions and find support.
Happy Coding!


Robert Columbia: Watch dll.one

Robert Columbia requests the watch of the watch_keyword dll\.one. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

dll\.one has been seen in 2 true positives, 1 false positive, and 0 NAAs.

The one false positive in the MS search turned out to be spam that we missed.

Approved by Spevacus in Charcoal HQ


Latest fsnotify causes tests to hang

The issue appears to be caused by changes in this commit. Not sure who is at fault.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32227947-latest-fsnotify-causes-tests-to-hang?utm_campaign=plugin&utm_content=tracker%2F15716642&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F15716642&utm_medium=issues&utm_source=github).

goroutines.txt
This is referring to the goroutines.txt above

goroutine 71: watch.Watch is holding the lock on lib/watch/watcher.go:95, waiting on flushDir waiting on watch.Remove waiting on fsnotify.Remove which is waiting for an ignore event through the Condition at inotify.go:158
goroutine 8: the Observe event loop wants to send an event but the lock is being held already by goroutine 71 as above. The ignore event seems to be the after the one it is trying to handle.

Because Watch is holding the lock that the Observe loop wants to hold, if the events come out of order then fsnotify will be waiting to send another event and the Observe loop is stuck waiting for the lock, while the Watch holding the lock is waiting for another Ignore event.

related to https://github.com/fsnotify/fsnotify/issues/123.

This issue is causing a dead lock on [TestSaveAsOpenFile](https://github.com/limetext/backend/blob/master/view_test.go#L199)

After https://github.com/limetext/backend/commit/530bbfd0e08c282fae8710190eda4d8b5cd295f8 it seems there is no problem.


Create Japanese.strings

Thanks @7jin16!

Have you flipped through usage of the framework with these strings? Can you post a few screenshots? I'm wondering how well they work line-wise.


Environmental variables within config settings not expanding

Brief Issue Summary
Environmental variables within config settings may not expand correctly, possibly due to the variable name normalization that occurs before expansion.
Expected:

Assume you are trying to configure CMakeTools to work with microsoft/vcpkg, for example.
Assume you have an environmental variable named VCPKG_ROOT that points your vcpkg directory.
Configure CMakeTools as such inside your workspace's settings.json. 🐱👤

{
  "cmake.configureSettings": {
    "CMAKE_TOOLCHAIN_FILE": "${env:VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
  }
}

Perform a clean configure. >CMake: Delete cached build settings and reconfigure
Have your find_package calls auto-magically work! 🧙♂

Apparent Behavior:

Perform expected steps 1-4.
Watch as CMake fails with an error stating that the toolchain file could not be found. 😱

CMake Tools Log
...
[cmake] CMake Error at c:/cmake/share/cmake-3.15/Modules/CMakeDetermineSystem.cmake:99 (message):
[cmake]   Could not find toolchain file: /scripts/buildsystems/vcpkg.cmake
[cmake] Call Stack (most recent call first):
[cmake]   CMakeLists.txt:2 (project)
...

Platform and Versions

Operating System:  Windows
CMake Version: 3.15.2
VSCode Version: 1.38.0
CMake Tools Extension Version:  1.1.3
Compiler/Toolchain: Visual C++ 2019

Other Notes/Information
May be related to #489, but after a brief glance I'm not seeing anything in the related fix (af0f6f024ba43eea5f21b76e1cf8427bf4a9fec4) that suggests that this is the same issue.
As best as I can tell, this is being caused, in part, by variable names being normalized (which means converting to lowercase on Windows) before expansion. I.e. ${env:NAME} is being treated as ${env:name}.
https://github.com/microsoft/vscode-cmake-tools/blob/bc9f08f2dca95c0f17ae06b30bd36687266f112c/src/expand.ts#L92
https://github.com/microsoft/vscode-cmake-tools/blob/bc9f08f2dca95c0f17ae06b30bd36687266f112c/src/expand.ts#L100
However, the map (env) containing the values does not contain keys that were also normalized, causing the lookup with the normalized name to return undefined.
I'm not aware of the reasoning behind normalizing the variable names, but as best I can tell there are at least four possible options for a fix/workaround.

Normalize (and cache) all the key names within env so the lookup works as expected. 😁
Change the previously mentioned source code lines to resemble the following: 😅

    const repl = env[varname] || env[normalizeEnvironmentVarname(varname)] || '';

Change your environment variables to be lower case, matching the assumption of normalizeEnvironmentVarname. 😆
Hard-code your configuration settings so you don't even need the expansion to work. 🤔

@CodeAnxiety
I set toolchainfile on cmake-tools-kits.json, and the ENV can be expanded. (and pre-define variable is fine, I test workspaceFolder, but failed to paser config variable.)
Sample:
CMake: Edit User-Local CMake Kits.
Add tool kits as
{
"name": "my env tool kits",
"toolchainFile": "${env:SHELL}/toolkit/include/mk/toolchain.cmake"
},
The env:SHELL will be parsed as /bin/bash
toolchain file: /bin/bash/toolkit/include/mk/toolchain.cmake

Any update on this?  I'm using macOS Code 1.50.1 and I cannot seem to get any cmake combination of variable expansion to work so that I can use multi-root workspace ${workspaceFolder:Name} in things like cmake.configureSettings:
{
  "folders": [
    { "name": "Other", "path": "other_dir" }
  ],
  "settings": {
    "cmake.configureSettings": {
      "OTHER_PROJECT_DIR": "${workspaceFolder:Other}"
    }
  }
}

The above results in -DOTHER_PROJECT_DIR:STRING=${workspaceFolder:Other} which isn't helpful.  Incredibly if I pick a variable that doesn't exist, I do get an expansion error.
Based on the OP I tried setting a cmake variable (cmake.environment that was lower-cased and then expand that, but I get the same result where it inserts the actual text ${env:dummy_test} for the variable rather than the expanded value.  It's as if somewhere along the line it is expanding the value, but then it moves forward using the un-expanded variant.

Not expanding or not expanding propery?

Not expanding or not expanding propery?

I apologize, I no longer have the environment setup where I was trying to debug this and I don't understand the your question, I think.  If variables are not expanding to their penultimate definitions then the variable expansion is not working properly.  So, both?
The issues here are related in that they're both VSCode JSON spec variables that we're trying to expand within the JSON to whatever the definition is supposed to be.  In the OP's case, the ${env:...} was expected to expand to an environment-defined value.  In my case, the ${workspaceFolder:...} was expected to expand to the folder name:, a workspace-defined value.  In both cases we found the variables seemed to be evaluated and then the result ignored rather than substituted into the reference location.
I reviewed #2236's comments but it's unclear if it will help at least in my issue (being able to use workspaceFolder in configuring the CMAKE environment).  I'll keep an eye out for the release where this goes in though and see if I can carve off some time to repro my environment.
I see this has been getting pushed out several times over the last year.  Do you have an ETA for when this will be in a release or what release number it will be?

Not expanding or not expanding propery?

I apologize, I no longer have the environment setup where I was trying to debug this and I don't understand the your question, I think. If variables are not expanding to their penultimate definitions then the variable expansion is not working properly. So, both?
The issues here are related in that they're both VSCode JSON spec variables that we're trying to expand within the JSON to whatever the definition is supposed to be. In the OP's case, the ${env:...} was expected to expand to an environment-defined value. In my case, the ${workspaceFolder:...} was expected to expand to the folder name:, a workspace-defined value. In both cases we found the variables seemed to be evaluated and then the result ignored rather than substituted into the reference location.
I reviewed #2236's comments but it's unclear if it will help at least in my issue (being able to use workspaceFolder in configuring the CMAKE environment). I'll keep an eye out for the release where this goes in though and see if I can carve off some time to repro my environment.
I see this has been getting pushed out several times over the last year. Do you have an ETA for when this will be in a release or what release number it will be?

Oh, do you means getting the following configure to be works?
That my PR are not related
{
  "folders": [
    { "name": "Other", "path": "other_dir" }
  ],
  "settings": {
    "cmake.configureSettings": {
      "OTHER_PROJECT_DIR": "${workspaceFolder:Other}"
    }
  }
}

Closing the ticket. If anyone sees any such symptoms again please reactivate and give plenty of info to help us reproduce on our side and investigate.


Release non-x86-64 binaries

Description
Currently only x86-64 builds are released. Support for the remaining Tier-1 architectures should also be added as part of Release workflow.

I was trying this out using the default runners from GitHub. However, there's no option to change the runner's architecture from amd64 to i386, making it troublesome to build for x32 targets of Tier 1.
I managed to build for all the platforms, but the workflow isn't pretty. We could leverage the rust ecosystem for these builds. What do you think about adding a section about installing the CLI using cargo instead of these pre-built binaries?

What do you think about adding a section about installing the CLI using cargo instead of these pre-built binaries?

CLI can't be installed via cargo, because it depends on not yet released version of clap, and crates with git dependencies can't be published to crates.io

I totally forgot that. Thank you for bringing it up!
Should I open a PR with the new workflow?

FYI, I've submitted jrsonnet to homebrew: https://github.com/Homebrew/homebrew-core/pull/80170 , on macOS users can install it bybrew install jrsonnet.


network create not working

Hi, I have this code
include podman

$user = 'podman'
$user_home = "/var/lib/${user}"

  group { $user:
    ensure => present,
    gid    => '60000'
  }

  user { $user:
    ensure   => present,
    shell    => '/bin/bash',
    uid      => '60000',
    gid      => '60000',
    home     => $user_home,
    require    => Group[$user]
  }

  file { 'home_user':
    ensure => directory,
    path   => $user_home,
    mode   => '0755',
    owner  => $user,
    group  => $user,
  }

  podman::rootless { $user: }

  podman::subuid { $user:
    subuid => 255666,
    count  => 65535,
   }

  podman::subgid { $user:
    subgid => 255666,
    count  => 65535,
  }

  podman::network { 'mynetwork':
    user     => $user,
    driver   => 'bridge',
    internal => true,
  }

But when I run puppet, I have an error with this description:
Error: /Stage[main]/Podman_all::Configure/Podman::Network[mynetwork]/Exec[podman_create_network_mynetwork]/returns: change from 'notrun' to ['0'] failed: 'podman network create mynetwork --driver bridge     --internal
' returned 1 instead of one of [0]

Please, can you help me?
Thanks.

To debug this, login to the target host, "su" to podman, set the
XDG_RUNTIME_DIR, and manually run the command being run by puppet.   This
should show the error and we can determine what to do next.
$ su - podman
$ export XDG_RUNTIME_DIR=/run/user/$(id -u)
$ podman network create mynetwork --driver bridge --internal
On Fri, Jun 2, 2023, 7:00 AM DoctorPalomo @.***> wrote:

Hi, I have this code
`include podman
$user = 'podman'
$user_home = "/var/lib/${user}"
group { $user:
ensure => present,
gid => '60000'
}
user { $user:
ensure => present,
shell => '/bin/bash',
uid => '60000',
gid => '60000',
home => $user_home,
require => Group[$user]
}
file { 'home_user':
ensure => directory,
path => $user_home,
mode => '0755',
owner => $user,
group => $user,
}
podman::rootless { $user: }
podman::subuid { $user:
subuid => 255666,
count => 65535,
}
podman::subgid { $user:
subgid => 255666,
count => 65535,
}
podman::network { 'mynetwork':
user => $user,
driver => 'bridge',
internal => true,
}
`
But when I run puppet, I have an error with this description:
Error: /Stage[main]/Podman_all::Configure/Podman::Network[mynetwork]/Exec[podman_create_network_mynetwork]/returns: change from 'notrun' to ['0'] failed: 'podman network create mynetwork --driver bridge     --internal
' returned 1 instead of one of [0]
Please, can you help me?
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/southalc/podman/issues/62, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI3XBISFM2TS7WGTBV6ZSHDXJHBUHANCNFSM6AAAAAAYYFCWBA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

After clean installation.. now it's works.
Thanks!


64bit balenaOS not booting on Raspberry Pi CM3+ in Waveshare carrier board

I'm trying to get 64-bit balenaOS to run on a RPi CM3+ (32GB) compute module sitting in a WaveShare carrier board.
Works:
32-bit balenaOS
64-bit Ubuntu Server (20.04 LTS)
Doesn't work:
64-bit balenaOS, version 2.47.0+rev1
The image works fine on a regular RPi3, so it's most likely an issue with the WaveShare board. The manufacturer does not provide any Yocto files unfortunately. When starting up there's no text on the monitor, but it turns on. Also no network activity is detected. I tried a serial connection to the board but nothing shows up (but I'm not sure I'm doing that part right).
Also see this discussion on the forum: https://forums.balena.io/t/waveshare-compute-module-poe-with-raspberry-pi-cm3-32gb/110477

Hi @HakanL can you try out the 2.38.0 64 bits release first as a quick test?
Can you in parallel set-up a serial connection on a .dev 32 bits OS version and check that you are doing all ok there? If you're setting it up correctly, you should see the bootlog and at the end of the boot process you will be presented with the login prompt. If you then manage to set-up the serial console, then use a .dev 64 bits OS release and check if there's any output.

Version 2.38.0+rev1 (from 2019) only worked in 32-bit, not 64-bit on the RPi CM3+ module. I'm working on getting serial debug info to work.

I tried version 2.47rev1 32-bit on the RPi CM3 on the WaveShare carrier with serial connected. I can see the debug messages and everything. But when I test the 64-bit image (same version) I don't get anything on the serial port at all.

This is also affecting us. Posted on the forum at https://forums.balena.io/t/balena-os-64-bit-does-not-work-on-compute-module-3/223502
We've got a Compute Module board that we'd like to use Balena with, however as the software is 64 Bit need to use that instead of the usual armv7hf envrionment.
It seems that RPi CM3 64 Bit hasn't been updated since January?
It looks to me as if because it's not been updated that it's not had the new device tree files added for 64 Bit CM3/+. I have it semi working by copying in the device tree files to a boot partition but it's not stable but enough to confirm that's whats missing.
32 Bit works fine.

I have reproduced this issue on a Fin v1.1.1 with CM3+ lite as well.
Had to copy across the balena-fin.dtb and the bcm2710-rpi-cm3.dtb and add dtoverlay=balena-fin to the config.txt file

PRs to fix:
https://github.com/agherzan/meta-raspberrypi/pull/783
https://github.com/balena-os/balena-raspberrypi/pull/580
For CM3 this should work with these updates. If wanting to use raspberrypi3-64 with a balenaFin you will still need to add dtoverlay=balena-fin to the config.txt
I guess the only way around this would be to add a fincm3-64 device but not sure if there is much point.

@HakanL this is fixed in #594 and also see https://github.com/balena-os/balena-raspberrypi/issues/595#issuecomment-774708770


cli: Align subcommands descriptions vertically.

Also have at least 3 spaces between the subcommand and the description,
same as the case with the parameters.

@ashdnazg squashed

I think you want +4 because now it takes the ":" into account in the padding.

There was a space in the format string, now that I removed it indeed 4 spaces are needed.


https://my.profile.microsoft.com doesn't work the tenant which does not enable preview feature

https://myprofile.microsoft.com does not work in the tenant which does not enable preview feature.
It seems that It is better for set up MFA to use https://aka.ms/mfasetup instead of https://myprofile.microsoft.com.

User communications
...
Microsoft provides communication templates and end-user documentation to help draft your communications. You can send users to https://myprofile.microsoft.com to register directly by selecting the Security Info links on that page.

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

ID: f132318f-8670-fd0d-2524-01305ccff2a1
Version Independent ID: 0849b4a9-ff14-1d61-47f2-a2daecf3cde9
Content: Plan and execute an Azure Multi-Factor Authentication deployment - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-mfa-getstarted.md
Service: active-directory
Sub-service: authentication
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

if "User feature preview" disabled, user can not access https://myprofile.microsoft.com

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

@watahani the article recommends enabling the combined experience under the Plan registration policy heading.
https://docs.microsoft.com/azure/active-directory/authentication/howto-mfa-getstarted#plan-registration-policy

#please-close

When will this move from Preview to Released?


Distribution Types: Create Max Days Constraints in unitime

Failed: Cannot invoke "javax.script.ScriptEngine.put(String, Object)" because "engine" is null
Execution failed: Cannot invoke "javax.script.ScriptEngine.put(String, Object)" because "engine" is null
java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.put(String, Object)" because "engine" is null
at org.unitime.timetable.server.script.ScriptExecution.execute(ScriptExecution.java:178)
at org.unitime.timetable.util.queue.QueueItem.executeItem(QueueItem.java:104)
at org.unitime.timetable.server.script.ScriptExecution.executeItem(ScriptExecution.java:337)
at org.unitime.timetable.util.queue.LocalQueueProcessor$RunningItem.run(LocalQueueProcessor.java:249)

The error indicates that the language in which the script was written is not available. The Scripts page is using JSR 223: Scripting for the Java Platform to run the scripts. The Distribution Types: Create Max Days Constraints script is written using ECMAScript which is typically the default script engine that is available in most JVMs.
What Java are you using? If you click on Add New button, which options are available under the Engine dropdown? Ideally, it should list at least ECMAScript in which case the script should run without any issues.

في أحد، ١٥ مايو، ٢٠٢٢ في ٦:١٦ م، كتب Tomáš Müller @.***

:

The error indicates that the language in which the script was written is
not available. The Scripts https://help.unitime.org/scripts page is
using JSR 223: Scripting for the Java Platform
https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/index.html
to run the scripts. The Distribution Types: Create Max Days Constraints
https://github.com/UniTime/unitime/blob/master/Documentation/Scripts/Create Max Days Constraints.xml
script is written using ECMAScript which is typically the default script
engine that is available in most JVMs.
What Java are you using? If you click on Add New button, which options are
available under the Engine dropdown? Ideally, it should list at least
ECMAScript in which case the script should run without any issues.
[image: Screenshot 2022-05-15 at 17 04 22]
https://user-images.githubusercontent.com/10631634/168479751-195f4ed0-48d6-4975-9851-71377c8f5a0a.png
—
Reply to this email directly, view it on GitHub
https://github.com/UniTime/unitime/issues/110#issuecomment-1126962182,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWL4XBP7ETRL57G376PYQZLVKEILNANCNFSM5V7BFOWQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

But didn’t show any options  available under the Engine dropdown(is null)
--
This message is from Palestine Ahliya University. The email and its
attachment may be confidential and are intended solely for the use of the
individual to whom it is addressed. If you have received a message in error
please notify the sender immediately and erase all copies of the message
and any attachments.  Any views expressed in any message are those of the
individual sender and may not necessarily reflect the views of Palestine
Ahliya University.

If you are using Java 15 or later, the ECMAScript engine may not be available by default. In this case, you need to install a JSR233 compatible JavaScript engine manually. The easiest is to use the standalone version of Nashorn (which used to be included in Java till version 14). To do so, download the following JARs and put them in Tomcat/lib folder. You will need to restart the Tomcat afterward.

nashorn-core-15.4.jar
asm-7.3.1.jar
asm-commons-7.3.1.jar
asm-tree-7.3.1.jar
asm-util-7.3.1.jar

For more details please see How can I continue to use Javascript in Java 15 onwards and Using Nashorn with different Java versions.

thank you very much it  succeeded


Follow-up: UI User auth

Need to propagate UI user auth changes to other docs.

Adding a note per @Amruta-Ranade's suggestion: we should should include a small section in our documentation around troubleshooting Authentication. This is particularly helpful in the case when a cluster has an outage on nodes that persist login information which will result in a timeout for all login requests. Web UI Auth sessions are persisted in a system range, and if that range loses quorum, users will be locked out of the entire cluster's UI. There might be other issues that could result in a timeout, might be worth following up with Andrew or Pete for further details.

Discussion with Jesse: For tutorials and training docs: Add a note for each secure cluster instances saying "create a user and password and then point browser to the admin UI"


Feat: Export and import data as json file

Notes

Save data button which will save an incrementing textfile name and store the data (without identifying data of the user)
This is not syncrenous as if you reset after a save. It will not be reflected
User will be informed their data id
On load provide correct id and get the data to replace your data

Research

How to make textfile reading thread safe (doesn't have to scale for lots of users but needs to avoid threading issues)


Add how to work with Windows Auth using Visual Studio Code

Help us make content visible
Did not find explanation on how to use Windows Auth with Visual Studio Code.
Describe the new topic
Visual studio code is huge and rapidly becoming a preferred IDE. I can use Windows Auth and debug when using regular Visual Studio using the docs but there's nothing about how to do it with Visual Studio Code. So I cannot debug an app needing Windows Auth with Visual Studio code and I feel like this is important to at least go over in those docs. They need the addition of this top notch IDE by Microsoft.

Hello @DanJ210 ... There's not much to say about VSC with Windows Auth. It's mostly configured in IIS. The IIS Options default to a config that makes Windows Auth work OOB as far as the app is concerned (when using CreateDefaultBuilder). See: https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index#iis-options
If you have something specific that you think we need to add to https://docs.microsoft.com/aspnet/core/security/authentication/windowsauth that would be good for VSC users to see, please let us know.


Need to restart sst dev for the function to access newly linked resource

Steps to reproduce:

Start sst dev
Add new bucket to sst.config.ts and link it to a function, save
Access bucket name in function

It'll work after you restart sst dev.

fixed in 0.0.382


Add PackageManager info to Transport package

Add PackageManager info to Transport package (.winmd, manifested ACIDs)
Also, sort the info (was semi-sorted)

/azp run

/azp run

/azp run


Hos

Creation of a class for multi-scale peaks count and wavelet-l1 norm statistics, taking into account the mask.
Fix the bug on mass mapping for non square images.
Write two test routines to show to use the class

test_hos_cfis()
test_hos_test1()

There are a couple of small issues:

In hos_peaks_l1.py there is a semicolon (;) at the beginning of line 659 that should be removed (possibly this is what causes the check fail).
There are some instances in the repo where np.float  is used (I found some in starlet.py but there may be some in other places as well). This is deprecated since NumPy 1.20 so those instances should be replaced with either just float or np.float64. Doing this will not modify any behavior and is safe.
In the test routine functions, in hos_peaks_l1.py, some directories paths are defined, but they use your local paths. If we want these test routines to be able to be ran by anyone who installs the package, this should be changed.


update Model.lua

update Model.lua

@turing0 if you are not familiar with git, you can just clone a new repo and make PR.

OK, thank you teacher for your help!
hsluoyz<EMAIL_ADDRESS>于2021年2月23日周二 下午12:42写道：

@turing0 https://github.com/turing0 if you are not familiar with git,
you can just clone a new repo and make PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/casbin/lua-casbin/pull/6#issuecomment-783872730, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANLRHHCZELN56UJI6FJFDQTTAMW4XANCNFSM4X37DYZA
.

well done!


token tests p1

Hi,
This PR adds some tests for token program.
Best regards,
Michal

@joncinque Fixed. Thank you for the review.

Thanks for the contribution, looks good!


nice

it's nice pluggin

is it tho? why do I have to compile it myself? just give me the dll

@bgi The compiled DLLs are right here: https://github.com/kapilratnani/JSON-Viewer/releases

it's nice pluggin

Thank you for your kind words.


Issue with k8s.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/

Problem:
This information is false ...

Prior to v1.11, critical pod has to run in the kube-system namespace, this restriction was removed after v1.11

Per https://github.com/kubernetes/kubernetes/issues/78383 -- to use system-cluster-critical or system-node-critical, the Pod must reside in the kube-system Namespace.
Proposed Solution:
Update the info
Page to Update:
https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/

/language en
/priority backlog


Add request_id on action failure

Noticed this when trying to work with channels-api in a personal project. It'll help with routing the response to the correct error handler.
Tests included.

Looks like one of the tests runners failed, I was using assert_called which it doesn't appear to like. any suggestions?

@linuxlewis all fixed up!

Thanks for your contribution!


Update README: accssed -> accessed

Update spelling. [ci-skip]

Coverage remained the same at 80.256% when pulling fc22abbf24cddf9bf2a2dbc9ee696907a2266c43 on fgo:patch-1 into a4596d944dca2873c3b16da9ca2c6c2fc15ac778 on Miserlou:master.


Fix a bug in batch_matmul that te.max should be used

This PR attempts to solve #7102

cc @zhiics

@tsupei  Good fix, you might want to git am this patch file to fix other locations

From 79e8cf5b24e5170fbfc51461249425ad6b868a7c Mon Sep 17 00:00:00 2001
From: Insop Song<EMAIL_ADDRESS>Date: Mon, 14 Dec 2020 21:01:03 -0800
Subject: [PATCH] Additional fix to batch_matmul

- add to this PR, https://github.com/apache/tvm/pull/7111
---
 python/tvm/topi/testing/batch_matmul.py | 2 +-
 python/tvm/topi/x86/batch_matmul.py     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/python/tvm/topi/testing/batch_matmul.py b/python/tvm/topi/testing/batch_matmul.py
index a48c92967..d24198e96 100644
--- a/python/tvm/topi/testing/batch_matmul.py
+++ b/python/tvm/topi/testing/batch_matmul.py
@@ -37,7 +37,7 @@ def batch_matmul(x, y):
     """
     XB, M, _ = x.shape
     YB, N, _ = y.shape
-    batch = max(XB, YB)
+    batch = te.max(XB, YB)
     out = np.zeros((batch, M, N)).astype(x.dtype)
     for i in range(batch):
         out[i] = np.dot(x[i if XB != 1 else 0], y[i if YB != 1 else 0].T)
diff --git a/python/tvm/topi/x86/batch_matmul.py b/python/tvm/topi/x86/batch_matmul.py
index 166c79a4c..79b38de8c 100644
--- a/python/tvm/topi/x86/batch_matmul.py
+++ b/python/tvm/topi/x86/batch_matmul.py
@@ -50,7 +50,7 @@ def batch_matmul(cfg, x, y, out_shape=None):
     YB, N, YK = get_const_tuple(y.shape)
     assert (XB == YB) or (YB == 1) or (XB == 1), "batch dimension doesn't match"
     assert XK == YK, "shapes of x and y is inconsistant"
-    B = max(XB, YB)
+    B = te.max(XB, YB)
     K = XK
     if out_shape is not None:
         assert out_shape[0] == B, "got invalid output shape"
--
2.28.0

@zhiics
Like most of other test files, this test test_topi_batch_matmul.py was not covering te.var case, hence we have this issue.
Should we add those test cases in as well? Let me know.

https://github.com/apache/tvm/blob/main/tests/python/topi/python/test_topi_batch_matmul.py

@insop thanks for your help! added!

@tsupei
Sorry, one of my change in python/tvm/topi/testing/batch_matmul.py file need to reverted, since this was for getting reference result using numpy.
I tested this on my local dev machine now.
Here is the my patch.

@insop One of the reasons why we didn't test var was because there was no dynamic support from the frontend

@tsupei can you add a unit test?

@zhiics I try to write a testcase modified from https://github.com/apache/tvm/blob/main/tests/python/topi/python/test_topi_batch_matmul.py
def verify_dynamic_batch_matmul(batch_size, M, N, K):
    dynamic_batch_size = te.var("dynamic_batch_size")
    dynamic_M = te.var("dynamic_M")
    dynamic_N = te.var("dynamic_N")
    dynamic_K = te.var("dynamic_K")

    x = te.placeholder((dynamic_batch_size, dynamic_M, dynamic_K), name="x")
    y = te.placeholder((dynamic_batch_size, dynamic_N, dynamic_K), name="y")
    dtype = x.dtype
    ...(skip)

It seems that te.var is not supported in other places.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu, workload=('batch_matmul.x86', ('TENSOR', (dynamic_batch_size, dynamic_M, dynamic_K), 'float32'), ('TENSOR', (dynamic_batch_size, dynamic_N, dynamic_K), 'float32')). A fallback configuration is used, which may bring great performance regression.
Traceback (most recent call last):
  File "tests/python/topi/python/test_topi_batch_matmul.py", line 120, in <module>
    test_batch_matmul()
  File "tests/python/topi/python/test_topi_batch_matmul.py", line 116, in test_batch_matmul
    verify_dynamic_batch_matmul(1, 16, 16, 32)
  File "tests/python/topi/python/test_topi_batch_matmul.py", line 69, in verify_dynamic_batch_matmul
    check_device(device, ctx)
  File "tests/python/topi/python/test_topi_batch_matmul.py", line 60, in check_device
    s = fschedule([out])
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/topi_integration.py", line 235, in wrapper
    return topi_schedule(cfg, outs, *args, **kwargs)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/topi/x86/batch_matmul.py", line 128, in schedule_batch_matmul
    traverse_inline(s, outs[0].op, _callback)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/topi/utils.py", line 68, in traverse_inline
    _traverse(final_op)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/topi/utils.py", line 66, in _traverse
    callback(op)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/topi/x86/batch_matmul.py", line 106, in _callback
    cfg.define_split("tile_y", M, num_outputs=2)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/space.py", line 730, in define_split
    return self._add_new_transform(SplitSpace, name, axes, policy, **kwargs)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/space.py", line 829, in _add_new_transform
    axes = [x if isinstance(x, (VirtualAxis, Axis)) else self.axis(x) for x in axes]
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/space.py", line 829, in <listcomp>
    axes = [x if isinstance(x, (VirtualAxis, Axis)) else self.axis(x) for x in axes]
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/space.py", line 687, in axis
    return VirtualAxis(var)
  File "/home/jojo6174/tvm-installation/tvm/python/tvm/autotvm/task/space.py", line 141, in __init__
    raise RuntimeError("Invalid type of axis: " + str(type(var)))
RuntimeError: Invalid type of axis: <class 'tvm.tir.expr.Var'>

@tsupei , @zhiics
How about this? by this, we can test.
Patch is here.
From 9b7b1589f4a05a739e19652b7a2705e4bfc7bfcb Mon Sep 17 00:00:00 2001
From: Insop Song<EMAIL_ADDRESS>Date: Wed, 16 Dec 2020 01:19:04 -0800
Subject: [PATCH] Add test to dynamic batch matmul

---
 .../topi/python/test_topi_batch_matmul.py     | 38 ++++++++++++++++---
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/tests/python/topi/python/test_topi_batch_matmul.py b/tests/python/topi/python/test_topi_batch_matmul.py
index e939f6c21..be6552f03 100644
--- a/tests/python/topi/python/test_topi_batch_matmul.py
+++ b/tests/python/topi/python/test_topi_batch_matmul.py
@@ -32,10 +32,24 @@ _batch_matmul_implement = {
 }

-def verify_batch_matmul(x_batch, y_batch, M, N, K):
-    x = te.placeholder((x_batch, M, K), name="x")
-    y = te.placeholder((y_batch, N, K), name="y")
-    dtype = x.dtype
+def verify_batch_matmul(x_batch, y_batch, M, N, K, dynamic=False, debug=False):
+
+    if not dynamic:
+        x = te.placeholder((x_batch, M, K), name="x")
+        y = te.placeholder((y_batch, N, K), name="y")
+        dtype = x.dtype
+    else:
+        assert x_batch == y_batch or x_batch == 1 or y_batch == 1
+        batch_size = max(x_batch, y_batch)
+        dynamic_batch_size = te.var("dynamic_batch_size")
+        dynamic_M = te.var("dynamic_M")
+        dynamic_N = te.var("dynamic_N")
+        dynamic_K = te.var("dynamic_K")
+
+        x = te.placeholder((dynamic_batch_size, dynamic_M, dynamic_K), name="x")
+        y = te.placeholder((dynamic_batch_size, dynamic_N, dynamic_K), name="y")
+        dtype = x.dtype
+

     # use memoize to pickle the test data for next time use
     @memoize("topi.tests.test_topi_batch_matmul")
@@ -53,10 +67,19 @@ def verify_batch_matmul(x_batch, y_batch, M, N, K):
         with tvm.target.Target(device):
             fcompute, fschedule = tvm.topi.testing.dispatch(device, _batch_matmul_implement)
             out = fcompute(x, y)
-            s = fschedule([out])
+            if not dynamic:
+                s = fschedule([out])
+                out_shape = out.shape
+            else:
+                s = te.create_schedule(out.op)
+                out_shape = (batch_size, M, N)
+
+            if debug:
+                print(tvm.lower(s, [x, y, out], simple_mode=True))
+
         a = tvm.nd.array(a_np, ctx)
         b = tvm.nd.array(b_np, ctx)
-        c = tvm.nd.array(np.zeros(get_const_tuple(out.shape), dtype=dtype), ctx)
+        c = tvm.nd.array(np.zeros(get_const_tuple(out_shape), dtype=dtype), ctx)
         f = tvm.build(s, [x, y, out], device, name="dense")
         f(a, b, c)
         tvm.testing.assert_allclose(c.asnumpy(), c_np, rtol=1e-5)
@@ -75,6 +98,9 @@ def test_batch_matmul():
     verify_batch_matmul(1, 5, 16, 16, 32)
     verify_batch_matmul(5, 1, 16, 16, 32)

+    # Test dynamic batch
+    verify_batch_matmul(1, 1, 16, 16, 32, dynamic=True, debug=True)
+    verify_batch_matmul(5, 5, 16, 16, 32, dynamic=True)

 if __name__ == "__main__":
     test_batch_matmul()
--
2.28.0

Test restults
$ python ./test_topi_batch_matmul.py
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (1, 16, 32), 'float32'), ('TENSOR', (1, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (1, 16, 32), 'float32'), ('TENSOR', (1, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (5, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (5, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (5, 20, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (5, 20, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (30, 16, 32), 'float32'), ('TENSOR', (30, 20, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (30, 16, 32), 'float32'), ('TENSOR', (30, 20, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (1, 16, 32), 'float32'), ('TENSOR', (5, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (1, 16, 32), 'float32'), ('TENSOR', (5, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (1, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (5, 16, 32), 'float32'), ('TENSOR', (1, 16, 32), 'float32')). A fallback configuration is used, which may bring great performance regression.
Running on target: llvm -device=arm_cpu
Cannot find config for target=llvm -keys=arm_cpu,cpu -device=arm_cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (dynamic_batch_size, dynamic_M, dynamic_K), 'float32'), ('TENSOR', (dynamic_batch_size, dynamic_N, dynamic_K), 'float32')). A fallback configuration is used, which may bring great performance regression.
primfn(x_1: handle, y_1: handle, compute_1: handle) -> ()
  attr = {"global_symbol": "main", "tir.noalias": True}
  buffers = {compute: Buffer(compute_2: Pointer(float32), float32, [dynamic_batch_size: int32, dynamic_M: int32, dynamic_N: int32], [stride: int32, stride_1: int32, stride_2: int32], type="auto"),
             y: Buffer(y_2: Pointer(float32), float32, [dynamic_batch_size, dynamic_N, dynamic_K: int32], [stride_3: int32, stride_4: int32, stride_5: int32], type="auto"),
             x: Buffer(x_2: Pointer(float32), float32, [dynamic_batch_size, dynamic_M, dynamic_K], [stride_6: int32, stride_7: int32, stride_8: int32], type="auto")}
  buffer_map = {x_1: x, y_1: y, compute_1: compute} {
  for (b: int32, 0, dynamic_batch_size) {
    for (i: int32, 0, dynamic_M) {
      for (j: int32, 0, dynamic_N) {
        compute_2[(((b*stride) + (i*stride_1)) + (j*stride_2))] = 0f32
        for (k: int32, 0, dynamic_K) {
          compute_2[(((b*stride) + (i*stride_1)) + (j*stride_2))] = ((float32*)compute_2[(((b*stride) + (i*stride_1)) + (j*stride_2))] + ((float32*)x_2[(((b*stride_6) + (i*stride_7)) + (k*stride_8))]*(float32*)y_2[(((b*stride_3) + (j*stride_4)) + (k*stride_5))]))
        }
      }
    }
  }
}

Running on target: llvm
Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('batch_matmul.x86', ('TENSOR', (dynamic_batch_size, dynamic_M, dynamic_K), 'float32'), ('TENSOR', (dynamic_batch_size, dynamic_N, dynamic_K), 'float32')). A fallback configuration is used, which may bring great performance regression.
primfn(x_1: handle, y_1: handle, compute_1: handle) -> ()
  attr = {"global_symbol": "main", "tir.noalias": True}
  buffers = {y: Buffer(y_2: Pointer(float32), float32, [dynamic_batch_size: int32, dynamic_N: int32, dynamic_K: int32], [stride: int32, stride_1: int32, stride_2: int32], type="auto"),
             compute: Buffer(compute_2: Pointer(float32), float32, [dynamic_batch_size, dynamic_M: int32, dynamic_N], [stride_3: int32, stride_4: int32, stride_5: int32], type="auto"),
             x: Buffer(x_2: Pointer(float32), float32, [dynamic_batch_size, dynamic_M, dynamic_K], [stride_6: int32, stride_7: int32, stride_8: int32], type="auto")}
  buffer_map = {x_1: x, y_1: y, compute_1: compute} {
  for (b: int32, 0, dynamic_batch_size) {
    for (i: int32, 0, dynamic_M) {
      for (j: int32, 0, dynamic_N) {
        compute_2[(((b*stride_3) + (i*stride_4)) + (j*stride_5))] = 0f32
        for (k: int32, 0, dynamic_K) {
          compute_2[(((b*stride_3) + (i*stride_4)) + (j*stride_5))] = ((float32*)compute_2[(((b*stride_3) + (i*stride_4)) + (j*stride_5))] + ((float32*)x_2[(((b*stride_6) + (i*stride_7)) + (k*stride_8))]*(float32*)y_2[(((b*stride) + (j*stride_1)) + (k*stride_2))]))
        }
      }
    }
  }
}

@tsupei
There was a clang-format check fali, here is another patch.
Thank you,

@insop I ran the testcase in my local machine. However, some placeholders are not bound in dynamic cases. On the other hand, we cannot directly reuse the schedule defined in _batch_matmul_implement on line 28, which may incurs some errors related to Var type. Maybe we need to define our own schedule for that dynamic testcase?
tvm._ffi.base.TVMError: Traceback (most recent call last):
  [bt] (5) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(TVMFuncCall+0x65) [0x7f05198a6765]
  [bt] (4) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(+0xd19862) [0x7f0518d52862]
  [bt] (3) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x2f0) [0x7f0518d51800]
  [bt] (2) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x1b7) [0x7f0518d52117]
  [bt] (1) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(+0xf4aaac) [0x7f0518f83aac]
  [bt] (0) /home/jojo6174/tvm-installation/tvm/build/libtvm.so(+0xf479e2) [0x7f0518f809e2]
  Did you forget to bind?
    Variable `y` is directly accessed by host memory (it is not contained in a thread environment or in the function arguments.
    Variable `x` is directly accessed by host memory (it is not contained in a thread environment or in the function arguments.
    Variable `compute` is directly accessed by host memory (it is not contained in a thread environment or in the function arguments.
    Variable `compute` is directly accessed by host memory (it is not contained in a thread environment or in the function arguments.
    Variable `compute` is directly accessed by host memory (it is not contained in a thread environment or in the function arguments.
  File "/home/jojo6174/tvm-installation/tvm/src/tir/analysis/verify_memory.cc", line 202
RuntimeError: Memory verification failed with the following errors:
PrimFunc([x, y, compute]) attrs={"global_symbol": "dense", "tir.noalias": (bool)1, "target": nvptx -keys=cuda,gpu -max_num_threads=1024 -mcpu=sm_61 -mtriple=nvptx64-nvidia-cuda -thread_warp_size=32} {
  for (b, 0, dynamic_batch_size) {
    for (i, 0, dynamic_M) {
      for (j, 0, dynamic_N) {
        compute[(((b*stride) + (i*stride)) + (j*stride))] = 0f
        for (k, 0, dynamic_K) {
          compute[(((b*stride) + (i*stride)) + (j*stride))] = (compute[(((b*stride) + (i*stride)) + (j*stride))] + (x[(((b*stride) + (i*stride)) + (k*stride))]*y[(((b*stride) + (j*stride)) + (k*stride))]))
        }
      }
    }
  }
}

@tsupei,
I didn't see it on my system where it only ran llvm test.
I have this patch to skip dynamic test on cuda, which you could apply.
However, I am not cure about this Memory verification shown your previous post and jenkins on cuda is expected or not?
@comaniac , @zhiics, thought?

@insop in device nvptx will also have Memory Verification issue, I add a commit to skip that.

@comaniac , @zhiics
PTLA.

Thanks @tsupei @insop @comaniac


Send events

I'm implementing clipboard support for a project that I'm doing, but I hit a wall with the copy operation.
For that, according to this article I need to send an event to other window but then I had a problem, send_event function is there BUT it requests the event in raw form, and there is no a manner to make that thing currently, currently if I want to implement the copy functionality I will need to implement the event maker myself and I think that the library would provide that.
If I can suggest a manner, it would be add the method to the Event enum

You can pass directly the event struct to send_event (or a reference to the event) because most events implement Into<[u8; 32]>.
impl From<&KeyPressEvent> for [u8; 32] {
    ...
}
impl From<KeyPressEvent> for [u8; 32] {
    ...
}
// Into<[u8; 32]> for KeyPressEvent and &KeyPressEvent are deduced from those

pub fn send_event<Conn, A, B, C>(conn: &Conn, propagate: bool, destination: A, event_mask: B, event: C) -> Result<VoidCookie<'_, Conn>, ConnectionError>
where
    Conn: RequestConnection + ?Sized,
    A: Into<Window>,
    B: Into<u32>,
    C: Into<[u8; 32]>,
{
    ...
}

Yeah, looks good, but what I would put in the response_type and sequence?

From https://www.x.org/releases/X11R7.6/doc/xproto/x11protocol.html#requests:SendEvent:

The contents of the event are otherwise unaltered and unchecked by the server except to force on the most significant bit of the event code and to set the sequence number in the event correctly.

Thus, sequence can be whatever you want.
This also means that response_type must be set correctly to identify the event you want. There are constants for the events, e.g. x11rb::protocol::xproto::KEY_PRESS_EVENT:
/// Opcode for the KeyPress event
pub const KEY_PRESS_EVENT: u8 = 2;

(Also seen on https://docs.rs/x11rb/0.6.0/x11rb/protocol/xproto/constant.KEY_PRESS_EVENT.html)
None of the examples use the SendEvent request, but we have this in a test, at least:
https://github.com/psychon/x11rb/blob/30764e30995098e9b0a1888f730a276ba0c2098b/tests/multithread_test.rs#L30-L41

Thank you, it works very well, no I only have to understand why my paste operation is broken...

now I only have to understand why my paste operation is broken...

$ git diff                                                                              master:1
diff --git a/src/platform/linux/xcb/clipboard.rs b/src/platform/linux/xcb/clipboard.rs
index d651f6c..0d95e4d 100644
--- a/src/platform/linux/xcb/clipboard.rs
+++ b/src/platform/linux/xcb/clipboard.rs
@@ -27,6 +27,8 @@ fn load_from_clipboard_inner(conv_target: Atom) -> Result<Option<Vec<u8>>, OSErr
         XCB.atoms.CLIPBOARD_RECEIVER,
         CURRENT_TIME,
     )?;
+    use x11rb::connection::Connection;
+    XCB.conn.flush()?; // Actually send the above request
     let start = Instant::now();
     while Instant::now() < start + Duration::from_millis(5) {
         run_event_for_queue()?;


Update version to v0.2 in 'pyproject.toml'

Keep pyproject.toml in sync with GitHub releases

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.2%. Comparing base (4ece734) to head (1f1fe99).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff          @@
##            main      #5   +/-   ##
=====================================
  Coverage   90.2%   90.2%
=====================================
  Files         12      12
  Lines        327     327
  Branches      61      61
=====================================
  Hits         295     295
  Misses        17      17
  Partials      15      15

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Release 1.2.0

Tracking PR for release 1.2.0
Estimated merge time: 8-10 April

Coverage decreased (-4.3%) to 87.265% when pulling 1511ad531e868098eef6595d150a256ee4b7640b on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.3%) to 87.265% when pulling 1511ad531e868098eef6595d150a256ee4b7640b on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.2%) to 87.287% when pulling f5aedcfc9be86ac438554637d5b4e7adb1492a9b on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.2%) to 87.287% when pulling ce4d94564d3044b89d8b32931e6c37550f11e868 on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.2%) to 87.287% when pulling ce4d94564d3044b89d8b32931e6c37550f11e868 on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.3%) to 87.276% when pulling dc4f0bdd5d2c0c2183ecec93c4165c53a86d4984 on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.5%) to 87.083% when pulling ed275ed346481c4a78424919fe6890a59598e872 on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.

Coverage decreased (-4.5%) to 87.083% when pulling e60997d1b9cde7445d7f1537bb2df5d8bc3f2127 on unstable into 92810eb96cdccc7b049e80c91591df8630e31009 on master.


inconsistent behaviour in get$Shorthand (getItems, getContent, etc.)

Very annoying bug if you want to the the first entry as WDI5 object of an aggregation - it isn't possible at the moment.
 This is the same behavior as getContent(true).
 Please fix this bug or make an exception in the README.md (or is it documented?)
I previously thought this could be related to webdriver/sync and stuff. I know the value '0' is considered as falsy, but as argument you could easily compare the input type and concrete value.
Runtime Env (please complete the following information):

wdi5/wdio-ui5-service- 0.8.1
UI5 version: 1.71.41
wdio-version (output of wdio --version): 7.16.14
node-version (output of node --version): v16.13.2
OS: Mac OS X
Browser + Version: chrome 97.0.4692.99

Very annoying bug if you want to the the first entry as WDI5 object of an aggregation - it isn't possible at the moment.

sorry, but not true. there's even an entire test suite for aggregations only: https://github.com/js-soft/wdi5/blob/develop/test/ui5-app/webapp/test/e2e/aggregation.test.js

If I call getContent(0) on a sap.m.Page WDI5 object, I get an array of objects each containing the attribute 'id'. This is the same behavior as getContent(true).

try adding ˋinteraction: rootˋ to the selector. this stems from the UI5 record replay api.

If I call getContent(1) I would get the WDI5 object.

actually this makes sense: you get the proxied UI5 control, transferred from browser- to node-scope. On that wdi5-object, you can then run its' api methods.
ˋawait browser.asControl(list).getItems(1).getTitle()ˋ

I am not saying that get$Shorthand is not working. Just that get$Shorthand(0) should return the first item as WDI5 object (in CS we are counting from 0) - as opposed to get$Shorthand(true) which returns the id's off the aggregated objects.
I got interaction: root in all of the selector objects.

i'll whip up a test case with a sap.m.Page and see how wdi5 performs selecting the content aggregation.
but just FTR: get$Shorthand(0) is supposed to deliver the first element of aggregation $shorthand

woah, this was a mean one.
essentially, TIL:
arg = 0
String(arg) && typeof arg === "number" //> true
arg && typeof arg === "number" //> 0

i've added a test working a sap.m.Page's content aggregation specifically: https://github.com/js-soft/wdi5/pull/125/files#diff-32620e091294e397d0ea64943ec1a91207353210f31bd1134fe0bfd836b5d66fR13

args.length === 0 was already handled, so you could just omit String(arg).
But thanks for your quick fix! Very much appreciated!
Cheers.


Create Slicer extension

cc: @MahmoudMostapha

Partially addressed in https://github.com/DCBIA-OrthoLab/MFSDA_Python/pull/11

Addressed in https://github.com/Slicer/ExtensionsIndex/pull/1735


Reading of FLEX Temp

Thanks for your great work on reading the values needed for the FENIX. Will it be possible to read the FLEX Temp given in the MCDU as well?
best regards
Chris

Hmm, maybe. Would need to look into this to see if it's possible.

Anything new on this issue ?
rgds
Chris

Added in 1.5.0


Enzyme

Hey @StephanieEA @bekahlundy ,
Just pushing up a bunch of tests I wrote on the snow day, also added no-extraneous-dependencies to the list of ESLint rules to turn off.
Let me know what you think!!!!
Dylan

Awesome. Looks great Dylan!


:bug: workspace controller: use loopback client for local shard

Summary
This means we can bootstrap without relying on the shard BaseURL, which may not be available during bootstrapping e.g if the endpoint is behind a k8s service controlled by a readiness probe

/lgtm
/assign @sttts

/retest
/lgtm
/approve


Bug in calculating loss when using DPO

I have encountered what appears to be a bug in the calculation of the loss function within the dataloader.py file, specifically between lines 167 and 174. This issue arises while using the dpo method.
pi_logratios = idk_loss_current - forget_loss_current
ref_logratios = idk_loss_oracle - forget_loss_oracle

beta = 0.1
loss = -F.logsigmoid(beta * (pi_logratios - ref_logratios)).mean()
print(loss.item())
loss = -pi_logratios.mean()
loss = -idk_loss_current.mean()

It appears that the final calculation of loss as -idk_loss_current.mean() contradicts the expected retult described in the paper.
Thank you for your attention to this matter.

It was clarified on an earlier issue that the "dpo" loss is deprecated and isn't used in the results https://github.com/locuslab/tofu/issues/20#issuecomment-2027753086


Sometimes story state gets overwritten

I noticed while wiring up slideshow mc questions that sometimes the story state gets overwritten. So far, I've noticed this happening while I'm in Stage 1, but I will make a note if I see it happen elsewhere.
@nmearl, do you have any ideas what is causing this and how to fix it?
Here are some comments from @Carifio24 via Slack:
"so we set up the reading/writing of the story & app states in the layout
and it's not supposed to write until those states have been loaded from the database
we do that here. But I'm wondering if this is similar to the issue with the line draw viewer not showing up because of a task not running again"
As an example of this, when I was in Stage 4, my story state in the db looked like this:
{
  "app": {
    "drawer": true,
    "speech": {
      "rate": 0,
      "pitch": 0,
      "voice": "",
      "autoread": false
    },
    "student": {
      "id": 4864
    },
    "classroom": {
      "size": 17,
      "class_info": {
        "id": 215,
        "code": "solara_test_06_13_2024",
        "name": "Solara Test 06-13-2024",
        "test": false,
        "active": true,
        "created": "2024-06-13T15:57:17.000Z",
        "updated": null,
        "educator_id": 1,
        "asynchronous": false
      }
    },
    "update_db": true,
    "speed_menu": false,
    "allow_advancing": true,
    "piggybank_total": 0,
    "show_team_interface": false,
    "loading_status_message": ""
  },
  "story": {
    "title": "Hubble's Law",
    "story_id": "hubbles_law",
    "debug_mode": false,
    "mc_scoring": {
      "scores": {
        "pro-dat6": {
          "tag": "pro-dat6",
          "score": 10,
          "tries": 2,
          "choice": 1,
          "wrong_attempts": 0
        },
        "interpret-velocity": {
          "tag": "interpret-velocity",
          "score": null,
          "tries": 0,
          "choice": null,
          "wrong_attempts": 0
        }
      }
    },
    "calculations": {},
    "show_snackbar": false,
    "best_fit_slope": null,
    "free_responses": {
      "responses": {
        "shortcoming-1": {
          "tag": "shortcoming-1",
          "response": "",
          "initialized": true
        },
        "shortcoming-2": {
          "tag": "shortcoming-2",
          "response": "",
          "initialized": true
        },
        "prodata-free-4": {
          "tag": "prodata-free-4",
          "response": "",
          "initialized": true
        },
        "prodata-free-7": {
          "tag": "prodata-free-7",
          "response": "",
          "initialized": true
        },
        "other-shortcomings": {
          "tag": "other-shortcomings",
          "response": "",
          "initialized": true
        },
        "prodata-reflect-8a": {
          "tag": "prodata-reflect-8a",
          "response": "",
          "initialized": true
        },
        "prodata-reflect-8b": {
          "tag": "prodata-reflect-8b",
          "response": "",
          "initialized": true
        },
        "prodata-reflect-8c": {
          "tag": "prodata-reflect-8c",
          "response": "",
          "initialized": true
        }
      }
    },
    "class_data_info": {},
    "snackbar_message": "",
    "class_data_students": [],
    "has_best_fit_galaxy": false,
    "enough_students_ready": false,
    "validation_failure_counts": {},
    "stage_4_class_data_students": [
      4862,
      4863,
      4864,
      4865,
      4866,
      4867,
      4868,
      4870,
      4873,
      4875,
      4878
    ],
    "stage_5_class_data_students": []
  }
}

I'll put the rest of my notes in the next comment to make it easier to compare the long story states.

From there, if I go to Stage 1 (I was on marker dop_cal5 in case that makes a difference) and refresh, my story state in the db now looks like this:
{
  "app": {
    "drawer": true,
    "speech": {
      "rate": 0,
      "pitch": 0,
      "voice": "",
      "autoread": false
    },
    "student": {
      "id": 4864
    },
    "classroom": {
      "size": 17,
      "class_info": {
        "id": 215,
        "code": "solara_test_06_13_2024",
        "name": "Solara Test 06-13-2024",
        "test": false,
        "active": true,
        "created": "2024-06-13T15:57:17.000Z",
        "updated": null,
        "educator_id": 1,
        "asynchronous": false
      }
    },
    "update_db": true,
    "speed_menu": false,
    "allow_advancing": true,
    "piggybank_total": 0,
    "show_team_interface": false,
    "loading_status_message": ""
  },
  "story": {
    "title": "Hubble's Law",
    "story_id": "hubbles_law",
    "debug_mode": false,
    "mc_scoring": {
      "scores": {}
    },
    "calculations": {},
    "show_snackbar": false,
    "best_fit_slope": null,
    "free_responses": {
      "responses": {}
    },
    "class_data_info": {},
    "snackbar_message": "",
    "class_data_students": [],
    "has_best_fit_galaxy": false,
    "enough_students_ready": false,
    "validation_failure_counts": {},
    "stage_4_class_data_students": [],
    "stage_5_class_data_students": []
  }
}

I think #505 is probably the solution here - especially since those writers don't have the "don't write until the state is loaded" guards that we have in the layout.


Add keybindings to navigate current diff

Would be nice to have keybindings that would allow you to skip to prev/next difference in the current document. (alt-pageup/alt-pagedown?)
Otherwise, I find myself scrolling through a large document, hoping that my eyes will catch a diff highlight.

good idea!


Release 0.20.0

Supersedes #1723, changes from there:

some new merges in develop
updated changelog with those merges
updated README to better reflect current project status (this could have been a separate PR admittedly)
move 1.0.0 announcement to docs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4091

Relevant Lines:
4176

💛  - Coveralls

Except the broken link that Lukas pointed, it looks ok to me.

only changes are the typo and link fix lukas pointed out


New hook useHighlightToAsk in react-ui package

This new hook named useHighlightToAsk allows users to highlight text and ask questions to the CopilotKit chatbot.

@codingfarhan, if you would like to update this PR, please do so, and we'll review it.

@codingfarhan, if you would like to update this PR, please do so, and we'll review it.

Hi @NathanTarbert yes I'd like to update this PR. I'm planning on working on it in the next week.

@codingfarhan, ok great, just ping me when it's ready for review.


Add short/long form of each option to CLI bindings

While working on documentation for Subutai components I faced pretty ugly thing related to our CLI: half of our commands has both short and long form of flags/options, and half - only one form. Not critical at all, but this little effort will make our CLI looks more mature

Merged to dev


Create an .aeonzip file from a yWriter project

Create a new Aeon 2 project file.

This can be achieved by simply updating an empty timeline from a yWriter project.


Replace factories.create_product with factories.ProductFactory

Here's some initial work to close https://github.com/django-oscar/django-oscar/issues/1849
The plan is to replace all instances of oscar.test.factories.create_product with oscar.test.factories.StandaloneProductFactory or oscar.test.factories.ParentProductFactory as appropriate.
Right now, almost every test that involves Product ends up instantiating standalone products. Once the tests are cleaned up, I plan on adding some more tests cases to cover parent and child products.

Hi John,
Thanks for all the work. I'll look into it better at a later time, but one initial point of feedback: I'd like to keep the ProductFactory. You can make StandAloneProductFactory a subclass of it. Also ProductFactory(structure='standalone') should be the same.
An other point is that you can set the stockrecord price in one go: ProductFactory(stockrecords__price_excl_tax=x)

I left ProductFactory in as an alias for StandaloneProductFactory. My rationale is that the 3 structures of products are different enough that tests should be explicitly separated for clarity, and that Product is actually rather ambiguous. I would like to see the tests be clearer about what kind of product they're testing, be it a standalone product or parent-child pair.
Cool tip with the double underscore. Kind of illustrates what I mean, though. ProductFactory(structure='parent', stockrecords__price_excl_tax=x) doesn't make any sense (parents can't have stockrecords).
I'll defer to you on this, of course, but I thought I should elaborate a little.

I also noticed that some tests, for instance tests/unit/partner/import_tests.py import a bunch of models directly, instead of using the get_model function.
from oscar.apps.partner.importers import CatalogueImporter
from oscar.apps.partner.exceptions import ImportingError
from oscar.apps.catalogue.models import ProductClass, Product
from oscar.apps.partner.models import Partner

Should these use get_model?

I found a bug after rewriting a test: https://github.com/django-oscar/django-oscar/issues/1860
I submitted a PR to fix the bug here: https://github.com/django-oscar/django-oscar/pull/1861
It's a tiny fix, but because it's not directly related to testing, I thought I should submit an issue/PR for it.
@mvantellingen Should I wait until the change is pulled into master or should I pull that into this branch as well?
Thanks.

@mvantellingen I merged in master. Someone wrote some new tests using the old functional factories, so I had to update them to use the new classes. Really pretty easy, honestly.

@mvantellingen Merged in master again. TestScales.test_decimals was broken.
Basically, the weight attribute is a float (and there is no decimal type), so when the scale weighs 3 items that weight 0.3, it ends up with 3 * Decimal(0.3) which not the same as Decimal('0.9') due to float approximation. One solution is to quantize the decimal result with the Decimal.quantize method to round the weight to the nearest tenths (as I have done here). Another solution would be to use self.assertAlmostEqual instead, but I thought that was less clear.

@mvantellingen Is there anything else I need to do with this one?

@mvantellingen Is there any desire to get this merged?
Test writers have continued to use the create_product function instead of the class-based factories since Feb., which makes keeping this PR up-to-date very difficult. At this point, it might be easier to redo all of my changes against a fresh copy of master.
Thanks.

Closing as there are too many conflicts. Need to start again or just make this change piecemeal as/when the relevant tests are updated.


[Feature] Create new sheet with initial data

Initial checklist

[X] Is this really a problem?
[X] I have searched the Github Issues for similar issues, but did not find anything.

Problem
Seems like there is no FacadeAPI for creating new sheet with initial sheet data similar to univerAPI.createUniverSheet(WORKBOOK_DATA);
There is only 'workbook.create()' API which do not accept data.
Is there a way to create new sheet with IWorkSheetData?

Duplicate of #3643


widgetApiRef.value is not a function

Describe the bug
README is incorrect or there is a bug in the code for WidgetRef
See this section in the readme here - https://github.com/uploadcare/react-widget
ref: widgetApiRef
Define a reference object to address the Widget API wrapper. Use it to access these methods: value, openDialog, reloadInfo and getInput.
value() is the alias for widget.value()
openDialog() is the alias for widget.openDialog()
reloadIngo() is the alias for widget.reloadInfo()
getInput() returns widget's input element instance.
Now try this code:
import React, { useRef } from "react";
import ReactDom from "react-dom";
import { Widget } from "@uploadcare/react-widget";
import "./styles.css";
const Example = () => {
const widgetApi = useRef();
return (

<button
onClick={() => {
const widget = widgetApi.current
widget.value("https://i0.wp.com/www.techjunkie.com/wp-content/uploads/2020/08/How-to-Copy-and-Get-a-Link-to-Any-Online-Image-Embedded-in-a-Website.jpg?resize=660%2C430&ssl=1")
const dialog = widget.openDialog();
      console.log(dialog);
      dialog.switchTab("url");
    }}
  >
    Click me
  </button>

  <Widget ref={widgetApi} publicKey="demopublickey" preloader={null} />
</div>

);
};
ReactDom.render(, document.querySelector("#app"));
You'll get the error: widget.value is not a function
Expected behavior
widget.value should be a function...
Code / screenshots
Environment
I ran this code by modifying the example here https://codesandbox.io/s/keu2y

Hety @djkgamc,
an outdated version 1.2.0 is being used In your codesandbox, whereas the current version is 2.4.5.

That is the problem!
In that case, the fix to the README would be to update the package in your linked Sandbox, as the Sandbox link above is the link from your README, labeled "Example" over here. https://github.com/uploadcare/react-widget#ref-widgetapiref


acme server: eliminate annoying request logging

Motivation
Current architecture
on each acme server request: 11/06 15:36:37.576: ---: [router.Provide.func1:77]: acme server request: GET <IP_ADDRESS> <IP_ADDRESS>:41270 / /

Significant Problem (warm): annoying + DataDog cost

Technical design
eliminate logging

done already in #2749


Synchronous promises don't chain properly

This is a corner case but could be interesting support it. When we have 3 promises encapsulating synchronous code, if we try to chain all of them, the chaining is not working properly.
func promiseA() -> Promise<Int> {
    return Promise { resolve, reject in
        print("Promise A")
        resolve(result: 1)
    }
}

func promiseB() -> Promise<Int> {
    return Promise { resolve, reject in
        print("Promise B")
        resolve(result: 2)
    }
}

func promiseC() -> Promise<Int> {
    return Promise { resolve, reject in
        print("Promise C")
        resolve(result: 3)
    }
}

If we chain all of them, A and B are executed but C doesn't it:
promiseA().then(promiseB()).then(promiseC())

I think the problem in this case is in the method:
    public func then<X>(p:Promise<X>) -> Promise<X>{
        p.isFirstPromise = false
        successBlock = { t in p.start() }
        startPromiseIfNeeded()
        return p
    }

When then is executed over promiseA, is defined the successBlock and startPromiseIfNeeded provokes promiseA starts, at the end of promiseA the successBlock is executed and promiseB starts although as all the code is synchronous promiseA and promiseB are executed in the same cycle while promiseB still doesn't have a successBlock assigned to execute promiseC. So when then is executed over promiseB, this is already started and fulfilled, startPromiseIfNeeded never calls start.
I think a possible solution would be the next code although I'm not completely confident about it
    public func then<X>(p:Promise<X>) -> Promise<X>{
        p.isFirstPromise = false
        if state == .Fulfilled {
            p.start()
        } else {
            successBlock = { t in p.start() }
            startPromiseIfNeeded()
        }
        return p
    }

Really this is a corner case, because per definition a Promise encapsulates some asynchronous operation and in this situation we are encapsulating synchronous operations, but could be interesting because some times we need to simulate the results of async operations inside Promises.

@piterlouis this is brilliant! Even if we usually use Async code in promises, this definitely is a bug indeed.
I can reproduce it on my end and your fix works like a charm :)
Would you mind creating a pull request for this?
Thank you so much for your help :+1:

By the way I could reproduce the exact same bug with the other syntax below :
promiseA().then { _ -> Promise<Int> in
    return promiseB()
}.then { _ -> Promise<Int> in
    return promiseC()
}.then {  r in
    print(r)
}

which should be the exact equivalent promiseA().then(promiseB()).then(promiseC()).
Once again it works perfectly if promiseA is Asynchronous but not if A is synchronous. This will need a separate fix though.

Actually we need to fix this further down, as explained before, the two syntaxes should do the same. so we rewrote the function taking a promise as a parameter like so :
public func then<X>(p:Promise<X>) -> Promise<X>{
    return then { _ in p }
}

Now our fix (yet to be found) will fix the two issues described above :)

Hey @piterlouis, we just pushed a fix on "dev" branch, could you confirm that it fixes your issue?

Ey @s4cha, the fix works perfect!. Thanks you a lot for your code and time!!

I was having this same issue, glad to see it fixed! Any chance the changes will be pushed up to Cocoapods?

@chetem Indeed this wasn't pushed to CocoaPods. Can you confirm this is fixed?

Yep! I used the latest source code in one of my projects and everything seems to be working as expected!

@chetem great !


Generic Stack class added

Issue Id you have worked upon -
#116
Briefly explain your program logic -
Used Java Generics to implement a generic stack class. Used ArrayList to implement behavior of a stack (LIFO). Two variables 'size' and 'top' are used to keep track of size of stack and also to check stack overflow and underflow conditions.
Screenshots(Attach 2 screenshots of your own input and output) -
Attach here

Checklist:
Eg - If your code follow the below guidelines. Kindly change [] to [x]
All the conditions should be fulfilled for considering your code for merging -
[x] I have mentioned the question as comment in my solution file.
[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code.
[x] My code gives the correct output.
[x] I confirm that I have not copied the code from anywhere. In case its found that I have copied I can be banned from the repository.
[x] I affirm that I strictly follow contributing guidelines and code of conduct.

@AayushBangroo,
I Appreciate the code presentation, organization and commenting
Appreciating by Leveling up your question from level2 to level3


ReferenceError: unidiciGlobalDispatcherSymbol is not defined

Hi, can you help with that case.
If I set "disabledStrictSSL": true and set url with "https" prefix, I have got a error like this

I found a file https://github.com/acacode/swagger-typescript-api/blob/13.0.22/src/util/request.js and I think you forgot defined "unidiciGlobalDispatcherSymbol" variable before the 38 line?
Thank you in advance for your reply.

Same error here

I have found the workaround with using this in my config:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
This skips the SSL check on the nodeJS level. Couldn't find any way in which disable SSL flag would work.


Failed to initialize a certificate credential. Caused by: "No key could be detected."

Operating System version: Ubuntu 14 (Windows 10 Bash)
Firebase SDK version: 2.12.0
Firebase Product: database
Library: Python 2.7.15
I've installed Cloud Firestore Python library with following command:
pip install --upgrade firebase-admin

and I've used values of credentials of service account key in json format rather than giving file name, in environment variable as following way:
               cred = credentials.Certificate({
			  "type": "service_account",
			  "project_id": os.environ.get('PROJECT_ID'),
			  "private_key_id": os.environ.get('PRIVATE_KEY_ID'),
			  "private_key": os.environ.get('PRIVATE_KEY'),
			  "client_email": os.environ.get('CLIENT_EMAIL'),
			  "client_id": os.environ.get('CLIENT_ID'),
			  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
			  "token_uri": "https://accounts.google.com/o/oauth2/token",
			  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
			  "client_x509_cert_url": os.environ.get('CLIENT_CERT_URL')
		})

               default_app = firebase_admin.initialize_app(cred)

but it's showing error as follows:
Failed to initialize a certificate credential. Caused by: "No key could be detected."
But when I use the string value as it is from service account key json without help of environment variable then it's working.
Please help me to resolve this issue.

Loading private key (which contains line terminators like \n) as an environment variable is tricky. Most shells would pad the terminator and treat it as a literal -- i.e. \\n. You will have to inspect how that value gets fed into your Python code, and preprocess/unpad accordingly. In my test environment I had to do the following:
"private_key": os.environ.get('PRIVATE_KEY').replace('\\n', '\n'),

Thanks a lot @hiranya911

I am using the string value as it is from service account key JSON without the help of environment still it is showing the same error.
Please help its super urgent.

Thanks a lot!


chore: covered with tests

What/Why/How?
covered with tests getRawConfigWithMergedByPriority
Reference
Testing
Screenshots (optional)
Check yourself

[ ] Code is linted
[ ] Tested with redoc/reference-docs/workflows
[ ] All new/updated code is covered with tests

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Closing this as I included the changes here: https://github.com/Redocly/openapi-cli/pull/628


fix: allow restricted labels in pod affinity/nodeSelector

Fixes  #1596
Description
related PR: https://github.com/aws/karpenter-provider-aws/pull/2051
In  this PR, it only tries to solve: Implemented support for GT and LT requirement operators in pods
It doesn't want to limit key kubernetes.io/hostname, so let's cancel the limitations.
How was this change tested?
make test
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

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

16 of 16 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 80.716%

Totals

Change from base Build<PHONE_NUMBER>7:
0.1%

Covered Lines:
8346

Relevant Lines:
10340

💛  - Coveralls

Please take a look:
cc @ellistarn @jonathan-innis @tzneal @bwagner5 @njtran

Please take a look:
cc @ellistarn @jonathan-innis @tzneal @bwagner5 @njtran

In the PR description, consider explaining why these changes are the right way to fix it.

In the PR description, consider explaining why these changes are the right way to fix it.

Thanks, I added


Support local cache

I supported it with --local flag, not sure how the local development workflow would work. https://github.com/buserbrasil/django-migrations-ci/commit/4ba535a9356b964d129e2afa913cea44c6dbbfef