gintro install may fail for Arch Linux

Recently there have been again vague hints that gintro install may fail for Arch Linux, maybe due to the libsoup v2 vs. v3 issues. Unfortunately we have not been able to reproduce this, or have been able to guess a possible reason. Currently, we have not the time available to set up a Arch Linux box to prove this issue. So when you should have problems with Arch:
Do
nimble uninstall gintro
nimble install gintro@#head
And report the result as detailed as possible. Or even better, try to find the reason for the issue yourself. If you should be able to prove that there are at least a dozen people that have a high demand to use gintro, but suffer from this issue, them we may actually install Arch Linux ourselves and investigate the issue in detail. But for one or two people, that may just try out gintro, and would not really use it, we can really not do such an expensive task, sorry.

Well, actually there is some progress. We manage to get an Arch Linux box for testing, and found out that recent Arch Linux ships a libnice which uses already libsoup3. Most other distributions including our Gentoo have a libnice using libsoup2.4 still, and this generates all the libsoup2/libsoup3 trouble. As Mr. Jens Georg told us in https://discourse.gnome.org/t/libnice-should-have-libsoup-as-depency/9320 libnice does a hidden indirect import of libsoup by gupnp. So the suggested solution is to process gupnp, finding out which libsoup version it is using by a call of g_irepository_is_registered(gi, "Soup", "2.4"), and then proceeding in a safe way adapted to the local box. This should work for most library combinations. One problem, which we can not really avoid currently, is, that a box with a libnice using still libsoup2.4, but with installed webkitgtk2 v4.1, and no webkitgtk2 v4.0, will get no webkitgtk2 support for GTK3. But it will get  webkitgtk2 support for GTK4 if that lib is installed, and when the user manages to additional install webkitgtk2 v4.0, then that version will be available for Nim too.
This should be good enough for now -- soon libsoup2.4 should vanish, and all will become much simpler again.
Currently this is our strategy, we have to test it still.

I'm on Fedora Silverblue and getting this same libsoup2/3 error. Fedora usually ships newer packages, too.

nimble install gintro

Downloading https://github.com/stefansalewski/gintro using git
preparing gintro
--2023-07-21 18:34:57--  https://raw.githubusercontent.com/StefanSalewski/oldgtk3/master/oldgtk3/gobject.nim
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8003::154, 2606:50c0:8000::154, 2606:50c0:8001::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8003::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 108015 (105K) [text/plain]
Saving to: ‘gobject.nim’
gobject.nim                               100%[===================================================================================>] 105.48K  --.-KB/s    in 0.03s
2023-07-21 18:34:58 (3.89 MB/s) - ‘gobject.nim’ saved [108015/108015]
--2023-07-21 18:34:58--  https://raw.githubusercontent.com/StefanSalewski/oldgtk3/master/oldgtk3/glib.nim
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8003::154, 2606:50c0:8000::154, 2606:50c0:8001::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8003::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 256798 (251K) [text/plain]
Saving to: ‘glib.nim’
glib.nim                                  100%[===================================================================================>] 250.78K  --.-KB/s    in 0.05s
2023-07-21 18:34:58 (5.23 MB/s) - ‘glib.nim’ saved [256798/256798]
--2023-07-21 18:34:58--  https://raw.githubusercontent.com/StefanSalewski/oldgtk3/master/oldgtk3/gir.nim
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8001::154, 2606:50c0:8002::154, 2606:50c0:8003::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8001::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33340 (33K) [text/plain]
Saving to: ‘gir.nim’
gir.nim                                   100%[===================================================================================>]  32.56K  --.-KB/s    in 0.006s
2023-07-21 18:34:58 (4.94 MB/s) - ‘gir.nim’ saved [33340/33340]
Hint: used config file '/var/home/e/.choosenim/toolchains/nim-1.6.14/config/nim.cfg' [Conf]
Hint: used config file '/var/home/e/.choosenim/toolchains/nim-1.6.14/config/config.nims' [Conf]
.........................................................................................
/tmp/gintrosalewski/glib.nim(46, 13) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(788, 34) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(794, 30) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(796, 62) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(799, 59) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(801, 66) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(1078, 45) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(1085, 69) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(2099, 51) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(2104, 37) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(2110, 62) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(2111, 36) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(2113, 64) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(3793, 29) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(3840, 33) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(3842, 30) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(4836, 13) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/glib.nim(5727, 12) Warning: unsafe conversion to 'cstring' from 'ptr cchar'; this will become a compile time error in the future [PtrToCstringConv]
/tmp/gintrosalewski/glib.nim(1806, 3) Hint: 'G_TRAVERSE_MASK' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(1807, 3) Hint: 'G_TRAVERSE_LEAFS' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(1808, 3) Hint: 'G_TRAVERSE_NON_LEAFS' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(22, 3) Hint: 'GLIB_H_INSIDE' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(23, 3) Hint: 'GLIB_COMPILATION' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(26, 3) Hint: 'MINGW_H' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(27, 3) Hint: 'STDLIB_H' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(29, 3) Hint: 'MSC_VER' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(2911, 3) Hint: 'G_NORMALIZE_NFD' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(2912, 3) Hint: 'G_NORMALIZE_NFC' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(2913, 3) Hint: 'G_NORMALIZE_NFKD' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(2914, 3) Hint: 'G_NORMALIZE_NFKC' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(3040, 3) Hint: 'G_IO_FLAGS_GET_MASK' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(31, 3) Hint: 'GTK_DOC_IGNORE' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(34, 3) Hint: 'INC_STDLIB' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/glib.nim(4652, 3) Hint: 'G_REGEX_MATCH_PARTIAL_SOFT' is declared but not used [XDeclaredButNotUsed]
.
/tmp/gintrosalewski/gobject.nim(2351, 46) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/gobject.nim(2353, 32) Warning: use char or uint8 instead; cuchar is deprecated [Deprecated]
/tmp/gintrosalewski/gobject.nim(658, 3) Hint: 'G_PARAM_READWRITE' is declared but not used [XDeclaredButNotUsed]
.............
/tmp/gintrosalewski/gen.nim(937, 34) Warning: implicit conversion to 'cstring' from a non-const location: mangleName(child); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(937, 35) Warning: implicit conversion to 'cstring' from a non-const location: child; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(957, 34) Warning: implicit conversion to 'cstring' from a non-const location: mangleName(child); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(957, 35) Warning: implicit conversion to 'cstring' from a non-const location: child; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(980, 36) Warning: implicit conversion to 'cstring' from a non-const location: mangleName(child); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(980, 37) Warning: implicit conversion to 'cstring' from a non-const location: child; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1011, 48) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(iface); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1013, 30) Warning: implicit conversion to 'cstring' from a non-const location: $gBaseInfoGetName(iface); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1027, 32) Warning: implicit conversion to 'cstring' from a non-const location: result[0]; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1037, 39) Warning: implicit conversion to 'cstring' from a non-const location: result.namePlain; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1038, 41) Warning: implicit conversion to 'cstring' from a non-const location: result.namePlainNS; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1042, 36) Warning: implicit conversion to 'cstring' from a non-const location: result.name00; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1047, 38) Warning: implicit conversion to 'cstring' from a non-const location: result.name00NS; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1052, 32) Warning: implicit conversion to 'cstring' from a non-const location: result[0]; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1086, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1352, 11) Warning: use delete(s, first..last); delete is deprecated [Deprecated]
/tmp/gintrosalewski/gen.nim(1598, 9) Warning: use delete(s, first..last); delete is deprecated [Deprecated]
/tmp/gintrosalewski/gen.nim(1200, 67) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(binfo); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1202, 53) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(binfo); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1238, 66) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(binfo); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1242, 53) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetQualifiedName(binfo, modPrefix); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1245, 49) Warning: implicit conversion to 'cstring' from a non-const location: i; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1249, 68) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetQualifiedName(binfo, modPrefix); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1256, 47) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(arg); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1366, 51) Warning: implicit conversion to 'cstring' from a non-const location: i; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1540, 50) Warning: implicit conversion to 'cstring' from a non-const location: mangleName(gBaseInfoGetQualifiedName(h, modPrefix)); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1540, 76) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetQualifiedName(h, modPrefix); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1543, 54) Warning: implicit conversion to 'cstring' from a non-const location: mangleName(gBaseInfoGetQualifiedName(h, modPrefix)); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1543, 80) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetQualifiedName(h, modPrefix); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2012, 45) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(minfo); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2023, 13) Warning: implicit conversion to 'cstring' from a non-const location: h; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2030, 46) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2039, 46) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2112, 77) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1822, 46) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(arggensym196); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(1847, 45) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(arggensym196); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(1822, 46) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(arggensym235); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(1847, 45) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(arggensym235); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2152, 95) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2426, 93) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2585, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2586, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2588, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2590, 121) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2593, 45) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(field); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2596, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2597, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2598, 69) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2461, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2472, 126) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2476, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2480, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2484, 92) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2490, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2494, 88) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2517, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2538, 102) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2553, 98) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2561, 100) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2684, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2685, 56) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2686, 56) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2701, 108) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2702, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2704, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2705, 121) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2707, 32) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2709, 89) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2714, 45) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(field); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2722, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2724, 57) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2726, 57) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2727, 69) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2461, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2472, 126) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2476, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2480, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2484, 92) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2490, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2494, 88) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2745, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2749, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2753, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2756, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2758, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2517, 110) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2538, 102) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2553, 98) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2561, 100) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2822, 53) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2823, 53) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2803, 40) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2807, 43) Warning: implicit conversion to 'cstring' from a non-const location: igensym467; this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2809, 51) Warning: implicit conversion to 'cstring' from a non-const location: "sc_" & $gBaseInfoGetName(signalInfo); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2848, 43) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(value); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2857, 42) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2893, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2895, 62) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2907, 43) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(value); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2923, 42) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2986, 40) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(parent); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3009, 24) Warning: implicit conversion to 'cstring' from a non-const location: pname; this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3010, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3013, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3022, 55) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3024, 53) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3025, 11) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3027, 106) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3031, 11) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(3046, 33) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2803, 40) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv] /tmp/gintrosalewski/gen.nim(2807, 43) Warning: implicit conversion to 'cstring' from a non-const location: igensym524; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(2809, 51) Warning: implicit conversion to 'cstring' from a non-const location: "sc_" & $gBaseInfoGetName(signalInfo); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3076, 71) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(class); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3092, 40) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3094, 92) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3138, 42) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3145, 92) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(info); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3158, 67) Warning: implicit conversion to 'cstring' from a non-const location: freeMeName; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3231, 43) Warning: implicit conversion to 'cstring' from a non-const location: h; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(3247, 57) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(i); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4008, 9) Warning: use delete(s, first..last); delete is deprecated [Deprecated]
/tmp/gintrosalewski/gen.nim(4015, 9) Warning: use delete(s, first..last); delete is deprecated [Deprecated]
/tmp/gintrosalewski/gen.nim(3999, 60) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(gIrepositoryGetInfo(gi, namespace, i)); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4004, 47) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(i); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4039, 48) Warning: implicit conversion to 'cstring' from a non-const location: n; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4054, 45) Warning: implicit conversion to 'cstring' from a non-const location: n; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4154, 51) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(k); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4162, 51) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(k); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4196, 59) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(k); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4200, 65) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(k); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4200, 100) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(it); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4207, 59) Warning: implicit conversion to 'cstring' from a non-const location: gBaseInfoGetName(k); this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(4301, 41) Warning: implicit conversion to 'cstring' from a non-const location: i; this will become a compile time error in the future [CStringConv]
/tmp/gintrosalewski/gen.nim(213, 6) Hint: 'endsWith' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/gen.nim(265, 6) Hint: 'renumber' is declared but not used [XDeclaredButNotUsed]
/tmp/gintrosalewski/gen.nim(69, 10) Hint: 'isTypeInfo' is declared but not used [XDeclaredButNotUsed]
Hint:  [Link]
Hint: gc: refc; opt: none (DEBUG BUILD, -d:release generates faster code)
71289 lines; 0.827s; 117.273MiB peakmem; proj: /tmp/gintrosalewski/gen.nim; out: /tmp/gintrosalewski/gen [SuccessX]
First we try generating bindings for GTK4, this may fail when GTK4 is not properly installed
on your computer. But don't worry, you can still use GTK3
Can't load gtk4 library!
gtk4....................: Remaining delayed methods: 0 (Fine!)
gdk4....................: Remaining delayed methods: 0 (Fine!)
gdkx114.................: Remaining delayed methods: 0 (Fine!)
gsk.....................: Remaining delayed methods: 0 (Fine!)
graphene................: Remaining delayed methods: 0 (Fine!)
gobject.................: Remaining delayed methods: 0 (Fine!)
glib....................: Remaining delayed methods: 0 (Fine!)
gio.....................: Remaining delayed methods: 0 (Fine!)
gdkpixbuf...............: Remaining delayed methods: 0 (Fine!)
gmodule.................: Remaining delayed methods: 0 (Fine!)
Failed to load GtkSource
Requiring namespace 'Gtk' version '3.0', but '4.0' is already loaded
Maybe for your OS you have to install additional GTK related packages?
We continue with the remaining packages...
atk.....................: Remaining delayed methods: 0 (Fine!)
pango...................: Remaining delayed methods: 0 (Fine!)
pangocairo..............: Remaining delayed methods: 0 (Fine!)
pangoft2................: Remaining delayed methods: 0 (Fine!)
fontconfig..............: Remaining delayed methods: 0 (Fine!)
freetype2...............: Remaining delayed methods: 0 (Fine!)
harfbuzz................: Remaining delayed methods: 0 (Fine!)
rsvg....................: Remaining delayed methods: 0 (Fine!)
xlib....................: Remaining delayed methods: 0 (Fine!)
notify..................: Remaining delayed methods: 0 (Fine!)
Fontconfig warning: "/home/e/.config/fontconfig/fonts.conf", line 4: Use of ambiguous path in  element. please add prefix="cwd" if current behavior is desired.
adw.....................: Remaining delayed methods: 0 (Fine!)
soup....................: Remaining delayed methods: 0 (Fine!)
cairo...................: Remaining delayed methods: 0 (Fine!)
Failed to load WebKit2
Typelib file for namespace 'WebKit2', version '5.0' not found
Maybe for your OS you have to install additional GTK related packages?
We continue with the remaining packages...
Failed to load JavaScriptCore
Typelib file for namespace 'JavaScriptCore', version '5.0' not found
Maybe for your OS you have to install additional GTK related packages?
We continue with the remaining packages...
Failed to load WebKit2WebExtension
Typelib file for namespace 'WebKit2WebExtension', version '5.0' not found
Maybe for your OS you have to install additional GTK related packages?
We continue with the remaining packages...
gst.....................: Remaining delayed methods: 0 (Fine!)
gstbase.................: Remaining delayed methods: 0 (Fine!)
gstallocators...........: Remaining delayed methods: 0 (Fine!)
gstapp..................: Remaining delayed methods: 0 (Fine!)
gstaudio................: Remaining delayed methods: 0 (Fine!)
gstcheck................: Remaining delayed methods: 0 (Fine!)
gstcontroller...........: Remaining delayed methods: 0 (Fine!)
gstgl...................: Remaining delayed methods: 0 (Fine!)
gstinsertbin............: Remaining delayed methods: 0 (Fine!)
gstmpegts...............: Remaining delayed methods: 0 (Fine!)
gstnet..................: Remaining delayed methods: 0 (Fine!)
gstplayer...............: Remaining delayed methods: 0 (Fine!)
gstrtp..................: Remaining delayed methods: 0 (Fine!)
Caution: Do guess  free/unref for   (gst_rtsp_transport_new)
gstrtsp.................: Remaining delayed methods: 0 (Fine!)
gstsdp..................: Remaining delayed methods: 0 (Fine!)
gsttag..................: Remaining delayed methods: 0 (Fine!)
gstvideo................: Remaining delayed methods: 0 (Fine!)
gstwebrtc...............: Remaining delayed methods: 0 (Fine!)
gstapp..................: Remaining delayed methods: 0 (Fine!)
gstpbutils..............: Remaining delayed methods: 0 (Fine!)
Generating bindings for GTK3...
gtk.....................: Remaining delayed methods: 0 (Fine!)
gdk.....................: Remaining delayed methods: 0 (Fine!)
gdkx11..................: Remaining delayed methods: 0 (Fine!)
graphene................: Remaining delayed methods: 0 (Fine!)
gobject.................: Remaining delayed methods: 0 (Fine!)
glib....................: Remaining delayed methods: 0 (Fine!)
gio.....................: Remaining delayed methods: 0 (Fine!)
gdkpixbuf...............: Remaining delayed methods: 0 (Fine!)
gmodule.................: Remaining delayed methods: 0 (Fine!)
gtksource...............: Remaining delayed methods: 0 (Fine!)
atk.....................: Remaining delayed methods: 0 (Fine!)
pango...................: Remaining delayed methods: 0 (Fine!)
pangocairo..............: Remaining delayed methods: 0 (Fine!)
pangoft2................: Remaining delayed methods: 0 (Fine!)
fontconfig..............: Remaining delayed methods: 0 (Fine!)
freetype2...............: Remaining delayed methods: 0 (Fine!)
harfbuzz................: Remaining delayed methods: 0 (Fine!)
rsvg....................: Remaining delayed methods: 0 (Fine!)
xlib....................: Remaining delayed methods: 0 (Fine!)
vte.....................: Remaining delayed methods: 0 (Fine!)
notify..................: Remaining delayed methods: 0 (Fine!)
handy...................: Remaining delayed methods: 0 (Fine!)
soup....................: Remaining delayed methods: 0 (Fine!)
(gen:38014): libsoup-ERROR **: 18:35:50.091: libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
stack trace: (most recent call last)
/tmp/nimblecache-1701593959/nimscriptapi_2654171384.nim(199, 29)
/tmp/nimble_37738/githubcom_stefansalewskigintro/gintro.nimble(77, 7) installBefore
/tmp/nimble_37738/githubcom_stefansalewskigintro/gintro.nimble(65, 7) prep
/var/home/e/.choosenim/toolchains/nim-1.6.14/lib/system/nimscript.nim(273, 7) exec
/var/home/e/.choosenim/toolchains/nim-1.6.14/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: /tmp/gintrosalewski/gen [OSError]
Tip: 4 messages have been suppressed, use --verbose to show them.
Error: Exception raised during nimble script execution

Wait.

First we try generating bindings for GTK4, this may fail when GTK4 is not properly installed

Are you actually using the latest Gintro package?
Did you install as advertised with
nimble uninstall gintro
nimble install gintro@#head

I have some serious doubts, as since a year or so, and since the latest libsoup fix, we install GTK3 bindings first. (Of course, above uninstall command may be not necessary, but I am using it to be sure that all old stuff is removed.) When you wonder about @#head, that might be an indication that you have not looked at the README at all -- it is, because Gintro reached version 0.9.9 long time ago already, and we hesitated to make a 1.0.

I installed @#head after posting this issue and got it to work. The README still clearly states that to "try it out" I should just nimble install gintro. I hit some other issues though, probably shallowly related to your project.
I was looking at bindings in other modern languages, but nothing beats Nim in my eyes. I'm specifically in the process of learning GTK, so no big projects, and I probably wont try another framework RN. I'll have a look at Owlkettle, though, it looks really cool!
It's probably a good idea to have an explicity disclaimer in the README if your own idea of gintro is that it probably shouldn't be used any longer.

it probably shouldn't be used any longer.

It is a difficult topic. I have to use it myself still, as I have no real replacement, I have this old SDT project: https://github.com/StefanSalewski/SDT. And doubts that another Nim GUI may be able to replace GTK for it in in the next few decades. But well, SDT is a serious project, started in 2012 in Ruby, then I created Gintro and ported to Nim. My feeling is, that most other Nim users are doing only toy projects, so other GUIs may be good enough and may be more fun. GTK is generally used by only very few people still, look at the Gnome forum, or search for new projects at GitHub: There is nothing. GTK4 has not make GTK more popular. And learning GTK is very much work, I started with GTK in 2006 and still know only parts of it, while I may have spent more than 1000 hours for learning, started in 2007 with the book of A. Krause. I think there are two people who really know GTK -- E. Bassi and C. Larsen. Bassi is still on the Gnome forum. As you may know, beside the Nim book, I started writing the GTK4 one, which is still only 25% finished, and I think I will not continue with it, as no one is really interested. Maybe in next winter i will remove Gintro from GitHub, should be OK as I have the feeling that no one is using it still. Personally, I have some hope for a new Rust GUI, they have money, manpower, and motivation. I think they have at least two projects, both in very early state still. But when one of them will make good progress, I may find motivation to port my SDT to Rust?

Yeah, a lot of people are going to Rust for exciting GUI and other rendering things. It's a shame you can't do bindings for Rust libraries as easily as for C libraries...

Maybe in next winter i will remove Gintro from GitHub, should be OK as I have the feeling that no one is using it still.

I suggest you not to remove it completely, but add some notice of abandonment or something similar, and if you're planning to stop updating it archiving the repo. The codebase of Gintro might still be useful for someone down the line.


Add attribute option for multiSelectOnClick

👍

@jsiragusa I changed this to use sortable options, if you want to check it before I merge...

Nice!  👍

@jsiragusa Ok if I submit a PR for this to the root fork? Probably better not to maintain our own fork if the official maintainer will accept this change.

@jmwohl yeah.... I definitely think this is worthy of a PR to the root.


Left window of zero returns an error

Per comment https://github.com/JMSLab/xtevent/pull/178#issuecomment-2093382033
When running
use example31, clear
xtevent y, w(0 3) pol(z) impute(stag)

we got the following error message.

@jorpppp
The error arose because the definition of some temporary variables was missing. We had defined them in the section code that generates the pre-event time dummies variables, but since in the case of left window = 0  that section code is never executed, we must also define the temporary variables in the section code that generates the post-event time dummies variables. Besides, the ordering of the left endpoint needed some adjustment to not assume that there is always at least one pre-event time dummy variable.
Bug fixed in https://github.com/JMSLab/xtevent/commit/4c3fa880a8ca2f87fbce7774b14cb4c3c47d1cb1 and https://github.com/JMSLab/xtevent/commit/fb9f1b59af42ac854726be41cfac2ac06a2cf5c7
After, when running:
use example31, clear
xtevent y, w(0 3) pol(z) impute(stag) savek(aa)

I get the following outcome and the event-time dummies variables are properly ordered.

Thanks @Constantino-Carreto-Romero. I'm looking into the fact that plotting is not working now:
xtevent y, w(0 3) pol(z) impute(stag) plot

because there are no pre-event coefficients to test.

Summary: In this issue we addressed a bug when the user specified a left window of zero.


Update README.md

updated contribution and licence section and added path to the licence

Summary by CodeRabbit

Documentation

Enhanced formatting and presentation of the README.md file.
Added emojis to section headers for improved visual appeal.
Updated the "Contribution" section with a welcoming message for community contributions.
Reformatted the license section to clarify the MIT License and included a direct link to the LICENSE file.

Hi, @kushal34712 !
Thanks for the contribution!
I'll merge this now.


Column not found error in menu builder

Version information

Laravel: v6.0-6.3
Voyager: v1.x-dev 68e206a (this version is installed by composer require tcg/voyager)
PHP: 7.3.10
Database: 10.3.18-MariaDB

Description

Column not found error, during update any menu item in menu builder.
Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column '/admin/menus/1/item' in 'field list' (SQL: update menu_items set color = #000000, parameters = null, /admin/menus/1/item = ?, menu_items.updated_at = 2019-10-16 13:31:45 where id = 4)
Steps To Reproduce
Steps to reproduce the behavior:

Install new laravel project
Install voyager via "composer require tcg/voyager"
Create database and run voyager installer
Go to Menu buider and open admin menu in builder
Edit any menu item and click update

Additional context
I made some work around and the problem is, that VoyagerMenuController.php calls $request->except(['id']), which returns this array:
array:12 [▼
"_method" => "PUT"
"_token" => "BsI4vToB2x1WK5qu4HylB3DOxnGRmQ6lbM0FmzYG"
"title" => "Roles"
"type" => "route"
"url" => null
"route" => "voyager.roles.index"
"parameters" => "null"
"icon_class" => "voyager-lock"
"color" => "#000000"
"target" => "_self"
"menu_id" => "1"
"/admin/menus/1/item" => null
]
So I made custom MenuController, which extends VoyagerMenuController and overrides method prepareParameters($parameters) and adds this code:
foreach ($parameters as $key => $value) {
if (Str::startsWith($key, '/admin/menus/')) {
unset($parameters[$key]);
}
}
With this addition I can save the menu item, but I'm not sure, that it's best way to avoid this bug.

Works perfectly fine for me.
Do you have multi-language enabled or something?

Nothing special is enabled. It's a fresh install of laravel and voyager with default settings.

Can't reproduce on fresh install:

Laravel: v6.3
Voyager: v1.x-dev
PHP: 7.3.10
Database: 10.3.17-MariaDB

array:11 [▼
  "_method" => "PUT"
  "_token" => "YvS29UI8mLxukHb2xK3fPadOV3JInFKxPKovoz99"
  "title" => "Roles"
  "type" => "route"
  "url" => null
  "route" => "voyager.roles.index"
  "parameters" => "null"
  "icon_class" => "voyager-lock"
  "color" => "#000000"
  "target" => "_self"
  "menu_id" => "1"
]

With multilingual enabled
array:13 [▼
  "_method" => "PUT"
  "_token" => "YvS29UI8mLxukHb2xK3fPadOV3JInFKxPKovoz99"
  "i18n_selector" => "on"
  "title_i18n" => "{"en":"Roles"}"
  "title" => "Roles"
  "type" => "route"
  "url" => null
  "route" => "voyager.roles.index"
  "parameters" => "null"
  "icon_class" => "voyager-lock"
  "color" => "#000000"
  "target" => "_self"
  "menu_id" => "1"
]

Maybe it depends of web server and his config? I use nginx/1.10.3 with this config:
server {
   listen 80;
   server_name laravel;

error_page 404 = /index.php;

error_log /home/laravel/www/logs/laravel.error.log;
charset utf8;
index index.php;

root /home/laravel/www/laravel/public/;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html|woff2)$ {
    access_log off;
    expires max;
    log_not_found off;
}

if (!-d $request_filename)
{
    rewrite ^/(.+)/$ /$1 permanent;
}

if (!-e $request_filename)
{
    rewrite ^/(.*)$ /index.php?/$1 last;
    break;
}

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~* \.php$ {
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_read_timeout 300;
    try_files $uri = 404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
}

Maybe it depends of web server and his config? I use nginx/1.10.3 with this config:

Yes, I think you are getting url as get parameter to index.php, you can verify it printing:
dd($request->fullUrl());

You should probably remove:
if (!-d $request_filename)
{
    rewrite ^/(.+)/$ /$1 permanent;
}

if (!-e $request_filename)
{
    rewrite ^/(.*)$ /index.php?/$1 last;
    break;
}

Yes, it's because of the second one:
if (!-e $request_filename)
{
    rewrite ^/(.*)$ /index.php?/$1 last;
    break;
}


Python editor: Value cannot be null. Parameter name: replaceWith

This issue has been moved from a ticket on Developer Community.

At any time a .py file is saved, debugged etc. the message appears and the file cannot be edited anymore, unless you close and reopen the file.

Original Comments
Feedback Bot on 7/20/2022, 10:55 PM:
(private comment, text removed)

Original Solutions
(no solutions)

Thanks for the report, unfortunately, this is not enough data for us to debug.
Are you using the local file system for save the .py file?
Will need additional environment information to debug.
thanks

In my case, I'm using the local file system


Editor Validation

Hello, i need to validate input on editor apply config event, there is any event to whatch? (one that, in case of failure)  i can cancel.
Thanks

Sorry, found this https://github.com/angular-dashboard-framework/angular-dashboard-framework/issues/152, can close


No Modal Dismiss on setRoot

Short description of the problem:

Assume you have 2 pages and a modal.
Then from Page1 we open the Modal.
While the modal is still open we issue "setRoot" to Page2 on the root nav.
The Modal remains visible and is not dismissed.
(Page1 is successfully poped and Page2 popped in the "background")

What behavior are you expecting?
As it is stated that a modal is pushed to the nav stack and setRoot is said to destroy elements on the nav stack.
Therefore, I would expect the modal to be dismissed too.
Ionic info
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS: Windows 10
Node Version: v6.7.0
Probably related
#8437

OT: Is there already a Plunker template for RC0 or RC1?

Modals are not longer part of the main stack. You have to pop the modal manually, or activate the dismissOnPageChange setting.

Thank you for the explanation.

@manucorporat Actually, there seems to be no "dismissOnPageChange" for Modals, only for Toasts and Loading. At least not within ModalOptions

@n00b42 you are right. I think dismissOnPageChange is not available in modal, because pushing a page inside modal would dismiss it.
I would suggest you to manually close the modal when you setRoot.

@manucorporat Actually, setRoot is called from somewhere else, so its a bit tricky for the modal to "know" when it should close.... but I will think about a workaround
Thank you for your time :)


Please make the  macho-unwind-info optional

Not sure it is possible but it would be nice to be able to disable macho-unwind-info
When packaging framehope for Debian, we probably don't need macho support

I definitely want to make it optional in this repo.
However, if the goal is to avoid the dependency in samply, it wouldn't achieve that goal: macho-unwind-info is also used by samply-symbols, so it would end up in samply anyway. The reason to have it in samply is to be able to symbolicate profiles on Linux where were originally captured on macOS, in the same way as on macOS. macho-unwind-info is used during symbolication to provide function start addresses in macOS binaries without other symbol information.


Exception in device=TPU:0

This error occours when initiate the trainer
Exception in device=TPU:0: module 'torch_xla.core.xla_model' has no attribute 'rendezvous'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/torch_xla/distributed/xla_multiprocessing.py", line 119, in _start_fn
    fn(gindex, *args)
  File "/usr/local/lib/python3.6/dist-packages/pytorch_lightning/trainer/distrib_parts.py", line 500, in tpu_train
    self.run_pretrain_routine(model)
  File "/usr/local/lib/python3.6/dist-packages/pytorch_lightning/trainer/trainer.py", line 1162, in run_pretrain_routine
    torch_xla.core.xla_model.rendezvous("pl.Trainer.run_pretrain_routine")
AttributeError: module 'torch_xla.core.xla_model' has no attribute 'rendezvous'

ummm.
updated to latest version and try again?

Faced with the same problem.

Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/torch_xla/distributed/xla_multiprocessing.py", line 119, in _start_fn
fn(gindex, *args)
File "/usr/local/lib/python3.6/dist-packages/pytorch_lightning/trainer/distrib_parts.py", line 507, in tpu_train
self.run_pretrain_routine(model)
File "/usr/local/lib/python3.6/dist-packages/pytorch_lightning/trainer/trainer.py", line 792, in run_pretrain_routine
torch_xla.core.xla_model.rendezvous("pl.Trainer.run_pretrain_routine")
AttributeError: module 'torch_xla.core.xla_model' has no attribute 'rendezvous'

need to use latest xla version

helped


Transform upscales input video

Hi, is there a way to make a custom transform behaves like the AdaptiveStreaming preset, and make sure that it does not output a video larger than the input video, lets say for example with the custom transform below:

{
    "properties": {
        "description": "H264 UHD - SD Transform",
        "outputs": [
            {
                "onError": "StopProcessingJob",
                "relativePriority": "Normal",
                "preset": {
<EMAIL_ADDRESS>"#Microsoft.Media.StandardEncoderPreset",
                    "codecs": [
                        {
<EMAIL_ADDRESS>"#Microsoft.Media.AacAudio",
                            "channels": 2,
                            "samplingRate": 48000,
                            "bitrate": 128000,
                            "profile": "AacLc"
                        },
                        {
<EMAIL_ADDRESS>"#Microsoft.Media.H264Video",
                            "keyFrameInterval": "PT2S",
                            "stretchMode": "AutoSize",
                            "sceneChangeDetection": false,
                            "complexity": "Balanced",
                            "layers": [
                                {
                                    "width": "3840",
                                    "height": "2160",
                                    "label": "UHD",
                                    "bitrate": 35000000,
                                    "maxBitrate": 35000000,
                                    "bFrames": 3,
                                    "slices": 0,
                                    "adaptiveBFrame": true,
                                    "profile": "Auto",
                                    "level": "auto",
                                    "bufferWindow": "PT5S",
                                    "referenceFrames": 3,
                                    "entropyMode": "Cabac"
                                },
                                {
                                    "width": "1920",
                                    "height": "1080",
                                    "label": "HD",
                                    "bitrate": 8000000,
                                    "maxBitrate": 8000000,
                                    "bFrames": 3,
                                    "slices": 0,
                                    "adaptiveBFrame": true,
                                    "profile": "Auto",
                                    "level": "auto",
                                    "bufferWindow": "PT5S",
                                    "referenceFrames": 3,
                                    "entropyMode": "Cabac"
                                },
                                {
                                    "width": "1280",
                                    "height": "720",
                                    "label": "SHD",
                                    "bitrate": 5000000,
                                    "maxBitrate": 5000000,
                                    "bFrames": 3,
                                    "slices": 0,
                                    "adaptiveBFrame": true,
                                    "profile": "Auto",
                                    "level": "auto",
                                    "bufferWindow": "PT5S",
                                    "referenceFrames": 3,
                                    "entropyMode": "Cabac"
                                },
                                {
                                    "width": "854",
                                    "height": "480",
                                    "label": "SD",
                                    "bitrate": 2500000,
                                    "maxBitrate": 2500000,
                                    "bFrames": 3,
                                    "slices": 0,
                                    "adaptiveBFrame": true,
                                    "profile": "Auto",
                                    "level": "auto",
                                    "bufferWindow": "PT5S",
                                    "referenceFrames": 3,
                                    "entropyMode": "Cabac"
                                }
                            ]
                        },
                        {
<EMAIL_ADDRESS>"#Microsoft.Media.PngImage",
                            "stretchMode": "AutoSize",
                            "start": "25%",
                            "step": "25%",
                            "range": "80%",
                            "layers": [
                                {
                                    "width": "1280",
                                    "height": "720 "
                                }
                            ]
                        }
                    ],
                    "formats": [
                        {
<EMAIL_ADDRESS>"#Microsoft.Media.Mp4Format",
                            "filenamePattern": "video-{Basename}-{Label}-{Bitrate}{Extension}",
                            "outputFiles": []
                        },
                        {
<EMAIL_ADDRESS>"#Microsoft.Media.PngFormat",
                            "filenamePattern": "thumbnail-{Basename}-{Index}{Extension}"
                        }
                    ]
                }
            }
        ]
    }
}

If my input video is 1080p is it possible to ensure that it only creates output for 1080p, 720p and 480p  and if my input is 720p, it only creates video for 720p, and 480p?

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

ID: a5e3ac37-81a2-246c-ae07-d158d814c7d3
Version Independent ID: a323f9ab-48f6-90c4-f58f-5763bc209eb4
Content: Encode custom transform using Media Services v3 REST - Azure
Content Source: articles/media-services/latest/custom-preset-rest-howto.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

@tbtmuse Thank you for your feedback! We will review and update as appropriate.

@tbtmuse , For the customized preset, MES does not trim layers above the input source for now.
For system presets, both AdaptiveStreaming and ContentAwareEncoding make sure that they do not upscale the input video. Also, ContentAwareEncoding could output few layers and lower bitrates than AdaptiveStreaming.
If you have not tried the ContentAwareEncoding system preset yet, please give it a try to see whether it fits your needs.
We suggest that customer submit a thumbnail Job (which will be quick, and not too expensive), and parse the metadata file in the output Asset to determine the source/input resolution. Then, choose one Transform, or the other. So this conditional logic lies in the customers’ code.

@DashleenBhandari-MSFT thank you for your response. I thought as much. I will give ContentAwareEncoding a look and see how it goes.
Thanks again.

@tbtmuse Sure let me know if you need help.

@tbtmuse , I wanted to understand if you need any further assistance. If not, shall I proceed with the closure of the issue. Please let me know if you have any concerns.

@DashleenBhandari-MSFT, you may go ahead and close the issue as I think I have enough information to achieve what I want. Thanks again.


Add support for dangerouslySetInnerHTML

This isn't really needed on the client side; one could always use innerHTML on the actual element. But necessary for server-side rendering where we don't have actual elements.

Implemented in v0.0.46


Tier0 deploys in Tier2 Subscription when choosing independent subscriptions for each Tier

Description
When deploying MLZ in multiple subscriptions, Tier0 is getting deployed in Tier2, causing errors and conflicts with the deployment.
Steps to Reproduce
Directly from the main aka.ms/mlz site, deploy Landing Zone and select multiple subscriptions, a separate one for each Tier.
Steps to reproduce the behavior:
1.
2.
Expected behavior
Each Tier gets deployed in their own LZ
Actual behavior
Identity tier is getting deployed in whatever subscription was selected for SharedServices (Tier2) subscription.
Screenshots

Additional context
Operating System: Deployed from Win 11 Client
Terraform Version: N/A
Cloud (public, Azure Government, etc.): US Gov't

Thank you for reporting this issue, @sergio-re! I have the fix added to my current feature branch and should be merged hopefully this week.

@sergio-re this should be fixed now.


How to Handle Screen Layout

I'm submitting a ...

[x] feature request

How to handle screen layout

Resolved in https://github.com/RommelTJ/rn-hooks-starter/pull/16


neptune.service: Workaround for webengine

Webapps such as youtube are failing on both NUC and RPI.
This environment line will be a workaround fix to both.
Signed-off-by: Fisnik Hajredini<EMAIL_ADDRESS>

Please explain more in the commit message. (What is the error? Log excerpts? Why does running in single process help? Can it be reverted once something is fixed? Are there bugs you could refer to, etc. etc.)

neptune.service: run qtwebengine in single process mode or whatever

There has been no errors specified besides the application exiting itself.

There is no error output or you have not looked?

Once the rootcause is fixed this can be reverted.

Is it tracked somewhere? If yes, where? If not, should it not be?

I agree with @martin-ejdestig. This workaround have been added to demos before as a quick fix, but if this is going to be added to mainline PELUX this should be traced so the root cause can be known and fixed.

neptune: run qtwebengine in single process mode
QtWebEngine crashes trying load some websites, e.g. youtube.com.
This is an issue of the QtWebEngine. Running it outside the sandbox
and in the single process mode is a temporary workaround.

Created a bug and added it on the commit message.

Still no mention of what was discussed in Tariq's issue in commit message.

I would change:
The QTWEBENGINE_CHROMIUM_FLAGS environment variable, and the actual
neptune.service arguments are different from each other. Therefore the
--force-single-process (used as an argument when starting neptune) and
QTWEBENGINE_CHROMIUM_FLAGS="--single-process" are different. The fix is
not required on the neptune itself, its for the QTWEBENGINE.

to something like:
--single-process is already passed to the Neptune executable itself for raspberrypi.
See FORCE_SINGLE_PROCESS in layers/b2qt/recipes-qt/automotive/neptune3-ui_git.bbappend .
The command line flag is not enough to fix e.g. Youtube crashing though.

Main thing I am after is that you refer more clearly to the already existing rpi workaround.
(Is the rpi specific workaround still needed with this... ? sigh Anyway, just make the way you refer to the other fix more clear.)


incompatible with mod_ruid2

mod_pagespeed and mod_ruid2 aren't compatible; is there a way we can make the cpanel install script refuse to install them together? On Apache Module: ModRuid2 it lists a bunch of other incompatible modules and how choosing both of them gets resolved.

@jeffkaufman Yes,  it is possible in both EA3 and EA4.
Will send you a PR once I complete the testing.
EA3
'implies'   => {  'Cpanel::Easy::ModRuid2'           => 0, }

We can add above line along with mod_version, os


Avoid force {whatever}ing

I thought it would be just safer to avoid force {whatever}ing.
Could you tell me reasons why you using ! mark everywhere ?
I'm thinking about some cases like when people accidentally forget to commit the Storyboard file.

I'm totally for removing force-casting everywhere and replacing them with guard let foo as? Bar else { fatalError("some descriptive message") } instead :+1:
PR welcome, it should be very easy to fix the templates about this :smiley:

Right, I'm on it ! 😀


braces

What was wrong?
How was it fixed?
To-Do

[ ] OPTIONAL: Update Spec if applicable

[ ] Add entry to the release notes (may forgo for trivial changes)

[ ] Clean up commit history

Codecov Report

Merging #707 (cfc6deb) into master (5ceda9b) will increase coverage by 0.31%.
The diff coverage is 88.54%.

@@            Coverage Diff             @@
##           master     #707      +/-   ##
==========================================
+ Coverage   82.00%   82.31%   +0.31%
==========================================
  Files         125      125
  Lines       10950    10882      -68
==========================================
- Hits         8979     8958      -21
+ Misses       1971     1924      -47

Impacted Files
Coverage Δ

crates/abi/src/builder.rs
93.05% <ø> (ø)

crates/lowering/src/ast_utils.rs
84.37% <ø> (ø)

crates/parser/src/grammar/expressions.rs
89.45% <ø> (+0.21%)
:arrow_up:

crates/parser/src/grammar/module.rs
86.92% <ø> (+2.47%)
:arrow_up:

crates/parser/src/grammar/types.rs
89.66% <ø> (+0.06%)
:arrow_up:

crates/parser/src/lexer.rs
86.66% <ø> (ø)

crates/parser/src/lexer/token.rs
16.27% <ø> (-1.70%)
:arrow_down:

crates/parser/src/parser.rs
83.83% <ø> (+9.53%)
:arrow_up:

crates/parser/src/ast.rs
88.43% <85.93%> (+0.89%)
:arrow_up:

crates/parser/src/grammar/functions.rs
90.69% <93.54%> (+1.42%)
:arrow_up:

... and 13 more

Continue to review full report at Codecov.

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

I'll merge this after #676 lands.

<3 I am a big fan of curly bois


Pull packages from GitHub private packages, return status: 401 Unauthorized and 'parent.relativePath' points at wrong local POM

Description:
Attempting to configure an action to fetch packages from a repository within the same organization results in an authentication error.
The error is encountered when downloading dependencies from GitHub's Maven package repository.
Despite correct configuration, the process fails with a 401 Unauthorized status, indicating an issue with authentication.
Downloading from github: https://maven.pkg.github.com/xx/xx/xx/xx/xx/xx.pom

Error: ] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM ... authentication failed for https://maven.pkg.github.com/, status: 401 Unauthorized and 'parent.relativePath' points at wrong local POM @ line 7, column 13

Task version:
actions/setup-java@v4
Platform:

[x] Ubuntu
[ ] macOS
[ ] Windows

Runner type:

[x] Hosted
[ ] Self-hosted

Repro steps:
Below is the YAML configuration for the GitHub Action used to deploy Maven packages upon a release event.
name: Maven Package Deploy

on:
  release:
    types: [created]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      packages: write

    steps:
      - uses: actions/checkout@v4

      - name: Set up JDK 11
        uses: actions/setup-java@v4
        with:
          java-version: '11'
          distribution: 'adopt'
          cache: maven
          server-id: github
          server-username: xxx
          server-password: ${{ secrets.GITHUB_TOKEN }}

...

Additionally, here's the relevant section from the pom.xml file that specifies the repository configuration:
...

    <repositories>
        <repository>
            <id>github</id>
            <name>GitHub OWNER Apache Maven Packages</name>
            <url>https://maven.pkg.github.com/xx/xxxxxx</url>
        </repository>
    </repositories>

...

Expected behavior:
The action should successfully pull the required packages from the GitHub Maven repository without encountering authentication issues.
Actual behavior:
The action fails with a 401 Unauthorized error when attempting to fetch packages, indicating a failure in authentication.

It is very likely an access problem and not a setup-java problem (using solely  my own experience).
If you are targeting a packages repo other than the current/same repo (the action is running in) both repos or rather their access configurations need to work together.
Packages functionality is by default per repo but you can target another repo which means an extra look at how permissions are setup between the repos.
If you want to authenticate with a token you may need a server login to the package location:
    <server>
      <id>github</id>
      <username>x-access-token</username>
      <password>${env.A_TOKEN_WITH_PROPER_PERMISSIONS}</password>
    </server>

A_TOKEN_WITH_PROPER_PERMISSIONS typically GITHUB_TOKEN but it depends.
Most 401 and 403 often have to do with exactly what they say -> you have incorrect permissions for workflows, repos, actions, environments, packages.
One way to try is to use a PAT for debugging purposes of course you will have to have proper access to all the places like admin for all repos involved but then the 401 and 403 often go away and you know that there is some permission issue within your workflows.

Hello @ParryQiu
Thank you for creating this issue. We will investigate it and get back to you as soon as we have some feedback.

Thus, could there be an issue with the following logic?
https://github.com/actions/setup-java/blob/9704b39bf258b59bc04b50fa2dd55e9ed76b47a8/src/auth.ts#L51

I've created a PR for reference.
https://github.com/actions/setup-java/pull/603

Hello @ParryQiu, I have tried replicating the issue but couldn't do with given inputs. Could you please attach link to the build or public repository to reproduce the issue ?

Hello @ParryQiu, Just touching base on this matter. It would be incredibly helpful if you could share a public repository for us to better understand and address the issue. By the way, issue #599 (https://github.com/actions/setup-java/issues/599) had a similar problem where missing write permissions for the PAT was the root cause. It may be worth checking if that's the case here as well. Thank you for your cooperation.

Hello @ParryQiu, Just touching base on this matter. It would be incredibly helpful if you could share a public repository for us to better understand and address the issue. By the way, issue #599 had a similar problem where missing write permissions for the PAT was the root cause. It may be worth checking if that's the case here as well. Thank you for your cooperation.

Hello, thank you for the update.
I will test it again and, for now, I am going to close the PR.
Thank you for your cooperation.


wip: Failing test for change to initialize on fast path

Motivation

The fast path currently typechecks too few files right now when changing a
method signature for initialize.
Test plan

See included automated tests.

Going to fold this into another PR that i have in progress.


Question: How to make global events

Hi, how can I have events that are global across Ractive instances?
As a workaround I have a function:
Ractive.prototype.globalEvents = function(){
  this.on('*.go go', function(event, options){
        this.doNavigation(options);
  });
  this.on('*.send_data', function(event, field, value){
        console.log(event);
        console.log(field);
        console.log(value);
 });
}

and then I run this function oninit of every Ractive instance.
oninit: function(){
       this.globalEvents();
}

I'm sure there must be a better way.

require('eventemitter3') or require('events') then just use it as normal. if you want keyspaces or wildcards, instead of using the standard EE's you can use Ractive itself as one:
let g = Ractive.globalEvents = new Ractive
g.on('*.lala.*', (msg) => { console.log(msg) })
g.fire('caca.lala.lama', 'weeeee!')
...

I'm using ES5, so is there essentially a place to register all these events as is for example "Ractive.defaults.data" for helper functions?

If this data you are passing is simply actions, you can pull in any event emitter library and use that. If you have jQuery, you can use .on() and .trigger() for this. You can use document as the rendezvous point for attaching handlers and firing listeners. Just make sure you namespace the events. Attach the listener during oninit or later lifecycle events, while fire the events at will.
$(document).on('someEvent.ractive', handler);
$(document).trigger('someEvent.ractive', data);

If this data is state, consider wrapping these instances in a parent component and put the data up there. Then have the data passed down to the instances and let two-way binding to the rest of the heavy lifting.
var ChildComponent1 = Ractive.extend({
  template: `<div class="child1">{{ data }}</div>`
});

var ChildComponent2 = Ractive.extend({
  template: `<div class="child1">{{ data }}</div>`
});

var ParentComponent = Ractive.extend({
  template: `
    <ChildComponent1 data="sharedData" />
    <ChildComponent2 data="sharedData" />
  `,
  data: {
    sharedData: 'Hi! I am shared!'
  },
  components: {
    ChildComponent1,
    ChildComponent2
  }
});

var app = new ParentComponent({ el: '#somewhere' });

@kouts - If you have a single app view hierarchy, you can just put the handler in the top level component:
var app = new Ractive({
    oninit () {
         this.on('*.go go', (event, options) => {
             this.doNavigation(options);
         });

         this.on('*.send_data', (event, field, value) => {
             console.log(event);
             console.log(field);
             console.log(value);
         });
    }
});

If you don't have a single view hierarchy, then take a look at this comment because I think you have the same underlying need - it would enable you to create arbitrary view hierarchies without requiring template tags in parent components and thus leverage Ractive's built-in event bubbling for component events.

@martypdx  you re right, I don't have a single app view hierarchy. I just need a way so that all my Ractive instances share some events so that I' don't have to do it oninit of every instance.

@kouts Outside of adding new Ractive functionality as I proposed, you could still go with a global events obj like @heavyk suggests.
Otherwise, you could simplify your existing code in several ways:
Use the prototype lifecycle events to register global events. You could use oninit, though it is common event handler so if you override in component, you'll need to call this._super(). Other option is to use much less common onconfig event:
    Ractive.prototype.globalEvents = function(){
      this.on('*.go go', function(event, options){
            this.doNavigation(options);
      });
      this.on('*.send_data', function(event, field, value){
            console.log(event);
            console.log(field);
            console.log(value);
     });
    }

    Ractive.prototype.onconfig = function () {
         this.on('*.go go', (event, options) => {
             this.doNavigation(options);
         });

         this.on('*.send_data', (event, field, value) => {
             console.log(event);
             console.log(field);
             console.log(value);
         });
    }

However, it looks like in your case you could just use a prototype method and skip events altogether:
     Ractive.prototype.go = function(options){
            // now you don't really need a separate method as signatures are identical!
            this.doNavigation(options);
      });

      // I've removed event, you can add it back it if needed
      Ractive.prototype.send = function(field, value){
            console.log(field);
            console.log(value);
     });

    // now in any template you can do:
    // <button on-click="go({ page: 'home' })">Home</button>

    // and in any component you can do:
    this.go({ page: home });

Thanks @martypdx , does the prototype method work with the "fire" method?
So that I can do e.g fire('go', event, options)

does the prototype method work with the "fire" method?

If I understand you correctly, I think the answer is yes, the fire method is also on the prototype:
Ractive.prototype.someMethod = function(){
    this.fire('someEvent', 'foo');
}

I'm trying to use the fire method so that I can be "compliant" with the new syntax suggested in #1172

Method events are still first class citizens, it's just the old event proxy syntax on-whatever="someEvent:{{someRef}}" that needs to be rewritten as on-whatever="fire( 'someEvent', event, someRef )".
It seemed in your example using the event infrastructure doesn't buy you much beyond using a method call that is handled globally via the same prototype method on all instances.


Cannot install Crouton on SD card (read only)

This isn't a new issue but none of the solutions that I've found here and elsewhere have worked for me. I am trying to install to an SD card but I get errors during clean up due to the SD card being a read-only file system.
I used chown and chmod to get here:
drwxrwxrwx 5 chronos chronos 4096 Feb  5 13:52 SD Card
so I think the problem is here:
/dev/sdb1 on /media/removable/SD Card type ext4 (rw,nosuid,nodev,noexec,relatime,dirsync,data=ordered)
I tried remounting it like this:
sudo mount -t ext4 -o remount,rw /dev/sdb1 /var/host/media/removable/SD\ Card
but I got an error saying the device could not be remounted because it was write-protected. The card is not locked. Can you advise me? Or is there a tutorial somewhere for this?

This is probably #288


LidarLite driver fix

This PR addresses some issues that have been founded on Lidar Lite sensors:

Unified the maximum distance of the sensor back to 35 meters: for v1/v2 sensors the previous value was 25 meters but was obtained empirically. According to the datasheets such sensors should be capable to read ~40m on 70% reflective surfaces, thus setting a general value at 35m could make sense to unify all the versions.
For altitude estimation the user has still the possibility to set EKF2_RNG_A_HMAXvalue to a more specific one.

Improved probe() logic for distinguish v1/v2/v3 from v3hp.

Fixed reset_sensor() logic: Thanks to Wingtra for the fix. Actually the v3 was not starting on current master. The proposed reset logic properly resets the sensors.

Fixed v3HP signal quality reporting: The LL40LS_PEAK_STRENGTH_REG register is not available in the v3HP sensors thus signal quality was reported to be always 0. For the v3HP the signal quality is now computed by looking at the signal strength (LL40LS_SIGNAL_STRENGTH_REG).

Refactored the start() method

Test data / coverage
Tested on v3 and v3hp. Will add logs tomorrow.
FYI @DanielePettenuzzo

Looks great @cmic0, everything checks out from my end!  Nice work!

@ar1040 , you might give this a try and let us know if it fixes your issue, (if not we'll keep hammering at it).
Let's get this in!

I can try and find some old logs but we never hit 35m with v1/2. It was actually the source of some hugely botched landings in the early days. 25m is even a stretch over grass. Iirc I think the average in real world was 12-15m reliably. Anything else was spotty at best. This is not on v3/hp though.

@mcsauder, I can still only get the lidar to work by running the ll40ls start command in the mavlink console. Looks like you guys are making good progress though! Let me know if there is anything else I can do to help!

@ar1040 , does it address this issue? https://github.com/PX4/Firmware/issues/12278

@mcsauder , kind of. Originally there was no way for me to connect to the Lidar. Now I can read the lidar data but only if I run the "ll40ls start" command in the mavlink console. Previously, this did not work. I was hoping for a solution on boot up. But I did test the lidar and it is getting data, but not on boot, only when running that command in the console.

@ar1040 there is any chance you can provide a record of the boot messages?
You should access to the nuttx Console to get them

@ar1040 , can you ensure that your SENS_EN_LL40LS parameter is set to 2? (Or 1 if you are using PWM.)
@cmic0 , it's working for me:
nsh> reboot
WARN  [shutdown] Reboot N�[boot] Rev 0x0 : Ver 0x0 V500
[boot] Fault Log info File No 4 Length 3177 flags:0x01 state:1
[boot] Fault Log is Armed
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
HW arch: PX4_FMU_V5
HW type: V500
HW version: 0x00000000
HW revision: 0x00000000
FW git-hash: 4d39e8c774bd8d7a395c70f9f668b39813fa0b47
FW version: 1.9.0 0 (17367040)
OS: NuttX
OS version: Release 7.29.0 (119341311)
OS git-hash: d8da511082646d83a54c6905daca13f0a1a609f0
Build datetime: Aug 21 2019 14:43:29
Build uri: localhost
Toolchain: GNU GCC, 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
PX4GUID:<PHONE_NUMBER>003432333830385115002a001b
MCU: STM32F76xxx, rev. Z
[hardfault_log] Fault Log is Armed
INFO  [param] selected parameter default file /fs/mtd_params
INFO  [tune_control] Publishing standard tune 1
Board defaults: /etc/init.d/rc.board_defaults
INFO  [px4_work_queue] creating: wq:lp_default, priority: 205, stack: 1700 bytes
INFO  [px4_work_queue] creating: wq:I2C1, priority: 248, stack: 1250 bytes
rgbled on I2C bus 1 at 0x55 (bus: 100 KHz, max: 100 KHz)
WARN  [rgbled_ncp5623c] no RGB led on bus #1
WARN  [blinkm] I2C init failed
WARN  [blinkm] init failed
INFO  [px4_work_queue] creating: wq:hp_default, priority: 243, stack: 1500 bytes
Board sensors: /etc/init.d/rc.board_sensors
WARN  [mpu6000] no device on bus #3 (SPI1)
MPU6000 on SPI bus 1 at 0 (1000 KHz)
INFO  [px4_work_queue] creating: wq:SPI1, priority: 254, stack: 1400 bytes
BMI055_ACCEL on SPI bus 1 at 3 (10000 KHz)
BMI055_GYRO on SPI bus 1 at 2 (10000 KHz)
IST8310 on I2C bus 1 at 0x0e (bus: 100 KHz, max: 400 KHz)
INFO  [px4_work_queue] creating: wq:I2C2, priority: 247, stack: 1250 bytes
INFO  [ist8310] no device on bus 2
WARN  [hmc5883] no device on bus 1 (type: 2)
WARN  [hmc5883] no device on bus 2 (type: 2)
WARN  [hmc5883] no device on bus 4 (type: 2)
WARN  [qmc5883] no device on bus 1 (type: 2)
WARN  [qmc5883] no device on bus 2 (type: 2)
WARN  [qmc5883] no device on bus 4 (type: 2)
WARN  [lis3mdl] no device on bus 2
WARN  [lis3mdl] no device on bus 2
WARN  [lis3mdl] no device on bus 2
INFO  [px4_work_queue] creating: wq:I2C3, priority: 246, stack: 1250 bytes
IST8310 on I2C bus 3 at 0x0e (bus: 100 KHz, max: 400 KHz)
INFO  [px4_work_queue] creating: wq:SPI5, priority: 250, stack: 1400 bytes
ERROR [pmw3901] driver start failed
MS5611_SPI on SPI bus 4 at 0 (20000 KHz)
INFO  [px4_work_queue] creating: wq:SPI4, priority: 251, stack: 1400 bytes
INFO  [ll40ls] LidarLiteI2C - no device on bus 2
INFO  [ll40ls] LidarLiteI2C - no device on bus 2
INFO  [px4_work_queue] creating: wq:I2C4, priority: 245, stack: 1250 bytes
INFO  [ll40ls] probe success - id: 13113
LL40LS on I2C bus 4 at 0x62 (bus: 100 KHz, max: 100 KHz)
INFO  [px4_work_queue] creating: wq:att_pos_ctrl, priority: 244, stack: 7000 bytes
INFO  [px4_work_queue] creating: wq:rate_ctrl, priority: 255, stack: 1600 bytes
INFO  [commander] Mission #3 loaded, 7 WPs, curr: 0
INFO  [mavlink] mode: Config, data rate: 800000 B/s on /dev/ttyACM0 @ 57600B
Starting Main GPS on /dev/ttyS0
Starting MAVLink on /dev/ttyS1
INFO  [mavlink] mode: Normal, data rate: 1200 B/s on /dev/ttyS1 @ 57600B
INFO  [px4io] default PWM output device
INFO  [init] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
INFO  [init] Mixer: /etc/mixers/pass.aux.mix on /dev/pwm_output1
INFO  [ekf2] Found range finder with instance 0
INFO  [logger] logger started (mode=all)

NuttShell (NSH)
nsh> INFO  [ecl/EKF] EKF aligned, (pressure height, IMU buf: 22, OBS buf: 14)

Ok, based on the experimental results I just have lowered the maximum distance to 25 meters for all the sensors except for the v2 which will be initialized with 35 meters (here 1260b2b).
This PR is good to go to me.
FYI @LorenzMeier @mcsauder @DanielePettenuzzo

@dagar we hit a flash overflow on v2 again

Hi @cmic0 and @dagar , I just bench tested this PR again and everything still looks/works great from my perspective.  I think we should get this PR merged and then we can work through #12695 and #12864.

While I can dig up some really old logs if absolutely necessary. I can definitively say on more than 20+ occasions, the v2 doesn’t work anywhere close to 35m. All over grass flights and in the 20 m/s range. Of course had its moments of pinging data back but real world flying in differing areas, it was half of that. 25m is pushing it but I’d keep it there if wanting to keep all things equal. We had these in production planes for 1-2 years and it was a huge source of ensuring people knew the limitations during auto-landing.

@ryanjAA I just did another test with the v2 and can confirm that its performances in hovering are good (>30m). Maybe for fixed wing applications performance degradation is due to the horizontal velocity.
I think the current values are good to go, useful range can still be adjusted with EKF2_RNG_A_HMAX to avoid bad data going into the EKF.

@cmic0 can you rebase?


Smiley and Message Icon updates

This makes several changes to the smileys and message icon functions

Allows the use of SVG for smileys
Replaces default set with SVG and expands the supplied collection.
Default set will follow the chosen emoji library, if the library is changed, the smiley will follow
Moves / integrates emoji processing along side the smiley vs pre/post bbc
Allows setting custom emoji tags for site specific image
Allows overwriting a standard emoji with one of the sites choosing
Smiley sets can use different file types across sets
Can define the use of a library / site emoji in a smiley set with no file and have it use the library svg image
Updated message icon images so custom and default match.
Centralized the standard message icon array, it was in a few spots
Updated the installer and upgrader.  Upgrade, TBH, is a bit of a crap shoot, does the best it can
Removed option for user to select their own smiley set and added the option to simply turn them off (per theme user setting)

As always various cleanup of files and more css fixes/adjustments. updated to latest jquery.  Also removed the option to choose your version as the library is so stable now.

Codecov Report

Merging #3668 (aec9b94) into development (ffba4ae) will decrease coverage by 7.73%.
The diff coverage is 29.21%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Yeah! 😓on this one.


Dataset filenames repeating

Description
Small fix to stop filenames from duplicating

Resolves #(issue)

This does not resolve the underlying issue:

We still do not have column information in our dataset?

Now for some reason the port on our dataset has a value of null? :O

I'm seeing that issue on main with the workflow on the main branch

This does not resolve the underlying issue:
1. We still do not have column information in our dataset?

@asylves1 and i spoke this morning and this is a deeper database issue. I now have #3705 assigned to me in the sprint and either myself or @kbirk will tackle it

The issue with the columns is a database one that will be handled by @dvince2

This does not resolve the underlying issue:

We still do not have column information in our dataset?

2. Now for some reason the port on our dataset has a value of null? :O

This is not a you problem. Thank you for pointing that out


Update AnsibleEE CR

@fao89 i already fixed it in #64 , just waiting to get merged. :)

@fao89 i already fixed it in #64 , just waiting to get merged. :)

it is approved, I believe you can merge it


Parser fixed to interpret 12am as midnight

This pull request fixes incorrect parsing of am time - 12:01 AM should parse as 00:01 (see http://www.timeanddate.com/time/am-and-pm.html )
Example (before fix):
Timex.Parse.DateTime.Parser.parse!("Apr 6, 2016 12:17:35 am", "{Mshort} {D}, {YYYY} {h12}:{m}:{s} {AM}")
#<DateTime(2016-04-06T12:17:35Z)>

Example (after fix):
Timex.Parse.DateTime.Parser.parse!("Apr 6, 2016 12:17:35 am", "{Mshort} {D}, {YYYY} {h12}:{m}:{s} {AM}")
#<DateTime(2016-04-06T00:17:35Z)>

Coverage decreased (-0.02%) to 70.226% when pulling 08f2ed26d165712d3fd7c3fad0f0a6337e44e438 on Ygreg:12am_bugfix into 1dc6d355c12f06b0250466b62ca001dd1dad8de0 on bitwalker:master.

@Ygreg Could you rebase on master? I'll merge this once that's done. Sorry for the trouble!

This bug has been fixed in master after my pull request. No need to merge this any more.


refarch link github

refarch link github

We currently use two repositories for the reference architecture as follows:

As-Use-Components, Libraries and other released artifacts (https://github.com/it-at-m/refarch)
Templates for development of software components in own projects (https://github.com/it-at-m/refarch-templates)

Thus it might be suitable to mention both links and highlight the purpose and difference between those two repositories.
Long term we might be able to fully switch to a single repository, but we don't plan that in the near future and didn't think about side-effects yet.

@devtobi

Thus it might be suitable to mention both links and highlight the purpose and difference between those two repositories.

Yes but this technical detail should be highlighted in https://github.com/it-at-m/refarch#refarch so this repo wont be affected when...

Long term we might be able to fully switch to a single repository,

@klml That's a good point. I agree here. :)


feat(eas-cli): expose expo export dev flag as an option in eas update

Why
When __DEV__ is unset or false, expo-dev-menu's registerDevMenuItems option is a no-op.
In order to be able to use custom expo-dev-menu menu items in updates/previews for a debug build, it is necessary for the __DEV__ global variable to be set to true in the generated updates and preview bundles.
EAS does not currently expose the --dev option from Expo CLI's export command, which is what determines whether or not __DEV__ gets stripped during bundling.
How
Adds a new CLI flag (--dev) to the eas update command.
When set, an additional CLI argument --dev is passed to expo export.
Test Plan
I tested this in my own project and it successfully deployed an update where __DEV__ is set to true and my custom dev menu items are being registered correctly.

@nderscore - can you manually add an entry to https://github.com/expo/eas-cli/blob/main/CHANGELOG.md
Then we can go ahead an merge!


Support for rust

Now the highlight color of Rust is confusing, and it is far from the ideal preview.

Main color is cold.

Yes, it looks not good, it seems that it is different than other languages' highlighting schemes. I'll check it later.

might fixed in v0.1.7


Build of 'linux-asahi' fails when hardware.asahi.use4KPages = true

The system builds fine when it is set to false. Occurs in default configuration.
System information:

device: M2 MacBook Air (16g RAM, 512g storage)
nix channel: nixos-unstable

Output of nixos-rebuild switch:
building Nix...
building the system configuration...
these 12 derivations will be built:
  /nix/store/0zh79jxidmsnjhy0qxvfx6mnkagnq0m0-linux-6.1.0-asahi.drv
  /nix/store/dk88i8xn8ziaqf222bwkycb1zjc9gqc4-boot.bin.drv
  /nix/store/z3f4g3vaxkhd5sv0qzn6xqm49v0q48an-copy-extra-files.drv
  /nix/store/bvn4lx7wl5jkxc8igdagzbqzrky6nn1a-systemd-boot-builder.py.drv
  /nix/store/cak34y6bc3pwvc3dvr0m5p17xg4qvw53-systemd-boot.drv
  /nix/store/1ypfzxxbkkypwjsnwwkhvkxcq423f25g-install-systemd-boot.sh.drv
  /nix/store/qm80rz049zqir027v41gcpfl1aq12vmm-linux-6.1.0-asahi-modules.drv
  /nix/store/xmwggk3lq134q90z80y09pcvwp9pvkvw-linux-6.1.0-asahi-modules-shrunk.drv
  /nix/store/n10y6jgbzvwl735kidrypv6idwvp7f3p-stage-1-init.sh.drv
  /nix/store/nr9lrapcaajm0vd9gpzpydgh9cia0556-initrd-linux-6.1.0-asahi.drv
  /nix/store/r59imdliv0lrr6npd5vrckpn2v69py4y-kernel-modules.drv
  /nix/store/b8zgk5ny0533r6zsyhg8fksscz2yz14a-nixos-system-M2NixOS-23.05pre-git.drv
building '/nix/store/0zh79jxidmsnjhy0qxvfx6mnkagnq0m0-linux-6.1.0-asahi.drv'...
unpacking sources
unpacking source archive /nix/store/aaijfm6z80pw06qnfpbqxdi7afbjg30m-source
source root is source
patching sources
applying patch /nix/store/2bjv3bjq46b39mfd0ib81pgkpq0afbbf-sven-iommu-4k.patch
patching file drivers/iommu/apple-dart.c
Hunk #1 FAILED at 97.
Hunk #2 FAILED at 115.
Hunk #3 FAILED at 499.
Hunk #4 succeeded at 862 (offset 232 lines).
Hunk #5 FAILED at 734.
Hunk #6 FAILED at 1119.
Hunk #7 FAILED at 1147.
6 out of 7 hunks FAILED -- saving rejects to file drivers/iommu/apple-dart.c.rej
patching file drivers/iommu/dma-iommu.c
Hunk #1 FAILED at 20.
Hunk #2 succeeded at 740 (offset 30 lines).
Hunk #3 succeeded at 782 (offset 30 lines).
Hunk #4 succeeded at 829 (offset 19 lines).
Hunk #5 succeeded at 865 (offset 31 lines).
Hunk #6 succeeded at 885 (offset 19 lines).
Hunk #7 FAILED at 1122.
Hunk #8 FAILED at 1164.
Hunk #9 FAILED at 1248.
Hunk #10 succeeded at 1599 (offset 105 lines).
4 out of 10 hunks FAILED -- saving rejects to file drivers/iommu/dma-iommu.c.rej
patching file drivers/iommu/iommu.c
Hunk #1 succeeded at 88 with fuzz 1 (offset 8 lines).
Hunk #2 succeeded at 1938 with fuzz 2 (offset -40 lines).
Hunk #3 succeeded at 1965 (offset -40 lines).
patching file drivers/iommu/iova.c
Hunk #1 succeeded at 54 (offset 5 lines).
patching file include/linux/iommu.h
Hunk #3 succeeded at 106 with fuzz 2.
error: builder for '/nix/store/0zh79jxidmsnjhy0qxvfx6mnkagnq0m0-linux-6.1.0-asahi.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/b8zgk5ny0533r6zsyhg8fksscz2yz14a-nixos-system-M2NixOS-23.05pre-git.drv' failed to build

Yes, this is a known problem. The patch which enables stuff like WiFi to work on a 4K kernel is out of date as of the update to 6.1 or so. I don't really have the skill to fix it, but you are welcome to do so yourself or find a fixed version (perhaps from one of the other alternate distro maintainers) and submit a PR.

Can there be a warning added for this in the installation guide? Just spent 30 minutes trying to debug this before I found this issue.

An error has been added so your configuration will refuse to evaluate instead of failing to apply a broken patch. Sorry about the inconvenience.

With the addition of the error above, and the advent of 4k microvms, can this now be closed?
https://sinrega.org/2023-10-06-using-microvms-for-gaming-on-fedora-asahi/

Nobody has stepped up to fix this so I'm finally removing it completely.


Accepting Revisions on a document that contains AlternativeFormatImportPart will remove the part

Hi. I have this issue with any kind of document that contains altChunk element. Calling: OpenXmlPowerTools.RevisionAccepter.AcceptRevisions(wordDocument) on that document will remove all altChunk elements within the body of the document. I assume this is not supposed to happen, or am I wrong?
This is a simple version of a file on which this issue is happening:
Test.docx
and a scheenshot with the dom before:

And this is the document after calling AcceptRevisions:
Test-accepted.docx
with a screenshot of the dom:

Closing all issues as this repo is being archived and will no longer be maintained by Microsoft. The project is licensed for continued use and development by forking to your own repo.