Add WORD_LENGTH_32 constant

This commit adds a constant which is intended to be used for setting
the Word Length field in the gSPR register (address: 0x0000, bit: 0).
Currently, this field is being set by the following line:
        // 32bit, little endian.
        self.write32_swapped(REG_BUS_CTRL, 0x00010031).await;

Assuming that we are sending these bits using the gSPI write protocol
and using 16-bit word operation in little endian (which I think might
be the default) then the data bytes should be packed like this:
  +--+--+--+--+
  |D1|D0|D3|D2|
  +--+--+--+--+

val (hex):   0x00010031
val (bin):<PHONE_NUMBER>0000010000000000110001
rotated(16):<PHONE_NUMBER>1100010000000000000001

If we split val into bytes and rotated the bits we get:
Split into bytes:
   D3      D2        D1       D0
00000000 00000001 00000000 00110001

Rotate 16 and split into bytes:
   D1      D0        D3       D2
00000000 00110001 00000000 00000001

Looking at the write procotol it seems to me that the above will
indeed set the Word Length to 1 but will also set other values
(but they are all the default values for these fields so there is no
"harm" in doing this):
                                  Status enable (1=default)
   D1      D0        D3       D2  ↓
00000000 00110001 00000000 00000001
           ↑↑  ↑↑                 ↑
           ||  |Word Length (1=32-bit)
           ||  |
           ||  Endianess (0=Little)
           ||
           |High-speed mode (1=High speed (default))
           |
           Interrupt polarity (1=high (default))

This commit suggests adding the above mentioned constant for setting
the only the word length field.

IF you write 0x0000_0001 you're setting to 0 the other bits that were 1 before.
We're actually not using the "status enable", so it's fine to set that to 0. We're not using interrupts yet so the "interrupt polarity" doesn't matter. High-speed mode does matter though, I'm surprised the bitbanging doesn't break with this change...

IF you write 0x0000_0001 you're setting to 0 the other bits that were 1 before.

Sorry about that, I don't know what I was thinking now that you pointed that out :disappointed:

High-speed mode does matter though,

I'll add High-speed back to and see what you think.


app/cluster: Level Control transition time may longer than expected

Problem
Most of commands in Level Control cluster have a transition time settings.
Currently, the code in level-control.cpp implements this transition.
When command received by DUT, the command handler create a EmberAfLevelControlState object, and then add a timer on main loop to call emberAfLevelControlClusterServerTickCallback.
emberAfLevelControlClusterServerTickCallback increase or decrease current level by 1 per tick.
For example, if a Move command increase current level from 1 to 10, with increase rate 1. What the current code expected is:
Time        |  0s  |  1s  |  2s  |  3s  |  4s  |  5s  |  6s  |  7s  |  8s  |  9s  |
Timer Tick  *      *      *      *      *      *      *      *      *      *
Level       1      2      3      4      5      6      7      8      9     10

So at 9s, the current level is 10.
But in real world, the timer tick does not done as such precisely. It may have random delay before calling emberAfLevelControlClusterServerTickCallback
It may do this in actural world:
Time        |  0s  |  1s  |  2s  |  3s  |  4s  |  5s  |  6s  |  7s  |  8s  |  9s  |  10s  |
Timer Tick  *         *      *        *        *        *        *         *        *      *
Level       1         2      3        4        5        6        7         8        9     10

So at 9s, the current level is only 8 or 9.
If the target level is 254, it will be very likely that the Move command can not finished in expected time.
So some test case, such as TC-LVL-5.1 may fail.
Proposed Solution
emberAfLevelControlClusterServerTickCallback should calculate new current level with real elapse time.
For example:
Time        |  0s  |  1s  |  2s  |  3s  |  4s  |  5s  |  6s  |  7s  |  8s  |  9s  |
Timer Tick  *         *      *        *        *        *        *         *
Level       1         2      3        4        6        7        8        10
                                               ^                           ^

At the start of 5s, instead of just increase current level by 1, emberAfLevelControlClusterServerTickCallback calculate:
current level = start level + (current time - start time ) * change rate
Then, if current level has reached the target level, set current level to target level, and stop.

Same issue for OffWaitTime on On/Off Cluster.

Will this issue be closed during SVE2?
It affects time related test cases, such as TC-OO-2.3, TC-LVL-5.1.

@Kxuan for a lot of the test scripts , we have added a 15% tolerance to help in such cases . Do you think that would suffice ?

@raju-apple I am currently running in this issue during testing in SVE2. There was a test script issue thats is closed because the 15% tolerance is already added ..

@raju-apple Should the tolerance be defined by ourselves with PIXIT.OO.MaxCommunicationTurnaround instead of hard-coded 15%?


Package request: libimobiledevice support for Windows

According to upstream this is completely possible, though currently not available via nixpkgs.
Attempting to force a build with NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 with mingwW64 fails at the linking stage with:
error: builder for '/nix/store/7j4f0g5da66gnj3gcvwyn07ygrg1809q-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0.drv' failed with exit code 2;
       last 25 log lines:
       >   CC       glue.lo
       >   CC       socket.lo
       >   CC       thread.lo
       >   CC       utils.lo
       > utils.c: In function 'stpcpy':
       > utils.c:58:16: warning: 'nonnull' argument 's1' compared to NULL [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wnonnull-compare-Wnonnull-compare8;;]
       >    58 |         if (s1 == NULL || s2 == NULL)
       >       |                ^
       > utils.c:58:30: warning: 'nonnull' argument 's2' compared to NULL [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wnonnull-compare-Wnonnull-compare8;;]
       >    58 |         if (s1 == NULL || s2 == NULL)
       >       |                              ^
       >   CC       nskeyedarchive.lo
       >   CC       collection.lo
       >   CC       termcolors.lo
       >   CC       cbuf.lo
       >   CC       opack.lo
       >   CC       tlv.lo
       >   CCLD     libimobiledevice-glue-1.0.la
       > /nix/store/svixaxk47x2zfzgk67v3lsa873ghyxma-x86_64-w64-mingw32-binutils-2.41/bin/x86_64-w64-mingw32-ld: cannot find -lIphlpapi: No such file or directory
       > collect2: error: ld returned 1 exit status
       > make[2]: *** [Makefile:448: libimobiledevice-glue-1.0.la] Error 1
       > make[2]: Leaving directory '/build/source/src'
       > make[1]: *** [Makefile:417: all-recursive] Error 1
       > make[1]: Leaving directory '/build/source'
       > make: *** [Makefile:349: all] Error 2

Full logs can be found in the dropdown:

Full logs
```
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/rc13hds5grrgqpip5k1r8vb666l5lnny-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "autoreconfPhase" }
Running phase: autoreconfPhase
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -I m4
autoreconf: running: /nix/store/i2i7a6k6759gfayyxm8jl7mr184vz2qs-autoconf-2.72/bin/autoconf --force
autoreconf: running: /nix/store/i2i7a6k6759gfayyxm8jl7mr184vz2qs-autoconf-2.72/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:32: installing './compile'
configure.ac:35: installing './config.guess'
configure.ac:35: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
src/Makefile.am: installing './depcomp'
autoreconf: './install-sh' is updated
autoreconf: Leaving directory '.'
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./config.sub
Updating Autotools / GNU config script to a newer upstream version: ./config.guess
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
fixing libtool script ./ltmain.sh
./configure
patching script interpreter paths in ./configure
./configure: interpreter directive changed from "#! /bin/sh" to "/nix/store/agkxax48k35wdmkhmmija2i2sxg8i7ny-bash-5.2p26/bin/sh"
configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0 --bindir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/bin --sbindir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/sbin --includedir=/nix/store/saq1j3pn23i5nvw2b9mq4xfs3409zs1g-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0-dev/include --oldincludedir=/nix/store/saq1j3pn23i5nvw2b9mq4xfs3409zs1g-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0-dev/include --mandir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/share/man --infodir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/share/info --docdir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/share/doc/libimobiledevice-glue --libdir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/lib --libexecdir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/libexec --localedir=/nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0/share/locale --build=x86_64-unknown-linux-gnu --host=x86_64-w64-mingw32
checking for a BSD-compatible install... /nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip
checking for a race-free mkdir -p... /nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-w64-mingw32-gcc accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-w64-mingw32-gcc... none
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /nix/store/ks6c62g0m3gqrs5i7m0cv6d6aqhdvirn-gnused-4.9/bin/sed
checking for grep that handles long lines and -e... /nix/store/md9apn3290h7kv0x198ihaaa3k6icg4b-gnugrep-3.11/bin/grep
checking for egrep... /nix/store/md9apn3290h7kv0x198ihaaa3k6icg4b-gnugrep-3.11/bin/grep -E
checking for fgrep... /nix/store/md9apn3290h7kv0x198ihaaa3k6icg4b-gnugrep-3.11/bin/grep -F
checking for ld used by x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-ld
checking if the linker (x86_64-w64-mingw32-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... x86_64-w64-mingw32-nm
checking the name lister (x86_64-w64-mingw32-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 32768
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-w64-mingw32 format... func_convert_file_nix_to_w32
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for x86_64-w64-mingw32-ld option to reload object files... -r
checking for x86_64-w64-mingw32-file... no
checking for file... file
configure: WARNING: using cross tools not prefixed with host triplet
checking for x86_64-w64-mingw32-objdump... x86_64-w64-mingw32-objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
checking command to parse x86_64-w64-mingw32-nm output from x86_64-w64-mingw32-gcc object... ok
checking for sysroot... no
checking for a working dd... /nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5/bin/dd
checking how to truncate binary pipes... /nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5/bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... no
checking for objdir... .libs
checking if x86_64-w64-mingw32-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... no
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc linker (x86_64-w64-mingw32-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking pkg-config is at least version 0.9.0... yes
checking for libplist-2.0 >= 2.3.0... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint8_t... yes
checking for asprintf... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strerror... yes
checking for strndup... no
checking for stpcpy... no
checking for vasprintf... yes
checking for getifaddrs... no
checking for poll... no
checking for endian.h... no
checking whether byte ordering is bigendian... no
checking for platform-specific build settings... mingw32
checking wether the C compiler supports constructor/destructor attributes... yes
checking for struct dirent.d_type... no
checking for supported compiler flags...  -Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fsigned-char -fvisibility=hidden
checking for x86_64-w64-mingw32-gcc option to enable large file support... -D_FILE_OFFSET_BITS=64
checking whether make supports nested variables... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/libimobiledevice-glue-1.0.pc
config.status: creating include/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

Configuration for libimobiledevice-glue 1.2.0:
-------------------------------------------

  Install prefix: .........: /nix/store/zzd7r95az0cj4gp7k3zkdjpsbg8m539c-libimobiledevice-glue-x86_64-w64-mingw32-1.2.0

  Now type 'make' to build libimobiledevice-glue 1.2.0,
  and then 'make install' for installation.

@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
build flags: SHELL=/nix/store/agkxax48k35wdmkhmmija2i2sxg8i7ny-bash-5.2p26/bin/bash
make  all-recursive
make[1]: Entering directory '/build/source'
Making all in src
make[2]: Entering directory '/build/source/src'
  CC       glue.lo
  CC       socket.lo
  CC       thread.lo
  CC       utils.lo
utils.c: In function 'stpcpy':
utils.c:58:16: warning: 'nonnull' argument 's1' compared to NULL []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wnonnull-compare-Wnonnull-compare]8;;]
   58 |         if (s1 == NULL || s2 == NULL)
      |                ^
utils.c:58:30: warning: 'nonnull' argument 's2' compared to NULL []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wnonnull-compare-Wnonnull-compare]8;;]
   58 |         if (s1 == NULL || s2 == NULL)
      |                              ^
  CC       nskeyedarchive.lo
  CC       collection.lo
  CC       termcolors.lo
  CC       cbuf.lo
  CC       opack.lo
  CC       tlv.lo
  CCLD     libimobiledevice-glue-1.0.la
/nix/store/svixaxk47x2zfzgk67v3lsa873ghyxma-x86_64-w64-mingw32-binutils-2.41/bin/x86_64-w64-mingw32-ld: cannot find -lIphlpapi: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:448: libimobiledevice-glue-1.0.la] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:417: all-recursive] Error 1
make[1]: Leaving directory '/build/source'
make: *** [Makefile:349: all] Error 2
```

Upon further investigating, this is due to a missing iphlpapi.h header that is required. Apparently its intended to be provided through mingw itself, but seems to be missing. The main packages I see that contain it are zig and the wine packages

What exact command did you run to build?

I actually just forced a build in the repl:
NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix repl --impure

nix-repl> :l <nixpkgs>
nix-repl> :b pkgsCross.mingwW64.libimobiledevice

Further update, even a mingw devshell possesses this library. I'm a little confused as to why the builder isn't capable of finding it, since this should be sourced directly from the stdenv.
$ $CC -o main -liphlpapi main.c
$ file main.exe
main.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows, 10 sections

# shell.nix
{
  pkgs ? (import <nixpkgs> {}).pkgsCross.mingwW64
}:
pkgs.mkShell {}

// main.c
#include <iphlpapi.h>

int main(void) {
	return 0;
}

C and unix filesystems are case-sensitive, so naturally it makes a difference

C and unix filesystems are case-sensitive, so naturally it makes a difference

oof okay makes a lot of sense. guess now we know :p


Start mdBook-based documentation

You might be familiar with mdBook from the Bril docs (or the Rust book, I suppose). It's a pretty convenient way to do docs, and I thought it might be good to set it up now for @tedbauer's benefit as a place to put the upcoming tutorial. I also made a little skeleton for other stuff we might want to write, like a language reference and fud docs.

Would it be painful to setup a github/hooknook-based deployment for this?

Yeah, that would be good! I thought I'd just get this started first and then we could work that out later. FWIW, I do have a GitHub-based setup working on the Bril repository.

Cool! If there a configuration file needed, can you link to it?
@tedbauer can you take a look at the PR and if the organization makes sense, merge it?


elfeed-meta not always setf'able?

Hi Chris,
I'm guessing that I'm doing something wrong, but anyway, I noticed some errors in my Elfeed log buffer today, like:
(void-function (elfeed-meta entry :title))
That may not be verbatim, as I foolishly killed the log buffer, and now I can't reproduce it until there is new content in the feeds that I made new-entry taggers for.
Anyway, here's an example:
(defun ap/elfeed/reddit.com/user--rewrite-title (entry)
    (pcase-let* ((user (elfeed-meta entry :author))
                 (title (second (s-match (rx-to-string `(seq (eval user) (1+ space) "on" (1+ space) (group (1+ anything))))
                                         (elfeed-entry-title entry))))
                 (sub (car (elfeed-meta entry :categories)))
                 (new-title (format$ "on /r/$sub/$title")))
      (unless (s-starts-with? "on /r/" title)
        ;; Doesn't already have prefix
        (setf (elfeed-meta entry :title) new-title))))

That function rewrites the title of entries from Reddit user comment feeds, like https://www.reddit.com/user/skeeto/.rss, adding the name of the subreddit it was posted on.
I've been using it for some time, but it seems to have stopped working recently; I'm guessing it was when I upgraded to Emacs 26, but I can't say for certain.
Today I noticed the errors in the log.  So I tried changing the setf to plist-put using elfeed-entry-meta:
(defun ap/elfeed/reddit.com/user--rewrite-title (entry)
    (pcase-let* ((user (elfeed-meta entry :author))
                 (title (second (s-match (rx-to-string `(seq (eval user) (1+ space) "on" (1+ space) (group (1+ anything))))
                                         (elfeed-entry-title entry))))
                 (sub (car (elfeed-meta entry :categories)))
                 (new-title (format$ "on /r/$sub/$title")))
      (unless (s-starts-with? "on /r/" title)
        ;; Doesn't already have prefix
        (plist-put (elfeed-entry-meta entry) :title new-title))))

After refreshing feeds, that seems to have fixed the error and made the function correctly modify titles again.
But I don't understand why this is necessary.  It used to work, and I can't find any commits in the repo that seem relevant.  The Elfeed tests even use (setf (elfeed-meta entry ..., but apparently not with the :title key, so I wonder if there's something going on there.
Thanks for your help.

This sounds like the sort of issue that arises if you update Emacs but
continue using your original elpa/ directory. Byte code is backwards
compatible, but macros are not. Some macro expansions, including setf
expansions, may be incorrect for the new release. (This also
occasionally happens updating packages in place, though I don't think
that's the problem here.)

Ah, yes, of course.  Thanks.  I'll investigate and reopen if necessary.

Hi Chris,
I'm sorry to bother you about this again, because it's probably me doing something wrong, but I'm still having this problem, and I don't know why.  Here's what happens:

I start Emacs.
Run elfeed.
Run elfeed-search-fetch.
The fetch works properly, but some taggers are not applied to new entries.  In the elfeed-log buffer, I see entries like [2018-09-06 22:28:31] [error]: https://lobste.rs/rss: (void-function (setf elfeed-entry-link)).
I put point on an entry to which that tagger applies, and manually apply the tagger by eval'ing:

(with-current-buffer "*elfeed-search*"
  (let ((entry (car (elfeed-search-selected))))
    (ap/elfeed/lobste.rs--rewrite-link entry)))

This fails with the same (void-function (setf elfeed-entry-link)) error.

I re-evaluate the function which calls (setf (elfeed-entry-link ...:

(defun ap/elfeed/lobste.rs--rewrite-link (entry)
  "Replace link in lobste.rs entry with link to comments page."
  (-let (((namespace . comments-link) (elfeed-entry-id entry)))
    (when (and comments-link
               (s-prefix-p "http" comments-link))
      (setf (elfeed-entry-link entry) comments-link))))

I manually apply the tagger again, as in step 5.
The function sets and returns the value correctly.
Afterward, the tagger works correctly when calling elfeed-search-fetch.

I'm using use-package for my elfeed config, which looks like this (removing everything not relevant):
(use-package elfeed
  :config
  (add-hook 'elfeed-new-entry-hook
            (elfeed-make-tagger :feed-url "\\`\\(https?\\)://lobste\\.rs"
                                :callback (defun ap/elfeed/lobste.rs--rewrite-link (entry)
                                            "Replace link in lobste.rs entry with link to comments page."
                                            (-let (((namespace . comments-link) (elfeed-entry-id entry)))
                                              (when (and comments-link
                                                         (s-prefix-p "http" comments-link))
                                                (setf (elfeed-entry-link entry) comments-link)))))))

The expansion looks like this (expanding the original form, removing everything not relevant):
(progn
  (defvar use-package--warning97
    #'(lambda (keyword err)
        (let ((msg (format "%s/%s: %s" 'elfeed keyword (error-message-string err))))
          (display-warning 'use-package msg :error))))
  (condition-case-unless-debug err
      (if (not (require 'elfeed nil t))
          (display-warning 'use-package (format "Cannot load %s" 'elfeed) :error)
        (condition-case-unless-debug err
            (progn
              (add-hook 'elfeed-new-entry-hook
                        (elfeed-make-tagger :feed-url "\\`\\(https?\\)://lobste\\.rs"
                                            :callback
                                            (defun ap/elfeed/lobste\.rs--rewrite-link (entry)
                                              "Replace link in lobste.rs entry with link to comments page."
                                              (-let (((namespace . comments-link) (elfeed-entry-id entry)))
                                                (when (and comments-link
                                                           (s-prefix-p "http" comments-link))
                                                  (setf (elfeed-entry-link entry) comments-link))))))
              t)
          (error (funcall use-package--warning97 :config err))))
    (error (funcall use-package--warning97 :catch err))))

So it's doing (eval-after-load 'elfeed ..., which should run after elfeed loads, which should load elfeed-db, which is where elfeed-entry-link is defined.  (Putting the defun directly in the :callback argument does seem unorthodox, but it appears to work.  And I have this same problem with other taggers whose callbacks are defined outside the elfeed-make-tagger call, so I don't think that's the problem.)
So as far as I can tell, the function that calls (setf (elfeed-entry-link ... should be defined after elfeed-entry-link is defined.  In fact, before I re-eval'ed that function, I did M-x describe-function RET elfeed-entry-link RET, and the help buffer showed this:
elfeed-entry-link is a compiled Lisp function in
‘~/.homesick/repos/emacs.d/emacs.d/elpa/elfeed-20180713.1229/elfeed-db.el’.

(elfeed-entry-link CL-X)

This function has a compiler macro ‘elfeed-entry-link--cmacro’.

Access slot "link" of ‘(elfeed-entry (:constructor elfeed-entry--create))’ struct CL-X.

Also, I deleted and reinstalled the elfeed package, but it didn't help.
Again, this is probably my doing something wrong rather than a bug in Elfeed, so if you don't have time to help with this, feel free to politely tell me off, haha.  :)  Thanks.

I'm having the same problem with (setf (elfeed-entry-title entry) mystr).  I put these definitions after :config in the use-package setup (which should be evaluated only after loading elfeed), but it seems that I always need to re-evaluate the functions definitions involving setf for them to work.  Is there any quick fix?  Thanks!

Hi Chris,
Thanks for your patience.  I did some more digging:

There was a byte-compiled version of the file in question, but it was very old, and I have load-prefer-newer enabled, so it was not being used.  I also know that it was not being used because 1) changes I made to the source file were in effect after restarting Emacs, and 2) I deleted the .elc file, and this problem remained.  So in this case, the problem is not being caused by byte-compilation.
I added (eval-when-compile (require 'elfeed)) immediately before the tagger functions are defined, and this seems to have fixed the problem!
However, I don't understand why this fixes it.  I looked at the use-package expansion again, and the tagger functions are defined in a (eval-after-load 'elfeed block.  But I guess it's probably either a bug in use-package or a mistake in the way I'm using it.  It can't be a bug in Elfeed.

Thanks very much for your help, as always.
@leafpile Try the solution I found; I bet it will work for you too.


Windturbine and additional parameters/function in weather modell

generic Windturbine: based on windpowerlib (https://github.com/wind-python/windpowerlib/tree/dev)
Calculates the elctrical output power of a windturbine with weather data from weather model (pressure,windspeed,temperature)
windpowerlib calculates the weatherparameter on hub height and calculate the elecitrical power for a specific windturbine model from a specific manufactor.
Because of the windtrubine modell the hisim weather model was expanded to include the parameter “pressure” in outputs for every weather data format (nsrdb,try/dwd)
In addition, the weather model has been expanded to include a function that can process current DWD data. The integration of the dwd database and the provision of the data will follow later

please also check new implemented model for weather data request from dwd and era5
weather_data_import.py
"original" weather.py model is adapted to new import possibility

Is this ready?

From my side I have nothing more to add for now. The commit from just now was the last point that came to mind for more "flexibility" of the model

Licence issues for weather data talked about in meeting:

dwd data: https://wetterdienst.readthedocs.io/en/latest/license/wetterdienst.html
era5 data: https://cds.climate.copernicus.eu/api/v2/terms/static/licence-to-use-copernicus-products.pdf

Both licences are free to use. So I think there is no problem to publish the data requests in hisim repository


Update PROD 06.09.24

Updated presentation links
Added 3 members to Smachno team
Restyled modal window (fixed so that the text does not go beyond the boundaries)
Customized scroll
Updated footer style with polish language

Approved Susanna


Project: Send Welcome Email to Newly Added User to Azure Active Directory.

Project name
Welcome Email to Newly Added User.
Description
This app sends a welcome email to newly added user to Azure Active Directory using a third party email sending client - Twilio SendGrid.
Repo URL
https://github.com/jimxxmy/Hack-Together-Email-New-User
Team members
Jimit Vaghela, Nishita Rupareliya, Henil Patel, Hrutvik Barot, Dipen Sutariya, Mihir Mehta

Hey @jimxxmy! Am I seeing it correctly that you're still working on the hack? I can see that you've defined the Graph service but I don't see it being used anywhere. Is that correct, or am I missing something?

Hi @waldekmastykarz our work is still in progress. We will finish and merge into master asap.

Thank you for your submission!

Hey @jimxxmy, it seems like your team members haven't registered. Please ask them to register asap to complete your submission.

Hi @jimxxmy, we still can't find your teammates' names in the registrations. Can you please make sure that they are registered within today to be eligible for the prizes : https://aka.ms/hack-together/register

Hi @aycabas , @waldekmastykarz - I checked with the team and they all seem to have registered with the same names I have mentioned. Do we need to do something else?

Hi @jimxxmy, your teammates' names are not available on our registration list. Can you please let them register again and make sure that they share their GitHub Account names & email address correctly in the registration form. So far, their information is not available in our system and we can't issue digital badges on their name. They can use the following link to register: https://aka.ms/hack-together/register
Please share their GitHub account names with us after they register again, thanks.


Not able to achieve Reproducible outputs with the seed parameter (SDK version 1.1.1)

Hi :wave:,
I've noticed the exciting new capability for achieving Reproducible outputs.
Nevertheless, I'm encountering varying results when using identical input parameters and getting the same system fingerprint.

Am I missing something?

Python code to reproduce this issue (might need a few runs)
import openai
from openai.types.chat import ChatCompletionUserMessageParam

print(openai.__version__)
print()

for i in range(5):
    message = ChatCompletionUserMessageParam(
        content=(
            "Imagine something completely random and crazy! (approximately 100 words)"
        ),
        role="user",
    )
    response = openai.chat.completions.create(
        messages=[message], model="gpt-3.5-turbo-1106", temperature=0, seed=42
    )
    print(response.system_fingerprint, response.choices[0].message.content)

Versions
OpenAI SDK 1.1.1
Python version 3.11.5

I just checked the cookbook again, and it is mentioned that

If the seed, request parameters, and system_fingerprint all match across your requests, then model outputs will mostly be identical. There is a small chance that responses differ even when request parameters and system_fingerprint match, due to the inherent non-determinism of computers.
I guess the behavior is expected then :man_shrugging:

I just checked the cookbook again, and it is mentioned that

If the seed, request parameters, and system_fingerprint all match across your requests, then model outputs will mostly be identical. There is a small chance that responses differ even when request parameters and system_fingerprint match, due to the inherent non-determinism of computers.

I guess the behavior is expected then 🤷♂

When I test it self -test, there are many answers to the question when they generate less questions. When I answer questions, the same questions will not have the same answer.I don't know if it is related to Temperature and TOP_P.
this is my code By borrowed cookbook,If you can get a consistent result, what is the problem with my code
import asyncio
import os

import openai
import pprint
import difflib
from IPython.display import display, HTML

GPT_MODEL = "gpt-3.5-turbo-1106"

async def get_chat_response(system_message: str, user_request: str, seed: int = None):
    try:
        messages = [
            {"role": "system", "content": system_message},
            {"role": "user", "content": user_request},
        ]
        openai.api_key = os.getenv("OPENAI_API_KEY")
        openai.proxy = "http://<IP_ADDRESS>:8888"
        response = openai.ChatCompletion.create(
            model=GPT_MODEL,
            messages=messages,
            seed=seed,
            max_tokens=400,
            temperature=0.1,
            top_p=1,
        )

        response_content = response["choices"][0]["message"]["content"]
        system_fingerprint = response["system_fingerprint"]
        prompt_tokens = response["usage"]["prompt_tokens"]
        completion_tokens = (
                response["usage"]["total_tokens"] - response["usage"]["prompt_tokens"]
        )
        print(response_content)
        print(system_fingerprint)
        table = f"""

Response	{response_content}

System Fingerprint	{system_fingerprint}

Number of prompt tokens	{prompt_tokens}

Number of completion tokens	{completion_tokens}

        """
        # display(HTML(table))

        return response_content
    except Exception as e:
        print(f"An error occurred: {e}")
        return None

# This function compares two responses and displays the differences in a table.
# Deletions are highlighted in red and additions are highlighted in green.
# If no differences are found, it prints "No differences found."

def compare_responses(previous_response: str, response: str):
    d = difflib.Differ()
    diff = d.compare(previous_response.splitlines(), response.splitlines())

    diff_table = "
"
    diff_exists = False

    for line in diff:
        if line.startswith("- "):
            diff_table += f"
{line}
"
            diff_exists = True
        elif line.startswith("+ "):
            diff_table += f"
{line}
"
            diff_exists = True
        else:
            diff_table += f"
{line}
"

    diff_table += "
"

    if diff_exists:
        display(HTML(diff_table))
    else:
        print("No differences found.")

async def main():
    SEED = 3211212
    system_message = "You are a helpful assistant that generates question."
    user_request = f"Generate some short question about China"

    response = await get_chat_response(
        system_message=system_message, seed=SEED, user_request=user_request
    )
    previous_response = response
    response = await get_chat_response(
        system_message=system_message, seed=SEED, user_request=user_request
    )

    # compare_responses(previous_response, response)

# Run the main function
asyncio.run(main())


Projection of included entity doesn't work with Skip Take

Hi,
I saw you already have multiple Take bugs reported, but couldn't find my bug among them.
I'm trying to implement paging with projection of included entity but it fails with an odd exception:

System.ArgumentNullException: Value cannot be null.
Parameter name: provider
at Microsoft.Data.Entity.Utilities.Check.NotNull[T](T value, String parameterName)
at Microsoft.Data.Entity.Query.Internal.EntityQueryable`1..ctor(IAsyncQueryProvider provider)
at Microsoft.Data.Entity.Query.ExpressionVisitors.Internal.NavigationRewritingExpressionVisitor._CreateEntityQueryable[TResult](IAsyncQueryProvider entityQueryProvider)

The query:
var results = await _context.Posts.Include(x=> x.User)
                .Where(x => x.ForumId == forumId && x.ReplyToPostId == null)
                .Skip(pageSize*page)
                .Take(pageSize)
                .Select(x=> new
                                {
                                    x.User.UserName
                                })
                .ToListAsync();

And the model which you probably already know by heart... :smile:
public class Post
{
    public int Id { get; set; }

    public string Title { get; set; }
    public string Body { get; set; }

    public DateTime PublishDate { get; set; }

    public DateTime? LastChangedDate { get; set; }

    public bool IsModified { get; set; }

    public string UserId { get; set; }
    public ApplicationUser User { get; set; }

    public int ForumId { get; set; }

    public virtual Forum Forum { get; set; }

    public int? ReplyToPostId { get; set; }

    public Post ReplyToPost { get; set; }

    public bool IsDeleted { get; set; }
    public bool IsImportantReply { get; set; }

    public virtual List<Post> Replies { get; set; }

    public PostType PostType { get; set; }

    public bool IsLocked { get; set; }

    public string LockingUserId { get; set; }
    public ApplicationUser LockingUser { get; set; }
    public string LockReason { get; set; }
    public int Score { get; set; }

    public List<Vote> Votes { get; set; }
}

If I'm removing the Skip-Take or removing  the Username  from the Select it works, when they are combined it doesn't.
The entire project is hosted publicly on Github if you need to see the entire code and fiddle with it
https://github.com/gdoron/Forums/blob/Projection/src/Forums/Controllers/Api/ApiPostsController.cs#L35
Thanks

@mikary can you check if this is fixed

Ran the provided samples against Microsoft.EntityFrameworkCore.SqlServer 1.0.0-rc2-final. No exceptions were thrown and the results appear to be correct.
Adding tests to cover regressions in #5436

Is this working in RC2? I tried a Skip / Take before a projection and I get an exception. If I move it to after the projection then it works fine ...

@mdmoura I verified the exception was not being thrown for this issue on RC2, but if you are still seeing problems there may still be an issue. Could you provide more details on the error you are seeing (exception message, code for the query and model)?

@mikary: The models are:
public class Job {

  public Int32 Id { get; set; }
  public String CountryCode { get; set; }
  public String City { get; set; }
  public Boolean IsEnabled { get; set; }
  public virtual Country Country { get; set; }
}

public class Country {
  public String Code { get; set; }
  public String Name { get; set; }
  public virtual ICollection<Job> Jobs { get; set; } = new List<Job>();
}

The query is:
var result = await _context.Jobs
   .OrderBy(x => x.Start)
   .Include(x => x.Country)
   .Where(x => x.IsEnabled)
     .Skip(0).Take(10)
     .Select(x =>
         new {
            Id = x.Id,
            Country = new {
              Code = x.Country.Code,
              Name = x.Country.Name
            }
          })
        .ToListAsync();

And I get the error:
The given expression 'new <>f__AnonymousType12(Id = [x].Id, Country = new <>f__AnonymousType22(Code = Property([x], "CountryCode"), Name = [x.Country].Name))' does not contain the searched expression '[x]' in a nested NewExpression with member assignments or a MemberBindingExpression.
Parameter name: fullExpression
at Remotion.Linq.Clauses.ExpressionVisitors.AccessorFindingExpressionVisitor.FindAccessorLambda(Expression searchedExpression, Expression fullExpression, ParameterExpression inputParameter)
at Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor.IncludeNavigations(QueryModel queryModel, IReadOnlyCollection1 includeSpecifications)    at Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor.CreateAsyncQueryExecutor[TResult](QueryModel queryModel)    at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddAsyncQuery[TResult](Object cacheKey, Func1 compiler)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable1.System.Collections.Generic.IAsyncEnumerable<TResult>.GetEnumerator()    at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.<ToListAsync>d__1291.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
The error can be removed in a few ways like:

Placing the OrderBy after the Include (By design? Bug?)
Remove the Country projection.

Does this help?

@mdmoura this looks like a separate issue. I have filed https://github.com/aspnet/EntityFramework/issues/5612

@maumar: yes, but I also think there is a bug here in relation to Skip Take after and before the projection ... I just haven't been able to isolate it yet because I have quite a large model. I will post here more information if that is the case.

@mdmoura sounds good. The case you provided is most likely related to the complex projection itself (as the exception says, we are trying to find query source [x] in the projection, and we failed to do it, even though its clearly there)


dynatrace_slo_v2 created with count() get arbitrarily reordered

Describe the bug
Our code configures an SLO measure for each Mobile Application KUA having and Apdex configured, like so:
resource "dynatrace_slo_v2" "kua_apdex_slo" {
  count = length(dynatrace_mobile_app_key_performance.kua_adpex)

  name               = "${local.app_name}_${dynatrace_mobile_app_key_performance.kua_adpex[count.index].scope}_slo"
  enabled            = true
  custom_description = "SLO Mobile - App: \"${local.app_name}\" - KUA: \"${substr(local.kua_with_apdex[count.index].nom, 0, 48)}\""
  evaluation_type    = "AGGREGATE"
  evaluation_window  = "-10m"
  filter             = "type(\"DEVICE_APPLICATION_METHOD\"),entityId(\"${dynatrace_mobile_app_key_performance.kua_adpex[count.index].scope}\")"
  metric_expression  = "100*builtin:apps.other.keyUserActions.apdexValue.os:splitBy(\"dt.entity.device_application_method\")"
  target_success     = 70
  target_warning     = 85
  error_budget_burn_rate {
    burn_rate_visualization_enabled = false
  }
}

The provider takes these arbitrarily ordered elements and updates/modifies every single SLO whose configuration has not been modified. For example, here is a case where the ordering has changed and the Provider attempts to rename an element which has not really changed:
14:13:51    # module.Beneva-dev-staging.dynatrace_slo_v2.kua_apdex_slo[21] will be updated in-place
14:13:51    ~ resource "dynatrace_slo_v2" "kua_apdex_slo" {
14:13:51        ~ custom_description = "SLO Mobile - App: \"Beneva-dev-staging\" - KUA: \"🔑 [Load App Manual]\"" -> "SLO Mobile - App: \"Beneva-dev-staging\" - KUA: \"🔑 [savings.navigate_to_customer_portal]\""
14:13:51        ~ filter             = "type(\"DEVICE_APPLICATION_METHOD\"),entityId(\"DEVICE_APPLICATION_METHOD-CF935488A1D21E1F\")" -> "type(\"DEVICE_APPLICATION_METHOD\"),entityId(\"DEVICE_APPLICATION_METHOD-C16A143B9D317F24\")"
14:13:51          id                 = "vu9U3hXa3q0AAAABABZidWlsdGluOm1vbml0b3Jpbmcuc2xvAAZ0ZW5hbnQABnRlbmFudAAkZTJjYTQ4NjItNzU2Ny0zMmRhLThlZTgtZjVkZjQ1ZjY1NmRmvu9U3hXa3q0"
14:13:51        ~ name               = "Beneva-dev-staging_DEVICE_APPLICATION_METHOD-CF935488A1D21E1F_slo" -> "Beneva-dev-staging_DEVICE_APPLICATION_METHOD-C16A143B9D317F24_slo"
14:13:51          # (8 unchanged attributes hidden)
14:13:51
14:13:51          # (1 unchanged block hidden)
14:13:51      }

This kind of erroneous renaming causes errors, because the SLO with that same name already exists (another SLO is being given the same name):
14:14:37  │ Error: There is another SLO with an identical name defined. Please make your SLO name unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.
14:14:37  │ There is another identical SLO defined. Please make your SLO unique to save your changes.

Expected behavior
If an SLO with a given name (which must be unique) exists in Dynatrace, the provider should not attempt to arbitrarily rename another SLO in this way.
Additional context
Using the latest provider version.

This issue is preventing us from putting important changes into production.

Hello @mattBaumBeneva,
What defines the number of instances of dynatrace_mobile_app_key_performance? Is it something like this?
resource "dynatrace_mobile_app_key_performance" "kua_adpex" {
  count = length(data.dynatrace_entities.application_methods.entities)
  ...
}

.. in other words, could it be that the order / number of these application methods has changed since the last terraform apply?
Also, just as a test, what happens when you integrate the index into the names of the SLOs?
resource "dynatrace_slo_v2" "kua_apdex_slo" {
  count = length(dynatrace_mobile_app_key_performance.kua_adpex)
  name  = "${local.app_name}_${dynatrace_mobile_app_key_performance.kua_adpex[count.index].scope}_${count.index}_slo"
  ...
}

Are you getting away without error messages?
I'm not saying, that this should be the solution, I just want to make sure we're understanding the root cause of the problem.
My suspicion is, that, because the dynatrace_entities produces a different list (not necessarily ordered differently, but just with additional or fewer entries).
And in that case, when dynatrace_slo_v2 iterates over e.g. the third entry (which was previously the fourth), Terraform assumes, that the name of the third entry has changes (triggers an update) while the SLO that previously was the third entry still exists in Dynatrace (that one would get renamed also later on).
If I'm right with all that, what I would suggest is to not iterate directly over dynatrace_mobile_app_key_performance.kua_adpex but build a map like this:
locals {
  kua_adpex_map = {
    for kua_adpex in dynatrace_mobile_app_key_performance.kua_adpex :
      kua_adpex.scope => kua_adpex
  }
}

That allows you to change your dynatrace_slo_v2 resource to use the for_each keyword, similar to this:
resource "dynatrace_slo_v2" "kua_apdex_slo" {
  for_each= local.kua_adpex_map
  name  = "${local.app_name}_${each.value.scope}_slo"
  ...
}

Ultimately, the change that triggered the problem is that the KUAs are generated from a list of objects, and we added two elements to the end of the list.
You are also correct we have to use dynatrace_entities like so, because there is not dedicated resource (to my knowledge) to configure KUAs on Mobile Apps like there is on Web Apps (where we use for_each everywhere):
data "dynatrace_entity" "kua_with_apdex" {
  count           = length(local.kua_with_apdex)
  entity_selector = "type(\"DEVICE_APPLICATION_METHOD\"),entityName(\"${local.kua_with_apdex[count.index].nom}\"),fromRelationships.isDeviceApplicationMethodOf(entityId(\"${dynatrace_mobile_application.app_mobile.id}\"))"
}

I will try multiple tests to see if anything passes.

@Dynatrace-Reinhard-Pilz , I was able to apply all of our updates by refactoring our module to use only for_each with KUA names as keys. Thanks.
I have one final thing to report. This happened only once, but I got the following error. Applying again immediately afterward passed. I'm reporting the error because Terraform indicates it represents a bug:
10:06:42  │ Error: Provider produced inconsistent result after apply
10:06:42  │
10:06:42  │ When applying changes to
10:06:42  │ module.Beneva-lab.dynatrace_mobile_app_key_performance.kua_adpex["🔑
10:06:42  │ [savings.navigate_to_customer_portal]"], provider
10:06:42  │ "provider[\"registry.terraform.io/dynatrace-oss/dynatrace\"]" produced an
10:06:42  │ unexpected new value: Root object was present, but now absent.
10:06:42  │
10:06:42  │ This is a bug in the provider, which should be reported in the provider's
10:06:42  │ own issue tracker.

The error message tells me that - at least temporarily - the provider BELIEVED that dynatrace_mobile_app_key_performance.kua_adpex["[savings.navigate_to_customer_portal]"] didn't exist on the target environment.
And, yes, we need to take that seriously, even if it "auto fixes" with the next apply.
May I ask for a favor at this point? I believe I know ALMOST how your module is structured, but would you be able to send us a sample that contains everything you're using here? I'd like to match as close as possible what you're applying here against my personal environment. Perhaps I can trigger the error and investigate closer. Feel free to send to<EMAIL_ADDRESS>I would know to get rid of the error message with a blunt approach, but that would be a last resort - it would certainly address the actual bug.

I sent you our module code. This is code we expose to all our product teams internally. If you also need the code that calls the module, I can provide an anonymized example file with the same structure (see my email).

Thanks a lot! I will keep this issue open, until I've been able to make sense of the error message you've seen.

@mattBaumBeneva if you're ok with it I'll close this ticket until further notice. I've given this now a final attempt, but the one remaining error message you've seen I simply cannot reproduce.
I'm tempted to blame inconsistent responses from the REST API here - but that's just shifting the burden to other developers without real proof :)
In case the error message "Provider produced inconsistent result after apply" emerges again and represents a show stopper on your side, let's investigate it on a separate ticket.


New Calculator Added:Number System Conversion Calculator

Description 📜
This is the new Calculator Called the Number System Coversion Calculator , and is used  to convert Number of various systems into each other.
The sysytems can be :

Decimal
Binary
Octal
Hexadecimal

#68

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSOC'22 contributor
[x] Have you added a working video of your calculator ?

Screenshots / Gif (Optional) 📸

Updated the readme file with suggested updates..


Sometimes OMM notebook fails

https://github.com/astropy/astropy/issues/13447

Failed: https://readthedocs.org/projects/poliastro/builds/17408507/
Passed: https://readthedocs.org/projects/poliastro/builds/17430049/

At least the stable version of the docs is built now. Will add some debugging statements so that the next time it fails we hopefully have more information.

This hasn't happened in a while. Closing until it does again.

This just hitted me suddenly. Docs were rendering without problem until now.


orderby not working

Bug Information
Trying to sort a collection by string ("name"). Doesn't work, in that the result set just returns the first X documents in the given collection. ".orderBy" seems to be ignored.
See the attached screenshot from portal. You'll see the first doc in the collection (with no order by applied) is name = "Boonah Golf Club".
Applying the order by in the code snippet below does nothing. The same default result set (ie without any order by applied) is returned.
Expected Result
The first document in the sorted query should be "1770 Golf Club".
Code snippet
    val query = Query.select()
    .from("clubs")
    .orderBy("name", true)

    AzureData.queryDocuments ("clubs", "sogodb", query, CustomDocumentAzure::class.java) {
        for (doc in it.resource?.items!!) {
            Log.i("AZURE", "${doc!!.name}")
        }
    }

Screenshots

hi all, just checking in on this ticket, have you been able to repro it ?

I just pushed a commit that should fix this... however, there's still work to be done, as apparently cross partition queries are not supported with an order by clause without some extra work.  I'm going to work on this scenario and when I have a passing test for that as well I'll push out a new release.

awesome stuff thanks so much @NateRickard

fyi PR #88 should solve that scenario (described here: https://stackoverflow.com/questions/50240232/cosmos-db-rest-api-order-by-with-partitioning)

hi @NateRickard I just tested this and didn't see correct sort order results. wondering if i jumped in a bit early and this isn't released yet ?
implementation 'com.azure.android:azuredata:0.2.0'

            val query = Query.select()
                .from("sogocollection")
                .where("type", "club")
                .orderBy("name", true)

            AzureData.queryDocuments ("sogocollection", "sogodb", query, GolferDocument::class.java) {
                val documents = it.resource?.items
                documents?.forEach {
                    Log.i("AZURE", "${it.name}")
                }
            }

output snippet:
AZURE:
  ...
   Balingup Golf Club
    Balgowlah Golf Club
    Balaklava Golf Club
    Aussie Golf Ranch
    Augusta Golf Club
    Augathella Golf Club
    Atherton Golf Club
    Asquith Golf Club
    ... (more "A" here..)
    Alexandra Golf Club
    Albert Park Golf Course
    Aberdeen Golf Club
    Bakers Hill Golf Club
    Baker Golf Club
    Bairnsdale Golf Club
    Badgingarra Golf Club
   ...

this is from portal against same data set:

My bad, never followed thru with releasing an updated version.  I just pushed 0.2.1, which should have the changes.

gradle update -> build -> booyaa!  worked nicely thanks @NateRickard


[New Builder] Color Picker

A color-picker builder. Still stuff to do:
TODOs:

[x] create preview example of vertical sliders
[x] bind color store to changes in canvas
[x] create input builders
[x] helper function for detecting the browser for eye dropper?
[x] make preview mobile friendly
[x] make dragging work on mobile
[x] update docs
[ ] Allow changing canvas axes (similar to React Aria)

Closing, will be added in Runes version


Warn when sending to already-used Bitcoin addresses

Entering a used address in the GUI Send tab makes the field turn yellow. Sending to a used address from the GUI prompts with detailed information about prior usage, as well as a note about best practices to avoid address reuse.
Continued from https://github.com/bitcoin/bitcoin/pull/15987 (significantly modified/rewritten - no more bloom filter)
Depends on https://github.com/bitcoin/bitcoin/pull/22693 for non-GUI changes

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

Concept ACK

Concept ACK.  Can test when taken out of Draft

Great idea, thanks. Hope doesn't break anything.

There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

Closing this due to lack of activity. Feel free to reopen.


Create a Chrome extension

Add a chrome extension that is published out of this repository to the Chrome web store in an automated fashion. There are GitHub Actions available for just such an occasion: https://github.com/marketplace/actions/chrome-extension-upload-publish

https://github.com/Cellivar/NetGoLynx-Extension


How is structure matching actually carried out?

@achtor, in section 2 "Broad Structures" you describe how do are structures actually compared?
Do they used something like the https://en.wikipedia.org/wiki/Jaccard_index?

I didn't want to get into specifics because there are so many different ways that structures can be compared that focusing would be kind of arbitrary. I didn't see the Jaccard index, but certainly it could be used. COMA, for example, looks at common or similar children (and children of children, etc.).

It would be good to give some specific examples of how they do it. As it is
I have no idea how any system works.  Does COMA count the number of
children or what. What does it mean to "look at common or similar children"?
On Mon, Aug 29, 2016 at 7:37 PM Peter Xu<EMAIL_ADDRESS>wrote:

I didn't want to get into specifics because there are so many different
ways that structures can be compared that focusing would be kind of
arbitrary. I didn't see the Jaccard index, but certainly it could be used.
COMA, for example, looks at common or similar children (and children of
children, etc.).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/datamade/schema_matching/issues/3#issuecomment-243299834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgxbcreUAqgBRSyoYo_3LvpR_54D28nks5qk3tfgaJpZM4Jvs3N
.

Child nodes which have themselves been matched by other means.


[ContainerApp] Fix #501: az containerapp create --allow-insecure: Add Flag to Allow Container App Insecure Ingress

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

ContainerApp

Need to review functionality in ingress vs. egress contexts.

is this just for create, we aren't adding it to update?

update already has it, just create was missing it.

is this just for create, we aren't adding it to update?

update already has it, just create was missing it.

@Juancpani I see the --allow-insecure flag for the az containerapp ingress update command but not for az containerapp update -- just wanted to double-check if that's what we were expecting, or if it needed to be added to the latter command.

is this just for create, we aren't adding it to update?

update already has it, just create was missing it.

@Juancpani I see the --allow-insecure flag for the az containerapp ingress update command but not for az containerapp update -- just wanted to double-check if that's what we were expecting, or if it needed to be added to the latter command.

Just realized my mistake, custom.py was update_ingress which functions as the ingress update function, but no containerapp update isn't used to update any of the previous ingress settings, so I doubt it will need this flag.

@yonzhan this is ready to go!


Add to the README that Ruby 2.4.0 was a tested version

Follow up to #1064.

Merged @ 583f578b25755011a26f9ee52f7c1fdee18c506b


Allow OPEN EDITORS box to have a fixed height

Right now, the OPEN EDITORS section shrinks/grows depending on the # of open files you have. This experience is very distracting for some folks with certain disabilities. Every time a new file is opened, the OPEN EDITORS box gets bigger and the files list/tree below it moves down one line.
I am requesting  a feature that will allow us to set a fixed height for OPEN EDITORS like we can with the other sections.
Users should be able to size the OPEN EDITORS box to their liking. If there are more open files then the viewport will allow, it'll add a scrollbar.
Alternatively, another option is to allow a minimum height for the OPEN EDITORS box.

 Thank you so much!


Extract archive less then 10Kb.

Steps to reproduce

Create sample project that can create .tar.gz archive and extract from it. I used examples from
https://github.com/icsharpcode/SharpZipLib/wiki/GZip-and-Tar-Samples#-simple-full-extract-from-a-tgz-targz
https://github.com/icsharpcode/SharpZipLib/wiki/GZip-and-Tar-Samples#-create-a-tgz-targz
Create test file less than 10Kb. I created .txt file with some data.
Create tar.gz archive
Try to extract from created archive.

Expected behavior
The archive will be extracted.
Actual behavior
There is an error on extraction:

ICSharpCode.SharpZipLib.GZip.GZipException: 'Error GZIP header, first magic byte doesn't match'

Version of SharpZipLib
I used SharpZipLib version 1.2.0
FileLess10Kb.zip

Package installed using NuGet

This sounds like a duplicate of #393. Should be fixed by #390.

Think this should be fixed now?

Yeah


feat: add $pull operator to PatchBody type

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

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.517%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
1357

Relevant Lines:
1370

💛  - Coveralls


Atom locks up computer with high CPU

Prerequisites

[ ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/

I haven't followed all of these steps yet because once it happens it's impossible to collect profiles or anything like that. I'll try safe mode when I have some time to dedicate to this, but thought it worth reporting before then as it seems fairly serious.
Description
Shortly after launching Atom (seems to be 10-30 minutes after launching), it is using most of the processing resource on my computer, to the point where simply quitting Atom can take 10 minutes.
Furthermore, after quitting Atom, Atom Helper processes remain around still using almost the same amount of resources.

Steps to Reproduce

Open Atom
Wait 10-30 minutes.

Expected behavior: I expect my computer to remain usable.
Actual behavior: Atom uses enough CPU for the computer to be essentially unusable.
Reproduces how often: 50% +
Versions
Atom    : 1.18.0-beta0
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0
Additional Information
None right now, happy to add more to help debug.

Same for me on macOS (10.12.4), very high CPU consumption caused by the Atom Beta Helper.

Some previous reports suggested that the pigments package was causing this issue.  Do either of you have that package installed?

@50Wliu I've installed that package and disabled it for now. Let's see if that solves already my issue.

@danpalmer We're going to need you to follow the instructions in the Atom Flight Manual on Diagnosing Runtime Performance. Unfortunately, this could be lots of things and this issue isn't actionable with the information it contains.

@lee-dohm unfortunately when this is occurring Atom doesn't perform fast enough to be able to do things like open the dev tools. I can try collecting a spindump or something like that from Activity Monitor, but I'm not sure when I'll next have time to dedicate to this (since it could require a hard reboot, I need to prepare my machine which will take some time).

@danpalmer In addition, can you answer my question above as to whether you have the pigments package installed, and whether disabling it solves the performance issues?

Oh whoops, missed that comment! Will look at it when I'm at my work machine tomorrow (UTC+1, I've left for the day).
Sent from my iPhone

On 23 May 2017, at 19:09, Wliu<EMAIL_ADDRESS>wrote:
@danpalmer In addition, can you answer my question above as to whether you have the pigments package installed, and whether disabling it solves the performance issues?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

FWIW, I am also seeing this issue since upgrading 0.18, and disabling pigments did not solve the issue for me. In terms of memory, the 10 odd instances of Atom Beta are consuming over 300MB each.

@oyeanuj Please fill out a new issue. There's no way to know that you are experiencing the same issue that @danpalmer is.

fyi, disabling pigments solved my issue but actually I've never seen that many helpers running in the background as in @danpalmer's case. I had only one instance running.

I had a pigments directory in my Atom directory – although I don't know if it was being actively used (I tried to open Atom to uninstall it from within there but ended up having to hard-reboot my machine). After deleting pigments I re-ran Atom and for the ~1 minute I had it open it appeared to be fine, however I didn't have time to try using it for real work in case I had to do another hard reboot. I think pigments was likely the issue in this case.
Is pigments a package that got installed? I know I didn't install it, but I guess another plugin might have? Is it distributed by or included as a default package in Atom?

It is a community package, meaning that it is not included by default when you install Atom.  There's two possibilities: you installed it a long, long time ago and forgot about it, or another package installed it for you (pretty unlikely).
At any rate, it appears that the problem has been resolved.  If it turns out that the high CPU usage continues even with pigments uninstalled, please just comment here and we'll reopen the issue.

@50Wliu thanks!

atom 1.18 version is having high CPU usage even in safe mode. And also tried by opening just a single file results are the same

I'm having the same issue for the last month.. even -safe still one core goes 100% and the memory usage keeps growing.  I'll attach the debug items in a minute

Here's something strange.. I did an strace on the atom process and I could see it walking through my Chrome bookmarks directory?
[pid 10786] lstat("/home/XXXX/.config/google-chrome-backup/Default/Local Storage/https_www.panopta.com_0.localstorage", {st_mode=S_IFREG|0644, st_size=3072, ...}) = 0

I ran an strace on atom and it looks like the high cpu and memory usage is due to it walking all of the files under my home directory.. why does it do that?

@middleagedman  is your project in your home directory?

Yes, there was one.. I removed it and restarted from scratch.  Seems to be ok.
So maybe the issue for some people is large amounts of files in their home directories coupled with project creations?

came here for the high cpu usage problem. It starts slow and creeps up over time. Ran it in --safe mode, even moved my project to be outside of /Users/ folder.   Started a new file.   Just typing there is lag for a half second, then it resumes normally.  If I hold down the backspace, you can see it move normally, then all of a sudden it hangs for a few seconds then proceeds.
I use Atom for my day to day job. I rely on it as one of my primary tools.  If this many people are complaining about there being lag, I would hope this would be investigated.
I have followed guides on how to cleanly remove everything Atom installs, I've even tried older versions. There's something in the environment causing this.

nickskitch:
I think it has something to do with launching Atom in a directory that has a lot of subfolders/files, or creating a new project where the home directory has a lot of subfolders/files.  It looks like Atom starts to cache the directory structure in memory, thus the high cpu/memory usage.

@middleagedman I did try your suggestion to move my project out of my home folder and into subfolders.  That didn't seem to have any effect.  I used the faq and did the debugging to see in the chart there are a myriad of small tasks that fire every 5 seconds (about the time when I see lag).
What fixed it for me was downloading an older version of Atom and disabling auto-update immediately.
This is not the first issue I've had with Atom lately, the remote-sync packages no longer work so there must be some core changes causing disruption to plugins and stability issues.

If you disable package GitHub 0.3.4-1 (GitHub integration) , CPU usage of Atom helper drops to <0.5

Github integration is the culprit for me

Atom 1.21.0-beta1 fixes high CPU issues under certain circumstances when the github package is enabled.

Atom 1.23.1 on Ubuntu 16.04 x64 also had high CPU utilization (around 30% of a core) with GitHub Integration, so I think there are ongoing issues. Disabling GitHub Integration and restarting Atom resolved the issue for me.

Esse problema continua em maio de 2018

Thanks, disabling GitHub integration helped as well


CFP: allow to enable/disable in cluster service translation for Pod's egress traffic destined to LoadBalancer VIPs

Cilium Feature Proposal
Background
When creating a LoadBalancer Service in Kuberntes, the latter will automatically create a corresponding NodePort Service and a  ClusterIP Service for it, which results in three (actually four) Services in Cilium which shares the same group of backends, an example as below:
1889   <IP_ADDRESS>:80       ClusterIP      1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080
1893   <IP_ADDRESS>:80       LoadBalancer   1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080
1896   <IP_ADDRESS>:31293     NodePort       1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080
1897   <IP_ADDRESS>:31293        NodePort       1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080

Problem faced
In the above output,

The LoadBalancer VIP <IP_ADDRESS> is provided by some cloud providers, and may be configured on a dedicated central device (e.g. HW/SW L4LB device),
The backends are in cluster pods

So, when a pod accesses the Service via LoadBalancer VIP,
cilium-agent will perform the service translation, and picks a backend for the client.
This works perfectly in most cases, however, there are scenarios that users would like this egress traffic to be sent to LoadBalancer VIP directly, instead of load balanced by Cilium internally in the cluster, such as when they would like to do some traffic audition, instrumentation or security check.
Behavior standardization/clarification
On reading k8s/cilium documents, we haven't found any official material that describes the expected behavior
of a networking solution when handling those pod-egress-to-loadbalancer-vip traffic.
Besides, we know externalIPs behaves like the user expected way (Cilium agent doesn't generate service rules for them). But it seems LoadBalancer Services in public cloud vendors like AWS prefer loadBalancer.ingress fileld instead of externalIPs/externalName field in the Kubernetes Service spec/status.
Tentative questions

Does the current behavior of Cilium is a faithful implementation of Kubernetes standard, or a custom optimization?
If it is a custom optimization, would you like to accept a patch of adding an option to toggle on/off this optimization?

Such as, with this optimization turned off, the LoadBalancer rules will not be generated by Cilium:
1889   <IP_ADDRESS>:80       ClusterIP      1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080
1896   <IP_ADDRESS>:31293     NodePort       1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080
1897   <IP_ADDRESS>:31293        NodePort       1 => <IP_ADDRESS>:8080
                                           2 => <IP_ADDRESS>:8080

Core changes of the POC:
$ git d
diff --git a/pkg/k8s/service.go b/pkg/k8s/service.go
index baf6f73b44..0ac13b440a 100644
--- a/pkg/k8s/service.go
+++ b/pkg/k8s/service.go
@@ -441,7 +441,10 @@ func NewService(ips []net.IP, externalIPs, loadBalancerIPs, loadBalancerSourceRa

        if option.Config.EnableNodePort {
                k8sExternalIPs = parseIPs(externalIPs)
-               k8sLoadBalancerIPs = parseIPs(loadBalancerIPs)
+               //      --enable-in-cluster-xlation-for-load-balancer-vip
+               if !option.Config.EnableInClusterXlationForLoadBalancerVip {
+                       k8sLoadBalancerIPs = parseIPs(loadBalancerIPs)
+               }
        }

Thanks for your time!

@brb PTAL

@ArthurChiao Thanks for the CFP. I think you can achieve this today with https://kubernetes.io/docs/reference/labels-annotations-taints/#servicekubernetesioservice-proxy-name and Cilium's flag --k8s-service-proxy-name. By setting different values, Cilium would hand off service provisioning (and thus, handling) to some other entity, e.g. to the external LB in your case.

Thanks, @brb @aanm, just learned something new :)
After reading through the doc you provided (and also the source code), I think it could solve our problem with the following work if I understand it correctly:

Annotate all existing k8s Services except LoadBlancer type ones with service.kubernetes.io/service-proxy-name: "cilium" (we do not have the service.kubernetes.io/service-proxy-name right now);
Make sure all newly created k8s Services except LoadBlancer type ones have service.kubernetes.io/service-proxy-name: "cilium" annotation;
Add --k8s-service-proxy-name=cilium to cilium-agent and restarts all agents

But just out of curiosity, it seems my above question didn't get answered:

Does the current behavior of Cilium is a faithful implementation of Kubernetes standard, or a custom optimization?

I'd be really glad if you can share your ideas on this topic (and, I think my proposal works in different layer from where the k8s-service-proxy-name works).

Does the current behavior of Cilium is a faithful implementation of Kubernetes standard, or a custom optimization?

It's a faithful implementation of what kube-proxy does + custom optimizations which are enabled via flags.

Thanks!


Fix Component names in usage example

Closes: https://github.com/graphql/graphiql/issues/302

@joelgriffith, this fixes the issue you pointed out in #302. Additionally also looks like we had a closing tag that was malformed (<GraphiQL...> rather than </GraphiQL...>) so I fixed that too.

Thanks @wincent


🍒[5.7][Distributed] Implement distributed computed properties

Description: Add support for parsing distributed var  :  { ... } declarations and type-checking them by injecting distributed thunks during Sema.
Risk: Low, applies only to distributed properties and funcs.
Review by: @DougGregor
Testing: PR testing, validated the toolchain against complex project
Original PR: https://github.com/apple/swift/pull/59481
Radar: rdar://91283164

@swift-ci please build toolchain
@swift-ci please test

Failure was
Failed Tests (1):
lldb-shell :: SwiftREPL/ImportFoundation.test

@swift-ci smoke test macOS

@swift-ci please test macOS


www.googleapis.com

This list seems to be blocking www.googleapis.com which breaks the Google Drive Windows app (Backup and Sync by Google).

Ping @bjornstar.
Thanks @kielby please stand by.

I've updated my list, fixed in https://github.com/bjornstar/hosts/commit/8d091336e6e549a6bdcb05f125576b5765b3b5c3

I got burned too in Mail.app this morning where Gmail login failed.
Intended to drop by and report the issue... thanks for the lists and quick fix.
Btw, I wrote a little story about this incident on my blog.

@StevenBlack same thing with spotify >> https://github.com/bjornstar/hosts/issues/3

Thanks everybody, @bjornstar I'm going to drop the repo for now until we can sort these things out.  Adding a new repo is always rough...

Sorry about that @kvic-z a fix is imminent.  Thanks for your patience.

OK, release 1.3.9 is live and online, thanks to everyone.

I admit @bjornstar 's list was too customized for his personal needs(which is ok but not when it's part of much bigger lists that is intend for broader audience).Too many legit domains were blocked and it would need very careful revision.

Again googleadapis.l.google.com is blocked in recent hosts list which blocks google fonts and many other api related libraries.

Resolved in https://github.com/FadeMind/hosts.extras/commit/ea7682de538ea342381a101bdf7a4d27c59c6c68


[Feat]: 1 svg can have multiple categories

For example Wordpress is a software and a CMS

Can I help with this or have you already worked on something similar?

https://github.com/pheralb/svgl/pull/143

Ready 🚀
https://github.com/pheralb/svgl?tab=readme-ov-file#-getting-started


Support Python 3.11

rally-tracks-compat will get green after Yes, see https://github.com/elastic/rally-tracks/pull/345 has been merged.

@elasticmachine update branch please

Closing as it's going to be easier to do when we'll have switched to Buildkite for CI.


The external link symbol is absent in dark mode

The little square with the arrow pointing out of the top-right corner is missing in dark mode. Other symbols could also be missing, but I do not know of any others.

Canvas just added new symbols next to almost all hyperlinks; e.g, downloads or external urls. I believe none of them are in dark mode as of right now. Will work to fix that!

The issue should be resolved as of v.1.3.5.


Review of schema elements

The following TEI elements have been used but aren't in our customization of the schema and will now be added:

damage (see #20)
subst (see #14)

The following also isn't in our schema, and has been used (once), but not to do anything for which there isn't already a suitable alternative:

docTitle

The following is in our schema, hasn't been used, and I propose to remove it as an unnecessary complication:

schemaRef

The following seem out-of-scope for manuscripts, so I think also should be removed unless/until there is a need:

correspAction
correspContext
correspDesc

The following are in our schema, haven't been used yet, but I think they have potential uses:

am
authority
cit
district
geogFeat (a child of geogName, which has been used, although incorrectly)
l
lg
licence
msFrag
msItemStruct (there's no reason to use this over msItem in a new description, but someone might come along with legacy data which uses it)
objectType
orig
projectDesc
q
reg
relatedItem
scriptDesc
scriptNote
surfaceGrp (for grouping surface element, which have been used, although a lot of the time incorrectly retained when someone re-used someone else's template)
sponsor
typeDesc
zone (child of surface)

Updating the schema will also upgrade the underlying TEI from 3.2.0 to 3.4.0, including the following changes:
http://www.tei-c.org/release/doc/tei-p5-doc/readme-3.3.0.html
http://www.tei-c.org/release/doc/tei-p5-doc/readme-3.4.0.html
I cannot spot any radical changes but I'll test the effect on validation.

Also I think (docAuthor)[http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-docAuthor] should be removed. It has been used only twice, and only as a synonym for author.

I am proceeding with this quick tidy-up, and opening a new issue for discussion of wider changes.


Simple storage method syntax consistency question

I was getting an error while trying to delete a saved item, and looking at the source code noticed that the get method requires the id of the item itself, but delete requires you to pass the whole object (or any object that has a property of id with the id you're trying to delete). See here.
I'm wondering if this is as designed? Or is this a bug and delete should accept just the id itself? The docs seem to imply you only need to pass the id itself. ex:
controller.storage.users.delete(id, function(err) {...});

Happy to submit a PR if this is a bug.

This has been fixed.


R package github-actions fail when depending on precompiled tarball

I am trying to set up my CI for a package which depends on the precompiled linux_gpu R tarball.
The error is this:
  ✖ Failed to build xgboost <IP_ADDRESS>
  Error:
  ! error in pak subprocess
  Caused by error in `stop_task_build(state, worker)`:
  ! Failed to build source package 'xgboost'
  Full installation output:
  * installing *source* package ‘xgboost’ ...
  staged installation is only possible with locking
  ** using non-staged installation
  ** libs
  make: Nothing to be done for 'all'.
  ** R
  ** data
  ** demo
  ** inst
  ** byte-compile and prepare package for lazy loading
  ** help
  *** installing help indices
  ** building package indices
  ** installing vignettes
  ** testing if installed package can be loaded
  Error: Error: package or namespace load failed for ‘xgboost’ in library.dynam(lib, package, package.lib):
   shared object ‘xgboost.so’ not found
  Error: Error: loading failed
  Execution halted

according to someone at Posit (formerly Rstudio), the cause is this:

But the package is not prepared for this, and the shared library will not be included in the built package, so when pak tried to  call R CMD INSTALL on it, that fails because of the missing .so file.

Any recommendations on how to set up github-actions for an R package -- preferably with modifications to the gh-actions scripts provided by usethis -- which depends on the precompiled-with-gpu tarballs?

@cmatKhan Is it possible for you to run R CMD INSTALL ./xgboost_r_gpu_linux.tar.gz from the command line?

Yes -- the problem is specifically with pak it turns out. I was getting help on the Posit board, also -- here is the resolution:
https://community.rstudio.com/t/github-actions-with-remote-url-in-description/159838/9?u=chasem
Basically, github actions uses pak and pak somehow isn't installing the tarball. However, it works through renv and with install.packages, so it isn't really a problem with the tarbal, but with pak.

Good to hear that the issue was resolved.


Add missing data of Pipeline build

What this PR dose

Add missing data of Pipeline build, like commit id, commit url, pull request and branch
Refine other fields' type

Why we need it
We should try our best to mirror more data for end user.

Codecov Report

Merging #21 (8b252d6) into main (bc7dc0a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #21   +/-   ##
=======================================
  Coverage   68.94%   68.94%
=======================================
  Files          35       35
  Lines        1858     1858
=======================================
  Hits         1281     1281
  Misses        512      512
  Partials       65       65

Flag
Coverage Δ

unittests
68.94% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/job/blueocean.go
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


fix: Fixes Codecov (t2)

Signed-off-by: Andrii Soluk<EMAIL_ADDRESS>

Codecov Report

Merging #26 into main will decrease coverage by 5.61%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #26      +/-   ##
==========================================
- Coverage   77.48%   71.87%   -5.62%
==========================================
  Files           3        1       -2
  Lines         382      160     -222
==========================================
- Hits          296      115     -181
+ Misses         49       27      -22
+ Partials       37       18      -19

Impacted Files
Coverage Δ

component/storage/couchdb/store.go
71.87% <ø> (ø)

component/storage/mysql/store.go

component/storage/mongodb/mongodb.go

Continue to review full report at Codecov.

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


Make better use of the environments map

Expected Behavior
We should make better use of information in the cb_accounts_map instead of having cb_accounts_map, environment_names, cb_iam_role, and cp_tf_manual_approval that all have to have matching names etc.
Actual Behavior
Currently, we have a number of different variables that all need to match.

@StratusChris cb_iam_role will be removed in v2.
I have removed environment_names under 5f7d8e6419acfcc27c3781acc11eae8f2be93cc4 and I'm extracting them from the hashtable map now. cb_tf_manual has been replaced with a key value under cb_accounts_map and that is fixed under 7c78c34360954036a2cadfbfdbcb35f67f71d59e


Add a counter

Make a counter that shows which turn the player is on. Also, make the counter show which cat press one is on. Does that make sense?
Like, for example, I'm on turn 13, and I've pressed 4 cats. So the counter would show 4/ 13.

Ended up making a fish SVG and just show the number of turns beside it. Kinda was a more attractive option


Plot time increases after 1st plot.

Anybody facing similar issue? I'm scratching my head over this..
I'm using bladebit 3.1 to create C7 plots on Ubuntu 22.04, Nvidia 4070., 128GB RAM and two 2TB NVMEs (one for temp and one for final plots). Computer is not performing other task at all (not even moving plots to my final location). First plot creation is around 4 minutes then other plots, plotting time increases to about 10 minutes. I tried to create only 1 plot then start over the process but result is the same. Restarting is the only solution to make plot time go back to 4 minutes. Any idea what might be happening?
Thank you!
Total plot time for the 1st plot: A bit over 4 minutes
Total plot time for other plots: about 10 minutes.
---- FIRST PLOT -----
Generating F1
Finished F1 in 1.41 seconds.
Table 2 completed in 3.55 seconds with<PHONE_NUMBER> entries.
Table 3 completed in 40.64 seconds with<PHONE_NUMBER> entries.
Table 4 completed in 30.94 seconds with<PHONE_NUMBER> entries.
Table 5 completed in 9.69 seconds with<PHONE_NUMBER> entries.
Table 6 completed in 9.67 seconds with<PHONE_NUMBER> entries.
Table 7 completed in 9.62 seconds with<PHONE_NUMBER> entries.
Finalizing Table 7
Finalized Table 7 in 39.32 seconds.
Completed Phase 1 in 144.86 seconds
---- SUBSEQUENT PLOTS ----
Generating F1
Finished F1 in 1.43 seconds.
Table 2 completed in 3.59 seconds with<PHONE_NUMBER> entries.
Table 3 completed in 53.35 seconds with<PHONE_NUMBER> entries.
Table 4 completed in 73.15 seconds with<PHONE_NUMBER> entries.
Table 5 completed in 74.74 seconds with<PHONE_NUMBER> entries.
Table 6 completed in 84.04 seconds with<PHONE_NUMBER> entries.
Table 7 completed in 83.55 seconds with<PHONE_NUMBER> entries.
Finalizing Table 7
Finalized Table 7 in 78.18 seconds.
Completed Phase 1 in 452.04 seconds

Non enterprise ssds tend to greatly reduce the write/read speed as the filled space increases.
Try to benchmark your ssd while it is empty and full and see the difference.

Non enterprise ssds tend to greatly reduce the write/read speed as the filled space increases. Try to benchmark your ssd while it is empty and full and see the difference.

Hello.  That is not the case as it doesn't matter if ssd is empty of full, plot speed increase a lot after the first plot.

I may have a similar problem...
I can have dozens of 10 minutes plots on 2 nvmes alternating t1/t2/output but sometimes the plot time increases to 30 min until i restart the PC...
Plotting on Windows with 128gb ram and r7 7800x3d
I cant find the reason....
NVMe has its own 120mm fan so temps are quite whithin specs mostly of the time.

i was able to fix my issue installing a fresh win11  instead of win 10


🐛 Select / Columns alias bug with prefix

No duplicates 🥲.

[X] I have searched for a similar issue in our bug tracker and didn't find any solutions.

Database
MySQL
What happened?
I have a bug when I try to use alias on select or column, the "prefix" is added wrongly to the field.
I have try with select and column and the same bug happend, but it's works well with alias on form.
Example :
$select = $dbal->database('default')->select()->from('col as c')->columns(['id_col as id']); $sqlStatement = $select->sqlStatement();
Result:
SELECT myprefix_id_col AS id
FROM myprefix_col AS c
So I don't know why the query get "myprefix_id_col" instead of "id_col" in the SELECT.
Thanks
Version
database 2.4
PHP 8.0.13

Fixed in v2.4.1
Thanks.


collagen

I have some definitions for collagen-related cellular component terms
in the works, along with a couple of new terms and a bit of
rearrangement. Details will go in here for completeness...
Reported by: mah11
Original Ticket: "geneontology/ontology-requests/1652":https://sourceforge.net/p/geneontology/ontology-requests/1652

thanks www.movied.org


[BEAM-151] Enable integration tests underneath google-cloud-dataflow-java

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

[X] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[X] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[X] Replace "<Jira issue #>" in the title with the actual Jira issue
number, if there is one.
[X] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Added surefire.dependencyToScan and surefire.testPipelineOptions configuration options
surefire.dependencyToScan adds an additional dependency used to find tests.
This allows for java-sdk-all to be added to all runners for running
the @Category(RunnableOnService.class) tests.
surefire.testPipelineOptions configures the pipeline options used while
constructing instances of a TestPipeline. A json list of arguments
is expected, for example:
[ "--runner=MyRunner", "--myRunnerOption=myRunnerValue" ]

R: @davorbonaci
Please review and after merge update Jenkins to use:
mvn -B -e -pl runners/google-cloud-dataflow-java -am -P DataflowPipelineTests clean verify -Ddataflow.testPipelineOptions=...
Where -Ddataflow.testPipelineOptions replaces -DdataflowOptions
Currently this change will run all the java-sdk-all tests while building that module, afterwards it will only run the @Category(RunnableOnService.class) tests.

Will revisit how this is being done and potentially come up with new proposal.


Events available on map but not in Calendar/Events list

Hi there!
Not sure how that works as I haven't read the code yet, but some of the events available on the map but not in the events list nor the calendar.
Examples are all the Scottish usergroups, that retrieve calendars from opentechcalendar (ical), and are not in the calendar page.
Any leads to fix that?

This is indeed strange behaviour.... They should be listed in the calendar as well! I'll dig into that later today!

Found the reason for it. The scottish usergroups (and some of the english ones) use opentechcalendar.co.uk which creates faulty iCalendar-files :frowning:
To be sure that the calendar is ok I'm using sabre/vobjects validate-function which checks the calendars for errors. Those calendars are missing a DTSTAMP-Field. As that's reported as error I've skipped those calendars (even though they are OK for the usage on php.ug).
I'm fixing that currently and will also get in touch with the people from opentechcalendar.co.uk to give them the possibility to fix that.
Thanks for pointing out the issue!

OTC fixed

Great work @jarofgreen! Thanks! The ics-Files from OTC are already live and showing on php.ug!


Make rest sensor and binary sensor more efficient

Description:
I am proposing the following small changes to the rest sensor and rest binary sensor:

Currently, if the initial rest call fails when setting up a rest binary sensor that binary sensor will not be created. I propose to create the binary sensor anyway and keep trying fetching the rest resource to update the status. The component is already capable of handling the case where the rest resource is unavailable.
Currently, both - rest sensor and rest binary sensor - fetch the rest resource twice during the setup. Once manually, and then again through the add_devices call. I propose to initially only make one call to fetch the rest resource.
I also fixed up several test assertions that aren't currently working as expected. The tests pass but the assertions aren't working as intended.

Related issue (if applicable): n/a
Pull request in home-assistant.github.io with documentation (if applicable): n/a
Example entry for configuration.yaml (if applicable):
n/a
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

@fabaff: As suggested I changed the setup of the sensors to raise PlatformNotReady. However this approach requires to fetch the rest resource within the setup method. To keep avoiding fetching that same resource again immediately after the setup I introduced throttling access to the RestData#update method to 10 seconds.

You could set this parameter to false:
https://github.com/exxamalte/home-assistant/blob/bf5edd37d08dbfa0dbe68d3ae1d975d46a47f672/homeassistant/components/binary_sensor/rest.py#L74
To avoid the first update call.

@syssi: That approach would work for the rest binary sensor. However, if the rest sensor isn't updated immediately it remains in an unknown state(i.e. self._state remains STATE_UNKNOWN).

Are there any more suggestions to improve this PR or can it be merged please?

The problem with throttling the update method is you cannot use a SCAN_INTERVAL < 10 seconds anymore. :-(

Yes, that is correct.
So, if update intervals <10 seconds are important, then how about the following compromise: I remove the throttling of the update and remove the immediate update of the rest binary sensor. This means that the rest sensor will still update twice during the initial setup.
In a next step (future PR) I will look at how to refactor the two sensors (and I found a few others that make use of the RestData class) in a way that makes their behaviour more consistent and avoids the two updates during setup.

@syssi: Is this now ready to be merged?

Is there anything left to do for this PR, or can this be merged now?


Doc/customized known hosts

a simple typo (double file)
also adding a pointer to the doc (it was not immediately clear in this file, how to exactly do this; with the site documentation, it is OK).
explain that Maintainer permissions are needed in the Gitlab context.
explain that to create the configmap for the known_hosts on a container, the namespace needs to be explicitly given
explain that the configmap can also be generated from a proper template.

Thanks :-)