GCS-Example initial commit

Create Container, PutBlob and Multipart Upload wtih Google Cloud Storage

Thanks for the pull request but it's release week in jclouds and that means it's time to clean up the PR queue. This PR will be over 6 months old as of April 1. If you intend to continue work on it, please make a comment by April 2. Otherwise it will be closed on April 3.

It would be great to have a working well documented GCS example.
@hsbhathiya I encourage you to follow up on this!


Excessive code space usage by LPAD instruction

I've just noticed that a month ago lpcll and lpcnl were replaced by lpad and the encoding changed to use hint space in auipc instead of space in system.
Issue https://github.com/riscv/riscv-cfi/issues/113
I don't object to using space from auipc but I do object to using ALL of it.
Reading the ISA manual I thought "wow, that's a lot of HINT space available". It's something close to 2.9 million code points. And most hint instructions are using a single code point each. The Non-Temporal Locality extension really splurges and uses 3 code points in the 32 bit space plus 3 code points in the C extension space.
The newly-proposed lpad instruction with 2^20 = 1,048,576 code points uses more than 36% of the entire HINT opcode space.
Is it really worth it?
The previous lpcll and lpcnl instructions used 1024 code points each. That seems entirely reasonable.
I understand that longer labels provide better security, and some people are willing to pay for better security.
Under the previous scheme, people who want to use 20 bit labels pay for it by using two instructions instead of one instruction at the landing pad. People who are happy with a 10 bit label or simply "yes, this is a landing pad" 0 bit label only use one instruction at the landing pad.
That seems reasonable to me.
High end implementations could fuse the lpcll and lpcnl instructions.
Under the new scheme, everyone pays the cost of 36% of the hint encoding space being gone forever, for a single instruction, whether they want CFI or not.
Using 0.07% of the hint encoding space for lpcll and lpcnl seems entirely reasonable.
Maybe an intermediate position would be tolerable, using 4.5% of the hint space by using half of one of the 2^17 code points hint spaces for each of lpcll and lpcnl with a 16 bit label. That is addi (minus 1 code point used for NOP), andi, ori, xori, slti or sltiu with rd=x0.
Using 36% of the hint space just doesn't seem justifiable to me. Has that been approved by the opcode space allocation people?

Use of 10-bit or even 16-bit labels does not provide enough label space for security. The typical label allocation scheme is to hash the prototype of the function. A typical program will need at least a 20-bit label space to meet goal of less than or equal to 10% hash collisions. Due to this for security the lpcll and lpcnl would be encoded together to provide a 20-bit label space. Considering this, the change to using AUIPC x0 was suggested by the ARC and approved by the opcode space allocation people [https://lists.riscv.org/g/tech-unprivileged/message/506]. The definition is that when Zicfilp is active, the auipc with rd=x0 is a lpad and otherwise it reverts to being a no-op - for implementations that do not need CFI.

Use of 10-bit or even 16-bit labels does not provide enough label space for security.

That seems like a subjective value judgement.
The design clearly anticipates that some users will regard a simple wildcard "this is a landing pad" as being adequate, the same as e.g. ENDBR64 on x86 or HINT #34 on Aarch64, which as I understand it each use a single 32 bit code point.
A 10 bit label might not be perfect, but it seems like it's already 1024 times better than no label.
The proposal as it was prior to June 16 enabled those who want/need it to use 20 bit labels at the cost of one extra (fusable) instruction.

the change to using AUIPC x0 was suggested by the ARC and approved by the opcode space allocation people

I'm surprised, tbh.

You can still create any hash size you want with even one code point by adding extra checkpoint afterward..
e.g., with CET: https://arxiv.org/ftp/arxiv/papers/2303/2303.16353.pdf

The Zicfilp extension avoids added code growth and to makes it low performance overhead even for simpler implementations. Doing explicit label checks in software leads to additional undesirable code growth and for simpler in-order implementations that code execution would lead to additional performance overheads. The landing pad by embedding the label minimizes the code growth, avoids a branch that needs to be predicted and minimizes the performance overhead even for simpler implementations that may not have out of order execution, macro-fusion.
With this lpad encoding there are still 1.5 million hint encodings reserved for standard use and 256K encodings available for custom use. The use of HINT  space is constrained - as you would note by the introduction of the Zimop/Zcmop. The architecture has currently a handful (5) hints.
For ABI purposes we would want the label to be generated using a hash of the mangled name . This would allow us to be compatible with the RISC-V psABI and be able to link binaries.  Generating random labels would break such ABI compatibility. To determine the number of unique prototypes in a program one  can  use the following command: find . -name ".c" | xargs -I{} clang -Xclang -ast-dump -fsyntax-only {} 2>&1 | grep FunctionDecl | grep -o "'.*'" | tr -d ' | tee -a fn_list.txt. This list can be put through sort and then uniq. The number of unique prototypes that can be found in larger bodies of  code - linux (181197), FFmpeg (14373), openssl (11269), freebsd(87664).


EV3: Set variable block with missing arguments throws a server error

Describe the bug

When a variable is created and the 'set' block for that variable is used without an input, the user receives a server error.

To Reproduce
Steps to reproduce the behavior:

Create a new nepo program.
Create a new variable.
Use the 'set' variable block without an input.
Open the simulation
See error

Expected behavior

Opening the simulation should not produce an error.

Screenshots

Device information

Type: Desktop
OS: MacOS
Browser: Chrome

Additional context

The error is also seen in other Calliope, NXT and Micro:bit.

Will probably be solved by #306.

Server error for now is resolved by a GCI student.


WordPress: Fix bug with complaints about config.php not set up, fixes #1736, fixes #1928

The Problem/Issue/Bug:
#1736 (ddev pull fails on Wordpress site) is just one description of the problem here. It seems to affect almost all current WordPress-type sites.
An existing user-managed wp-config.php file has been detected!
Project ddev settings have been written to:

/Users/rfay/workspace/ddevwptest/wp-config-ddev.php

Please comment out any database connection settings in your wp-config.php and
add the following snippet to your wp-config.php, near the bottom of the file
and before the include of wp-settings.php:

// Include for ddev-managed settings in wp-config-ddev.php.
$ddev_settings = dirname(__FILE__) . '/wp-config-ddev.php';
if (is_readable($ddev_settings) && !defined('DB_USER')) {
  require_once($ddev_settings);

There are a number of open issues for WordPress, and this problem is at the root of most.
How this PR Solves The Problem:

Not finding the include in wp-config.php is no longer an error, just a warning.
The warning can be quieted by just adding a comment in wp-config.php, as explained by the warning.
The docs switch to roots/bedrock as the demonstration WordPress Quickstart.

Manual Testing Instructions:

Current artifacts for testing at https://circleci.com/gh/drud/ddev/19890#artifacts/containers/0
New WP quickstart instructions are at https://github.com/drud/ddev/blob/cd8371fdbdd5f568fea92751fb785a0e62124d63/docs/users/cli-usage.md - please review them and use them.
Use ddev config and ddev start on your WP or fresh WP build.
Review usage in light of #1736 and #1928, and it should work on Bedrock

Automated Testing Overview:

No changes at this point.

Related Issue Link(s):
#1736 (ddev pull failing on Pantheon sites) was a result of the error thrown if nothing found in wp-config.php. It's now just a warning.
#1928 was about Bedrock not working. For the same reason it works now.
Release/Deployment notes:

This simple change may be all we can get right now, although it may be worth documenting how each of the distributions work. Needs to be tested with:

[ ] Standard WP 5 download
[ ] Bedrock
[ ] WP Skeleton
[ ] ClassicPress

This works for me, I think the instructions are just missing a further change needed in bedrock's .env file:
WP_HOME=https://my-wp-bedrock-site.ddev.site

Thanks so much for your review, added WP_HOME instruction in https://github.com/drud/ddev/pull/1952


Fixes issue #140 (color at aliases installation)

Please read https://github.com/kennethreitz/legit/issues/140

It looks like #140 has been solved by another fix?


May 5, WW

Event Information

Category
Details

Stream Date
May 5, 2021

Stream Time
3:00 PM

Title
TBD

Description
TBD

Speaker
---------

SharePoint ID
13002

SharePoint Status
Planning

Additional Resources:

Event Checklist
10 Weeks Prior

[ ] Title & Description Finalized
[ ] Tracking Links/Short links
[ ] Published
[ ] Calendar Invite

Moved this to DevOps - closing this


Is there a way to add more color schemes

Is your feature request related to a problem? Please describe.
I'd like the user to choose from a list of themes rather than light and dark
Describe the solution you'd like
Something like a dropdown for themes

This is not a planned feature (and probably outside the scope of Quartz) but you can add this yourself by writing your own plugins and components.


IGNITE-13244 Handling all partition owners have left the grid before send GridNearTxFinishResponse

Transactions is treated as failed if all partition owners have left the grid

This PR is associated with a resolved ticket. Closing the PR, please reopen it if you still need it.


cell_execution_timeout_seconds

I have a notebook that can take a really long time, because it has to download several GB of data.
It's for a reproducible research project, available at https://github.com/habi/zmk-tooth-cohort
I'd like to run your GitHub action with https://github.com/habi/zmk-tooth-cohort/actions/runs/320495779/workflow but it complains about too long execution time.
I thus added cell_execution_timeout_seconds: "2000" to the treebeard YAML file.
But now the workflow complains about a warning, e.g.
Warning: Unexpected input(s) 'cell_execution_timeout_seconds', valid inputs are ['api-key', 'notebooks', 'docker-username', 'docker-password', 'docker-image-name', 'docker-registry-prefix', 'use-docker', 'debug', 'path', 'usage-logging']
2

How can I let Treebeard wait for the execution for a long time?

This is a configuration option you need in a file named treebeard.yaml, located at the root of your repo. Like this

Thanks for the pointer, that was not clear for me.


Heretic: Shadow of The Serpent Riders modern port: Crispy Heretic

Project Link
https://github.com/fabiangreffrath/crispy-doom
Project License
GPLv2
Steam App Ids
https://steamdb.info/app/2390/
Additional Context
This engine is vanilla-compatible, and therefore is compatible with Steam Cloud for saves. It's also multiplayer-compatible with Chocolate Heretic. It features enhancements like higher resolution, permanent mouselook, and totals in the in-game map for completionists.

@hfc2x Thanks for the request. I've finished this in https://github.com/luxtorpeda-dev/packages/commit/27aca86dcabbb2facc7f1d0cc63da3aa18b2a701
The next time you launch the game(s), it should show as an option. Let me know if you run into any issues.

I launched the game, but there's no music, even though it's configured (using FluidSynth). It seems the game is not detecting that FluidSynth is installed, and it's ignoring it, but only when launching through Steam.

@hfc2x Strange, I can hear the music just fine, both in the menu and in-game.
Did you change any settings in the setup? If so, can you try a fresh start and see if you can hear the music?

Yes, I've been playing this game for years, so I know how to configure it. I'll explain how I have it set up:
I've set up the Steam launch options with the following arguments:
-config ./crispy-doom/heretic.cfg -extraconfig ./crispy-doom/crispy-heretic.cfg -savedir ./base/savegames
Screenshot:

-config ./crispy-doom/heretic.cfg
What this does is load the local configuration file for the source port from the "crispy-doom" folder, which is located inside the "Heretic Shadow of the Serpent Riders" folder. The relative path is set like that, because Steam takes the latter as the base folder for launching the game, so every parameter is relative to this folder. If the -config parameter is not specified, it will try looking for the configuration file located at /home/[user]/.local/share/crispy-doom/ instead. -config applies only to the configuration file expected by Heretic as a game, while -extraconfig is for the configuration that pertains to settings that are exclusive to the Crispy Doom/Heretic source port.
-savedir ./base/savegames
This parameter specifies the directory where the Steam saves for this game are. If this is not specified, the program will use the folder /home/[user]/.local/share/crispy-doom/savegames/heretic.wad instead. Same logic regarding relative paths as above applies.
Here are my configuration files, which are the ones I specified above (changed the extension from *.cfg to *.txt):
heretic.txt
crispy-heretic.txt
When running Steam from the terminal, it outputs the following:
19:39:33 [INFO] setup_logging success
19:39:33 [INFO] turning virtual gamepad off
19:39:33 [INFO] update_packages_json. found hash: 44b562368cddf1282d965036d729f446e6a16a66
19:39:33 [INFO] update_packages_json. found hash and remote hash: 44b562368cddf1282d965036d729f446e6a16a66 44b562368cddf1282d965036d729f446e6a16a66
19:39:33 [INFO] luxtorpeda version: 56.0.0
19:39:33 [INFO] steam_app_id: "2390"
19:39:33 [INFO] original command: ["/home/redacted/Press F/Steam/steamapps/common/Heretic Shadow of the Serpent Riders/base/dosbox.exe", "base\\heretic.exe", "-conf", "base\\heretic.conf", "-fullscreen", "-exit", "-config", "./crispy-doom/heretic.cfg", "-extraconfig", "./crispy-doom/crispy-heretic.cfg", "-savedir", "./base/savegames"]
19:39:33 [INFO] working dir: Ok("/home/redacted/Press F/Steam/steamapps/common/Heretic Shadow of the Serpent Riders")
19:39:33 [INFO] tool dir: "/home/redacted/.local/share/Steam/compatibilitytools.d/luxtorpeda-dev"
19:39:33 [INFO] user_packages_file not found
19:39:33 [INFO] user_packages_file not found
19:39:33 [INFO] showing engine choices
19:39:33 [INFO] show choice. found default choice.
19:39:33 [INFO] show choice. found default choice. choice is "Crispy Doom"
19:39:33 [INFO] LUX_DISABLE_DEFAULT_CONFIRM not found: environment variable not found
19:39:33 [INFO] window is on display_index: 0 on_steam_deck: false steam_deck_gaming_mode: false
19:39:33 [INFO] found dpi: (141.67935, 141.76744, 141.40207) using dpi: 141.76744
19:39:33 [INFO] using scaled_width: 705 scaled_height: 211
19:39:33 [INFO] using dpi scaling of 1.8459301
19:39:34 [INFO] 0 joysticks available
found dpi: (141.67935, 141.76744, 141.40207)
using dpi_value: 141.76744
19:39:38 [INFO] engine choice complete
19:39:38 [INFO] crispy-doom-common-1.tar.xz found in cache (skip)
19:39:38 [INFO] engine choice complete
19:39:38 [INFO] json:
19:39:38 [INFO] {
    "game_name": "Heretic: Shadow of the Serpent Riders",
    "download": [
        {
            "name": "crispy-doom",
            "url": "https://github.com/luxtorpeda-dev/packages/releases/download/crispy-doom-1/",
            "file": "crispy-doom-common-1.tar.xz",
            "cache_by_name": true
        }
    ],
    "cloudAvailable": true,
    "command": "./crispy-doom/run-crispy-heretic.sh",
    "command_args": [
        "-iwad",
        "../base/HERETIC.WAD"
    ],
    "download_config": {
        "crispy-doom": {
            "extract_location": "./crispy-doom"
        }
    }
}
19:39:38 [INFO] installing: crispy-doom-common-1
19:39:38 [INFO] install changing extract location with config ./crispy-doom
19:39:38 [INFO] install: "./crispy-doom/crispy-heretic"
19:39:38 [INFO] install: "./crispy-doom/crispy-hexen-setup"
19:39:38 [INFO] install: "./crispy-doom/lib"
19:39:38 [INFO] install: "./crispy-doom/lib/libfluidsynth.so"
19:39:38 [INFO] install: "./crispy-doom/lib/libfluidsynth.so.3"
19:39:38 [INFO] install: "./crispy-doom/lib/libfluidsynth.so.3.0.5"
19:39:38 [INFO] install: "./crispy-doom/crispy-doom-setup"
19:39:38 [INFO] install: "./crispy-doom/run-crispy-hexen.sh"
19:39:38 [INFO] install: "./crispy-doom/crispy-server"
19:39:38 [INFO] install: "./crispy-doom/crispy-heretic-setup"
19:39:38 [INFO] install: "./crispy-doom/run-crispy-heretic-setup.sh"
19:39:38 [INFO] install: "./crispy-doom/crispy-hexen"
19:39:38 [INFO] install: "./crispy-doom/license"
19:39:38 [INFO] install: "./crispy-doom/license/fluidsynth.LICENSE"
19:39:38 [INFO] install: "./crispy-doom/license/LICENSE.crispy-doom"
19:39:38 [INFO] install: "./crispy-doom/run-crispy-hexen-setup.sh"
19:39:38 [INFO] install: "./crispy-doom/crispy-doom"
19:39:38 [INFO] install: "./crispy-doom/run-crispy-heretic.sh"
19:39:38 [INFO] run: "./crispy-doom/run-crispy-heretic.sh" with args: ["-iwad", "../base/HERETIC.WAD"] ["base\\heretic.exe", "-conf", "base\\heretic.conf", "-fullscreen", "-exit", "-config", "./crispy-doom/heretic.cfg", "-extraconfig", "./crispy-doom/crispy-heretic.cfg", "-savedir", "./base/savegames"]
pid 1917296 != 1917295, skipping destruction (fork without exec?)
                          Crispy Doom 5.12.0
V_Init: allocate screens.
Using /home/redacted/.local/share/crispy-doom/ for configuration and saves
M_LoadDefaults: Load system defaults.
        default file: ./crispy-doom/heretic.cfg
saving config in ./crispy-doom/heretic.cfg
        extra configuration file: ./crispy-doom/crispy-heretic.cfg
Z_Init: Init zone memory allocation daemon.
zone memory: 0x7feaa7dfe010, 32 MiB allocated for zone
W_Init: Init WADfiles.
  adding /home/redacted/Press F/Steam/steamapps/common/Heretic Shadow of the Serpent Riders/crispy-doom/../base/HERETIC.WAD
Save directory changed to ./base/savegames/.
===========================================================================
                 Heretic: Shadow of the Serpent Riders
===========================================================================
 Crispy Doom is free software, covered by the GNU General Public
 License.  There is NO warranty; not even for MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. You are welcome to change and distribute
 copies under certain conditions. See the source for more information.
===========================================================================
I_SDL_InitMusic: FluidSynth unavailable.
I_InitSound: SDL audio driver is pulseaudio
NET_Init: Init network subsystem.
MN_Init: Init menu system.
Installing breakpad exception handler for appid(gameoverlayui)/version(20220820011708)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
R_Init: Init Heretic refresh daemon..........
P_Init: Init Playloop state.
I_Init: Setting up machine state.
S_Init: Setting up sound.
I_SDL_PrecacheSounds: Precaching all sound effects..........................
D_CheckNetGame: Checking network game status.
SB_Init: Loading patches.
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
CAPIJobRequestUserStats - Server response failed 2
Error loading midi: Couldn't open timidity.cfg
19:39:48 [INFO] run returned with exit status: 0
Game process removed: AppID 2390 "/home/redacted/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=2390 -- '/home/redacted/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/redacted/.local/share/Steam/compatibilitytools.d/luxtorpeda-dev'/luxtorpeda.sh waitforexitandrun  '/home/redacted/Press F/Steam/steamapps/common/Heretic Shadow of the Serpent Riders/base/dosbox.exe' base\\heretic.exe -conf base\\heretic.conf -fullscreen -exit -config ./crispy-doom/heretic.cfg -extraconfig ./crispy-doom/crispy-heretic.cfg -savedir ./base/savegames", ProcID 1917298
ThreadGetProcessExitCode: no such process 1917298
ThreadGetProcessExitCode: no such process 1917297
ThreadGetProcessExitCode: no such process 1917295
ThreadGetProcessExitCode: no such process 1917271
ThreadGetProcessExitCode: no such process 1917158
ThreadGetProcessExitCode: no such process 1917157
Uploaded AppInterfaceStats to Steam

Notice how it reports I_SDL_InitMusic: FluidSynth unavailable., which does not happen when I launch the same executable with the same parameters as I listed before, and loading the exact same config files listed, presumably because the executable detects FluidSynth is installed in my system. It also atttempts to load Timidity as fallback, but fails (Error loading midi: Couldn't open timidity.cfg).

@hfc2x That is what I was referring to when I mentioned configuration differences, because I was using the base game configuration with no changes, so I needed to know if you had anything different.
It looks like the issue was that fluidsynth is not the default in use and I hadn't tested that originally. The problem was that the built sdl2 mixer that is provided as part of the steam runtime did not know that the fluidsynth libraries were there. I've made changes (https://github.com/luxtorpeda-dev/packages/pull/744) that create a build with sdl2 mixer included and that looks to fix the issue.
Thanks for the report and let me know if that fixes it for you.

This did fix the music, however, it introduced a freeze and crash as soon as any level is loaded, be it from the new game menu, loading a saved game, or letting the internal demo play. Terminal output for this:
(snipped for brevity)

===========================================================================
                 Heretic: Shadow of the Serpent Riders
===========================================================================
 Crispy Doom is free software, covered by the GNU General Public
 License.  There is NO warranty; not even for MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. You are welcome to change and distribute
 copies under certain conditions. See the source for more information.
===========================================================================
I_SDL_InitMusic: Using FluidSynth.
I_InitSound: SDL audio driver is pulseaudio
NET_Init: Init network subsystem.
MN_Init: Init menu system.
Installing breakpad exception handler for appid(gameoverlayui)/version(20220820011708)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
R_Init: Init Heretic refresh daemon..........
P_Init: Init Playloop state.
I_Init: Setting up machine state.
S_Init: Setting up sound.
I_SDL_PrecacheSounds: Precaching all sound effects..........................
D_CheckNetGame: Checking network game status.
SB_Init: Loading patches.
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
./crispy-doom/run-crispy-heretic.sh: line 6: 1920461 Killed                  "$DIR/crispy-heretic" "$@"
00:06:49 [INFO] run returned with exit status: 137
Game process removed: AppID 2390 "/home/redacted/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=2390 -- '/home/redacted/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/redacted/.local/share/Steam/compatibilitytools.d/luxtorpeda-dev'/luxtorpeda.sh waitforexitandrun  '/home/redacted/Press F/Steam/steamapps/common/Heretic Shadow of the Serpent Riders/base/dosbox.exe' base\\heretic.exe -conf base\\heretic.conf -fullscreen -exit -config ./crispy-doom/heretic.cfg -extraconfig ./crispy-doom/crispy-heretic.cfg -savedir ./base/savegames", ProcID 1920461
ThreadGetProcessExitCode: no such process 1920461
ThreadGetProcessExitCode: no such process 1920460
ThreadGetProcessExitCode: no such process 1920458
ThreadGetProcessExitCode: no such process 1920439
ThreadGetProcessExitCode: no such process 1920329
ThreadGetProcessExitCode: no such process 1920328
Uploaded AppInterfaceStats to Steam

@hfc2x Ah sorry about that. It looks like the sdl2 mixer version that I was using had a bug in it. Updating to the latest version looks to have fixed it. Let me know how that does and  if you run into anything else.

Okay, it's working perfectly now. The only issue that I'm seeing is that Inter Heretic and Crispy Heretic are trying to use each other's configuration files when launched with the default options. This makes sense, considering Inter [Doom] is a fork of Crispy [Doom].
Could it be possible to keep in the launch script for Crispy Heretic/Hexen the -config and -extraconfig parameters to point to the respective *.cfg files their own working directories? I imagine it would also be useful for most players to have the -savedir parameter pointing to their Steam saves folder, but if they don't want this, they could just change them in the Steam launch options.
International Doom only uses the -config parameter to point to a specific inter-[game].ini file. In theory, it shouldn't even try to load a *.cfg file, but it's actually doing it, so it's probably a bug that I need to report on the corresponding repositories. Adding the parameter to the launch script to point to inter-[game].ini would at least be a workaround. I don't think -savedir is necessary in this case, since the save format is incompatible with the DOS engine.

@hfc2x Great! I've added the changes to set a local config path for both crispy and inter doom. Let me know if you run into any issues.

Sorry for not responding.
It's working perfectly now, no conflicts. I was thinking of to trying and submitting a pull request for all these Doom engine games to set the default save directories to their Steam save directory, at least for the "Chocolate" and "Crispy" ports because of compatibility.

@hfc2x Sure, a pull request would be welcome :)


undefined symbol: ANativeActivity_onCreate

Can someone help me, i'm trying to make my project run on android for several days now. Trying this and that, but i don't get it working.
I'm able to build my apk for 3 android targets, but when trying to run the apk on my emulator (x86), i always get following error in logcat:

java.lang.UnsatisfiedLinkError: Unable to load native library "/data/app/rust.morph_it-yGX1RVocUqIQEKTw8rXDQw==/lib/x86/libmorph_it.so": undefined symbol: ANativeActivity_onCreate

My cargo.toml contains these dependencies:
ndk = "0.1.0"
ndk-glue = "0.1.0"

and my lib.rs has following functions:
#[cfg(target_os = "android")]
ndk_glue::ndk_glue!(main);

use ndk_glue::Event;

pub fn main() {
    if let Some(event) = ndk_glue::poll_events() {
        match event {
            Event::Start => {
                println!("started");
            },
            _ => {
                println!("other");
            }
        }
    }
}

Am i missing anything? Do i use a wrong android version? Do i have to add some other libs?
Thanks for your help!

got it, sorry...

@Kaiser1989 Would you mind to post the solution regardless, for posterity? A popular XKCD pops up: https://xkcd.com/979/

It was probably a setup problem with my toolchains.
Installing cargo apk by just running install cargo apk did not work on my windows host machine. I got several errors where ndk batch files could not be found. After fixing them, i got the message above. It compiled correctly but there was no entry point for android to load the ndk functions.
Solution:
Remove everything with ndk from dependencies, like old android_glue.
use this dependency:
[target.'cfg(target_os = "android")'.dependencies]
ndk-glue = { git = "https://github.com/rust-windowing/android-ndk-rs" }

INFO: "0.1.0" did not work, there were same changes and there is no docu
Install cargo apk with:
cargo install --git https://github.com/rust-windowing/android-ndk-rs cargo-apk
And in my lib, i just use:
#[cfg(target_os = "android")]
#[cfg_attr(target_os = "android", ndk_glue::main(backtrace))]
pub fn main() {
 ...
}


As tester, I want to test the aliases

fix in 67f0472d297e6f2d6ca4004a65e63ba524c56393

error in pipeline
bash: cannot set terminal process group (1): Inappropriate ioctl for device

fix in 88445bdd36993fd478d9791086c56a6464dfbab0


Add support for event handlers?

Would it be beneficial to add support for on fetch (or state change) event handlers since useEffect can be delayed or not run at all?
Example,
const info = useQuery('todos', fetchTodoList, { onError: (error) => showToast(error) });

const [mutate, { data, isLoading, error }] = useMutation(login, { onSuccess: (data) => reduxDispatch({type: 'LOAD_PROFILE', data: data }) });

On the last example, we can probably handle this in the event that made the call to mutate:
const data = await mutate({ title })
reduxDispatch({type: 'LOAD_PROFILE', payload: data });

The onError and related useQuery event handlers should be pretty easy to do. The mutate handler, I agree that it's simple enough just to rely on the promise of the mutate function. I think it's better control flow there tbh.

🎉 useQuery.onSuccess/onError added in version 0.3.2


[tool_crash] FormatException: No ':' on line (at offset 12)

Command
flutter run -v

Steps to Reproduce

...
...
...

Logs
FormatException: FormatException: No ':' on line (at offset 12)
#0      parse (package:package_config/packages_file.dart:64:7)
#1      _parse (package:flutter_tools/src/dart/package_map.dart:17:10)
#2      PackageMap.load (package:flutter_tools/src/dart/package_map.dart:49:14)
#3      PackageMap.map (package:flutter_tools/src/dart/package_map.dart:53:5)
#4      new PackageUriMapper (package:flutter_tools/src/compile.dart:199:116)
#5      DefaultResidentCompiler._recompile (package:flutter_tools/src/compile.dart:647:26)
#6      _RecompileRequest._run (package:flutter_tools/src/compile.dart:408:16)
#7      _CompilationRequest.run (package:flutter_tools/src/compile.dart:388:30)
#8      DefaultResidentCompiler._handleCompilationRequest (package:flutter_tools/src/compile.dart:693:23)
#9      _rootRunUnary (dart:async/zone.dart:1192:38)
#10     _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#11     _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
#12     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#13     _DelayedData.perform (dart:async/stream_impl.dart:594:14)
#14     _StreamImplEvents.handleNext (dart:async/stream_impl.dart:710:11)
#15     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:670:7)
#16     _rootRun (dart:async/zone.dart:1180:38)
#17     _CustomZone.run (dart:async/zone.dart:1077:19)
#18     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#19     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)

[✓] Flutter (Channel unknown, v1.17.2, on Microsoft Windows [VersiÃ³n 10.0.18363.900], locale es-CO)
    • Flutter version 1.17.2 at D:\Flutter\flutter
    • Framework revision 5f21edf8b6 (5 weeks ago), 2020-05-28 12:44:12 -0700
    • Engine revision b851c71829
    • Dart version 2.8.3

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\DELL\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[✓] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[✓] VS Code (version 1.46.1)
    • VS Code at C:\Users\DELL\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.12.1

[✓] Connected device (1 available)
    • motorola one macro • ZY226ZBBT5 • android-arm64 • Android 9 (API 28)

• No issues found!

Flutter Application Metadata
Type: null
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: null
Creation framework version: null

Hi @juandf
I see there's an open issue addressing the case you described.
Please follow up on that issue, I'm closing the current one as duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank you


CB-10369: Added getVideo() feature with thumbnail creation (readded)

I've implemented the getVideo function for cordova-plugin-camera which gives the user the ability to record a video with default camera app.
You can create a sample cordova app and copy the www files from samples/android/www_getVideo and run an interactive test of this feature with all the options, as follows:

     `quality`: points to `Camera.VideoQuality`,

     `sourceType`: points to `Camera.VideoSourceType`,

     `encodingType`: points to `Camera.VideoEncodingType`,

     `mediaType`: points to `Camera.MediaType`,

     `mediaThumbnail`: points to `Camera.MediaThumbnail`,

     `mediaDurationLimit`: numeric value, 0 = disabled

     `mediaSizeLimit`: numeric value, 0 = disabled

... where:
VideoEncodingType:{
    /** Return 3GP encoded video */
    GPP: 2,
    /** Return MP4 encoded video */
    MP4: 3,
    /** Return WEBM encoded video */
    WEBM: 4,
    /** Return MKV encoded video */
    MKV: 5
  },

MediaThumbnail:{
    /** Media thumbnail disabled */
    NONE: 0,
    /** Creates a thumbnail of 512x384 px */
    MINI_KIND: 1,
    /** Creates a thumbnail of 96x96 px */
    MICRO_KIND: 2
 },

VideoSourceType:{
    /** Choose video from video library */
    VIDEOLIBRARY : 0,
    /** Take video from camera */
    CAMERA : 1
  },

VideoQuality:{
    /**  Low quality, suitable for MMS messages */
    LOW : 0,
    /** High quality */
    HIGH: 1
  },

I always thought that this plugin would launch the camera app in recording mode if sourceType set to CAMERA and mediaType set to VIDEO, but when I needed this I found that it's not implemented, so I made it myself.
I'm just a web dev, not a software developer, but I managed to get it done; this is my first contribution to a cordova plugin with native code, so there might be things that are not written well or missing checks. I'm open to suggestions and contributions for this.
Android only for the moment. If there's someone that can port this to iOS would be much appreciated, but in the meantime, I'll try my luck with that too.
Tested with two real devices: Sony Xperia Z3 Compact (5.1.1) and Sony Xperia Sola (unofficial 4.4.4)
Here are two screenshots with the interactive sample:

This is a new feature, and it technically doesn't belong in the Camera, which is designed to only take photos.

@infil00p see comments on https://issues.apache.org/jira/browse/CB-10369, I commented that in the 2015 plugin audit there were recommendations to deprecate the media-capture plugin and use camera instead for the video, so this PR might be a good starting point. But maybe it should be discussed again on the mail list

Hey @tbutcaru , there seems to be a merge conflict now. Could you maybe fix this? Thanks.


Deploy to to Kubernetes by using the Aspirate tool

Summary
A new document that covers deployment to a Kubernetes cluster by using the Aspirate tool

Internal previews

📄 File
🔗 Preview link

docs/deployment/k8s-deployment.md
Deploy .NET Aspire apps to a Kubernetes cluster

This is great @alistairmatthews - One more thing, we need a TOC entry for this.

This is great @alistairmatthews - One more thing, we need a TOC entry for this.

@IEvangelist - I think I've done that. You might like to check my TOC entry to make sure I've got it right. Thanks!

I think @prom3theu5 should review this. Also there are still changes being made so maybe we need to keep iterating on this??

Great to see docs for this!

Awesome - thanks 😄
Will track the link and as and when changes are implemented update accordingly


4stems model not doing anything?

Description
I'm having a great time playing with Spleeter, and things are working great with the 2stems and 5stems models, but the couple tries I've had with the 4stems model results in four files with identical contents.
Step to reproduce
Example usage I've tried:

Installed using conda env create -f spleeter/conda/spleeter-cpu.yaml
Run as spleeter separate -p spleeter:2stems -i ~/Downloads/12\ -\ Step\ into\ a\ World\ \(Rapture\'s\ Delight\).mp3 -o krs2
Works as expected there. However,
Run as spleeter separate -p spleeter:4stems -i ~/Downloads/12\ -\ Step\ into\ a\ World\ \(Rapture\'s\ Delight\).mp3 -o krs4
Got no error, just four identical files.

Output
# 2stems output
# This works as expected:
> diff krs2/12\ -\ Step\ into\ a\ World\ \(Rapture\'s\ Delight\)/{accompaniment,vocals}.wav
Binary files krs2/12 - Step into a World (Rapture's Delight)/accompaniment.wav and krs2/12 - Step into a World (Rapture's Delight)/vocals.wav differ

# 4stems output
# This yields no output:
> diff krs4/12\ -\ Step\ into\ a\ World\ \(Rapture\'s\ Delight\)/{drums,vocals}.wav

Full output of 4stems attempt:
> spleeter separate -p spleeter:4stems -i ~/Downloads/12\ -\ Step\ into\ a\ World\ \(Rapture\'s\ Delight\).mp3 -o krs4
INFO:tensorflow:Using config: {'_model_dir': 'pretrained_models/4stems', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': gpu_options {
  per_process_gpu_memory_fraction: 0.7
}
, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_service': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x146d5b4a8>, '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
INFO:tensorflow:Could not find trained model in model_dir: pretrained_models/4stems, running initialization to predict.
INFO:tensorflow:Calling model_fn.
WARNING:tensorflow:From /miniconda3/envs/spleeter-cpu/lib/python3.7/site-packages/spleeter/model/functions/unet.py:29: The name tf.keras.initializers.he_uniform is deprecated. Please use tf.compat.v1.keras.initializers.he_uniform instead.

INFO:tensorflow:Apply unet for vocals_spectrogram
INFO:tensorflow:Apply unet for drums_spectrogram
INFO:tensorflow:Apply unet for bass_spectrogram
INFO:tensorflow:Apply unet for other_spectrogram
INFO:tensorflow:Done calling model_fn.
WARNING:tensorflow:From /miniconda3/envs/spleeter-cpu/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:1354: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
WARNING:tensorflow:The dtype of the watched tensor must be floating (e.g. tf.float32), got tf.string
WARNING:tensorflow:The dtype of the watched tensor must be floating (e.g. tf.float32), got tf.int32
WARNING:tensorflow:The dtype of the watched tensor must be floating (e.g. tf.float32), got tf.string
INFO:tensorflow:Loading audio b"/Users/galer/Downloads/12 - Step into a World (Rapture's Delight).mp3" from 0.0 to 600.0
INFO:tensorflow:File krs4/12 - Step into a World (Rapture's Delight)/vocals.wav written
INFO:tensorflow:File krs4/12 - Step into a World (Rapture's Delight)/drums.wav written
INFO:tensorflow:File krs4/12 - Step into a World (Rapture's Delight)/bass.wav written
INFO:tensorflow:File krs4/12 - Step into a World (Rapture's Delight)/other.wav written

Environment
2019 Macbook Pro

OS
MacOS

Installation type
Conda

RAM available
several gigs

Hardware spec
CPU

Additional context
Great tool though, thanks!

Hi @rcgale thanks for the feedback. After a quick look it seems something is going wrong when downloading the 4-stems model. INFO:tensorflow:Could not find trained model in model_dir: pretrained_models/4stems, running initialization to predict.. The weights of the different models get initialized to the same values hence producing equal outputs. I'll investigate why the download fails.

The weights of the different models get initialized to the same values hence producing equal outputs.

Interesting! Out of curiosity, is there a rationale for this behavior? Or is this just a side effect of how it works?
Thinking through how I would want it to behave in my use cases, I would prefer moving anything right at the threshold to the "Accompaniment/Other" file.
As a hypothetical example, if there were a very annoying organ line in an otherwise incredible KRS-One song, I would want to have it isolated away to one track, and missing from all other tracks if possible. ;)
I haven't read up yet on how the model works though, so I understand that it might be unreasonably difficult.

Just faced a similar issue today, where the pretrained models of 2stems/4stems dont get downloaded correctly. so downloaded them manually and added a directory with the name of "pretrained_models" in the same directory that i issue the spleeter command from and it worked.
i guess it's a path issue somewhere in spleeter ( where spleeter expects the pretrained_models directory to be in the same location of the command execution ).
Not totally sure of the correct fix for this as i'm not a python/conda guru ( just integrating the tool in a nodejs  worker )
Awesome tool btw :)

The weights of the different models get initialized to the same values hence producing equal outputs.

Interesting! Out of curiosity, is there a rationale for this behavior? Or is this just a side effect of how it works?

Side effect.

Thinking through how I would want it to behave in my use cases, I would prefer moving anything right at the threshold to the "Accompaniment/Other" file, and nowhere else
As a hypothetical example, if there were a very annoying organ line in an otherwise incredible KRS-One song, I would want to have it isolated away to one track, and missing from all other tracks if possible. ;)
I haven't read up yet on how the model works though, so I understand that it might be unreasonably difficult.

You can totally train your model using appropriate dataset if you have one, please check the training section of the repository wiki and if you are facing some trouble during training or want to discuss about obtained results please open a dedicated issue :).


Type date error

When date is not valid field results as empt

The error happens when input type is date, and an invalid date is selected (example: 31/02). Because 31/02 is not a  valid date, no value is parsed to JS when .val() is called, resulting in no date validation. If field is set as required, the error message for required field is displayed. It would be better to display error for not not valid date instead.


Proposal: Have a clear explicit indication that the bot is running after click "start"

Suggestion
I click start on echo-bot and started the emulator but it fails.
It would have been useful to have some confidence that the bot is running by having a "running" indicator, maybe with the bot url displayed in the composer. First step in troubleshooting is to ensure the bot is running in this case so indicator would be useful.

(also, I think it is insufficient to have an implicit "if Emulator button is available, then it is running")

This is very timely since I'm working on the start bot today :)  Yes I will include this.

This will be addressed in the upcoming release


scroll up button

there is no scroll up button in any page, the scroll up button can improve user experience . Assign this task to me I am contributor at GSSOC'2023

Sorry, closing as not planned/ not required right now.. If case if you feel the issue should not be closed. Ping me or @anmode


Improve Travis-ci build and deploy steps

Added support for doxygen, simplified travis install procedure.

solves issue with doxygen not building, travis has /build/ in it's work path
drop the scripts in travis/, in favor of using additional env configuration in the .travis.yml itself
deploy the generated documentation to github-pages : on successful build of Debug on linux on master branch, Doxygen is called and generated doc is uploaded to gh-pages

Note that for the gh-pages deployment to work you need to define a
GITHUB_TOKEN in the settings of the travis, using the https://docs.travis-ci.com/user/deployment/pages/ "Repository Settings" approach

you can see the generated doc page on my fork : https://yanntm.github.io/cpp-sc2/
Also, as side benefit, anyone forking the project (and that defines the GH token) inherits the build of doc + gh-pages update, so maybe some text explaining this could be added to the part about editing the documentation in the main project Readme

sorry for 20 commits only changing 5 lines, I need to commit to trigger travis, the round-trip to debug is pretty long, and I spent some time before understanding the /build/ EXCLUDE issue.

sorry for 20 commits only changing 5 lines, I need to commit to trigger travis, the round-trip to debug is pretty long, and I spent some time before understanding the /build/ EXCLUDE issue.

Many commits is not a problem. Please, do interactive rebase, squash the commits and do force push. Also, please add a tag to the commit message (e.g. build:) in order to make the changelog collector pick your work.

Shouldn't we manually specify which branches should be affected (e.g. master and dev)? As we have a separate gh-pages branch which could trigger builds.

ok I'll do the changes "soon" (TM)

Shouldn't we manually specify which branches should be affected (e.g. master and dev)? As we have a separate gh-pages branch which could trigger builds.

currently we only deploy docs if the successful build was on the master branch, and only the linux/Debug config does the deploy
on:
    branch: master
    condition: $TRAVIS_OS_NAME = linux && $BUILD_CONFIGURATION = Debug

hi so I tried to implement the changes, I think the new variant for the build matrix is actually simpler. I also moved the definition of g++ -> g++-9 to a first line of script session, so it is less polluting to read the config.
If you like this version I'll squash the commits

just looking at stats +35 -180 lines for added functionality is pretty cool :D

Oo that's really nice! :)
Please, squash the commit and will go with this version.

sorry the interactive rebase/squash thing did not go so well :D I don't usually attempt to rewrite history.
So let's close this one and use the clean version I built in another fork : https://github.com/alkurbatov/cpp-sc2/pull/35

Ok, lets move there.


Provide an minimalistic example project for theming (change global font size)

Hi,
I finally got to build bootstrap 4.1 from the sources on my Win7 64bit PC.
Now I would like to build 3-5 different bootrap4.1 versions:

every one with a different global font size so user can select
the preferred font size (depending on their eyes and/or screens)
with a different navbar background (dark blue instead of black)

... thats all, but now I am stuck googeling around because I don not understand:
http://getbootstrap.com/docs/4.1/getting-started/theming/
Do I need to create a package.json somethere, do I need to learn gulp or whatever tool?
What do I need to type on the command line...?
Yes I am a newbie in bootstrap and not a super web designer, but the documentation
is quite good, all steps are well described howto compile it yourself.
But here (theming) I am really lost.
Can you provide an official miminal example, described step by step?
I the meanwhile I will go the "no-go way":

manipulate the official sources (change parameters for font size)
run : npm run dist
rename the files in dist  dir and move them outside
continue with step 1.

I you have a hint, it would be great. Thanks.

@stephanema I don't think this should be considered an issue. Feel free to post on StackOverflow, and I could share what I've done with over a dozen themes.

Hi I am just trying to hack around... I want the 14px font size like in bootstrap 3.x.
I changed in bootstrap-4.1.0\scss_variables.scss line 239:
$font-size-base:              1rem !default;
to
$font-size-base:              0.875rem !default;
But I get build errors.
If I set:
$font-size-base:              14px !default;
I get an error "Error: Incompatible units: 'rem' and 'px'."
puuuuhhh ... didn't immagine I would run in such problems for such a trivial change.
Is this a bug, or is only 1rem, 2rem, 3rem ... and so on allowed?

It's because the default unit for SASS calculations is in rem. You can always just set the default font size for the HTML tag:     html { font-size: 14px;}. That's what all rem values are relative to. And, per Bootstrap's documentation, $font-size-base should always use rem's. No bug.

This is beyond our help here—issues are for bug reports and feature requests only. Moreover, the point of Bootstrap using rem units over pixels is so users can scale their entire page with browser page zooming. There shouldn't be any need for your font-size changes.
Regarding theming in general, you have several options, all dependent on your entire application, site, build tools, dependency manager, etc. If you have that figured out, it sounds like you want to generate two different stylesheets. I'd suggest cloning the bootstrap.scss file and any associated files and make those changes as needed. You might be able to get away with duplicating just the _variables.scss file, but I'm not sure.

Hmm perhaps I was not clear.
I want to have the same "size" style as in bootstrap 3.3.x.
As I understood all sizes (fonts and all other things, like navbar height ...)
are calculated using $font-size-base as base.

I do not want to change the font size only, I do want to get the sizes as in bootstrap 3.3.x
back (bootstrap 4 wastes too much space on the screen).
By the way I want to propose my users to be able to switch the font size ... hmmm ok this
could be zoom, I didn't figure out howto do this just now.

One question remains:
If I set in bootstrap-4.1.0\scss_variables.scss line 239:

$font-size-base: 1rem !default; I can run npm run dist
$font-size-base: 2rem !default; I can run npm run dist
$font-size-base: 0.875rem !default; I run in an error with npm run dist

So why can I not set a fractional part for the rem unit like in 0.875rem
(this works in normal css).
Did I miss a point? Or is this behaviour a bug?


Changing default execution time

Is there a way to pass the 'execution time' via the API call or change the default value of execution time? thanks!

You can pass the 'execution time' as an argument in the POST request. Here an example in python.
import requests

myfile = {"file": yourfile}
args = {'exec_time': 300}
response = requests.post("http://localhost:4242/api/tasks/create/file",files=myfile,data=args)


feat: Support for Kubernetes

Hi,
This merge includes an upgrade to enable DVT to be orchestrated using Kubernetes jobs. See below
feat: Horizontal scaling row validations via Kubernetes - For how this can be used see here. For design details, please see here
Please review and set up time with me if you have any questions.
Thank you.
Sundar Mudupalli

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

@nehanene15 - pleaes take a look. I have updated the document(s).

Done. PTAL

/gcbrun


⚠ Bofrost.fr has degraded performance

In 56e65ea, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1541 ms

Resolved: Bofrost.fr performance has improved in 225a8b3 after 10 minutes.


Fix changelog links handling in product template

Invalid links were generated on pages without links and changelogTemplates (such as https://endoflife.date/ios).
Also added a check for blank links in validate.py.

Any product cycle that does not declare a link is impacted if the corresponding product does not declare a changelogTemplate. So you can check ios (https://endoflife.date/ios vs https://deploy-preview-2367--endoflife-date.netlify.app/ios), but also ipados, watchos...


Allow to change SPEEDTEST_SERVER on speedtest-exporter.

speedtest-exporter defaults to "Best server". I need to change the SPEEDTEST_SERVER to a specific server ID since the default just uses the ISP's own server, so no real internet traffic is measured.

You can see that the speedtest.net CLI is clearly hitting the same ISP test server on the same network. Not really testing Internet traffic.

You can do this in the docker-compose file for the internet-monitoring.
Check out this documentation of the underlying speedtest-exporter from MiguelNdeCarvalho.
You can find the documentation here: https://docs.miguelndecarvalho.pt/projects/speedtest-exporter/
So what you can do is just add an environment variable SPEEDTEST_SERVER in the section for speedtest in the file internet-monitoring / docker-compose.yml.

Thanks!

Great, thanks for your update.
When you re-run the playbook, you need to change the file that gets copied over. So basically the “source” file. You probably changed only the file in the actual working directory.
I guess the only problem now is that you’re dependent on just one speedtest server. So whenever you get a result of 0, you probably can’t be 100% sure if that’s due to your connection or the speedtest server experiencing downtime.

But the default option isn't even crossing the pond (no Internet traffic measured). The ISP is cheating without knowing it. Thanks!


Fix test get commit id failures

Due to an opam repository bug, some of our log files contained a non UTF-8 character. Our code to find git commit ID from log files was crashing due to this, which this PR fixes.

Thanks for the fix! LGTM.


Allow hooks for listening and responding to un-resolvable skills

When a skill cannot be resolved, it throws an error. This shouldn't always be the case. It should allow a subscriber to intercept the unresolved skill call and act on it with a response. The listener should also be able to respond with a message and direct botjs to continue onto the next skill resolution.

Implementation might look like this:
var skill = new Skill(undefined, skillFn);

Closed by #9


Fix change language also trigger submit Sign in validation form when magic codes are fullfilled

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/22037
PROPOSAL: https://github.com/Expensify/App/issues/22037#issuecomment-1616422655
Tests

Go to Sign in page
Enter any Expensify account
Fill-in incorrect magic codes
Verify that Sign in validation form is automatically submitted and the form show "Incorrect magic code"
Scroll to bottom, change to another language
Verify that Sign in validation form should not be auto submitted

[x] Verify that no errors appear in the JS console

Offline tests

PR changes not affected by network status
QA Steps

Same as Tests

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/9639873/d690a022-e2f8-4b1e-9050-974ea46baff9

Mobile Web - Chrome

https://github.com/Expensify/App/assets/9639873/b6946c25-5b94-4de1-9e4c-88252a43e84e

Mobile Web - Safari

https://github.com/Expensify/App/assets/9639873/6cf5c505-a1da-4fb6-8a4a-12871e9b4819

Desktop

https://github.com/Expensify/App/assets/9639873/ebf14767-7156-456f-819d-7b2c133e24d1

iOS

https://github.com/Expensify/App/assets/9639873/b562abf9-0787-4b00-bf3b-86fbd385a267

Android

https://github.com/Expensify/App/assets/9639873/7e24945e-6856-4c05-b6fe-14254b188f08

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/3069065/9ff34aa3-689a-4aa0-97e6-a3137d6ef826

Mobile Web - Chrome
https://github.com/Expensify/App/assets/3069065/c3ed8e99-192c-4e81-8ff6-3b38c0776982

Mobile Web - Safari
https://github.com/Expensify/App/assets/3069065/688b901b-5ca4-4847-92b7-1f0b9b2ecde8

Desktop
https://github.com/Expensify/App/assets/3069065/f70fe7d4-0476-41f7-867f-f725724efeb9

iOS
https://github.com/Expensify/App/assets/3069065/b30ca811-41d4-4a63-85db-72e94493395f

Android
https://github.com/Expensify/App/assets/3069065/1821539e-c16f-483b-a404-0264a2ff82a3

@mountiny All yours
🎀 👀 🎀 C+ reviewed

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.42-0 🚀

platform
result

🤖 android 🤖
cancelled 🔪

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
cancelled 🔪

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.42-26 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update font-everson-mono to version 7.0.0 from 6.2.1

Unfortunately version number is encoded in zipfile.

Thanks.


ensure past runs are cancelled

The GitHub organisation only has at most 60 concurrent runners. This change ensures that any outstanding actions from a previous run are cancelled. Without those cancellations, the 60 runners can quickly become oversubscribed
This change also limits the concurrency of the tests of operator-workflow.
I have deliberately pushed a new change before a previous run was finished to check that the cancellation works. Creating an automated test for that would be cumbersome so the proposal is not to do that in this case.

Putting this back to draft, there are some weird things going on with GitHub actions

I think what might be happening is that there is a past run that is pending due to some problems on GitHub at the time which can't be cancelled (an error occurs on attempting to cancel it) which is resulting in the actions not getting executed becauyse they have to cancel that run before being able to start a new one

Feel free to merge this if it gets another approval and no comment


Pci 4.13 - amends

This should fix

https://github.com/openshift/sriov-network-operator/pull/852

@zeeke wrong repo?

No, these commits are intended to be added to EmilienM:pci-4.13. You can cherry-pick them or merge this PR if you are okay with it.
TBH, this is the first time I have tried PR of PR. So, cherry-picking would be safer IMO

oh right, nicely done! works for me


Cross Tenant User Data Migration license

Hi,
would it be possible to add to the article some more details about the Cross-tenant User Data Migration license?
It is mentioned within the article, but here is no public information available about this license and where to buy it. We are CSP partner and are not able to find it anywhere or getting more details here.
Thanks!

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

ID: 3c59d15b-a5d1-400a-aa12-8d768817f8f6
Version Independent ID: 3c59d15b-a5d1-400a-aa12-8d768817f8f6
Content: Cross-tenant OneDrive migration - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/cross-tenant-onedrive-migration.md
Service: microsoft-365-enterprise
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

Hi @myfope -- contacting the product team about timing of this info.  Will get back to you shortly.   Joanne

I'm also actively looking for some clarity on this license add-on.

FYI: Details were already released: https://learn.microsoft.com/en-us/microsoft-365/enterprise/cross-tenant-onedrive-migration?view=o365-worldwide#licensing
License is only available for Enterprise Agreement (EA) customers. Talk to your EA representative to get the valid price for the license. Listprice is EUR 12.60/approx.. $12.60
From: David Berndtsson @.>
Sent: Thursday, November 10, 2022 10:55 AM
To: MicrosoftDocs/microsoft-365-docs @.>
Cc: Peter Forster @.>; Mention @.>
Subject: Re: [MicrosoftDocs/microsoft-365-docs] Cross Tenant User Data Migration license (Issue #10084)
I'm also actively looking for some clarity on this license add-on.

Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-docs%2Fissues%2F10084%23issuecomment-1310032550&data=05|01|peter%40fope.at|e80cd2a5e24449694a5d08dac3019c37|4b5409279ccb4b8cbc883fb294fbee0f|0|0|638036708933566075|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=WiHCD1AG6%2FaFCHB9xEyFR4nlCsEg44bAA7SeId1FJzQ%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFSS5CCR2HEHGVFZ52WNIDDWHTA6TANCNFSM6AAAAAARQFITBQ&data=05|01|peter%40fope.at|e80cd2a5e24449694a5d08dac3019c37|4b5409279ccb4b8cbc883fb294fbee0f|0|0|638036708933566075|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=wR0Q7pJdhJCgB%2Bl8w1bamrycGpFA2zGqpPd1L%2Bsn%2FGU%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks for the update @myfope! The price looks like it aligns pretty well with current third party products that performs the same tasks.

Hi,
if MSFT does not Migrate Teams and other stuff it is very expensive. Currently only Exchange & OneDrive is supported.
From: David Berndtsson @.>
Sent: Thursday, November 10, 2022 3:51 PM
To: MicrosoftDocs/microsoft-365-docs @.>
Cc: Peter Forster @.>; Mention @.>
Subject: Re: [MicrosoftDocs/microsoft-365-docs] Cross Tenant User Data Migration license (Issue #10084)
Thanks for the update @myfopehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmyfope&data=05|01|peter%40fope.at|aec56d5a05814a6ae39808dac32aeed6|4b5409279ccb4b8cbc883fb294fbee0f|0|0|638036886407324409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=PLyB1rrVAKT3Sk7f7eQDIPxhKyIi32ZfzR9nyfqC%2Flo%3D&reserved=0! The price looks like it aligns pretty well with current third party products that performs the same tasks.

Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-docs%2Fissues%2F10084%23issuecomment-1310407833&data=05|01|peter%40fope.at|aec56d5a05814a6ae39808dac32aeed6|4b5409279ccb4b8cbc883fb294fbee0f|0|0|638036886407324409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=EZX3VHt%2F0lNj%2Fnsb7KTvFeVmeX3rBf%2B%2Fe1hRj7T1N5Q%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFSS5CFRWSYF2LMY4I73U2TWHUDT3ANCNFSM6AAAAAARQFITBQ&data=05|01|peter%40fope.at|aec56d5a05814a6ae39808dac32aeed6|4b5409279ccb4b8cbc883fb294fbee0f|0|0|638036886407324409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=jx3b%2FOF3qA0S%2B3OeDn8Kj9YBtL9vk11saWxdxAISlTw%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

It is the same for the entry level tiers for the big third party providers. If you want to migrate Teams and other stuff the price will increase pretty fast.


feat: Added support for updating and showing inhouse leaderboard

This commit addresses the following:

Adds support for showing in-house leaderboard
Adds support for updating in-house leaderboard
Minor command list refactoring

updateInHouseLeaderboard and showInHouseLeaderboard functions are imported from lib folder but that folder is not pushed in the commit.
Is this intentional ?


VirtualBox Guest Additions do not compile on Fedora 22 guest

When installing guest additions onto a new Fedora 22 box, the kernel module fails to compile.
vagrant up output.
It's odd that it complains that make and gcc couldn't be found when it's clearly just installed them.
Building the VirtualBox Guest Additions kernel modules
The make utility was not found. If the following module compilation fails then
this could be the reason and you should try installing it.

The gcc utility was not found. If the following module compilation fails then
this could be the reason and you should try installing it.

Building the main Guest Additions module[FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions[  OK  ]

There's also this error at the top of /var/log/vboxadd-install.log
grep: /lib/modules/4.0.4-301.fc22.x86_64/build/include/linux/version.h: No such file or directory

It works for me, but I have to specify type for synced_folders or it uses rsync.
Here is the output I got:
https://gist.github.com/simonschmidt/787013e806bd2d9a571b
The Vagrantfile:
BOX_NAME= "Fedora-Cloud-Base-Virtualbox-22"
BOX_URL = "https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box"

Vagrant.configure("2") do |config|
  config.vm.box = BOX_NAME
  config.vm.box_url = BOX_URL

  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
end

$ vagrant --version
Vagrant 1.7.2
$ vagrant plugin list | grep vbguest
vagrant-vbguest (0.10.0)
$ VBoxManage --version
4.3.28r100309

i had same issue! turned out DKMS wasnt installed by default (dnf/yum install dkms) i also went to the kernel source folder and did a make oldconfig too becuase in the logs it was complaining about that being missing.

Version 0.11.0 got a dedicated fedora installer which adds the dkms package as a dependency.


[TACHYON-955] BlocakMaster writes wrong containerID into jounal

https://tachyon.atlassian.net/browse/TACHYON-955

@chen-tian thanks for the fix, do you mind writing a unit test for this?

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4903/
Test PASSed.


Modernize insert_by_period materialization

The insert_by_period materialization was written ~2 years ago, and since then, we've improved the way we write materializations. e.g.:

Better API for relations (or maybe I just didn't use them correctly)
No non_destructive flag
Helpful functions like make_temp_relation

Additionally, this materialization doesn't work on warehouses other than Redshift (see #189)
It's time to give this some love: check out the refreshed code for the incremental materialization as a good starting point.

This would be really useful for us for use with our dbtvault  package which currently uses Snowflake. Starting to experiment! Has anything changed since this issue was created that will be useful to know?

Hey @DVAlexHiggs - check out the latest docs on custom materializations over here: https://docs.getdbt.com/docs/writing-code-in-dbt/extending-dbts-programming-environment/creating-new-materializations
We've also added some helper functions that should simplify materialization code a whole bunch. Check out the default incremental materialization for some inspiration: https://github.com/fishtown-analytics/dbt/blob/dev/octavius-catto/core/dbt/include/global_project/macros/materializations/incremental/incremental.sql

Thanks for the response. I'm currently experiencing some issues. We have incremental models which generate their own SQL. This SQL is generated differently when they are in incremental mode, by using the is_incremental() macro. I created another macro, similar to this which checks if the model is using insert_by_period. Currently we're running a modified insert_by_period materialization so that it works with snowflake, based on the current (old-style) materialization.  When running the model with the modified materialization, our incremental SQL isn't generated. This is because on the first cycle (day in this case) it is a base load.

Hi. We've recently released v0.7.0 of dbtvault, which includes a modified snowflake implementation of this macro.
I believe it is a more modern version, using some of the new adapter functions and such.
Have a look here:
https://github.com/Datavault-UK/dbtvault/blob/v0.7.0/macros/materialisations/vault_insert_by_period_materialization.sql
We've also added a number of additional features such as inferred date ranges, and a 'BASE LOAD' feature which gets arund initial load problems.
How useful is this for dbt-utils? I am happy to modify this accordingly for dbt-utils and contribute back.

@DVAlexHiggs thanks a lot for writing the comment above! I'm a Snowflake dbt user and after trying the insert_by_period from dbt-utils (and failing due to obscure error messages), I arrived here after Google'ing for alternatives. The insert_by_period from dbtvault worked like a charm for me! I also enjoyed the detailed documentation over there. Thanks for sharing!

I'd like to see Postgres and other warehouses supported.
I got this running on Postgres 11 making two small modifications (to get rid of the errors).
On the first try I got the error "subquery in FROM must have an alias".
Add an alias t to the sub-select in insert_by_period_materialization.sql#L49:
  select
    {{target_cols_csv}}
  from (
    {{filtered_sql}}
  ) t -- this is line 49

Once that was fixed I got another error saying "cannot create temporary relation in non-temporary schema".
Change the schema parameter to None in insert_by_period_materialization.sql#L130:
    {%- set tmp_relation = api.Relation.create(identifier=tmp_identifier,
                                               schema=None, type='table') -%}  -- this is line 130

This did the trick and it worked for me on Postgres.

I'd like to see Postgres and other warehouses supported.
I got this running on Postgres 11 making two small modifications (to get rid of the errors).
On the first try I got the error "subquery in FROM must have an alias".
Add an alias t to the sub-select in insert_by_period_materialization.sql#L49:
  select
    {{target_cols_csv}}
  from (
    {{filtered_sql}}
  ) t -- this is line 49

Once that was fixed I got another error saying "cannot create temporary relation in non-temporary schema".
Change the schema parameter to None in insert_by_period_materialization.sql#L130:
    {%- set tmp_relation = api.Relation.create(identifier=tmp_identifier,
                                               schema=None, type='table') -%}  -- this is line 130

This did the trick and it worked for me on Postgres.

@DVAlexHiggs thanks a lot for writing the comment above! I'm a Snowflake dbt user and after trying the insert_by_period from dbt-utils (and failing due to obscure error messages), I arrived here after Google'ing for alternatives. The insert_by_period from dbtvault worked like a charm for me! I also enjoyed the detailed documentation over there. Thanks for sharing!

@fernandobrito I've made some modifications to the macro here for Snowflake. It's a bit flaky - it always fails the first time with an object is not iterable error, but then will succeed. It's not great but it works 🤷  https://gist.github.com/seamus-mckinsey/a93b2e14ea5dea94909eefbd7680acfa

@DVAlexHiggs thanks a lot for writing the comment above! I'm a Snowflake dbt user and after trying the insert_by_period from dbt-utils (and failing due to obscure error messages), I arrived here after Google'ing for alternatives. The insert_by_period from dbtvault worked like a charm for me! I also enjoyed the detailed documentation over there. Thanks for sharing!

@fernandobrito I've made some modifications to the macro here for Snowflake. It's a bit flaky - it always fails the first time with an object is not iterable error, but then will succeed. It's not great but it works 🤷 https://gist.github.com/seamus-mckinsey/a93b2e14ea5dea94909eefbd7680acfa

We have fully working version with extra features included in our dbtvault package:
https://github.com/Datavault-UK/dbtvault/blob/master/macros/materialisations/vault_insert_by_period_materialization.sql

Oh wow, thank you @DVAlexHiggs !!

To anyone, for whom this materialization is relevant & interested, we have a working version of insert_by_period on Snowflake (https://github.com/dbt-labs/dbt-utils/pull/410). Looking forward to the feedback and potential next steps from the project owners.

I can confirm that @etoulas's solution works for PostgreSQL. Can this be added to the package?

@moltar we're in the process of extracting the insert_by_period materialization from this project and moving it to the experiments repo, to better reflect its level of maturity.
Once that move is complete, we'd welcome a PR to incorporate this fix!

Looks like the experiments repo is now ready for this edit suggestion! https://github.com/dbt-labs/dbt-labs-experimental-features/blob/main/insert_by_period/macros/insert_by_period_materialization.sql

Sure is! Bring on the PRs (although the CI testing is currently busted 😬)


adinrec don't create record file, but no error

I'm using julius <IP_ADDRESS> on Raspberry pi 3 model B (Rasbian OS).
"rec" command and "arecord" command can record via microphone, but adinrec command do not create any output file.
julius command is working when using wave file (e.g. -input raw -filelist /tmp/test.wav, recorded by rec command), however when using microphone, it looks working but no outputs.
Does anyone know what to try next?
pi@raspberrypi:~/dictation-kit-v4.4 $ uname -a
Linux raspberrypi 4.14.62-v7+ #1134 SMP Tue Aug 14 17:10:10 BST 2018 armv7l GNU/Linux
pi@raspberrypi:~/dictation-kit-v4.4 $

pi@raspberrypi:~ $ adinrec /tmp/adinrec.wav
STAT: ###### initialize input device
Stat: capture audio at 16000Hz
Stat: adin_alsa: current latency time: 21 msec
Stat: adin_alsa: current latency (21ms) is shorter than 32ms, leave it
Stat: "default": Headset [G433 Gaming Headset] device USB Audio [USB Audio] subdevice #0
STAT: AD-in thread created
<<< please speak >>>Warning: strip: sample 0-340 is invalid, stripped
Warning: strip: sample 0-340 is invalid, stripped
Warning: strip: sample 0-340 is invalid, stripped
Warning: strip: sample 0-340 is invalid, stripped
Warning: strip: sample 0-340 is invalid, stripped
Warning: strip: sample 0-186 has zero value, stripped
^C[Interrupt]
0 samples (0 bytes, 0.00 sec.) recorded　←  **** NO OUTPUT File ****
pi@raspberrypi:~ $

pi@raspberrypi:~/dictation-kit-v4.4 $ julius -C main.jconf -C am-gmm.jconf -input mic -nostrip
STAT: include config: main.jconf
STAT: include config: am-gmm.jconf
STAT: jconf successfully finalized
:
(snip)
:
### read waveform input
Stat: capture audio at 16000Hz
Stat: adin_alsa: current latency time: 21 msec
Stat: adin_alsa: current latency (21ms) is shorter than 32ms, leave it
Stat: "default": Headset [G433 Gaming Headset] device USB Audio [USB Audio] subdevice #0
STAT: AD-in thread created
<<< please speak >>>^C　←  **** NOT ANY OUTPUTS ****
pi@raspberrypi:~/dictation-kit-v4.4 $

Are you using a sound server like Pulseaudio? If so try using the padsp command which will bypass pulseaudio like padsp julius .... Look into compiling Julius with pulseaudio option.

Thank you colbec. It works correctly.
pi@raspberrypi:~/dictation-kit-v4.4 $ padsp julius -C main.jconf -C am-gmm.jconf -input mic -nostrip -record /tmp
In addition, I found julius command without padsp also works when I speak loudly.
The microphone volume is 90%, however it is not enough for input...


Finish writing Initial tests for RuleSet

Need to write the initial test for the following test methods

[x] test_rule_set_invalid_payload()
[x] test_nested_rule_set_passes()
[x] test_nested_rule_set_fails()
[x] test_multiple_checks_per_field_valid()
[x] test_multiple_checks_per_field_fails()

Complete


Add Select Tool

You should add a 'Select Tool' as it makes easier to edit images.

Becasso has a peculiar way of creating selections. You change into "Select mode" (the hand icon), and can use any tool to create a selection. "Free shape" would be what other apps call "Lasso", for example.
Changing this would remove this innovative approach (which admittedly takes getting used to).


Adjust cursor behavior after returning to VSCode using Alt+Tab

Type: Feature Request
Description:
Currently, when using the extension in VSCode and switching to another window using Alt+Tab, upon returning to VSCode, the mouse cursor is not automatically positioned in the text input field of the extension.
Suggestion:
It would be helpful to adjust the cursor behavior after returning to VSCode using Alt+Tab, so that the cursor is automatically positioned in the text input field of the extension, making it easier to continue typing without the need to manually click inside the field.
Steps to reproduce the issue:

Install the extension that enables sending and receiving data via serial in VSCode.
Open VSCode and access the extension.
Start a session for sending/receiving data.
Use Alt+Tab to switch to another window.
Return to VSCode using Alt+Tab.

Expected result:
After returning to VSCode, the mouse cursor should be automatically positioned in the text input field of the extension, allowing for immediate typing without the need to manually click inside the field.
Note:
This adjustment would provide a better user experience when working with the extension, allowing for a seamless transition between VSCode and other windows without the need for manual intervention to position the cursor in the text input field. This would enhance efficiency and streamline the workflow.
Thank you for the great extension.

@Alfredosavi Thanks for the feedback! We will add this to the backlog and investigate it at our earliest availability.


[WIP] add indexInParent to semantics, cupertino picker semantics

cc @goderbauer, @xster This PR adds the ability for semantics nodes to annotate an index (indexInParent) to be used by accessibility. I think it might be usable to solve the scrolling issue, but here it allows us to always determine the item in the scroll view that is selected so that we can create an adjustable semantic node to match iOS semantics.

Seems like a reasonable approach. cc @goderbauer for more detailed review.

Closing in favor of an even more general approach


ActorOption for inbox size

Using the "new" new function.

Also add an option to ActorFuture, maybe an additional creation option?


Less leakage of container type in concrete syntax tree.

Reduces the leaky abstraction of handing out children() by SyntaxTreeNode, but provide operations to work on them: front(), back(), operator[].
This change does not get rid of handing out children() entirely yet, as they are used in range loops, this will be a separate change.
Reducing the abstraction leak will make it easier to change that implementation later (e.g. for issue #1523)

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (5be583b) 92.85% compared to head (a4a5670) 92.85%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2026      +/-   ##
==========================================
- Coverage   92.85%   92.85%   -0.01%
==========================================
  Files         357      357
  Lines       26397    26394       -3
==========================================
- Hits        24510    24507       -3
  Misses       1887     1887

Files
Coverage Δ

common/text/concrete_syntax_tree.cc
100.00% <100.00%> (ø)

common/text/concrete_syntax_tree.h
96.82% <100.00%> (+0.46%)
:arrow_up:

common/text/tree_builder_test_util.cc
100.00% <100.00%> (ø)

common/text/tree_utils.cc
97.27% <100.00%> (-0.02%)
:arrow_down:

common/text/tree_utils.h
100.00% <100.00%> (ø)

verilog/CST/expression.cc
96.10% <100.00%> (-0.10%)
:arrow_down:

verilog/CST/macro.cc
100.00% <100.00%> (ø)

verilog/CST/module.cc
100.00% <100.00%> (ø)

verilog/CST/port.cc
94.36% <100.00%> (ø)

verilog/CST/seq_block.cc
100.00% <100.00%> (ø)

... and 13 more

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


tests: network status helper

Nice catch on the SDK level here

For future reference, the most important is not using the @Suppress("NewApi") annotation that we were using in the previous version of the SDK and instead use if statements (the compiler is incredibly smart)


Feature request

Is possible to add ubuntu as vm.box + needed script to install docker (optionaly, maybe as plugin)?
Reason - digitalocean vagrant plugin not support vagrant box integrations (maybe AWS too)... And looks like DO not contain boot2docker image + official box more secure for me xD (hashicorp/precise64).
Yes I know - ubuntu as basebox - overkill.
Anyway - my message is just question, maybe I will just continue use my personal fork =)

@inomoz are you trying to use vagrant with DigitalOcean instead of VirtualBox?
We are using a customized boot2docker VM, which gets generated by docker-machine using the official boot2docker.iso. It is then packaged as a base box for vagrant.
A lot of provisioning tasks in Vagranfile currently heavily depend on the way this base box works.
Using a different base box would mean forking and refactoring what we currently have.
I'm open to PRs, but won't have the bandwidth (and a use case) for this at the moment.


Rich generators

It's just an initial concept draft to start up a discussion
I've got an idea for a big enhancement: a feature that would enable many more scenarios for code generation in this framework, namely:

add ability to completely control ancestry of generated code (namespace, ancestor partials) (#40)
add top-level (compilation unit) usings (#30)
add top-level extern aliases
add top-level attributes ([assembly: Xyz])

My proposal adds a new interface that has a method with the same parameter list as current ICodeGenerator.GenerateAsync, but returns Task<RichGenerationResult> which contains four syntax lists: Members, Usings, Externs and AttributeLists that get merged with those created by previous generators and then are added to the generated compilation unit.
There are no tests currently, but I will add them, if the design would be accepted.

@AArnott I've rebased onto master after merging #79. What do you think of the proposed enhancements?

@AArnott ping? What are your thoughts?

@AArnott pinging again. Any reaction?

@AArnott I've added tests, done some refactors and bumped lang ver to 7.3 as requested.
I think I'm done here. What's your take on this?

One major refactor I should maybe explain is the move of wrapping-member-in-ancestor logic; I've moved it into a separate nested class which I've named EnrichingCodeGeneratorProxy. It essentially hides that logic behind IRichCodeGenerator interface.
So the processing is now more streamlined: non-rich generators are now wrapped into Proxy class, and only the Rich generation is called in the TransformAsync foreach loop.
One other thing I've been uncertain, is: should the TransformationContext and RichGenerationResult have public constructors? Maybe we could offer some factory methods instead. That way we could reserve space for future changes/additions without breaking existing code.

@AArnott pinging for review :)

Sorry... looking now..

I don't see how a factory method will make it more future-proof than a ctor. We would presumably add more of either one as we add members. However, the fact that you're already using default parameters on the first "overload" may make it tricky to add more overloads with default parameters later. I'll leave more comments in the relevant files.

In reply to: 413479597 [](ancestors = 413479597)

I'm glad I could help! All the comments were valid and I see the point. I've got a little carried away on that immutability bandwagon. :)


Adding Multi-Robot Teach Repeat Code

Here are the codes which will also multiple MiRo-B robots to run teach and repeat simultaneously, with delay (based on number of frames) between the teacher and student robots.

Looks good - thanks again for your work!