Networked Objects In Additive Scenes Not Enabled

Describe the bug
When child scenes are loaded additive, objects with network identities don't appear in client or server.
Repro project
https://www.dropbox.com/s/orq17qrsug7hjsi/Test Mirror.zip?dl=0
To Reproduce
Steps to reproduce the behavior:

Open the attached project.
Run in Editor.
Click Start as LAN Server Only.
Observe child scenes loaded.
Build to desktop and run the EXE as LAN Server Only.
In Editor, Play as LAN Client.
With WASD move the player to where ZoneA or ZoneB are located.
Observe child scene(s) loaded.
Observe child scene networked objects remain disabled.

Expected behavior
Child scene networked objects should be visible.
Desktop (please complete the following information):

OS: Windows
Build target: Windows Desktop
Unity version: 2017.4.12f1
Mirror Release: Pull Request #109

Additional context
No warnings or errors in console or output_log.txt but debug msgs are logged as expected.
In the _Prefabs folder, find Cubes, Cylinders, and Spheres prefabs.
Remove the Network Identity components from Cylinders, and Spheres to see what it should look like.
The Cubes in ZoneC are not networked objects and they work correctly when ZoneC is entered / exited.

_Scripts/ServerStartup is what loads all child scenes on server when started.
_Scripts/ZoneHandler is attached to the 3 Zone prefabs (Server Only) and has OnTriggerEnter/Exit handlers.
_Scripts/SceneLoader is attached to the Player prefab and has the ClientRPC's to do the actual loading of child scenes.

If you do a build, make sure to include MainScene and SceneA, SceneB, and SceneC.
Find MrGadget in Discord if you need more info.

Hi @MrGadget1024 , thanks for the report.
I do not recommend additive scene loading. UNET wasn't originally designed for it as it seems.
In fact, even regular scene loading didn't work until I fixed it a few months ago.
Maybe (and only maybe) if we are fully done with all the improvements and simplified the code further, then maybe we can worry about additive scene loading.

To be clear, load additive isn't the problem, it's the conflicting ID's of the network objects across the various scenes.

I changed it to 'bug' again.
There is a very easy fix to this, which is not starting sceneids at 0, but at sceneName.hash().
this sucks for bandwidth though, since for 0,1,2,3,4 etc. Mirror uses bytes automatically when sending.
for<PHONE_NUMBER>8+1+2+3 etc. it will need ints.
will think about a better way to do this

Can't network objects just have a ushort ID that has nothing to do with what scene they're in?

@MrGadget1024 the dropbox link seems broken

@MrGadget1024 can you please try this one: https://ci.appveyor.com/api/buildjobs/ar23p1ndj7wkp7u6/artifacts/Mirror%2FMirror.zip
DLLs are from this pull request:
https://github.com/vis2k/Mirror/pull/109
Seems to work fine for my test.

Tried latest, no joy.  Uploaded test project to dropbox and updated link above.

@MrGadget1024 just checked it out, there is a lot of stuff in there. any chance you can reproduce it with a fresh project and just 2 scenes and 2 gameobjects etc.?

Let's collab in Discord

@MrGadget1024 Thanks, checking it out now.
I also just noticed that the title of this issues is 'not enabled..', I only worried about duplicate sceneids for some reason. Let's see..

ok just sharing my progress here for later:

NetworkServer.SetClientReadyInternal sends MsgType.SpawnFinished
which calls ClientScene.OnObjectSpawnFinished
which calls PrepareToSpawnSceneObjects
which populates ClientScene.s_spawnableObjects via FindObjectsOfTypeAll

If we do an additive scene load AFTER the client was set as ready then s_spawnableObjects won't know about any new scene objects that were in the extra loaded scene.
It also looks like FindObjectsOfTypeAll is called in several other places.
In other words: HLAPI was designed to find all scene objects on start, not every time. There is no immediate solution @MrGadget1024 , sorry. Perhaps load your objects from prefabs instead?
In the future we might detect additive scene loads and then add initialize everything in there again. This will require a lot of architecture changes and maybe break more other things. Hm.

Btw @paulpach looks like you came to the same conclusion in help channel (see my above post).
Another solution might be for netidentity.awake to add itself to the spawnable dictionary. this would avoid findobjectsoftype and would work for additive.

@MrGadget1024 here is one version where they add themselves in OnDisable: https://github.com/vis2k/Mirror/pull/109
DLLs: https://ci.appveyor.com/api/buildjobs/6htybuojxat9gojb/artifacts/Mirror%2FMirror.zip
I need to get some sleep for now. This might work if you try it @MrGadget1024 , but we can't merge it yet because OnPostProcessScene -> setactive(false) -> ondisable -> spawnableObjects.add would add sceneids from objects that are not in the starter scene, which means that there would be problems if someone tries to spawn them even though the extra scene isn't loaded. or perhaps not. I need sleep :)

also @paulpach we might need to think about that whole sceneId magic from the ground up.
maybe netIds are enough. maybe there is a better way.

I tackled a similar issue with my stuff (though it may not work exactly with yours).
https://gist.github.com/kristianpd/485fd7d78512a22a80117a2d22664185
The meat of it is here:
https://gist.github.com/kristianpd/485fd7d78512a22a80117a2d22664185#file-basicnetworkedscenemanager-cs-L275
Where I basically just iterate over network identity's in the scene and force their sceneids to be a unique ID. The problem is that they share the same scene ids are another scene, starting over at 0. I guarantee uniqueness by simplify using the scene id (from build index) as an offset, and give each scene a range of valid integergers. Each scene gets a range of MAX_INT / Number of scenes sceneids. Does that make sense?
So networkidentity with sceneid 0 from Scene 1, would conflict with networkidentity with sceneid 2 from Scene 2.
This solution has a bit of custom messaging around it, but hopefully this helps provide some ideas?
I know @vis2k said one big problem was messages being sent before the scene is loaded. I did not encounter this (yet), but my test scene was fairly straightforward (2 sample scenes,  a few network identities in each, loading / unloading asynchronously).

Here are my findings so far.   The branch + this code fixes the issue,  but it only seems to work in the editor:
 public override void OnStartServer()
    {
        base.OnStartServer();

        SceneManager.sceneLoaded += (Scene arg0, LoadSceneMode arg1) =>
            {
                NetworkServer.SpawnObjects();
            };

        Debug.Log("Loading Scenes");

        foreach (string SceneName in Scenes)
            StartCoroutine(LoadScenes(SceneName));
    }

Either the sceneLoaded event is not invoked in standalone,  or it is invoked in the wrong order.
My next attempt is to add a non networked gameojbect to the child scenes that will call SpawnObjects().  This will always be executed when the child scene finishes loading and should register all the networked objects that got added.

Would it help to manually manage the sceneId via either ForceId or adding another method to specify the desired sceneid during spawning?
Also is there a handy way to find out what the sceneId equates to at runtime?

@uweenukr  the sceneid is already assigned correctly (in the branch).  That is not the issue.   The issue is that mirror does not recognize the newly added scene objects as such,  so they are not spawned in the clients.   Mirror registers all scene objects when it starts,  so we just need to tell it to register the new ones as well.

Speaking of check for other objects to spawn. I also noticed when spawning fails I get this weird log entry from OnObjectSpawnFinished. It says SpawnFinished0 immediately followed by 1.
That seems to set off a chain of paused while loading msgs. The left side spawning works. The right side it fails.
https://imgur.com/a/Mi3ZyMW

Attached is a 2018 version of the repro project.  The Library folder is left out so it's smaller...Unity will rebuild it.  This is from Unity 2018.2.20

Open the MainScene only.
Build and run as LAN server...run in Editor as client.
WASD to move the player capsule around.
Objects with ProximityChecker appearing when they should not, e.g. the tall "buildings" around the perimeter appear randomly when player is far away
zone prefabs are appearing near the player (wrong place) but should never appear at all.
Random warnings and errors in console

OnTrigger* firing on Client on objects marked Server Only and with [Server] attribute
Spawn scene object not found for # error

Client eventually freezes up and no longer responds to WASD (HUD buttons still work)
Networked objects in additive loaded scenes aren't enabled when the scene is loaded or by proximity.

Test Mirror 2018.zip

I dont know if the logging changed for the 2018 branch but this is much easier to follow:

I now have a test scene that fails 100% of the time. Dont know if thats better or worse.


javadoc build failing on develop

There's an angle bracket that needs to be encoded near the end of this line:
https://github.com/marklogic/java-client-api/blob/9fb5ad3279302fe37f5b88b7f5dc16a3b089278e/marklogic-client-api/src/main/java/com/marklogic/client/example/cookbook/datamovement/ExtractViaTemplateListener.java#L57
Just like in XML, you'll need to encode it as >.

(And while you're at it... That block should really get wrapped in an @code tag. Like the example here:
https://github.com/marklogic/java-client-api/blob/9fb5ad3279302fe37f5b88b7f5dc16a3b089278e/marklogic-client-api/src/main/java/com/marklogic/client/datamovement/DataMovementManager.java#L43-L50
Without that, the newlines get discarded, I believe.)

Thanks Kim! Will make the changes today and let you know. Thanks!

It's working now. Thanks!


runtime(java): Tidy up the syntax file and the "ft-java-syntax" documentation

(See details in the commit messages.)

These commits wrap up the series of syntax commits for Java
announced here and submitted over time (and with additional
changes).

thanks!


QT: On Deposit Tab, the list of addresses should include own addresses

The addresses from "Receiving addresses" should be shown in the Address-Chooser Popup window which opens by pushing "Choose previous used address". Because the Deposits should be created with own address as target, this feature will simplify the creation of deposits by easy selection of address.

https://github.com/ROIcoin/ROIcoin/releases/tag/v<IP_ADDRESS> has been released, closing this bug.


Update American Social Security Number.

No numbers with all zeros in any digit group
No numbers with 666 or 900–999 (Individual Taxpayer Identification Number) in the first digit group.
Account for potential digit group spacers = | \+ | _ | \# | : | ; | \. | - | \s

#95 Re-opening failed pull request
References:
https://en.wikipedia.org/wiki/Social_Security_number
https://www.usrecordsearch.com/ssn.htm

@bee-san I closed out #95 by mistake myself so I just opened a new pull request.

There's a merge conflict :(

dam 😆 let me take a look.

There's a merge conflict :(

Should be good now


Feature: Persistent Variable Functions

I was thinking that someday it might be nice to have a library (set of VIs) that allow writing and reading persistent variables to flash. This could be useful for a program that wants to store data to disk that survives a power cycle. I would imagine an API might look like:

Write/Read Variable (by name)
List Variables (names)
Erase Variable (by name)
Erase All Variables

Just some info: This will be tricky as-is with the Pico. Data can only be written to flash a full 256B page at a time, and only to cleared sectors. Sectors are 4K blocks of 16 pages. This will make read/write random access of individual variables infeasible but it would be very feasible for things like data logging that could be retrieved later.
For a pico you can see the Via saving operation in the following locations:
main.cpp to forward input to the flash buffering functions:
https://github.com/PicoG/PicoVireo/blob/1104e2ae87ef7b2fad46342da54ba1023170cb49/platform/rp2040/main.cpp#L228-L248
Buffering data and writing pages once full: (And the rest of the pico_persist file)
https://github.com/PicoG/PicoVireo/blob/1104e2ae87ef7b2fad46342da54ba1023170cb49/platform/rp2040/io/pico_persist.cpp#L130-L140


Add an alternative name for China to country codes

It would be useful to add 'Peoples R China' as an additional English alternative name to the country code lexicon. The extracted affiliation strings from Web of Science seem to contain this name quite often.

Coverage remained the same at 38.312% when pulling 2bdd8b076efb942f05d955880c695b19080dfd5d on qtux:pr-country-codes-lexicon into 1dc01ae82aeb6819ecdcb0d84aed4c3a883d6754 on kermitt2:master.

Thanks !


Issue 2708 - Smoke tests failing on 1D and 2D grids

fixed #2708
Wasn't checking for divide by zero

@shaomeng can you please give this a quick review?

@shaomeng can you please give this a quick review?

Sorry for missing the review request.
A regular value divided by zero will produce an inf, which the PR tries to catch.
A zero divided by zero will produce an nan, which this PR does not catch. Then the question is, will that situation ever happen?

@shaomeng can you please give this a quick review?

@clyne Sorry for missing the review request.
A regular value divided by zero will produce an inf, which the PR tries to catch. A zero divided by zero will produce an nan, which this PR does not catch. Then the question is, will that situation ever happen?

According to the reference guide std::isfinite:
Determines if the given floating point number arg has finite value i.e. it is normal, subnormal or zero, but not infinite or NaN.

@shaomeng can you please give this a quick review?

@clyne Sorry for missing the review request.
A regular value divided by zero will produce an inf, which the PR tries to catch. A zero divided by zero will produce an nan, which this PR does not catch. Then the question is, will that situation ever happen?

According to the reference guide std::isfinite:
Determines if the given floating point number arg has finite value i.e. it is normal, subnormal or zero, but not infinite or NaN.

Looking good. Now I'm gonna approve it.


feat(message): make contact can say others type

I want to write some test, but Contact can't say urlLink or others type, I am using a magic way.
I have written some test case on mocker.spec.ts

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

About the attachment design, I have some thoughts
the first time I set attachment into the mock message Object. but  I think the mock message should be the same to the message, so I use an attachment pool to manage them.

@chs97 Thank you very much for following my code reviews!
Your code looks great after the change.
About the attachment design, I'm still thinking about it.
Could you please file an issue for this PR, and descript your attachment design in detail (the problem, the solution, etc) so that we can start our discussion based on that?


switch to vite

rollup needs lot's of config and maintenance. Vite simplifies it and additionally allows to use vitest for testing

fixed in v2.5.1


fix(taskr): perform actual relative require and add missing optional peer dependency @taskr/esnext

What's the problem this PR addresses?
taskr makes assumptions about the node_modules layout and tries to require files directly from it instead of using an actual relative require, taskr also has an optional peer dependency on @taskr/esnext that it doesn't declare making it rely heavily on hoisting to place it in an accesible location.
Read https://yarnpkg.com/advanced/rulebook for more in depth information
How did you fix it?
Use require-relative to perform an actual relative require and add @taskr/esnext as a optional peer dependency
cc @lukeed @arcanis

I think just defining peerDep is all that's needed. Installers will preserve access to the taskr/esnext

Do you mean just making @taskr/esnext a normal peerDependency, not optional?

No, still optional. You already have it listed as a peerDependency. That's enough to have taskr and @taskr/esnext linked if/when @taskr/esnext is installed.

Do you want me to remove the require-relative part, because that's needed for all the other plugins it attempts to access, not @taskr/esnext

Can you please include or list steps for a simple reproduction?

Sure, here is a sh file that will reproduce the issue
mkdir taskr-repro
cd taskr-repro

printf "exports.lint = function * (task) {
  yield task.source('src/**/*.js').prettier({
    semi: false,
    useTabs: true,
    trailingComma: 'es5'
  }).target('dist/js');
}" > taskfile.js

mkdir src
printf "console.log('foo');    // bar" > src/index.js

yarn init -y2p
yarn config set pnpFallbackMode none
yarn add taskr @taskr/prettier
PNP_DEBUG_LEVEL=1 yarn taskr lint

The issue is that taskr tries to require @taskr/prettier from itself, and then directly from /taskr-repro/node_modules/@taskr/prettier both are invalid because taskr can be hoisted higher up than @taskr/prettier and /taskr-repro/node_modules/@taskr/prettier isn't guaranteed to exist
https://yarnpkg.com/advanced/rulebook#modules-shouldnt-hardcode-node_modules-paths-to-access-other-modules

@lukeed Anything else you'd like me to do to move this forward?

Hey, sorry for the delay on this! Never got around to setting up yarn@2 (don't want to alter my environment)
Should't something like this work too? I have something like this in other places:
function req(name, base) {
  try {
    return require( require.resolve(name, { paths: [base] }) );
  } catch (e) {
    $.alert(e.message);
  }
}

Never got around to setting up yarn@2 (don't want to alter my environment)

Yarn@2 is installed on a per project basis so you would only alter a single project, the repro I provided does just that in the init command.

Should't something like this work too? I have something like this in other places:

Most likely yes, it's only in some rare cases where it doesn't quite work. However, since taskr is set to target<EMAIL_ADDRESS>and the paths option wasn't added until<EMAIL_ADDRESS>would need a polyfill anyways.
1: https://github.com/lukeed/taskr/blob/82d0bef537c598d32ef425af7eef7cee3cf59a5f/packages/taskr/package.json#L52
2: https://nodejs.org/api/modules.html#modules_require_resolve_request_options

@lukeed Sorry to ping again but would be nice to get this merged


Feature (Docs): Adding documentation for Docker Service Kill Experiment

Signed-off-by: Ankur Ghosh<EMAIL_ADDRESS>Adding the Documentation for Docker Service Kill experiment.

Added the change. Please close the PR if found suitable.

@ghoshankur1983 Charts PR has been merged. Can you please embedded the chaos-engine & RBAC for this doc. Please run embedmd -w docs/docker-service-kill.md  --- to install the embedmd use go get github.com/campoy/embedmd

I had performed the steps. However I do not know what to expect post running the steps.

@ghoshankur1983 Yes, the expected behavior is same as you are getting for RBAC. It will embed the corresponding manifest here. But I am unable to see a few sections like: Sample ChaosEngine Manifest, Supported Experiment Tunables and Prepare ChaosEngine


Enum pretty-printing

This supersedes #555 and depends on #556 (the commit from that PR is included in this one).
CC #554 and @andrewshadura

Improve Debug-printing of enum values

When we switched from representing enums as Rust enums to representing
them as newtypes around numbers, the derived Debug implementation
followed and instead of printing pretty names, we got just numbers. This
commit stops deriving a Debug implementation and instead one is
implemented manually.

The new Debug impl uses the alternate() flag to decide between
UPPER_CASE and CamelCase. By default, the UPPER_CASE representation that
is now also used in the source is used. With the alternate() flag,
CamelCase is used instead.

This also prints bitmasks as combinations of the individual values. For
example, ModMask::SHIFT | ModMask::LOCK actually is represented as
"SHIFT | LOCK". This was not possible before when we used a Rust enum to
represent these.

Signed-off-by: Uli Schlachter<EMAIL_ADDRESS>

Rebased on master

Yay, I have tested this and it works just as I wanted it :slightly_smiling_face:


Unable to update sack count if omitted from purchase

If a coffee purchase is recorded with no value for the number of bags, an entry is not made for that item in the lb_bag_conversion table and attempts to update the number of sacks from within Typica fail to update the non-existent record.
There are two solutions to this. Either would address the issue but both would be better.

Improve validation on the purchase form so that people are warned of incomplete data instead of silently failing to insert incomplete data.
The item editor should insert a new row to lb_bag_conversion if it doesn't exist for the item being edited.

Another thought is setting a default value of 1. I'm less certain of the wisdom of that change as it potentially makes it easier to insert incorrect data that might not be immediately noticed.

Issue #35 is fixed in the development branch.


Building a vignette

When a vignette is built using devtools::build_vignette() all built files are moved over to here. Normally those files are part of gitignore. However travis  was throwing a warning if built files weren't in the repo. So I built the vignette and remove isnt/doc from gitignore.
This has the unintended effect of removing tidyhydat.md which was produced using this method.
Here is what I want. Build the vignette so that a plain markdonw file is generated that includes all the references from the bibtex file and figure out a ways so that TRAVIS doesn't expect the inst/doc directory.

Will hopefully just be able to share the vignette somewhere else or in a blog post somewhere.


HawkBit Metadata Error

Describe the bug
I am currently trying to perform OTA updates using HawkBit on a custom board with an STM32L471RGT6 microcontroller and a SIMCOM SIM800C GSM modem (which I use to connect to the internet using a ppp connection). Upon establishing a network connection, the device registers with a HawkBit server I am running in the cloud and polls for an update at which stage I receive the following error in the console:
[00:00:34.110,000] <inf> hawkbit: Polling target data from Hawkbit
[00:00:35.524,000] <err> hawkbit: HTTP response len mismatch, expected 0, got 174
[00:00:35.530,000] <inf> hawkbit: Metadata error

I can verify that the device connects to the server as it appears as a target on the HawkBit dashboard:

Unfortunately, even with HawkBit's log level set to debug, there isn't any additional information I have been able to find to diagnose what the issue is. I don't think the issue is hardware related.
To Reproduce
Steps to reproduce the behavior:
This may be a bit difficult as I have a custom board; however, the most important things to replicate would be:

Flash MCUBoot, I have the partitions laid out according to the following in my devicetree:

partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 DT_SIZE_K(48)>;
			read-only;
		};
		storage_partition: partition@C000 {
			label = "storage";
			reg = <0x0000C000 DT_SIZE_K(48)>;
		};
		slot0_partition: partition@18000 {
			label = "image-0";
			reg = <0x00018000 DT_SIZE_K(416)>;
		};
		slot1_partition: partition@80000 {
			label = "image-1";
			reg = <0x00080000 DT_SIZE_K(416)>;
		};
		scratch_partition: partition@e8000 {
			label = "image-scratch";
			reg = <0x000e8000 DT_SIZE_K(96)>;
		};

	};

Setup your prj.conf as follows:

# GSM modem support
CONFIG_MODEM=y
CONFIG_MODEM_GSM_PPP=y
CONFIG_MODEM_GSM_APN="<your APN here>"
CONFIG_MODEM_GSM_SIMCOM=y
CONFIG_MODEM_GSM_FACTORY_RESET_AT_BOOT=y

# PPP networking support
CONFIG_NET_DRIVERS=y
CONFIG_NET_PPP=y
CONFIG_NET_L2_PPP=y
CONFIG_NETWORKING=y
CONFIG_NET_L2_PPP_TIMEOUT=60000
CONFIG_NET_L2_PPP_DELAY_STARTUP_MS=7500
# Network management events
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y
# IPv4 enables PPP IPCP support
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n

#Shell commands:
CONFIG_SHELL=y
CONFIG_KERNEL_SHELL=y
CONFIG_NET_SHELL=y
CONFIG_MODEM_SHELL=y
CONFIG_MCUBOOT_SHELL=y
CONFIG_FLASH_SHELL=y
CONFIG_SHELL_STACK_SIZE=4096

# Bootloader
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUBOOT_EXTRA_IMGTOOL_ARGS="--version 1.0.0"
CONFIG_MCUBOOT_GENERATE_CONFIRMED_IMAGE=y
CONFIG_MCUBOOT_SIGNATURE_KEY_FILE="~/zephyrproject/bootloader/mcuboot/root-rsa-2048.pem"
# Image management
CONFIG_IMG_MANAGER=y
CONFIG_MCUBOOT_IMG_MANAGER=y

# Hawkbit
CONFIG_HAWKBIT=y
CONFIG_HAWKBIT_SHELL=y
CONFIG_MAIN_STACK_SIZE=4096
#Minimal Heap mem pool size for the Hawkbit working
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
CONFIG_HAWKBIT_POLLING=y
CONFIG_HAWKBIT_POLL_INTERVAL=1
CONFIG_HAWKBIT_SERVER="<your ip address for hawkbit here>"

# Logging config:
CONFIG_LOG=y
CONFIG_SHELL_LOG_BACKEND=y

# Debug Logs:
CONFIG_HAWKBIT_LOG_LEVEL_DBG=y

#General Config
CONFIG_NEWLIB_LIBC=y
CONFIG_LOG_BUFFER_SIZE=8192

Use the following code in your main.c:

#include <zephyr/kernel.h>
#include <zephyr/sys/printk.h>
#include <zephyr/sys/reboot.h>
#include <zephyr/shell/shell.h>
#include <zephyr/drivers/uart.h>
#include <zephyr/net/net_mgmt.h>
#include <zephyr/net/net_event.h>
#include <zephyr/net/net_conn_mgr.h>
#include <zephyr/drivers/modem/gsm_ppp.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/logging/log.h>
#include <zephyr/dfu/mcuboot.h>
#include <zephyr/mgmt/hawkbit.h>

LOG_MODULE_REGISTER(sample_gsm_ppp, LOG_LEVEL_DBG);

#define GSM_MODEM_NODE DT_COMPAT_GET_ANY_STATUS_OKAY(zephyr_gsm_ppp)
#define UART_NODE DT_BUS(GSM_MODEM_NODE)

static const struct device *const gsm_dev = DEVICE_DT_GET(GSM_MODEM_NODE);
static struct net_mgmt_event_callback mgmt_cb;
static bool starting = IS_ENABLED(CONFIG_GSM_PPP_AUTOSTART);
static const struct gpio_dt_spec gsm_reg_en = GPIO_DT_SPEC_GET(DT_NODELABEL(gsm_reg_en), gpios);
static bool first_connect = true;

static void event_handler(struct net_mgmt_event_callback *cb, uint32_t mgmt_event, struct net_if *iface) {
    ARG_UNUSED(cb);
    ARG_UNUSED(iface);

    if ((mgmt_event & (NET_EVENT_L4_CONNECTED | NET_EVENT_L4_DISCONNECTED)) != mgmt_event) {
        return;
    }

    if (mgmt_event == NET_EVENT_L4_CONNECTED) {
        LOG_INF("Network connected");
        if (first_connect) {
            LOG_INF("Starting hawkbit polling mode");
	        hawkbit_autohandler();
            first_connect = false;
        }
        return;
    }

    if (mgmt_event == NET_EVENT_L4_DISCONNECTED) {
        LOG_INF("Network disconnected");
        return;
    }
}

static void modem_on_cb(const struct device *dev, void *user_data) {
    ARG_UNUSED(dev);
    ARG_UNUSED(user_data);
    LOG_INF("GSM modem on callback fired");
}

static void modem_off_cb(const struct device *dev, void *user_data) {
    ARG_UNUSED(dev);
    ARG_UNUSED(user_data);
    LOG_INF("GSM modem off callback fired");
}

int main(void) {
    const struct device *const uart_dev = DEVICE_DT_GET(UART_NODE);
    gpio_pin_configure_dt(&gsm_reg_en, GPIO_OUTPUT_INACTIVE);
    k_msleep(1000);
    gpio_pin_set_dt(&gsm_reg_en, 1);

    /* Register modem power callbacks */
    gsm_ppp_register_modem_power_callback(gsm_dev, modem_on_cb, modem_off_cb, NULL);

    LOG_INF("Board '%s' APN '%s' UART '%s' device %p (%s)", CONFIG_BOARD, CONFIG_MODEM_GSM_APN, uart_dev->name, uart_dev, gsm_dev->name);

    net_mgmt_init_event_callback(&mgmt_cb, event_handler, NET_EVENT_L4_CONNECTED | NET_EVENT_L4_DISCONNECTED);
    net_mgmt_add_event_callback(&mgmt_cb);

    int ret = -1;
    ret = hawkbit_init();
	if (ret < 0) {
		LOG_ERR("Failed to init hawkbit");
	}
    return 0;
}

Expected behavior
I expect that when HawkBit polls for an update that it does so successfully without the "Metadata error".
Impact
What impact does this issue have on your progress: showstopper
Logs and console output
[00:00:02.001,000] <inf> sample_gsm_ppp: Board 'sensify_mcu' APN 'Justworx' UART 'serial@40004400' device 0x803a14c (gsm-modem)
[00:00:02.005,000] <inf> fs_nvs: 3 Sectors of 2048 bytes
[00:00:02.005,000] <inf> fs_nvs: alloc wra: 0, 7e8
[00:00:02.005,000] <inf> fs_nvs: data wra: 0, 0
[00:00:02.005,000] <dbg> hawkbit: hawkbit_init: Action id: current 536890120
[00:00:02.005,000] <inf> hawkbit: Image is confirmed OK
[00:00:07.290,000] <inf> modem_gsm: Manufacturer: SIMCOM_Lt
[00:00:07.344,000] <inf> modem_gsm: Model: SIMCOM_SIM800C
[00:00:07.401,000] <inf> modem_gsm: Revision: Revision:1418B08SIM800C24_BT
[00:00:07.456,000] <inf> modem_gsm: IMEI: xxxxxxxxxxxxxxxxx
[00:00:07.511,000] <inf> modem_gsm: IMSI: xxxxxxxxxxxxxxxxx
[00:00:07.567,000] <inf> modem_gsm: ICCID: xxxxxxxxxxxxxxxxx
[00:00:32.750,000] <inf> net_ppp: Initializing PPP to use serial@40004400
[00:00:33.515,000] <inf> sample_gsm_ppp: Network connected
[00:00:33.515,000] <inf> sample_gsm_ppp: Starting hawkbit polling mode
[00:00:34.110,000] <inf> hawkbit: Polling target data from Hawkbit
[00:00:35.524,000] <err> hawkbit: HTTP response len mismatch, expected 0, got 174
[00:00:35.530,000] <inf> hawkbit: Metadata error
[00:05:36.885,000] <inf> hawkbit: Polling target data from Hawkbit
[00:05:40.781,000] <err> hawkbit: HTTP response len mismatch, expected 0, got 174
[00:05:40.787,000] <inf> hawkbit: Metadata error
[00:10:42.071,000] <inf> hawkbit: Polling target data from Hawkbit
[00:10:43.670,000] <err> hawkbit: HTTP response len mismatch, expected 0, got 174
[00:10:43.675,000] <inf> hawkbit: Metadata error
...

Environment (please complete the following information):

OS: MacOS
Toolchain: Zephyr SDK
Commit SHA or Version used: zephyr-v3.2.0

Thanks for the report. I'm not sure why and how, but it seems like the 174 bytes data that the device received is a complete payload (since it is HTTP_DATA_FINAL) but somehow doesn't set the http_content_size in L651, probably you can set a breakpoint over there to examine the payload, and hopefully leads you to something?

Thanks for the advice @ycsin - I'm actually struggling to debug this. Using west debug with MCUboot doesn't seem to work (or at least I haven't managed to get it to work yet). Do you have any recommendations on how to debug this?

@liamclarkza I only had experience with debugging using cortex debug (a vscode's pluggin), I imagine that I probably would a sleep delay at the beginning of the software and 'attach' to the target, so that jumping from the bootloader to application won't diconnects the debugger and the delay gives me enough time to attach to the mcu before the hawkbit part runs, or config the hawkBit such that it runs only when you enter the shell command

@liamclarkza not sure if you had any findings about the issue?

@ycsin I have managed to get it working - I was trying some of the networking examples and found that I was having issues with net_pkt buffers which led me down the road of changing buffer sizes and timeouts to get the networking samples going with my GSM modem. Once I had that fixed, Hawkbit worked fine. The changes I added to my prj.conf were:
# fix for <err> net_tcp: net_pkt alloc failure
CONFIG_NET_PKT_RX_COUNT=16
CONFIG_NET_PKT_TX_COUNT=16
CONFIG_NET_BUF_RX_COUNT=64
CONFIG_NET_BUF_TX_COUNT=64

# fix for <err> uart_mux: Ring buffer full, drop 1 bytes
CONFIG_UART_MUX_RINGBUF_SIZE=1024

# fix for <err> net_ppp: Rx buffer doesn't have enough space. Bytes pending: 8, written: 0
CONFIG_NET_PPP_RINGBUF_SIZE=1024

# fix for <err> OTA_LOGGER: Socket failed to connect (-116)
CONFIG_NET_SOCKETS_CONNECT_TIMEOUT=60000

Thanks for the help.

@ycsin It seems that unfortunately the issue has come back even with the adjustments made above.
I checked out the line below which should be setting http_content_size as you mentioned but rsp->content_length is 0: https://github.com/zephyrproject-rtos/zephyr/blob/802600da7b0396ee515ddf68abf69d95ba33ecf5/subsys/mgmt/hawkbit/hawkbit.c#L651
Seems like there is an issue where the content length is not being set by the http client.

Hi i am getting the same error any progress on this @liamclarkza


Workbox v3.3.1 docs.

R: @philipwalton
The auto-generated output of gulp workbox to accompany the v3.3.1 release.
CC: @petele

Whoops!
There were 6 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/reference-docs/latest/module-workbox-build.html#L241 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/workbox/reference-docs/v3.3.1/module-workbox-build.html#L241 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/workbox/reference-docs/v3.3.1/workbox-build_src__types.js.html#L45 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/workbox/reference-docs/v3.3.1/workbox-build_src_entry-points_generate-sw.js.html#L46 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v3.3.1/workbox-build_src_entry-points_generate-sw.js.html#L99 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v3.3.1/workbox-build_src_index.js.html#L87 - Common typo found: 'homescreen' Should it be 'home screen'? See: https://developers.google.com/style/word-list#home-screen

:tada: This has been pushed live to https://developers.google.com/web/


Delete command for Hyperdrive

If user is done with an Hyperdrive it may be deleted like;
driver delete <key> Delete a Hyperdrive

Thanks for your feedback! Check the new purge command :)


Proposed rule: use trailing comma in multi-line switch expression

Like SA1413 where a trailing comma is required in multi-line initializes, I propose a rule where a trailing comma is required in a multi-line switch statement, for the same reason SA1413 was introduced:
string str = "hello";
string str2 = str switch
{
    "hello" => "hello",
    "goodbye" => "bye bye", // No warning.
};

string str3 = str switch
{
    "hello" => "hello",
    "goodbye" => "goodbye" // Warning: use trailing comma in multi-line switch statement.
};

SA1413 itself should be updated to cover this case.


Part 2 RFC: Implementation Roadmap

I'm working on Part 2. So I thought I'd share a bit of the roadmap. I'm aiming on publishing sometime in the next week but still have a few hurdles and could use your expertise.
Hop on to our Slack if you wanna get involved.

[x] Basic Contract (P2P Protocol)

Endpoints:

get_chain, post_transactions, get_nodes, post_block, ...

[x] Heartbeat Loop

Ported to aiohttp over Flask
asyncio allows us to have an event loop for introspection (and pinging other nodes)

[ ] Transaction Verification

Using Python NaCl to generate a public/private signing key pair: private.key, public.key which should be generated before runtime.
Would still appreciate thoughts on this method

[ ] NAT (Opening ports on Router, like uTorrent/Transmission/Bitcoin Wallet): uPNP, NAT-PMP, PCP...

Attempting to open a port on the router at runtime using one of these protocols
Bogged down on this one, poor python library support unsure how to proceed for now
Would appreciate help on this one

hello, interested in progress here

Very impressed. Didn't see node register function available in current version, am i missing anything?
Interested in progress here +1!

Interested in part 2 and would help out!

Great work. Eager to contribute.

File "blockchain.py", line 50
print(f'{last_block}')
^
SyntaxError: invalid syntax
that single quote mark has some problems ,could you please help me...

@zhouzhou84 What's your python version? f-string is a new syntax introduced of python 3.6.
https://www.python.org/dev/peps/pep-0498/

@dvf : For Transaction Verification, at what implementation are we looking at for attaching nodes with public keys?

Is this project still in production?

I don't konw,I am just curious about it,now it run successfully. On 2018-04-06 17:42 , James Peters Wrote: Is this project still in production? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Hello, I’m new to programming.  I’m stuck on the   Postman version. Not sure to begin, is there any suggestions where to start.  I have downloaded postman.
Sent with GitHawk

I remembered there was a file in the folder which can execute with command"./ Postman", then it starts. Make sure that blockchain.py is running, then you can input"http:// localhost:5000/mine" to mine a block, other operations are same to it. On 2018-05-07 22:26 , hashTagKehl Wrote: Hello, I’m new to programming. I’m stuck on the Postman version. Not sure to begin, is there any suggestions where to start. I have downloaded postman. Sent with GitHawk — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

@dvf Hello. Is there any news about part 2?

Part 2 is coming soon
On Thu, Jan 3, 2019, 6:13 PM Ruslan Isaev<EMAIL_ADDRESS>wrote:

@dvf https://github.com/dvf Hello. Is there any news about part 2?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dvf/blockchain/issues/43#issuecomment-451154088, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AmWjLxSyw4x1CLVNymHNME2XSizZzurDks5u_g_0gaJpZM4QbD3G
.

@dvf Any update on Part 2? Would still be helpful if you only released the P2P protocol.

Dil hai ki manta nahi
Get Outlook for Androidhttps://aka.ms/ghei36

From: Matthias Grabner<EMAIL_ADDRESS>Sent: Tuesday, June 18, 2019 7:33:48 PM
To: dvf/blockchain
Cc: karolymisbah; Comment
Subject: Re: [dvf/blockchain] Part 2 RFC: Implementation Roadmap (#43)
@dvfhttps://github.com/dvf Any update on Part 2? Would still be helpful if you only released the P2P protocol.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/dvf/blockchain/issues/43?email_source=notifications&email_token=AJS2GLZBYYK5SWFNYCMWGADP3D55ZA5CNFSM4EDMHXDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODX7BAUA#issuecomment-503189584, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJS2GL4HLQMXTPOHW3G6OY3P3D55ZANCNFSM4EDMHXDA.

comments please

@dvf Any updates on this? 🔥

@dvf Any updates on this? 🔥


sslstrip.py processes flow.request.content instead of flow.response.content

Steps to reproduce the problem:

https://github.com/mitmproxy/mitmproxy/blob/v0.17.1/examples/sslstrip.py
https://github.com/mitmproxy/mitmproxy/blob/master/examples/sslstrip.py

What is the expected behavior?
Should pop headers from response (flow.response.headers) instead of request.
What went wrong?
def response(flow):
flow.request.headers.pop('Strict-Transport-Security', None)
flow.request.headers.pop('Public-Key-Pins', None)
Any other comments? What have you tried so far?
Issue created in order to track discussion https://discourse.mitmproxy.org/t/inline-script-sslstrip-py-with-flow-request-headers-in-response-function/169
Mitmproxy Version: 0.17.1
Operating System: #1 SMP Debian 4.6.4-1kali1 x86_64 GNU/Linux

PR merged ;)


[BUG] Add retries to pyarrow write_dataset call

Multipart uploads to Cloudflare R2 intermittently fail with an InvalidPart error (more info about the error here). I have confirmed that this error does not occur when the write is retried, so this PR adds retry logic to write_dataset to fix this issue.
Tested with this code:
import daft
import pyarrow as pa
from tqdm import trange

def main():
    daft.context.set_runner_ray()

    df = daft.from_pydict({"a": list(range(10_000_000 * 16))})
    df = df.into_partitions(16)
    table = df.to_arrow()

    s3 = daft.io.S3Config(
        endpoint_url="...",
        key_id="...",
        access_key="...",
        region_name="auto"
    )
    io_config = daft.io.IOConfig(s3=s3)

    for i in trange(1_000):
        path = f"s3://eventual-public-data/kevin-test/{i}.parquet"
        df.write_parquet(path, io_config=io_config)
        written_df = daft.read_parquet(path, io_config=io_config)
        written_df = written_df.sort("a")
        written_arrow = written_df.to_arrow()
        assert written_arrow.equals(table)

if __name__ == "__main__":
    main()

@samster25 I can confirm that with the same UUID, pyarrow properly overwrites every file in R2 when retried.


Improve Java multi-language pipelines quickstart

We need to rewrite Java multi-language pipelines quickstart so that it matches the Python quickstart in structure and quality.
Imported from Jira BEAM-13654. Original Jira may contain additional context.
Reported by: pcoet.

Done: https://github.com/apache/beam/pull/22263


No module named 'lanelet2.matching'

Hello, I'm trying to import the lanelet2.matching module in Python using Ubuntu 20.04 and ROS noetic.
Unfortunately this gives me a ModuleNotFoundError. Besides this module, all other lanelet2 modules work flawlessly.

That's strange, since https://build.ros.org/job/Ndev__lanelet2__ubuntu_focal_amd64/18/testReport/test_lanelet2_matching/MatchingApiTestCase/test_matching/ (corresponding to https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_python/test/test_lanelet2_matching.py#L57) passes.
Can you run the tests locally?

Thank you for the fast answer.
When I run the test locally I get the following error output:
Traceback (most recent call last):   File "/home/user/lanelet_ws/src/Lanelet2/lanelet2_python/test/test_lanelet2_matching.py", line 5, in <module>     from lanelet2.matching import Pose2d, getDeterministicMatches, getProbabilisticMatches, Object2d, ObjectWithCovariance2d, PositionCovariance2d, removeNonRuleCompliantMatches ModuleNotFoundError: No module named 'lanelet2.matching'

The answer is quite simple: There hasn't been a new release since we added lanelet2_matching. To use it, you have to build it from source.
The ndev build on the ros build farm just tests the current master branch, the release jobs are separate.

When will there be a new release of lanelet2 for the ROS depository containing lanelet2_matching?


Assign task - Creating a task offline does not save "Title" and "Description"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/19749
Action Performed:

Open https://staging.new.expensify.com/
Log in<EMAIL_ADDRESS>Click on FAB button -> Click on Assign task option
Enter title & description -> add any assignee -> Click on confirm task
On task detail page click on Description -> clear title field and press save
Go offline
Repeat steps 3-5
Go back online

Expected Result:
Data entered offline saved
Actual Result:
If you create a task offline immediately after creating it online, it does not save the "Title" and "Description"
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/35444fc4-8864-4cf0-8a11-409c019d7ff4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I tested on OSX Chrome, and could not reproduce.
The details of the task I added offline:

The details of the task created when I went online:

I have tested this four times and haven't been able to reproduce it yet!
I did find a somewhat related issue which I posted about here https://expensify.slack.com/archives/C049HHMV9SM/p1686044959556469

I tried reproducing this on iOS Chrome too, and also wasn't able to reproduce there

One thing that's unclear from the reproduction steps, what does this mean?

On task detail page click on Description -> clear title field and press save

I still haven't been able to reproduce this today. I'm closing as a result!


runtime: concurrent map iter+write fatal doesn't respect GOTRACEBACK

Go version
go version go1.22.4 linux/amd64
What did you do?

Introduce a data race on a map (repro: https://go.dev/play/p/rQ1QQ7PMZ86)
Don't have sufficient test coverage that runs concurrently to catch it in CI
Ship it to prod
Have over a million goroutines
Wait an hour....

What did you see happen?
... we hit the race on the map in prod after an hour and 💣
The Go runtime then did its fatal:
fatal error: concurrent map iteration and map write

But then we got 3 GB of GOTRACEBACK stacks from the Go runtime for 1M+ stacks, about 3 GB more than we needed to find the bug, overwhelming our logging system in the process, causing a secondary outage.
GOTRACEBACK docs say:

The failure prints stack traces for all goroutines if there is no current goroutine or the failure is internal to the run-time.

And arguably a map race is internal to the run-time insofar as maps are implemented in the runtime.
But the Go runtime know it's the user's fault; note the "but is used when user code is expected to be at fault for the failure" bit here:
// fatal triggers a fatal error that dumps a stack trace and exits.
//
// fatal is equivalent to throw, but is used when user code is expected to be
// at fault for the failure, such as racing map writes.
//
// fatal does not include runtime frames, system goroutines, or frame metadata
// (fp, sp, pc) in the stack trace unless GOTRACEBACK=system or higher.
//
//go:nosplit
func fatal(s string) {
        // Everything fatal does should be recursively nosplit so it
        // can be called even when it's unsafe to grow the stack.
        systemstack(func() {
                print("fatal error: ")
                printindented(s) // logically printpanicval(s), but avoids convTstring write barrier
                print("\n")
        })

        fatalthrow(throwTypeUser)
}

What did you expect to see?
I'd expect fatalthrow(throwTypeUser) to be treated as a normal panic with GOTRACEBACK=single respected.

Similar Issues

runtime: some runtime throws print all goroutine stack dumps by default #46995
runtime: concurrent map access detection in hashmap.go only catches one stack #26703
runtime/race: document and fix "trap when race detected" #23577
runtime: crash while deleting all keys in map while ranging over it with Go 1.1.2 #6216

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Might there be a discrepancy in this documentation? (from runtime1.go)
// gotraceback returns the current traceback settings.
//
// If level is 0, suppress all tracebacks.
// If level is 1, show tracebacks, but exclude runtime frames.
// If level is 2, show tracebacks including runtime frames.
// If all is set, print all goroutine stacks. Otherwise, print just the current goroutine.
// If crash is set, crash (core dump, etc) after tracebacking.

CC @prattmic I know some time ago you reorganized the fatal/panic/throw code in the runtime, I'm not sure how long ago it was, but possibly relevant? Also, would this still be a problem with the new map implementation?
Putting this into backlog in any case.

Yes, the reorganization was in CL 390421, though I don't think it affected map fatal error behavior. The new maps will behave the same, they use the same fatal path.
All is forced for fatal calls (== throwTypeUser) here. I think it could be changed to not force all easily if we choose to do so.
FWIW, I think getting all goroutines for races is useful since you might want to try to find the other side of the race. But we should probably respect GOTRACEBACK.


add license

it's honest work but someone has to do it. feel free to close and add a different license yourself if you don't like the terms of the MIT license.

SO TRUE !


LiteDBInsertionIssue

Lite DB Insertion was failing. Also Publishing data from Lite DB to DataSource Table was failing for column names containing 'Name' word in it.
Thank you for your contribution.
Before submitting this PR, please make sure:

[x] PR description and commit message should describe the changes done in this PR
[x] Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
[x] Latest Code from master or specific release branch is merged to your branch
[x] No unwanted\commented\junk code is included
[x] No new warning upon build solution
[ ] Code Summary\Comments are added to my code which explains what my code is doing
[ ] Existing unit test cases are passed
[ ] New Unit tests are added for your development
[ ] Sanity Tests are successfully executed for New and Existing Functionality
[ ] Verify that changes are compatible with all relevant browsers and platforms.
[ ] After creating pull request there should not be any conflicts
[ ] Resolve codacy comments
[ ] Builds and checks are passed before PR is sent for review
[ ] Resolve code review comments
[ ] Help Libray document is updated accordingly for Feature changes.

created new


test: test client reference module matches browser hmr module

#99  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @hi-ogawa and the rest of your teammates on  Graphite


Remove a console log

Easy enough. I'd push this straight to master but I figured we could also use this PR to add the associated updates to the version, gemspec, etc

haha did this need a pr? either way :+1: :+1: :+1: :+1: :+1: :+1: :+1:

:+1:

Thanks peeps. I know this was kind of pointless. I'll track down the dev(s) I need to send out a patch release.


@DataObject annotation clarifications for abstract class and interfaces

From the documentation it is unclear to me whether or not a @DataObject notation can be set on an interface.
The JavaDoc mentions:
/**
 * ...
 * A data object can be an interface or an abstract class to accomodate the api design. Data object can extend
 * other data objects.
 * ...
 */

But there is no reference to this in the documentation, nor can I find any use of @DataObject on an interface.
Is this at all supported, and if yes, how is the implementation class found?
Thanks.

only interfaces annotated with @VertxGen are allowed as parameters of methods of @VertxGen classes.
I think we would remove the annotability of interfaces actually.

I am not using this in combination with @VertxGen but to have data objects as parameter in service interfaces and do `@ProxyGen'. In most cases the data objects are concrete classes, but in some occasions it would be nice to have the interface annotated as data object and pass a  compatible (i.e. having the json constructor) instance to it.

thing is that most of the time @ProxyGen are also @VertxGen interfaces

Yes, agreed. So concrete classes are the way to go, I guess.

Thanks!

Hi, thought about this : https://github.com/vert-x3/vertx-codegen/issues/80
would it allow you to fulfill your use case ?

I think that is a nice feature to have, though in my current use case I specifically needed it on an interface.
I have an existing library vertx-jwt-codec (that I'll probably open-source later on) that gives me an instance of a Claims interface that I would like to the data object. The implementation is in impl.ClaimsImpl and should not be in service interfaces.

it would work also on an interface.

Ah great, that would be really cool!

@aschrijver did you look at vertx-auth-jwt? we already have support for jwt since 3.0 with claim support too.

Yes, I did. But I needed a bit more than that. So I created a project that has both an encoder and decoder, a bit more more options to set + validate claims, add claim validators, and then a web handler (not part of project) that does not use the Bearer indicator on the header (it is not OAuth I am using).


New props for change the default lock icon color

New props: lockIconLight= {true}
will change the default color gray dark to gray light for the lock icon.
Necessary for inputs in divs width darknessss backgrounds

There's some great stuff here @pedroparra , thanks so much for taking the time do it.   Screen shot looks really good too.
I know @mmw has some changes he's about to upload as well.  So maybe he could help review this PR?

@pedroparra sorry it has taken me a while to look at this. Nice addition 👍
Can you rebase master into this branch before we merge? Makes it more readable as to what the change is.


Benchmark Ampere Altra Developer Platform - 96 core 2.8 GHz ARM64

As the title says...

With Ps: 1 and Qs: 96:
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :   70717
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :      96
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4       70717   256     1    96             625.64             3.7685e+02
HPL_pdgesv() start time Mon Apr 17 09:47:19 2023

HPL_pdgesv() end time   Mon Apr 17 09:57:44 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   7.57859825e-04 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

Used 220W average (with a few spikes to 236W, but only briefly, and some dips down to 216W). 1.71 Gflops/W

After some suggestions from @rbapat-ampere over in https://github.com/geerlingguy/sbc-reviews/issues/19#issuecomment-1549607679, I'm going to be re-testing with a few different parameters, to get a feel for how things change:
Test matrix:

RAM
Ps / Qs
Blis library
Benchmark Result
Power Consumption

64 GB (4x 16 GB)
4 / 24
default
401.88 Gflops
200W

64 GB (4x 16 GB)
8 / 12
default
TODO
TODO

96 GB (6x 16 GB)
4 / 24
default
TODO
TODO

96 GB (6x 16 GB)
8 / 12
default
TODO
TODO

64 GB (4x 16 GB)
8 / 12
ampere-optimized
TODO
TODO

Trying to get the Ampere-optimized HPL run to work, but currently running into issues: https://github.com/AmpereComputing/HPL-on-Ampere-Altra/issues/3
I was originally going to test things by trying to swap their library into my install, but decided to just end-to-end try testing their docs in that repo.

Result with the ampere-optimized setup following these instructions:
root@adlink-ampere:/opt/hpl-2.3/bin/Altramax_oracleblis# mpirun -np 96 --bind-to core --map-by core --allow-run-as-root ./xhpl
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  100000
NB     :     256
PMAP   : Row-major process mapping
P      :       8
Q      :      12
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      100000   256     8    12             676.82             9.8502e+02
HPL_pdgesv() start time Thu Jun 15 16:18:54 2023

HPL_pdgesv() end time   Thu Jun 15 16:30:11 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.01180641e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

Power measured at average of 270W (spiking to about 272W, dipping to 245W).

Just noting that my M1 Max results may also improved from a native BLAS library—see, for example: https://github.com/JuliaLang/julia/issues/42312

@geerlingguy Glad to see the jump in scores. But we are still leaving some performance on the table.
On the Ampere Altra Developer Platform I was able to get 1253 GFlops for HPL using the optimized BLIS.
Here's a screen cap from the document :

@geerlingguy
I rebuilt, reran HPL + Optimized BLIS from scratch (using the instructions) on a fresh Ubuntu installed AADP and got very similar scores to my previous results.
Here are my current scores
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  105000
NB     :     256
PMAP   : Row-major process mapping
P      :       8
Q      :      12
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      105000   256     8    12             631.81             1.2215e+03
HPL_pdgesv() start time Fri Jun 16 14:10:59 2023

HPL_pdgesv() end time   Fri Jun 16 14:21:31 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.00850780e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

Testbench Details :
OS : 22.04.2 LTS (Jammy Jellyfish) : Desktop Image
Kernel : 5.19.0-42-generic
GCC Toolchain : 12.3.0
Memory used during the test : 89 gig

@rbapat-ampere - I shall reformat and run it again :)

It seems like the RAM vendor is the only major difference—I'm running industrial-type Transcend RAM, and @rbapat-ampere is running Samsung... I may need to change vendors and see if that gets our numbers more in line (stranger things have happened!).
I'm also planning on re-testing on a 128 core CPU soon too...

New result is 1188.3 Gflops at 296W, for 4.01 Gflops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  105000
NB     :     256
PMAP   : Row-major process mapping
P      :       8
Q      :      12
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      105000   256     8    12             649.46             1.1883e+03
HPL_pdgesv() start time Mon Sep 11 20:21:22 2023

HPL_pdgesv() end time   Mon Sep 11 20:32:11 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.00850780e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

Closing this as we have a result!


Fix inconsistent indentation in the FreeDesktop MIME type XML

The MIME type still works with inconsistent indentation, but we may want to fix it anyway.

Thanks!

Cherry-picked for 3.2.3.


No ackowledgement at password reset

I did not remember my password and had to reset it.
At this page I did not got any confirmation whatsoever when I hit the send button so I clicked it again becasue I did not know if it was sent. And I got two reset links on email.
Please add some user confirmation to know that the reset link is sent.

This is by purpose to not disclose any information of existing users.


rio: 0.1.17 -> 0.2.2

Updated the package to 0.2.2. It looks like the entirety of the context:: tests fail under the sandbox - with no error message. I attempted to figure out why but nix develop doesn't repro the issue, I presume it's because a real WM isn't available.
Tested on NixOS. Changelogs:

0.2.0: https://github.com/raphamorim/rio/releases/tag/v0.2.0
0.2.1: https://github.com/raphamorim/rio/releases/tag/v0.2.1
0.2.2: https://github.com/raphamorim/rio/releases/tag/v0.2.2

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

N/A sandbox = relaxed
N/A sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

N/A Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

There's already a PR https://github.com/NixOS/nixpkgs/pull/359621


Need to back out nix changes to buildenv

This commit https://github.com/kontainapp/km/commit/755d49147d5645fb5fd3c69b4615f56ea68d32e6 changed buildenv in an attempt to include NIX for CRUN static builds. That didn't work. Need to back that commit out.  I think this really is as simple as
git revert 755d49147d5645fb5fd3c69b4615f56ea68d32e6

The answer used in the CI is the docker container nixos/nix.

Fixed by #1536


Typescript and Javascript indentation problems

From @ofabricio on March 9, 2017 13:25

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

html-snippets
abusaidm
0.1.0

EditorConfig
EditorConfig
0.6.0

autoimport
steoates
1.2.2

Angular2
UVBrain
0.4.1

Steps to Reproduce:
I made a gif to illustrate:

Notice how C parameter and .do method are not correctly indented after format document depending on .mergeMap position.
It happens either in Typescript or Javascript syntax.
It seems a bug. People in gitter/vscode agreed, so I opened this issue.
Copied from original issue: Microsoft/vscode#22295

Here's the code:
object
    .method(() =>
        1,
        2)

Is currently formatted to:
object
    .method(() =>
        1,
    2)

Also
object.method(() =>
    1,
    2
)
.do()

Is currently formatted to:
object.method(() =>
    1,
    2
)
    .do()

And
object
    .method(
        1,
        2
    )
    .do()

to:
object
    .mergeMap(
    1,
    2
    )
    .do()

Another example from https://github.com/Microsoft/vscode/issues/23482:
func(1)
    .subscribe(
    1,
    2
    )

is left unformatted. The expected formatting here would be:
func(1)
    .subscribe(
        1,
        2
    )


Auto paste selected text into the Extension

Issue
Currently the user has to paste the text into the text box of the extension popup to generate a QR.
Enhancement
If the user has already copied some text, when they click on the extension icon, the text should already be pasted and the QR code, generated

I can take this

@all-contributors please add @Chinmay-KB for code

@all-contributors please add @rugglcon for code


feat(rspack-cli): support more flags for command serve

Summary
closes #7573
Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

Thank you! Would you please add a test case?


fix event propagation issue affect keydown events

We noticed that when selecting the url bar and hitting Ctrl+Enter, the request send hotkey was not firing.  All the others still worked (e.g. F5, Ctrl+R).
We bisected down to the commit that upgraded React, and found the cause to be the (purportedly very rare) issue described here: https://reactjs.org/blog/2020/08/10/react-v17-rc.html#fixing-potential-issues

I haven't done enough investigation but thought I'd chime in after a cursory read. Just want to make sure I'm understanding what's going on here.
Based on the react changelog link that you provided above, it looks like event propagation now works more like the DOM with react 17. It also seems like this change would "reveal bugs" in our event code. But in this case, it seems like we want the event listeners to happen during the capture phase (I don't know exactly what that is), which will make it so that we don't "miss events".
I guess my question is: Are we confident that this is the right way to solve the problem? Or is this exposing a bug (or bugs)?

THIS line is the reason why enter key was being stopped, but not others.  I couldn't find it in the initial search because we're using the literal number, 13, not .enter like (almost) everywhere else.

THIS line is the reason why enter key was being stopped, but not others. I couldn't find it in the initial search because we're using the literal number, 13, not .enter like (almost) everywhere else.

That looks ... ugly XD. Makes me wonder if we would need this PR if we did the submit in a different way. But I trust your fix.


Include hyper-gateway version number in responses

This would allow us to ensure that we're using the latest version.

Yeah, it'd be cool to return a JSON file on a GET to /. Maybe it could also give the info about the hypercore-fetch and hyper-sdk versions.

Yeah, it'd be cool to return a JSON file on a GET to /.

With a special GET request header, right? The behavior of GET on / is already defined: JSON array of top-level contents.
Alternatively, would it be too much overhead to send X-HYPER-GATEWAY-VERSION and X-HYPERCORE-FETCH-VERSION headers with every response?

GET on / isn't the JSON array of files. That's a GET on /hyper/key/
So we should be able to put whatever we want in there.

My mistake. Okay - this sounds good to me!

Also, it appears that hyper-gateway --version returns "unknown". If you like, I can make a separate issue about this!

Added in 3.3.0

Try accessing http://localhost:4973/

Works great! We added a function in hyperdrive.el which uses this.


chore: Use https instead of ssh for cloning

I have read the CLA Document and I hereby sign the CLA


Fix that crash when initializing 0-400 memory in Basic ROM

Process abort due to assert in debug C library, removed that which fixed things.


[extractor/detik] Generalize detik extractor

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

This PR add site-support for www.cnnindonesia.com. This site is Indonesian news sites that seems to use detik player. However, this PR didn't use detikVideo Player. This PR get video from embed_url from json_ld and then make request from there. In the embed_webpage, this extractor search videoUrl: ' string and then extract them as m3u8
Fixes #
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[x] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

This appears to use the same underlying video player and logic as https://github.com/yt-dlp/yt-dlp/pull/4885/ no? Maybe we should look into creating some generic webpage Detik video extractor.

This appears to use the same underlying video player and logic as https://github.com/yt-dlp/yt-dlp/pull/4885 no?

Yeah, it use same logic. I just split them because it very related to cnn but use detik player.

Maybe we should look into creating some generic webpage Detik video extractor in which this extractor will pass the embed_url onto (via generic) ?

I think this good idea, but i looking for more reliable source by using the player in js and use them to extract so it more consistent across sites that use the player

embedUrl seems to be a standard part of VideoObject so maybe that could even be generalised 🤔

I'm quite sure this not implemented yet to prevent 'false' url (ref: https://github.com/yt-dlp/yt-dlp/issues/4016#issuecomment-1166482439)

This appears to use the same underlying video player and logic as #4885 no?

Yeah, it use same video player. I just split them because it very related to cnn but use detik player. The cnn use a bit different regex though

From what I see the CNN has the embedUrl, which links to a page which contains the generic Detik player. The source for player in #4885  looks a little different hence the different regex, but still looks standardized. Just different "type" of detik player I think (flowplayer?)
Making it generic will allow us to add support for any webpage that has this player in one go.
E.g. view-source:https://20.detik.com/e-flash/20220912-220912149/tangkisan-kasetpres-soal-hacker-bjorka-klaim-bobol-data-presiden-jokowi is also using it (same format as this CNN embed one in this case)
This one is similar to CNN, using embed url to embed a page with the player: view-source:https://hot.detik.com/video/220912145/yang-perlu-diperhatikan-sebelum-beli-tiket-konser-nct-127
I see that you also added a 20.detik.com extractor a while back too - https://github.com/yt-dlp/yt-dlp/pull/4284. This probably also could be generalised under the same system.

Maybe we should look into creating some generic webpage Detik video extractor in which this extractor will pass the embed_url onto (via generic) ?

I think this good idea, but i looking for more reliable source by using the player in js and use them to extract so it more consistent across sites that use the player

?

embedUrl seems to be a standard part of VideoObject so maybe that could even be generalised thinking

I'm quite sure this not implemented yet to prevent 'false' url (ref: #4016 (comment))

Ah damn. This part would have to depend on https://github.com/yt-dlp/yt-dlp/pull/4517, so no point

Closed #4885 as this PR included in DetikEmbedIE

Sometimes it is also worth looking at other sites in the detik network as well to get a broader view. https://www.detik.com/ seems to list most of them, either in the header or footer
from a quick look myself:
www.cxomedia.id/, www.cnbcindonesia.com, www.haibunda.com and most the others pretty much has same handling as CNN (via VideoObject embedUrl)
and these all have an embed url like https://<domain>/embed/video/<some id>. but not sure if that is useful.
also you have all of what seems to be detik meta attributes you could maybe make use of e.g. dtk:createddateunix

from a quick look myself:
www.cxomedia.id/, www.cnbcindonesia.com, www.haibunda.com and most the others pretty much has same handling as CNN (via VideoObject embedUrl)
and these all have an embed url like https:///embed/video/. but not sure if that is useful.

I Include some of these in DetikEmbedIE test case. However, i think these link didn't need DetikEmbed as they also have contentUrl that can be extracted normally by GenericIE without DetikEmbedIE

[CNNIndonesia] delete 'id' in return
This step actually optional as the id that return from detikEmbed and cnn is the same

Either u misunderstood my comment, or I am misunderstanding the commit message.
I meant delete the id if it is NOT the same as the final id

Either u misunderstood my comment, or I am misunderstanding the commit message.
I meant delete the id if it is NOT the same as the final id

I understand what you mean. It better to set video_id based on the 'real' extractor  imo. They may change their player to another

Anyway, should i delete Detik20IE in supportedsites.md ?

No. That is automated


Throw an error when layout is no string

What problem does this feature solve?
The layout property should only allow strings (and Promises internally). If you set the layout to an array (for example), no error is shown. Only a Warning (coming from Vue directly):
[Vue warn]: Avoid using non-primitive value as key, use string/number value instead.

(found in <Root>)

A decent error message would be great to see here!
To get started, the source code for setting and evaluating the layout is here

This feature request is available on Nuxt community (#c7888)

I think I might be able to help out on this one.

@KCN8 Please do so! ☺
Looking forward to the PR :)
If you have questions, feel free to drop a message in the Discord or in your PR. Our Contribution Guide can be found here

Can I take this ?


get normal Arrays instead of __set_state

Hello!
Thanks for your contribution! The only feedback I have is that we should probably make this optional. Just in case people feel partial to objects or their code requires them for some reason.
Maybe something like:
public function deserialize($to_array = false)
{
    $decoded = json_decode($this->body, (bool) $to_array);
    if (!$decoded) {
        throw new MailchimpException("Unable to deserialize response");
    }
    return $decoded;
}

😜

That's even better. :D

If you want to push a new commit with those changes, we can get this in! 😄


Question about the use of the debug package

Thanks for this awesome module. I've enjoyed using it a few times.
Why is debug not a dependency? This forces that you require it inside a try block, which (if i'm not mistaken) prevents that scope from being fully optimized by v8. I am sure there is a reason for this and want to understand why. thanks!

This was from a time when I was trying to avoid any dependencies. you're right that it doesn't make sense to keep it now. Having it as a devDependency makes a lot of sense.
―A

On 5 May 2015, at 19:54, Jeff H. Parrish<EMAIL_ADDRESS>wrote:
Thanks for this awesome module. I've enjoyed using it a few times.
Why is debug not a dependency? This forces that you require it inside a try block, which (if i'm not mistaken) prevents that scope from being fully optimized by v8. I am sure there is a reason for this and want to understand why. thanks!
―
Reply to this email directly or view it on GitHub.

Sounds good. Actually my concern was the performance at (very) high scale when the connection.js module cannot be fully optimized by v8 due to the try/catch being in there.
Since dev dependencies could theoretically be shipped without the production software (npm i --production is common), we'd have to keep the try/catch during the require('debug'). I guess one way around that is to put the try/catch inside a self executing function. Another way is just to call it a dependency.
The code was a little cleaner in the latter scenario, so I will put that in a PR. Definitely I won't be offended if you decline it though.
debug is a normal/non-dev dependency in a lot of highly performant projects (express, etc). It shouldn't really be doing anything unless those DEBUG= environment variables are present.


make_seconds_since_midnight function

It looks good, but make sure in changes made for test_read_data that the filename value shoudl be the file path or just the filename.

Good point. The filename should work if its in the same working directory


Add file logging

This PR consolidates logs from both the renderer and the main process using electron-log and prints them to the console + logs them to file when the app is running in production mode.
It hijacks the console.log/warn/etc methods in order to handle all our current logs, but when adding new logs we should use the ./common/log util instead moving forward.
For now, all log levels are printed and recording, but we might want to change that in the future (for example, by setting different levels in development vs production builds, or have a setting in the app for more verbose logging)

Yep, will be adding a help article about it shortly.

I'm wondering if we should update the documentation to inform where the logs can be found?

I couldn't see whether we provide any prefix for the log file. Does it automatically use the app name, and where is the file stored?

As per the electron-log documentation, they're stored in the following locations:
on Linux: ~/.config/{app name}/logs/{process type}.log
on macOS: ~/Library/Logs/{app name}/{process type}.log
on Windows: %USERPROFILE%\AppData\Roaming\{app name}\logs\{process type}.log

Eg ~/Library/Logs/Insomnia/main.log and ~/Library/Logs/Insomnia/renderer.log for Core on macOS.

Do log files ever get cleared (not sure what is best practice here).

The log file gets rotated upon every startup (and thus overwrites the previously rotated file if present), so we only store the log for the current run + the log of the previous app run.

It might be worth adding an item to the Help menu item for "Show Log File/folder" or something similar, if it's not stored in the app data folder.

We're using fairly standard logging locations, and those locations will be documented, so while I think this is worthwhile doing in the future (as I mentioned in the Linear issue a while back), I'm opting for it to be done in a future PR instead of this one, as there are more urgent priorities currently.


multiple record ADD lost because of one error

When adding multiple records, if one is in wrong format, al update fails an all input lost.
EX:  Record a.pipo.com./CNAME 'pepe.com': Not in expected format (parsed as 'pepe.com.')

Indeed. I would actually consider this 2 issues. Firstly that this system needs to make the input of CNAME and other similar record types easier and more fault-tolerant, and secondly what you reported - that data is lost if the submit fails.
The first part I am actually already working on.

Both parts of this issue are addressed in #10


Update document generating tools to newer versions

We settled in on specific versions of tools for our project documentation, specifically:
breathe          version: 4.9.1
docutils         version: 0.14
sphinx           version: 1.7.7
sphinx_rtd_theme version: 0.4.3
doxygen          version: 1.8.13

We've had issues upgrading some of the tools to their latest versions in the past, but now we're rather far behind.  We should investigate moving to later versions of these tools, fix issues encountered, and make it so.   (Switching tools will likely affect the known issues processing we do to remove expected error and warning messages from the doc build output.)  We may also be able to enable multi-processing on newer versions of these tools to speed up the doc build process.

This is not applicable anymore.


Inconsistent styling on forum buttons and dropdowns

And some of the dropdowns are not styled correctly:

Link to repository: https://github.com/freeCodeCamp/forum-theme

which page  can you put more information regarding this issue?

@H1rkul2, https://freecodecamp.org/forum.

if it needs to solved quickly I might not be the right person but otherwise, I can look into this.

@LaurentLabine there is no deadline on a fix for this, although we would want this to fixed soon. If you are interested you should probably start by visiting the linked repository in the first comment on this issue thread.
There are some pointers on working on discourse themes.
Once you make some progress, let us know here or in our chat room.

Alright, Sounds good!
I managed to run a local version of the discourse forum on my laptop and apply it the Theme in order to reproduce the issue so I'd say so far so good and I'm getting into it now!

Just to repeat from chat:
From just poking in the devtools, this is what I would look into:

Give the ol a margin: 0 0 var(--nav-space)
Get rid of the .category-breadcrumb.select-kit-header margin-bottom: var(--nav-space)
Get rid of the .list-controls .combo-box .combo-box-header height: 38px
The font-size is up for discussion, but I would leave it as is.

Thanks for your input!
I managed to find the combination of overwriting the margin to 0 and setting height to 42px seems to work.  Submitted a pull request with the changes : https://github.com/freeCodeCamp/forum-theme/pull/45.
Thanks again!

For the dropdown, it seems like the parent element is not respecting the size of the child element and causes the padding to overlap the child element.
element size:

containing element

I think just changing the display property of the child or containing element properly should do it; However, I want not able to land on a solution.

But what about the Dropdown we can make it distinctive from the background for example give it a shadow or a border to support hierarchy

@AhmedIbrahim336, so our strategy with the forum theme is to stay as close to the defaults as possible. The dropdown has a carrot icon that makes its functionality obvious.

We have enabled the /styleguide path on the forum for you all to debug things better. It's available here: https://forum.freecodecamp.org/styleguide


Models fail to load "The text encoders (CLIP) failed to load"

Expected Behavior
load model normal.
Actual Behavior
failed to load model.
Steps to Reproduce
Download model PixelWave Flux.1-dev 03 fp8 version or here, then load.
try to modify clip-l, t5xxl and Dtype , but bug still exists.
Debug Logs
19:52:16.126 [Info] User local requested 1 image with model 'Flux/pixelwave_flux1_dev_fp8_03.safetensors'...
19:52:16.150 [Warning] [ComfyUI-0/STDERR] Traceback (most recent call last):
19:52:16.151 [Warning] [ComfyUI-0/STDERR]   File "dev/comfyui/execution.py", line 323, in execute
19:52:16.151 [Warning] [ComfyUI-0/STDERR]     output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
19:52:16.151 [Warning] [ComfyUI-0/STDERR]                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19:52:16.151 [Warning] [ComfyUI-0/STDERR]   File "dev/comfyui/execution.py", line 198, in get_output_data
19:52:16.151 [Warning] [ComfyUI-0/STDERR]     return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
19:52:16.151 [Warning] [ComfyUI-0/STDERR]                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19:52:16.151 [Warning] [ComfyUI-0/STDERR]   File "dev/comfyui/execution.py", line 169, in _map_node_over_list
19:52:16.151 [Warning] [ComfyUI-0/STDERR]     process_inputs(input_dict, i)
19:52:16.151 [Warning] [ComfyUI-0/STDERR]   File "dev/comfyui/execution.py", line 158, in process_inputs
19:52:16.151 [Warning] [ComfyUI-0/STDERR]     results.append(getattr(obj, func)(**inputs))
19:52:16.151 [Warning] [ComfyUI-0/STDERR]                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19:52:16.151 [Warning] [ComfyUI-0/STDERR]   File "dev/swarmui/src/BuiltinExtensions/ComfyUIBackend/ExtraNodes/SwarmComfyCommon/SwarmInternalUtil.py", line 48, in just_load
19:52:16.152 [Warning] [ComfyUI-0/STDERR]     raise ValueError("The text encoders (CLIP) failed to load")
19:52:16.152 [Warning] [ComfyUI-0/STDERR] ValueError: The text encoders (CLIP) failed to load
19:52:16.152 [Warning] [ComfyUI-0/STDERR]
19:52:16.375 [Error] [BackendHandler] backend #0 failed to load model with error: ComfyUI execution error: The text encoders (CLIP) failed to load
19:52:16.375 [Warning] [BackendHandler] backend #0 failed to load model Flux/pixelwave_flux1_dev_fp8_03.safetensors
19:52:17.129 [Warning] [BackendHandler] All backends failed to load the model 'dev/swarmui/Models/Stable-Diffusion/Flux/pixelwave_flux1_dev_fp8_03.safetensors'! Cannot generate anything.
19:52:17.129 [Error] [BackendHandler] Backend request #7 failed: All available backends failed to load the model 'dev/swarmui/Models/Stable-Diffusion/Flux/pixelwave_flux1_dev_fp8_03.safetensors'.
19:52:17.129 [Error] [BackendHandler] Backend request #7 failed: All available backends failed to load the model 'dev/swarmui/Models/Stable-Diffusion/Flux/pixelwave_flux1_dev_fp8_03.safetensors'.

Other
No response

That's a backbone-only model, it needs to be in the diffusion_models folder instead of the usual stable-diffusion models folder


Fix #21 By removing redundant (incorrect) early check about copy length

This checks insertion length but waits until the dictionary transforms are performed to do the copy length metablock length check

With the fix for #23 I've run it on over 2000 files on my hard disk and so far all of them have round tripped in all combinations of window size = 16,18,20,22 and compression_quality 1..11
So that's good news! I'll keep running it on more files

@danielrh  Again, thanks a lot for all your effort! The changes do look good and plausible. IIRC, the early check was originally a measure to avoid a possible DOS attack using a specific invalid stream.
However, that specific stream turned out to work only in combination with a different bug, that has since been fixed. The early check was left in since it seemed beneficial to reject invalid streams as early as possible, but obviously your findings show that it could reject perfectly valid streams.
I want to have a more thorough look over the changes tomorrow, and will merge then.


The performance is different from the results shown in the paper.

I deployed mplug-owl locally and tried to input several pictures given in the paper, but the results were not very ideal. May I ask what is the reason? If it is affected by the parameters of generate, can you tell me a set of suitable parameters? (temperature, top_k,...)

For example 1：
What is unusual about this picture, please describe it in detail.
The unusual aspect of this scene is a man standing on top of a laundry basket, which is being pulled by a yellow taxi. The taxi is moving down a busy street and the man appears to be balancing on top of the basket as it moves along the pavement. It is an unusual and potentially hazardous sight to see a man standing on a moving laundry basket, especially in a busy city setting.

Since we have retrained the model with the latest version. There might be some difference in the results. Besides, the prompt you provided is different what we tried in the paper.
And the top_k sampling might lead to the difference results, but the overall performance is similar.

Thanks for your reply @MAGAer13


Create 0018-4Sum.md

Created LeetCode Solution of Problem 0018-4Sum.md
848
Description
Given an array nums of n integers, return an array of all the unique quadruplets [nums[a], nums[b], nums[c], nums[d]]
Type of PR

[ ] Bug fix
[x] Feature enhancement
[x] Documentation update
[ ] Other (specify): _______________

Checklist

[x] I have performed a self-review of my code.
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Resources for Guidance
Here are some resources that may be helpful as you contribute to CodeHarborHub:

Code Harbor Hub Community Features
Docusaurus Documentation
React.js Documentation
Markdown Guide
MDX Documentation
Mermaid Documentation

Resources for DSA Features on Our Site:

Tabs: Switch Languages
Line Numbering
Math Equations

@Ajay-Dhangar , Thank You so much for your suggestions.


Add RSeQC version number to report

Suggestion to add RSeQC version number to 'Software Versions' section in report.
The "echo" was there already, just needed to forward stdout to 'get_software_versions' process.

Hi @rfenouil,
The other bigger pull request is now merged, which breaks this PR. Sorry again about that! I'll close this now.
Phil


Reduce CI false positives

I think something like this will address #3378, both the false positives in installation failures and the specific error encountered in CI.
If this approach works, we can add more guards like this around installation paths.

Thanks! Solves the first issue with #3378, does need a rebase on top of the current 1.21-dev (44ff0bc)

Rebased now.


Allow changing date format in the milestone create page

Description
The "due date" field in the create milestone page is in American format.
It'd be great if we could change it either to YYYY-MM-DD (prefered) or to DD-MM-YYYY.
Not sure if there are other date inputs, but this is the one I use the most and it's very confusing as a non-American.
Related: https://github.com/orgs/community/discussions/16693
Screenshot

Example URLs
https://github.com/refined-github/refined-github/milestones/new
https://github.com/<user/org>/<repo>/milestones/new

There is now a date picker:


Camera freeze in white screen

The issue can be reproduced as follow:

start the ocr by pressing "scan" in the demo
the camera view show "some frame" for a while
than it "fade" in white nothing can be done to acquire the MRZ

Tested on iPhone 6S and iOS 12.

There is an auto brightness adjustment. I thought this had an upper and lower limit. It looks like ik goes to infinite. Do you have the same result when you start scan and the camera is already pointed to a document?

Now fixe after PR merge and publish as version 4.0.0


Need package documentation on the workspace concept

Hi YTT friends...
Whats the definition of a ytt workspace  ?
For example, i see: https://github.com/vmware-tanzu/carvel-ytt/tree/develop/pkg/workspace, and theres a generic concept of a Library which, seems to be a recursive datastructure that references other libraries…
If I had to guess, I'd say

a "workspace" references the "file root" of the place where your "doing stuff"
YTT generally expects that, for any given command, the "root" of your current working directory is a "workspace" which may have multiple children (libraries) in it

type Library struct {
	name     string
	private  bool // in _ytt_lib
	children []*Library
	files    []*files.File
}

but then again, im just totally guessing, so I guess my ask would be here, that maybe we add package level docs/README or something to the pkg/workspace :)

(associated conversation: https://kubernetes.slack.com/archives/CH8KCCKA5/p1632838181464500)

In our conversation on Slack (noted, above), it appears that you're looking at various ways to integrate with ytt.
Seems like this might be most fruitful as a synchronous conversation.
As noted in that thread, we are in the midst of a campaign of including Godoc as we make modifications to the code: package and exported type documentation is forth-coming.
I'm going to close this issue, for now... and we can continue our chat at least in the Slack thread (if not more synchronously). If you think this is a mistake, feel free to say so here, and we'll review.


Handle error await request.json() loop

async def http_error_handler(request: Request, exc: HTTPException) -> JSONResponse:
    track_id = None
    ip = None
    if request:
        track_id = f'{request.client.host.replace(".", "")}{generate_track_id()}'
        ip = request.client.host
    data_return = {
        "track_id": track_id,
        "ip": ip,
        "error": {
            "code": exc.status_code,
            "message": exc.detail
        }

    }
    print(await request.json()) #loop

What is the question/problem? I'd say the code provided in your issue should contain a minimal reproducible example, so we can try it.