FreeBSD tests fail

Greetings, I am exploring unreliable behavior with directory watching / closing on FreeBSD (https://github.com/webpack/watchpack/issues/12).
System information:
$ uname -apKU
FreeBSD z600 10.2-PRERELEASE FreeBSD 10.2-PRERELEASE #6: Thu Jul  2 04:49:25 CDT 2015     root@z600:/usr/obj/usr/src/sys/MYKERNEL  amd64 amd64 1001519 1001519

Here is the test output:
  chokidar

    ✓ should expose public API methods
    non-polling
      watch a directory

        ✓ should produce an instance of chokidar.FSWatcher

        ✓ should expose public API methods

        ✓ should emit `add` event when file was added

        ✓ should emit `addDir` event when directory was added

        ✓ should emit `change` event when file was changed

        ✓ should emit `unlink` event when file was removed (107ms)

        ✓ should emit `unlinkDir` event when a directory was removed

        ✓ should emit `unlink` and `add` events when a file is renamed (135ms)

        ✓ should not emit `unlink` for previously moved files (575ms)

        ✓ should survive ENOENT for missing subdirectories

        ✓ should notice when a file appears in a new directory
      watch individual files

        ✓ should detect changes

        ✓ should detect unlinks (129ms)

        ✓ should detect unlink and re-add (186ms)

        ✓ should ignore unwatched siblings (335ms)
      watch non-existent paths

        ✓ should watch non-existent file and detect add (332ms)

        ✓ should watch non-existent dir and detect addDir/add (346ms)
      watch glob patterns

        ✓ should correctly watch and emit based on glob input (351ms)

        1) should respect negated glob patterns

        ✓ should traverse subdirs to match globstar patterns (446ms)

        ✓ should resolve relative paths with glob patterns (39ms)

        2) should correctly handle conflicting glob patterns

        ✓ should correctly handle intersecting glob patterns

        ✓ should not confuse glob-like filenames with globs (62ms)

        ✓ should not prematurely filter dirs against complex globstar patterns (354ms)
      watch symlinks

        ✓ should watch symlinked dirs

        ✓ should watch symlinked files

        ✓ should follow symlinked files within a normal dir

        ✓ should watch paths with a symlinked parent (63ms)

        ✓ should not recurse indefinitely on circular symlinks

        ✓ should recognize changes following symlinked dirs (40ms)

        ✓ should follow newly created symlinks (70ms)

        ✓ should watch symlinks as files when followSymlinks:false

        ✓ should watch symlinks within a watched dir as files when followSymlinks:false (75ms)

        ✓ should not reuse watcher when following a symlink to elsewhere (66ms)
      watch options
        ignoreInitial
          false

            ✓ should emit `add` events for preexisting files

            ✓ should emit `addDir` event for watched dir

            ✓ should emit `addDir` events for preexisting dirs
          true

            ✓ should ignore inital add events

            ✓ should ignore add events on a subsequent .add() (630ms)

            ✓ should notice when a file appears in an empty directory

            ✓ should emit a change on a preexisting file as a change

            ✓ should not emit for preexisting dirs when depth is 0 (667ms)
        ignored

          ✓ should check ignore after stating

          ✓ should not choke on an ignored watch path

          ✓ should ignore the contents of ignored dirs (339ms)
        depth

          ✓ should not recurse if depth is 0 (319ms)

          ✓ should recurse to specified depth (345ms)

          ✓ should respect depth setting when following symlinks (965ms)

          ✓ should respect depth setting when following a new symlink (347ms)

          ✓ should correctly handle dir events when depth is 0 (686ms)
        atomic

          ✓ should ignore vim/emacs/Sublime swapfiles (404ms)

          ✓ should ignore stale tilde files
        cwd

          3) should emit relative paths based on cwd

          4) should allow separate watchers to have different cwds
        ignorePermissionErrors
          false

            ✓ should not watch files without read permissions (323ms)
          true

            ✓ should watch unreadable files if possible

            ✓ should not choke on non-existent files
      unwatch

        ✓ should stop watching unwatched paths

        ✓ should ignore unwatched paths that are a subset of watched paths

        ✓ should unwatch relative paths (345ms)
      close

        ✓ should ignore further events on close (315ms)
    polling
      watch a directory

        ✓ should produce an instance of chokidar.FSWatcher

        ✓ should expose public API methods

        ✓ should emit `add` event when file was added (315ms)

        ✓ should emit `addDir` event when directory was added (953ms)

        ✓ should emit `change` event when file was changed (105ms)

        ✓ should emit `unlink` event when file was removed (105ms)

        ✓ should emit `unlinkDir` event when a directory was removed (946ms)

        ✓ should emit `unlink` and `add` events when a file is renamed (942ms)

        ✓ should not emit `unlink` for previously moved files (936ms)

        ✓ should survive ENOENT for missing subdirectories

        ✓ should notice when a file appears in a new directory (960ms)
      watch individual files

        ✓ should detect changes (956ms)

        ✓ should detect unlinks (311ms)

        ✓ should detect unlink and re-add (2156ms)

        ✓ should ignore unwatched siblings (1262ms)
      watch non-existent paths

        ✓ should watch non-existent file and detect add (1248ms)

        ✓ should watch non-existent dir and detect addDir/add (1265ms)
      watch glob patterns

        ✓ should correctly watch and emit based on glob input (1256ms)

        ✓ should respect negated glob patterns (614ms)

        ✓ should traverse subdirs to match globstar patterns (1251ms)

        ✓ should resolve relative paths with glob patterns (936ms)

        ✓ should correctly handle conflicting glob patterns (943ms)

        ✓ should correctly handle intersecting glob patterns (949ms)

        ✓ should not confuse glob-like filenames with globs (1250ms)

        ✓ should not prematurely filter dirs against complex globstar patterns (1237ms)
      watch symlinks

        ✓ should watch symlinked dirs (915ms)

        ✓ should watch symlinked files (944ms)

        ✓ should follow symlinked files within a normal dir (951ms)

        ✓ should watch paths with a symlinked parent (1260ms)

        ✓ should not recurse indefinitely on circular symlinks

        ✓ should recognize changes following symlinked dirs (1012ms)

        ✓ should follow newly created symlinks (1291ms)

        ✓ should watch symlinks as files when followSymlinks:false (910ms)

        ✓ should watch symlinks within a watched dir as files when followSymlinks:false (1253ms)

        ✓ should not reuse watcher when following a symlink to elsewhere (1260ms)
      watch options
        ignoreInitial
          false

            ✓ should emit `add` events for preexisting files

            ✓ should emit `addDir` event for watched dir

            ✓ should emit `addDir` events for preexisting dirs (910ms)
          true

            ✓ should ignore inital add events (907ms)

            ✓ should ignore add events on a subsequent .add() (608ms)

            ✓ should notice when a file appears in an empty directory (70ms)

            ✓ should emit a change on a preexisting file as a change (939ms)

            ✓ should not emit for preexisting dirs when depth is 0 (1567ms)
        ignored

          ✓ should check ignore after stating

          ✓ should not choke on an ignored watch path

          ✓ should ignore the contents of ignored dirs (1217ms)
        depth

          ✓ should not recurse if depth is 0 (310ms)

          ✓ should recurse to specified depth (1236ms)

          ✓ should respect depth setting when following symlinks (1818ms)

          ✓ should respect depth setting when following a new symlink (1259ms)

          ✓ should correctly handle dir events when depth is 0 (2501ms)
        atomic

          ✓ should ignore vim/emacs/Sublime swapfiles (1222ms)

          ✓ should ignore stale tilde files (907ms)
        cwd

          ✓ should emit relative paths based on cwd (1091ms)

          ✓ should allow separate watchers to have different cwds (1363ms)
        ignorePermissionErrors
          false

            ✓ should not watch files without read permissions (307ms)
          true

            ✓ should watch unreadable files if possible

            ✓ should not choke on non-existent files
      unwatch

        ✓ should stop watching unwatched paths (944ms)

        ✓ should ignore unwatched paths that are a subset of watched paths (332ms)

        ✓ should unwatch relative paths (1270ms)
      close

        ✓ should ignore further events on close (305ms)

  121 passing (2m)
  4 failing

  1) chokidar non-polling watch glob patterns should respect negated glob patterns:
     Uncaught expected spy to have been called exactly twice, but it was called once
    spy(add, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809428,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
  AssertionError: expected spy to have been called exactly twice, but it was called once
      spy(add, test-fixtures/unlink.txt, {
    atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809428,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:20:23 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

  2) chokidar non-polling watch glob patterns should correctly handle conflicting glob patterns:
     Uncaught expected spy to have been called with arguments unlink, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt
    spy(add, /usr/home/tony/work/chokidar/test-fixtures/change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt, {
  atime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809434,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, /usr/home/tony/work/chokidar/test-fixtures/change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
  AssertionError: expected spy to have been called with arguments unlink, test-fixtures/unlink.txt
      spy(add, test-fixtures/change.txt, {
    atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809425,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

      spy(add, test-fixtures/unlink.txt, {
    atime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809434,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

      spy(change, test-fixtures/change.txt, {
    atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809425,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:20:25 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })
      at test.js:506:34
      at finish (test.js:85:7)

  3) chokidar non-polling watch options cwd should emit relative paths based on cwd:
     Uncaught AssertionError: expected spy to have been called with arguments unlink, unlink.txt
    spy(add, change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, unlink.txt, {
  atime: Fri Jul 03 2015 02:20:27 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809443,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:33 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:34 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:34 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:34 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
      at test.js:1096:36
      at finish (test.js:85:7)

  4) chokidar non-polling watch options cwd should allow separate watchers to have different cwds:
     Uncaught AssertionError: expected spy to have been called with arguments unlink, unlink.txt
    spy(add, change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, unlink.txt, {
  atime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809525,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, change.txt, {
  atime: Fri Jul 03 2015 02:20:21 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809425,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:20:35 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
      at test.js:1118:41
      at finish (test.js:85:7)

I should add, this is with io.js 2.3.0.
For posterity, I will also test with node below

node 2.11.3 is the same.
><EMAIL_ADDRESS>test /usr/home/tony/work/chokidar
> istanbul test node_modules/mocha/bin/_mocha

  chokidar

    ✓ should expose public API methods
    non-polling
      watch a directory

        ✓ should produce an instance of chokidar.FSWatcher

        ✓ should expose public API methods

        ✓ should emit `add` event when file was added

        ✓ should emit `addDir` event when directory was added

        ✓ should emit `change` event when file was changed

        ✓ should emit `unlink` event when file was removed (107ms)

        ✓ should emit `unlinkDir` event when a directory was removed (38ms)

        ✓ should emit `unlink` and `add` events when a file is renamed (133ms)

        ✓ should not emit `unlink` for previously moved files (584ms)

        ✓ should survive ENOENT for missing subdirectories

        ✓ should notice when a file appears in a new directory
      watch individual files

        ✓ should detect changes

        ✓ should detect unlinks (129ms)

        ✓ should detect unlink and re-add (190ms)

        ✓ should ignore unwatched siblings (340ms)
      watch non-existent paths

        ✓ should watch non-existent file and detect add (337ms)

        ✓ should watch non-existent dir and detect addDir/add (344ms)
      watch glob patterns

        ✓ should correctly watch and emit based on glob input (353ms)

        1) should respect negated glob patterns

        ✓ should traverse subdirs to match globstar patterns (447ms)

        ✓ should resolve relative paths with glob patterns

        2) should correctly handle conflicting glob patterns

        ✓ should correctly handle intersecting glob patterns

        ✓ should not confuse glob-like filenames with globs (63ms)

        ✓ should not prematurely filter dirs against complex globstar patterns (358ms)
      watch symlinks

        ✓ should watch symlinked dirs

        ✓ should watch symlinked files

        ✓ should follow symlinked files within a normal dir

        ✓ should watch paths with a symlinked parent (63ms)

        ✓ should not recurse indefinitely on circular symlinks

        ✓ should recognize changes following symlinked dirs (42ms)

        ✓ should follow newly created symlinks (63ms)

        ✓ should watch symlinks as files when followSymlinks:false

        ✓ should watch symlinks within a watched dir as files when followSymlinks:false (66ms)

        ✓ should not reuse watcher when following a symlink to elsewhere (67ms)
      watch options
        ignoreInitial
          false

            ✓ should emit `add` events for preexisting files

            ✓ should emit `addDir` event for watched dir

            ✓ should emit `addDir` events for preexisting dirs
          true

            ✓ should ignore inital add events

            ✓ should ignore add events on a subsequent .add() (622ms)

            ✓ should notice when a file appears in an empty directory

            ✓ should emit a change on a preexisting file as a change

            ✓ should not emit for preexisting dirs when depth is 0 (666ms)
        ignored

          ✓ should check ignore after stating

          ✓ should not choke on an ignored watch path

          ✓ should ignore the contents of ignored dirs (343ms)
        depth

          ✓ should not recurse if depth is 0 (321ms)

          ✓ should recurse to specified depth (358ms)

          ✓ should respect depth setting when following symlinks (950ms)

          ✓ should respect depth setting when following a new symlink (352ms)

          ✓ should correctly handle dir events when depth is 0 (690ms)
        atomic

          ✓ should ignore vim/emacs/Sublime swapfiles (400ms)

          ✓ should ignore stale tilde files
        cwd

          3) should emit relative paths based on cwd

          4) should allow separate watchers to have different cwds
        ignorePermissionErrors
          false

            ✓ should not watch files without read permissions (322ms)
          true

            ✓ should watch unreadable files if possible

            ✓ should not choke on non-existent files
      unwatch

        ✓ should stop watching unwatched paths (42ms)

        ✓ should ignore unwatched paths that are a subset of watched paths

        ✓ should unwatch relative paths (351ms)
      close

        ✓ should ignore further events on close (313ms)
    polling
      watch a directory

        ✓ should produce an instance of chokidar.FSWatcher

        ✓ should expose public API methods

        ✓ should emit `add` event when file was added (315ms)

        ✓ should emit `addDir` event when directory was added (950ms)

        ✓ should emit `change` event when file was changed (107ms)

        ✓ should emit `unlink` event when file was removed (104ms)

        ✓ should emit `unlinkDir` event when a directory was removed (937ms)

        ✓ should emit `unlink` and `add` events when a file is renamed (947ms)

        ✓ should not emit `unlink` for previously moved files (931ms)

        ✓ should survive ENOENT for missing subdirectories

        ✓ should notice when a file appears in a new directory (947ms)
      watch individual files

        ✓ should detect changes (938ms)

        ✓ should detect unlinks (313ms)

        ✓ should detect unlink and re-add (2161ms)

        ✓ should ignore unwatched siblings (1272ms)
      watch non-existent paths

        ✓ should watch non-existent file and detect add (1268ms)

        ✓ should watch non-existent dir and detect addDir/add (1263ms)
      watch glob patterns

        ✓ should correctly watch and emit based on glob input (1259ms)

        ✓ should respect negated glob patterns (632ms)

        ✓ should traverse subdirs to match globstar patterns (1271ms)

        ✓ should resolve relative paths with glob patterns (948ms)

        ✓ should correctly handle conflicting glob patterns (949ms)

        ✓ should correctly handle intersecting glob patterns (930ms)

        ✓ should not confuse glob-like filenames with globs (1257ms)

        ✓ should not prematurely filter dirs against complex globstar patterns (1259ms)
      watch symlinks

        ✓ should watch symlinked dirs (913ms)

        ✓ should watch symlinked files (944ms)

        ✓ should follow symlinked files within a normal dir (946ms)

        ✓ should watch paths with a symlinked parent (1257ms)

        ✓ should not recurse indefinitely on circular symlinks

        ✓ should recognize changes following symlinked dirs (1013ms)

        ✓ should follow newly created symlinks (1295ms)

        ✓ should watch symlinks as files when followSymlinks:false (905ms)

        ✓ should watch symlinks within a watched dir as files when followSymlinks:false (1257ms)

        ✓ should not reuse watcher when following a symlink to elsewhere (1249ms)
      watch options
        ignoreInitial
          false

            ✓ should emit `add` events for preexisting files

            ✓ should emit `addDir` event for watched dir

            ✓ should emit `addDir` events for preexisting dirs (911ms)
          true

            ✓ should ignore inital add events (908ms)

            ✓ should ignore add events on a subsequent .add() (608ms)

            ✓ should notice when a file appears in an empty directory (67ms)

            ✓ should emit a change on a preexisting file as a change (939ms)

            ✓ should not emit for preexisting dirs when depth is 0 (1565ms)
        ignored

          ✓ should check ignore after stating

          ✓ should not choke on an ignored watch path

          ✓ should ignore the contents of ignored dirs (1215ms)
        depth

          ✓ should not recurse if depth is 0 (313ms)

          ✓ should recurse to specified depth (1232ms)

          ✓ should respect depth setting when following symlinks (1820ms)

          ✓ should respect depth setting when following a new symlink (1304ms)

          ✓ should correctly handle dir events when depth is 0 (2497ms)
        atomic

          ✓ should ignore vim/emacs/Sublime swapfiles (1230ms)

          ✓ should ignore stale tilde files (905ms)
        cwd

          ✓ should emit relative paths based on cwd (1067ms)

          ✓ should allow separate watchers to have different cwds (1347ms)
        ignorePermissionErrors
          false

            ✓ should not watch files without read permissions (309ms)
          true

            ✓ should watch unreadable files if possible

            ✓ should not choke on non-existent files
      unwatch

        ✓ should stop watching unwatched paths (938ms)

        ✓ should ignore unwatched paths that are a subset of watched paths (341ms)

        ✓ should unwatch relative paths (1274ms)
      close

        ✓ should ignore further events on close (312ms)

  121 passing (2m)
  4 failing

  1) chokidar non-polling watch glob patterns should respect negated glob patterns:
     Uncaught expected spy to have been called exactly twice, but it was called once
    spy(add, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809172,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
  AssertionError: expected spy to have been called exactly twice, but it was called once
      spy(add, test-fixtures/unlink.txt, {
    atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809172,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:55:44 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

  2) chokidar non-polling watch glob patterns should correctly handle conflicting glob patterns:
     Uncaught expected spy to have been called with arguments unlink, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt
    spy(add, /usr/home/tony/work/chokidar/test-fixtures/change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, /usr/home/tony/work/chokidar/test-fixtures/unlink.txt, {
  atime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809178,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, /usr/home/tony/work/chokidar/test-fixtures/change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
  AssertionError: expected spy to have been called with arguments unlink, test-fixtures/unlink.txt
      spy(add, test-fixtures/change.txt, {
    atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809169,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

      spy(add, test-fixtures/unlink.txt, {
    atime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809178,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })

      spy(change, test-fixtures/change.txt, {
    atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
    birthtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    blksize: 4096,
    blocks: 1,
    ctime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    dev:<PHONE_NUMBER>,
    gid: 1001,
    ino: 5809169,
    mode: 33188,
    mtime: Fri Jul 03 2015 02:55:46 GMT-0500 (CDT),
    nlink: 1,
    rdev: -1,
    size: 1,
    uid: 1001
  })
      at test.js:506:34
      at finish (test.js:85:7)

  3) chokidar non-polling watch options cwd should emit relative paths based on cwd:
     Uncaught AssertionError: expected spy to have been called with arguments unlink, unlink.txt
    spy(add, change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, unlink.txt, {
  atime: Fri Jul 03 2015 02:55:48 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809194,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:54 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
      at test.js:1096:36
      at finish (test.js:85:7)

  4) chokidar non-polling watch options cwd should allow separate watchers to have different cwds:
     Uncaught AssertionError: expected spy to have been called with arguments unlink, unlink.txt
    spy(add, change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(add, unlink.txt, {
  atime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809273,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})

    spy(change, change.txt, {
  atime: Fri Jul 03 2015 02:55:42 GMT-0500 (CDT),
  birthtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  blksize: 4096,
  blocks: 1,
  ctime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  dev:<PHONE_NUMBER>,
  gid: 1001,
  ino: 5809169,
  mode: 33188,
  mtime: Fri Jul 03 2015 02:55:56 GMT-0500 (CDT),
  nlink: 1,
  rdev: -1,
  size: 1,
  uid: 1001
})
      at test.js:1118:41
      at finish (test.js:85:7)

Let us know if that still happens with the latest chokidar.


Changing pos from int to long

Cards can have values in pos far to large for int.

Changing pos from int to long.


Codeforces Round 796 (div 2)

https://codeforces.com/contest/1688

Problem A: Cirno's Perfect Bitmasks Classroom
Because x and y > 0, both of them must have a common 1-bit. First find these lowest 1 and then check how to make x XOR y>0.
def solve(x):
    n = x.bit_length()
    one = n+1
    for i in range(n+1):
        if x & (1<<i):
            one = i
            break
    if (1<<one)^x: return 1<<one
    for i in range(n+1):
        if i == one:
            continue
        temp = (1<<one) + (1<<i)
        if temp^x: return temp
    return (1<<one) + (1<<n)

T = int(input())

for _ in range(T):
    x = int(input())
    print(solve(x))

Problem B: Patchouli's Magical Talisman
If there exists one odd number in the A, we can add other even numbers to the odd number once to cancel out those even numbers. After we have at least one odd number in A, any even number can be removed by only one step.
First, calculate how many times are needed to reduce A[i] to an odd value by only reduction (//2), we denote the times as times(x), then find if any times(x)=0, if there is, only need to add those even numbers to the odd number. Otherwise, find out the min times(x) and first reduce that x to an odd, then add other n-1 evens one by one.
def times(x):
    res = 0
    while x%2 == 0:
        x //= 2
        res += 1
    return res

def solve(A,n):
    odds = [times(x) for x in A]
    min_val = min(odds)
    if min_val == 0:
        return len([x for x in odds if x>0])
    else:
        return min_val + n - 1

T = int(input())
for _ in range(T):
    n = int(input())
    lst = list(map(int, input().split()))
    print(solve(lst,n))


cobra library for commandline handling

Previously flags was used for cmdline handling which is very minimal but with cobra is extensible easily.

I will need to edit tests as well

LGTM :+1:

Great work @surajssd :+1: , hit the magic button :wink:


Help me Add New Code for ALC270

I have successfully patched AppleHDA on the Asus S46CM using the ALC270. I have found a way to Add New code but English is hard for me. I attached the data that I obtained. Hope it will be on your project the very last day. Thanks you so much!
ALC270 Asus s46cm.zip

Hi Sir, I see your attached file. How to create platform.xml.zlib and layout.xml.zlib?
Thanks!

You can create platform.xml.zlib and layout.xml.zlib from platform.xml and layout.xml through the HDA Wizard.app
HDA_Wizard_ML.zip

I've ALC270 too, but headphone not work with Original layout ID 3,4,27,28..
But I tried to create my own AppleALC with lilu, and I my system restart, when go to SysPref>Audio>Input, and then I try to used your Platform.xml.zlib and LayoutID.xml.zlib, Input and Output worked perfect, include with Headphone.
Now I tried to create my own too for Platform and LayoutID. 💃
Thanks for your work.

:)congratulations

Closed until you provide resources with layout-id not present in AppleALC for your codec. You have to test chosen layout-id before. It should looks like this request.


Solve messaging

A few different possibilities here:

Link to other apps
Embed other apps (e.g. blowater)
Prioritize the feature

It's not a huge feature, but it is a drag, and not really the main focus of Coracle.

Yep, see #122 for some of that, this issue is more about the cost of maintaining these features. Adding chat/dms to a popup like fb/twitter could be a good pattern though that would demand less and work better.

Closing this, having removed nip 28 public chat as a non-goal. However, I think DMs are worth keeping.

Yes, DM is baseline appreciated by all users. While Public chat is sort of a minority niche use case. Good call.


fix-#387: Feature, logo added beside wanderlust heading in navbar

Summary
Added logo beside wanderlust title along with anchor tag
Description
Thier was no logo with the title in navbar. I have taken logo which I saw as favicon from index.html which is shown as website tab bar icon. Even as additional added anchor tag to logo to redirect directly to home page.
Images

Issue(s) Addressed
Closes #387
Prerequisites

[X] Have you followed all the CONTRIBUTING GUIDELINES?

Please do check it and if any changes then tell me .
Thank you

I have added icon in public folder then it will be seen on deployment as next access image faster in public folder


fail to run headscale serve

Bug description

After following the brief installation guide step by step, I came to systemctl status headscale
Unfortunately, it fails. I retried and checked my conf, but it still exist:

I tried headscale serve as root, but it shows:
2023-09-30T11:37:41+08:00 INF ../home/runner/work/headscale/headscale/hscontrol/derp_server.go:92 > DERP region: {RegionID:999 RegionCode:headscale RegionName:Headscale Embedded DERP Avoid:false Nodes:[0xc00008b0e0]}
2023-09-30T11:37:42+08:00 INF STUN server started at [::]:3479
2023-09-30T11:37:42+08:00 INF Setting up a DERPMap update worker frequency=86400000
2023-09-30T11:37:42+08:00 FTL ../home/runner/work/headscale/headscale/cmd/headscale/cli/server.go:26 > Error starting server error="failed to set up gRPC socket: listen unix /var/run/headscale/headscale.sock: bind: no such file or directory"

I hope you can help me with it. Thanks!
Environment

OS: Debian GNU/Linux 11 (bullseye)
Headscale version: 0.23.0-alpha1
Tailscale version:

To Reproduce

follow the guide at: https://headscale.net/running-headscale-linux/#installation

I just encountered the exact same failure as you on ubuntu20.04 with v0.22.3, and I tried mkdir -p /var/run/headscale && touch /var/run/headscale/headscale.sock as root which didn't help since the /var/run/headscale directory disappeared immediately.

I just encountered the exact same failure as you on ubuntu20.04 with v0.22.3, and I tried mkdir -p /var/run/headscale && touch /var/run/headscale/headscale.sock as root which didn't help since the /var/run/headscale directory disappeared immediately.

Yes! I also tried this and the folder disappeared immediately. I thought it was my own fault before.

The docker version outputs this:
2023-09-30T07:57:25Z INF No private key file at path, creating... path=/var/lib/headscale/private.key
2023-09-30T07:57:25Z FTL go/src/headscale/cmd/headscale/cli/server.go:21 > Error initializing error="failed to read or create private key: failed to save private key to disk: open /var/lib/headscale/private.key: no such file or directory"

I've solved the problem on my machine by deleting all related stuff first:
# apt remove headscale

# rm -rf /etc/headscale && rm-rf /var/lib/headscale

# usermod -g root headscale && groupdel headscale && userdel headscale

Then redo the installation and get config.yaml set (I kept unix_socket unchanged from the example config), and the service starts up successfully with no error after reboot either.
I don't know why this worked for me. It just did.

Oops!
It doesn't work for me.
在 2023-09-30 17:26:36，"桜戸りん" @.***> 写道：
I've solved the problem on my machine by deleting all related stuff first:
apt remove headscale# rm -rf /etc/headscale && rm-rf /var/lib/headscale# usermod -g root headscale && groupdel headscale && userdel headscale
Then redo the installation and get config.yaml set (I kept unix_socket unchanged from the example config), and the service starts up successfully with no error after reboot either.
I don't know why this worked for me. It just did.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

I encountered the same issue on the same version of the OS, and it was resolved simply by cleaning up the directories and reinstalling. This issue might be related to #1417.
Looking at the postinstall.sh script, I couldn't find anything suspicious. Permissions appear to be set correctly, but I should note that I'm not experienced with Debian packaging.
Could you please share the output from the system journal using this command: journalctl -u headscale?

The docker version outputs this:
2023-09-30T07:57:25Z INF No private key file at path, creating... path=/var/lib/headscale/private.key 2023-09-30T07:57:25Z FTL go/src/headscale/cmd/headscale/cli/server.go:21 > Error initializing error="failed to read or create private key: failed to save private key to disk: open /var/lib/headscale/private.key: no such file or directory"

Please use discord for support requests.

I was able to work around this by appending the mkdir command before starting headscale as such sudo mkdir /var/run/headscale && sudo headscale serve

Not the prettiest solution when using Docker/Podman, but you could just add a volume mount to /var/run/headscale.
In  my case I created a folder in /home/podman/run/headscale (my podman running user is podman):
mkdir -p ~/run/headscale

Example compose.yml:
version: '3.9'
networks:
  headscale:
    external: true

services:
  headscale:
    image: headscale/headscale:latest-alpine
    pull_policy: always
    container_name: headscale
    hostname: headscale.MYDOMAIN.TLD
    domainname: MYDOMAIN.TLD
    restart: unless-stopped
    command: headscale serve
    volumes:
      - ~/config/headscale:/etc/headscale
      - ~/data/headscale:/var/lib/headscale
      - ~/run/headscale:/var/run/headscale
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.headscale-rtr.rule=PathPrefix(`/`) && Host(`headscale.MYDOMAIN.TLD`)"

      - "traefik.http.services.headscale-svc.loadbalancer.server.port=8080"
    depends_on:
      - traefik

Also having this issue when running through docker. I plan to run behind a reverse proxy called caddy.
headscale fails to run with the error:
 Error starting server error="failed to set up gRPC socket: listen unix /var/run/headscale/headscale.sock: bind: no such file or directory"
I tried pruning the container and removing the config but still have this issue. @luckylinux what exactly did you put in /run/headscale? I dont have anything set for /var/run/headscale in my docker-compose.

@W1BTR: it was ~/run/headscale AKA /home/<myuser>/run/headscale. Pretty sure you don't have to put anything, just create the folder and mount, so that Headscale can create Files (which apparently did NOT work unless I did that - weird).
Anyway since I got the "Headscale is no supported yada yada" Talk when discussing Issues with the Tailscale Client (especially related to DNS Issues), I was trying to move on to netbird instead but faced several Issues related to SSO (both Keycloak and Authentik). So right now I'm stuck with nothing working to be honest ...


[models] Fix SortFilterModel

Fixes error libnemomodels.so: undefined symbol: _ZTI15SortFilterModel

Change itself looks good, but the commit message "Fix SortFilterModel" is quite vague. Even something like "Fix exporting SortFilterModel" would be much better.

Or let's just have this now to fix the loading error.

Change itself looks good, but the commit message "Fix SortFilterModel" is quite vague. Even something like "Fix exporting SortFilterModel" would be much better.

I agree with you, sorry, didn't fix


ContextMenu.ItemsSource binding acts as OneTime even if specified otherwise

Describe the bug
I have bound a ContextMenu.ItemsSource property to a list in my viewmodel, but the getter is only called once, even if I specify a different binding mode such as OneWay or TwoWay, the bindind still acts as OneTime
To Reproduce
MainWindow.axaml:
<Button>
  <Button.ContextMenu>
    <ContextMenu ItemsSource="{Binding Items, Mode=TwoWay}">
      <ContextMenu.Styles>
        <Style Selector="MenuItem">
          <Setter Property="Header" Value="{Binding .}"/>
        </Style>
      </ContextMenu.Styles>
  </Button.ContextMenu>
</Button>

MainViewModel.cs:
public ObservableCollection<string> Items
{
  get
  { // <---- Placing breakpoint here
    return new ObservableCollection<string>(new List<string> { "Item1", "Item2", "Item3" });
  }
}

Expected behavior
I would expect the getter for Items to be called every time the context menu is opened, but it is not
Avalonia version
11.1.0
OS
Windows
Additional context
No response

Found related problem: it seems the properties like IsVisible or IsEnabled also has only one-time binding for ContextMenu/MenuItem which is odd.
Temporarily I solved that by switching from ContextMenu to MenuFlyout, binding there works correctly. But still, there is a problem with ContextMenu.


Godot 4.3 Web Export: CPU and GPUParticles2D do not render with default shader

Tested versions

Reproducible from 4.3.dev6 to 4.3.stable (tested with the Godot web editor)

System information
Godot v4.3.stable - Web - GLES3 (Compatibility) - WebKit WebGL -  (2 Threads)
Issue description
In the specified Godot 4.3 versions, CPUParticles2D and GPUParticles2D nodes' particles do not render at all on web export, unless given a shader that overrides their COLOR. For example, this would suffice to fix it:
shader_type canvas_item;

void fragment() {
	COLOR = texture(TEXTURE, UV);
}

Steps to reproduce

Create a new project
Add CPUParticles2D node
Export to web
They should not render

If you use the web editor, you can even skip step 3. as the particles won't show up in the editor's viewport anyway.
Minimal reproduction project (MRP)
N/A

On a further note, it seems like the shader I specified above is not a full workaround: the particles appear without coloring, even on desktop.
On PC, a variation of this shader can fix the lack of coloring, by obtaining the color information in the vertex shader:
shader_type canvas_item;

varying vec4 MODULATE;

void vertex() {
	MODULATE = COLOR;
}

void fragment() {
	COLOR = texture(TEXTURE, UV) * MODULATE;
}

However, this causes the particles to become invisible on web again, so I tried a variation of this shader that only copies the color information's RGB channels:
// snip

void fragment() {
	vec4 textureColor = texture(TEXTURE, UV);
	COLOR.rgb = textureColor.rgb * MODULATE.rgb;
	COLOR.a = textureColor.a;
}

This version renders on PC, though of course it lacks the alpha value from the particle color.
On web, they now also render, though their color information appears to be wrong: the green channel appears to be constantly zero (white particles show up magenta on web, and yellow particles show as red)
My theory is that not just the green channel, but also the alpha channel is also constantly zero, which would explain why the particles are invisible with the default shader.

Maybe related to https://github.com/godotengine/godot/issues/95797

Seems to be the same as #95797 indeed, consolidating there.


Make hipio compatible with ES 6.x

For bringing the hipio to ES6.x the few core dependencies had to be upgraded:

log-base-<IP_ADDRESS>
bloodhound-<IP_ADDRESS>
log-elasticsearch-<IP_ADDRESS>
aeson-<IP_ADDRESS>

This gave the possibility to talk to latest 6.x version of Elasticsearch.
Since this the quite a jump in supporting backend DB - the version of the
service was bumped up to 0.3.0 as well.
The test suite passes as well:
hipio-0.3.0: test (suite: hipio-test)

Progress 12/13: hipio-0.3.0
Parse
  parseDomain
    parses "<IP_ADDRESS>.hip.io."
    parses "<IP_ADDRESS>.hip.io."
    parses "a.<IP_ADDRESS>.hip.io."
    parses "0.a.<IP_ADDRESS>.hip.io."
    parses "127.0.0.a.<IP_ADDRESS>.hip.io."
    parses "<IP_ADDRESS>.4.foo.com."
    parses "a.<IP_ADDRESS>.4.foo.com."
    parses "<IP_ADDRESS>.4.a."
    parses "2<IP_ADDRESS>.4.a."
    parses "2<IP_ADDRESS>.4.5.hip.io."
    parses any IP
    parses any domain and IP
    parses any domain and IP with any prefix

Finished in 30.2779 seconds
13 examples, 0 failures

hipio-0.3.0: Test suite hipio-test passed
Completed 13 action(s).

The manual testing was done with ES Version: 6.8.3 and it seemed to be working as expected. But confirmation from @tylerjl and @mindbat  would be great.
closes https://github.com/elastic/infra/issues/14410

@tylerjl thanks for the review! 😄
My further testing showed that while it will work with any 6.x release , it won't work with 7.x since the mapping of the types in the index mapping done differently and log-elasticsearch still uses old scheme.
We need either wait for this lib to get updated or do it on our own in the future (but I don't think it will be too difficult to patch the lib, of course some efforts and time will be needed 😂)

You've earned the ultimate


Items removal upon tapping does not work.

MultiSelectDialogField, some initial values are provided. In the MultiSelectChipDisplay's onTap method, the removal is wrapped with setstate (this does slow down the UI refreshment).
Upon clicking on initial items,  they are not removed, but the validator complains 'no items selected'.
But, if no initial values provided, it works perfectly.

// setting the _selectedAnimals3 to desired pre-selected values list in initState - recommended MultiSelectBottomSheetField(     onConfirm: (values) {         _selectedAnimals3 = values;     },     items: _items,     initialValue: _selectedAnimals3,     chipDisplay: MultiSelectChipDisplay(         onTap: (item) {             _selectedAnimals3.remove(item);             return _selectedAnimals3;         },     ), ),
Try this code

// setting the _selectedAnimals3 to desired pre-selected values list in initState - recommended
MultiSelectBottomSheetField(
    onConfirm: (values) {
        _selectedAnimals3 = values;
    },
    items: _items,
    initialValue: _selectedAnimals3,
    chipDisplay: MultiSelectChipDisplay(
        onTap: (item) {
            _selectedAnimals3.remove(item);
            return _selectedAnimals3;
        },
    ),
),

Try this code
add the return statement in onTap

Wow! It works, it seems the last 'return' did the job. Thanks bro! But how did you figure it out?

Check out this #11 issue, you will get to know how I figured out

@madhan-asmb Thanks :)
Going to drop a link to the first issue regarding this type of problem which provides more background.
Issue #5 Initial value not working as expected

Spent hours before getting here, maybe a better documentation could help.


Tzar: The Burden of the Crown

Hi. I noticed that this game is not listed:
https://github.com/elishacloud/dxwrapper/wiki/DirectDraw-to-Direct3D9-Conversion
and so I would like the developers to test dxwrapper on this game.
I run game in ddraw mode for test so:
in file Tzar.ini param DIRECTXDEVICE=0 and DIRECTDRAW_DEVICESNUMBER=3 (2 without wrapper)
in dxwrapper.ini i active Dd7to9 and EnableVSync (because it strategy and i don't want see image breaks when scroll).
After this manipulations i have the game slows down (especially on the menu, if press F10 in game).
Then i active next settings: EnableWindowMode FullscreenWindowMode AutoFrameSkip.
This helped with stuttering (small remained, when scroll). Perhaps the developers will say what can be done additionally for better compatibility and perfomance.
and game have some problem with sound - the sound is looping sometimes in big battles.
and one more question: game use one core of CPU on 100% (same problem have AOE2), maybe something can be done to fix it?
i am using GOG version 1.1.

AutoFrameSkip is still kind of an experimental feature.  There is probably a lot more that could be done to improve that feature.  The key problem is that the game is sending more frame updates than the refresh cycle of the monitor.  But when you enable v-sync it will cause the game to wait for the refresh to complete.  This causes the game to run very sluggishly.  I can see the same in Diablo I during the main menu.

game have some problem with sound - the sound is looping sometimes in big battles.

Yeah, I don't really have much in this project to help with sound issues.  I mainly have focused on graphical items since those are the ones that normally break games.

and one more question: game use one core of CPU on 100% (same problem have AOE2), maybe something can be done to fix it?

This is more than likely an issue with the game's code.  Probably not much can be done here.  either GOG limited it to one CPU because it has issues with more than one CPU or the game was written mostly only using a single thread.  In either case it would require specific code changes in the game to fix it, most likely.

Thanks for the detailed answer. AutoFrameSkip really helps, without him much worse, despite v-sync.

I own a little over 800 games from GOG.  Purchased most of them on sale.  I use a lot of them to test dxwrapper.  This is a game I don't have.  I added it to my wish list.  It reminds me a bit of Age of Empires.

If you can ping me on PCGW, I'd like to have a word with you about expanding your collection.

elishacloud can you upload latest build?


:sparkles: Update service worker skipWaiting workflow

See #134
This SW workflow is much better to handle the "new content available" workflow
Thanks @NOtherDev for the suggestion :pray: I'd love to get your review !

Good job, I think I have understood a major part of your PR. There are some part that needs explanations. Great job for the test part.

As the Service Worker worflow change in this PR, the bento-starter demo (https://bento-starter.firebaseapp.com) new content available workflow will break if have the previous version on your device. To fix this, juste close the tab/kill app instance and reopen bento-starter demo, so the new service worker can take over.


prototype for in the corner tooltips

Closed because the code has been integrated!

woot woot! :D


After uploading packages, trigger appveyor and test on windows

https://github.com/pyviz/pyct/issues/7

To explain 'blocked': can't happen until we can make packages (see #237).
However, I'm doing this work in https://github.com/pyviz/pyviz/pulls/81; once that's merged, and once there are packages for earthsim, that same mechanism can be copied here.

@philippjfr Can I get an update on packaging?

Packaging is as easy as pushing a tag, I was waiting on merging the quest and xmsmesh updates before tagging a new release.

@philippjfr Great! Now sure how I missed that.


Add the ability to specify HTML for a navigation item

@adamsilver Thanks for raising this.
Before this can be merged, we'll need to:

add html to the params list in /src/govuk/components/header/header.yaml:
https://github.com/alphagov/govuk-frontend/blob/9a77beeac392fa5bc63cf409bef971b935d2dc7c/src/govuk/components/header/header.yaml#L22-L30

add a test for this behaviour to /src/govuk/components/header/template.test.js

document this as an unreleased new feature in /CHANGELOG.md

Are those things that you're comfortable doing?


Deployment is not working when there are multiple containers in a container app

Description
When updating a container app with multiple containers you have to specify which container you want to update via --container-name. This settings is not available in the task for azure container apps.
Expected Behavior
Azure pipelines via azure container apps task are working for apps with multiple containers
Actual Behavior
The task stops with the following error message:
/usr/bin/az containerapp update -n *** -g *** -i ***/imagename:v1
ERROR: Usage error: --container-name is required when adding or updating a container
##[error]Error Code: [1]
##[error]Error: Unable to update Azure Container App via 'az containerapp update' command.

Steps to Reproduce the Problem

Create container app env and container app
Deploy second container via: az containerapp update -n mytest -g myrg -i nginx
Update the container via azure container apps task

@Wompipomp Hey Mark, apologies for the delayed response -- I was able to reproduce this exception with the steps that you've provided, so thanks for that information!
Currently, the yamlConfigPath argument allows you to provide the YAML configuration file that will be used to deploy your Container App, and within this YAML file, there is a properties.template.containers  field that can be specified to target the names of the containers that you're deploying with and the images used by each one. This YAML file also includes all other fields that you may want to set to have a level of control over the individual aspects of the Container App.
Is this YAML configuration file a sufficient solution for you, or were you looking for something that could be set as an argument of the task? Thanks in advance!

Hi @cormacpayne,
thank you very much for your answer and sorry for the late response :see_no_evil:
Ah, interesting thank you very much for the information. For me this would work with the yaml as workaround. :pray:
As a feature request for the future maybe it would be nice to also have the possibility to have an argument in the container apps task so you can pass the container name directly.
Thank you very much,
Best regards
Mark


Bower install

What's name to install by bower?
$ bower install paver --save
bower                        ENOTFOUND Package paver not found

Thanks for highlighting that! I forgot to submit Paver to bower in the haste of publishing. It is now available via both NPM (as a scoped package, @terrymun/paver) on on bower (bower):
# Install using npm
$ npm install @terrymun/paver

# Install using bower
$ bower install paver


Docs: Enhance "Error Catalog" by adding eager consumption builder-runtime error

Clear and concise description of the problem
When using a remote as shared-library it can happen that unwanted circular dependencies between the shared dependencies of the shared-library and other consumers or the host application appear. If the environment is using the Module Federation config shared: {   "package-name": { eager: true } }
your rspack / webpack builder-runtime will break with a hard to understand error.
To help other MF users encountering this error, this has to be added to the specific Error Catalog docs page
Suggested solution
Add documentation to resolve this error:
Solution: Removing eager consumption from all remotes and hosts in the environment
Alternative
No response
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Do you want to send a PR to the FAQ area as well?
I can help flesh out the details in the pr

Also i wonder if i should add error codes in the future, like how react does it - so the error throws a code and link to the page where you can read more about it
@2heal1 @zhoushaw what do you think?

Specific error codes would surely help structure the docs a lot better!

changes backmerged


Allow for environment name in uppercase

At the moment environment names are always converted to lowercase even if I set them as STG or 'STG'.
Could you please allow for uppercase names?
This way it will be easier to comply with company's naming convention.

@plamen-ivanov-avios Thanks for making this issue. So far we have been able to avoid the extra complexity that goes along with support case-sensitive environment names/symbols in environment names since this hasn't been requested. So I don't see us supporting this in the near term. If more users have a need for this feature though that will help increase the prioritization of it.

Going to close this issue since we don't plan on addressing anytime soon. Others can upvote or provide your own additional context for it if you would also benefit from this.


Consider upstreaming to rules_go

I started a discussion in https://github.com/bazelbuild/rules_go/issues/3036 to get this library upstreamed as @io_bazel_rules_go//go/runfiles. According to https://github.com/bazelbuild/rules_go/issues/3036#issuecomment-997966804, this would require more definite upstream documentation on what a runfiles library should do. It probably makes sense to wait for https://github.com/bazelbuild/bazel/issues/14336 and https://github.com/bazelbuild/bazel/issues/14500 to be resolved first though.

Related: the discussion starting at https://github.com/bazelbuild/rules_go/issues/2422#issuecomment-612985043

more definite upstream documentation on what a runfiles library should do

I think that makes sense. Maybe file another bug against Bazel to track adding the documentation?

I can take care of that after the open issues have been resolved, which will make it easier to arrive at a definite version of that documentation.
(Not completely related, but do you perhaps happen to know someone I could @ to take a look at https://github.com/bazelbuild/bazel/issues/14336?)

This has happened: https://pkg.go.dev/github.com/bazelbuild/rules_go/go/runfiles


Facebook login failure can trick uProxy into thinking you successfully logged in

Sign into FB
Disconnect from WiFi
Reconnected via tethering on phone
Sign in on uProxy into FB

Observed these uncaught errors appeared in the console...

Found myself appearing as logged in, but I wasn't really (friends all shown as offline)
What's trickier: you then can't logout of the network.

These errors been fixed.


Stuck at "Computing IO-equations"

Hi,
I am new to both structural identifiability analysis and Julia. So I hope the answer to my question is not completely obvious. I am able to obtain the local SI results but when commuting the global ones, the output in the terminal always stalls at "Computing IO-equations". I have left it running on an HPC over night.
Here's the code:
#import Pkg;
#using Pkg
#Pkg.add("StructuralIdentifiability")
#Pkg.add("OrdinaryDiffEq")

using StructuralIdentifiability, OrdinaryDiffEq

odeMyModel = @ODEmodel(
	Complex'(t) = 1/C*(((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) - (ke_Complex*Complex(t)*C) - ((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C)),
	Complex_2'(t) = 1/C*(((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C) - (ke_Complex_2*Complex_2(t)*C)),
        Drug'(t) = 1/C*(-(ke_Drug*Drug(t)*C) - ((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) + (45/100*ka*Drug_SC(t))),
        free_receptor'(t) = 1/C*(-((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) + (66/2500*C) - (kdeg_free_receptor*free_receptor(t)*C) - ((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C)),
	Drug_SC'(t) = -(45/100*ka*Drug_SC(t)) - ((1-45/100)*ka*Drug_SC(t)) + u_SC(t),
        y1(t) = Drug(t),                                   # output free Drug
        y2(t) = free_receptor(t) + Complex(t) + 2*Complex_2(t)      # output total receptor
)

local_id_all = assess_local_identifiability(odeMyModel, 0.99)

assess_identifiability(odeMyModel,0.99)

The parameters, state variables, inputs and outputs seem to be correctly recognized:
[ Info: Summary of the model:
[ Info: State variables: Drug, free_receptor, Complex, Complex_2, Drug_SC
[ Info: Parameters: ke_Complex_2, kdeg_free_receptor, ka, kon, ke_Drug, ke_Complex, kon_2, koff, C
[ Info: Inputs: u_SC
[ Info: Outputs: y1, y2
[ Info: Assessing local identifiability
[ Info: Local identifiability assessed in 0.091845932 seconds
[ Info: Assessing global identifiability
[ Info: Computing IO-equations

But it doesn't move past there.
Also, I was looking to include initial conditions but have failed in the attempt in multiple ways. I think it might not be possible yet. If that is the case, can you recommend an alternative for SI - maybe even additionally allowing bounds for parameters?
Thanks a lot in advance for your help!

@LinneaFranssen , thanks for the example!
Global identifiability is a much more challenging computation, so it may be stuck. Your system does not look too hard, I will check what causes the problem.
For the initial conditions, this tool can only include them into the local identifiability analysis. I suggest you to try this webapp (the same algorithm has also implementations in maple and julia)

Just an update: it still happens with this code

odeMyModel = @ODEmodel(
    Complex'(t) = 1/C*(((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) - (ke_Complex*Complex(t)*C) - ((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C)),
    Complex_2'(t) = 1/C*(((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C) - (ke_Complex_2*Complex_2(t)*C)),
    Drug'(t) = 1/C*(-(ke_Drug*Drug(t)*C) - ((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) + (Fa*ka*Drug_SC(t))),
    free_receptor'(t) = 1/C*(-((2*kon*free_receptor(t)*Drug(t)-koff*Complex(t))*C) + (66/2500*C) - (kdeg_free_receptor*free_receptor(t)*C) - ((kon_2*free_receptor(t)*Complex(t)-2*koff*Complex_2(t))*C)) + u_free_receptor(t),
	Drug_SC'(t) = -(Fa*ka*Drug_SC(t)) - ((1-Fa)*ka*Drug_SC(t)) + u_drug_SC(t),
    y1(t) = Drug(t),                                   # output free Drug
    y2(t) = free_receptor(t) + Complex(t) + 2*Complex_2(t)      # output total receptor
)

 SI_output = assess_identifiability(odeMyModel,0.99)

and Julia crashes out silently without error messages - even from the REPL.

@LinneaFranssen
Just two clarify, is the second system the same as the first one?

No, I slightly modified it since, e.g. the input. I'm interested in the
second one but both cause the same problem. Thanks!
On Thu, 15 Dec 2022, 10:31 pogudingleb, @.***> wrote:

@LinneaFranssen https://github.com/LinneaFranssen
Just two clarify, is the second system the same as the first one?
—
Reply to this email directly, view it on GitHub
https://github.com/SciML/StructuralIdentifiability.jl/issues/132#issuecomment-1352781970,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHADLVC2YTQVVYTZD3F7HJ3WNLQORANCNFSM6AAAAAAS3F5BJ4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Very interesting case! The model is in some way special, and I did not optimise the code for models of this sort thinking that this does not happen in practice. I have an idea how to speed up the computation, I will try it over the weekend.
I also did the computation a bit differently (by changing manually some things in the code) and I think that all the parameters in your original model are globally identifiable.

Sorry, taking longer to fix this. Hope to do this by the end of the year)

@LinneaFranssen
Sorry, this has not been fixed last year as hoped, but I did not forget and hope to get to this asap

@LinneaFranssen
It took a bit longer than I anticipated, but it works now! The version on GitHub (can be installed by Pkg.add("https://github.com/SciML/StructuralIdentifiability.jl"); it will be in the release 0.4.9) computes both models in a couple of minutes on my laptop. Let me know if you encounter any further issues.
The model turned out to be very interesting algorithmically, I wonder if it is published somewhere?

Same thing here. But for me I think it might be the dynamical system itself. I will let the system here in case of some insight.
asm1_ode = @ODEmodel(SI'(t) = Q(t) * (QIN_SI(t) - SI(t)) / V - QEC * SI(t) / V,        SS'(t) = Q(t) * (QIN_SS(t) - SS(t)) / V + QEC * (SEC - SS(t)) / V - μH * SS(t) / YH / (KS + SS(t)) * (SO(t) / (KOH + SO(t)) + νg * KOH * SNO(t) / (KOH + SO(t)) / (KNO + SNO(t))) * XBH(t) + kh * XS(t) / (KX * XBH(t) + XS(t)) * (SO(t) / (KOH + SO(t)) + νh * KOH * SNO(t) / (KOH + SO(t)) / (KNO + SNO(t))) * XBH(t),        XI'(t) = Q(t) / V * (QIN_XI(t) - XI(t)) - QEC * XI(t) / V,        XS'(t) = Q(t) / V * (QIN_XS(t) - XS(t)) - QEC * XS(t) / V - kh * XS(t) / (KX * XBH(t) + XS(t)) * (SO(t) / (KOH + SO(t)) + νh * KOH * SNO(t) / (KOH + SO(t)) / (KNO + SNO(t))) * XBH(t) + (1 - fP) * bH * XBH(t) + (1 - fP) * bA * XBA(t),        XBH'(t) = Q(t) * (QIN_XBH(t) - XBH(t)) / V - QEC * XBH(t) / V + μH * SS(t) / (KS + SS(t)) * (SO(t) / (KOH + SO(t)) + νg * KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t))) * XBH(t) - bH * XBH(t),        XBA'(t) = Q(t) * (QIN_XBA(t) - XBA(t)) / V - QEC * XBA(t) / V + μA * SNH(t) / (KNH + SNH(t)) * SO(t) / (KOA + SO(t)) * XBA(t) - bA * XBA(t),        XP'(t) = Q(t) * (QIN_XP(t) - XP(t)) / V - QEC * XP(t) / V + fP * (bH * XBH(t) + bA * XBA(t)),        SO'(t) = Q(t) * (QIN_SO(t) - SO(t)) / V - QEC * SO(t) / V + KLa4 * (Ssat - SO(t)) - (1 - YH) / YH * μH * SS(t) / (KS + SS(t)) * SO(t) / (KOH + SO(t)) * XBH(t) - (4.57 - YA) / YA * μA * SNH(t) / (KNH + SNH(t)) * SO(t) / (KOA + SO(t)) * XBA(t),        SNO'(t) = Q(t) * (QIN_SNO(t) - SNO(t)) / V - QEC * SNO(t) / V - QEC * SNO(t) / V - (1 - YH) / (2.86 * YH) * μH * SS(t) / (KS + SS(t)) * KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t)) * νg * XBH(t) + μA / YA * SNH(t) / (KNH + SNH(t)) * SO(t) / (KOA + SO(t)) * XBA(t),        SNH'(t) = Q(t) * (QIN_SNH(t) - SNH(t)) / V - QEC * SNH(t) / V - μH * SS(t) / (KS + SS(t)) * (SO(t) / (KOH + SO(t)) + νg * KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t))) * iXB * XBH(t) - μA * (iXB + 1 / YA) * SNH(t) / (KNH + SNH(t)) * SO(t) / (KOA + SO(t)) * XBA(t) + ka * SND(t) * XBH(t),        SND'(t) = Q(t) * (QIN_SND(t) - SND(t)) / V - QEC * SND(t) / V - ka * SND(t) * XBH(t) + kh * XND(t) * XBH(t) / (KX * XBH(t) + XS(t)) * (SO(t) / (KOH + SO(t)) + νh * KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t))),        XND'(t) = Q(t) * (QIN_XND(t) - XND(t)) / V - QEC * XND(t) / V - kh * XND(t) / (KX * XBH(t) + XS(t)) * (SO(t) / (KOH + SO(t)) + νh + KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t))) * XBH(t) + bH * (iXB - fP * iXP) * XBH(t) + bA * (iXB - fP * iXP) * XBA(t),        SALK'(t) = Q(t) * (QIN_SALK(t) - SALK(t)) / V - QEC * SALK(t) / V - iXB / 14 * μH * SS(t) / (KS + SS(t)) * SO(t) / (KOH + SO(t)) * XBH(t) + 1 / 14 * ka * SND(t) * XBH(t) + ((1 - YH) / (14 * 2.86 * YH) - iXB / 14) * μH * SS(t) / (KS + SS(t)) * KOH / (KOH + SO(t)) * SNO(t) / (KNO + SNO(t)) * νg * XBH(t) - (iXB / 14 + 1 / (7 * YA)) * μA * SNH(t) / (KNH + SNH(t)) * SO(t) / (KOA + SO(t)) * XBA(t),        y1(t) = SO(t),        y2(t) = SNO(t),        y3(t) = SNH(t),        y4(t) = SALK(t)        )

@filipepfarias
Indeed, in this case this could be more like the size of the model, but I think we may manage to do something with it still. Just to confirm: QIN_SND, QIN_SS, QIN_XS, QIN_SNO, QIN_SNH, QIN_XND, QIN_XBH, QIN_XBA, QIN_XP, Q, QIN_XI, QIN_SI, QIN_SALK, QIN_SO all are external inputs, am I reading this correctly?

@pogudingleb
That’s correct.


besselj1(x) is faster than besselj(1, x)

From the discussion https://github.com/JuliaMath/SpecialFunctions.jl/issues/178 and comment https://github.com/JuliaMath/SpecialFunctions.jl/issues/178#issuecomment-1128113294. There is a non-negligible cost from calling the specialized routines besselj1(x) from generic besselj(nu, x).
julia> @benchmark Bessels.besselj1(x) setup=(x=rand()+100.0)
BenchmarkTools.Trial: 10000 samples with 997 evaluations.
 Range (min … max):  20.436 ns … 86.552 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     20.855 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   20.943 ns ±  1.397 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▃█▇▃▁█▇▄ ▁▃   ▁▃                                            ▂
  ████████▇███▇████▆▇██▇▆▆█▆▅▆▃▁▄▁▁▁▃▁▁▃▁▄▁▁▁▁▁▃▃▄▄▁▄▃▃▃▄▄▄▃▄ █
  20.4 ns      Histogram: log(frequency) by time      25.2 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> @benchmark Bessels._besselj(1.0, x) setup=(x=rand()+100.0)
BenchmarkTools.Trial: 10000 samples with 996 evaluations.
 Range (min … max):  24.598 ns … 53.087 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     25.268 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   25.216 ns ±  1.259 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

   ▃█      ▃▆
  ▂██▃▂▂▁▁▃██▆▄▂▂▂▂▁▁▂▂▂▂▂▂▁▂▁▂▁▂▁▂▁▁▁▁▁▂▂▂▂▂▁▁▁▂▁▂▂▂▁▂▂▂▁▂▁▂ ▃
  24.6 ns         Histogram: frequency by time        28.9 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

I'm hoping this will get resolved as we complete #20 and generic implementation. But it will be good to check on this after those are merged.
Edit: This is only on besselj_y_large_arguments branch for now.

These function are now calling slightly different routines which preference a general besselj routine for arbitrary nu that will be differentiable with respect to nu. The besselj1 function is not differentiable wrt to nu.
Therefore, the recommendation is if you (know at compile time) you just need besselj for nu=0,1 then please use besselj0 and besselj1. If you know that nu will always be an integer please use besselj(1, x) instead of besselj(1.0, x) as the integer case is easier to handle.
In the future besselj(1.0, x) will use a fully generally routine so that is differentiable. This is just some of the tradeoffs for having these features.


clean rate request

Description
Clean rate request
Context
Rate request have id field that is never used
Testing

./gradlew test

Documentation
N/A (already not in the spec)
Known limitations
N/A

We need to make sure the id is not used before clean it up.

It was only used in integration test and nowhere else. The code wouldn't compile if there were any other usages


Is DiCoSe model suitable for singing voice separation?

Is DiCoSe model suitable for singing voice separation? such as BSRNN, Demucs.

It wasn’t specifically trained for singing voice separation, but we believe that with a sufficiently large dataset, it should work perfectly.

Looking forward your next work about singing voice separation using DiCoSe!


Update tests to use correct exit code

This fixes 4 of the 5 failing tests....
the 5th one is acting weird. Something is capturing the warning in such a way that I neither the with pytest.warns... nor the recwarn fixture are getting access to the warning, despite the fact that the warning is being emitted.
============================================================================ test session starts ============================================================================
platform linux2 -- Python 2.7.15, pytest-3.8.0, py-1.6.0, pluggy-0.7.1
ansible: 2.6.4
rootdir: /tmp/pytest-of-elijah/pytest-62/test_with_private_issue_link0, inifile:
plugins: ordering-0.5, mp-0.0.4, cov-2.6.0, ansible-2.0.1, pylama-7.4.3, github-0.0.10
collecting 1 item                                                                                collected 0 github issues
collected 1 item
There should be 1 tests run.

test_with_private_issue_link.py .                                                                                [100%]

============================================================================= warnings summary ==============================================================================
/home/elijah/sfw/ansible/pytest-github/pytest_github/plugin.py:316: UserWarning: Unable to inspect github issue https://github.com/github/github/issues/1 - No valid github session found to access private issue.
  warnings.warn(errstr, UserWarning)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
=================================================================== 1 passed, 1 warnings in 0.01 seconds ====================================================================
FAILED

Ok, got this working now. Decided to run the tests inside the test looking for the warning a bit differently using https://docs.pytest.org/en/latest/writing_plugins.html#testing-plugins as a guide.

Thanks for these fixes, merging!


Lab 13 Task 4 Steps 4-8

Lab/Demo: 13
Task: 4
Step: 4-8
The steps no longer match what is in Azure. You now have to go to Agents Configuration on the left menu of your workspace and select the appropriate data option.

updated
rgds
Marcin


[HOLD for payment 2024-11-11] [Workspace Feeds] Default feedname should be %bank% cards

https://expensify.slack.com/archives/C06ML6X0W9L/p1729884555181589
Mock

App

Issue OwnerCurrent Issue Owner: @bfitzexpensify

$125 for checklist and help for @allgandalf on the second pr

Offer sent @allgandalf

Thanks! Let's close this out.


Unusual increase in active connections

Question
Hello, this query is related to #147, stating the same we observed a sudden increase in active database connections to around 252 and these connections remain as it is until we restart the container running the cloud_sql_proxy. After restarting the proxy container it runs with normal number of active connections (maximum that we have had around 12). We have been observing this behaviour quite recently which could have been occurring earlier too.
We are using a ubuntu image with cloud_sql_proxy installed. Which is then accessed by the application container to connect to the cloud SQL database (Postgres). Application uses django framework and all queries run through ORM.
Here's a snapshot of the same:

./cloud_sql_proxy -version: 1.18.0

We observed this behaviour that it always goes to some number near about 250 active connections, drops to around 240 and remains in that range. And on restart we run with max a range of 8 active connections for a period until this happens.
The high number of active connections does not affect the application but it is not the normal number of connections to have probably. What can we do to improve this issue? Will using a newer version of the proxy help? Or will using the pre-built docker images for cloud sql proxy helpful for this? Any input will be helpful.
Thanks!

What application is connecting to the proxy? If we can reproduce on our own
it's much more likely to get solved, so if you can provide a minimal
reproducer that we can run on our own it would be very helpful to track
down the issue.
The proxy client should detect when the application closes it's
connection and then should close the connection to the remote database, but
I would be a bad engineer to assume that a bug is impossible :)

Hi Kevin, seems we found out the issue. Basically it's Django, concurrency and mod_wsgi. It seems that they really don't play well together. It's something specific to the ORM and we were doing a blunder trying to make queries concurrently. A big lesson learnt.
Going down the container logs, observing the connection pattern and issuing a similar concurrent script helped reproduce the issue, concluding that concurrency was the culprit here.
Apologies for the inconvenience. Thanks for taking out time to look out for this. Closing the issue here.


Selective Control Resets

While there's a feature to reset all customization options, the user may want to only select one group of them. For example, they may want to reset the item rarity colors but not item quality colors.
Suggested by: Whisker in the Discord Group.

Implemented in f1259158065ddd033940f554d7b3857feb560539 and 42963485a2fffc35befea06fe9e302aa72f39fa8.


support exclude default-filters by route specific

Example:
spring:
  cloud:
    gateway:
      default-filters:
      - StripPrefix=1
      routes:
      - id: example-service
        uri: lb://example-service
        predicates:
        - Path=/example-service/**

some routes do not require a default filter...
can add the excludeDefaultFilters attribute to support it, such as:
spring:
  cloud:
    gateway:
      default-filters:
      - StripPrefix=1
      routes:
      - id: example-service
        uri: lb://example-service
        predicates:
        - Path=/example-service/**
        exclude-default-filters: StripPrefix

I don't like RouteDefinition knowing about default filters. I'd prefer something in metadata like other things, but let's see if others want this.


[Refactor, Backend] Introduce BackendCls buffer for backend_factory

At the moment, all backends are loaded with every "backend_factory" call without caching the loaded classes.

Closing because not relevant anymore.


Linted CSS

I went through the sample CSS for the “Getting Started” pages,
reordered rulesets properties to an alpha order, removed properties not
needed (based on last 2 versions of major browsers and IE8+) and
removed unnecessary property values (e.g., em units on line-height).

@AllThingsSmitty  Thank you for contributing to Brackets. You will need to Accept the Brackets CLA before we can merge this pull request.
For discussions with the brackets community, please join the brackets slack channel by sending a mail to<EMAIL_ADDRESS>with the subject line slack registration request specifying the email addresses you would like to register.
brackets dev google groups link here .

Just signed the Brackets CLA. Thanks.

Closing this PR, submitted a cleaner PR with changes: https://github.com/adobe/brackets/pull/12250.


Updated glance bootstrap values to use cirros image 0.4.0 with public visibility.

This change updates the Cirros test image from 0.3.5 to 0.4.0, which brings it up to date with what's used in Cloud 9. It also sets the visibility to "public", which is required for some of the tempest tests to pass.

Does the rally config need an update too? E.g. https://github.com/openstack/openstack-helm/blob/master/glance/values.yaml#L134

Also, could you point out which tempest tests need public visibility?

Does the rally config need an update too? E.g. https://github.com/openstack/openstack-helm/blob/master/glance/values.yaml#L134

Ah, good catch. I'll update it here as well.

Also, could you point out which tempest tests need public visibility?

I don't know the specific tests that QE encountered that were failing, but the issue became apparent after removing the key 'tempest_roles: admin, member' from tempest.conf, since that key defeats the purpose of tests that test the policy definition.


feat: support action-semantic-pull-request

At first, add a new workflow in https://github.com/WillBooster/reusable-workflows
c.f. https://github.com/amannn/action-semantic-pull-request

already done


Chunked recording?

We're on RN=0.42 and this component is working great for us!
We'd like to explore a more real-time use case, which would require chunks (say 5-20mb) of video to be captured, raising a new event (or firing a callback) with each new chunk, while the camera continues to record.
Any ideas/plans for this? Or anybody have any pointers for what would be involved, in case we try to do it ourselves?

+1

Any ideas how to implement this?

We can implement this using events
let's discuss this in react-native-community slack https://join.slack.com/t/rn-community/shared_invite/enQtMzY0MDgxODcwOTYyLWEwNWY3Njc0Mzg1MzllYWVhNTU4NTY5MGY5NjQ2ZWM1MGFkY2QzMTljYWY2NzE0NTU4MmM3NTBkY2ZiZmIzMWY
#react-native-camera channel

you gonna need a new event here
https://github.com/react-native-community/react-native-camera/blob/master/android/src/main/java/org/reactnative/camera/CameraViewManager.java#L16
on android side
and emit some events like this
https://github.com/react-native-community/react-native-camera/blob/master/android/src/main/java/org/reactnative/camera/RNCameraViewHelper.java#L180


Add Pipelines product 'Service Quotas' page

In this PR we introduce a Service Quotas page for limits within the Pipelines product.

Hey @dabarrell and @mitchbne ,
Sorry it's taken me a while to revisit this PR, now that we have the new Platform area for the docs, I'm wondering if we could publish this work somewhere in here instead?

Preview URL: https://c04f7a71f19f7ec313e853cf5621cba4bb65850a--bk-docs-preview.netlify.app


Guidance on Manual Commit error with group consumer

I'm a bit confused by the Manual Commit example. Even though the example includes a groupID, I cannot figure out how to set it upon manual commit.
        \\ initial options
	var opts []kgo.Opt
        opts = append(opts, kgo.DisableAutoCommit())
	opts = append(opts, kgo.DialTLSConfig(&tls.Config{InsecureSkipVerify: true}))
	opts = append(opts, kgo.FetchMaxWait(1000 * 60 * 20*time.Millisecond)) // 20 minutes
	opts = append(opts, kgo.RequestTimeoutOverhead(time.Duration(inputs.RequestTimeoutMs) *time.Millisecond))
	opts = append(opts, kgo.RequiredAcks(kgo.AllISRAcks()))
	opts = append(opts, kgo.ProducerBatchCompression(kgo.Lz4Compression()))
	opts = append(opts, kgo.RecordRetries(5))

	initialOpts := opts
	initialOpts = append(initialOpts, kgo.ConsumeTopics(topic))
	initialOpts = append(initialOpts, kgo.ConsumerGroup(groupID))

        cl, err := kgo.NewClient(initialOpts...)
	if err != nil {
		return nil, errors.Wrap(err, "Could not create Kafka client")
	}
	adm := kadm.NewClient(cl)

	//Necessary for manual commits? I hadn't added this originally
	os, err := adm.FetchOffsetsForTopics(ctx, groupID, topic)
	if err != nil {
		return nil, errors.Wrapf(err, "Could not fetch offsets for groupID %s and topic %s", groupID, topic)
	}
	opts = append(opts, kgo.ConsumePartitions(os.KOffsets()))
	cl, err = kgo.NewClient(opts...)
	if err != nil {
		return nil, errors.Wrap(err, "Could not create Kafka client with offsets")
	}

This raises an error invalid autocommit options specified when a group was not specified at the very last error check.  My goal is to call adm.CommitAllOffsets(ctx, GroupID, kadm.OffsetsFromFetches(fetches)) after a fetches := cl.PollRecords(ctx, batchSize) call.

You can't do external admin committing while a group is active,
but in your example you're also not committing with a group.
You don't need kgo.ConsumerGroup in the kadm call. kgo.ConsumerGroup is used for fetching.
Do you mean for the client to join the group, or not?
If you want to do manual committing from a client that is actively in a group, you have to use kgo APIs. Notably, any of these:
func (cl *Client) CommitOffsets(ctx context.Context, uncommitted map[string]map[int32]EpochOffset, ...)
func (cl *Client) CommitOffsetsSync(ctx context.Context, uncommitted map[string]map[int32]EpochOffset, ...)
func (cl *Client) CommitRecords(ctx context.Context, rs ...*Record) error
func (cl *Client) CommitUncommittedOffsets(ctx context.Context) error
Which, given your goal, I would recommend CommitUncommittedOffsets.
The admin client is meant for usages outside the context of a standard producer/consumer -- it's meant for admin stuffs. You can't commit to an active group; commiting via an admin client is meant to adjust offsets for a stopped group.


Admin opt out of emails in projects

It would be helpful if project admins were given an option to opt out of email notifications of individual projects they’re an admin of.
This is so that admins can stay opted into email notifications for some projects, but not for others.
Sometimes an admin doesn’t need to receive email notifications of a project they’re an admin of. It can cause unnecessary clutter of the email inbox. And admins can still meaningfully fulfill their share of co-administering a project without opting in to receive emails at all times.
One solution I thought of is filtering the email inbox to leave out certain project emails but that’s pretty complicated for a lot of people to do.

Hello! You can do this here: https://docs.opencollective.com/help/product/notifications Please let us know if you have any further questions :)

Based on what I read in https://docs.opencollective.com/help/product/notifications the feature I'm asking for does not exist. Perhaps I read it wrong.
I went to the collective's settings at https://opencollective.com/dashboard/var/notifications/collectives , and I don't c the feature I'm writing about, even when I look into the "advanced settings".

I don't see such notification settings in https://opencollective.com/dashboard/tenants-united-south-chicago/advanced either.

When I look at an email notification from an expense I only c the option to opt out of expense settings for the collective, not the individual project.

And i don't see such options in any project's settings ("dashboard"), eg, https://opencollective.com/dashboard/280-rf-2o/

That's right; we currently don't support opting out of emails at the projects/events (children) level. Our data model should be mostly ready to handle this, but figuring out the proper UI will be more challenging.

It would be really good for the opt out option to be available in the email itself if ever y’all were able to figure it out.


WebRTC: Set Audio Options like stereo=1 in WHEP player

Note: Please read FAQ before file an issue, see #2716

Description
There are no options for setting webrtc audio parameters. By default the sound is very bad, caused by echo cancelling and other webrtc opus based default settings. It is quite important for WHIP ingest or webrtc broadcast that a pure audio mode can be activated (Stereo, no further audio processing).

SRS Version: all

SRS Log:

n.a.

SRS Config:

n.a.
Replay
Ingest any audio/video codec doesn't matter what bitrate. Sound will always be bad in playback.
Expect
Add some options in WHEP/RTC player. For example: &stereo=1
Like it's done in vdo.ninja
https://docs.vdo.ninja/advanced-settings/audio-parameters
This is how it looks like on WHIP/WHEP side:
on WHIP side:
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 cbr=1;maxaveragebitrate=131072;minptime=10;sprop-stereo=1;stereo=1;useinbandfec=1
on WHEP side:
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
No chance to set the custom parameters stereo=1 or sprop-stereo=1 on client side.

This issue is reasonable, and anyone is welcome to patch it.


Add button to remove shake_and_flash

add shake_and_flash property in Global.
Add checks to all particles and knock back effects and camera shake.
(good for epilepsy and slow computers)

Duplicate of #152?


[BUGFIX] yticklabels in plots.waterfall()

This allows for cases where the type of features[order[i]] is incompatible with string addition, e.g. boolean type.

Duplicated by https://github.com/slundberg/shap/pull/2943


[ISSUE] setting charge limit can cause an automation to hang for 5 minutes

Home Assistant Version
2012.12.2
MG/SAIC Integration Version
0.8.1
Installation Method
Manual
Did you check for existing issues?

[X] Yes, I have checked for existing issues
[ ] No, I have not checked for existing issues

Did you enable debug logging before and are ready to post logs?

[X] Yes, I have enabled debug logging
[ ] No, I have not enabled debug logging

Describe the Issue
When trying to use an automation to enable charging AND set a charge limit, the step takes about 5 minutes to complete. I do not always see this delay; it might be more evident when there has been other recent SAIC-related activity.
I will attach logs after I open this issue. I'll include a small extract now, showing how partway through an automation nothing continues, as it's waiting for 5 minutes before receiving a reply to the previous communication, without forcing a resync sooner.
Logs
Dec 30 21:49:55 orangepi3-lts hass[1066784]: 2024-12-30 21:49:55.245 DEBUG (MainThread) [custom_components.mg_saic] Vehicle Charging Data: ChrgMgmtDataResp(chrgMgmtData=ChrgMgmtData(bmsAdpPubChrgSttnDspCmd=0, bmsAltngChrgCrntDspCmd=4, bmsChrgCtrlDspCmd=1, bmsChrgOtptCrntReq=108, bmsChrgOtptCrntReqV=0, bmsChrgSpRsn=0, bmsChrgSts=1, bmsDsChrgSpRsn=0, bmsEstdElecRng=369, bmsOnBdChrgTrgtSOCDspCmd=5, bmsPackCrnt=19913, bmsPackCrntV=0, bmsPackSOCDsp=745, bmsPackVol=1633, bmsPTCHeatReqDspCmd=2, bmsPTCHeatResp=0, bmsPTCHeatSpRsn=None, bmsReserCtrlDspCmd=2, bmsReserSpHourDspCmd=6, bmsReserSpMintueDspCmd=0, bmsReserStHourDspCmd=22, bmsReserStMintueDspCmd=0, ccuEleccLckCtrlDspCmd=1, ccuOffBdChrgrPlugOn=0, ccuOnbdChrgrPlugOn=3, chrgngAddedElecRng=0, chrgngAddedElecRngV=0, chrgngDoorOpenCnd=0, chrgngDoorPosSts=1, chrgngRmnngTime=127, chrgngRmnngTimeV=0, chrgngSpdngTime=0, chrgngSpdngTimeV=0, clstrElecRngToEPT=338, disChrgngRmnngTime=1023, disChrgngRmnngTimeV=1, imcuChrgngEstdElecRng=366, imcuChrgngEstdElecRngV=0, imcuDschrgngEstdElecRng=221, imcuDschrgngEstdElecRngV=0, imcuVehElecRng=338, imcuVehElecRngV=0, onBdChrgrAltrCrntInptCrnt=45, onBdChrgrAltrCrntInptVol=116), rvsChargeStatus=RvsChargeStatus(chargingDuration=30, chargingElectricityPhase=None, chargingGunState=1, chargingPileID=None, chargingPileSupplier=None, chargingType=6, endTime=0, extendedData1=None, extendedData2=None, extendedData3=None, extendedData4=None, fotaLowestVoltage=None, fuelRangeElec=3380, lastChargeEndingPower=None, mileage=9750, mileageOfDay=40, mileageSinceLastCharge=0, powerUsageOfDay=9, powerUsageSinceLastCharge=0, realtimePower=540, startTime=1735555762, staticEnergyConsumption=None, totalBatteryCapacity=725, workingCurrent=19913, workingVoltage=1633))
Dec 30 21:49:55 orangepi3-lts hass[1066784]: 2024-12-30 21:49:55.246 DEBUG (MainThread) [custom_components.mg_saic] State updated: Is Powered On: False, Is Charging: True, Last Powered On Time: 2024-12-29 10:42:11.013495+00:00, Last Powered Off Time: 2024-12-29 10:42:11.013478+00:00, Last Vehicle Activity: 2024-12-30 10:42:31.993879+00:00, Update Interval: 0:05:00
Dec 30 21:49:55 orangepi3-lts hass[1066784]: 2024-12-30 21:49:55.246 DEBUG (MainThread) [custom_components.mg_saic] Finished fetching MG SAIC data update coordinator data in 6.815 seconds (success: True)
Dec 30 21:49:55 orangepi3-lts hass[1066784]: 2024-12-30 21:49:55.246 DEBUG (MainThread) [custom_components.mg_saic] Next update scheduled in 0:05:00.
Dec 30 21:49:55 orangepi3-lts hass[1066784]: 2024-12-30 21:49:55.251 DEBUG (MainThread) [custom_components.mg_saic] Sensor Interior Temperature has invalid temperature value -128
Dec 30 21:53:17 orangepi3-lts hass[1066784]: 2024-12-30 21:53:17.632 WARNING (MainThread) [homeassistant.components.automation.vac_ev_plug_on_when_excess_production] EV start charging when excess production : Already running
Dec 30 21:54:55 orangepi3-lts hass[1066784]: 2024-12-30 21:54:55.257 DEBUG (MainThread) [custom_components.mg_saic] Evaluating interval adjustment: Powered On: False, Charging: True, Idle Duration: 1 day, 0:12:44.244175, Activity Duration: 0:12:23.263774
Dec 30 21:54:55 orangepi3-lts hass[1066784]: 2024-12-30 21:54:55.258 DEBUG (MainThread) [custom_components.mg_saic] Vehicle is charging. Using charging update interval.
Dec 30 21:54:55 orangepi3-lts hass[1066784]: 2024-12-30 21:54:55.258 DEBUG (MainThread) [custom_components.mg_saic] Adjusted update interval: 0:10:00.
Dec 30 21:54:55 orangepi3-lts hass[1066784]: 2024-12-30 21:54:55.258 DEBUG (MainThread) [custom_components.mg_saic] Next update scheduled in 0:10:00.

Additional Context
The key part of the automation is this, I believe. The turn_on command is executed at December 30, 2024 at 9:49:07 PM but then the set_value is delayed until December 30, 2024 at 9:54:55 PM
sequence:
  - type: turn_on
    device_id: 78d6a3ec26654df82a072fe714baae37
    entity_id: b4fa1617ae1e25664b40c92cc07c7fa0
    domain: switch
  - action: input_number.set_value
    metadata: {}
    data:
      value: -500
    target:
      entity_id: input_number.ev_next_step_up
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - device_id: 78d6a3ec26654df82a072fe714baae37
    domain: select
    entity_id: a246613caa3d8b60b33a44655346d12e
    type: select_option
    option: 6A

I've attached a trace of the automation which experienced the 5 minute delay, along with the journal logs from this interval.
trace automation.vac_ev_plug_on_when_excess_production 2024-12-30T10_49_07.668659+00_00.json
start_charging-trace.log


Added --croppingminimum option to set a cropping minimum area ratio

Closes #342

I defined the command-line argument as a simple ratio (up to 1.0), but maybe a percentage (up to 100.0) would have been more intuitive?  Feedback welcome.

cropping power appears to have same scale so seems reasonable to me :+1:

It just struck me that there's no need to actually choose between the two: both could be supported at the same time, allowing for either 0.85 or 85 as an example.  (In the unlikely situation where you want a minimum of 1% or less, then you would be required to use a ratio as originally planned.)

@fbriere
thanks
merged in v5.6.1


Refresh resource state when scheduler start

Description

The Scheduler is now refreshing the resource state for inconsistent resources (resources in deploying state before a crash / reboot)

closes https://github.com/inmanta/inmanta-core/issues/8216
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[ ] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request


why sub then pub can't receive message?

the code below can't receive message, but change host to 'mqtt://test.mosquitto.org', it works.
var mqtt = require('mqtt')
var client  = mqtt.connect('mqtt://q.emqtt.com')  // mqtt://test.mosquitto.org is ok

client.on('connect', function () {
  client.subscribe('presence')
  client.publish('presence', 'Hello mqtt')
})

client.on('message', function (topic, message) {
  // message is Buffer
  console.log(message.toString())
  client.end()
})

or, change code like this, it works as well.
var mqtt = require('mqtt')
var client  = mqtt.connect('mqtt://q.emqtt.com')

client.on('connect', function () {
  client.subscribe('presence', null, function() {
    client.publish('presence', 'Hello mqtt')
  })
})

client.on('message', function (topic, message) {
  // message is Buffer
  console.log(message.toString())
  client.end()
})

it seems emqtt broker don't allow sub and pub at the same time, right?
is there an emqtt broker option to make the first code works? thanks!

The subscribe process is asynchronous by default.