cat /dev/null drivers/soc/amlogic/modules.builtin drivers/soc/bcm/modules.builtin drivers/soc/fsl/modules.builtin drivers/soc/mediatek/modules.builtin drivers/soc/qcom/modules.builtin drivers/soc/renesas/modules.builtin drivers/soc/sunxi/modules.builtin drivers/soc/ti/modules.builtin drivers/soc/xilinx/modules.builtin) > drivers/soc/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/vme
make -f ./scripts/Makefile.modbuiltin obj=drivers/vfio/pci
make -f ./scripts/Makefile.modbuiltin obj=drivers/watchdog
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/staging/vme/devices/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/backlight
(for m in ; do echo $m; done;	\
cat /dev/null drivers/staging/vme/devices/modules.builtin) > drivers/staging/vme/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/pensando/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/staging/android/modules.builtin drivers/staging/hp/modules.builtin drivers/staging/isdn/modules.builtin drivers/staging/kpc2000/modules.builtin drivers/staging/media/modules.builtin drivers/staging/unisys/modules.builtin drivers/staging/vme/modules.builtin) > drivers/staging/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/qlogic
make -f ./scripts/Makefile.modbuiltin obj=drivers/xen
make -f ./scripts/Makefile.modbuiltin obj=drivers/virt/vboxguest
(for m in drivers/virtio/virtio.ko drivers/virtio/virtio_ring.ko drivers/virtio/virtio_mmio.ko drivers/virtio/virtio_pci.ko drivers/virtio/virtio_balloon.ko; do echo $m; done;	\
cat /dev/null ) > drivers/virtio/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/vme/boards
(for m in drivers/vfio/pci/vfio-pci.ko; do echo $m; done;	\
cat /dev/null ) > drivers/vfio/pci/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/console
(for m in drivers/vfio/vfio.ko drivers/vfio/vfio_virqfd.ko drivers/vfio/vfio_iommu_type1.ko; do echo $m; done;	\
cat /dev/null drivers/vfio/pci/modules.builtin) > drivers/vfio/modules.builtin
(for m in drivers/video/backlight/backlight.ko; do echo $m; done;	\
cat /dev/null ) > drivers/video/backlight/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/virt/vboxguest/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/qlogic/modules.builtin
(for m in drivers/watchdog/watchdog.ko drivers/watchdog/pretimeout_noop.ko; do echo $m; done;	\
cat /dev/null ) > drivers/watchdog/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/vme/bridges
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/qualcomm
(for m in ; do echo $m; done;	\
cat /dev/null drivers/virt/vboxguest/modules.builtin) > drivers/virt/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/rdc
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/realtek
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/vme/boards/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/video/console/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/renesas
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/rocker
make -f ./scripts/Makefile.modbuiltin obj=drivers/xen/events
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev/core
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/realtek/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/qualcomm/emac
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/rdc/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev/omap2
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/samsung
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/vme/bridges/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/renesas/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/vme/boards/modules.builtin drivers/vme/bridges/modules.builtin) > drivers/vme/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/rocker/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/seeq
(for m in drivers/video/fbdev/core/fb.ko drivers/video/fbdev/core/cfbfillrect.ko drivers/video/fbdev/core/cfbcopyarea.ko drivers/video/fbdev/core/cfbimgblt.ko; do echo $m; done;	\
cat /dev/null ) > drivers/video/fbdev/core/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/xen/events/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/xen/xenbus
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/sfc
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/silan
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/sis
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/qualcomm/emac/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev/omap2/omapfb
(for m in ; do echo $m; done;	\
cat /dev/null drivers/net/ethernet/qualcomm/emac/modules.builtin) > drivers/net/ethernet/qualcomm/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/smsc
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/samsung/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/seeq/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/socionext
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/sfc/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/silan/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/stmicro
(for m in drivers/xen/xenbus/xenbus_probe_frontend.ko; do echo $m; done;	\
cat /dev/null ) > drivers/xen/xenbus/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/sis/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/sun
(for m in drivers/xen/xen-acpi-processor.ko; do echo $m; done;	\
cat /dev/null drivers/xen/events/modules.builtin drivers/xen/xenbus/modules.builtin) > drivers/xen/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/synopsys
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/tehuti
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/ti
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev/omap2/omapfb/displays
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/smsc/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/via
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/socionext/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/stmicro/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/wiznet
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/sun/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/xilinx
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/synopsys/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/tehuti/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/net/ethernet/xircom
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/ti/modules.builtin
make -f ./scripts/Makefile.modbuiltin obj=drivers/video/fbdev/omap2/omapfb/dss
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/video/fbdev/omap2/omapfb/displays/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/via/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/xilinx/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/wiznet/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/net/ethernet/xircom/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/net/ethernet/3com/modules.builtin drivers/net/ethernet/8390/modules.builtin drivers/net/ethernet/adaptec/modules.builtin drivers/net/ethernet/agere/modules.builtin drivers/net/ethernet/alacritech/modules.builtin drivers/net/ethernet/alteon/modules.builtin drivers/net/ethernet/amazon/modules.builtin drivers/net/ethernet/amd/modules.builtin drivers/net/ethernet/aquantia/modules.builtin drivers/net/ethernet/arc/modules.builtin drivers/net/ethernet/atheros/modules.builtin drivers/net/ethernet/aurora/modules.builtin drivers/net/ethernet/broadcom/modules.builtin drivers/net/ethernet/brocade/modules.builtin drivers/net/ethernet/cadence/modules.builtin drivers/net/ethernet/cavium/modules.builtin drivers/net/ethernet/chelsio/modules.builtin drivers/net/ethernet/cirrus/modules.builtin drivers/net/ethernet/cisco/modules.builtin drivers/net/ethernet/cortina/modules.builtin drivers/net/ethernet/dec/modules.builtin drivers/net/ethernet/dlink/modules.builtin drivers/net/ethernet/emulex/modules.builtin drivers/net/ethernet/ezchip/modules.builtin drivers/net/ethernet/fujitsu/modules.builtin drivers/net/ethernet/google/modules.builtin drivers/net/ethernet/huawei/modules.builtin drivers/net/ethernet/i825xx/modules.builtin drivers/net/ethernet/intel/modules.builtin drivers/net/ethernet/marvell/modules.builtin drivers/net/ethernet/mellanox/modules.builtin drivers/net/ethernet/micrel/modules.builtin drivers/net/ethernet/microchip/modules.builtin drivers/net/ethernet/mscc/modules.builtin drivers/net/ethernet/myricom/modules.builtin drivers/net/ethernet/natsemi/modules.builtin drivers/net/ethernet/neterion/modules.builtin drivers/net/ethernet/netronome/modules.builtin drivers/net/ethernet/ni/modules.builtin drivers/net/ethernet/nvidia/modules.builtin drivers/net/ethernet/oki-semi/modules.builtin drivers/net/ethernet/packetengines/modules.builtin drivers/net/ethernet/pensando/modules.builtin drivers/net/ethernet/qlogic/modules.builtin drivers/net/ethernet/qualcomm/modules.builtin drivers/net/ethernet/rdc/modules.builtin drivers/net/ethernet/realtek/modules.builtin drivers/net/ethernet/renesas/modules.builtin drivers/net/ethernet/rocker/modules.builtin drivers/net/ethernet/samsung/modules.builtin drivers/net/ethernet/seeq/modules.builtin drivers/net/ethernet/sfc/modules.builtin drivers/net/ethernet/silan/modules.builtin drivers/net/ethernet/sis/modules.builtin drivers/net/ethernet/smsc/modules.builtin drivers/net/ethernet/socionext/modules.builtin drivers/net/ethernet/stmicro/modules.builtin drivers/net/ethernet/sun/modules.builtin drivers/net/ethernet/synopsys/modules.builtin drivers/net/ethernet/tehuti/modules.builtin drivers/net/ethernet/ti/modules.builtin drivers/net/ethernet/via/modules.builtin drivers/net/ethernet/wiznet/modules.builtin drivers/net/ethernet/xilinx/modules.builtin drivers/net/ethernet/xircom/modules.builtin) > drivers/net/ethernet/modules.builtin
(for m in drivers/net/tun.ko drivers/net/xen-netfront.ko; do echo $m; done;	\
cat /dev/null drivers/net/dsa/modules.builtin drivers/net/ethernet/modules.builtin drivers/net/fddi/modules.builtin drivers/net/hamradio/modules.builtin drivers/net/phy/modules.builtin drivers/net/ppp/modules.builtin drivers/net/slip/modules.builtin drivers/net/wan/modules.builtin drivers/net/wireless/modules.builtin) > drivers/net/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null ) > drivers/video/fbdev/omap2/omapfb/dss/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/video/fbdev/omap2/omapfb/displays/modules.builtin drivers/video/fbdev/omap2/omapfb/dss/modules.builtin) > drivers/video/fbdev/omap2/omapfb/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/video/fbdev/omap2/omapfb/modules.builtin) > drivers/video/fbdev/omap2/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/video/fbdev/core/modules.builtin drivers/video/fbdev/omap2/modules.builtin) > drivers/video/fbdev/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/video/backlight/modules.builtin drivers/video/console/modules.builtin drivers/video/fbdev/modules.builtin) > drivers/video/modules.builtin
(for m in ; do echo $m; done;	\
cat /dev/null drivers/acpi/modules.builtin drivers/amba/modules.builtin drivers/android/modules.builtin drivers/ata/modules.builtin drivers/auxdisplay/modules.builtin drivers/base/modules.builtin drivers/block/modules.builtin drivers/bus/modules.builtin drivers/cdrom/modules.builtin drivers/char/modules.builtin drivers/char/ipmi/modules.builtin drivers/clk/modules.builtin drivers/clocksource/modules.builtin drivers/connector/modules.builtin drivers/cpufreq/modules.builtin drivers/cpuidle/modules.builtin drivers/crypto/modules.builtin drivers/dax/modules.builtin drivers/devfreq/modules.builtin drivers/dma/modules.builtin drivers/dma-buf/modules.builtin drivers/edac/modules.builtin drivers/eisa/modules.builtin drivers/extcon/modules.builtin drivers/firewire/modules.builtin drivers/firmware/modules.builtin drivers/gpio/modules.builtin drivers/gpu/modules.builtin drivers/hwmon/modules.builtin drivers/hwspinlock/modules.builtin drivers/hwtracing/intel_th/modules.builtin drivers/i2c/modules.builtin drivers/i3c/modules.builtin drivers/idle/modules.builtin drivers/input/modules.builtin drivers/input/serio/modules.builtin drivers/iommu/modules.builtin drivers/irqchip/modules.builtin drivers/isdn/modules.builtin drivers/leds/modules.builtin drivers/lightnvm/modules.builtin drivers/macintosh/modules.builtin drivers/mailbox/modules.builtin drivers/md/modules.builtin drivers/media/modules.builtin drivers/memory/modules.builtin drivers/message/modules.builtin drivers/mfd/modules.builtin drivers/misc/modules.builtin drivers/mmc/modules.builtin drivers/net/modules.builtin drivers/nfc/modules.builtin drivers/nvdimm/modules.builtin drivers/nvme/modules.builtin drivers/nvmem/modules.builtin drivers/opp/modules.builtin drivers/pci/modules.builtin drivers/perf/modules.builtin drivers/phy/modules.builtin drivers/pinctrl/modules.builtin drivers/platform/modules.builtin drivers/pnp/modules.builtin drivers/power/modules.builtin drivers/powercap/modules.builtin drivers/pps/modules.builtin drivers/ptp/modules.builtin drivers/pwm/modules.builtin drivers/rapidio/modules.builtin drivers/ras/modules.builtin drivers/regulator/modules.builtin drivers/remoteproc/modules.builtin drivers/reset/modules.builtin drivers/rtc/modules.builtin drivers/scsi/modules.builtin drivers/sfi/modules.builtin drivers/soc/modules.builtin drivers/spi/modules.builtin drivers/staging/modules.builtin drivers/thermal/modules.builtin drivers/tty/modules.builtin drivers/usb/modules.builtin drivers/vfio/modules.builtin drivers/video/modules.builtin drivers/virt/modules.builtin drivers/virtio/modules.builtin drivers/vme/modules.builtin drivers/watchdog/modules.builtin drivers/xen/modules.builtin) > drivers/modules.builtin
make[1]: se sale del directorio '/usr/src/linux-headers-5.5.5-050505-generic'
make: *** [Makefile:22: all] Error 2

I'm unsure if the installation went well, and I don't understand what's wrong with the DKMS installation. Maybe I'm doing that step wrong!

Oh, ok! I've just ran sudo dkms install ./module on the repo root and it seems like it's installed! Indeed, the DisplayLink screen started to work immediately.

Just jumping in here to say thanks to all who have contributed to this thread.  I recently upgraded my Fedora 31 to kernel 5.5.11-200.fc31.x86_64, and once again, my DisplayLink driver (fedora-31-displaylink-1.6.4-1.x86_64.rpm) was failing to work. Searched high and low and finally came across the suggestions here in thread.  In summary:
$ sudo dnf install displaylink-1.6.4-2.x86_64.rpm
$ git clone https://github.com/DisplayLink/evdi.git
$ cd evdi
$ sudo dkms install ./module
"Magically" my monitors attached to my Dell D3100 dock came to life.  Again, thanks to all!
P.S. I'm in no way bashing elguero and all who have contributed to https://github.com/elguero/displaylink-rpm.git.  Huge thanks to everyone on that project who has even made the DisplayLink drivers availabe to us Fedora users. https://www.displaylink.com/downloads themselves won't even support us!

Awesome! Thank you everybody!

I just used this on Fedora 32 and it worked like a charm

This worked for me on my Fedora 32 system as well.


remove unused ExecutionResult::create_address

The address of the spawned program is returned the same way as the results of all contract methods via the ExecutionResult::output.

A few questions:

What happens when multiple spawns occur in a single call, or a single program execution? E.g., imagine a program serially spawning multiple other programs.
What happens when a spawn occurs lower down in the call stack? E.g., imagine a program makes an external call that results in a spawn. How does it get the result of that spawn?
What happens if both of these occur, i.e., a program makes an external call that results in multiple spawns?
What about the case described in this comment?:

https://github.com/athenavm/athena/blob/46a70843893faa481f1af380a8ea9f279656a9a0/ffi/athcon/include/athcon/athcon.h#L394-L403
This is a nuance involving gas pricing and the cost of state access. In a single transaction, we need to consider the fact that the first time an account is touched (or created), the cost is higher than subsequent accesses (this is what is meant by "warm"). We probably don't need to worry about this for now, but I just want to make sure that we're aware of it.

Let me give it more thought. I think we could return the spawned addresses in every case "normally" by bubbling it up the call stack, if the CALL syscall supported returning results (#36). For example,

What happens when multiple spawns occur in a single call, or a single program execution? E.g., imagine a program serially spawning multiple other programs.

This program could return Vec<Address>, which would be available to the caller in results.

What happens when a spawn occurs lower down in the call stack? E.g., imagine a program makes an external call that results in a spawn. How does it get the result of that spawn?
What happens if both of these occur, i.e., a program makes an external call that results in multiple spawns?

The address(es) could be simply returned from the CALL syscall supported returning values (#36)

What about the case described in this comment?:

I don't understand the use case described in the comment. What address would it return if spawning failed? Anyhow, probably the same method could be used (return the address in execution results).

What happens when multiple spawns occur in a single call, or a single program execution? E.g., imagine a program serially spawning multiple other programs.

This program could return Vec<Address>, which would be available to the caller in results.

Only one thing to add: the result of each spawn can already be available to the program performing the spawn, as each spawn host call returns the newly-created contract address. The question of how to surface this to the user is a bit more complex. The other obvious way to do this, aside from a program return value, is logs/events (#92).


Dropdown: Should work with keys instead of values

The Dropdown component is working with each option's value internally. Whereas using the key, if supplied, would be correct.
Steps
Throw a set of options into a Dropdown with two identical values.
Expected Result
Show both options.
Actual Result

Only the first option will be displayed.
Additionally a React warning is thrown in console: "Warning: flattenChildren(...): Encountered two children with the same key..."

Version
0.68.1
Testcase
http://codepen.io/karlludwigweise/pen/xdRvYL
And yes, this is a very very awkward use-case.

Thanks, this is being worked on in #1639.  I'll leave this open until that is merged.


.gitignore is renamed to .npmignore in boilerplate

This issue from npm was there since 2011 (https://github.com/npm/npm/issues/1862)
For those who wanna contribute to statinamic. This is a easy patch. Just rename .npmignore to .gitignore after boilerplate is copied
Ref: https://github.com/MoOx/statinamic/blob/81baba84c5b8a49564ef8b2c82996148bf8f02ed/src/bin/commands/setup.js#L51-L52

I'll do it. It's annoying

why are this thing converted in the first place ?!

It is converted during npm publishing progress.

so maybe we can convert back in the npm postinstall hook. So if someone open the boilerplate in node_modules, it don't have inconsistency.

@MoOx good idea. Will do it instead.


fixes #26 navbar

added navbar
added CODEOWNERS file
added babel transform class plugin

Coverage decreased (-4.6%) to 95.385% when pulling 22e9dd984e7572f68fbcc8be246add1e79352da7 on navbar into 8950fb5450863f1183b329d2b6cf8509c11380e0 on master.


Unable to resolve transitive dependency (possible upstream POM error?)

I attempted to migrate several projects to coursier. Most worked swimmingly, but one was unable to resolve a dependency and reported:
[info] Updating gpp-lims-server:gpp-lims-server_2.11:1.0.0
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
Ignoring unparsed versions: Vector(${version})
[info] Resolved gpp-lims-server:gpp-lims-server_2.11:1.0.0 dependencies
[info] Updating gpp-lims-client:gpp-lims-client_sjs0.6_2.11:1.0.0
[info] Resolved gpp-lims-client:gpp-lims-client_sjs0.6_2.11:1.0.0 dependencies
[info] Fetching artifacts of gpp-lims-server:gpp-lims-server_2.11:1.0.0
[info] Fetched artifacts of gpp-lims-server:gpp-lims-server_2.11:1.0.0
[error] 1 not found
[error]   https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar
[info] Fetching artifacts of gpp-lims-client:gpp-lims-client_sjs0.6_2.11:1.0.0
[info] Fetched artifacts of gpp-lims-client:gpp-lims-client_sjs0.6_2.11:1.0.0
[trace] Stack trace suppressed: run last server/*:update for the full output.
[error] (server/*:update) java.lang.Exception: Encountered 1 errors (see above messages)
[error] Total time: 2 s, completed May 25, 2016 10:45:15 AM

I tried to create a minimal repro case, since this project is somewhat large (it's a Play project) and is not open source. The dependency in question is coming in via a dependency on Atlassian's Crowd authentication framework, which we can't reasonably avoid here.
I was able to create a minimal build file that exhibits most of the same behavior, although it never prints the message about Ignoring unparsed versions: Vector(${version}). Here's the build.sbt:
lazy val root = (project in file("."))
  .settings(
    name := "coursier-test",
    version := "1.0",
    scalaVersion := "2.11.8",
    libraryDependencies ++= Seq("org.codehaus.xfire" % "xfire-core" % "1.2.6")
  )

I used a project/plugins.sbt to include addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M12") and project/build.properties to set the SBT version to 0.13.11.
With this minimal project, I get:
> last *:update
[info] Fetching artifacts of coursier-test:coursier-test_2.11:1.0
[info] Fetched artifacts of coursier-test:coursier-test_2.11:1.0
[error] 1 not found
[error]   https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar
java.lang.Exception: Encountered 1 errors (see above messages)
    at coursier.Tasks$$anonfun$updateTask$1.coursier$Tasks$$anonfun$$report$1(Tasks.scala:710)
    at coursier.Tasks$$anonfun$updateTask$1$$anonfun$apply$49.apply(Tasks.scala:748)
    at coursier.Tasks$$anonfun$updateTask$1$$anonfun$apply$49.apply(Tasks.scala:748)
    at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
    at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
    at coursier.Tasks$$anonfun$updateTask$1.apply(Tasks.scala:741)
    at coursier.Tasks$$anonfun$updateTask$1.apply(Tasks.scala:517)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (*:update) java.lang.Exception: Encountered 1 errors (see above messages)
>

After looking around at other issues, I noticed #157 which looked similar. Following the path there, I was able to create an even more minimal repro case:
% coursier fetch "org.codehaus.xfire":"xfire-core":"1.2.6"
  Error:
https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar: NotFound(https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar,Some(true))

However, unlike #157, disabling checksums does not help the matter:
 % coursier fetch "org.codehaus.xfire":"xfire-core":"1.2.6" --checksum none
  Error:
https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar: NotFound(https://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/SNAPSHOT/XmlSchema-SNAPSHOT.jar,Some(true))

Like #157, the POM does not appear to include versions for dependencies.
http://central.maven.org/maven2/org/codehaus/xfire/xfire-core/1.2.6/xfire-core-1.2.6.pom
Perhaps that's a red herring, though.

The SNAPSHOT version for org.apache.ws.commons:XmlSchema seems to originate from... the SNAPSHOT version in http://repo1.maven.org/maven2/org/apache/ws/commons/XmlSchema/1.1/XmlSchema-1.1.pom. That's a bug though. It should be easy to fix.

https://github.com/alexarchambault/coursier/pull/259 should fix the issue with org.apache.ws.commons:XmlSchema.
The Ignoring unparsed versions messages aren't a good sign for your gpp-lims-server:gpp-lims-server_2.11:1.0.0 though.

I was wondering about those. I found the line of code in Coursier that emits that warning, but didn't get a chance to try and figure out what it meant. In practice, the system seems to work - maybe that's the ecosystem of JVM dependency management for you...

I think I'm running into a related problem:
$ coursier fetch -r https://www.phon.ca/artifacts/libs-snapshot ca.phon:phontalk-core:2.0.0-SNAPSHOT

Error:
  ca.phon:phon-project:${ca.phon.version}:
    not found: /Users/chen/.ivy2/local/ca.phon/phon-project/${ca.phon.version}/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/ca/phon/phon-project/$%7Bca.phon.version%7D/phon-project-$%7Bca.phon.version%7D.pom
    not found: https://www.phon.ca/artifacts/libs-snapshot/ca/phon/phon-project/$%7Bca.phon.version%7D/phon-project-$%7Bca.phon.version%7D.pom
  ca.phon:phon-syllabifier:${ca.phon.version}:
    not found: /Users/chen/.ivy2/local/ca.phon/phon-syllabifier/${ca.phon.version}/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/ca/phon/phon-syllabifier/$%7Bca.phon.version%7D/phon-syllabifier-$%7Bca.phon.version%7D.pom
    not found: https://www.phon.ca/artifacts/libs-snapshot/ca/phon/phon-syllabifier/$%7Bca.phon.version%7D/phon-syllabifier-$%7Bca.phon.version%7D.pom

@FranklinChen This is related to https://github.com/alexarchambault/coursier/issues/169 (namely, a parent POM uses snapshot versioning, and is not found, which provokes the errors you're seeing).

@FranklinChen With https://github.com/coursier/coursier/pull/567 which should be included in 1.0.0-RC4, the following works:
$ coursier fetch ca.phon:phontalk-core:2.0.0-SNAPSHOT -r https://www.phon.ca/artifacts/libs-release -r https://www.phon.ca/artifacts/libs-snapshot


Ambiguity warnings in mix.exs

Using Elixir v1.4 it gives you some ambiguity warnings for mix.exs when compiling the package:
warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
  /.../deps/navigation_history/mix.exs:12

warning: variable "description" does not exist and is being expanded to "description()", please use parentheses to remove the ambiguity or change the variable name
  /.../deps/navigation_history/mix.exs:14

warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
  /.../deps/navigation_history/mix.exs:18

It’s easy to fix by adding parenthesis to these function calls.
Should I just open a PR to fix this?

Hi, thanks for reporting.
I just updated mix.exs and pushed a new version to hex.

Awesome, @tuvistavie, thank you!


Add support for changing type info of atree arrays (atree inlining branch)

Updates #372
This feature is needed by Cadence migrations to update static types.  For more details, see

https://github.com/onflow/cadence/issues/3096#issuecomment-1977580596.

This PR adds Array.SetType() to allow updating TypeInfo.
NOTE: Implementation of this in atree inlining branch is different than non-inlining branch(es).

[ ] Targeted PR against main branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

Codecov Report
Attention: Patch coverage is 61.53846% with 10 lines in your changes are missing coverage. Please review.

Project coverage is 62.48%. Comparing base (2fbf860) to head (e029e43).

Files
Patch %
Lines

array.go
61.53%
7 Missing and 3 partials :warning:

Additional details and impacted files
@@                      Coverage Diff                       @@
##           feature/array-map-inlining     #376      +/-   ##
==============================================================
+ Coverage                       62.45%   62.48%   +0.02%
==============================================================
  Files                              15       15
  Lines                           10919    10945      +26
==============================================================
+ Hits                             6820     6839      +19
- Misses                           3119     3124       +5
- Partials                          980      982       +2

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


Loosen React peerDependency range to match adapters

Another day, another PR. 😄
Despite supporting enzyme adapters all the way back to React v0.13.0, the >=16.x peer for React spouts warnings whenever one installs jest-environment-enzyme. So let's avoid that (it still works, it's just noise during installation that can be easily avoided).
I also added root dependencies to quell the leaf peer dep warnings.

Released as 6.0.2. Sorry for missing this!


[SPARK-24807][SQL] Adding files/jars twice: output a warning and add a note

What changes were proposed in this pull request?
In the PR, I propose to output an warning if the addFile() or addJar() methods are callled more than once for the same path. Currently, overwriting of already added files is not supported. New comments and warning are reflected the existing behaviour.

Test build #93005 has started for PR 21771 at commit 0942fd2.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Test build #93007 has started for PR 21771 at commit 4a583c6.

Test build #93005 has finished for PR 21771 at commit 0942fd2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/93005/
Test PASSed.

Test build #93007 has finished for PR 21771 at commit 4a583c6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/93007/
Test PASSed.

Seems fine to me.

LGTM

Thanks! Merged to master.

We could have updated the doc for spark.files.overwrite too since the confusion probably with this configuration.


Develop

Add project files for behavioral cloning

Hi @dg1106,
Though we are a little delayed in responding, this PR contains your personal work that cannot be added to Udacity's repository (starter-code).
Although, feel free to suggest an update to the starter code.
Happy Learning
Udacity


Atom feed link broken

I reached your blog via this repo, linked to from the FastHTML post on Hacker News.  The link in the repo description points to danielfeldroycom-production.up.railway.app, which is fine but then your Atom feed link is broken.  The link from daniel.feldroy.com works fine.

Just fixed the feed!


conformed XMPP logo addition

finally.

It is really really close!  One last tweak, I promise!  Oh, and it is my fault - not yours.
If you set the rx="50%" you'll see that the logo goes outside the bounds.
I've put guidelines on https://github.com/edent/SuperTinyIcons#guidelines - but they're not in contributing. That's my bad and I'll fix it.

ok i've updated my version which fits. do i burn this PR or will it merge?

Hahaha! You've earned that shirt :-)

@wuxmedia, @edent: I am not sure that you use the good logo version...
Can you look the good one?

https://commons.wikimedia.org/wiki/File:XMPP_logo.svg
https://commons.wikimedia.org/wiki/File:XMPP_logo_(without_text).svg

@Neustradamus Do you mean the gradient or the text?

@kuubeu: Old version, there was a problem:

https://i.ibb.co/vcqmc8b/xmpp-logo-xsf-test.png


Update Dockerfile

When comparing with hyp3-autorift Dockerfile there were no large changes, just needed to change the author/email information. However, do we want switch to using micromamba instead of mambaforge?

Closing because we actually want to merge into update_staging.


[Map] DMBallisticTest

Hash: 04ca1d82ef5cbd377a0b3cbbdafb3f184ef69b25
Current name: DMBallisticTest
This isn't a DM map despite the prefix but it is a Ballistic Test map - I think it is to test the capability of weapons to penetrate a solid object and destroy wooden boxes behind what appears to be solid (rather than breakable) glass or perspex.  So an Enforcer won't penetrate the solid screen but Counter Strike weapons will.

I've set the gametype to Tests and Demos, seems appropriate given the description.


Update Icons

The current icon set looks like it has been cut from the sides. Can we use the icons from OpenShift console?

I you referring to 3 letter icons like SEV? If so, they are text in OpenShift. So I made ones that fit the square dimensions. The first version matched exactly, but it wasn't readable or recognizable.
I would prefer an actual icon instead of text.  If those are the icons you refer to then maybe I should talk to the PM about a new design.

Tekton pipelines somehow uses them. Can you check what it did?

In the DevConsole;

Pipelines get their "text" icons from https://github.com/openshift/console/blob/master/frontend/packages/dev-console/src/models/pipelines.ts#L12
Knative get their "text" icons from https://github.com/openshift/console/blob/master/frontend/packages/knative-plugin/src/models.ts#L94

The icons in the tekton ext were created to look similar to DevConsole. They look to small to me, I think they are hard to read. So when I made the icons for knative, I made the text more readable.
I did opt to square off the icon, as I thought it looked odd rounded.
Is your concern that there is not enough space on the sides or that they aren't rounded? Or something else.

I think Knative ones needs a bit margin on the sides. They are more readable than Tekton but then they feel like they were cut short and there is more of it

I can make some adjustments.

I'm going to add your request to change the revision icons when not active to this bug/task in the comments in Display Traffic Splitting #26

All of the icons have been completely redrawn. Closing this.


Sync global and guild app command tree on startup

This change syncs all app commands after extensions have been loaded.
This release also removes the need to run :obj:pydis_core.BotBase.load_extensions in a task, and it can just be awaited directly.
A beta release for this PR is available under 9.4.0b1 on pypi.
Changelog preview:

I have also made this available for testing on this PR https://github.com/python-discord/sir-robin/pull/71


Update Electron to 2.0.11

Update Atom to use Electron 2.0.11

Thanks @mfonville!  Once the build goes green I'll get this merged.


Fabian montaño

I've completed the class server and its methods, also the mistakes were solucionated and this  is the final version of "server" to be integrated to main branch 'cause this part was tested and worked as it should do it, the port waas modified, and some methods to look for a word in a file using a map were implemented and the bot gives answers based in just one word what users writes by console.

The pull request is accepted because it is compatible with the client's project and the project has good practices.Everything was reviewed and agrees with what was requested.


Document container launch algorithm on cluster

Clarify what happens when one does not define a target when
launching a container in a LXD cluster.
Signed-off-by: David Negreira<EMAIL_ADDRESS>

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Thanks!


Subset of Dataset

I want to train in-processing algorithms like Prejudice Remover, ART classifier, etc. using a specific subset of dataset like Adult Income, etc. Is there a way to create a subset based on row numbers like df.loc[[2,3,4,5]]?
If so, I can then train and predict using the existing api which take 'dataset' type as input for fit & predict function respectively.
Not sure if this functionality is supported out of the box or if there is some workaround?

Hi @bhavyaghai , there is no method currently to do this. But it should be easy to implement. Basically, we have to create a new dataset by subsetting the fields features, labels, scores, protected_attributes, instance_names and instance_weights from the original dataset.  The rest of the fields can be just copied over. We may have to change the metadata also to denote the subsetting.

Can you give me any timeframe on when can I expect this feature?
My current research is dependent on this feature.

@bhavyaghai, please feel free to implement it yourself and contribute it to the community.  I am sure many people will benefit from it.


Does this implementation require a connection pool?

It's probably a dumb question, but do I need to have multiple connections for a large application or a single one is enough?
Does the Session concept relate in any way to my question since it can multiplex operations from what I understood?
In case a connection pool make sense, is there any implementation to go with this lib? Would integrating with Deadpool library make sense?

I think it's really going to depend on you use case. This crate simply implements the protocol.
I think in most use cases, long-lived connections are used for sending and receiving messages, which is probably not the best place to use a connection pool. Because AMQP has all the handshakes for creating Connection, Session, and Link, I don't think the protocol is designed for use cases where short-lived connections are frequently created and dropped. You will likely see a worse performance in such use cases.
The Session type is more of a grouping of multiple links where messages are multiplexed, and provide some flow control for this group of links, but the state is still stored within each individual link. However, all the AMQP 1.0 message brokers/services don't seem to make much use of the session at all.
If you were to pursue a use case with connection pool, I think anything that gives you a pool of tokio compatible connection (tokio's AsyncRead + AsyncWrite) would work. You can set up an AMQP Connection directly with a stream using this method open_with_stream

Or if you were thinking about a pool of AMQP Connections, I think it's possible with the current API, but I don't think it's the recommended usage. The way you would want to reconnect a link to another connection is essentially the link recovery process, which again is not designed for frequently creating short-lived senders and receivers.
All sessions (and thus their links) that share the same Connection are multiplexed. I think some simple experimentation is needed to see whether having dedicated connection per sender/receiver or sharing a multiplexed connection with a group of sender/receivers gives the best throughput. In an related issue (https://github.com/minghuaw/azeventhubs/issues/9), the best performance was achieved with dedicated connections for each sender/receiver

Here is a good article explaining the protocol without diving into the 100+ pages long spec (https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-amqp-protocol-guide)
I remember seeing folks from Azure messaging (probably Service Bus) NOT recommending using AMQP as if it is HTTP because there are more handshakes. But for long-lived connections, AMQP is more efficient and performant in their context which is comparing using AMQP vs REST API with Service Bus

Wow what an amazing answer. Absolutely, this makes sense. I'll read the documentation and get to know better. Thanks a lot!
I might report back to this issue if I get more concrete and useful information. I'll use this library to setup a big project I have with activemq artemis, so I might have some insights after that!

Feel free to keep this issue open for questions and feedback. There are probably use cases that I had not considered, and I will be more than happy to help you if you need some new feature for your use case

Seriously, thank you! This interaction was unexpectedly wholesome and improved on my Saturday haha

@minghuaw One more question for you. I'm gonna use this library in an application with about 20 senders and 20 receivers at all times. Should I create a single session to attach all of them, or one by one? I know this question is more about AMQP 1.0 then the library, but I'm having trouble understanding the positioning of the session concept within it all.

I would say having one session per sender/receiver would likely be the better option (if memory is not too limited). This really comes down to two reasons.

On the protocol side, the Session concept was introduced into AMQP protocol to do flow control. So a group of senders sharing the same session would mean they are subject to the same flow control and a few frequent sender may inadvertently affect other senders sharing the same session.
For the library itself, the session event loop handles updating the state of the unsettled messages, which is a shared state between the session and the sender/receiver. Having a large number of sender/receiver is probably going to increase the chance that some may have to wait for the lock on the shared state to be released.

The shared state as well as the channels to the link are all stored in HashMaps in the session event loop, but it shouldn't be a big problem unless you have a really limited memory to work with.

@minghuaw Thanks again for the quick response. Another thing, the Connection and Session objects are not related (lifetime wise) with the Receiver/Sender ones. If I have a Sender, do I have to keep the Connection and Session objects alive so it works, or it would work even independently of the previous objects?
The reason I ask is because I don't know whether to hold the Session alongside the Sender in my structs or not. Sorry for the newb questions.

@minghuaw Thanks again for the quick response. Another thing, the Connection and Session objects are not related (lifetime wise) with the Receiver/Sender ones. If I have a Sender, do I have to keep the Connection and Session objects alive so it works, or it would work even independently of the previous objects?
The reason I ask is because I don't know whether to hold the Session alongside the Sender in my structs or not. Sorry for the newb questions.

You would want to keep the connection and session variables until you close the links(sender/receiver), and you would want to close the session before closing the connection. This is an unfortunate design choice. Channels are used to transmit messages between connection, session and links, and the channels themselves don't carry explicit lifetimes. Another problem is if explicit lifetime was introduced to links, it would make spawning multiple sender and receiver really convoluted because spawn generally requires something that has 'static lifetime

Yeah this makes sense. Another last question, and I'm sorry to keep bothering you.
Is it ok to keep Sender/Receiver around for long times after initialization?
I think the flow of my program will be something like, spawning the 20 session and senders/receivers at boot time, keeping all structs alive while we are at it, and just keep using them for as long as the software runs.

That should be fine on the library side. However, you would probably want to check if there's any settings regarding the idle time on your message broker (this may also be different for senderband receiver). For example, i think either Service Bus or Event Hubs enforce a 30 mins idle time limit for senders.


Add screenshot(s) to README

You should add one of the screenshots from your Reddit post to the README.md, probably to the top.
https://preview.redd.it/nwv5x8hyha071.png?width=1754&format=png&auto=webp&s=014af81f17568d74174212065468aab282bd5f03

Done


Refactor tasks to just be functions

They do not need to be classes.

They also do not need to be functions


Update cortana-analytics-playbook-demand-forecasting-energy.md

update author's name

Hi @yijichen, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (yijichen). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


feat: remove all legacy gas costs calculations

Feature Request
The direction we're taking in the EVM rewrite doesn't involve gas-cost equivalence with the EVM specification. Therefore, all gas-related hardcoded values or formulas extracted from the EVM should be removed from the codebase. For example, expanding the memory should not calculate the associated gas costs, given that the underlying model is completely different from traditional EVM's
Describe the Feature Request
Describe Preferred Solution
Related Code
Additional Context
If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

[x] Yes
[ ] No

Important update: we are gathering some bugs in the Kakarot v0 codebase, we need to make sure each issue and each PR in Kakarot-ssj is aware of the lists of known bugs. Look at this link everytime you take an issue and check your issue isn't targeted by a known bug.

Important update: we are gathering some bugs in the Kakarot v0 codebase, we need to make sure each issue and each PR in Kakarot-ssj is aware of the lists of known bugs. Look at this tracking issue everytime you take an issue and check your issue isn't targeted by a known bug. Will add this reminder in many places to make sure we keep track of known bugs.


docs: switch to hugo docs via pages

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add ActionBarActivity

When I make a new project the default activity is an ActionBarActivity. However, to use OrmLite I have to change this to an OrmLite specific activity. Can an OrmLite activity be created that inherits from ActionBarActivity?
I've currently copied and pasted the OrmLiteBaseActivity code into a new class that extends ActionBarActivity as a workaround.

Well, we could add that, but I'm trying to deprecate the whole base activity thing.  You don't need them.  Essentially, create a singleton for your db helper.  http://stackoverflow.com/a/3689883

To follow up, don't extend the activity classes in ormlite.


Add Tags to UsagePlan Model - API Gateway

Closes #2459

Coverage increased (+0.01%) to 93.361% when pulling 2ba0134bb79c1458ce9a5473fe9ee2ad12bf68bd on EDITD:master into 7b13f3999515761f1eaa35c8b643c3007eaad43b on spulec:master.

Looks great; thanks!

Awesome, thanks for merging!


Add password function to settings

Prevent unauthorised access to NodeMCU/OTGW

This could be an improvement for a future release. Threat model is that you have someone in your network that has access to your firmware. This could flash firmware (esp8266, pic) or setting commands to the gateway.


[microTVM][Zephyr] Add missing CMSIS-NN source files to cmake file

Add missing CMSIS-NN source files to Zephyr cmake file
cc @alanmacd @areusch @gromero

I rebased to fix the CI issue


[Network] Display the number of results

This PR displays the number of results (organisations and projects) at the top of the sidebar in the Network module.
Acceptance criteria

There is a way to see the total number of organisations and projects (and schemes) existing on the Network module

If a filter is selected, the total number of filtered organisations and/or projects (and schemes) is displayed
Text:

If organisations and projects: « Showing XXX organisations and YYY projects. »
If organisations only: « Showing XXX organisations. »
If projects only: « Showing YYY projects. »

Design: https://www.figma.com/file/DBXFTLd6nFBmg6fFE6P2cX/ORCaSa-Design?type=design&node-id=451-55221&mode=design&t=3h7O8hlr2NOHEAjj-4

Tracking

ORC-415 - Display the total number of matching organisations and projects

ORC-417 - FE - Indicate the total number of matching organisations and projects

Is there a reason why we are not using the same UseNetworks hook for the count?

Nope, you're right. I'm just reading the meta data. I'll update this PR!

Actually there is a reason: useNetworks doesn't return the metadata. So we have two options:

Update useNetworks so it returns the metadata (total)
Keep the new useNetworksCount hook but set the page size to 1 (already tested it locally)

Which one would you prefer?

I think is ok. Thanks!


Expand/collapse leaves issue

I got an issue with expand/collapse for leaves.
While expand/collapse image is hidden, the "tree-branch-head" is still visible and is clickable.
This will cause side effects, like expanding empty list of children (with custom margin for child container this will show/hide empty container with for ex 10px height), and so on.
I propose to replace

with

in template.
This will hide this expand/collapse control, so user won't be able to do expand/collapse on leaves.

can you point me at an example of the problem? Does it happen in any of the demos in the samples page (the project site)?

I'm really sorry for inconvenience.
It seems like our CSS guy have forgotten important part of your CSS, like hiding this expand/collapse element.


Adds glossary to the template

Adds a glossary to the template before the list of acronyms.
Update: Also includes the actual fix from user @fhasse95 from the PR7 that fixes the hyperlink references to the glossary

Could you resolve the conflict in config/Config.tex and remove the pdf from your PR.
I will update the example PDF file after all current PR requests have been resolved.

@mfueller done, please check


OSA SHA bump to Mitaka

This is using the current head of stable/mitaka for OSA, and includes the minimum change necessary to make rpc-o master switch over to using OSA mitaka

The commit message will need updating before this is merged.

16:50:50 TASK: [galera_client | Add galera apt-keys] ***********************************
16:50:50 ok: [jrpcaioiad-3b0] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'})
16:51:03 failed: [jrpcaioiad-3b0_neutron_agents_container-046b01e6] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'}) => {"attempts": 5, "cmd": "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB", "failed": true, "item": {"fallback_keyserver": "hkp://p80.pool.sks-keyservers.net:80", "hash_id": "0xcbcb082a1bb943db", "key_name": "mariadb", "keyserver": "hkp://keyserver.ubuntu.com:80"}, "rc": 2}
16:51:03 stderr: gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
16:51:03 gpg: no valid OpenPGP data found.
16:51:03 gpg: Total number processed: 0
16:51:03
16:51:03 stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.9xD9MzGXR5 --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB
16:51:03 gpgkeys: key CBCB082A1BB943DB can't be retrieved
16:51:03
16:51:03 msg: Task failed as maximum retries was encountered
16:51:03 failed: [jrpcaioiad-3b0_neutron_server_container-2c2e729a] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'}) => {"attempts": 5, "cmd": "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB", "failed": true, "item": {"fallback_keyserver": "hkp://p80.pool.sks-keyservers.net:80", "hash_id": "0xcbcb082a1bb943db", "key_name": "mariadb", "keyserver": "hkp://keyserver.ubuntu.com:80"}, "rc": 2}
16:51:03 stderr: gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
16:51:03 gpg: no valid OpenPGP data found.
16:51:03 gpg: Total number processed: 0
16:51:03
16:51:03 stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.iG3AQcfKpF --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB
16:51:03 gpgkeys: key CBCB082A1BB943DB can't be retrieved
16:51:03
16:51:03 msg: Task failed as maximum retries was encountered
16:51:03
16:51:03 FATAL: all hosts have already failed -- aborting

Keyserver issues, I'm seeing the same thing in my testing, will try again in a few as this is usually temporary.

recheck_all

recheck_all

Failing on SSH, everything worked locally for me.

recheck_all

MaaS is failing to add a keystone user:
22:27:55 TASK: [rpc_maas | Create keystone user for monitoring] ************************
22:27:55 skipping: [jrpcaioiad-30_elasticsearch_container-1c528255]
22:27:55 skipping: [jrpcaioiad-30_nova_cert_container-91709d63]
22:27:55 skipping: [jrpcaioiad-30_neutron_server_container-a76968c5]
22:27:55 skipping: [jrpcaioiad-30_neutron_agents_container-6e431a80]
22:27:55 skipping: [jrpcaioiad-30_nova_api_os_compute_container-a22d3aaf]
22:27:55 skipping: [jrpcaioiad-30_nova_conductor_container-d82f661f]
22:27:55 skipping: [jrpcaioiad-30_ceph_osd_container-b0105c1a]
22:27:55 skipping: [jrpcaioiad-30_rsyslog_container-3062a266]
22:27:55 skipping: [jrpcaioiad-30_ceph_mon_container-b12ca565]
22:27:55 skipping: [jrpcaioiad-30_horizon_container-e568a342]
22:27:55 skipping: [jrpcaioiad-30_cinder_scheduler_container-bd602e36]
22:27:55 skipping: [jrpcaioiad-30_repo_container-e8dcfee1]
22:27:55 skipping: [jrpcaioiad-30_nova_api_metadata_container-87ed9b8f]
22:27:55 skipping: [jrpcaioiad-30_nova_console_container-b3a23eca]
22:27:55 skipping: [jrpcaioiad-30_galera_container-b7b27df5]
22:27:55 skipping: [jrpcaioiad-30_ceph_osd_container-e5d2ee8d]
22:27:55 skipping: [jrpcaioiad-30_ceph_mon_container-7b1ddbf8]
22:27:55 skipping: [jrpcaioiad-30_memcached_container-fb1e78ac]
22:27:55 skipping: [jrpcaioiad-30_heat_engine_container-93b0dc02]
22:27:55 skipping: [jrpcaioiad-30_nova_scheduler_container-8621138b]
22:27:55 skipping: [jrpcaioiad-30_keystone_container-89de8c02]
22:27:55 skipping: [jrpcaioiad-30_logstash_container-212d7524]
22:27:55 skipping: [jrpcaioiad-30_glance_container-ff1cc2fb]
22:27:55 skipping: [jrpcaioiad-30_kibana_container-d49ebb5a]
22:27:55 skipping: [jrpcaioiad-30_cinder_api_container-68506bc8]
22:27:55 skipping: [jrpcaioiad-30_ceph_osd_container-324b0064]
22:27:55 skipping: [jrpcaioiad-30_rabbit_mq_container-5ddeba40]
22:27:55 skipping: [jrpcaioiad-30_ceph_mon_container-86a74acb]
22:27:55 skipping: [jrpcaioiad-30_heat_apis_container-bc22e308]
22:27:56 skipping: [jrpcaioiad-30]
22:27:56 failed: [jrpcaioiad-30_utility_container-26d4a433] => {"failed": true, "parsed": false}
22:27:56 OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
22:27:56 debug1: Reading configuration data /etc/ssh/ssh_config
22:27:56 debug1: /etc/ssh/ssh_config line 19: Applying options for *
22:27:56 debug1: auto-mux: Trying existing master
22:27:56 debug1: Control socket "/jenkins/.ansible/cp/ansible-ssh-<IP_ADDRESS>-22-root" does not exist
22:27:56 debug1: Connecting to <IP_ADDRESS> [<IP_ADDRESS>] port 22.
22:27:56 debug1: fd 3 clearing O_NONBLOCK
22:27:56 debug1: Connection established.
22:27:56 debug1: permanently_set_uid: 0/0
22:27:56 debug1: identity file /root/.ssh/id_rsa type 1
22:27:56 debug1: identity file /root/.ssh/id_rsa-cert type -1
22:27:56 debug1: identity file /root/.ssh/id_dsa type -1
22:27:56 debug1: identity file /root/.ssh/id_dsa-cert type -1
22:27:56 debug1: identity file /root/.ssh/id_ecdsa type -1
22:27:56 debug1: identity file /root/.ssh/id_ecdsa-cert type -1
22:27:56 debug1: identity file /root/.ssh/id_ed25519 type -1
22:27:56 debug1: identity file /root/.ssh/id_ed25519-cert type -1
22:27:56 debug1: Enabling compatibility mode for protocol 2.0
22:27:56 debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
22:27:56 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
22:27:56 debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7 pat OpenSSH_6.6.1* compat 0x04000000
22:27:56 debug1: SSH2_MSG_KEXINIT sent
22:27:56 debug1: SSH2_MSG_KEXINIT received
22:27:56 debug1: kex: server->client aes128-ctr<EMAIL_ADDRESS><EMAIL_ADDRESS>22:27:56 debug1: kex: client->server aes128-ctr<EMAIL_ADDRESS><EMAIL_ADDRESS>22:27:56 debug1: sending SSH2_MSG_KEX_ECDH_INIT
22:27:56 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
22:27:56 debug1: Server host key: ECDSA c6:a3:66:a8:39:f8:e4:27:b9:fd:8f:a4:2d:c0:01:7d
22:27:56 debug1: Host '<IP_ADDRESS>' is known and matches the ECDSA host key.
22:27:56 debug1: Found key in /root/.ssh/known_hosts:5
22:27:56 debug1: ssh_ecdsa_verify: signature correct
22:27:56 debug1: SSH2_MSG_NEWKEYS sent
22:27:56 debug1: expecting SSH2_MSG_NEWKEYS
22:27:56 debug1: SSH2_MSG_NEWKEYS received
22:27:56 debug1: SSH2_MSG_SERVICE_REQUEST sent
22:27:56 debug1: SSH2_MSG_SERVICE_ACCEPT received
22:27:56 debug1: Authentications that can continue: publickey
22:27:56 debug1: Next authentication method: publickey
22:27:56 debug1: Offering RSA public key: /root/.ssh/id_rsa
22:27:56 debug1: Server accepts key: pkalg ssh-rsa blen 279
22:27:56 debug1: key_parse_private2: missing begin marker
22:27:56 debug1: read PEM private key done: type RSA
22:27:56 debug1: Enabling compression at level 6.
22:27:56 debug1: Authentication succeeded (publickey).
22:27:56 Authenticated to <IP_ADDRESS> ([<IP_ADDRESS>]:22).
22:27:56 debug1: setting up multiplex master socket
22:27:56 debug1: channel 0: new [/jenkins/.ansible/cp/ansible-ssh-<IP_ADDRESS>-22-root]
22:27:56 debug1: control_persist_detach: backgrounding master process
22:27:56 debug1: forking to background
22:27:56 debug1: Entering interactive session.
22:27:56 debug1: multiplexing control connection
22:27:56 debug1: channel 1: new [mux-control]
22:27:56 debug1: channel 2: new [client-session]
22:27:56 debug1: Sending environment.
22:27:56 debug1: Sending env LANG = en_US.UTF-8
22:27:56 debug1: Sending command: /bin/sh -c 'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python'
22:27:56 debug1: mux_client_request_session: master session id: 2
22:27:56 Traceback (most recent call last):
22:27:56   File "<stdin>", line 2922, in <module>
22:27:56   File "<stdin>", line 1304, in main
22:27:56   File "<stdin>", line 460, in command_router
22:27:56   File "<stdin>", line 715, in ensure_user
22:27:56   File "<stdin>", line 580, in _get_domain_from_vars
22:27:56   File "<stdin>", line 587, in _get_domain
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/v3/domains.py", line 60, in list
22:27:56     return super(DomainManager, self).list(**kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 75, in func
22:27:56     return f(*args, **new_kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 383, in list
22:27:56     self.collection_key)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 124, in _list
22:27:56     resp, body = self.client.get(url, **kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 173, in get
22:27:56     return self.request(url, 'GET', **kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 331, in request
22:27:56     resp = super(LegacyJsonAdapter, self).request(*args, **kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 98, in request
22:27:56     return self.session.request(url, method, **kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 94, in inner
22:27:56     return func(*args, **kwargs)
22:27:56   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", line 420, in request
22:27:56     raise exceptions.from_response(resp, method, url)
22:27:56 keystoneauth1.exceptions.http.Unauthorized: The request you have made requires authentication. (HTTP 401) (Request-ID: req-eded2264-ff6d-418e-82ac-49734557c74f)
22:27:56 debug1: client_input_channel_req: channel 2 rtype exit-status reply 0
22:27:56 debug1: channel 2: free: client-session, nchannels 3
22:27:56 debug1: channel 1: free: mux-control, nchannels 2
22:27:56

MaaS is unauthorized, not sure why.

recheck_all

-- Build timeout

recheck_all

So locally I'm getting the following error:
TASK: [Verify Checks & Alarms are registered] *********************************
failed: [d34d-1174] => {"attempts": 10, "changed": false, "failed": true, "failed_when_result": true, "rc": 1, "stdout_lines": ["Traceback (most recent call last):", "  File \"/root/.ansible/tmp/ansible-tmp-1466531524.06-176688763513993/rpc-maas-tool.py\", line 29, in <module>", "    import concurrent.futures", "ImportError: No module named concurrent.futures"]}
stderr: OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 2
Shared connection to <IP_ADDRESS> closed.

stdout: Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-tmp-1466531524.06-176688763513993/rpc-maas-tool.py", line 29, in <module>
    import concurrent.futures
ImportError: No module named concurrent.futures

msg: Task failed as maximum retries was encountered

FATAL: all hosts have already failed -- aborting

And it's taking about 20 minutes to throw that error.

So I'm really not sure what it causing this to timeout.  Locally when I run verify-maas I'm seeing slightly different output at the very beginning of the play:
Local Run
openstack-ansible verify-maas.yml
Variable files: "-e @/etc/openstack_deploy/user_conf_files.yml -e @/etc/openstack_deploy/user_extras_secrets.yml -e @/etc/openstack_deploy/user_extras_variables.yml -e @/etc/openstack_deploy/user_secrets.yml -e @/etc/openstack_deploy/user_variables.yml "

PLAY [Verify MaaS setup] ******************************************************

GATHERING FACTS ***************************************************************
ok: [d34d-1174]

TASK: [Verify Checks & Alarms are registered] *********************************

Whereas in the gate we just see this:
Gate Run
22:33:00 + openstack-ansible --forks 4 verify-maas.yml
22:33:00 Variable files: "-e @/etc/openstack_deploy/user_conf_files.yml -e @/etc/openstack_deploy/user_extras_secrets.yml -e @/etc/openstack_deploy/user_extras_variables.yml -e @/etc/openstack_deploy/user_secrets.yml -e @/etc/openstack_deploy/user_variables.yml "
22:53:00 Build timed out (after 20 minutes). Marking the build as aborted.
22:53:00 Build was aborted

@hughsaunders do you have any idea what is suppressing the ansible output from the beginning of the play?  I was hoping that by dropping the timeouts of the two steps of the play we would see the failure output of verify-maas but that doesn't seem to be the case.

Found the gate issue with @hughsaunders.
I'll send a separate commit to fix it. We'll need to rebase.
I found an issue with cinder checks in maas too - same procedure.

recheck_all

So.. This is failing is because there aren't enough nodes in the rabbitm
--- 2016-06-22 13:27:43.830390 ---
All expected checks and alarms are present
--- 2016-06-22 13:31:03.209968 ---
Checks and Alarms with failures:
 - Entity:enV35ee3GG:jrpcaioiad-5dd
   ! Check:agent.plugin:chhXjGE934:rabbitmq_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02: Completed:False Status:error cluster too small
     ! Alarm:alChYXQfge:rabbitmq_fd_used_alarm_status-jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alGdcrRUX2:rabbitmq_disk_free_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alKajwUQSt:rabbitmq_socket_used_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alWE1crIyx:rabbitmq_proc_used_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alWfgX0KZV:rabbitmq_qgrowth_excl_notifications--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alqVkPct2X:rabbitmq_msgs_excl_notifications--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alvQEx3RAn:rabbitmq_max_channels_per_conn--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alxAyhdVxp:rabbitmq_mem_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
--- 2016-06-22 13:34:27.851938 ---
Checks and Alarms with failures:
 - Entity:enV35ee3GG:jrpcaioiad-5dd
   ! Check:agent.plugin:chhXjGE934:rabbitmq_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02: Completed:False Status:error cluster too small
     ! Alarm:alChYXQfge:rabbitmq_fd_used_alarm_status-jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alGdcrRUX2:rabbitmq_disk_free_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alKajwUQSt:rabbitmq_socket_used_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alWE1crIyx:rabbitmq_proc_used_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alWfgX0KZV:rabbitmq_qgrowth_excl_notifications--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alqVkPct2X:rabbitmq_msgs_excl_notifications--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alvQEx3RAn:rabbitmq_max_channels_per_conn--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL
     ! Alarm:alxAyhdVxp:rabbitmq_mem_alarm_status--jrpcaioiad-5dd-rabbit-mq-container-3bbc4d02:CRITICAL

recheck_all

The affinity for galera and rabbit containers in the openstack_user_config.yml.aio in osa changed from 3 in liberty to 1 in mitaka. For the rpc-o gate we will need to either change the maas test to expect 1, or edit the affinity back to 3.

@mancdaz one of the changes in this PR is to change the affinity back to 3

I've been trying to recreate the error with little success, I'm not actually registering any rabbitmq checks on my AIO when running setup-maas.  Based on the rabbitmq artifact logs it looks like all three nodes are happily running in the cluster, I have a feeling that none of the checks are registering and it's alerting on everything related to rabbit.
@hughsaunders is there any way to look at what checks are registered in MaaS while the gate is running?

@d34dh0r53 my latest commit should fix this.
The check is doing its work correctly, but with latest osa mitaka hostname changes, we need to adapt the check. This was documented into the commit message.

recheck_ceph

14:44:36 TASK: [galera_client | Add galera apt-keys] ***********************************
14:45:08 failed: [jrpcaioiad-899] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'}) => {"attempts": 5, "cmd": "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB", "failed": true, "item": {"fallback_keyserver": "hkp://p80.pool.sks-keyservers.net:80", "hash_id": "0xcbcb082a1bb943db", "key_name": "mariadb", "keyserver": "hkp://keyserver.ubuntu.com:80"}, "rc": 2}
14:45:08 stderr: gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
14:45:08 gpg: no valid OpenPGP data found.
14:45:08 gpg: Total number processed: 0
14:45:08
14:45:08 stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.raTIMZrlBx --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB
14:45:08 gpgkeys: key CBCB082A1BB943DB can't be retrieved
14:45:08
14:45:08 msg: Task failed as maximum retries was encountered
14:45:09 failed: [jrpcaioiad-899_cinder_scheduler_container-46098f63] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'}) => {"attempts": 5, "cmd": "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB", "failed": true, "item": {"fallback_keyserver": "hkp://p80.pool.sks-keyservers.net:80", "hash_id": "0xcbcb082a1bb943db", "key_name": "mariadb", "keyserver": "hkp://keyserver.ubuntu.com:80"}, "rc": 2}
14:45:09 stderr: gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
14:45:09 gpg: no valid OpenPGP data found.
14:45:09 gpg: Total number processed: 0
14:45:09
14:45:09 stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.YbozAjg0tU --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB
14:45:09 gpgkeys: key CBCB082A1BB943DB can't be retrieved
14:45:09
14:45:09 msg: Task failed as maximum retries was encountered
14:45:09 failed: [jrpcaioiad-899_cinder_api_container-41b1641f] => (item={'key_name': 'mariadb', 'hash_id': '0xcbcb082a1bb943db', 'keyserver': 'hkp://keyserver.ubuntu.com:80', 'fallback_keyserver': 'hkp://p80.pool.sks-keyservers.net:80'}) => {"attempts": 5, "cmd": "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB", "failed": true, "item": {"fallback_keyserver": "hkp://p80.pool.sks-keyservers.net:80", "hash_id": "0xcbcb082a1bb943db", "key_name": "mariadb", "keyserver": "hkp://keyserver.ubuntu.com:80"}, "rc": 2}
14:45:09 stderr: gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
14:45:09 gpg: no valid OpenPGP data found.
14:45:09 gpg: Total number processed: 0
14:45:09
14:45:09 stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.vndq4CB0l8 --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv CBCB082A1BB943DB
14:45:09 gpgkeys: key CBCB082A1BB943DB can't be retrieved
14:45:09
14:45:09 msg: Task failed as maximum retries was encountered
14:45:09
14:45:09 FATAL: all hosts have already failed -- aborting

Key-Server Error, should be temporary.

recheck_ceph

RPC-AIO-Ceph-Liberty-PR: Fail

@Apsu thanks for the ping, I'll investigate right away.

recheck_ceph

RPC-AIO-Ceph-Liberty-PR: Pass

:+1:

🎉

Seriously though, 👍 but I haven't tested it. My 👀 best not deceive me.

@sigmavirus24 it's probably gonna be deceiving, but now we can do real work :p


Duplicate keys in yaml config file are silently overwritten

For example: two Reactions with the same name will overwrite each other (probably in a random order).
This appears to be a limitation of the Julia yaml parser.

A vscode yaml extension is now available that catches this and other errors https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml


Provide system to force reload of files

Following https://github.com/lumeland/lume/pull/134, we need a way to force lume to reload a file.
Example use case is if we know a.ts depends on b.ts whenever we receive a beforeUpdate event because b.ts has changed we want Lume to also re-evaluate a.ts.
We can add a.ts to event.files but that won't trigger a re-evaluation because of Source internal cache.

Hi, @amatiasq
Thanks for keep pushing this. After thinking about it for a while, I see different things that can be solved separately.
Cached files
As you know, Lume has an internal caching system in the Source class. This is useful for pages that have the same dependencies. For example, several pages that use the same layout. Any file loaded with source.load() is automatically cached and loaded only once (this includes all page files, data files, layouts, etc).
This internal cache manages automatically file changes. So we could use the same internal cache system for modules.
At this moment, all modules are loaded using a import(), so they are cached by the module system of javascript and there's no way to reload a module. The only way to do it is by loading the javascript files as text files and evaluate them, as you did in the previous PR. This has some limitations but allows to live-reload any changed module.
My proposal is load the files and all dependencies and use the existing cache file to store that. To make it, we can change the signature of the loaders, addding a second argument with the Source instance. This allows to load all dependencies and save the content in the cache:
import textLoader from "lume/core/loaders/text.ts";

// Fake code, for illustration purposes:
export default async function loader(path: string, sources: Source): Data {
    const content = await textLoader(path);

    // Get all dependencies of this file
    const depsContent = getDependencies(content, async (dependencyPath) => {
            // We load the dependencies with the Source instance
            // so they are automatically cached and downloaded only once
            return await sources.load(dependencyPath, textLoader);
    });

    return compileAndRun(content, depsContent);
}

The idea is that one loader can invoke other loaders using the source instance, to load other dependencies that could be cached.
This means that if a.ts imports b.ts and it imports c.ts, loading a.ts, we would load and save the content of the three files in the cache . If one of these files change, the cache would remove the old cached content automatically of this specific file.
Dependencies
I think your approach of save the dependencies in the Source file, in a private dependants property is good. The question is, how to store these dependencies? An idea would be change the Sources.load() signature to include a third argument to define a file as a dependency of other. For example:
import textLoader from "lume/core/loaders/text.ts";

// Load a file using a textLoader
sources.load("a.ts", textLoader);

// Load a dependency of a.ts
sources.load("b.ts", textLoader, "a.ts");

// Load another dependency of a.ts
sources.load("c.ts", textLoader, "a.ts");

// Load the same file again (it's cached, so won't be loaded)
// But has a different dependency, so it will be saved
sources.load("c.ts", textLoader, "d.ts");

This would save, automatically the dependencies tree, and we know that "b.ts" and "c.ts" are dependencies of "a.ts" and "c.ts" is a dependency of "a.ts" and "d.ts".
So, in the previous example, we only have to include the main dependent path for all dependencies:
import textLoader from "lume/core/loaders/text.ts";

// Fake code, for illustration purposes:
export default async function loader(path: string, sources: Source): Data {
    const content = await textLoader(path);

    // Get all dependencies of this file
    const depsContent = getDependencies(content, async (dependencyPath) => {
            // We load the dependencies with the Source instance
            // so they are automatically cached and downloaded only once
            // WARNING: The third argument indicates that this file is a dependency of the main entry point (path)
            return await sources.load(dependencyPath, textLoader, path);
    });

    return compileAndRun(content, depsContent);
}

Watch mode
The function to reload a file in watch mode is this https://github.com/lumeland/lume/blob/master/core/site.ts#L265 and this function calls the loadFile function of Source (https://github.com/lumeland/lume/blob/master/core/source.ts#L92).
So, the idea is that calling loadFile("c.ts"), lume knows that this is a dependency of two main entries ("a.ts" and "d.ts", so it will reload these pages, even if they didn't change).
Thoughts?

Oh i see, you're proposing to split the Readding From Disk from execution
of the files
Se can use url parsing to evaluate the module's code but without the
sourcemaps we won't have the list of dependencies of the files. We could
use that rust library you mentioned before.
I was also considering we could check if the loaded file is outside 'src'
(but inside 'cwd()'?) and watch them too.
El vie., 24 sept. 2021 14:44, Oscar Otero @.***>
escribió:

Hi, @amatiasq https://github.com/amatiasq
Thanks for keep pushing this. After thinking about it for a while, I see
different things that can be solved separately.
Cached files
As you know, Lume has an internal caching system in the Source class. This
is useful for pages that have the same dependencies. For example, several
pages that use the same layout. Any file loaded with source.load() is
automatically cached
https://github.com/lumeland/lume/blob/master/core/source.ts#L324 and
loaded only once (this includes all page files, data files, layouts, etc).
This internal cache manages automatically file changes
https://github.com/lumeland/lume/blob/master/core/source.ts#L40. So we
could use the same internal cache system for modules.
At this moment, all modules are loaded using a import(), so they are
cached by the module system of javascript and there's no way to reload a
module. The only way to do it is by loading the javascript files as text
files and evaluate them, as you did in the previous PR. This has some
limitations but allows to live-reload any changed module.
My proposal is load the files and all dependencies and use the existing
cache file to store that. To make it, we can change the signature of the
loaders, addding a second argument with the Source instance. This allows to
load all dependencies and save the content in the cache:
import textLoader from "lume/core/loaders/text.ts";
// Fake code, for illustration purposes:export default async function loader(path: string, sources: Source): Data {
const content = await textLoader(path);
// Get all dependencies of this file
const depsContent = getDependencies(content, async (dependencyPath) => {
        // We load the dependencies with the Source instance
        // so they are automatically cached and downloaded only once
        return await sources.load(dependencyPath, textLoader);
});

return compileAndRun(content, depsContent);}

The idea is that one loader can invoke other loaders using the source
instance, to load other dependencies that could be cached.
This means that if a.ts imports b.ts and it imports c.ts, loading a.ts,
we would load and save the content of the three files in the cache . If one
of these files change, the cache would remove the old cached content
automatically of this specific file.
Dependencies
I think your approach of save the dependencies in the Source file, in a
private dependants property is good. The question is, how to store these
dependencies? An idea would be change the Sources.load() signature to
include a third argument to define a file as a dependency of other. For
example:
import textLoader from "lume/core/loaders/text.ts";
// Load a file using a textLoadersources.load("a.ts", textLoader);
// Load a dependency of a.tssources.load("b.ts", textLoader, "a.ts");
// Load another dependency of a.tssources.load("c.ts", textLoader, "a.ts");
// Load the same file again (it's cached, so won't be loaded)// But has a different dependency, so it will be savedsources.load("c.ts", textLoader, "d.ts");
This would save, automatically the dependencies tree, and we know that
"b.ts" and "c.ts" are dependencies of "a.ts" and "c.ts" is a dependency of
"a.ts" and "d.ts".
So, in the previous example, we only have to include the main dependent
path for all dependencies:
import textLoader from "lume/core/loaders/text.ts";
// Fake code, for illustration purposes:export default async function loader(path: string, sources: Source): Data {
const content = await textLoader(path);
// Get all dependencies of this file
const depsContent = getDependencies(content, async (dependencyPath) => {
        // We load the dependencies with the Source instance
        // so they are automatically cached and downloaded only once
        // WARNING: The third argument indicates that this file is a dependency of the main entry point (path)
        return await sources.load(dependencyPath, textLoader, path);
});

return compileAndRun(content, depsContent);}

Watch mode
The function to reload a file in watch mode is this
https://github.com/lumeland/lume/blob/master/core/site.ts#L265 and this
function calls the loadFile function of Source (
https://github.com/lumeland/lume/blob/master/core/source.ts#L92).
So, the idea is that calling loadFile("c.ts"), lume knows that this is a
dependency of two main entries ("a.ts" and "d.ts", so it will reload these
pages, even if they didn't change).
Thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lumeland/lume/issues/135#issuecomment-926595426, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALWNFIQBWU44OYCF4RXCQLUDRXBXANCNFSM5EUXWSDQ
.

Oh i see, you're proposing to split the Readding From Disk from execution
of the files.

Yes, exactly. The same dependency can be used several times, but we only read it once.

We can use url parsing to evaluate the module's code but without the
sourcemaps we won't have the list of dependencies of the files. We could
use that rust library you mentioned before.

I think it's better because the rust library only return the graph of dependencies (is the equivalent to run the comand deno info a.ts), but don't execute anything, so it's faster that bundle, create a source map, parse it and inspect.

I was also considering we could check if the loaded file is outside 'src'
(but inside 'cwd()'?) and watch them too.

This can't be done. The watcher only see changes in the src directory. The idea is that all src files needed to build the site are in this directory. The cwd can change (you can build the same site from different cwd). Any external file (outside of this directory or a remote dependency) won't be watched.

I am just jumping into the middle of this and don't know anything, but I'm curious if doing the source maps helps with debugging? Ideally, it would be nice when having trouble to be able to step through code even in templates. I know that nunjucks is supposed to be adding source maps support at some point.

SourceMaps were not used as such, we were using them just as a medium to
get the module's dependencies.
El vie, 24 sept 2021 a las 17:13, Eric J. Smith @.***>)
escribió:

I am just jumping into the middle of this and don't know anything, but I'm
curious if doing the source maps helps with debugging? Ideally, it would be
nice when having trouble to be able to step through code even in templates.
I know that nunjucks is supposed to be adding source maps support at some
point.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lumeland/lume/issues/135#issuecomment-926706379, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALWNFOON7PRRA4K4UW4CMLUDSIRNANCNFSM5EUXWSDQ
.

@amatiasq I just created a branch implementing a new way to watch files, compatible with javascript modules:

The build and watch is inside a Worker code here.
If at least one of the changed file is javascript or typescript, the worker is terminated, and a new one is created, so the entire site is built again with fresh content.

This system has two drawbacks:

On change a js/ts file, the entire site is rebuilt, so it may be slower than just update the changed file.
There's no support for import maps in Workers see issue so the _config.ts file cannot use bare imports.

@oscarotero running the code in a Worker is a great improvement regarding modules isolation!
I'll need time to carefully read and understand the new code so I can understand why those limitations apply, sadly I doubt I can get half as much time as last week.

Don't worry, no rush :)
Thanks!


Switch IRC for gitter

I think we should switch IRC for gitter as it plays really nicely with github and will allow us to discuss easier. What do you think?

:+1: Keen.

:+1:, because gitter have https://irc.gitter.im anyway

Ahaha I didn't realise that! The best of both worlds :dancer:

:tada: https://gitter.im/david-sabata/web-scrobbler

https://github.com/david-sabata/web-scrobbler/commit/ca1a57f689dbe3c2f30167cda46f015b1bc9956e


Jwd/sphinx

Introducing a way of building and maintaining documentation.
Uses Sphinx (as xNVME does), though using the PyData theme instead.
Uses Github actions to build the documentation, producing a single-commit branch which GH uses for its pages feature (~> you push, the documentation gets built and gets published at https://openmpdk.github.io/FlexAlloc/ ).

Can you sign your commits?

Once the commits are cleaned up LGTM, cool stuff.

Commits 89d937bb71b941eb8926ba9d064af4f6a9cadf56, 5d2554bc25ec3b9f60b6517b1bc79a199f10a179, 740a7255e134f3ac8cfac4ed4b206ed889502f44, 326b54ebafb5dd89651bfe9aef3c4801ad5e3444, 54be508213f47af6f316f85f046e5b246a55b31e, d82592810df2ddf08ddd6d1d3148e8f17a8134bb, 0d3f17dda5e133b665b199f2ad17844592ad7321 are all about the same thing and fix only details. I would squash them all into one.

For the documentation I would also Prepend "Doc:" to the git commit message.

Does this set only cover API documentation? I noticed that https://openmpdk.github.io/FlexAlloc/  only has API specific content.


Update wkhtmltopdf URL to use github releases path

On 06/16/17, the wkhtmltopdf server went down, breaking this buildpack.
To mitigate this in the future, binary releases are now attached to github -- this PR updates the URL to point to github releases (instead of wkhtmltopdf.org).
Reference: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3518

Thanks @kennethwyu, much appreciated 👍


Api/221 account coins endpoint

Description
Updates the openApi.json spec to 1.4.8.
This moves the coins object from account/balance to account/coins.
In reference to issue #221. The 1.4.8 spec moves the coins object from account/balance to account/coins.
Account Balance Response -> https://www.rosetta-api.org/docs/models/AccountBalanceResponse.html
Account Coins Response -> https://www.rosetta-api.org/docs/models/AccountCoinsResponse.html
Docs for both -> https://www.rosetta-api.org/docs/AccountApi.html#accountbalance
Proposed Solution

Update the openApi.json spec to 1.4.8.
Create new account/coins endpoint
Remove coins from account/balance endpoint

Important Changes Introduced
Potentially breaking changes for users of the library, since UTXOs coins is moved from account/balance to account/coins.
Testing
Adds account-coins-api.test.ts to test/e2e/account.

@AlanVerbner thanks for taking a look at it. Sounds like some big code changes will happen before this could get merged, so I'll just close it out for now. Looking forward to the updates.

Thanksa lot @stuartkuentzel ! I'll try to keep you posted


No descriptions for 'Settings -> Sign In with' part on Mac/Linux platforms

Storage Explorer Version: 1.36.0-dev (100)
Build Number: 20240830.6
Branch: main
Platform/OS: Linux Ubuntu 22.04/MacOS Sonoma 14.6.1(Apple M1 Pro)
Architecture: x64/x64
How Found: From running test cases
Regression From: Previous release (1.35.0)
Steps to Reproduce

Launch Storage Explorer -> Open 'Settings'.
Type 'Sign' into the search box -> Observe the 'Sign In with' part.
Check whether there are descriptions for this part.

Expected Experience
There are descriptions for this part.

Actual Experience
No descriptions for this part.

Additional Context
This issue doesn't reproduce on Windows.

Verified this issue on the main build 20240902.1. Fixed.


Even better entrypoint waiter

@davidszotten, this is open for consideration and discussion. I've raised it against better-thread-mgmt since that hasn't landed yet.
I'm not particularly fond of the implementation (using call-waiting) but I think the API is nice for a few reasons:

It gives you access to the result returned (or exception raised)
It's possible to wait for a specific result
It doesn't fire until the worker is torn down (without using wait_for_worker_idle so fixes https://github.com/onefinestay/nameko/issues/165)

Including call-waiting adds quite a lot of code, and it feels like a hack to have to patch objects that we control. An alternative implementation would add support for the entrypoint waiter into the container directly -- so you'd register your "waiter" and it would call you back when a matching entrypoint fired.

what's the use-case for waiting for specific results? having that feature adds a lot of complexity to this

This whole thing spun out of a feature that adds backoff to the AMQP entrypoints. I will raise a PR soon so you can see my implementation, but the feature gives you the ability to say "call me back later" by raising a specific exception:
@event_handler('srcservice', 'event')
def handle(self, evt_data):
    try:
        data = read_data()
    except DataNotThereYet:
        raise Backoff()

    ...

The event message will be redelivered (according to some schedule) until read_data returns without raising, or the maximum number of redeliveries is reached. It's all handled inside RabbitMQ, following this pattern.
It's really useful for dealing with eventually consistent systems.
The callback feature of the entrypoint_waiter would also be useful for testing "max retries" logic, e.g. enable "requeue on error" but only allow N attempts to process the message before aborting.

The PR with the backoff prototype is https://github.com/mattbennett/nameko/pull/3. I think it justifies the callback API.
I would appreciate feedback on this PR vs https://github.com/mattbennett/nameko/pull/4, which makes the entrypoint waiter a "first class citizen" on the container, rather than patching in hooks.
Note that I've brought call-waiting back into nameko in https://github.com/onefinestay/nameko/pull/337 so I could hook into kombu's reconnection mechanism. cc @davidszotten

given that this is a testing tool, i think i prefer #2

Merged as https://github.com/onefinestay/nameko/pull/341


Profile command no longer works

Tony:(master)$ ios profiles --trace
/Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/cupertino-1.3.0/lib/cupertino/provisioning_portal/agent.rb:210:in `list_profiles': undefined method `each' for nil:NilClass (NoMethodError)
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/cupertino-1.3.0/lib/cupertino/provisioning_portal/commands/profiles.rb:9:in `block (3 levels) in <top (required)>'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/cupertino-1.3.0/lib/cupertino/provisioning_portal/helpers.rb:58:in `try'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/cupertino-1.3.0/lib/cupertino/provisioning_portal/commands/profiles.rb:9:in `block (2 levels) in <top (required)>'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/runner.rb:419:in `run_active_command'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
	from /Users/Tony/.rvm/gems/ruby-2.0.0-p195/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

Maybe apple just changed their provisioning portal website?

On that note listing app_ids is also broken. I wonder if the whole thing broke rather than just profiles. Gonna check other commands.

This is heart breaking!

I have limited Ruby knowledge, however I stuck this in the debugger and found the following error while trying to download profiles:
"{
    "creationTimestamp": "2015-04-12T18:20:38Z",
    "errorMessagesForXcode": null,
    "httpCode": 200,
    "protocolVersion": "QH65B2",
    "requestId": "",
    "requestUrl": "https://developer.apple.com:443//services-account/QH65B2/account/ios/profile/listProvisioningProfiles.action?content-type=text/x-url-arguments&accept=application/json&requestId=<snip>&userLocale=en_US&teamId=<snip>&includeInactiveProfiles=true&onlyCountLists=true&type=limited",
    "responseId": "169b5555-af2e-4e7d-90b6-a9394938ed5d",
    "resultCode": 35,
    "resultString": "There were errors in the data supplied. Please correct and re-submit.",
    "suppressed": [],
    "userLocale": "en_US",
    "userString": "An invalid value '0' was provided for the parameter 'pageSize'.\nAn invalid value '0' was provided for the parameter 'pageNumber'.",
    "validationMessages": [
        {
            "validationKey": "pageSize",
            "validationUserMessage": "An invalid value '0' was provided for the parameter 'pageSize'."
        },
        {
            "validationKey": "pageNumber",
            "validationUserMessage": "An invalid value '0' was provided for the parameter 'pageNumber'."
        }
    ]
}"

This is already fixed with https://github.com/nomad/cupertino/pull/196, just waiting for a merge here.