nodejs: fix sandboxed build on darwin

Description of changes
This change fixes sandboxed build on Darwin for Node.js.
Fixes https://github.com/NixOS/nixpkgs/issues/261820
Note: wait for upstream PR before merging.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

OK, I think it’s been enough time and upstream Node.js maintainers seem to be ignoring the PR, unfortunately. Let’s copy the patch for now so that sandboxed build on macOS is fixed for 24.05 release.

@ofborg build nodejs

Reposting email I’ve sent directly to participants of https://github.com/nodejs/gyp-next/pull/216 because someone (I assume accidentally) locked the ability to comment.
cc @aduh95 @cclauss
Sorry for pinging here again, most people don’t read emails and I want to keep the discussion public.

Hi! Sorry for writing directly, I can’t comment on https://github.com/nodejs/gyp-next/pull/216 because someone limited the conversation on the repository 🫤

An owner of this repository has limited the ability to comment to users that have contributed to this repository in the past.

Anyway, w.r.t.

I hesitate because the assumption is correct for the vast majority of our Mac users and the others can use the --python option. […]

I don’t think node-gyp currently rewrites the shebang line when generating tools (see permalink below), so it’d still be using #!/usr/bin/env python3 instead of the Python interpreter set via --python option.
https://github.com/nodejs/gyp-next/blob/4a8e328641dac7d6416d5061345fded81ba6fa1f/pylib/gyp/common.py#L529-L548
On that note, would it make sense to change source[0] to #!{sys.executable} instead of formatting tools command invocations with sys.executable? The only downside of I can think in this case is that POSIX shells have weird shebang handling when an executable is a text file and there is something wrong with the interpreter (see https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01) and I usually prefer to avoid shebangs if possible for this reason (though that shouldn’t be an issue in this case, and we already use shebangs).
That could make the change in the PR smaller and hopefully easier to maintain. What do you think?
—
Ivan

TODO: test-ci-js reaches open files limit on macOS for some reason, seems to be related to fs watch tests.

Last lines
not ok 3911 parallel/test-watch-mode-files_watcher
  ---
  duration_ms:<PHONE_NUMBER>0
  severity: fail
  exitcode: -15
  stack: |-
    timeout
    TAP version 13
    # Subtest: watch mode file watcher
        # Subtest: should watch changed files
        not ok 1 - should watch changed files
          ---
          duration_ms: 3.795208
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:46:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
        # Subtest: should debounce changes
        not ok 2 - should debounce changes
          ---
          duration_ms: 2.563541
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:54:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
        # Subtest: should ignore files in watched directory if they are not filtered
        not ok 3 - should ignore files in watched directory if they are not filtered
          ---
          duration_ms: 1.228875
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:73:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
        # Subtest: should allow clearing filters
        not ok 4 - should allow clearing filters
          ---
          duration_ms: 1.007208
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:82:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
        # Subtest: should watch all files in watched path when in "all" mode
        not ok 5 - should watch all files in watched path when in "all" mode
          ---
          duration_ms: 0.661666
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:98:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
        # Subtest: should ruse existing watcher if it exists
        ok 6 - should ruse existing watcher if it exists
          ---
          duration_ms: 0.569667
          ...
        # Subtest: should ruse existing watcher of a parent directory
        ok 7 - should ruse existing watcher of a parent directory
          ---
          duration_ms: 0.205458
          ...
        # Subtest: should remove existing watcher if adding a parent directory watcher
        ok 8 - should remove existing watcher if adding a parent directory watcher
          ---
          duration_ms: 0.567292
          ...
        # Subtest: should clear all watchers when calling clear
        ok 9 - should clear all watchers when calling clear
          ---
          duration_ms: 0.549
          ...
        # Subtest: should watch files from subprocess IPC events
        not ok 10 - should watch files from subprocess IPC events
          ---
          duration_ms: 36.674916
          location: 'file:///private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs:151:3'
          failureType: 'uncaughtException'
          error: 'EMFILE: too many open files, watch'
          code: 'EMFILE'
          stack: |-
            FSWatcher._handle.onchange (node:internal/fs/watchers:207:21)
          ...
  ...

Failed tests:
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-promises-watch.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-encoding.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-add-file.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-add-file-to-new-folder.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-add-file-with-url.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-add-folder.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-assert-leaks.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-promise.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-symlink.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-sync-write.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watch-recursive-update-file.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-fs-watchfile.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-macos-app-sandbox.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-os.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-os-process-priority.js
out/Release/node --expose-internals /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-runner-watch-mode.mjs
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-runner-run.mjs
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/pummel/test-fs-watch-non-recursive.js
out/Release/node /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/sequential/test-fs-watch.js
out/Release/node --expose-internals /private/tmp/nix-build-nodejs-20.12.2.drv-1/node-v20.12.2/test/parallel/test-watch-mode-files_watcher.mjs
make: *** [Makefile:550: test-ci-js] Error 1

Full log download
$ sysctl kern.maxfiles kern.maxfilesperproc
kern.maxfiles: 122880
kern.maxfilesperproc: 61440

cc @aduh95 (#313982)

@tie I vaguely remember trying to wrap my head around all the fd limits on MacOS (and how they seem independently configurable but not all of them seem to take effect). Perhaps launchctl limit maxfiles will elucidate the issue? https://superuser.com/questions/1369590/launchctl-limit-maxfiles-vs-sysctl-kern-maxfilesperproc

Please resolve git conflicts.

Currently building nodejs_{18,20,22} on aarch64-darwin to check that everything is fine after recent rebase. Linux builds are fine.

Cannot nix-instantiate `nodejs.passthru.tests' because:
error: attribute 'tests' in selection path 'nodejs.passthru.tests' not found
Cannot nix-instantiate `nodejs_18.passthru.tests' because:
error: attribute 'tests' in selection path 'nodejs_18.passthru.tests' not found
Cannot nix-instantiate `nodejs_22.passthru.tests' because:
error: attribute 'tests' in selection path 'nodejs_22.passthru.tests' not found

We didn’t have nodejs.passthru.tests before, added testVersion in the latest commit 😅

Successfully built nodejs_{18,20,22} on aarch64-darwin.

Removed backport label since IIRC backports fail anyway (see https://github.com/NixOS/nixpkgs/pull/321292#issuecomment-2196552808) and it probably makes more sense to backport all merged changes to stable release.

Can we remove the Python 3.12 stuff from this PR? It's hard to tell what changes actually affect what as a mostly-unaware observer, and we've already pinned it to 3.11, which is probably fine for now.

OK, I can split these commits into another PR.

not ok 3036 parallel/test-tls-env-bad-extra-ca
  ---
  duration_ms: 84.14600
  severity: fail
  exitcode: 1
  stack: |-
    node:events:497
          throw er; // Unhandled 'error' event
          ^

    Error: spawn /build/node-v20.15.0/out/Release/node (deleted) ENOENT
        at ChildProcess._handle.onexit (node:internal/child_process:286:19)
        at onErrorNT (node:internal/child_process:484:16)
        at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
    Emitted 'error' event on ChildProcess instance at:
        at ChildProcess._handle.onexit (node:internal/child_process:292:12)
        at onErrorNT (node:internal/child_process:484:16)
        at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
      errno: -2,
      code: 'ENOENT',
      syscall: 'spawn /build/node-v20.15.0/out/Release/node (deleted)',
      path: '/build/node-v20.15.0/out/Release/node (deleted)',
      spawnargs: [ '/build/node-v20.15.0/test/parallel/test-tls-env-bad-extra-ca.js' ]
    }

    Node.js v20.15.0
…
not ok 3043 parallel/test-tls-enable-trace
  ---
  duration_ms: 87.46300
  severity: fail
  exitcode: 1
  stack: |-
    (node:129709) internal/test/binding: These APIs are for internal testing only. Do not use them.
    (Use `node --trace-warnings ...` to show where the warning was created)
    node:events:497
          throw er; // Unhandled 'error' event
          ^

    Error: spawn /build/node-v20.15.0/out/Release/node (deleted) ENOENT
        at ChildProcess._handle.onexit (node:internal/child_process:286:19)
        at onErrorNT (node:internal/child_process:484:16)
        at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
    Emitted 'error' event on ChildProcess instance at:
        at ChildProcess._handle.onexit (node:internal/child_process:292:12)
        at onErrorNT (node:internal/child_process:484:16)
        at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
      errno: -2,
      code: 'ENOENT',
      syscall: 'spawn /build/node-v20.15.0/out/Release/node (deleted)',
      path: '/build/node-v20.15.0/out/Release/node (deleted)',
      spawnargs: [
        '--expose-internals',
        '/build/node-v20.15.0/test/parallel/test-tls-enable-trace.js',
        'test'
      ]
    }

    Node.js v20.15.0
…
not ok 3070 parallel/test-runner-cli
  ---
  duration_ms: 2773.80000
  severity: fail
  exitcode: 1
  stack: |-
    node:assert:126
      throw new AssertionError(obj);
      ^

    AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

    1 !== 0

        at Object.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-cli.js:318:10)
        at Module._compile (node:internal/modules/cjs/loader:1358:14)
        at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
        at Module.load (node:internal/modules/cjs/loader:1208:32)
        at Module._load (node:internal/modules/cjs/loader:1024:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
        at node:internal/main/run_main_module:28:49 {
      generatedMessage: true,
      code: 'ERR_ASSERTION',
      actual: 1,
      expected: 0,
      operator: 'strictEqual'
    }

    Node.js v20.15.0
  ...
not ok 3071 parallel/test-runner-reporters
  ---
  duration_ms: 2621.54600
  severity: fail
  exitcode: 1
  stack: |-
        …
        not ok 14 - should support a custom ESM reporter from node_modules
          ---
          duration_ms: 20.931876
          location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:115:3'
          failureType: 'testCodeFailure'
          error: "Cannot read properties of null (reading 'toString')"
          code: 'ERR_TEST_FAILURE'
          name: 'TypeError'
          stack: |-
            TestContext.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-reporters.js:119:37)
            Test.runInAsyncScope (node:async_hooks:206:9)
            Test.run (node:internal/test_runner/test:764:25)
            Test.start (node:internal/test_runner/test:668:17)
            node:internal/test_runner/test:1104:71
            node:internal/per_context/primordials:487:82
            new Promise (<anonymous>)
            new SafePromise (node:internal/per_context/primordials:455:29)
            node:internal/per_context/primordials:487:9
            Array.map (<anonymous>)
          ...
        # Subtest: should throw when reporter setup throws asynchronously
        not ok 15 - should throw when reporter setup throws asynchronously
          ---
          duration_ms: 18.085905
          location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:126:3'
          failureType: 'testCodeFailure'
          error: |-
            Expected values to be strictly equal:

            null !== 7

          code: 'ERR_ASSERTION'
          name: 'AssertionError'
          expected: 7
          actual: ~
          operator: 'strictEqual'
          stack: |-
            TestContext.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-reporters.js:132:12)
            Test.runInAsyncScope (node:async_hooks:206:9)
            Test.run (node:internal/test_runner/test:764:25)
            Test.start (node:internal/test_runner/test:668:17)
            node:internal/test_runner/test:1104:71
            node:internal/per_context/primordials:487:82
            new Promise (<anonymous>)
            new SafePromise (node:internal/per_context/primordials:455:29)
            node:internal/per_context/primordials:487:9
            Array.map (<anonymous>)
          ...
        # Subtest: should throw when reporter errors
        not ok 16 - should throw when reporter errors
          ---
          duration_ms: 13.274049
          location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:138:3'
          failureType: 'testCodeFailure'
          error: |-
            Expected values to be strictly equal:

            null !== 7

          code: 'ERR_ASSERTION'
          name: 'AssertionError'
          expected: 7
          actual: ~
          operator: 'strictEqual'
          stack: |-
            TestContext.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-reporters.js:142:12)
            Test.runInAsyncScope (node:async_hooks:206:9)
            Test.run (node:internal/test_runner/test:764:25)
            Test.start (node:internal/test_runner/test:668:17)
            node:internal/test_runner/test:1104:71
            node:internal/per_context/primordials:487:82
            new Promise (<anonymous>)
            new SafePromise (node:internal/per_context/primordials:455:29)
            node:internal/per_context/primordials:487:9
            Array.map (<anonymous>)
          ...
        # Subtest: should throw when reporter errors asynchronously
        not ok 17 - should throw when reporter errors asynchronously
          ---
          duration_ms: 10.379198
          location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:148:3'
          failureType: 'testCodeFailure'
          error: |-
            Expected values to be strictly equal:

            null !== 7

          code: 'ERR_ASSERTION'
          name: 'AssertionError'
          expected: 7
          actual: ~
          operator: 'strictEqual'
          stack: |-
            TestContext.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-reporters.js:153:12)
            Test.runInAsyncScope (node:async_hooks:206:9)
            Test.run (node:internal/test_runner/test:764:25)
            Test.start (node:internal/test_runner/test:668:17)
            node:internal/test_runner/test:1104:71
            node:internal/per_context/primordials:487:82
            new Promise (<anonymous>)
            new SafePromise (node:internal/per_context/primordials:455:29)
            node:internal/per_context/primordials:487:9
            Array.map (<anonymous>)
          ...
        # Subtest: should support stdout as a destination with spec reporter
        not ok 18 - should support stdout as a destination with spec reporter
          ---
          duration_ms: 7.689268
          location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:159:3'
          failureType: 'testCodeFailure'
          error: "Cannot read properties of null (reading 'toString')"
          code: 'ERR_TEST_FAILURE'
          name: 'TypeError'
          stack: |-
            TestContext.<anonymous> (/build/node-v20.15.0/test/parallel/test-runner-reporters.js:164:37)
            Test.runInAsyncScope (node:async_hooks:206:9)
            Test.run (node:internal/test_runner/test:764:25)
            Test.start (node:internal/test_runner/test:668:17)
            node:internal/test_runner/test:1104:71
            node:internal/per_context/primordials:487:82
            new Promise (<anonymous>)
            new SafePromise (node:internal/per_context/primordials:455:29)
            node:internal/per_context/primordials:487:9
            Array.map (<anonymous>)
          ...
        1..18
    not ok 1 - node:test reporters
      ---
      duration_ms: 2271.202088
      type: 'suite'
      location: '/build/node-v20.15.0/test/parallel/test-runner-reporters.js:15:1'
      failureType: 'subtestsFailed'
      error: '5 subtests failed'
      code: 'ERR_TEST_FAILURE'
      ...
    1..1
    # tests 18
    # suites 1
    # pass 13
    # fail 5
    # cancelled 0
    # skipped 0
    # todo 0
    # duration_ms 2312.85008
  ...

Seems to be some issue on staging branch, I’ll rebase again tomorrow.

Looks like ofborg-eval is still broken in staging (well, at least it was when I’ve started rebuilding this PR). Manual build succeeds.

Manual nix build --L -f . nodejs_18 nodejs_20 nodejs_22 succeeds on aarch64-darwin.

nixpkgs-review pr \
  --checkout commit \
  --package nodejs_18 \
  --package nodejs_20 \
  --package nodejs_22 \
  262124

Result of nixpkgs-review pr 262124 run on x86_64-linux 1

6 packages built:

nodejs_18
nodejs_18.libv8 (nodejs_18.libv8.libv8)
nodejs_20
nodejs_20.libv8 (nodejs_20.libv8.libv8)
nodejs_22
nodejs_22.libv8 (nodejs_22.libv8.libv8)

Result of nixpkgs-review pr 262124 run on aarch64-linux 1

6 packages built:

nodejs_18
nodejs_18.libv8 (nodejs_18.libv8.libv8)
nodejs_20
nodejs_20.libv8 (nodejs_20.libv8.libv8)
nodejs_22
nodejs_22.libv8 (nodejs_22.libv8.libv8)

Rebased, ofborg is happy now except for LLVM build timeouts on Darwin, but it builds for me on aarch64-darwin, aarch64-linux and x86_64-linux. I don’t have x86_64-darwin to test though.

We're unlikely to get a review from marsam: https://github.com/NixOS/nixpkgs/pull/306702

Oh, I forgot that, sorry...


get event bus bridge to be part of managedservicebuilder

get event bus bridge to be part of managedservicebuilder so you can call Java from JS easily.

And so the __health end piont works.

cancel this.


Dosen't cache FFmpeg prebuild

fetch FFmpeg prebuild every time to run build。

Emmm, it's because Amazon S3 uses a 302 redirect before sending the real content. Will fix it soon.


Fix onMouseEnter/Leave on Touchable* components (#588)

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[x] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

Summary
This fixes a regression (#588) in 0.62 where onMouseEnter and onMouseLeave are no longer being called from the Touchable* components. It also enables hover callbacks for Pressability.
Test Plan

Changelog
[macOS] [Fixed] - Fix onMouseEnter/Leave on Touchable* components
Microsoft Reviewers: Open in CodeFlow

cc @alloy

Looks like you may not have been working off of latest master, hence the CI failure. I’m good to merge this as-is. I’ll also cherry-pick this to the 0.62-stable branch.

This has been cherry-picked and released as v0.62.8.


How to enable polling inside webpack watch?

I'm running a VM inside Vagrant and everything works as expected, EXCEPT the hot reload.
I've come across this issue with other webpack projects and the fix was simply turning on polling.
http://andrewhfarmer.com/webpack-watch-in-vagrant-docker/
How can I enable this in my next.config.js
	webpack: function (config, {dev}) {

		if (dev) {
			watchOptions: {
				poll: true
			}
			return config
		}

		return config
	}
}

polling is already on. https://github.com/zeit/next.js/blob/master/server/hot-reloader.js#L137

Oh interesting. So this is an actual issue then because my hot reload isn't working inside of vagrant. My host machine is windows

#823


OrbitDB replication happening only on same network

I have been using OrbitDB with IPFS for a while and I just noticed this issue. When both of my peers are in the same network then replication happens and If i switch the network of one peer to other network/wifi then replication does not happen at all.
Here is the code running on both peers.
// load all dbs
let userDb = null;
let userContactsDb = null;
let userEmailsDb = null;

async function loadDB() {
    console.log('loading the databases');
	try {
        // loads all db
        if(config.user !== null && config.contacts !== null && config.emails !== null) {
            userDb = await orbitdb.open(config.user);
            userContactsDb = await orbitdb.open(config.contacts);
            userEmailsDb = await orbitdb.open(config.emails);
        } else {
            // create dbs
			userDb = await orbitdb.create('email.user','docstore',{
				write: ['*']
            });

            userContactsDb = await orbitdb.create('email.user.contacts','docstore',{
				write: ['*']
            });

            userEmailsDb = await orbitdb.create('email.user.data','docstore',{
				write: ['*']
            });
		}
	}
	catch(e) {
		console.log(e);
	}
	// load the local store of the data
	userDb.events.on('ready', () => {
		console.log('user database is ready.')
	});

	userDb.events.on('replicate.progress', (address, hash, entry, progress, have) => {
		console.log('user database replication is in progress');
	});

	userDb.events.on('replicated', (address) => {
		console.log('user database replication done.');
    });

    userContactsDb.events.on('ready', () => {
		console.log('user contacts database is ready.')
	});

	userContactsDb.events.on('replicate.progress', (address, hash, entry, progress, have) => {
		console.log('user contacts database replication is in progress');
	});

	userContactsDb.events.on('replicated', (address) => {
		console.log('user contacts replication done.');
    });

    userEmailsDb.events.on('ready', () => {
		console.log('user emails database is ready.')
	});

	userEmailsDb.events.on('replicate.progress', (address, hash, entry, progress, have) => {
		console.log('user emails database replication is in progress');
	});

	userEmailsDb.events.on('replicated', (address) => {
		console.log('user emails databse replication done.');
	});
    userDb.load();
    userContactsDb.load();
    userEmailsDb.load();
}

// load the database
loadDB();

Is it a known issue or a feature I am not sure.

@aphelionz Any suggestion/feedback on this!

@codeforgeek Ok, so in order for the peers to replicate databases, two things need to be in place in the underlying IPFS "firmament," so to speak:

The IPFS nodes must be connected - The best way to do this is to just directly call ipfs.swarm.connect with the multihash of the peer you want to connect to as the argument. Afterward, you can call ipfs.swarm.peers() to verify that the peers are indeed connected.
Once connected, the peers must be able to pubsub with each other. You can test this with the ipts.pubsub.publish and ipfs.pubsub.subscribe commands

Let's start with your IPFS config - what parameters are you passing in for config and is this browser/node.js based?

Hi @aphelionz ,
here is my IPFS config.
const ipfsOptions = {
  EXPERIMENTAL: {
    pubsub: true
  },
  relay: {
      enabled: true, hop: {
          enabled: true, active: true
        }
    },
  host: 'localhost',
  port: '5001'
};

And the same configuration is in every peer.

Are you still experiencing issues? This may be better addressed to the IPFS or libP2P communities. Closing for now but if problems persist with the latest version of OrbitDB, please feel free to re-open.


Need rules

I need rules game

thank you on your first issues

I need rules game

which games ?
already set all games port to trafficgames, since i don't know every games port they use
script:
  shortcuts:
    allgames: network == 'udp' and dst_port not in [21, 22, 23, 53, 80, 123, 143, 194, 443, 465, 587, 853, 993, 995, 998, 2052, 2053, 2082, 2083, 2086, 2095, 2096, 5222, 5228, 5229, 5230, 8080, 8443, 8880, 8888, 8889]


Add media type to content provider

Since we are now adding new media types, the ContentProvider model needs to specify which media type it provides. This PR adds the new media_type field to the ContentProvider model.

Checking test failure @ test_stats

It'll make filtering complicated. Can we not keep two different providers with the same display name but different IDs (like Wikimedia internally stored as wikimedia_images and wikimedia_audio)?

two different providers with the same display name but different IDs

Yeah i think this is fine for now.


Use release for sdk harness tests.

Building Forc projects is very slow with debug, so turn on release.

This doesn't actually speed up building much


support custom elements with the CPS IR

In order to support custom elements we need to implement 'upgrading factory' constructors which take 'this' as a parameter and set fields on it.

Fixed this with 983569525fbe894f49c45a7ae546cecd1d5cb622


[Bug] In some cases, properties are not properly updated in the SaaS App

In some cases there are some properties that are not selected when updating the values in the SaasApp. This occurs in:

Authentication is not removed when an integration is updated.
Not removing options when deleting an action

It was decided to close the issue, since the problem was solved in the respective issues (#12521, #12602). Both  have been closed.


[Documentation] Collate Code

Also fixed a minor bug in the Google Maps URL

Coverage remained the same at 80.871% when pulling ca25de74dd9a545beb2bc59d64bbb9187a9acd6a on jeffreygohkw:collated into 66c0f01f789323a82a4a9dd55dc648612e899a31 on CS2103AUG2017-W09-B2:master.


For simpleaudio there is ALSA headers needed

It's worth to add
sudo apt  install libasound2-dev

to README.md because it's needed for simpleaudio.

Added mention about this in README.md


Remove prefix "controller."

I prefer a FQCN name of service (same as form types).

Initially, this makes sense to me.

Why not, this would make the bundle even easier to maintain.

It will also ease be more intuitive to define routes in YAML:
foo:
    path:      /foo/{bar}
    defaults:  { _controller: 'Path\To\Your\Action' }

:+1: for me. We should maybe also use this convention for simple autowired services in Symfony.

:+1: also for the automatic, autowired services done in Symfony's core.


ci: add release please to add semantic versioning

This adds the release please github action for making release PRs to automate the release process and add semantic versioning tracking to Heirline! It automatically calculates the next version based on conventional commit messages which you are following :)

This is great! thanks for your contribution :)


[2313] Use PR head branch as docker build tag

Context
Improve build time
Changes proposed in this pull request

Use head branch as docker tag for review apps
Move ARG to bottom
Use cache from master

Guidance to review
See successful caching in latest run
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 Cache docker build in pull requests


Set the Sink as public.

So we can create the Sink via the LoggerConfiguration.WriteTo.Sink(new ApplicationInsightsSink(...)).
Serilog offers the capability to create the Sink directly. I use this feature via an "Anonymizer" Sink where I suppress in the LogEvent Properties I don't want to send to Azure. The Anonymizer Sink is unable to give the clean logEvent to the applicationInsights sink due to its private protection level.

thank you


Remote video renderer not working when remote peer toggle webcam stream

When remote peer enables webcam for the first time it works but when remote peer turn OFF webcam and turn ON  webcam again this error is displayed inside RTCVideoRenderer ,  but when remote peer again toggles webcam it works fine.

I am testing on our own mediasoup server, but this error was was there when I ran example code form thiss repository.
testing on android device

Your device kind'na slow. You can wrap render.dispose() in peers/bloc in
future.delay
чт, 16 сент. 2021 г., 07:46 Chintan Rajpara @.***>:

When remote peer enables webcam for the first time it works but when
remote peer turn OFF webcam and turn ON webcam again this error is
displayed inside RTCVideoRenderer ,
[image: image]
https://user-images.githubusercontent.com/34347118/133550939-80e45640-4d09-4733-9bc2-bb785e485355.png
[image: image]
https://user-images.githubusercontent.com/34347118/133550681-4a4dc272-86c5-46c0-84cb-f836d74e36b6.png
I am testing on our own mediasoup server, but this error was was there
when I ran example code form thiss repository.
testing on android device
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Blancduman/mediasoup-client-flutter/issues/32, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIVXEO4HKBBQIWKS3BJVIH3UCFZA5ANCNFSM5ED33JDA
.

My bad, old renderer was being rendered, I managed to solve that issue


Is this project stable? Language support?

Hi,
I'm inspired by the ideas that datomic puts forward, but it is too expensive and probably overcomplicated for my needs. Mentat looks interesting but is it stable, and is it possible to use it in languages besides Rust? If I was going to use it, it would be from PHP.

I'm inspired by the ideas that datomic puts forward, but it is too expensive and probably
overcomplicated for my needs.

This is somewhat true for our needs (at Mozilla), although we have a larger issue: Datomic is intended to be distributed as a client/server and we need an embedded store.

Mentat looks interesting but is it stable,

No.  We're actively building core functionality, and nothing at Mozilla (or elsewhere) is shipping based on it.  We won't be entering anything like stability for a long time (Q1 2019 at the earliest).
We basically have no documentation of what's implemented, let alone what's specific to Mentat, so you have to be willing to really dig into the internals to solve problems.

and is it possible to use it in languages besides Rust? If I was going to use it, it would be from PHP.

It's possible -- we're building FFIs for Swift and Java as part of our requirements -- but we wouldn't be doing anything specifically for PHP.  But, if PHP can invoke "standard" FFI mechanisms (C names, standard stack conventions) you should be able to use the FFI more-or-less directly.  Nothing like trying it out to see what's possible and whether the project's maturity is suitable for you.

Another thought. With regards to using SQLite, would there be anything to be gained by dispensing with SQL and using lower level constructs directly? This is something that I've always found to be a pain, either you have flat files and have to do absolutely everything yourself, or you have SQLite and have to force everything into the model that SQL presents. There isn't any middle ground that I am aware of.

@robehickman there is no stable internal API for SQLite’s data formats, and I think it would take significant expertise to use the internal functions.
If we were to dispense with SQL we would likely switch to managing blocks of data ourselves, perhaps on top of LMDB via rkv.


Investigate why conditional breakpoints don't work on macOS

Describe the bug
Conditional break points are not triggering on macOS. This is most likely a communication issue between CodeLLDB and the Swift version of LLDB. This does not seem to be an issue on Linux.

I've got conditional breakpoints to work on macOS LLDB, so this must be some communication thing between CodeLLDB and the macOS LLDB.

We need to use native expressions for them to work.


Slow tests

Show which unit tests are running slow

Very interesting results so far. I will try to get us hooked up to Azure DevOps over the weekend so we can get statistics and good alerting tools for tests / coverage.

Already knocks a good ~15 minutes off the tests. Some more work to be done, but now we have an obvious metric (worst performing tests) to guide us.


loading of config failed: entryPoint must be an uint64

current plugin make idb.json's entryPoint component in hex string like "entryPoint" : "0x400c00",
but retdec only recognize uint64
RUN: /c/Users/Home/Desktop/b/retdec-v3.0-windows-64b/retdec/bin/fileinfo -c C:/Users/Home/Desktop/b/login.cgi.c.json --similarity C:/Users/Home/Desktop/b/login.cgi --no-hashes=all --crypto /c/Users/Home/Desktop/b/retdec-v3.0-windows-64b/retdec/bin/../share/generic/yara_patterns/signsrch/signsrch.yara
Input file               : C:/Users/Home/Desktop/b/login.cgi
File format              : ELF
File class               : 32-bit
File type                : Executable file
Architecture             : MIPS (MIPS I Architecture)
Endianness               : Big endian
Entry point address      : 0x400c00
Entry point offset       : 0xc00
Entry point section name : .text
Entry point section index: 8
Bytes on entry point     : 03e0002104110001000000003c1c0005279caf34039fe0210000f8218f84807c8fa5000027a600042401fff803a1e82427bd
Detected tool            : GCC (4.5.4) (compiler), 80 from 183 significant nibbles (43.7158%)
Error: loading of config failed: entryPoint must be an uint64 value @ line = 26, column = 17

You are probably using plugin version 0.5 with RetDec version 3.0. You must use version 3.1. I have updated user guide (Section 2.2) to make this clear.
In future, we would like to distribute RetDec itself together with RetDec IDA plugin, so it will be easier for the users.


Programmatic authentication for Azure

Description
It would be nice to provide API which allows to specify the Azure credentials in the code. Currently the Azure storage implementation only relies on the environment variables, which makes it difficult to access two independent storages in the same program. In case of AWS S3 the problem does not exists because the API allows to use a custom rusoto S3 client with a static credentials provider.
Use Case
A program needs to access two delta tables stored in Azure using two independent access credentials.
Related Issue(s)

This sounds like a good use case. Note that the auth is currently in flux as we are in the process of adopting the ADLS Gen2 API.

Many thanks for implementing this. When will it be released? If the release date has not been fixed yet, which revision of main could you suggest as a stable enough? Thank you.

@alexeiakimov the main branch is usually quite stable from a bug's point of view, so you can just consume it using git.


TIKA-2231: Improved param validation of TesseractOCRConfig.setLanguage()

I also improved and added more test cases.

I've done a bit more than the bug report.

I've treated "" as invalid - partly because TesseractOCRParser builds the command line without checking if it's empty
anything ending with a + as invalid - not sure if this is enforced by Tesseract but it just seemed right


Upgrade Mockito 5.13.0 -> 5.14.0

This PR contains the following updates:

Package
Type
Update
Change

Mockito

minor
5.13.0 -> 5.14.0

Mockito
import
minor
5.13.0 -> 5.14.0

Release Notes

mockito/mockito (Mockito)
v5.14.0
Compare Source
Changelog generated by Shipkit Changelog Gradle Plugin
5.14.0

2024-09-27 - 9 commit(s) by Ali-Hassan, Brice Dutheil, David Saff, Rafael Winterhalter, dependabot[bot]
Bump org.junit.platform:junit-platform-launcher from 1.11.0 to 1.11.1 (#3451)
Bump bytebuddy from 1.15.1 to 1.15.2 (#3450)
Update Documentation of ArgumentCaptor.java (#3448)
Split subprojects (#3447)
Separate extensions from integration tests (#3443)
Bump org.eclipse.platform:org.eclipse.osgi from 3.20.0 to 3.21.0 (#3440)
Bump com.gradle.enterprise from 3.18 to 3.18.1 (#3439)
Allow for installing a Java agent within the Mockito jar, without exposing Byte Buddy's attach mechanism. (#3437)
Bump bytebuddy from 1.15.0 to 1.15.1 (#3434)
Fixes #3419: Disable mocks with an error message (#3424)
Accessing a mock after clearInlineMocks could provide much more useful error message. (#3419)

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Mockito 5.13.0 -> 5.14.0

See:
- https://github.com/mockito/mockito/releases/tag/v5.14.0
- https://github.com/mockito/mockito/compare/v5.13.0...v5.14.0

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Question about the Ramp Tune-In example, suitable for simple PID control?

I'm referencing the example from the docs;
The value of R is slowly ramped up or down until it matches the input value Y.
TICKRATE = IF(R!=Y, 1, 4)
T = CLOCK() % 2
R = IF(R<Y AND T.RE, R+1, R)
R = IF(R>Y AND T.RE, R-1, R)

By default the RLC runs every 4 ticks, but if R doesn't equal Y then the controller is sped up for faster calculation updates?
And the whole point of T is just a rising edge, but there is only a rising edge if the tickrate is an odd number?
I'm trying to figure out a simple PID control, and above looks to be exactly that.
My question, what is the best way I can try to slow it down. My loop is reacting too fast, and overshooting.
Also, it doesn't seem possible to write my own simple functions? Thanks,

Hi, you make a good point there, I actually should sweep-and-update the documentation.
Before answering your questions: In the timing and quantization range that the game allows, PID might not behave ideal as expected from RW applications. The controller will likely also jitter when tuned in (between error==1 or 0).
I quickly made a quick setup for checking this. It consists of 2 RLCs. The one is a PID filter, and the other a simple low pass, and added tracks and levers for set-point and noise. Principally a PID is a nice tool - it depends that your plant at the output looks like ;)

PID
# PID config, values scaled
Kp = 20      # Proportional coeff
Ki = 2       # Integral coeff
Kd = 0       # Differential coeff
Isat = 200   # Integrator saturation
Ts = 4       # Sample period

e = Y-G       # error (setpoint-feedback)
s = TIV1(Ts)  # sample trigger
o = (e < 0) & (R==0) # overrun

# Calculate PID at sample points
yp = IF(s, e*Kp           , yp)  # P output
yi = IF(s & !o, yi + e*Ki , yi ) # I output
yi = LIM(yi, -Isat, Isat)        # I saturated
yd = IF(s, (e-e1)*Kd      , yd)  # D output
e1 = IF(s, e              , e1)  # Save e(k-1)
YY = yp + yi + yd                # Summary output

# Output to R, scale down
R = YY/10

Low pass
#
# s-T1  ( 1 / 1+Z ) filter
#
# The higher Tc, the higher the filter
# time constant.
# s-T1 filter config, Tc = 1 to 99
Tc = 75
T2 = 100-Tc
Ts = 4 # Sample time

s = TIV1(Ts)

# G is input, scale up, Yellow only
# as direct noise test
x = (G+Y) * 100

yk = IF(!s, yk, (yk*Tc + x*T2) / 100)

# Output is red, scale down, round up
# at 0.1
R = (yk+10) / 100

Answers

Yes, the RLC has 4 ticks, but re-schedules if an input changes (OFF->ON or vice versa), so that it
reacts fast to logic whilst keeping the CPU consumption low. T is really just an edge generator,
as you already presumed. clock()%2 yields 0 or 1, where a transition from 0 to >0 is detected
as a rising edge. Since a few Mod versions, I added the TIVx() timers, which are more accurate
for triggering.

As a PID example, the code above could be used.

Slowing down your controller can be now done with increasing the sample period, e.g. s = TIVx(10)
instead of s = TIVx(4) as in the code above.

Yes, the code window is kept tight and limited to one screen, so that not too much code is entered -
sounds strange I know, but this is to restrict the performance that the RLCs need. In Single-Player
we normally do not care, but the mod is also used on servers (mostly not ultra high spec machines),
and mods should take these use cases into account.

Do you make something like a temperature control? I mean where you put energy into the system, but not
take it out? (like a heater control?).

This is really cool, thanks for the detailed reply! Gives me some homework to try and understand both code snippets.
Yea, I'm definitely interested in any documentation updates/examples to try.

I'm going to have to experiment more with ticks, vanilla Redstone I think is 2 ticks, the RLC is 4 ticks.. I haven't played with TIVx() yet. I wish that carpet mod for Fabric was on Forge, so I could freeze/ step through ticks for learning/debugging.
I copy and pasted your example, but I think I am misunderstanding how to interface with it. I made a short 4 minute video to try and concisely explain my setup and what I am trying to do.
https://www.youtube.com/watch?v=egkZK_4Pmf4
I'll need to test this tomorrow, to see how it works.
Yes that makes sense, I'm just use to ComputerCraft, writing functions for when I need to call code. I'm trying to wrap my mind around how to do that with RLCs. It seems from your examples, using the AND (&) with an enable bit in a IF(X & ENABLE, true, false) is what I need to be using.

Yes, temperature control! I think it would be really cool to demonstrate your RLC PID with PneumaticCraft's heat system.

Ok, reading through your PID code more carefully, I definitely interfaced incorrectly to it.
My thermostat feedback should be on the PID controller's green, and my output to the regulator should have been on the PID controller's red.
I'm still unsure about that low pass filter controller, do I even need it? Or was that made for simulating?

Hi, cool, ;). Ya the filter is not needed, I just needed in the test world some plant to control, something reacting slowly and where noise/load can be added. Cheers,-On 5 Apr 2024, at 05:34, toastonrye @.***> wrote:
Ok, reading through your PID code more carefully, I definitely interfaced incorrectly to it.
My thermostat feedback should be on the PID controller's green, and my output to the regulator should have been on the PID controller's red.
I'm still unsure about that low pass filter controller, do I even need it? Or was that made for simulating?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Hey man, alright, I could take a look at the video, so let's quickly walk through ;)
As you deduced already correctly you only need the RLC with the PID code:

Your feedback input is the thermostat at G, and it should rise from 0 to 15 like the temperature rises.
Your target temperature is set on Y with the analog lever, and the 0-to-15 scaled signal represents the same temperature values as the thermostat curve.
Your controller output is R to the Regulator Tube Module.

Digital filters like PID normally run with a constant sampling rate. To do this with the RLC, we need make the sample trigger s=TIV1(Ts) - if the sampling period Ts is 20tck, then s will be ON for one tick every second. It's a bit "meh" that we need to use the signal = IF(s, ...., signal) thing to skip calculating if we are not in that sample tick, but well;
What the PID does is trying to bring G to the same value as Y by changing R as needed.

First we calculate how far we are away, that's called the error e: e = Y-G.

The proportional part directly reacts with a scaling to that error yp = Kp * e

The integral part reacts over time by adding Ki * e every sample tick to its output.

The differential part reacts to how fast G vs Y changes with the scaling Kd * de/dt, where the delta de is simply calculated by subtracting the last error value from the current one. And the the time change is Ts because this is the difference between the last the the current sampling point.

The saturation is only a fence guard that is often built into PI controllers, so that the integrator does not run away and needs ages to get down again.

I additionally added the overrun o to my setup, this can help avoiding that the integrator runs away downward, because redstone does not have negative values, so we can only push energy into the system, but cannot actively take it out. So, if our output R is already zero, the integrator can be set on hold, so that it does not fall far below zero while the boiler slowly cools down itself.

To rise the resolution of the coefficients, they are scaled x10 Kp=2.0 -> 20, so we finally divide the output by 10 again.

That's basically it. The rest should be tuning. Likely, do will not need the differential part, with that resolution and noise it normally causes more trouble than help. The resulting PI controller code is then:
# PI config, values scaled x10
Ts = 4       # Sample period
Kp = 20      # Proportional coeff
Ki = 2       # Integral coeff
Isat = 200   # I saturation

e = Y-G      # error
s = TIV1(Ts) # sample trigger
o = (e < 0) & (R==0) # overrun

# Calculate PI at sample points
yp = if(s, e*Kp      , yp) # P output
yi = if(s & !o, yi + e*Ki  , yi )  # I output
yi = LIM(yi, -Isat, Isat) # I saturated

# Output to R, scale down
R = (yp + yi + yd) / 10

If you get overshoots, play with the sampling time first, the quantization is likely better than the redstone value resolution.

Alternatively, the hysteresis controller in the docs may also be a simple alternative in case the tuning does not work out. Cheer's;;

Oky, small update, to ease the pain with the sampling rate, I modified TICKRATE=... to ignore signal interrupts, so the whole TIV1 and IF... will be obsolete then. What MC version/loader are you on, so that I update this earlier?

I am currently playing a modpack E9E (v1.20.1) for Minecraft 1.19.2.
But I'll update myself.
Redstone Pen  1.2.20
Forge 1.19.2-43.2.14
I had another question I was meaning to ask, I haven't been in game yet to check.
Is it possible to do something like a tickrate = 0, so it stops? Like a debugging where you could step through each calculation?

Uh, ok. mc1.19 is a while ago. I'll need to port back stepwise, but should be feasible.
I have no debug stepping implemented - the whole code is executed every tick top-down, and the world around cannot be stopped normally. What I have is a display of the current values of variables by hovering the RLC symbol in the UI:

Hmm, something like a oscilloscope like tracking could help, but this may be a mayor pain to implement with the means that MC provides. I'll give it another thought some day ;)

What you have shown me is working great so far, I wouldn't bother back-porting it to 1.19 if you are already onto the next version. I'm actually not sure what you mean by modifying the tickrate to ignore interrupts, I don't see tickrate in your example code?
I am not sure how that carpet mod freezes the tickrate, I guess he is doing it to the whole world which can be weird.
It's actually really interesting you mention the oscilloscope, I was thinking that would be really cool to have a historian like MineFactory Reloaded did. I've been playing that old version recently, it would be cool to have some sort of trend of your 6 possible colours.
If you don't remember it, I have a short 10 second example of that MFR historian here https://youtu.be/pUNqm1xlFQM?t=900 (link should take you to the 15:00 mark where it is).
Anyways, you more than answered my original question. Your PID script/ explanation is great, thanks so much!

Hi, aye something similar crossed my mind. It would have to support multi-channel somehow, and still fit into a vanillarish look & feel, or be an item with a monitor. Let's see, I have already a connector for Arduino and other stuff in the mod, so a  scope UI should be a feasible challenge ;)  Cheer's;-


Add missing dependency

PackageGraph imports SourceControl so it needs a dependency.

@swift-ci please smoke test

i think we can close this now?


expand and update Miri description

r? @oli-obk @eddyb
Cc @iwikal whose questions triggered this PR: feedback would be welcome! As someone who is still new to rustc and Miri, how comprehensible do you think this all is?

That was a good read! It seems reasonably comprehensible. I'm sure it's only as complicated as it needs to be. I'm a bit confused by the MIR example just above your edits, as I've never seen a text representation of MIR before. The stuff about provenance also went above my head.

CI is failing

CI wants me to make the diff unreadable by breaking the lines. Well, I guess I'll do that then.


GeoSPARQL: geof:buffer() does not work

(From RDF4J-users forum: https://groups.google.com/forum/#!topic/rdf4j-users/mZRv5MLCcNs)
Hi I have successfully tested some geospatial features of RDF4J 2.4.0-M3 such as geof:sfIntersects() but came accross some Ring Intersection problems with some complex polygons of the CORINE dataset.
I tried to follow the advice of some more experienced users and most of them suggested to use, as a common workaround, the  geof:buffer() on one or both geometries that I am trying to intersect.
However geof:buffer() does not work at all.
I have used it both through java api and I confirmed its failure through the workbench as well. I have enabled the geospatial algebra jar in the classpath of tomcat so geospatial is enabled.
The following query executes correctly by returning 'false' in the RDF4J Workbench and Java API solution. This query returns the same result with GraphDB v8.6.1:
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX lgd: <http://data.linkedeodata.eu/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT (geof:sfIntersects(?o1, "POINT(24.708496093749996 37.95719224376526)"^^<http://www.opengis.net/ont/geosparql#wktLiteral>) as ?interO1)
WHERE {
    BIND(("POLYGON((23.708496093749996 37.95719224376526,22.906494140625 40.659805938378526,11.524658203125002 48.16425348854739,-0.1181030273437499 51.49506473014367,-3.2189941406250004 55.92766341247031,-5.940856933593749 54.59116279530599,-3.1668090820312504 51.47967237816337,23.708496093749996 37.95719224376526))"^^<http://www.opengis.net/ont/geosparql#wktLiteral>) as ?o1).
}

The following 2 queries fail in RDF4J Workbench and through Java API solution:
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX lgd: <http://data.linkedeodata.eu/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT (geof:buffer("POINT(23.708496093749996 37.95719224376526)"^^<http://www.opengis.net/ont/geosparql#wktLiteral>, 1, <http://www.opengis.net/def/uom/OGC/1.0/metre>) as ?o2)
WHERE { }

PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX lgd: <http://data.linkedeodata.eu/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?o2
WHERE {
    BIND(geof:buffer("POINT(23.708496093749996 37.95719224376526)"^^<http://www.opengis.net/ont/geosparql#wktLiteral>, 1, <http://www.opengis.net/def/uom/OGC/1.0/metre>) as ?o2) .
}

possibly related to #1127

Looks like the cause is over-zealous function argument evaluation. The second argument translates internally to an xsd:integer literal, but for some reason the buffer function requires a double. I'll doublecheck the specs but I think this is likely just being too strict on the datatype.

Hi
I tested the 2.4-SNAPSHOT for this issue and it seems it is fixed!
Thanks

Thanks for confirming @tioannid ! Patch release 2.4.1 is scheduled to go out today or tomorrow.


[CWS] add ubuntu 22.04 to functional tests - v2

What does this PR do?
Let's try https://github.com/DataDog/datadog-agent/pull/11764 again
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

Full pipeline https://gitlab.ddbuild.io/DataDog/datadog-agent/-/pipelines/7780601


[starboard] Adjusted initial key event delay

The initial value for key_repeat_interval_ was equal to kKeyRepeatTime, which is equal to 50ms. It has been adjusted to kKeyHoldTime (500ms), thus preventing the "initial double click" effect.

Looks good to me. But I am wondering whether we have to consider config field for this setting. From the other hand Google is more strict to this initial key event time vs Netflix so this change should be fine.

Yup. Lgtm and this should not be configurable. The values are per spec which is explicit that after a 500 ms delay key repeat must be generated every 50 ms till the key is kept pressed.

@Damian-Danylko / @krp97 / @pawel-stanek-ml I do want to make this configurable. As from a overall UX I would like to have the same look and feel in every native app. From a UX you want to remote in Netflix to behave the same as it is in Cobalt or WebKit for that matter.
Hence why the generation of the KeyRepeats should be done by the Thunder (it does already the mapping and converting of any remote to an input device). By having the possibility to configure this value I would set it in cobalt to a high value (eg 3 hours). This means that the KEYREPEATS will be recieved through the input channel links and this way the start of the repeat and the peridicity between the repeats is coming from thunder (as due to the configuration the Cobalt will never generate them.
The uniformity of the UX with respect to the remote control usage ina ll its native apps, is an operator requirement, whether or not the the operator can get this to be validate/certified by Google (I think they can) is a differnt story, however, I would like to be able to go in any direction they choose and not limit this programatically.
To do this I would like the value (one that determines when the key repeat starts) to be externally configurable. If it is not set, it should be set at the Google required value.


Doctypes get stripped by jsdom/weld process

Themes have the following:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
  ...

but the results look like:
<html>
  <head>

Perhaps this is because the DOM doesn't need doctypes.
This doesn't seem to affect the rendering of our pages, but it would be nice for the purposes of html validation and the like.

I've implemented @tmpvar's workaround, so I'm closing this for now.


How we create installation names

On our Barcelona Onsite we just talked about how we want to pick/generate installation names in the future.
About the status quo

Currently whoever creates the installation picks a name
Customers often don't embrace/adopt the names. Instead they talk about locations like "Dublin" or "onprem".
Installation names are part of public DNS
Customers can have many installations.
We don't want to encode any information in the installation names (like e. g. customer, region)

One exception: installation names start with the same first letter as the customer name. We have several customers with the same first letter.

We like the fact that installation names are usually easy to handle. Ideally they are easy to search for, as they are terms which don't get used in our normal communication.
The best installation names are easy to spell, type, and pronounce.

In the future we want to

Manually maintain a list of at least 100 terms that can be used as new installation names.

All terms in the list match our criteria of min and max length, simplicity, uncommonness.

Publish that list in a Github repository.
Let customers pick their installation names from that list.
Avoid matching the first installation name letter with the customer name. GS staff should not be encouraged to assume which customer an installation belongs to, based on the name.

Open

[x] Assign team ownership
[x] Create names repo
[x] Create RFC
[x] Create public documentation (or internal if can't be public)
[ ] Adapt internal documentation pointing to public

Adding to SIG product for ownership

Some domains which provide word lists:

Plants, crops
Animals
Planets
Materials
Chemical elements
Foods
Names (given names)

In https://github.com/giantswarm/installation-names we now have a public repository where customers can pick their installation names.

Rainbow to create an RFC and if that goes through drive implementation

RFC draft is available for review: https://github.com/giantswarm/rfc/pull/45

Public documentation is published at https://docs.giantswarm.io/getting-started/installation-name/

Intranet docs is also updated. Done.


pr2modules deprecation

Running current Home Assistant dev with deprecation warnings enabled yields a few of these warnings:
.../lib/python3.10/site-packages/pr2modules/__init__.py:12: DeprecationWarning: pr2modules namespace is deprecated, use pyroute2 instead

Looks like unifi-discovery is one of packages using pr2modules. See https://github.com/svinota/pyroute2/blob/c8aac9a721710bbb7cf6b9b8443d5f3c5132d1e2/pr2modules/init.py
HA dev installs pyroute2 0.7.3 at the moment.

Ouch. Thats used in quite a few other places as well.  Thanks for the heads up

I fixed this a while back but forgot to close


dm-lwm2m updates

Default workqueue stack raise to 2048
Allow --client to be used as a partial endpoint name filter in leshan.py
Introduce CONFIG_FOTA_ENDPOINT_PREFIX for changing the "zmp" portion of the endpoint name to something custom (which can be used with the --client filter for updates)

ci-retest (part of the newer CI stuff i've worked on)

Since the CI run names are a little different some of the build 135 will still show up. However, the relevant bits are with build 136: https://ci.foundries.io/projects/development/fota/builds/136

Looks like the 2 failed compile jobs timed out downloading the toolchain?

And build 136 failure was "Missing required secrets under(/secrets): osftok"

ci-retest (should fix the osftok issue from the last run)

@mike-scott - the CI logic still isn't quite right (it didn't compile this branch). I'll take a look at it tomorrow, but don't let this hold up merging the code.

ci-retest
@mike-scott feel free to ignore the noise. I've just moved the logic for testing PRs for "zmp-samples" into our ci-scripts public repo. I'm sure some things will break while i iron out the details

ci-retest (fix container to run compile job in)

ci-retest (github was caching the wrong definition file)

ci-retest (container use has to be root so that it can write to /archive)


Refresh project databases config

Let's add action to refresh database connections from disk.
Add it to database navigator view menu.

An attempt to refresh Tables node after table creation leads to all connections refreshing, but the new table isn't shown.
https://github.com/user-attachments/assets/9425f962-ee5f-47e3-8c8a-ff5b48994754

verified


[Feature]: Document major gotcha with jest.runAllTimersAsync()

🚀 Feature Proposal
Document the fact that jest.runAllTimersAsync() cannot be awaited if the user wants to expect an error:
repro:

export async function exponentialBackoff<T>(
  fn: () => Promise<T>,
  options: BackoffOptions = {}
): Promise<T> {
  const { delayMs, jitterMs, numAttempts, timeMultiple } = {
    delayMs: 500,
    jitterMs: 500,
    numAttempts: 3,
    timeMultiple: 2,
    ...options,
  };

  let lastError;
  for (let i = 0; i < numAttempts; i++) {
    try {
      const result = await fn();
      return result;
    } catch (error) {
      lastError = error;

      const sleepTime =
        delayMs * Math.pow(timeMultiple, i) +
        Math.floor(jitterMs * Math.random());
      await sleep(sleepTime);
    }
  }

  throw lastError;
}

it('throws error after numAttempts', async () => {
  const mockFn = jest.fn();
  mockFn.mockRejectedValue(new Error('oh no'));

  await expect(async () => {
    const result = exponentialBackoff(mockFn);
    await jest.runAllTimersAsync();
    return result;
  }).rejects.toThrow();
  expect(mockFn).toHaveBeenCalledTimes(3);
});

await jest.runAllTimersAsync(); causes this to fail with an unhandled promise exception whereas it succeeds if i remove the await. I think i understand the reason: the function we expect toThrow hasn't yet had a chance to await the promise by the time the error is thrown inside runAllTimersAsync machinery so it can't catch it but this does seem like a huge gotcha. If i'm wrong about the explanation maybe this is a bug, but if not seems like it should really be documented with an example.
Motivation
Help people not waste hours debugging a fairly common use case with promises.
Example
No response
Pitch
Documentation is table stakes

Ping to keep open. Any thoughts?


soft-renderer/cuda/soft_rasterizer_cuda_kernel.cu(8): error: function "atomicAdd(double*, double)" has already been defined

Hi,
I was trying your code and when running "python setup.py install" I got this error. Do you have any idea why this happened?
Thanks.

Solved. Simply replace #if  __CUDA_ARCH__ < 600 and defined(__CUDA_ARCH__) to #if  __CUDA_ARCH__ < 600 && defined(__CUDA_ARCH__). And same for the other file "voxelization_cuda_kernel.cu".


Flags of same country codes mismatch

Steps to reproduce:

Open the country codes modal
Search United States
Tap United States
It should show the Canada flag to the first time you tap it
Repeat step 1 to 3 again and it should show the United States flag

Hi there, i'm also facing the same issue.
Here's the recording for the same:
Screencast from 2024-08-05 15-32-33.webm


RefreshProgressIndicator stops spinning after ~5-6 seconds

After a certain amount of time, RefreshProgressIndicators stop spinning and reset to their initial state. This is inconsistent with the behavior of CircularProgressIndicator. Our UX designer wants us to use RefreshProgressIndicator in many places in our app, so we need this to be fixed for launch.
This is broken if you're using a RefreshIndicator too.
import 'dart:async';

import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
      home: new Scaffold(
          appBar: new AppBar(
            title: new Text('Test app'),
          ),
          body: _body)));
}

Widget get _body {
  return new RefreshIndicator(
    onRefresh: () => new Future.delayed(const Duration(seconds: 10)),
    child: new ListView(
      physics: const AlwaysScrollableScrollPhysics(),
      children: <Widget>[
        new Container(height: 16.0),
        new Center(child: new CircularProgressIndicator()),
        new Container(height: 16.0),
        new Center(child: new RefreshProgressIndicator()),
      ],
    ),
  );
}

See low FPS gif below. I've also attached the original video.

demo.mp4.zip

same as #13782

cc @HansMuller


Update for compatibility with rust PR28033

For compatibility with https://github.com/rust-lang/rust/pull/28033, in codemap::NameAndSpan remove the name field and change the format field from MacroAttribute to MacroBang(name).
Bump version number.

FYI, in case you missed it, it failed a few of the builds

I saw. I should have know it'd fail on the rust stable and rust beta channels. It looks like Erick already fixed it, https://travis-ci.org/serde-rs/aster/builds/77821778.

I fixed this in a separate PR. Thanks though!


Why not part of Business Central documentation?

This topic only resides under https://docs.microsoft.com/en-us/dynamics-nav. Why not under https://docs.microsoft.com/en-us/dynamics365/business-central?

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

ID: f3b1e0d7-8ea7-c1f4-2b37-da7f1c97a910
Version Independent ID: 16bd860a-c6d9-4aa8-a435-72b7fc990464
Content: C/AL ASSERTERROR Statements - Dynamics NAV
Content Source: dynamics-nav/C-AL-ASSERTERROR-Statements.md
Product: dynamics-nav-2018
GitHub Login: @jswymer

Hello, the content is included in the Business Central documentation, however, it is a sub-section of the AL Simple Statements article. Although it is not directly linked to the table of contents, it can be found using search. Thanks for the feedback!

Hi, OK clear, but if I search with google for "Business Central ASSERERROR" I do not get a hit on that topic. So, something needs to get fixed here.

Hi Ivan, oddly enough, Bing seems finds the article, but not Google. I will see if there is a way we can enhance the search for Google. Thanks again!

Thanx, js. What does js stand for? And just call me Luc. lvanvugt = Luc van Vugt ;-)

Hi Luc, sorry about that. My initials are js (John Swymer).

Please to meet you. ;-)


Is Broadphase still planned to be implemented?

Short answer: Yes
Long answer:
Broadphase and several other improvements are planned, but they are tied to the development of my very slowly made game which is the primary reason this library even exists.


feat: Scrape market orders from player structures

Some market orders from structures are unable to resolve the region and system IDs. This is because the market orders from structures endpoint does not contain this information and the structure scrape doesn't have them either. The structure IDs pulled from market orders and contracts should have region and system set, but they don't. This will be addressed in https://github.com/autonomouslogic/eve-ref/pull/502

I think this is good to go. Did a test run and only one structure came up with no location information. Hopefully, one the code from #502 has had a chance to run, there will be none.


eqJoin Documentation - not in DynamicView

The current documentation for eqJoin declares this function as such:
eqJoin(joinData, leftJoinKey, rightJoinKey, mapFun)
which leaves quite some room for interpretation as to who implements it. So, I looked at the source code and saw that DynamicViews, although this entry in the docs is under that title, don't implement this function at all. ResultSets and Collections do implement it.
I'm trying to eqJoin two collections. Am I missing something?
Sorry to nag so much about the docs...

Also - eqJoin doesn't create a dynamic view, although it's under Dynamic Views in the docs.

Old issue, but yes I think for now it would be best to refer to :
https://rawgit.com/techfort/LokiJS/master/jsdoc/index.html


Add device and module type columns

A linked count column added to the device and module type list tables allows for quick access to the associated assets, while providing an overview of the total assets managed as opposed to instances in use. This also allows both columns to be exported as CSV.

Does this code work for you? I get zeros for all device types even those that have assets.
I think the issue is that we don't setup a reverse relation from Asset to DeviceType (...), see here.
I know this was done intentionally, however I can't remember why. It's possible I encountered some issues but it's also possible I didn't want to risk any namespace collisions. Eg. if netbox or other plugins tried to setup reverse relation with the same name. Django complains and fails in such case.

Hmm. Indeed, I had a reverse relationship requested for testing, but not committed. However, adding this could introduce new problems in the future as I'm working on a feature in NetBox to automatically display related objects. Assets of DeviceType and ModuleType objects would then be displayed twice in the related detail views.
I'll see if I can change the columns to use a dedicated lookup instead of relations.

I've added the reverse relation, which allows the columns to work now.

However, adding this could introduce new problems in the future as I'm working on a feature in NetBox to automatically display related objects.

This doesn't seem to be a problem. The detailed view of Assets with different kind is on the manufacturer's view. However, these relations would be shown on the views for DeviceType and ModuleType.


Manga Koma - Source request

Source name
Manga Koma
Source link
https://mangakoma01.net/
Source language
Japanese
Other details
18+/NSFW = yes
Acknowledgements

[X] I have checked that the extension does not already exist by searching the extension listing and verified it does not appear there.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I will fill out all of the requested information in this form.

Uses same theme as MangaSect/DocTruyen5s

Uses same theme as MangaSect/DocTruyen5s

Which is, interestingly, a branch of MangaReader. At this point I'm not sure if there's even anything concrete about MangaReader other than the chapter pages being loaded through AJAX.


bulder to golang:1.17.13

What this PR does / why we need it:
Updated Build Tag to remedy security vulnerabilities found.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:  None.  Just tag changes

Tested via Quay repo and manual scanning shown that identified vulnerabilities remedied.


version of min Blender is 2.80 in master

Hello,
In bl_info data of init.py, blender version is set to (2, 80, 0)
But in master, should be 2.79

Blender 2.79 will only output a warning when adding an addon with a higher blender version while blender 2.80 does not load an addon with lower a version number. As we want to have 2.79 and 2.80 in the same branch, I don't see an alternative to setting it to (2, 80, 0).

Thought 2.80 branch is not merged with master yet, so we can keep it with 2 differents values

I merged the 2.8 branch into master last week, also some of the CI tests now at least locally run on blender 2.8. So I'd say we keep (2, 80, 0)?
Otherwise we would have to continuously merge any master changes to the 2.80 branch to check if it breaks something with blender 2.80

With 8462542 the Circle CI config now also performs the export tests on a blender 2.8 build of last week

seems I missed this merge. Sorry about that.


Check probe port is service port before using it

This is an attempt to fix #470, which checks health probe port is exposed by related service.

Closing in favor of https://github.com/Azure/application-gateway-kubernetes-ingress/pull/482


Track Header box duration does not account for edits

According to the duration documentation of the tkhd box, "[...] the value of this field is equal to the sum of the durations of all of the track’s edits. If there is no edit list, then the duration is the sum of the sample durations [...]"
Yet, DefaultMp4Builder delegates to Track#getDuration() for both, the tkhd and mdhd, always returning the total sample duration, thus not allowing edits to create a track that is shorter than the media.

Good find. Thx

I think i fixed it. Please have a look and see if it solves your problem


MSI generation script should get the version number dynamically

Steps to reproduce
Fault code:
https://github.com/PowerShell/PowerShell/blob/87e6e74ca96f59dacc1d4d3933c6cb843dea8ea0/tools/packaging/packaging.psm1#L2611
Expected behavior
Value should not be hard coded.
Actual behavior
Value hard coded to '6'.
Environment data
N/A

We already have this in csproj
https://github.com/PowerShell/PowerShell/blob/87e6e74ca96f59dacc1d4d3933c6cb843dea8ea0/PowerShell.Common.props#L40-L48
@daxian-dbw stopped me from injecting this values in code :-) until better times.


[ADAP-790] [Bug] tblproperties macro not used when creating table neccessary for iceberg tables

Is this a new bug in dbt-spark?

[X] I believe this is a new bug in dbt-spark
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
tblproperties macro is declared but not used
Expected Behavior
include in adaptors.sql so it'll be rendered when creating table
Steps To Reproduce

include tblproperties in model config
dbt run
table created without tblproperties

Relevant log output
No response
Environment
- OS: Ubuntu 20.04
- Python: 3.9
- dbt-core:
- dbt-spark: 1.5.0

Additional Context
No response

require automated test to test if this adds tblproperties to the create table statement

Resolved in https://github.com/dbt-labs/dbt-spark/pull/848


Update statement throws an exception

Hi @Rastusik,
Is this code correct?
https://github.com/pixelfederation/vitess-php-pdo/blob/master/src/VitessPdo/PDO/Vitess/Vitess.php#L200
I'm trying to update a row without using of transaction. I've done it somewhere else but when I try it now it actually executes the query and after that throws an exception.

Hi @mohammad7293 , the code is correct, the point is that Vitess only supports writes in a transaction, so if there is no transaction active, it is being created and committed after the write query. What's the exception message?

In somewhere in my code im trying to update a record without starting a transaction. In the line that i have mentioned, the update query occurs but although the getTransaction() method returns an VTGateX object, the isInTransactionValue is false, so your code tries to run the commitTransaction method and it fails because you haven't start any transaction in this case. If i beginTransaction in mycode, i can't commit because you commited the transaction in your code before.

@Rastusik

that code is correct, maybe I didn't explain it clearly enough. It's exactly for your use case - write query without a transaction in the app context. There is also a unit test for this scenario. I'm 100% sure that it works in the PDO level. The getTransaction() always returns an object, because the transaction is created if it doesn't exist. I admit, the code isn't obvious on the first sight, but it is correct.

@Rastusik
My update query code will confront the situation that the getTransaction() method returns an object but the isInTransaction variable is false.
This is the conflict that i have seen and it's so weird for me.

yes I understand, but just run through the code using xdebug and you'll see what I mean ;)


chore: release 4.0.3

:robot: I have created a release *beep* *boop*
4.0.3 (2019-08-22)
Bug Fixes

correct column numbers for line-1 breakpoints (#751) (f6d4f76)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/cloud-debug-nodejs/releases/tag/v4.0.3

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


No matching distribution found for milvus

I am running into the same problem when I try to install the package on the python3.10 docker image. It cannot find the package. I am able to install pymilvus without any issues though. Any leads will be appreciated.

Found the issue. The package milvus is only compatible with the ubuntu amd64 architecture. I was building this docker image on M1, where the default docker target platform is arm64. Explicitly using the flag --platform linux/amd64 with the docker build command fixed the issue.


Individual components for C#/.net core development?

Is it possible to have an absolute minimal installation for C#/.net core development? Without this workload ticked ".NET Core cross-platform development" which adds around +3gb I can't find a correct set of individual components to tick (not the whole workload) so that a c# solution loads. Please advise.

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

ID: d8d0cb94-2886-79ce-39dd-0336282369b9
Version Independent ID: e8bcc58e-98af-e3ad-2629-0b4515047d0b
Content: Modify Visual Studio
Content Source: docs/install/modify-visual-studio.md
Product: visual-studio-windows
Technology: vs-installation
GitHub Login: @ornellaalt
Microsoft Alias: ornella

@aloneguid -- Ivan, it looks like you’re having an issue with installation. If your Visual Studio installation fails, see Troubleshooting Visual Studio installation and upgrade issues for step-by-step guidance.
We also offer a Live Chat (English only) support option for installation-related issues.
Here are a few more support options:

Report product issues to us via the Report a Problem tool that appears both in the Visual Studio Installer and in the Visual Studio IDE.
Suggest a feature, track product issues, and find answers in the Visual Studio Developer Community.
Use your GitHub account to talk to us and other Visual Studio developers in the Visual Studio conversation in the Gitter community.


Cannot set UDA values using TaskWarrior() instances

Trying to modify the value of a UDA modifies the description instead.
Add a UDA in taskrc
uda.level.type = numeric

Add a task
task add 'Some task' level:1

Try to modify the value from a shell
>>> tw = TaskWarrior()
>>> t = tw.tasks.pending().get(id=1)
>>> t
'Some task'
>>> t["level"]
'1.000000'
>>> t["level"] = 2
>>> t
'Some task'
>>> t["level"]
'1.000000'
>>> t.save()
>>> t
'level: 4.0'
>>> t["level"]
'1.000000'

The behavior isn't intuitive and I didn't see it documented on the UDA page (but it's consistent with the cli): the UDA will not be considered as such if uda.<YOUR_UDA_NAME>.type isn't declared. Furthermore, you'll get the same behavior if you have periods in YOUR_UDA_NAME, which is the opposite of what the docs recommend.
$ task add "This is a test" dummy:yes
$ task
ID Age  Project Description                                                                                Urg
1  -            This is a test dummy:yes                                                                           0
$  task config uda.dummy.type string
$ task add "This is a test" dummy:yes
ID Age  Project Description                                                                                Urg
1  34s          This is a test dummy:yes                                                                           0
2  2s           This is a test                                                                                0

Thanks for your input.
This question of mine is a bit old, so I do not remember all the details. Reading my initial post, it seems to me that my UDA type was declared, and was not a string, but numeric. Moreover in my example, I am quoting the description when adding the task, and my problem is more about modifying the UDA value programatically than adding new tasks vi the cli.
Anyway, I am closing the issue because I gave up on it a while ago.


Create additional info blocks

You can make your resume less official by adding more entertaining info, like your hobbies and interest, or what do you like, some interactive content or joke, easter egg, etc.

Added education, certifications, languages and hobbies.


Update pygtfs to upstream's 0.1.5

This works by adding ?check_same_thread=False to the sqlite
connection string, as suggested by<EMAIL_ADDRESS>It upgrades pygtfs from homeassitant's forked 0.1.3 version to 0.1.5.
Fixes #15725
Description:
Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[ ] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[ ] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Hi @jarondl,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Hi @jarondl,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!


menu items ('editor' / 'gallery' etc) are very light-weight

I took note of this in the todo doc. Let's close the issue until we have a clear direction on how to change the menu.


Update RPC endpoints info message

Preview is available here:http://laboratory-pr991.previews.kube001.services.stellar-ops.com/

Preview is available here:http://laboratory-pr991.previews.kube001.services.stellar-ops.com/

Preview is available here:http://laboratory-pr991.previews.kube001.services.stellar-ops.com/


Autoretainer opens retainer inventory instead of going back to retainer list

When having autoretainer open, as of today it seems to be going to the retainer inventory after each retainer instead of going back to the retainer-list. This causes the loop to break and only one retainer to be sent on a new mission.
I do not have multi mode enabled, only auto retainer. For all retainers the entrust items option is disabled, as is the option to withdraw/deposit gil.

My fps is capped at 60 fps, and always is around that cap, nowhere near the 20 or lower for this to be an issue.
I did increase the interaction delay from 8 to 20 to see if this would fix the issue, which it didn't.
Autoretainer version: <IP_ADDRESS> (Testing version)
If you require any more information for this issue, please don't hesitate to ask!

This issue should be fixed in <IP_ADDRESS>


Bucket sdk

Generated python and nodejs sdk for Bucket component

Also, the schema.yaml wasn't updated.

Pending to review errors

Not needed


Restrict menu options dropdown by menu item location.

Updates the menu options drop down to only show option sets from the current restaurant location.
Closes #688

Ok, for the sake of consistency. When the location selector is in use, do we let the logged-in admin user have access to records attached to their location plus records with no location attached or do we just restrict the user to only records attached to their location? I'd say we lock users to records in their locations and let super admins have access to all records regardless of location.
What are your thoughts @ryanmitchell

Ok, for the sake of consistency. When the location selector is in use, do we let the logged-in admin user have access to records attached to their location plus records with no location attached or do we just restrict the user to only records attached to their location? I'd say we lock users to records in their locations and let super admins have access to all records regardless of location.
What are your thoughts @ryanmitchell

Yeah I agree. Super admins should see all.

On 31 Jan 2021, at 01:40, Sam Poyigi<EMAIL_ADDRESS>wrote:

Ok, for the sake of consistency. When the location selector is in use, do we let the logged-in admin user have access to records attached to their location plus records with no location attached or do we just restrict the user to only records attached to their location? I'd say we lock users to records in their locations and let super admins have access to all records regardless of location.
What are your thoughts @ryanmitchell
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yeah I agree. Super admins should see all.

On 31 Jan 2021, at 01:40, Sam Poyigi<EMAIL_ADDRESS>wrote:

Ok, for the sake of consistency. When the location selector is in use, do we let the logged-in admin user have access to records attached to their location plus records with no location attached or do we just restrict the user to only records attached to their location? I'd say we lock users to records in their locations and let super admins have access to all records regardless of location.
What are your thoughts @ryanmitchell
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I dont have permissions to update your PR, but you can amend it to this (please test).
`public static function getRecordEditorOptions()
{
$query = self::selectRaw('option_id, concat(option_name, " (", display_type, ")") AS display_name');
    if (!AdminAuth::isSuperUser())
        $query->whereHasOrDoesntHaveLocation(AdminLocation::getIdOrAll());

    return $query->dropdown('display_name');
}`

You need to add use AdminAuth; at the top

I dont have permissions to update your PR, but you can amend it to this (please test).
`public static function getRecordEditorOptions()
{
$query = self::selectRaw('option_id, concat(option_name, " (", display_type, ")") AS display_name');
    if (!AdminAuth::isSuperUser())
        $query->whereHasOrDoesntHaveLocation(AdminLocation::getIdOrAll());

    return $query->dropdown('display_name');
}`

You need to add use AdminAuth; at the top

Ok I have tested that and as SuperAdmin I can now see options from locations which are enabled, but not from locations that are disabled. I think it should show all options no?

It’s doing the same thing as it was before for super admins so that must have been the previous behaviour.

Yea that's the previous behaviour.
My question wasn't on super admins but how to handle access for restricted users. I think restricted users should only see records attached to their location.. That is, we use whereHasLocation throughout on the admin side instead of whereHasOrDoesntHaveLocation. This way restricted users don't have access to records not attached to locations.

Yep that makes sense to change.

On 2 Feb 2021, at 13:16, Sam Poyigi<EMAIL_ADDRESS>wrote:

Yea that's the previous behaviour.
My question wasn't on super admins but how to handle access for restricted users. I think restricted users should only see records attached to their location.. That is, we use whereHasLocation throughout on the admin side instead of whereHasOrDoesntHaveLocation. This way restricted users don't have access to records not attached to locations.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok - I can update with whereHasLocation in that block above.
What needs to be updated so a Super Admin can see the whole list?

The only change required is updating it to whereHasLocation - the rest of the behaviour is good

OK - got it. Tested and working as desired on my implementation.


Readline functionality (using BSD editline) and related modifications

The goal of this pull request is to make the interactive console experience closer to that of other consoles, e.g. the interactive python prompt. To achieve this, I implemented basic readline functionality from the NetBSD editline library, as discussed in #41. On top of that, I reduced the newline output as to reduce terminal clutter and simplify the code.  In this way the interactive console experience is closer to that of many other prompts, that do not include an unneeded newline after every issued command.
However, all these changes forced me to make some other modifications to the interactive behavior as well. A notable change is that the , command now only reads one character (char type)/one byte from stdin and then stops, as per the brainfuck language description on wikipedia and esolang (I also remember other interpreters having this behavior). I was forced to make this modification because, for unknown reasons, the editline library changed the behaviour of the , command to jump to the next character in the stdin buffer on every invocation. This made it so that when the user for example entered just one character, a next call to , would automatically assign the value of a newline character at the current tape position, as that character would be next in the stdin buffer.  Furthermore, the previous behavior of the , command of reading in one character and then executing the rest of the string as brainfuck code matches no specification whatsoever and is quite unexpected, which seem like a good reasons to change it to something more consistent with existing online documentation on the brainfuck language.
I also cleaned some whitespace and corrected a spelling mistake.

Awesome! Thank you for taking the time to implement this.
I think it would be nice to have a build flag to disable the editline functionality, in order to remove the hard dependency on libedit, but this is something we can add later.
I will be preparing the master branch for a new release after merging this.
Cheers,
Fabian


Multiple marks for SyntaxErrors

This is inspired by issue #92.
In some cases, a SyntaxError can be identified as a conflict between tokens at two different locations.  For example, unmatched brackets (currently identified when asking why()) or duplicate arguments in functions (as noted in #92). It those cases, it might be useful to indicate both locations in the where() stage.
Furthermore, starting with version 3.11, cPython occasionnally uses two different markers, ~ and ^, to indicate the location of an error. This might be useful to do, for example when identifying a missing token between two values, especially if the token is a single character; something like:
... abc, def
    ~~~^

Furthermore, the strategy of highlighting an entire token as often used by cPython 3.10+ should be used throughout.

The idea of using multiple markers does not translate very well when using background colour for highlighting. This issue can now be closed.


Modernize build

See https://github.com/dwavesystems/dwave-greedy/pull/16.
At the very least, define build system via pyproject.toml according to PEP-517/PEP-518.
Blocker for https://github.com/dwavesystems/dwave-ocean-sdk/issues/144.

Done during merge with dwave-samplers (using cibuildwheel).


v1.5.0 near generates incorrect SQL

Note: This appears related to or potentially a regression of https://github.com/alexreisner/geocoder/issues/1130
Expected behavior
This should generate valid SQL =>
Office.near("East Haddam, Connecticut, 06423").to_sql

Actual behavior
Office.near("East Haddam, Connecticut, 06423").to_sql

Generates this SQL =>
"SELECT offices.*, NULL::text AS distance, NULL::text AS bearing FROM \"offices\" WHERE (false)"

This works as expected =>
Geocoder.search("East Haddam, Connecticut, 06423")

[
    [0] #<Geocoder::Result::Test:0x00005569c70842c0 @data={"latitude"=>41.4535011, "longitude"=>-72.4608262, "address"=>"************, East Haddam, CT, 06423, USA", "state"=>"Connecticut", "state_code"=>"CT", "country"=>"United States", "country_code"=>"US"}, @cache_hit=nil>
]

This also works as expected =>
Office.near([41.4535011, -72.4608262]).to_sql

SELECT offices.*, 3958.755864232 * 2 * ASIN(SQRT(POWER(SIN((41.4535011 - offices.latitude) * PI() / 180 / 2), 2) + COS(41.4535011 * PI() / 180) * COS(offices.latitude * PI() / 180) * POWER(SIN((-72.4608262 - offices.longitude) * PI() / 180 / 2), 2))) AS distance, MOD(CAST((ATAN2( ((offices.longitude - -72.4608262) / 57.2957795), ((offices.latitude - 41.4535011) / 57.2957795)) * 57.2957795) + 360 AS decimal), 360) AS bearing FROM \"offices\" WHERE (offices.latitude BETWEEN 41.1640375337783 AND 41.742964666221695 AND offices.longitude BETWEEN -72.84703858312798 AND -72.07461381687202 AND (3958.755864232 * 2 * ASIN(SQRT(POWER(SIN((41.4535011 - offices.latitude) * PI() / 180 / 2), 2) + COS(41.4535011 * PI() / 180) * COS(offices.latitude * PI() / 180) * POWER(SIN((-72.4608262 - offices.longitude) * PI() / 180 / 2), 2)))) BETWEEN 0.0 AND 20) ORDER BY distance ASC

Steps to reproduce
Configure Geocoder =>
Geocoder.configure(
  lookup: :test,
  cache: Hash.new
)

Geocoder::Lookup::Test.add_stub('************, East Haddam, Connecticut, 06423',
[
  {
    'latitude'     => 41.4535011,
    'longitude'    => -72.4608262,
    'address'      => '************, East Haddam, CT, 06423, USA',
    'state'        => 'Connecticut',
    'state_code'   => 'CT',
    'country'      => 'United States',
    'country_code' => 'US'
  }
])

Geocoder::Lookup::Test.set_default_stub([{
  'latitude'     => 41.4535011,
  'longitude'    => -72.4608262,
  'address'      => 'East Haddam, CT, 06423, USA',
  'state'        => 'Connecticut',
  'state_code'   => 'CT',
  'country'      => 'United States',
  'country_code' => 'US'
}])

Environment info

Geocoder version: 1.5.0
Rails version: 5.2.1
Database (if applicable): Postgres v9.6.3
Lookup (if applicable): test

Sorry, this looks like it was due to incorrect definition of test stub. The README was recently corrected. Try defining coordinates instead of latitude and longitude on your stubs and see if that fixes.

Awesome, looks like that fixed the issue - thanks! 👍


Adopt Gradle 7.4

Description
https://docs.gradle.org/7.4/release-notes.html
The Version catalogs is promoted to a stable feature.
Checklist

[ ] tests are added
[x] CHANGELOG.md is updated

@Goooler Tnx for updating. I will check it out this week. I will mark it for the 0.44.0 release.


How to build x64 libtesseract and liblept static lib?

Checkout: https://github.com/charlesw/tesseract-vs2012
Note that the tesseract patch is a little out of date as they've since moved to github and there has been some changes to their project structure (files added\removed). So it won't work without some minor changes. I'll try and post an updated patch when I can find the time, won't be till the weekend at the earliest though.

yeah thanks that would be great.

Done


Can't participate in consensus

Hi, after downloading v. 1.4.4 I can't participate in consensus via Escrow on Folks Finance. I have green marks on Node being running and synced but yellow mark on "Participating in Consensus".  I've registeded myself for Consensus on Folks Finance as in v. 1.4.3 and everytning was working well. Now it's not.

I would suggest generating new keys and going through the registration process again and see if that fixes the issue.