Unable to use mc-send-to-console on Ubuntu 20.04

Describe the problem
I've run this container under Alpine and it works very well. Under Ubuntu 20.04, I can not send any commands to the console using docker exec mc_existence mc-send-to-console. The error that appears is error: failed switching to "minecraft": operation not permitted.
I start the container using docker-compose up -d and I can attach to the console by way of docker attach mc_existence, but I can not send commands to the console unless it is in interactive. I have opened a shell in the container and sent commands to the named pipe as root using mc-send-to-console say hello, which is successful. I see the output show up in the minecraft server log.
I haven't seen this bug listed in the list of open reports, so I've posted it here hoping for some help.
Container definition

services:
  mc:
    container_name: mc_existence
    user: "1000:1000"
    image: itzg/minecraft-server
    ports:
      - 25565:25565
    environment:
      DEBUG: "true"
      MEMORY: "1536M"
      USE_AIKAR_FLAGS: "true"
      EULA: "TRUE"
      VERSION: "1.18.1"
      ENABLE_RCON: "false"
      JVM_OPTS: "-Dlog4j.configurationFile=log4j2.xml"
    tty: true
    stdin_open: true
    restart: unless-stopped
    volumes:
      # attach a directory relative to the directory containing this compose file
      - ./mc_existence:/data```

### Container logs

``` + export HOME=/data
 + HOME=/data
 ++ id -u
 ++ id -g
 ++ ls -lnd /data
 + log 'Running as uid=1000 gid=1000 with /data as '\''drwxrwxr-x 6 1000 1000 4096 Mar  2 16:13 /data'\'''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:19+00:00 Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 6 1000 1000 4096 Mar  2 16:13 /data'
 + '[' '!' -e /data/eula.txt ']'
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + [[ -n '' ]]
 + [[ -n '' ]]
 + fixJavaPath
 + which java
 + export VERSIONS_JSON=https://launchermeta.mojang.com/mc/game/version_manifest.json
 + VERSIONS_JSON=https://launchermeta.mojang.com/mc/game/version_manifest.json
 + case "X$VERSION" in
 + VANILLA_VERSION=1.18.1
 + export VANILLA_VERSION
 + log 'Resolved version given 1.18.1 into 1.18.1'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:19+00:00 Resolved version given 1.18.1 into 1.18.1
 + cd /data
 + export ORIGINAL_TYPE=VANILLA
 + ORIGINAL_TYPE=VANILLA
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + versionLessThan 1.7
 + mc-image-helper compare-versions 1.18.1 lt 1.7
 + log 'Resolving type given VANILLA'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:20+00:00 Resolving type given VANILLA
 + case "${TYPE^^}" in
 + exec /start-deployVanilla
 + set -o pipefail
 + export SERVER=minecraft_server.1.18.1.jar
 + SERVER=minecraft_server.1.18.1.jar
 + '[' '!' -e minecraft_server.1.18.1.jar ']'
 + '[' -n '' ']'
 + versionLessThan 1.6
 + mc-image-helper compare-versions 1.18.1 lt 1.6
 + [[ -L /data/minecraft_server.jar ]]
 + isDebugging
 + isTrue true
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 0
 + return 0
 + ls -l
 total 45440
 -rw-r--r--  1 minecraft minecraft        2 Mar  2 18:00 banned-ips.json
 -rw-r--r--  1 minecraft minecraft      868 Mar  2 18:00 banned-players.json
 -rw-r--r--  1 minecraft minecraft      180 Mar  2 16:13 eula.txt
 drwxr-xr-x 12 minecraft minecraft     4096 Mar  2 18:13 Existence
 -rw-rw-r--  1 minecraft minecraft   121694 Mar  2 18:13 latest.log
 drwxr-xr-x  8 minecraft minecraft     4096 Mar  2 16:13 libraries
 -rw-r--r--  1 minecraft minecraft      832 Mar  2 16:13 log4j2.xml
 drwxr-xr-x  2 minecraft minecraft     4096 Mar  2 16:13 logs
 -rw-rw-r--  1 minecraft minecraft 46324407 Mar  2 16:13 minecraft_server.1.18.1.jar
 -rw-r--r--  1 minecraft minecraft      280 Mar  2 18:00 ops.json
 -rw-rw-r--  1 minecraft minecraft    29815 Mar  2 16:13 server.log
 -rw-r--r--  1 minecraft minecraft     1183 Mar  2 18:00 server.properties
 -rw-r--r--  1 minecraft minecraft      652 Mar  2 18:00 usercache.json
 drwxr-xr-x  3 minecraft minecraft     4096 Mar  2 16:11 versions
 -rw-r--r--  1 minecraft minecraft      182 Mar  2 16:13 whitelist.json
 + export FAMILY=VANILLA
 + FAMILY=VANILLA
 + exec /start-setupWorld
 + '[' VANILLA = CURSEFORGE ']'
 + worldDest=/data/world
 + [[ -n '' ]]
 + exec /start-setupVanillaTweaks
 + VT_VERSION=
 + DATAPACKS_DIR=/data/world/datapacks
 + RESOURCEPACKS_DIR=/data/resourcepacks
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + [[ -n '' ]]
 + [[ -n '' ]]
 + exec /start-setupDatapack
 + out_dir=/data/world/datapacks
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + [[ -n '' ]]
 + [[ -n '' ]]
 + exec /start-setupForgeApiMods
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + '[' '' ']'
 + '[' '' ']'
 + exec /start-setupModpack
 + CURSE_URL_BASE=https://minecraft.curseforge.com/projects
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + [[ -n '' ]]
 + [[ -n '' ]]
 + [[ -n '' ]]
 + [[ -n '' ]]
 + [[ -n '' ]]
 + : ''
 + : ''
 + : ''
 + [[ -n '' ]]
 + exec /start-setupModconfig
 + isTrue true
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 0
 + updateArg=--skip-newer-in-destination
 + isTrue true
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 0
 + subcommand=sync-and-interpolate
 + '[' -d /plugins ']'
 + : /data/mods
 + '[' -d /mods ']'
 + : /data/config
 + '[' -d /config ']'
 + exec /start-setupServerProperties
 [init] 2022-03-02 18:13:22+00:00 server.properties already created, skipping
 [init] 2022-03-02 18:13:22+00:00 DEBUG Dumping server.properties
 #Minecraft server properties
 #Wed Mar 02 18:00:30 UTC 2022
 enable-jmx-monitoring=false
 rcon.port=25575
 level-seed=
 enable-command-block=false
 gamemode=survival
 enable-query=true
 generator-settings=
 level-name=Existence
 motd=Existence PvE Server\nRun by BassCookie
 query.port=25565
 pvp=false
 generate-structures=true
 difficulty=normal
 network-compression-threshold=256
 max-tick-time=-1
 require-resource-pack=false
 max-players=10
 use-native-transport=true
 online-mode=true
 enable-status=true
 allow-flight=false
 broadcast-rcon-to-ops=true
 view-distance=12
 resource-pack-prompt=
 server-ip=
 allow-nether=true
 server-port=25565
 enable-rcon=false
 sync-chunk-writes=true
 op-permission-level=4
 prevent-proxy-connections=true
 hide-online-players=false
 resource-pack=
 entity-broadcast-range-percentage=100
 simulation-distance=10
 rcon.password=
 player-idle-timeout=0
 force-gamemode=false
 rate-limit=0
 hardcore=false
 white-list=true
 broadcast-console-to-ops=true
 spawn-npcs=true
 spawn-animals=true
 snooper-enabled=false
 function-permission-level=2
 level-type=default
 text-filtering-config=
 spawn-monsters=true
 enforce-whitelist=true
 resource-pack-sha1=
 spawn-protection=0
 max-world-size=29999984
 + versionLessThan 1.7.6
 + mc-image-helper compare-versions 1.18.1 lt 1.7.6
 + opsFile=ops.json
 + whitelistFile=whitelist.json
 + isTrue ''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + '[' -n '' ']'
 + '[' -n '' ']'
 + isTrue ''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + '[' -n '' ']'
 + '[' -n '' ']'
 + exec /start-finalExec
 + '[' -n '' ']'
 + canUseRollingLogs=true
 + useFallbackJvmFlag=false
 + versionLessThan 1.7
 + mc-image-helper compare-versions 1.18.1 lt 1.7
 + isFamily VANILLA
 + for f in "${@}"
 + [[ VANILLA == \V\A\N\I\L\L\A ]]
 + return 0
 + versionLessThan 1.12
 + mc-image-helper compare-versions 1.18.1 lt 1.12
 + isFamily VANILLA
 + for f in "${@}"
 + [[ VANILLA == \V\A\N\I\L\L\A ]]
 + return 0
 + versionLessThan 1.17
 + mc-image-helper compare-versions 1.18.1 lt 1.17
 + isType PURPUR
 + for t in "${@}"
 + [[ VANILLA == \P\U\R\P\U\R ]]
 + return 1
 + isType PURPUR
 + for t in "${@}"
 + [[ VANILLA == \P\U\R\P\U\R ]]
 + return 1
 + versionLessThan 1.18.1
 + mc-image-helper compare-versions 1.18.1 lt 1.18.1
 + false
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + log 'Checking for JSON files.'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:28+00:00 Checking for JSON files.
 ++ find /data -maxdepth 1 -name '*.json'
 + JSON_FILES='/data/usercache.json
 /data/whitelist.json
 /data/ops.json
 /data/banned-players.json
 /data/banned-ips.json'
 + for j in $JSON_FILES
 ++ cat /data/usercache.json
 ++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
 + [[ [{"name":"BassCookie32415","uuid":"3b7b40a3-6e4e-4a2b-8de3-f58dc9d1c526","expiresOn":"2022-04-02 16:35:38 +0000"},{"name":"Notch","uuid":"069a79f4-44e9-4726-a5be-fca90e38aaf5","expiresOn":"2022-04-02 02:58:08 +0000"},{"name":"MOTORMOUTH730","uuid":"bf1d6b8c-61d4-47a7-98ac-c5ed0636ddec","expiresOn":"2022-03-21 02:12:03 +0000"},{"name":"KongenAfKabul","uuid":"0ce66a1e-3626-4f53-be90-e050578658c2","expiresOn":"2022-01-13 20:34:38 +0000"},{"name":"Lucurious","uuid":"b1c11c70-f799-45b9-8055-ce08f42832ea","expiresOn":"2022-01-13 20:34:30 +0000"},{"name":"Pepijnyp","uuid":"ec4641f3-b42c-4a38-a63c-a69eb1f3ddbb","expiresOn":"2022-01-13 20:34:09 +0000"}] == '' ]]
 + for j in $JSON_FILES
 ++ cat /data/whitelist.json
 ++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
 + [[ [
 {
 "uuid": "bf1d6b8c-61d4-47a7-98ac-c5ed0636ddec",
 "name": "MOTORMOUTH730"
 },
 {
 "uuid": "3b7b40a3-6e4e-4a2b-8de3-f58dc9d1c526",
 "name": "BassCookie32415"
 }
 ] == '' ]]
 + for j in $JSON_FILES
 ++ cat /data/ops.json
 ++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
 + [[ [
 {
 "uuid": "bf1d6b8c-61d4-47a7-98ac-c5ed0636ddec",
 "name": "MOTORMOUTH730",
 "level": 0,
 "bypassesPlayerLimit": true
 },
 {
 "uuid": "3b7b40a3-6e4e-4a2b-8de3-f58dc9d1c526",
 "name": "BassCookie32415",
 "level": 4,
 "bypassesPlayerLimit": true
 }
 ] == '' ]]
 + for j in $JSON_FILES
 ++ cat /data/banned-players.json
 ++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
 + [[ [
 {
 "uuid": "3c62f4b4-e08d-4b20-84b9-36883f932d21",
 "name": "_r12",
 "created": "2021-12-13 20:34:21 +0000",
 "source": "Server",
 "expires": "forever",
 "reason": "Banned for griefing."
 },
 {
 "uuid": "0ce66a1e-3626-4f53-be90-e050578658c2",
 "name": "KongenAfKabul",
 "created": "2021-12-13 20:34:38 +0000",
 "source": "Server",
 "expires": "forever",
 "reason": "Banned for griefing."
 },
 {
 "uuid": "ec4641f3-b42c-4a38-a63c-a69eb1f3ddbb",
 "name": "Pepijnyp",
 "created": "2021-12-13 20:34:09 +0000",
 "source": "Server",
 "expires": "forever",
 "reason": "Banned for griefing."
 },
 {
 "uuid": "b1c11c70-f799-45b9-8055-ce08f42832ea",
 "name": "Lucurious",
 "created": "2021-12-13 20:34:30 +0000",
 "source": "Server",
 "expires": "forever",
 "reason": "Banned for griefing."
 }
 ] == '' ]]
 + for j in $JSON_FILES
 ++ cat /data/banned-ips.json
 ++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
 + [[ [] == '' ]]
 + versionLessThan 1.14
 + mc-image-helper compare-versions 1.18.1 lt 1.14
 + [[ '' = false ]]
 + : 1536M
 + : 1536M
 + expandedDOpts=
 + '[' -n '' ']'
 + isTrue
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue true
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 0
 ++ normalizeMemSize 1536M
 ++ local scale=1
 ++ case ${1,,} in
 ++ scale=1048576
 ++ val=1536
 ++ echo<PHONE_NUMBER>
 ++ normalizeMemSize 12g
 ++ local scale=1
 ++ case ${1,,} in
 ++ scale=1073741824
 ++ val=12
 ++ echo<PHONE_NUMBER>8
 + ((<PHONE_NUMBER> >=<PHONE_NUMBER>8  ))
 + log 'Using Aikar'\''s flags'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:29+00:00 Using Aikar's flags
 + G1NewSizePercent=30
 + G1MaxNewSizePercent=40
 + G1HeapRegionSize=8M
 + G1ReservePercent=20
 + InitiatingHeapOccupancyPercent=15
 + JVM_XX_OPTS='
   -XX:+UseG1GC
   -XX:+ParallelRefProcEnabled
   -XX:MaxGCPauseMillis=200
   -XX:+UnlockExperimentalVMOptions
   -XX:+DisableExplicitGC
   -XX:+AlwaysPreTouch
   -XX:G1NewSizePercent=30
   -XX:G1MaxNewSizePercent=40
   -XX:G1HeapRegionSize=8M
   -XX:G1ReservePercent=20
   -XX:G1HeapWastePercent=5
   -XX:G1MixedGCCountTarget=4
   -XX:InitiatingHeapOccupancyPercent=15
   -XX:G1MixedGCLiveThresholdPercent=90
   -XX:G1RSetUpdatingPauseTimePercent=5
   -XX:SurvivorRatio=32
   -XX:+PerfDisableSharedMem
   -XX:MaxTenuringThreshold=1
   -Dusing.aikars.flags=https://mcflags.emc.gs
   -Daikars.new.flags=true
   '
 + isTrue ''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue ''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + [[ -n 1536M ]]
 + log 'Setting initial memory to 1536M and max to 1536M'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:29+00:00 Setting initial memory to 1536M and max to 1536M
 + [[ -n 1536M ]]
 + JVM_OPTS='-Xms1536M -Dlog4j.configurationFile=log4j2.xml'
 + [[ -n 1536M ]]
 + JVM_OPTS='-Xmx1536M -Xms1536M -Dlog4j.configurationFile=log4j2.xml'
 + mcServerRunnerArgs=(--stop-duration "${STOP_DURATION:-60}s" --named-pipe "${CONSOLE_IN_NAMED_PIPE:-/tmp/minecraft-console-in}")
 + [[ -n '' ]]
 + [[ VANILLA == \C\U\R\S\E\F\O\R\G\E ]]
 + [[ VANILLA == \C\U\R\S\E\F\O\R\G\E ]]
 + [[ minecraft_server.1.18.1.jar =~ run.sh ]]
 + '[' -f /data/bootstrap.txt ']'
 + log 'Starting the Minecraft server...'
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 [init] 2022-03-02 18:13:29+00:00 Starting the Minecraft server...
 + finalArgs=($JVM_XX_OPTS $JVM_OPTS $expandedDOpts -jar "$SERVER" "$@" $EXTRA_ARGS)
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue ''
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + isTrue false
 + local oldState
 ++ shopt -po xtrace
 + oldState='set -o xtrace'
 + shopt -u -o xtrace
 + return 1
 + exec mc-server-runner --stop-duration 60s --named-pipe /tmp/minecraft-console-in java -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -Xmx1536M -Xms1536M -Dlog4j.configurationFile=log4j2.xml -jar minecraft_server.1.18.1.jar
 Starting net.minecraft.server.Main
 02-Mar-2022 18:13:48.111 UTC [INFO] Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
 02-Mar-2022 18:13:50.040 UTC [WARN] Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
 02-Mar-2022 18:13:50.054 UTC [WARN] Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
 02-Mar-2022 18:13:50.070 UTC [WARN] Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
 02-Mar-2022 18:13:50.547 UTC [WARN] Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
 02-Mar-2022 18:13:50.568 UTC [WARN] Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
 02-Mar-2022 18:13:50.615 UTC [INFO] Reloading ResourceManager: Default
 02-Mar-2022 18:13:53.671 UTC [INFO] Loaded 7 recipes
 02-Mar-2022 18:13:55.056 UTC [INFO] Loaded 1141 advancements
 02-Mar-2022 18:14:04.224 UTC [INFO] Starting minecraft server version 1.18.1
 02-Mar-2022 18:14:04.226 UTC [INFO] Loading properties
 02-Mar-2022 18:14:04.227 UTC [INFO] Default game type: SURVIVAL
 02-Mar-2022 18:14:04.228 UTC [INFO] Generating keypair
 02-Mar-2022 18:14:05.044 UTC [INFO] Starting Minecraft server on *:25565
 02-Mar-2022 18:14:05.440 UTC [INFO] Using epoll channel type
 02-Mar-2022 18:14:05.863 UTC [INFO] Preparing level "Existence"
 02-Mar-2022 18:14:06.232 UTC [INFO] Preparing start region for dimension minecraft:overworld
 02-Mar-2022 18:14:11.302 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.360 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.396 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.436 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.479 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.497 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.540 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.590 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.643 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.677 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.729 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:11.759 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:12.247 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:12.736 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:13.236 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:13.751 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:14.240 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:14.739 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:15.755 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:15.782 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:16.239 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:16.734 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:17.239 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:17.741 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:18.236 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:18.735 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:19.237 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:19.740 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:20.715 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:20.744 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:21.238 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:21.749 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:22.248 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:22.736 UTC [INFO] Preparing spawn area: 0%
 02-Mar-2022 18:14:23.363 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:23.739 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:24.248 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:24.741 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:25.240 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:25.737 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:26.239 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:26.740 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:27.240 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:28.073 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:28.251 UTC [INFO] Preparing spawn area: 1%
 02-Mar-2022 18:14:28.833 UTC [INFO] Preparing spawn area: 2%
 02-Mar-2022 18:14:29.241 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:29.743 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:30.235 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:30.896 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:31.237 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:31.735 UTC [INFO] Preparing spawn area: 7%
 02-Mar-2022 18:14:32.239 UTC [INFO] Preparing spawn area: 8%
 02-Mar-2022 18:14:33.351 UTC [INFO] Preparing spawn area: 10%
 02-Mar-2022 18:14:33.352 UTC [INFO] Preparing spawn area: 10%
 02-Mar-2022 18:14:33.739 UTC [INFO] Preparing spawn area: 13%
 02-Mar-2022 18:14:34.242 UTC [INFO] Preparing spawn area: 17%
 02-Mar-2022 18:14:34.759 UTC [INFO] Preparing spawn area: 17%
 02-Mar-2022 18:14:35.235 UTC [INFO] Preparing spawn area: 18%
 02-Mar-2022 18:14:35.943 UTC [INFO] Preparing spawn area: 23%
 02-Mar-2022 18:14:36.237 UTC [INFO] Preparing spawn area: 23%
 02-Mar-2022 18:14:36.741 UTC [INFO] Preparing spawn area: 25%
 02-Mar-2022 18:14:37.369 UTC [INFO] Preparing spawn area: 27%
 02-Mar-2022 18:14:37.735 UTC [INFO] Preparing spawn area: 28%
 02-Mar-2022 18:14:38.244 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:38.909 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:39.246 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:39.867 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:40.234 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:40.743 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:41.272 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:41.734 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.273 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.276 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.277 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.279 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.281 UTC [INFO] Preparing spawn area: 36%
 02-Mar-2022 18:14:44.738 UTC [INFO] Preparing spawn area: 41%
 02-Mar-2022 18:14:45.236 UTC [INFO] Preparing spawn area: 66%
 02-Mar-2022 18:14:45.747 UTC [INFO] Preparing spawn area: 76%
 02-Mar-2022 18:14:46.284 UTC [INFO] Preparing spawn area: 80%
 02-Mar-2022 18:14:46.978 UTC [INFO] Preparing spawn area: 80%
 02-Mar-2022 18:14:47.235 UTC [INFO] Preparing spawn area: 85%
 02-Mar-2022 18:14:47.737 UTC [INFO] Preparing spawn area: 90%
 02-Mar-2022 18:14:48.670 UTC [INFO] Preparing spawn area: 94%
 02-Mar-2022 18:14:48.758 UTC [INFO] Preparing spawn area: 94%
 02-Mar-2022 18:14:49.237 UTC [INFO] Preparing spawn area: 96%
 02-Mar-2022 18:14:49.991 UTC [INFO] Time elapsed: 43757 ms
 02-Mar-2022 18:14:49.994 UTC [INFO] Done (44.129s)! For help, type "help"
 02-Mar-2022 18:14:49.994 UTC [INFO] Starting GS4 status listener
 02-Mar-2022 18:14:50.075 UTC [INFO] Thread Query Listener started
 02-Mar-2022 18:14:50.075 UTC [INFO] Query running on <IP_ADDRESS>:25565
 02-Mar-2022 18:14:52.410 UTC [WARN] Can't keep up! Is the server overloaded? Running 2031ms or 40 ticks behind

Thanks for reporting this. Yes, it definitely looks like a bug where the current implementation assumes the container was started with uid=0. I'll need to add some more logic to this line
https://github.com/itzg/docker-minecraft-server/blob/07665d757152901338f60ac625ae2118bc4d4a08/bin/mc-send-to-console#L15

A work-around for now is to use the command
docker exec -itu0 [container] say hello


Why not open the DemoActivity directly?

Why not open the DemoActivity directly but through MainActivity ? There are 2 startup icons on the desktop !

why not this :

I think you might be confusing it with a different project. Here's the MainActivity from this project - https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example/blob/master/app/src/main/java/com/example/jetpackcompose/core/MainActivity.kt
As you can see, it doesn't have a DemoActivity at all.


[SPARK-36649][SQL] Support Trigger.AvailableNow on Kafka data source

What changes were proposed in this pull request?
To add support to using the AvailableNow trigger for the KafkaSource
Why are the changes needed?
To allow users to use the KafkaSource the AvailableNow trigger.  The AvailableNow trigger allows the all the data currently available in the source to be processed in multiple micro batches.
Does this PR introduce any user-facing change?
Yes, allows users to using the KafkaSource to use the AvailableNow trigger
How was this patch tested?
Added a test for this.

Can one of the admins verify this patch?

Welcome to Spark community and thanks for the contribution @jerrypeng !
Looks like the test you added failed in Github Action. https://github.com/jerrypeng/spark/runs/4850411860?check_suite_focus=true
Could you please look into it?

@HeartSaVioR added the fixes

@HeartSaVioR @alex-balikov thank you for the review.  I have address your comments.  Please take another look.

@viirya and @xuanyuanking thank you for the review.  I have addressed your comments.

Will merge this right after the test passes. Thanks for the contribution and welcome to the community! @jerrypeng

@xuanyuanking Friendly reminder. Please go with merging at your convenience. Thanks!

+1, late LGTM. Thank you all!

Merged to master.


Train time multi crop augmentation

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using):
Are you willing to contribute it (Yes/No):

Describe the feature and the current behavior/state.
Will this change the current api? How?
Who will benefit with this feature?
Any Other info.

@colt18
Please provide details about what platform you are using (operating system, architecture). Also include your TensorFlow version.
please share the error log,code for which this feature implementation is required
We ask for this, because it is really difficult to help without that information. Thanks!

@colt18
Please update on the above comment

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Add a Box Plot Example

This is the box plot example we generated at the PyData NYC sprint.

Thanks! Can you clear the notebook and commit it again, to keep git able to show diffs clearly?

Thanks for this example!


Suggestion: Support ES6 'let' and 'const' keyword

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-let-and-const-declarations
The only major implication here how we would treat export const x = 4; in the context of an internal module, as this basically introduces the concept of a readonly variable. See #12

This is something we are considering. There are problems imposed by the scoping of const and let; let and const are block scoped, meaning that in a loop every iteration has a fresh variable. You can not emulate this using var semantics, without introducing functions to create new scopes.

The case where you actually need a function to create a new scopes are pretty rare, could we not just error on those case ? I find it pretty domageable to not having let/const just for few cases.
see:  https://github.com/olov/defs/blob/master/loop-closures.md

The case where you actually need a function to create a new scopes are pretty rare

I'm somewhat surprised by this statement and would like to see some data either way (in terms of use of let "in the wild"). My impression is that using let in a loop construct to avoid explicit closures is arguably the single most valuable thing let actually does, but I could be wrong. The other cases are nice to have IMO, but loop closures are incredibly convenient.

I'm somewhat surprised by this statement and would like to see some data either way (in terms of use of let "in the wild"). My impression is that using let in a loop construct to avoid explicit closures is arguably the single most valuable thing let actually does, but I could be wrong. The other cases are nice to have IMO, but loop closures are incredibly convenient.

From what I understand the only case where you need to emit a closure is when you capture the declared variable in something like a closure:
var arr= []
for (let i = 0; i < 10; i ++) {
  arr.push(() => i)
}

Any other case can be solved with variable renaming and compiler check, sure it's an handy case, but there is a lot of other case that are valuable and not being able to take advantage of this feature just for this case seems unfortunate.
Especially const is quite useful, and not only for scopes properties.

I think a big part of what @RyanCavanaugh meant is that let actually gives you the "intuitive" semantics for these cases, which is why it was ever desirable in the first place.

@DanielRosenwasser While I agree, I still would like to see all other features being transpiled to es5/3, maybe should I create a new issue ?


Handle unknown for boolean fields

This came from #190 where Jian indicated that some fields like productive may be unknown or undetermined, that is you cannot concretely say T or F because there isn't enough information to make the determination. The result is the field is blank/null in the TSV.
This causes an issue in code though because the data type is boolean. The reference library wants it to be either T or F otherwise it's considered a validation warning.
So the question is, do we explicitly allow blank/null values for boolean (the code would need to be changed to support this)? An alternative is to set give each field a default value (we can specify this in the schema with default attribute), and blank/null values are automatically set to the default value?

I can't think of a situation where I'd want to do anything except treat null as equivalent to F in an analysis, but... seems like we should support missing values, as it's part of the schema.
We could introduce a little feature float and add flag for whether to fill null booleans with false. Not sure how I feel about that.

My understanding is that all fields are nullable. I'm not sure why that's a problem here.

My understanding is that all fields are nullable. I'm not sure why that's a problem here.

I was getting validation warnings for these fields with blank/null, so there is likely a bug in the validation code. I think that we handle blank/null properly for reading/writing but need to verify to be positive.

not able to reproduce validation error, must have been using an older version


show a warning before trying to upload a video longer than 5 minutes

The threading stuff is a little weird here, but the app will crash if we don't have the sync call 😩
This is intended for https://github.com/steamclock/fudos/pull/210, but the more that I think about it the more I'm inclined to merge this independent of that PR.

Shuffled some things around to make sure it was just always called on the main thread.

Does the original code above have any chance of executing v.currentCropRect() from a thread that is not the main thread?
The problem comes from calling DispatchQueue.main.sync { v.currentCropRect() } from the main thread. This will cause a crash, since we are already on the main thread.

https://github.com/steamclock/YPImagePicker/blob/bc3aa941fc97ce4a26991ea7ed41438c3105bac7/Source/Pages/Gallery/YPLibraryVC.swift#L446 will call this from the main thread, since we need to be on the main thread to present to UIAlert, which will then cause a crash when you press start.


refactor(samples): get model

Codecov Report

Merging #29 into master will decrease coverage by 0.10%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #29      +/-   ##
============================================
- Coverage     81.36%   81.25%   -0.11%
+ Complexity     1225     1224       -1
============================================
  Files            77       77
  Lines          6218     6188      -30
  Branches        691      667      -24
============================================
- Hits           5059     5028      -31
+ Misses          802      799       -3
- Partials        357      361       +4

Impacted Files
Coverage Δ
Complexity Δ

...com/google/cloud/bigquery/StandardSQLDataType.java
73.68% <0.00%> (-1.32%)
7.00% <0.00%> (ø%)

...m/google/cloud/bigquery/StandardSQLStructType.java
84.61% <0.00%> (-1.10%)
5.00% <0.00%> (ø%)

...gle/cloud/bigquery/MaterializedViewDefinition.java
70.00% <0.00%> (-0.97%)
6.00% <0.00%> (ø%)

...ogle/cloud/bigquery/WriteChannelConfiguration.java
86.17% <0.00%> (-0.65%)
46.00% <0.00%> (ø%)

...om/google/cloud/bigquery/LoadJobConfiguration.java
92.74% <0.00%> (-0.46%)
56.00% <0.00%> (ø%)

...ava/com/google/cloud/bigquery/RoutineArgument.java
90.47% <0.00%> (-0.44%)
5.00% <0.00%> (ø%)

...va/com/google/cloud/bigquery/StandardSQLField.java
90.47% <0.00%> (-0.44%)
7.00% <0.00%> (ø%)

...java/com/google/cloud/bigquery/ViewDefinition.java
87.09% <0.00%> (-0.41%)
11.00% <0.00%> (ø%)

...google/cloud/bigquery/ExternalTableDefinition.java
57.69% <0.00%> (-0.41%)
19.00% <0.00%> (ø%)

...a/com/google/cloud/bigquery/InsertAllResponse.java
88.88% <0.00%> (-0.31%)
15.00% <0.00%> (ø%)

... and 13 more

Continue to review full report at Codecov.

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


What is the font used in the sample images?

I would like to know what that font is, it is lovely.
Thanks.

PragmataPro

Hey, the conversation dates back to 2017, but the font would be project author's own font Iosevka, not PragmataPro.


Stratified K Fold and Dataset

🐛 Bug

Hi there! The Pytorch geometric Dataset object used to work nicely with scikit-learn's StratifiedKFold. See an example below:
 kf2 = StratifiedKFold(n_splits=9, shuffle=False)
 for train_idxs, val_idxs in kf2.split(dataset, dataset.data.y):
     train_dataset = dataset[torch.LongTensor(train_idx)]

In version 1.3.2 the dataset slicing used to also affect dataset.data.y. However, slicing now seems to leave this unchanged. So if one wants to further split train_dataset using StratifiedKFold, this is not working anymore because len(train_dataset) and len(train_dataset.data.y) won't match.
To Reproduce
Steps to reproduce the behavior:

Load Proteins dataset from PyTorch geometric
Check data len(dataset[indices]) is different from len(dataset[indices].data.y).

Is this the new expected behaviour and is there any elegant workaround for this?

I think the older behaviour from version 1.3.2 was more natural.
Environment

OS: MacOS
Python version: 3.6
PyTorch version: 1.5
CUDA/cuDNN version: cpu

Hi! I partial agree with you that this was more natural back then. Part of the reason I changed that was that each time you sliced the dataset, you re-created it in memory (which is quite unnecessary). Let me think of a way to get the best of both worlds :)
To prevent this behaviour, you can always do something like:
y = torch.cat([data.y for data in dataset])

Thanks a lot for the quick reply! That makes sense.
Perhaps the old behaviour could be supplied through some utils function or a dataset.subset(indices) method in the dataset object?

Hi, thanks for this.
I am now wondering how I can replace the y labels in the train and validation set, such that they meet the length of the dataset. My guess would have been like this:

After line 63 the lengths of the validation dataset are equal. However it seems that in line 66 my val_dataset.data.y is affected and further reduced when I reset the train_dataset.data.y ...
Do you see a quick fix for this? I don't fully understand what is happening here.

You should never modify dataset.data directly. If you really want to modify dataset.data, it is best to follow the InMemoryDataset guidelines:
data_list = [data for data in dataset[train_idx]]
dataset.data, dataset.slices = self.collate(data_list)

Thanks for your quick reply. That works better!

I just added a dataset.copy() method that converts sliced datasets back to a contiguous layout:
from torch_geometric.datasets import TUDataset

dataset = TUDataset('/tmp/TUDataset', 'MUTAG')
print(len(dataset))
>>> 180
print(dataset.data.y.size())
>>> torch.Size([188])

dataset = dataset[:40]
print(len(dataset))
>>> 40
print(dataset.data.y.size())
>>> torch.Size([188])

dataset = dataset.copy()
print(len(dataset))
>>> 40
print(dataset.data.y.size())
>>> torch.Size([40])

Maybe for the completeness the new method could be extended to include the preparation of a subset based on the indices prepared before hand. (e.g. the initial post was generating indices with StratifiedKFold)
     def copy(self, idx=None):         if idx is not None:             data_list = [self.get(i) for i in idx]         else:             data_list = [self.get(i) for i in range(len(self))]         dataset = copy.copy(self)         dataset.__indices__ = None         dataset.data, dataset.slices = self.collate(data_list)         return dataset

Done! :)

I used copy() function to create another dataset from a dataset given indices, as in the newest commit, the copy() is defined as follows:
def copy(self, idx=None):
        if idx is None:
            data_list = [self.get(i) for i in range(len(self))]
        else:
            data_list = [self.get(i) for i in idx]
        dataset = copy.copy(self)
        dataset.__indices__ = None
        dataset.__data_list == data_list
        dataset.data, dataset.slices = self.collate(data_list)
        return dataset

I check the get() function calls to self.__data_list__, so the line dataset.__data_list == data_list should be modified to dataset.__data_list__ == data_list (with double underscores after __data_list), isn't it?


Prefer adding contributing guidelines.

It will be good if this project had a contibuting guidelines which will help people to understand what to change and what to not while creating issues and pull requests.

Hi, you can add really whatever you want. This project is very small and doesn't get much attention so I don't really see a point to this.


Mastodon profile field

Feature Description
Currently if you want to link to your Mastodon or Twitter account, you can sacrifice your "website" field in order to attain rel="me" which is useful for the nice green box that verifies you own the account/page.
GitHub allows a separate field for Twitter, however I propose we try to make it more generic for those who use Mastodon (or perhaps other alternatives).
As an alternative proposal, we could also just follow how Mastodon lets users fill in a number of field->value inputs to make it more generic.
Screenshots

Twitter field on GitHub

Verified boxes on Mastodon

Considering Gitea aims to eventually be federated, I think "verifying" links similar to mastodon may also be a good idea, although I think that can be implemented separately.

I would close this in favour of the more generic #23443


Make cache prefix PSR-6 compatible

fixes #79 by removing the reserved characters from the cache key.
@Nyholm please merge and release 2.0.0-beta3 if you like.

ping @Nyholm ;)

Thank you for this PR. Looks great!

That was blazing fast, thanks :+1:


UglifyJs Error in safari_shim

With the release of v3.4.0, we can no longer build with webpack. The arrow function on this line seems to be the issue: https://github.com/webrtc/adapter/blob/master/src/js/safari/safari_shim.js#L20
ERROR in bundle.js from UglifyJs
Unexpected token: operator (>) [~/webrtc-adapter/src/js/safari/safari_shim.js:20,0][bundle.js:215090,42]

This error does not happen with any previous versions.
Browsers and versions affected
Version 3.4.0
Webpack 2 with babel-loader

fix PR is up.
Looks like eslint is configured for ES6 but we don't want that actually. I'll see if I can come up with a more long-term fix.


UserAccessAnalytics table has been deprecated

UserAccessAnalytics table has been deprecated

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

ID: b2e51eba-7e20-dc14-8db1-0cf056b4934c
Version Independent ID: 1f8b1add-b085-e3cd-4897-e0af648bf4ee
Content: Identify advanced threats with User and Entity Behavior Analytics (UEBA) in Microsoft Sentinel
Content Source: articles/sentinel/identify-threats-with-entity-behavior-analytics.md
Service: microsoft-sentinel
GitHub Login: @yelevin
Microsoft Alias: yelevin

@susalgado
Thanks for your feedback! We will investigate and update as appropriate.

@yelevin
Can you please check and add your comments on this doc update request as applicable.

Hi all,
Thank you so much for looking into this.
There's also another page related to this topic: Azure Monitor Logs reference - UserAccessAnalytics | Microsoft Learnhttps://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/useraccessanalytics
I am not sure if I can comment here or if it needs to be reported directly on the page.
Thank you and kind regards,
Susana Salgado
Support Engineer | Apps & Infra | EMEA Azure Security
Customer Service & Support
+351 (210) 603344 |<EMAIL_ADDRESS>Working hours: Mon-Fri 09h-18h UTC 0
If you have any feedback about my work, please let either me or my manager know at @.***
[cid:e253755f-e1f8-41d3-a198-ffe26ec34a9b]

From: Saibaba Balapur Hireka @.>
Sent: Thursday, January 25, 2024 6:41 AM
To: MicrosoftDocs/azure-docs @.>
Cc: Susana Salgado @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] UserAccessAnalytics table has been deprecated (Issue #119148)
@yelevinhttps://github.com/yelevin
Can you please check and add your comments on this doc update request as applicable.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/119148#issuecomment-1909445868, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFSK5QC67O74ZWEUXCI2AM3YQH5BPAVCNFSM6AAAAABCIQW55KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBZGQ2DKOBWHA.
You are receiving this because you were mentioned.Message ID: @.***>

#label:"backlog-item-created"

The documentation has been updated to address this request. Thanks for your contribution!
#please-close


Dynamic messages

Great work with this module!
There is one thing missing, though: I would like to have dynamic messages for my errors when possible. To make that happen, message option could be received as function.
As you don't expose ApolloError, things are harder they it should to increment your lib. Here is a work around I'm using to achieve it:
const createDynamicError = (name, opts = {}) => class CustomError {
  constructor (...args) {
    const config = typeof opts === 'string' || typeof opts === 'function'
      ? { message: opts }
      : opts

    if (typeof config.message === 'function') {
      config.message = config.message(...args)
    }

    return new (createError(name, config))(...args.slice(-1))
  }
}

You could then use it like so:
const UserNotFoundError = createCustomError('UserNotFoundError', {
  message: username => `User ${username} not found`
})

// Or, shurtcuted:
const UserNotFoundError = createCustomError('UserNotFoundError', username => `User ${username} not found`)

// And use it like that:
new UserNotFoundError('lucas')

// Or, with data as in the original createError:
new UserNotFoundError('lucas', { data: { foo: 'bar' } })

Hope it helps someone ;)

You can already override the message when you throw the error, per the docs, with whatever string you want.  Does that not handle your use case?

No, not really. I wouldn't like to send the message always I throw the error, but I would like the message to contain some contextual information. If anyone else finds this useful after all, I can write the pull-request. Until then, I guess I'll keep using my wrapping helper.

Interesting.  I think we could definitely add this to the package, but I am wondering how we ought to make the API work without breaking changes.  Any thoughts @lucasconstantino ?

IMO this is more of a UI detail, to be implemented in a client rather than at the API level.

@scf4 I mostly agree, but I also don't feel overly pained about adding this if enough people want it.  That said, there is nothing stopping anyone from using a factory function to return errors with dynamic messages without baking any new functionality into the lib.

I'm closing this for now, since there doesn't seem to be any interest in moving forward


Symfony 4 with API Platform

Hi! I know that there is the symfony repository created but I would like to make the symfony realworld example in more classy way. I will use API platform package which makes api building more fun and easy. My repo: https://github.com/MakeleAndzelo/symfony-realworld-example-app

Can I use logo from the old symfony repo?

Still in development?

Yes, it is. For now i don't have enough time for this.

Hello we are currently moving all work in progress to Github Discussions.
I'll close this issue by now, you can find instruction to open a discussion there : https://github.com/gothinkster/realworld/discussions/633
Thanks for your contribution !


Updated default collector version to 0.49.0

This PR updates the default collector image version to 0.49.0. Reviewing opentelemetry-collector and opentelemetry-collector-contrib I see no breaking changes that will affect the chart configuration.
Fixes https://github.com/open-telemetry/opentelemetry-helm-charts/issues/168

I think there was an issue with the 0.49.0 release.  .

This PR should not be completed until #170 is fixed.

The release is delayed due to https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9278

Thanks @TylerHelmuth!


new device: Biltema Smart Mini-Globe E27 DIM/CCT (BK7231T)

https://www.biltema.se/en-se/office---technology/smart-home/lighting/e27/smart-mini-globe-e27-dimcct-49-w-2000046867
No additional manufacturer markings on the box, so Generic-TuYa I guess.
dump.zip

Added as Biltema 24264 A15 E27 CCT Mini-Globe Bulb
Added it by seller brand since they had a product number and manual on their page.


Swift Version?

I was able to continue using Lyt (which is awesome!) in my swift project with a bridging header, but I am wondering if there will be a 100% swift native port at some point?

Hey there @aubrey , and @hpique , I ported this to swift a while back when I was experimenting with auto layout. Feel free to integrate it back in if you wish.


ESD-476: Limit HelloMSDKUI Example App  to Portrait mode

Signed-off-by: ogunreku praise<EMAIL_ADDRESS>

Codecov Report

Merging #31 into master will increase coverage by 1.75%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #31      +/-   ##
=========================================
+ Coverage   86.54%   88.3%   +1.75%
=========================================
  Files          30      58      +28
  Lines        1955    3684    +1729
=========================================
+ Hits         1692    3253    +1561
- Misses        263     431     +168

Flag
Coverage Δ

#ios
88.3% <ø> (+1.75%)
:arrow_up:

Impacted Files
Coverage Δ

MSDKUI_Demo/IconButton.swift

MSDKUI_Demo/OptionsViewController.swift

MSDKUI_Demo/ManeuversOverviewViewController.swift

MSDKUI_Demo/GuidanceDashboardViewController.swift

MSDKUI_Demo/ExtensionArray.swift

MSDKUI_Demo/ExtensionNMAGeocoder.swift

MSDKUI_Demo/ExtensionUITableViewCell.swift

MSDKUI_Demo/ExtensionBundle.swift

MSDKUI_Demo/ExtensionNMAMapMarker.swift

...UI_Demo/GuidanceDashboardTableViewDataSource.swift

... and 78 more

Continue to review full report at Codecov.

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


[Secondary] Xcframework release to github for FFI repos

First attempt:
https://github.com/pacu/zcash-light-client-ffi/pull/1

Important info
https://joht.github.io/johtizen/build/2022/01/20/github-actions-push-into-repository.html

Finally got it working!
https://github.com/pacu/zcash-light-client-ffi/pull/2


"Browser is Not Supported"

Hi,
I've installed the extension on tfs 2017 on-premise.
I'm getting:  "Browser is Not Supported"
I am getting a Reference Error for: "trackjs" at the file: "DropPlanVSS.js" at line 56
pls help
Cheers
Amir Harel 👍

Do you have internet access from your client?
I uploaded a new version that should ignore that file if you don't have internet access, can you please try again and let me know?

Hi,
Still doesn't work.
Failed at: tracker.js & analytics.js
m=s.getelementsByTagName.....
row 23
got: "Failed to load: net::ERR_NAME_NOT_RESOLVED" (index.html)
Cheers
Amir Harel

I uploaded another fix - hope now it's really being fixed, can you verify that it works for you?


Resolved enummeration problems in installation file

Hello @mvento thanks for the PR, I added a comment. Also it seems there is a merge conflict

@mvento thanks a lot for your PR. We updated the docs for the last version so I'll close the PR for now. If you still think the docs are incomplete please comment or open a new PR.
Thanks a bunch 🤗


Filter-Select-All has no EventEmitter

Without an EventEmitter, I am unable to react to users clicking the filter-select-all checkbox.

Approved PR. However, please wait for next release to be available in npm package.

You PR changes available in v4.1.0. Thanks for the contribution.


Liquid "split" filter causes 500 error

When saving (or Dry Run) a WebsiteAgent that uses an interpolated url_from_event and the Liquid split filter as well, I get a 500 error - "We're sorry, but something went wrong."
Example 1 (link is the interpolated property):
{
  "expected_update_period_in_days": "2",
  "url_from_event": "{% assign foo = link | split: '  ' %}{{ foo[0] }}",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": "body",
      "value": ".//text()"
    }
  }
}

Example 2 (link is the interpolated property):
{
  "expected_update_period_in_days": "2",
  "url_from_event": "{{link | split: ' ' | first}}",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": "#comic img",
      "value": "@src"
    }
  }
}

(I know that in this contrived case I can use the replace filter)

@knu why is this an interpolation error?

@knu also, after updating I still get a 500 error when trying to save.
Maybe this should be reopened.
This only happens when using the split filter - this works:
{
  "expected_update_period_in_days": "2",
  "url_from_event": "{% assign foo = link %}{{foo[0]}}",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": "body",
      "value": ".//text()"
    }
  }
}

Because you didn't provide the error backtrace, I tried it myself and observed this:
NoMethodError - undefined method `split' for nil:NilClass:
  liquid (2.6.2) lib/liquid/standardfilters.rb:64:in `split'
  liquid (2.6.2) lib/liquid/strainer.rb:43:in `invoke'
  liquid (2.6.2) lib/liquid/context.rb:82:in `invoke'
  liquid (2.6.2) lib/liquid/variable.rb:50:in `block in render'
  liquid (2.6.2) lib/liquid/variable.rb:38:in `render'
  liquid (2.6.2) lib/liquid/block.rb:109:in `block in render_all'
  liquid (2.6.2) lib/liquid/block.rb:96:in `render_all'
  liquid (2.6.2) lib/liquid/block.rb:82:in `render'
  liquid (2.6.2) lib/liquid/template.rb:128:in `render'
  liquid (2.6.2) lib/liquid/template.rb:138:in `render!'
  app/concerns/liquid_interpolatable.rb:93:in `block in interpolate_string'
  app/concerns/liquid_interpolatable.rb:55:in `interpolate_with'
  app/concerns/liquid_interpolatable.rb:92:in `interpolate_string'
  app/concerns/liquid_interpolatable.rb:71:in `block in interpolate_options'
  app/concerns/liquid_interpolatable.rb:55:in `interpolate_with'
  app/concerns/liquid_interpolatable.rb:68:in `interpolate_options'
  app/concerns/liquid_interpolatable.rb:74:in `block (2 levels) in interpolate_options'
  app/concerns/liquid_interpolatable.rb:73:in `block in interpolate_options'
  app/concerns/liquid_interpolatable.rb:55:in `interpolate_with'
  app/concerns/liquid_interpolatable.rb:68:in `interpolate_options'
  app/concerns/liquid_interpolatable.rb:87:in `block in interpolated'
  app/concerns/liquid_interpolatable.rb:55:in `interpolate_with'
  app/concerns/liquid_interpolatable.rb:85:in `interpolated'
  app/models/agents/website_agent.rb:386:in `extraction_type'
  app/models/agents/website_agent.rb:177:in `validate_extract_options!'
  app/models/agents/website_agent.rb:140:in `validate_options'
...

If this is not what is happening on your site, please paste the log.

Seems interpolated is also called via #working? and a problematic template affects the /agents page, which needs a fix.

That's really weird - it's a valid filter according to the Liquid docs https://docs.shopify.com/themes/liquid-documentation/filters/string-filters#split
and it works when using a hardcoded string.
{
  "expected_update_period_in_days": "2",
  "url_from_event": "{% assign foo = 'bar' | split: ' ' %}{{foo[0]}}",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": "body",
      "value": ".//text()"
    }
  }
}

(sorry about the logs - I'm running on heroku and I'm not sure how to access the logs....)

Evaluating a valid Liquid template still can raise an error.  "{% assign foo = link %}{{foo[0]}}" is valid but will raise NoMethodError when link is evaluated to null.
In this case, Huginn tried to validate the options in which process the above template was interpolated without an incoming event, so it failed.

@HyShai do you get logs in the Agent logs section of the Agent?  Also, heroku logs -n 200 should show you the last 200 lines of logs.

Ah gotcha thanks so much! Seems to be fixed now!

Actually - like @knu said - I can't access the /agents page that has that agent.

Wow!! You guys work fast! I gotta get involved. Brush up on my Rails first...,

@HyShai Just pushed a fix for that.  Please give it a try.

@cantino in this case there were no logs in the Logs section of the agent. Possibly because this issue happened when I was saving the agent, not when running it?

@cantino It is a problem that an exception (not <= Liquid::Error) Liquid's render!() may raise kills the whole recursive interpolation process in interpolated().  It should probably offer a "safe mode" that leaves any failed template as it is, for use from validation, etc.  What do you think?

@knu everything seems good now. Thanks so much!

@HyShai We'd love to have you involved!

Glad to hear that!


Refactor: Removing inherently flaky and unused SourceDateEpochOrNow function.

Ref: #9090
Removing SourceDateEpochOrNow() as it's both unused and inherently causes "flaky" test failures due to reliance on timer resolution of the underlying operating system as decided here: https://github.com/containerd/containerd/issues/9090#issuecomment-1721437930

Looks like the linter found that the rightAfter utility is no longer used (which may indeed be correct);

Looks like the linter found that the rightAfter utility is no longer used (which may indeed be correct);

Mind taking another look @thaJeztah ? The failing check doesn't look like it failed from anything:
Run make test
🇩 test
Error: The operation was canceled.

Ah, yes, saw the failure but had to wait for github actions to complete before I could trigger it again; it should be running again now 🤞

/ok-to-test


Flutter desktop Windows Release High CPU usage

Flutter app Windows release used too much cpu. (Single core occupies up to 100%)

Details

Target Platform: Windows
Target OS version/browser: Windows 10 20H2 (19042.867) Windows Feature Experience Pack 120.2212.551.0
Devices: Intel(R) Core(TM) i5-9300H
Steps to reproduce

flutter create windows_test

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Windows Test"),
        ),
      ),
    );
  }
}

flutter build windows
run windows_test\build\windows\runner\Release\windows_test.exe

Logs

Logs

PS C:\Users\me\project\windows_test> flutter analyze
Analyzing windows_test...
No issues found! (ran in 1.4s)
PS C:\Users\me\project\windows_test>

PS C:\Users\me\project\windows_test> flutter doctor -v
[√] Flutter (Channel master, 2.1.0-13.0.pre.159, on Microsoft Windows [Version 10.0.19042.867], locale zh-CN)
    • Flutter version 2.1.0-13.0.pre.159 at C:\Users\me\AppData\Local\Android\flutter
    • Framework revision e8c3ce6bd1 (2 hours ago), 2021-03-17 22:13:13 -0700
    • Engine revision b5091d6a7d
    • Dart version 2.13.0 (build 2.13.0-148.0.dev)
    • Pub download mirror http://<IP_ADDRESS>:59776/pub
    • Flutter download mirror http://<IP_ADDRESS>:59776/storage

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\me\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\me\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.8.31005.135
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.54.2)
    • VS Code at C:\Users\me\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19042.867]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 89.0.774.54

! Doctor found issues in 1 category.

@xkeyC
Tried your code sample using latest master on Windows 10 machine, but didn't notice the high cpu usage per your screenshot.

The max CPU usage is noticed went up to 16%, but on an average it was at about 10% the whole time.

@xkeyC
Tried your code sample using latest master on Windows 10 machine, but didn't notice the high cpu usage per your screenshot.

The max CPU usage is noticed went up to 16%, but on an average it was at about 10% the whole time.

Can you show the status of each core in cpu performance?

It seems like the third logical core is always 100% usage with Flutter for Windows builds. Seeing the same issue as OP.

@xkeyC

@xkeyC

Right click and select (H) -> (L) option to display the status of each cpu.

@xkeyC

@darshankawar I think this problem needs more samples because it does exist.
PS C:\Users\me\project\windows_test> flutter doctor -v
[✓] Flutter (Channel master, 2.1.0-13.0.pre.207, on Microsoft Windows [Version 10.0.19042.870], locale zh-CN)
    • Flutter version 2.1.0-13.0.pre.207 at C:\Users\me\AppData\Local\Android\flutter
    • Framework revision 5d37734ea1 (4 hours ago), 2021-03-22 23:30:00 -0700
    • Engine revision d59a01d2d3
    • Dart version 2.13.0 (build 2.13.0-150.0.dev)
    • Pub download mirror http://<IP_ADDRESS>:59776/pub
    • Flutter download mirror http://<IP_ADDRESS>:59776/storage

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\me\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\me\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.8.31005.135
    • Windows 10 SDK version 10.0.18362.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.54.3)
    • VS Code at C:\Users\me\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[!] Proxy Configuration
    • HTTP_PROXY is set
    ! NO_PROXY is not set

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19042.870]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 89.0.774.57

! Doctor found issues in 2 categories.

I can reproduce as well

doctor
[√] Flutter (Channel master, 2.1.0-11.0.pre.147, on Microsoft Windows [Version 10.0.19041.804], locale en-US)
    • Flutter version 2.1.0-11.0.pre.147 at C:\flutter-sdk\flutter
    • Framework revision 8d4aac1b66 (2 weeks ago), 2021-03-08 11:14:02 -0500
    • Engine revision f751d04fa0
    • Dart version 2.13.0 (build 2.13.0-107.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\j.tosovsky\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\RedHat\java-11-openjdk-11.0.8-2\bin\java
    • Java version OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31025.194
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3
    • Flutter plugin version 54.0.3
    • Dart plugin version 203.7759

[√] VS Code (version 1.54.3)
    • VS Code at C:\Users\j.tosovsky\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19041.804]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 79.0.309.65

! Doctor found issues in 2 categories.

When executing much more complex app, there is almost no visible CPU increase. So it seems like suboptimal handling this particular code. Something like endless loop. (Caused by empty page?)

I am unable to replicate this based on the tests I tried per earlier comments, but keeping this issue open for further investigation, since there are other confirmed occurrence of it from different devs.

I have just started seeing this on my Windows desktop builds as well. Built desktop app is idling, but runs full throttle on ONE CPU, basically like its thread is fully busy. Not sure what is going. It has not been this bad since I tried Flutter for Windows first time by installing the embedders manually abut 1.8 years ago.
I will test more and follow up when I know more about it.

Here is what I did so far

Rebooted Win PC: Build the app again that had the CPU issue.
Issue remains: CPU starts at 5% and climbs fast to 20% and stays there. App just idling waiting to click start button to actually start doing something.

Next step: Build a clean standard default counter app, for Windows target.
No issues: Idles at 0 ... 0.2%

Next: The default counter app is a none null sound safe build, so I convert it to sound null safety and change SDK >= 2.12.0. pub get, pub upgrade.
No issues: Still runs and idles at 0 ... 0.2%

Then, just to be sure, I fire up another a big windows build that uses sound null safety too.
No issues: Idles at close to 0% too.

Now I'm getting desperate, so maybe it is my app in step 1 that is the culprit, but how could it be I think. The start page on it just sits there with a button and waits to be pushed to go to another page, it does not really do anything before that, yet that managed to get up to 20% load and fan on my PC goes nuts after a while.
The app with the CPU load issue has rather ancient Windows desktop roots, maybe its Windows embedder is too old? The others above were all fresh, the counter app just got created with Flutter 2.0.3 and the other one got updated for good measure with 2.0.2 a week ago.
So now I'm thinking let's wipe the Windows runner files and recreate them, sure means I have to put back the icon, none default texts etc, but maybe it helps.

But first I try one more thing....
$ flutter clean, and $pub get, plus $pub upgrade as well for good measure.

Let's build the problem case one more time, before I wipe the Windows folder and make a new one...

RESULT
And... Whaat! Now it is OK and idling at 0% and sure it goes up to peak 25% if I resize its window rapidly. It does after all have a responsive view with a crazy amount of widgets and 4 scrolling list views in a Row, but when I stop messing with it it drops down to 0% again as it should.
I have no idea what fixed it, but something did. I have been seeing this high CPU load before as well, on and off. In a another Flutter issue related I commented on VERY choppy window resizing. I was seeing that with this app too when the app was running amok on one CPU as well. However, now that is gone as well, it is back to its normal 'avg' window resizing behavior, not super smooth and but not as bad as it used to be maybe 6 months ago either. Back to its normal behavior basically.
I guess it is possible that the flutter clean and getting packages again might have cleared up something that was messed up.
I had been doing a lot hot reload and hot restarts on this build, as well as stopping and building from scratch too, running tests in parallell with too etc. But a flutter clean was a while ago.
So if that has not been tested already by anybody with high CPU load on Windows, it might be worth a try. Regarding the Windows embedder, I did not remove it and recreate it, since the flutter clean and get packages solved my issue.

Just for reference this is what the app that had the high CPU load looks like. Here it no longer has the issue and Window resizing is pretty smooth too.

Now after crazy resizing and playing around with all its options and toggles, it sits there 0% when I stop messing with it, so it looks OK now.

Follow-up
So I jumped into master (using fvm) upgraded it to latest version: (Channel master, 2.1.0-13.0.pre.228.
Built the above test bench Windows app again and now it is running crazy again, fully loading one CPU to max again!
The above tests in previous post were on stable, but come to think of it my first trial with above app in step 1 were on latest dev channel and version 2.1.0-12.1.pre.
So now trying the null-safe version of the standard counter app, from step 3 in previous post, but now on above mentioned master channel. And there it is same super high CPU load, when doing nothing, around 17% in this case. I tried flutter clean etc, but it had no effect, issue remained.

I'm going to try some tests to make sure on which versions I can repeat the issue with just the counter app.

Same issue with beta channel. Recorded some video with Visual studio debug maybe it helps :-)
PS. Sorry for debug mode this is my first time with Visual Studio. I can give live share invite if it needed.
Videos and files: https://disk.yandex.ru/d/zuLmlCHIGRywYg?w=1

I can also confirm this.
A previous build of a code a few days ago and a build created 5.february (with no code changes) had these differences

I'm not sure when this started but for at least a week. I'm currently on dev channel but also tested the other channels with same result. My 2.February build was probably on master or dev.
I have tested replacing only the exe file from a new build in the same folder as the runner/release build of the old version and then it behaves as the old version with normal CPU usage so I guess it must be the additional libraries and not the executable.

You could try adding one of these to see if Flutter is pumping frames while idle: https://api.flutter.dev/flutter/widgets/PerformanceOverlay-class.html
Or you can turn on the performance overlay on a "profile" build of Flutter from the IDE.
(Desktop Triage)

I can reproduce the issue https://github.com/flutter/flutter/issues/79195#issuecomment-809469554

Just as an update: Yes the issue is still present on latest (recent) master2.1.0-13.0.pre.416 so no change yet:

I was finally able to work around issue https://github.com/flutter/flutter/issues/79498 and get a working Windows build with master channel again, but it still suffers from this unusable high CPU load.

@rydmike, see this comment. If you're using master, does he issue persist if you replace void RunLoop::Run() inside windows\runner\run_loop.cpp with the following code?
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

I was able to reproduce this. In my case, the platform thread is spinning constantly. The problem is in the windows event loop code:
next_flutter_event_time gets initialized to TimePoint::clock::now() and then always updated to next_flutter_event_time =           std::min(next_flutter_event_time, ProcessFlutterMessages()); so it's not really increasing.
However since https://github.com/flutter/engine/pull/24232 landed the whole void RunLoop::Run() can be replaced with
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

which in my case resolves the CPU load. Updating the Windows template should be relatively straightforward. I'm not sure what to do about migrating existing projects.
@rydmike, if you're getting high CPU load with master, try replacing RunLoop::Run() in your windows app with the code above to see if it resolves the problem.

@knopp Thanks for this info. I upgraded to latest available master (Channel master, 2.1.0-13.0.pre.499) did a standard template Flutter counter app build to first confirm that I still see the high CPU usage issue, and yes I did.
After that I applied the revised version of the  ´RunLoop::Run()`, as you suggested. Happy to report that it indeed seems to resolve the issue!
CPU IDLE LOAD OK! 🎉

Nice and big thanks!  👍🏻 😃
As for the issue with updating the Windows runner/embedder, not a big problem for one or two cases. You of course need to be aware of the issue and this fix, and know that https://github.com/flutter/engine/pull/24232 has landed in whatever version you are using and then replace the code-snippet in question. Not so complicated, but for broader and more general applicability, something else is indeed needed whenever the platform runner/embedder needs to be updated.

SIDENOTE
This kind of runner/embedder update issue imo goes together with a more broader Flutter multiplatform support tooling development need.
I think, and have suggested to Google, that Flutter needs to have as a part of its tooling, a UI (baked in, kind of like the Devtools) that functions as a central place where you can add and update all the info that the application needs to include in the runners/embedders for all different platforms, like:

App name
App display name
App description
Organization
All needed app icons for all platforms.
Potentially also platform native splash image(gif) loader image.
Needed device permission
Other? (The above list is probably not complete)

This tool should then be able to apply these settings to all the runners/embedders for all platforms as applicable to each platform. The tool should also be able to check if the runners/embedders  used in the project for any platform needs to be updated to a new version. If needed, it should be able to make such a refresh and then re-apply all the above application/project settings to all the updated runners/embedders.
Currently all the above info is is a bit of a pain royale to even keep track on what goes where for each embedder/runner, for every platform. Once you know/figure it out, you then need to add all the needed info and/or update them manually if/when you need to change the info in every runner/embedder. And as in this case, sometimes you have to delete the embedders/runners and create new ones with latest Flutter version. This is already a way to update them to get the latest version form the current tooling in Flutter, but then you have to re-apply all the above app config stuff, that you probably googled (months ago) to figure out how to add it to the platforms you might not be natively familiar with. Then after an embedder update, the how and where all this stuff goes, might even have changed in the updated runner/embedder. So all in all, not a very pleasant developer UX and very time consuming. It would be really useful and wonderful to see some built in support in the Flutter tooling for all this going forward.
This is of course a high level tooling improvement suggestion, and I've mention it in an eMail as a suggestion to my contact at Google, as something that would be very useful now that the amount of platforms have gown to six. It would also give more possibilities to develop and update the runners/embedders when so needed, as upgrading them would be a part of easy to use included tooling.
I'm not sure if this idea already exists as a general improvement suggestion in the Flutter repo. I will search a bit. If I don't see it I can certainly add it and just use all the stuff I wrote here already as starter to capture the idea. Not sure if it is something that is on the roadmap already, or would even be considered as interesting, but at least the suggestion would be captured in the Flutter repo then.

@knopp Yep, that fixes it! Thank you.
Though the Flutter team should still look into this. I just created this project yesterday and it was generated with the badly performing cpp code.

Upgrading Flutter to 2.2.0 from 2.0.6 has brought this issue to my project

@kirill-21 Just to say that on my project too, but on master channel (2.3) the issue disappears...

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

No, i know that it fixes the issue, but i just wanted to report the problem

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

No, i know that it fixes the issue, but i just wanted to report the problem

Unfortunately the migration is not addressed yet, and the problem is in the run loop code (which is part of the generated probject), so it doesn't matter which flutter version you use, there will be the CPU load if you have the old run loop code.

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

No, i know that it fixes the issue, but i just wanted to report the problem

Unfortunately the migration is not addressed yet, and the problem is in the run loop code (which is part of the generated probject), so it doesn't matter which flutter version you use, there will be the CPU load if you have the old run loop code.

But on 2.0.6 i had 0.1%, now i have 25%. The project is the same

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

No, i know that it fixes the issue, but i just wanted to report the problem

Unfortunately the migration is not addressed yet, and the problem is in the run loop code (which is part of the generated probject), so it doesn't matter which flutter version you use, there will be the CPU load if you have the old run loop code.

But on 2.0.6 i had 0.1%, now i have 25%. The project is the same

It is possible that it is a regression introduced in https://github.com/flutter/engine/pull/24232 fixed by here.

Upgrading Flutter to 2.2.0 from 2.0.6(stable channel) has brought this issue to my project

Did you try replacing the main loop (in case you have the old embedder code) as described in this comment?

No, i know that it fixes the issue, but i just wanted to report the problem

Unfortunately the migration is not addressed yet, and the problem is in the run loop code (which is part of the generated probject), so it doesn't matter which flutter version you use, there will be the CPU load if you have the old run loop code.

I have deleted an old Windows folder and created a new one via flutter create . and the problem is still here

I have deleted an old Windows folder and created a new one via flutter create . and the problem is still here

Is there a run_loop.cpp/run_loop.h file in the flutter windows project?

I have deleted an old Windows folder and created a new one via flutter create . and the problem is still here

Is there a run_loop.cpp/run_loop.h file in the flutter windows project?

Yes. This one was generated with flutter 2.2.0

That means flutter 2.2 still has the old template. You can replace the Run function with this
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

And the problem should disappear.

That means flutter 2.2 still has the old template. You can replace the Run function with this
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

And the problem should disappear.

That's strange because 2.0.6 had this issue fixed

The possible regression I've mentioned before was introduced after 2.0.6. It only happens with the legacy run loop code. Moving to regular windows message loop fixes the regression.

@kirill-21 this was not an issue in 2.0.6 because the run function changed between 2.0.6 and 2.2, as you have the old code from before the change, you need to update your code to match the new run function... To sumarize, if you have the old code with the new version it is a problem, if you have the new code with the new version you should be fine...
The only problem here is that 2.2 flutter create don't create the windows folder with the new code... the 2.3 version (that is on master channel) fixes this, they should cherry-pick this fix in a later update to the 2.2 branch...

That means flutter 2.2 still has the old template. You can replace the Run function with this
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

And the problem should disappear.

Hi,

That means flutter 2.2 still has the old template. You can replace the Run function with this
void RunLoop::Run() {
  MSG msg;
  while (GetMessage(&msg, nullptr, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

And the problem should disappear.

Just as you said, your PR(https://github.com/flutter/flutter/pull/79969) should not be merged well in version 2.2.  I generated a new project with Flutter 2.2 and it is running with high CPU as op.
I can fixed it with the files changed description of your PR and it can run as a lower level.
My question is that for old project with codes which way is better:

As https://github.com/flutter/flutter/pull/79969/files to remove some lines or files.
To replace
void RunLoop::Run() {

MSG msg;
while (GetMessage(&msg, nullptr, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

btw, I can't fix the issue, do you mean by to replace the below function:
void RunLoop::Run() {
bool keep_running = true;
TimePoint next_flutter_event_time = TimePoint::clock::now();
while (keep_running) {
std::chrono::nanoseconds wait_duration =
std::max(std::chrono::nanoseconds(0),
next_flutter_event_time - TimePoint::clock::now());
::MsgWaitForMultipleObjects(
0, nullptr, FALSE, static_cast(wait_duration.count() / 1000),
QS_ALLINPUT);
bool processed_events = false;
MSG message;
// All pending Windows messages must be processed; MsgWaitForMultipleObjects
// won't return again for items left in the queue after PeekMessage.
while (::PeekMessage(&message, nullptr, 0, 0, PM_REMOVE)) {
processed_events = true;
if (message.message == WM_QUIT) {
keep_running = false;
break;
}
::TranslateMessage(&message);
::DispatchMessage(&message);
// Allow Flutter to process messages each time a Windows message is
// processed, to prevent starvation.
next_flutter_event_time =
std::min(next_flutter_event_time, ProcessFlutterMessages());
}
// If the PeekMessage loop didn't run, process Flutter messages.
if (!processed_events) {
next_flutter_event_time =
std::min(next_flutter_event_time, ProcessFlutterMessages());
}
}
}
Thank you.

@knopp
Thanks for the RunLoop workaround! This fix the performance issues.
void RunLoop::Run() {
MSG msg;
while (GetMessage(&msg, nullptr, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

@knopp
The app still keeps high cpu useage after I start an isolated process.
Normally

After I click the button

class _HomePageState extends State<HomePage> {
  Isolate? _isolate;
  Capability? _isoPause;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: TextButton(
          onPressed: () async {
            _isolate = await Isolate.spawn(_isoEntry, "message");
          },
          child: Text("isolated http get"),
        ),
      ),
    );
  }
}

void _isoEntry(String message) async {
  HttpClient client = new HttpClient();
  client.findProxy = HttpClient.findProxyFromEnvironment;
  client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;

  var request = await client.getUrl(Uri.parse("https://github.com/"));
  var response = await request.close();
  print(response.contentLength);
}

@xinlake I think your find might be valid to open as new case. While I'm sure it related to this case, it still shows a new use case where the fix does not work when using isolates.
Since this issue is closed and you use case while related, does have another new aspect, isolate usage, I think a new issue report would be appropriate with a reference to this case.
@knopp Any comments and preferences on opening a new related case or continuing in this one? Or comments regarding this new find when using isolates?

I don't think the problem with CPU load with second isolate is related to the original issue. Isolates use completely different event loop than the one embedder uses (which caused the original issue).

I summited a new issue https://github.com/flutter/flutter/issues/85745


redundant code that can cause errors when chaining loaders

raw-loader was throwing an error when using obfusctator beforehand

Thank you for your contribution, Camlan1


"league/oauth2-server" requirement conflicts with the installer

there's a requirement in laravel/passport package: "league/oauth2-server": "^7.0".
And trying to install laravel-passport-socialite I'm getting the following error:

schedula/league-oauth2-social v1.0.2 requires league/oauth2-server ^6.0 -> satisfiable by league/oauth2-server[6.0.0, 6.0.1, 6.0.2, 6.1.0, 6.1.1].

don't install league/oauth2-server 6.0.0|don't install league/oauth2-server 7.2.0

Laravel 5.6;
"laravel/passport": "^6.0@dev",

working on it https://github.com/schedula/laravel-passport-socialite/issues/4


Consider how to represent debug info for classes.

Do we want to have a consistent mechanism for "stringifying" types for debug purposes?
Value currently uses void PrintTo(Value const&, std::ostream*) as it integrates nicely with gUnit.
Another option would be to overload ostream& operator<<(ostream&, Value const&).
What is the best way to indicate that these strings are for debugging purposes and not a machine interpretable serialization of the type?

We talked a bit about this offline. It sounds like the conclusion is to follow the strategy that I described in my previous comment for now. That should be fine for now. If we think of something better at some point, we can switch to that.


Several new server base classes

Implemented:

CServer
CClient
CNetChan
A few smaller ones

Not all members align, however a lot do (structs have been taken from R5R).
CServer is aligned entirely
CClient is fairly well aligned (name, netchan, etc).
CNetChan also seems ok for the most part but towards the end i added padding as they did something (needs reversing), but you can obtain the addresses and signonstate, etc.
Example usage:
CClient* pClient = g_pClient->GetClient(i);
spdlog::info("{}", pClient->GetServerName());
spdlog::info("{}", pClient->GetNetChan()->GetAddress());

I recommend replacing GetPlayerByIndex() with this entirely, and also fixup some of the fields like where OriginID is since i couldn't find it but i think you had some offsets to it, so you can add the members at this offset of the structure.
Persistence data should also be added still, but i left these parts as i don't know the exact sizes and how Northstar uses them.
I also added a few fixme comments.

@Mauler125 is this worth keeping open? (given all the merge conflicts that have accrued)

This is pre refactor so i doubt any merge conflicts can be easily solved. I can confirm that most of this lines up, but as mentioned in the original comment, not all fields we use are in this pr.

Feel free to reopen if you ever fix the conflicts and such


Upload APKs to GitHub

The IzzyDroid app store (similar to F-Droid, getting popular) requires us to have APKs available for download: https://gitlab.com/IzzyOnDroid/repo/-/issues/598#note_2061639704
I suggest adding that step to
https://github.com/commons-app/commons-app-documentation/blob/master/android/Project-maintenance.md#generate-release-build-after-verification
@sivaraam One more task at each release but is it OK for you?
It is not urgent, uploading APKs can start from the next release. :-)

Maybe we can automate the release process? I could try to implement something similar to this
Needs some effort for the first time, but should be useful for the upcoming releases

@shankarpriyank Tramline sounds great indeed!
It may even let us releases alphas based on main.
And they write "Enterprise tier available free to all open source apps" 🙂
Would you like to try and document all setup steps?
Unfortunately we can not give the app's keys/passwords/etc to anyone, thank you for your understanding! 🙇 But if you want we can work on this together, you do the research using your own GitHub repo, and you tell me where to click 😁. What do you think?

Sure, let me read more about this, and try to make a poc sort of thing

hi @nicolas-raoul i did some reading out, could not test it end to end as I donot have a developer account on playstore.
I know sharing access would be bad idea, so I guess will need to open an account on tramline for this to work, they have a standard github action file which we can later modify to suit our needs.
Also the founder of Tramline, reached out to me and they will be happy to help if we run into any issues

If you could point me to relevant docs, I could try to achieve the automation using Tramline while doing the next release.

I tried setting this up. Unfortunately this requires a service account allowed to create releases, and I am rather pessimistic on our chances of getting this from WMF. Sivaraam if you are more optimistic you may want to ask, as it would be super helpful to create an alpha track.

@nicolas-raoul Just out of curiosity, is there any benefit of publishing the app via IzzyDroid given that we already are listed directly on the F-droid store ? 🤔

Their philosophies are different, so some people use only IzzyDroid.
Also, IzzyDroid performs various audits on the APKs, which some may want to see.
Having APKs on GitHub also allows normal users to go back to a previous release if they don't like the new one (or if it is too big for their device for instance) with running into signature issues (F-Froid APKs have a different signature). 🙂


.okta.env file is actually a bash

Hello!
I'm not sure was intentional but okta apps create generates effectively sh-like file.
.env is key-value file format is very popular and has support pretty much in any language and docker
Expected behaviour
.env file is produced with format like:
KEY=VALUE

Current behaviour
.okta.env has format like:
export KEY=VALUE

Workarond
The generated file can be converted to .env by stipping export  bit with simple command:
sed -i 's/^export //' .okta.env

Okta CLI version: 0.7.1-1f9781e

The current way sets environment variables if you run source .okta.env. If you changed to just KEY=VALUE, you'd have to have something that reads this file and converts this to environment variables. This looks interesting for Java apps: https://github.com/cdimascio/java-dotenv.

Part of me feels we should emit okta.bat with set instead of export for Windows. Particularly for Windows + Java users.
On the .NET side, it seems our .NET blog posts don't use environment variables. Instead, they rely on values in files. Maybe .NET is just not as sophisticated as Java. 😜

💯
I wish something like dotenv would be standard across all frameworks/libraries/langs

Here's another dotenv library that might work for Spring Boot. https://github.com/paulschwarz/spring-dotenv

I'm just not sure we could/should make that a requirement to use the cli.

Agreed. Could be something to try in a future post though.


GROOVY-9592: Replace "groovy.generate.stub.in.memory" with "groovy.me…

…m.stub"

Do you need a system property any more?  For each option that is available to be set on compiler config, why does each also require a system property?

As a normal groovy user, we run/compile Groovy code via command line, so the JVM option is still necessary for us.

Necessary is probably a bit strong.  Why does the system property name need to be changed?  If not removing, why change?

As you can find, most of groovy options are short, e.g. groovy.antlr4, groovy.target.indy, etc.
groovy.generate.stub.in.memory is too long to remember and hard to use, it's better to shorten it and make it friendly to users.


Local img2img doesn't take into consideration the input image

What should I do for generating img2img properly?

You may be using a too high denoising strength. Try 0.40 or somewhere below that. After 0.65+ completely different images increasingly appear.


Give the expecter more time on a e2e test to retrieve info

What this PR does / why we need it:
The Chassis test gives an Expect only one second to succeed. This is not
always enough. Give it a reasonable value of 10 seconds.
Fixes issues like
tests/vmi_configuration_test.go:2352
Expected success, but got an error:
    <expect.TimeoutError>:<PHONE_NUMBER>
    expect: timer expired after 1 seconds
tests/vmi_configuration_test.go:2376

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Here an example job: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/5082/pull-kubevirt-e2e-k8s-1.19/1372426865519628289
Release note:
NONE

/cc @dhiller
/cc @fgimenez

/retest


Can open file location support third-party file managers

Description of the feature, modification, idea or suggestion
I use online translation to communicate
like Total Commander or Directory Opus  etc...
They can take over the SHOpenFolderAndSelectItems
Here is the relevant documentation
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shopenfolderandselectitems
Finally, thank you for developing the software
Proposed implementation details (optional)
No response

open settings.xml
update FileBrowseExecutable

Example:

open settings.xml
update FileBrowseExecutable

Example:

Thank you very much
Just recently found the time to deal with this
I just downloaded the last beta portable version
and changed it in ProcessHacker.exe.settings.xml
The third-party file manager is now called normally
But I don't have the option to show advanced in the settings here

the option to show advanced

Options > General > select checkbox


Split a custom rake task into rubocop:autocorrect and rubocop:autocorrect_all

Follow up https://github.com/rubocop/rubocop/pull/10709#discussion_r905164287.
This PR splits deprecated rubocop:auto_correct custom rake task into rubocop:autocorrect and rubocop:autocorrect_all.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Highlight occurrences

It would be nice if all other occurrences of the word under point were highlighted, preferably without an annoying delay and in an unobtrusive, light color.

It looks like highlight-symbol might be good for this, except that there doesn't seem to be an option for not highlighting the current symbol (that is, the one that point is actually on). I've asked a question on Emacs Stack Exchange.

Other options are auto-highlight-symbol and idle-highlight-mode:

https://github.com/kmmbvnr/emacs-config/blob/master/elisp/auto-highlight-symbol.el
https://github.com/nonsequitur/idle-highlight-mode/blob/master/idle-highlight-mode.el

LSP does this, actually, but it rather annoys me.