vite error: no such file or directory @heroicons/react/outline/esm/index.js

vite + typescript + @heroicons/react 2.0.8
3:50:01 PM [vite] error while updating dependencies:
Error: ENOENT: no such file or directory, open<EMAIL_ADDRESS>    at Object.openSync (node:fs:585:3)
    at Object.readFileSync (node:fs:453:35)

After clean folders, it works now.


Less of an issue and more of an addition (maybe?)

Hi, I'm only on part 3 but it annoyed me how the terrain blended together so blandly, so I decided to implement shader support since Ursina comes with some prepackaged ones.
Writing custom shader code for the project, but experimented with the prebuilt ones from Ursina and got favorable results.
Just used a temporary DirectionalLight entity to cast light so the lit_with_shadows_shader will do it's thing.
Will definitely post when I have a flawless version running.
Accidently made a celshading-type bi-product

This is awesome! So sorry that I hadn't seen it before now, buddy. Brilliant.


mvapich: init at 2.3.6

Motivation for this change
Another MPI implementation optimized for Infiniband networks.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

All cleared.

Result of nixpkgs-review pr 125267 at 95bcd74d run on x86_64-linux 1

1 package built successfully:

mvapich

2 suggestions:

warning: stale-substitute
Stale substituteInPlace detected.
substituteStream(): WARNING: pattern 'CC="gfortran"' doesn't match anything in file '/nix/store/2ifxld2sh6d6y98c06fk6mb0xhmvapv4-mvapich-2.3.6/bin/mpifort'
Near pkgs/development/libraries/mvapich/default.nix:67:0:
   |
67 |     description = "MPI-3.1 implementation optimized for Infiband transport";
   | ^

warning: stale-substitute
Stale substituteInPlace detected.
substituteStream(): WARNING: pattern 'CC="g++"' doesn't match anything in file '/nix/store/2ifxld2sh6d6y98c06fk6mb0xhmvapv4-mvapich-2.3.6/bin/mpicxx'
Near pkgs/development/libraries/mvapich/default.nix:67:0:
   |
67 |     description = "MPI-3.1 implementation optimized for Infiband transport";
   | ^


How to add more sites?

Looking at the code I'm assuming the best way to add my site is to leave a comment and wait for you to update the list. Is that right?

Correct https://news.ycombinator.com/item?id=36627385

https://github.com/outcoldman/hackernews-personal-blogs#contributing - also updated README


Increase pass rate to two decimal places: #13

I've taken a stab at #13 .
In this version all the math is done on a ratio rounded to 2 decimal places.
The large number that displays the ratio is floored to 1 decimal place.
The tooltip shows the 2 decimal place value.
eg:
background: white / text color: hsla(200,0%,0%,.414)
On current version marks as passed (AA above 18pt). Shows a value of '3' in main bubble.
http://leaverou.github.io/contrast-ratio/#hsla(200%2C0%25%2C0%25%2C.414)-on-white
On my version marks as fail. Shows a value of 2.9 in main bubble. In tooltip it says 'precise value: 2.96'.
https://chrisboon.github.io/contrast-ratio/#hsla(200%2C0%25%2C0%25%2C.414)-on-white
Honestly, whilst the code works I'm not sure this is a better experience than what you have now. Figured it was worth coding up and letting people decide though.

as the rounding issue bubbled up in discussions again... https://twitter.com/accessibleweb/status/981867297584361472

I fixed this by just changing the display to 2 decimal points and flooring instead of rounding. No need to a separate "precise value", that makes the display confusing if you don't see why the ratio is failing.
Thanks for contributing though, and sorry I could not merge this time!

No problem, I agree it didn't work from a UX perspective. I just coded it up like that as it seemed that was the consensus that was reached in issue #13.
I did consider proposing an alternative where it only showed the extra precision in the main UI when it was close to one of the WCAG thresholds. Never got round to it though.


Performance improvement in AssertionInfo.

By using char const * instead of std::string we avoid significant
copying per assertion.  In a simple loop with 10000000 CHECKS on
my system, this reduces the run time from 9.8s to 6s.

Description

GitHub Issues

Ill take a look at this on the train, but first one more question: what exactly was your benchmark and is it measured with any optimizations?

I can't provide the code, but basically -O3 optimized on gcc.  Pseudo code for the test with an rdtsc time source.
Time start = now();
for(int i = 0; i < 10000000; ++i)
CHECK(now() - start < 10_seconds);
The time in here is just used as work to do that can't be completely optimized away, not for benchmarking.  For the runtime of the test, my build system tells me how long it ran, /usr/bin/time would work just fine for this purpose.  Or you could just output your equivalent of now() - start after the loop.

Ok, we have something similarly simple as Benchmark binary...
I will merge this and open a new branch you should check out, it removes the second argument and thus quite a lot of the extra concatenation. It doesn't quite pass approval tests, but it would be fairly simple to fix that and the perf gain might be worthwhile.

Ok, performance gains from dev-second-string-argument-removal should be final for those changes.

I tested out dev-second-string-argument-removal, it neither improved or regressed performance, so seems fine to me.
I've also discovered that the single most expensive operation remaining is the construction/destruction of the std::ostringstream.  removing this drops a test with 100M instead of 10M iterations from 60s->5.5s.  A further drop from 5.5s->0.2s is achievable by avoiding building the assertion results and 'handling' them in the case of success.  That said, I have not achieved either of these changes while maintaining your tests of course.  But it's still useful information for where to focus future changes.

Yeah, I started a proof-of-concept rewrite of they core that did no eager conversions (and didn't use stringstreams at all.
I'm going to be taking a serious look at incorporating some of the ideas once I get v2.0 released.

PR #939 eliminates the construction/destruction of the std::ostringstream while passing the tests.  Hopefully another easy win.

For Catch v2.0, if you'll accept the suggestion, it may be worth benchmarking the assertions compared to the cost of an if-statement.  If that seems too restrictive, I wouldn't throw away that benchmark, but perhaps add a couple, one that include incrementing a count, not sure what the third should be but I'm sure you could come up with one.
Fundamentally, the real value Catch will add will be in the exceptional case of failure (or the user wanting full results), and that's where all the cost should lie.  Successful tests that are never reported should be as close to free as possible.
Once my last PR is merged, Catch assertions will be 40x faster! :)  But still 50x slower than a simple if.  Most of this is in the ostringstream.  But more than I expected is in the evaluation of whether successful tests should be included, in the increment of passed tests, and in the deferred checking of success or failure.
In Catch, I will reach a point of diminishing returns in continuing optimization soon, but if you're writing something from scratch, there are often ways to implement the features that will give you the benefits you want without costing in performance.  It's much harder to perfectly match results when optimizing after the fact, at least for large structural optimizations.

For Catch 2 the plan is to defer (almost) all the cost to the reporters - by passing just references to the original, typed, objects that are still on the stack in the assertion. It's up the reporters whether they will obtain a stringified representation or not (depending on whether the assertion passed or not, whether the -s option has been passed, or whether the reporter always logs all results, regardless.
I did it this way in my proof-of-concept spike to Catch2 and it worked very well - so I'm going to try to steer the current implementation that way.


Website is lacking pictures

Sorry for screenshots, it's the easiest way to report. Also, sorry doing that in this repo, couldn't find any other place.

Thanks for reporting this one, as soon as we're at version 3.0 we'll update the site which will fix this one!


Default generic values are lost when InstanceType used to infer return type of a constructor

TypeScript Version:  4.1.3

Search Terms:
infer generic default InstanceType
Code
type Newable = new (...args: any[]) => any;

function construct<T extends Newable>(type: T): InstanceType<T>{
    return new type();
}

type Cars = "Porsche" | "BNW" | "Mercedes";

class Collection<T extends string = Cars>{

    addItem(item: T){}

}

const instance = construct(Collection); // typed as MyClass<string> NOT MyClass<Cars>

Expected behavior:
instance should be typed as MyClass<Cars>
Actual behavior:
instance should be typed as MyClass<string>
Playground Link:
link

The default only applies during a direct call when no inference candidates are present. Defining InstanceType<typeof Collection> to be Cars would be unsound.


Update Shaded Hadoop POM

Shaded Hadoop should be versioned at ${ufs.hadoop.version}

after build passes and merge to master, please cherry-pick to branch-2.1

@ZacBlanco  master is good (not touched by the release plugin in master branch). this PR is going to branch-2.1

Merged build finished. Test PASSed.

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

Ah I didn't look at the target branch. Thanks for updating!

alluxio-bot, merge this please


UEFI boot on roc-rk3399-pc doesn't work with any distribution

Hello!
I was able to successfully flash 2021.10-005 release to SPI of roc-rk3399-pc, but I was not able to boot any UEFI iso (although booting Armbian images works). I getting into GRUB2 of Debian 11.2/12, Fedora 36/37 and openSUSE Leap 15.4 images, however I can not get to the installer itself. Debian and Fedora always stuck right after GRUB2 (black screen or "Booting a command list" if I trying to add nomodeset to kernel boot options) while openSUSE clearly attempt to boot kernel (screen flicker, so I guess rockchipdrm driver is trying to configure display; I also seeing same behavior with Manjaro ARM images) however in all three cases I get black screen and power down after some time.
So is this some Tow-Boot/uboot bug or just poor/regressed board support by upstream and/or distributions?

Same happens for me on Pinebook Pro. It loads a functioning grub, but after that it just stops loading anything.
I tested with the Fedora Workstation 36 raw image.

Still a bit early as I didn't check with TowBoot specifically however I am booting with systemd-boot successfully on my Pinebook Pro.
Most likely I'm not getting the device tree stuff as the display turns off right when the kernel loads however it does boot successfully with UEFI :slightly_smiling_face:
The TowBoot check will be done tomorrow.

Great success!
Booting in UEFI mode with TowBoot + Systemd Boot.
After the initial setup, install the kernel with:
kernel-install add <version> <kernel_image> <initramfs>

For Manjaro ARM this looks like so:
kernel-install add 5.19.8-1-MANJARO-ARM /boot/Image /boot/initramfs-linux.img

No idea why I had to pass exactly the version that is /usr/lib/modules but yeah.
If you aren't using TowBoot, most likely you would have to pass the devicetree in the loader entry like so:
title      Manjaro ARM
version    5.19.8-1-MANJARO-ARM
machine-id 2cc62178df8042989699bd78ff0f842f
options    console=ttyS2,1500000 root=PARTUUID=2724a9ad-2c3a-4fe1-a3bb-b437422731d3 rw rootwait audit=0
linux      /2cc62178df8042989699bd78ff0f842f/5.19.8-1-MANJARO-ARM/linux
devicetree /dtbs/rk3399-pinebook-pro.dtb
initrd     /2cc62178df8042989699bd78ff0f842f/5.19.8-1-MANJARO-ARM/initrd

(I've copied over the dtbs to my /efi dir for my first attempts)
With TowBoot however, you don't need to pass or have the dtb in the /efi dir - it's passed as expected by TowBoot. Example entry in /efi/loader/entries:
title      Manjaro ARM
version    5.19.8-1-MANJARO-ARM
machine-id 2cc62178df8042989699bd78ff0f842f
options    console=ttyS2,115200 root=PARTUUID=2724a9ad-2c3a-4fe1-a3bb-b437422731d3 rw rootwait audit=0
linux      /2cc62178df8042989699bd78ff0f842f/5.19.8-1-MANJARO-ARM/linux
initrd     /2cc62178df8042989699bd78ff0f842f/5.19.8-1-MANJARO-ARM/initrd

Notice that I've changed the ttyS2 baud so that it will match TowBoot :slightly_smiling_face:

@psstoyanov did you tried to boot images with GRUB2?
I using Tow-Boot of course (which is why I filled this bug report) and I tried to pass several different device trees, which didn't lead my anywhere. I also tried a couple of other PSU, tried to boot without attached USB cable, etc.
Just tried vendor image which is also does not work (but only with Tow-Boot). However, this one managed to display boot log for several second before board shut down itself (however this image managed to somehow corrupt root partition during such shutdown, which didn't happened with other images).

I've had similar trouble with Fedora on my PBP. After the install is completed, it reaches Grub but once you try to boot an entry, you get no feedback.
It could be that I didn't wait long enough, I haven't followed the instructions in the docs or something else. It's been some time since I had to waste time dealing with grub and I would like to avoid it if possible :slightly_smiling_face:
I haven't tried Debian since I learned Tow-Boot (so a few weeks ago).
No idea about Ubuntu - I've lost the thread there long ago.
While inconvenient, trying Arch or Manjaro with systemd-boot (or one of your preferred distros - Fedora/ Debian) can be a good check to eliminate the possibility of problems with your specific board.
Note:
With systemd-boot , the kernel-install add command likes to set the wrong PARTUUID if you are installing from chroot. Check the UUIDs in /efi/loader/entries/ afterwards. I haven't experienced this issue from booted system.
I know @Strit used Grub successfully yesterday with Manjaro and TowBoot 005.
Personally, after the whole experimentation phase as systemd-boot is new to me, I find systemd-boot to be far easier to deal with than Grub. Even if there is less information about it

I've had similar trouble with Fedora on my PBP. After the install is completed, it reaches Grub but once you try to boot an entry, you get no feedback.

On PBP you at least was able to complete install, while in case of roc-rk3399-pc:

I getting into GRUB2 of Debian 11.2/12, Fedora 36/37 and openSUSE Leap 15.4 images, however I can not get to the installer itself

moreover:

in all three cases I get black screen and power down after some time

So this is certainly not similar case in my opinion.
As for systemd-boot I guess it makes sense to try it. I will try to do it later after checking situation with aml-s905x-cc and 2022.07 PR as I don't have any board with have good Tow-Boot support on hands right now.

A couple of more datapoints:

Image by LibreTech (with heavy patched u-boot 2022.10rc5 and even more heavily patched Linux 5.19.17) boot in UEFI mode.
Image from this page fail in the same way as Tow-Boot right now, so I guess it's something broken in upstream (probably in both of u-boot and kernel).

Just want to let you know that I was able to boot regular Linux 6.0 build from Debian repository with LibreTech's u-boot in UEFI mode. So it's either something that in their uboot patches or in DeviceTree they ship with their u-boot build. Interestingly, if I boot same kernel with it's own DeviceTree I get same power down I seeing with Tow-Boot right now.

Oh, they have changes for the device tree

https://github.com/libre-computer-project/libretech-u-boot/commits/u-boot/v2022.10/roc-rk3399-pc/arch

We probably should import the vendor DTs here, as they are being written for contributing back to U-Boot anyway. It's not a situation where vendor code is icky and old and outdated.

Note that with #210 I verified the NixOS UEFI iso was able to boot [to stage-1].

Not reproducible anymore with Tow-Boot 2022.07 and 2023.07.


Add IDBIndex [IndexedDB]

There does not seem to be a way to access the indexes in IndexedDB. In JavaScript, you would do something like this:
const myIndex = objectStore.index("myIndexedField"); // index name
const getRequest = myIndex.get(2); // index value to match

Would it be possible to add this interface? Probably something more like objectStore.GetIndex(indexName)
https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex
Also IDBKeyRange and IDBCursor would be awesome and would solve my use cases.

@RonPeters I am always happy to add and fix interfaces to make BlazorJS more complete. I will see what I can do.

I was missing quite a bit of the IndexedDB API. I have been working on filling it in. Almost done.

messageStore.JSRef!.Call<IDBRequest>("createIndex", indexName, keyPath, new { unique = true/false });

Yup. Using the JSObject.JSRef property is the way to go if the JSObject is missing a property or method.

Version 2.2.78 is up with updates to the IndexedDB API. I am not done going over it but I made a lot of progress that is ready to use.
Here is some test code that is working. I used it to work out some of the features. Some of the interfaces are a little vague. I like to keep things as strongly typed as possible.
Most of the methods that return an IDBRequest have Async variants that return a Task where TResult is the result from the IDBRequest when it completes, or they throw if it errors.
Let me know if you find any issues, missing parts, etc. with the API.
var dbName = "garden";
var dbStoreName = "fruit";
var idb = await IDBDatabase.OpenAsync(dbName, 2, (evt) =>
{
    // upgrade needed
    try
    {
        JS.Set("_IDBVersionChangeEvent", evt);
        var oldVersion = evt.OldVersion;
        var newVersion = evt.NewVersion;
        using var request = evt.Target;
        using var db = request.Result;
        var stores = db.ObjectStoreNames;
        if (!stores.Contains(dbStoreName))
        {
            using var store = db.CreateObjectStore<string, Fruit>(dbStoreName, new IDBObjectStoreCreateOptions { KeyPath = "color" });
            store.CreateIndex<string>("name_db", "name");
        }
    }
    catch (Exception ex)
    {
        var nmt = true;
    }
});
// transaction
using var tx = idb.Transaction(dbStoreName, IDBTransactionMode.readwrite);
using var objectStore = tx.ObjectStore<string, Fruit>(dbStoreName);

// add some data
await objectStore.PutAsync(new Fruit { Name = "apple", Color = "red" });
await objectStore.PutAsync(new Fruit { Name = "orange", Color = "orange" });

// count
var count = await objectStore.CountAsync();
JS.Log("count", count);

// index names
var indexNames = objectStore.IndexNames;
JS.Log("indexNames", indexNames);

// get an IDBIndex
var myIndex = objectStore.Index("name_db");

// get on IDBIndex. returns null if not found.
var get = await myIndex.GetAsync("orange");
JS.Log("get", get);

var getNotFound = await myIndex.GetAsync("cucumber");
JS.Log("getNotFound", getNotFound);

// getKey on IDBIndex. returns null if not found.
var getKey = await myIndex.GetKeyAsync("orange");
JS.Log("getKey", getKey);

// getAll on IDBIndex
var getAll = await myIndex.GetAllAsync();
JS.Log("getAll", getAll);

// getAll on ObjectStore
var getAllStore = await objectStore.GetAllAsync();
JS.Log("getAllStore", getAllStore);

// IDBCursor iteration
using var cursor = await myIndex.OpenCursorAsync();
var hasData = cursor != null;
var ggg23 = await cursor.IsDone();
while (hasData)
{
    JS.Log("Entry", cursor!.Value);
    hasData = await cursor!.ContinueAsync();
}
JS.Log("Done");

// getAllKeys
var keys = await myIndex.GetAllKeysAsync();
JS.Log("keys", keys);

// delete all
foreach(var key in keys)
{
    await objectStore.DeleteAsync(key);
}

// should be empty now
var keysEmpty = await myIndex.GetAllKeysAsync();
JS.Log("keysEmpty", keysEmpty);

btw, I think the new IDBTransactionMode.readonly has a conflict because it's a reserved keyword. You end up having to use IDBTransactionMode.@readonly. Maybe camel case it?

If you look at the signature I created for IDBDatabase.Transaction you can see it uses EnumString. EnumString is a type I created to allow using Enums for their string values instead of their integer values.
IDBTransactionMode.@readonly serializes to "readonly". If I camel cased it to "IDBTransactionMode.ReadOnly" , it would serialize to "ReadOnly". I could make it use lowercase when serialized, but then it would not work with string that have case characters... unless I added attribute flags to allow indicating if it should be auto-lowercased.
IDBDatabase.Transaction signature
IDBTransaction Transaction(Union<string, IEnumerable<string>> storeNames, EnumString<IDBTransactionMode> mode)

EnumString has implicit operators that can convert between string <-> EnumString and the Enum <-> EnumString.
Therefore, both of the below lines are equal and both will work.
using var tx = idb.Transaction(dbStoreName, IDBTransactionMode.@readonly);
using var tx = idb.Transaction(dbStoreName, "readonly");

I see it is working as expected. Is your comment due to personal preference or did you find an issue?

EnumString usage in BlazorJS will be removed in the next update (as well as IDBTransaction interface completion and more). Please just use the string values.

It is working as expected. I thought perhaps it was a bug in the mapping, but now I understand your design choice. What about just plain string consts instead? I look forward to your next update. This library is a lifesaver!

What about just plain string consts wrapped in a static class instead?

I have/am considering that.

What about just plain string consts wrapped in a static class instead?

I have/am considering that.

Version 2.2.79 is up. I did another quick look through the IndexedDB API and finished what was left, including (most of) the in-code documentation. 👍 I'll have more time during the week to give it a more thorough look.
I am going to close this issue as completed. Continue posting here or in a new issue if needed.

Trying to use compound/composite indexes and running into an issue:
In OnUpgradeNeeded
objectStore.CreateIndex<(byte[], long)>(indexName, "id, lastModified");
then:
using var index = objectStore.Index(indexName);
using var range = IDBKeyRange<(byte[], long)>.Bound((idBytes, 0), (idBytes, long.MaxValue));
using var cursor = await index.OpenCursorAsync(range);  <-- cannot convert from 'SpawnDev.BlazorJS.JSObjects.IDBKeyRange<(byte[], long)>' to 'SpawnDev.BlazorJS.Union<SpawnDev.BlazorJS.JSObjects.IDBKeyRange<byte[]>, byte[]>?'

I can't apply the type (<(byte[], long)>) to the OpenCursor or the Index(indexName.
Example: https://stackoverflow.com/questions/12084177/in-indexeddb-is-there-a-way-to-make-a-sorted-compound-query

The problem is IDBObjectStore.Index assumes the index uses the same TKey as the IDBObjectStore. You should be able to specify a different type for the index key.

Fixed. Version 2.2.80 is up. Thanks for the help.

I see you are using a type of (byte[], long), a ValueTuple. I just did a test to see if Blazor can serialize that and it does not (please correct me if I am wrong.) In my test in serializes to an empty object. {}.
How are you expecting a tuple to serialize?
byte[] serializes to Uint8Array. So maybe it would serialize to an array like [ Uint8Array, Number ]? A new JsonConverter should be able to handle serialization and deserialization of Tuples/ValueTuples.

That is a fantastic question. I didn't yet have my actual data ready, so I did not fully test it. After thinking about it, I'm not sure if there is a type safe way to do it. I think a JsonConverter would 1. add field names and 2. serialize the bytes to string. I think I'm just going to try object[] and bail on type safety for the moment.

I think a JsonConverter would 1. add field names and 2. serialize the bytes to string.

The IJSRuntime, which is what BlazorJSRuntime from BlazorJS uses, serializes byte[] to Uint8Array due to the JsonSerializer options used for Javascript interop. If the field names were added, they would be "Item1", "Item2", etc. I think serializing to an array of the Tuple's values is more flexible and efficient.
I just uploaded version 2.2.81. I added serialization and deserialization support for ValueTuple (Ex. (byte[], long) style), and Tuple (Ex. Tuple<byte[], long>). Both Tuple and ValueTuple serialize to an array of the tuple's values.
Serialization ex:
(byte[], long)? valueTuple = (new byte[] { 1, 2, 3 }, (long)5);
JS.Set("valueTuple", valueTuple);

// below prints "valueTuple[0] Uint8Array"
console.log('valueTuple[0]', valueTuple[0].constructor.name);
// below prints "valueTuple[1] Number"
console.log('valueTuple[1]', valueTuple[1].constructor.name);

And I ran some tests based on your posted code. I used the test code below to check if an index of (byte[], long) would work as expected and it certainly seems to. 👍 Hopefully this helps you out when you are ready to use it.

var dbName = "garden_tuple";
var dbStoreName = "fruit";
var idb = await IDBDatabase.OpenAsync(dbName, 2, (evt) =>
{
    // upgrade needed
    try
    {
        var oldVersion = evt.OldVersion;
        var newVersion = evt.NewVersion;
        using var request = evt.Target;
        using var db = request.Result;
        var stores = db.ObjectStoreNames;
        if (!stores.Contains(dbStoreName))
        {
            using var store = db.CreateObjectStore<string, Fruit>(dbStoreName, new IDBObjectStoreCreateOptions { KeyPath = "name" });
            store.CreateIndex<(byte[], long)>("tuple_index", "myKey");
        }
    }
    catch (Exception ex)
    {
        var nmt = true;
    }
});

// transaction
using var tx = idb.Transaction(dbStoreName, "readwrite");
using var objectStore = tx.ObjectStore<string, Fruit>(dbStoreName);

// add some data
await objectStore.PutAsync(new Fruit { Name = "apple", Color = "red", MyKey = (new byte[] { 1, 2, 3 }, 5) });
await objectStore.PutAsync(new Fruit { Name = "orange", Color = "orange", MyKey = (new byte[] { 1, 2, 5 }, 5) });
await objectStore.PutAsync(new Fruit { Name = "lemon", Color = "yellow", MyKey = (new byte[] { 1, 2, 5 }, 5) });
await objectStore.PutAsync(new Fruit { Name = "lime", Color = "green", MyKey = (new byte[] { 33, 33, 45 }, 5) });

// get an IDBIndex
using var myIndex = objectStore.Index<(byte[], long)>("tuple_index");

// create a range using ValueTuple type
using var range = IDBKeyRange<(byte[], long)>.Bound((new byte[] { 0, 0, 0 }, 0), (new byte[] { 5, 5, 5 }, long.MaxValue));

// getAll on IDBIndex using the above range
using var getAll = await myIndex.GetAllAsync(range);

// below prints "apple", "orange", "lemon"
// the "lime" entry's byte[] is outside of our range and therefore not included
foreach (var item in getAll.ToArray())
{
    JS.Log(item.Name);
}

You can test how comparisons will work using IDBFactory.Cmp instance method.
// new IDBFactory() is the global indexedDB instance
using var idbFactory = new IDBFactory();
var cmpRet0 = idbFactory.Cmp<(byte[], long)>((new byte[] { 1, 2, 3 }, 6), (new byte[] { 1, 2, 3 }, 5));
// cmpRet0 == 1
var cmpRet1 = idbFactory.Cmp<(byte[], long)>((new byte[] { 1, 2, 3 }, 5), (new byte[] { 1, 2, 3 }, 5));
// cmpRet1 == 0
var cmpRet2 = idbFactory.Cmp<(byte[], long)>((new byte[] { 1, 2, 2 }, 5), (new byte[] { 1, 2, 3 }, 5));
// cmpRet2 == -1
var cmpRet3 = idbFactory.Cmp<(byte[], long)>((new byte[] { 1, 2, 4 }, 5), (new byte[] { 1, 2, 3 }, 4));
// cmpRet3 == 1

Or test the range.
using var range = IDBKeyRange<(byte[], long)>.Bound((new byte[] { 0, 0, 0 }, 0), (new byte[] { 5, 5, 5 }, long.MaxValue));
var included = range.Includes((new byte[] { 1, 2, 4 }, 5));
// included  == true


Update bookstack to version 0.19.0

[x] Minimum required version of PHP has changed from 5.6.4 to 7.0.0

https://www.bookstackapp.com/docs/admin/updates/

Woops, I didn't see #67. Closing this.


Fix the issue of RHP not opening smoothly

Details

Fix the issue of RHP not opening smoothly after selecting any option in room details.
Fixed Issues

$ https://github.com/Expensify/App/issues/44812
PROPOSAL: https://github.com/Expensify/App/issues/44812#issuecomment-2306730884
Tests

Non Desktop

Log out ND if user is logged in
Navigate to a public room, e.g. https://staging.new.expensify.com/r/4865807136424891
Tap the header to open the details
Select any option

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

Desktop

Log out ND if user is logged in
In OS menu, Click View > Toggle Developer Tools
In Console tab, execute window.location.href = '/r/4865807136424891'
Navigate to a public room, e.g. https://staging.new.expensify.com/r/4865807136424891
Tap the header to open the details
Select any option

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

Offline tests

Same as test
QA Steps

Same as test

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

PR Author Checklist

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

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

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/70eb5a9c-2668-40ab-82d0-5aff059b1aa1

Android: mWeb Chrome
https://github.com/user-attachments/assets/0a6603e2-2975-4815-b4e6-bff840db155a

iOS: Native
https://github.com/user-attachments/assets/3cb07c3e-c6dd-42f2-bb15-8537916271b7

iOS: mWeb Safari
https://github.com/user-attachments/assets/2e90eaca-6228-4b74-a47c-9e8d55e3c29d

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/9fd514aa-b415-44f7-897a-08ec302cca70

MacOS: Desktop
https://github.com/user-attachments/assets/fda72b07-a5ba-4c1e-b6f1-9028211e560a

@wildan-m There is some jitter/lag on other platforms as well. Can we apply the change you suggested in the issue to other platforms as well?

@sobitneupane bump https://github.com/Expensify/App/pull/48143#issuecomment-2317672756

Is there ever a scenario where we wouldn't need it?

I am not sure if there is any. Let's make sure to test it extensively.

Should we include the shouldLoadAfterInteraction prop?

Sorry. I didn't get you. Is it an existing prop? I would require more context.

@sobitneupane, shouldLoadAfterInteraction is a new prop introduced as a feature flag for this PR.
I’ve noticed that the delay is quite noticeable on desktop especially the background image. Should we consider enabling this feature only for small screens, as larger devices tend to have better responsiveness?

I’ve noticed that the delay is quite noticeable on desktop especially the background image. Should we consider enabling this feature only for small screens, as larger devices tend to have better responsiveness?

@wildan-m Can you please upload videos for each case?

shouldLoadAfterInteraction is a new prop introduced as a feature flag for this PR.

So, Are you saying that, in addition to the current change, we will be passing the shouldLoadAfterInteraction prop to LottieView and Image to let those components know if the interaction is complete?

@sobitneupane this is before and after video, is this delay differences acceptable?

Before
After

@wildan-m Can we limit the change made in this PR to RHP only? The issue occurs on RHP. So, if it is possible to limit the change in RHP, we should be good.

@sobitneupane do you know existing function to detect if a page opened in RHP ? passing shouldLoadAssetAfterInteraction props will modify too many child components of SignInModal

@sobitneupane signinpagemodal identify RHP by anonimity
https://github.com/Expensify/App/blob/ec012fe9fab7017a224e2c7132da0171584c7641/src/pages/signin/SignInModal.tsx#L30-L34
Should we do the same for lottie and bg image?

@sobitneupane the PR has been updated

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

🚀 Deployed to staging by https://github.com/nkuoch in version: 9.0.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 9.0.34-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


single table dataflow based on iterator

Closes #201
Description

sends projection of columns one by one
simple data flow that is based on Iterator trait

Is it a feature that change user experience?
no
Client output
no

Pull Request Test Coverage Report for Build 280984914

28 of 32 (87.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 88.588%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/query_executor/src/dml/select.rs
28
32
87.5%

Totals

Change from base Build 280871193:
0.03%

Covered Lines:
7623

Relevant Lines:
8605

💛  - Coveralls


SPDistributedCacheClientSetting: Missing SP2019 and SE Values

Problem description
The Ressource is missing the SP2019 and SPSE specific container Settings:

DistributedDbLevelFailoverCache
DistributedEdgeHeaderCache
DistributedFileStorePerformanceTraceCache
DistributedSPAbsBlobCache
DistributedSPCertificateValidatorCache
DistributedSPOAuthTokenCache
DistributedStopgapCache
DistributedStopgapCache

They are documented at SharePoint Server Subscription Edition and SharePoint Server 2019 PowerShell script
I'm happy to create a pull request, after I've done my other tasks :)
Verbose logs
N/A

DSC configuration
N/A

Suggested solution
Add the SP2019/SE specific Container like it has been done with SP2016
SharePoint version and build
N/A

Operating system the target node is running
N/A

PowerShell version and build the target node is running
N/A

SharePointDsc version
5.1.0

Perfect, it is all yours! Just two comments:

You are mentioning DistributedStopgapCache twice
Settings DistributedUnifiedAppsCache and DistributedUnifiedAuditCache are missing from the above list, but are listed in the article

Hi @ChristophHannappel, any idea when you are able to fix this issue?

Hi @ykuijs since its mostly copy and paste ill think i can create a pull request until 20. May.

For documentation purposes - i've compared the valid values for the ContainerType Parameter of the Get-SPDistributedCacheClientSetting between SharePoint Server 2016, 2019 and Subscription Edition.
The new Cache Container are:

DistributedClientSideAppUpdateTimeCache
DistributedDbLevelFailoverCache
DistributedEdgeHeaderCache
DistributedFileStorePerformanceTraceCache
DistributedSPAbsBlobCache
DistributedSPCertificateValidatorCache
DistributedSPOAuthTokenCache
DistributedStopgapCache
DistributedUnifiedAppsCache
DistributedUnifiedAuditCache

Also the Script example uses the variable DHSC twice. First for DistributedHealthScoreCache than later again for DistributedUnifiedAuditCache  - which seems like a copy and paste error
#DistributedUnifiedAuditCache
$DHSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache
$DHSC.MaxConnectionsToServer = 1
$DHSC.requestTimeout = "3000"
$DHSC.channelOpenTimeOut = "3000"
Set-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache $DHSC

Based on the naming scheme my proposal is DUAuC for DistributedUnifiedAuditCache  since DUAC is already used for DistributedUnifiedAppsCache


Change the logic of updateView() to be called in onClick()

It seems to me that it makes more sense to call updateView() which triggers onEditTextChangeListener() in onClick() and not onLongClick(), as it is more expected to edit the text right after clicking on it rather than a long click. Are there any special reasons not to do this?

Nothing special. Just a more convenient UX. I am not sure but the click might cause with dragging the text view.

I can't remember any photo editor app that does this in one long click.
But, in fact, this behavior would not be very ideal for the current structure of the library, as it would make it impossible for the drag and drop event before tapping once to edit, as the text would first need to be selected to get the drag event correctly.
In a more intrusive editing UI, like a dialog, this doesn't really look good, but since I was testing it in an EditText on the editing screen itself, it didn't seem like a bad idea to me.
In this case there should be a better function to identify onClick() events and drag and drop events.
Anyway, thanks for answering.


fix: pregenerate https certificate

Description
node-forge used inside selfsigned is a bit package https://packagephobia.com/result?p=node-forge
Sadly there is no js-only alternative (only openssl wrappers).
While testing this feature (server.https: true) I found chrome detects
the certificate is insecure though still allows to access the page with
https after proceeding warning wall.
So as there is not much value in using so big dependency to generate
insecure certificates @patak-dev got an idea to pregenerate single
certificate and publish it with vite.
This need to be tested on various machines though before releasing.
I made the certificate expire in 10 years. Let's cross our fingers this
will be enough.
du -ck dist/node

before: 12348
after: 9812

Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Read the Pull Request Guidelines and follow the Commit Convention.
[ ] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Looks good code-wise. I haven't tested the certificate

We will need help testing this one. I think the best is to merge it during the 2.8 beta period, we can revert it if there are reported issues before releasing 2.8

you can check https-localhost repo, this library generates also the ssl/tls certificate for localhost and auto install the generated certificate on the local truststore: for windows and for macos on keychain, on linux I don't know (not tested), and so avoid warning messages on chrome/edge/safari, just some hints

<EMAIL_ADDRESS>

We discussed with @userquin, and he didn't mean that we should use https-localhost instead of this PR (I thought the same given the initial comment).
IIUC he thinks this PR is ok, but that we should push users to create their own secure certificates and provide a new option in Vite to let them specify the cert to use. This is not directly related to this PR where we are evaluating two insecure options. And can be considered a suggestion for future improvements.

But you do let to specify own cert already. I use it daily. And agree we should provide some recipes
https: {
  key: fs.readFileSync('....pem'),
  cert: fs.readFileSync('....pem'),
}

Btw this is what we do in our development (written by my teammate)
https://dev.to/istarkov/fast-and-easy-way-to-setup-web-developer-certificates-450e

Well, better like that, ha 🤦🏼
We should definitely add some best practices to the docs then for sure. HTTPS setup questions are one of the most common

As mentioned on discord i don't think vite should be distributing pregenerated certificates as it could be a potential security issue and is extra maintenance overhead.
Instead add config options for ssl and a third party vite-plugin-local-ssl-setup could use these options to generate a proper cert on the developers machine.
something like
{
  name: 'vite-plugin-local-ssl-setup',
  config: () => {
    // check if local cert exists, generate one if not (use a node package or platform dependant scripts around openssl)
    const ssl = localSSL();
    return { server: { ssl } }
  }
}

as it is a plugin that can be installed independently of vite, the dependency won't affect users that don't need it.

Agreed with @dominikg
I suggest we maintain a @vitejs/plugin-selfsigned-https package in the Vite monorepo.

Agree with both, but this is something we could do in Vite 3.0. We could deprecate now and start pushing user in the right direction though

Closing in favour of #3625

Closing in favour of #3625

@patak-dev should be 6325 instead 3625?

comment changed


toggle doesn't work with js-controller 2.0

I am using iqontrol to toggle a simple boolean state within the javascript.0 namespace. Since upgrading to js-controller 2.0 the toggle doesn't work anymore. Error from the browser console is attached.
iqontrol 0.2.13
js-controller 2.0.39

Hi,
i tried to reproduce, but it works for me. Could you please send the RAW of the object you try to toggle? Wich iQontrol-Device do you use (i tried with Switch)?

I am also using switch.
I tried it with several objects, one example:
{
  "common": {
    "type": "boolean",
    "name": "home.presence.Auto",
    "role": "state"
  },
  "native": {
    "type": "boolean",
    "name": "home.presence.Auto",
    "role": "state"
  },
  "type": "state",
  "from": "system.adapter.javascript.0",
  "user": "system.user.admin",
  "ts":<PHONE_NUMBER>852,
  "_id": "javascript.0.home.presence.Auto",
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  }
}

Das liegt an role: "state".
Siehe https://forum.iobroker.net/topic/22039/neuer-adapter-visualisierung-iqontrol/1989
VG


hlf support doc link updated

Type of change

Bug fix

Description

Change document link for console_type is hlfoc

Issue fixed with https://github.com/hyperledger-labs/fabric-operations-console/pull/656 ,  Hence closing


IndShockConsumerType checkConditions() returns nothing, always

The checkConditions() method of IndShockConsumerType returns nothing whether or not the conditions it checks have been met.
Instead of returning, say, a boolean or an array of booleans corresponding to the checks, it prints statements to the user.
This is not ideal.
One reason it is not ideal is that it makes it difficult to write an automated test of this functionality--such as a test that an instance with a certain configuration would fail, or not, a condition.
See #504 #510

Doesn't the method write the value of the conditions to attributes like
self.GIC?  I think Chris did that?
On Sat, Feb 15, 2020 at 3:52 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

The checkConditions() method of IndShockConsumerType returns nothing
whether or not the conditions it checks have been met.
Instead of returning, say, a boolean or an array of booleans corresponding
to the checks, it prints statements to the user.
This is not ideal.
One reason it is not ideal is that it makes it difficult to write an
automated test of this functionality--such as a test that an instance with
a certain configuration would fail, or not, a condition.
See #504 https://github.com/econ-ark/HARK/issues/504 #510
https://github.com/econ-ark/HARK/issues/510
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/525?email_source=notifications&email_token=ADKRAFNEI4J3VXXHQYZBZHTRDBIXPA5CNFSM4KV4ER6KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4INZRKSQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFMAT3NP6ZJEDKSUIFTRDBIXPANCNFSM4KV4ER6A
.

Hmmm, it "returns" nothing but it would be a waste of time to work out an
exact format for what it should return, since the combinatorics of all the
various conditions and their implications are considerable and have no
natural order to hem.
What it DOES do is exactly what any user would want:  It constructs the
numerical value of the various conditions (the "Growth Impatience Factor"
is [model].GIF), and the True-False value of whether various conditions are
satisfied (after checkConditions(), the "Growth Impatience Condition" is
either true or false.)
The only really sensible return variable I could see adding is a boolean
(true or false) about whether the problem has a nondegenerate solution.
Only objection to that is that it's not at all obvious ex-ante that this is
what "checkConditions()" should return.  If it were named
"checkNondegenerateSolution()" then it would make sense to return T/F ...
On Sat, Feb 15, 2020 at 9:52 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

The checkConditions() method of IndShockConsumerType returns nothing
whether or not the conditions it checks have been met.
Instead of returning, say, a boolean or an array of booleans corresponding
to the checks, it prints statements to the user.
This is not ideal.
One reason it is not ideal is that it makes it difficult to write an
automated test of this functionality--such as a test that an instance with
a certain configuration would fail, or not, a condition.
See #504 https://github.com/econ-ark/HARK/issues/504 #510
https://github.com/econ-ark/HARK/issues/510
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/525?email_source=notifications&email_token=AAKCK734VOVDAAIOVCHRKPDRDBIXLA5CNFSM4KV4ER6KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4INZRKSQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK7447ZQ2VFKOVARPRNLRDBIXLANCNFSM4KV4ER6A
.

--

Chris Carroll

@mnwhite Ah, yes, I see. You're right. It does set the instance state.
I was mistaken; it is easier to write tests for this than I thought.

@llorracc Something I'm finding is that the state that is set by the method appears to use a boolean, where True indicates that the condition is satisfied. That seems very natural to me. E.g.
https://github.com/econ-ark/HARK/blob/ad833152145529dc0f0f47d6c575a95a542967cd/HARK/ConsumptionSaving/ConsIndShockModel.py#L2290-L2303
If the order does not matter but the conditions all have names, then it would make sense to return a dictioanry of booleans, where the keys are condition names and values are whether or not the condition was met.

The variable violated seems to track whether or not any of the conditions have been violated. But I think nothing is done with that variable.

Oh, interesting. The PerfForesightConsumerType class also has a checkConditions() method.
According to its docs, it returns None.
But according to the code, it returns a boolean based on whether or not any conditions were violated (True if any have been violated).
This is then passed the its subclass IndShcokConsumerType's checkConditions, which returns None (true to its documentation).
https://github.com/econ-ark/HARK/blob/ad833152145529dc0f0f47d6c575a95a542967cd/HARK/ConsumptionSaving/ConsIndShockModel.py#L1854
The implemented type signatures of the superclass and subclass are different, though it stands to reason this should be the kind of thing with a clean inheritance structure with isomorphic type signatures.
The documentation is inaccurate on at least one of the classes.
There is room for improvement here.

Improve away!
Ps.  The various conditions and implications are articulated in the tables
linked at the end of the buffer stock remark.
Pps.  Note that the nature of tests would be, e.g. if the WRIC and FVAC are
satisfied, the decision rule (= consumption function) should converge.  Not
obvious how best to test for “convergence”; one crude way would be to solve
for say 100 periods and then see if, at end-of-period grid values of a, the
predicted c’s are moving less and less as you continue iterating.  That is,
for give a[i], Delta upinv(a) gets smaller as you go further back.  If this
doesn’t make sense to you I can elaborate.
On Sat, Feb 15, 2020 at 23:20 Sebastian Benthall<EMAIL_ADDRESS>wrote:

Oh, interesting. The PerfForesightConsumerType class also has a
checkConditions() method.
According to its docs, it returns None.
But according to the code, it returns a boolean based on whether or not
any conditions were violated (True if any have been violated).
This is then passed the its subclass IndShcokConsumerType's
checkConditions, which returns None (true to its documentation).
https://github.com/econ-ark/HARK/blob/ad833152145529dc0f0f47d6c575a95a542967cd/HARK/ConsumptionSaving/ConsIndShockModel.py#L1854
The implemented type signatures of the superclass and subclass are
different, though it stands to reason this should be the kind of thing with
a clean inheritance structure with isomorphic type signatures.
The documentation is inaccurate on at least one of the classes.
There is room for improvement here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/525?email_source=notifications&email_token=AAKCK73T6LUNTRZXHOFIXJLRDBTCBA5CNFSM4KV4ER6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL3YIRQ#issuecomment-586646598,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK757F6P2T76H3BB6HV3RDBTCBANCNFSM4KV4ER6A
.

--
Sent from Gmail Mobile


Replicate record list filter ui to record list configurator prefilter

The following changes are implemented
TODO: Summary
Changes in the user interface:
TODO: Add screenshots, recordings or remove this section
Checklist when submitting a final (!draft) PR

[ ] Commits are tidied up, squashed if needed and follow guidelines in CONTRIBUTING.md
[ ] Code builds
[ ] All existing tests pass
[ ] All new critical code is covered by tests
[ ] PR is linked to the relevant issue(s)
[ ] Rebased with the target branch

Just two issues:

can't set date or select values to presort filter

if I change the field type in an existing filter, the list of records doesn't update according to the newly set field type


bugfix:fix auto proxy for multiple-datasource does not work

Ⅰ. Describe what this PR did
The current auto proxy of datasource does not work for multiple-datasource,this PR will fix it.
Ⅱ. Does this pull request fix one issue?

#1792
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
i've done integration test.
Ⅴ. Special notes for reviews

Codecov Report

Merging #1793 into develop will decrease coverage by 0.02%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #1793      +/-   ##
=============================================
- Coverage      50.72%   50.69%   -0.03%
+ Complexity      2162     2160       -2
=============================================
  Files            414      414
  Lines          14150    14150
  Branches        1700     1700
=============================================
- Hits            7177     7174       -3
- Misses          6283     6284       +1
- Partials         690      692       +2

Impacted Files
Coverage Δ
Complexity Δ

...ta/spring/annotation/GlobalTransactionScanner.java
50% <ø> (ø)
17 <0> (ø)
:arrow_down:

...very/registry/zk/ZookeeperRegisterServiceImpl.java
63.77% <0%> (-0.79%)
25% <0%> (ø)

...in/java/io/seata/server/session/GlobalSession.java
84.54% <0%> (-0.49%)
67% <0%> (-1%)

...o/seata/server/coordinator/DefaultCoordinator.java
49.59% <0%> (-0.41%)
27% <0%> (-1%)

Continue to review full report at Codecov.

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


Output window keeps stealing focus

The outputWindow.Show call in OutputManager is forcing focus to the VS output window on every message. For long builds with lots of messages this makes it impossible to do any text editing while clang-power-tools is running.

If the method is completely removed the user will not have any feedback from the extension if the Output window in closed.  I fixed this by calling the Show() method only when a command begins and ends.

Thanks, that's a much better solution. I really love how well this extension is working so far, you've done a great job!


Fix syntax error in App.java

@markjm : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Introduce generic admin class-based views/templates, and port wagtailsites to use them

Was originally doing this as part of the collections feature, but that pull request is going to be big enough already without adding in a tangent like this - so I've used wagtailsites as the guinea pig to allow this to be reviewed and merged separately.
This doesn't go as far as the other 'modeladmin' implementations from myself, @kaedroho and @ababic - it's just the minimal implementation that will save me from mass copying-and-pasting for the collections feature. In particular, it doesn't combine the views into a single 'master' class, or register URLs / permissions / menu items - I suggest we look at those features later, and cherry-pick the best ideas/approaches from the existing implementations.
Depends on (and incorporates) #1606.

@gasman I think the class-based views are an excellent addition. It can only be a good thing to have something like this in place to build upon. I've been thinking just this weekend about refactoring my particular approach to make a much clearer distinction between 'view functionality' and the configuration element... Ideally, I'd like to abandon the dependancy on Django's ChangeList view, and replace with a purposefully-built set of class-based views that would do as much of the heavy lifting as possible (with the modeladmin classes simply providing a way to hook in to them). Your generic views here serve as a great starting point for this.

Have now incorporated @kaedroho's feedback, and rebased on master:

template is now template_name
PermissionCheckedView is now PermissionCheckedMixin, a pure mixin class
CreateView now implements get_add_url, for consistency with the edit/delete views
IndexView, EditView and DeleteView now provide object / object_list in the template context (alongside the variable specified in context_object_name, which is now optional)

Ready for re-review!

Good one, @gasman. Release notes?

@tomdyson Hmm, good question. If we're counting this as an internal rewrite then it doesn't really need release notes. (I don't think we want to push this as something for third-party apps to use just yet - leaving it internal-only for a release or two will give the API a chance to stabilise, and hopefully let us add the URL/permission/menu bells and whistles.)

Very good man :D


Create heapsort.py

Heapsort added in python.

ok, I will do that.

done.

Sorry for that, added the deleted heapsort.cpp file in Algorithms/sort/c++ folder


More configurable third party blocker

Currently there is "no third party request on no website" or "everything on every website". This is a problem on sites which load content over other domains controlled by them: e.g. I want to load content from images-website.com,  but no social media buttons

My bad. The function is implemented, but I didnt found it. Maybe move it to the menu? The icon doesnt look so clearly

I did put an explanation on the welcome dialog. I also made the icon show permamently on the action bar so that it isn't hidden in the menu. I agree the icon is not the best. Long-pressing the icons will show you what they do.


[Bug]: Invalid Slack workspace link?

Testcontainers version
n/a
Using the latest Testcontainers version?
Yes
Host OS
n/a
Host arch
n/a
.NET version
n/a
Docker version
n/a

Docker info
n/a

What happened?
Seems like the Slack workspace link is no longer valid.

Relevant log output
No response
Additional information
Side note: May be worth adding a general "Other" Issue type to better cater for these more general issues which do not require the required technical form fields as part of the Bug and Enhancement Issues.

I guess the DNS redirect for https://slack.testcontainers.org/ is outdated (the invitation link is not valid anymore). @kiview @mtremsal this is not intended, right? Can someone take a look at it? I think devs cannot join the TC OSS Slack workspace anymore. @jacobjmarks in the meantime you can use this invitation.

I will close this issue. It looks like the link is working again.

For future reference, it looks like Slack invite links expire every x (x = 400?) new sign-ups. We're looking into a way to automate the process.


fix: missing "the" in sentence regarding trial

[x] There's a clear use-case for this code change, explained below
[x] Commit message has a short title & references relevant issues
[x] The build will pass (run yarn test:all and yarn lint)

There seems to be a missing "the" in the trial message on the signup page of the portal. The senctence just sounds a bit off without it.

Thank you for the suggestion 🙂

Thank you for reviewing and merging it, my client is going to be very happy.


Add temperature values when player is holding an heat producing item

Describe the feature
Currently, AS only checks the world around the player. It would be neat to affect the temperature formula in a warmer direction, if the player was holding a heated item, such as a torch or lantern.
Conversely, maybe we could think of an item that would prevent the player from overheating?

Would also be cool if that could work the opposite way with ice, snow, whatever in your hand :)


Saving the shortened urls so that they are not lost on closing the tab.

We can save the shortened urls in localstorage so that when we re open the tab, we don't have to generate the url again.
I would like to work on this issue as part of hacktoberfest. Kindly assign it to me.

Hey, Can you assign me? I would like to work on it.


KAFKA-9014: Fix AssertionError when SourceTask.poll returns an empty list

The method contract for SourceTask#poll mentions that in the absence of records the method should return null. But the task or the metrics reporter should also not fail if a connector chooses to return an empty list of records.
Tested with unit tests.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@rhauch I believe this fix for https://issues.apache.org/jira/browse/KAFKA-9014 makes sense and could also be packported. It's a 1-line change and the farthest it could go back is v1.0

1/3 jenkins jobs failed. Can't see logs but I assume the failure is not related to this change.


roadmap to v1.0.0?

do you have a roadmap to releasing a v1.0.0? it would be cool if you could create the tickets for what you think is missing for v1.0.0 and assign them to a v1.0.0 milestone.
rationale: theoretically, one should only build on released software, so using 0.x pre-releases for production software isn't looked on too well. in the rust eco-system there are sadly a lot of crates which stay on 0.x for years but are heavily used. having a roadmap helps in understanding why a crate is not yet released as 1.x (or higher) and allows analysing the trade-offs (is it acceptable to use the crate in production even though these features are missing?).
furthermore, this would help with contributors: they know where work still needs to be done and they can offer their help focused on these topics.
specifically i have a crate which exposes an API using heapless::Vec, so i do not feel confident releasing a v1.0 of my crate as long as my API might suffer breaking changes from heapless (every time you release a new 0.x release i'd have to release a matching major release).
with over 8 million downloads the heapless crate is heavily used in the rust ecosystem (see also the dependent crates) and having a stable release would be beneficial for all of them.

The only thing I worry about is the hash32 dependency is still a zero-ver, I need to look into that more and see if there's something we can do there.

The only thing I worry about is the hash32 dependency is still a zero-ver, I need to look into that more and see if there's something we can do there.

if it is not exposed in your API it should be safe for you to create a stable release as you can still do major version updates of dependencies without breaking your API (and thus requiring a major release).
i've raised an issue with hash32 to see what's blocking them from releasing v1.0: https://github.com/japaric/hash32/issues/17

I'm all in favor of pushing for 1.0. But since in 0.7->0.8 we just now changed API in several places, it may be prudent to let the dust settle on that.

I'm all in favor of pushing for 1.0. But since in 0.7->0.8 we just now changed API in several places, it may be prudent to let the dust settle on that.

I agree, I would only feel comfortable with a hypothetical 1.0 after the 0.8.x series has more daily downloads than the older versions.
At the moment the older versions of heapless still get ~15x more downloads, and I expect there are still more issues to be found.

Just dropping in to voice a +1 to a 1.0 release. I made heapless a part of postcard's public API, and I'll need to do some unfortunate hacks to support 0.7, 0.8, and hopefully soon 1.0. I'd really prefer if 1.0 was the last stop! Right now postcard is one of the largest dependents on heapless, and is still stuck on 0.7 as I'm still hoping to think of a more pleasant way to handle this before an eventual postcard 2.0.
Cross linking: https://github.com/jamesmunns/postcard/issues/121

Question out of curiosity, @jamesmunns: why did you choose heapless::Vec over tinyvec::ArrayVec? The latter is v1. Does the maybeuninit optimization make a difference? Is it the community momentum towards heapless?

@jordens the answer is generally:

Tinyvec didn't exist yet when I initially wrote postcard roughly 5 years ago, and heapless did.
I still wasn't aware of it (or at least - hadn't used it before) 1.5 years ago when I made the 1.0 release, and heapless was/is very widely used in embedded rust then and now, and at the time I had no reason to change.

I'm open to switching, if you'd like to discuss that, particularly if you feel like tinyvec would be a better long term fit, but that's still a breaking change since heapless types are in my public API.

Ack. I very much appreciate and understand that perspective. This might be a typical situation for many other users of heapless::Vec.
I don't have enough experience or data to say what's best. That's why I'm wondering.
I remember doing some hours of experimentation to figure out how reliable and useful MaybeUninit optimizations are in our use cases (see also these comments which indicate that there are a many cases where the compiler can't take advantage and also didn't for a long time, e.g. https://github.com/rust-embedded/heapless/issues/305) and back then it seemed unclear. No idea what the overall effect is.

Just want to chime in, I'm still a proponent of heapless making a 1.0 release, but want to note that even if that happens, some day there will be a heapless 2.0, which means that I still shouldn't have made it a(n unconditional) part of postcard's API.
I'll likely be doing a postcard 2.0 release anyway, to make it easier to support breaking changes of deps: https://github.com/jamesmunns/postcard/issues/128


Render three.js inside pixi.js?

Hey! I am trying to render a three.js scene inside pixi.js to apply it some filters in a postprocessing way, what is the way to do it more efficiently?
I have a working example, here is basically what I do, I init three.js on an offscreen canvas, and then:
const threeTexture = PIXI.Texture.from(threeApp.renderer.domElement)
const threeSprite = new PIXI.Sprite(threeTexture)
// divide by pixelratio to make it the correct size, on retinas it's 2
threeSprite.scale.x /= window.devicePixelRatio
threeSprite.scale.y /= window.devicePixelRatio
pixiApp.stage.addChild(threeSprite)

and then in the render loop I have
threeApp.draw()
threeSprite.texture.update() // tell pixi that threejs has changed
pixiApp.render()

anything else I'm missing? some nicer optimization?
Anyway, the real issue is when I resize the screen, I have this code running in three.js:
renderer.setSize(window.innerWidth, window.innerHeight)

which basically changes the dimensions of the rendered area of three.js, and of course pixi.js breaks.

How do I tell pixi.js to update the texture dimensions?
Environment

pixi.js version: 5.0.0-rc
three.js version: 0.101.1
Browser & Version: Chrome 71
OS & Version: OSX
Running Example: https://codepen.io/marco_fugaro/pen/QYgJQY?editors=0010

Its possible, threejs examples were posted several times in Issues for v4, but i didnt make it for v5 yet.
Basically, you have to reset both pixi and threejs state every time you change the libraries.
I cant provide old demos right now, but you can search for them here and in http://www.html5gamedevs.com/forum/15-pixijs/ . Texture sharing was also discussed somewhere.
All you have to do is to search and then port to v5, good luck! I can help with both things if you fail somewhere.

Does this solve your issues? https://github.com/pixijs/pixi.js/pull/5430 Fix is already in 5.0.0-rc2

@ivanpopelyshev thanks for the response! I think you are referring to this discussion and this snippet of core more precisely:
    gl.disable(gl.DEPTH_TEST)
    gl.enable(gl.BLEND)
    gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
    gl.disable(gl.STENCIL_TEST)
    gl.disable(gl.CULL_FACE)

    gl.frontFace( gl.CCW )
    gl.cullFace( gl.FRONT )
    gl.colorMask(true, true, true, true)
    gl.activeTexture(gl.TEXTURE0)

    var shaderManager = session.shaderManager

    shaderManager._currentId = undefined
    for (var i=0; i<shaderManager.attribState.length; i++)
        shaderManager.attribState[i] = false
    shaderManager.setShader(shaderManager.currentShader)

    var blend = session.blendModeManager.currentBlendMode
    if (blend in PIXI.blendModesWebGL) {
        session.blendModeManager.currentBlendMode = undefined
        session.blendModeManager.setBlendMode(blend)
    }

however i don't understand where to insert this code, and what is the session variable, i imagine gl is the glcontext of the three canvas. Where do I put it in this example?
https://codepen.io/marco_fugaro/pen/QYgJQY?editors=0010
(The issues start to happen on the resize of the window)
I have the 5.0.0-rc.2 in the example, should I change something?

I don't know this old example, but all those things you mentioned are included in renderer.reset()
const threeTexture = PIXI.Texture.from(threeApp.renderer.domElement)

this is a bad idea.
Did you look at #5430 ?

@marcofugaro Any other follow up on this?

@ivanpopelyshev @bigtimebuddy sorry to keep you waiting, I finally took another stab at this.
@ivanpopelyshev Thanks for the old three in pixi demo you posted in the PR, it was really useful, I tried to implement the method 2 in the next example (also care to explain what was the bad idea with PIXI.Texture.from(threeApp.renderer.domElement)? Sorry I don't know a lot of advanced webgl)
Here is the example converted to pixi v5
https://codepen.io/marco_fugaro/pen/wOGpwv?editors=0010
Some issues I found:

PIXI.Application does not accept anymore a context parameter, in the v4 example there is:

var renderer = new PIXI.WebGLRenderer(canvas.width, canvas.height, {
  context: context, // shared context with threejs

I am doing this in v5
 return new PIXI.Application({
    context: context, // shared context with threejs

but obviously it gets ignored, I don't know how the demo is working

the three.js texture is flipped on the Y (I know, webgl)

when resizing the window the texture gets stretched in an opposite way? probably I'm doing something differently

Again, thank you for looking into this!

I fixed those issues in another project, I'll make a demo of that code later. There's patch for v4 that reverses the way pixi uses renderTargets (v5 renderTextures).

@ivanpopelyshev could you fix the example now that v5 is out? 🙏

Stale bot don't

Its possible, threejs examples were posted several times in Issues for v4, but i didnt make it for v5 yet.
Basically, you have to reset both pixi and threejs state every time you change the libraries.
I cant provide old demos right now, but you can search for them here and in http://www.html5gamedevs.com/forum/15-pixijs/ . Texture sharing was also discussed somewhere.
All you have to do is to search and then port to v5, good luck! I can help with both things if you fail somewhere.
I even made a demo where 2d and 3d objects are SORTED through each other, but that one i didnt share in public.

gi

Any update so far? The codepen seems work but I'm not sure if it hacky or not.


Upgrade kinesis version to fix extract binary in memory

Motivation
Kinesis old version had a major bug to copy native-files into main memory which can cause outofmemory if multiple concurrent kinesis-producers are created at same time. and it has been fixed in 0.12.9.
aws-kinesis: https://github.com/awslabs/amazon-kinesis-producer/pull/198
Upgrade kinesis version: 0.12.9

rerun cpp tests

rerun tests

rerun tests please

rerun java8 tests

rerun cpp tests

rerun java8 tests

rerun java8 tests

rerun tests

rerun java8 tests

rerun java8 tests

At present, seems jenkins could not be triggered by adding comments.


Minor fixes to the readme

Problem Description
Some of the contents of the read me seems to be somewhat outdated.

@MikeS96 Is there anything mssing from this PR?


If interrupted once, YT-Splitter will not re-process a video fully?

Hi, I've ran yt-splitter on a YT video. I interrupted it when it said "[ffmpeg] Destination: output.mp3" because I thought I had done something wrong and it had frozen (I just needed to be more patient!).
When I run it again on that video, it only outputs the first 9 tracks as full MP3. I'm guessing that's when I interrupted the process. The rest of the mp3 tracks are shy of 500kb and while named properly, are not playable. I tried clearing Youtube-dl cache, I tried deleting the output directory of yt-splitter for that video, but every time I try to re-process that video through yt-splitter, it continues to only give me only the first 9 tracks as fully completed, and the rest of the tracks as files that are not completed.
When I run it it looks like this:
yt-splitter https://www.youtube.com/watch?v=VIDEOID
YT video: VIDEOID...
Tracks will be saved to VIDEO TITLE
Splitting mp3 file...
[splitting] TRACK 1 TITLE...
[splitting] TRACK 2 TITLE...
[splitting] TRACK 3 TITLE..
etc. until all tracks are done. so it doesn't re-download the files or re-run ffmpeg.
When I run yt-splitter on another video, it works flawlessly. How do I get the rest of the tracks from that initial YT video split that I interrupted?

Found the yt-splitter chache! I'm on Mac and it was in: /Users/myusername/.cache/yt-splitter
There was a folder named after the VIDEOID and once I deleted it, it ran that video processing fully, and re-downloaded all the tracks.
Oh, and I had a suggestion: I think youtube-dl has a way to number the tracks, it would be awesome if you could add that to yt-splitter, so when it outputs the folder with all the split mp3 tracks, they are numbered from 01, this helps keep the original yt video chapters/mix in order.
Thanks a million for a nifty little tool that's making my car rides so much better!


fix(material/radio): incorrect text color when placed inside an overlay with a dark theme

Fixes a similar issue to #18742. The radio button inherits its text color from the closest parent which may not be correct once the element is moved out into an overlay.

Closing this, because similar fixes for the checkbox and slide toggle ended up being reverted, because they were problematic internally.


deprecated<EMAIL_ADDRESS>

"npm install" made this warning:
npm WARN install Couldn't install optional dependency: Unsupported
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs version 3 and before will fail on newer node releases. Please update to<EMAIL_ADDRESS>as soon as possible.

@raupach - That is an upstream dependency in browser-sync & not something that we can do about.
The warning can be ignored


Fix #463 by allowing other texture settings and only changing Flip an…

…d Repeat
This is a preliminary fix. Not ready to merge yet.
I'd like a second set of eyes before merging.
So the cause was that all those "new" settings have never been implemented in the Material Editor.
Implementing all those is an undertaking I'm not ready to do right now. So my proposed interim solution is to not care about other settings than "Flip" and "Repeat", but not overwrite them either. This allows advanced users to keep modifying their materials in the Material Editor (but preview might be wrong? I'm not familiar with the settings).
Edit: Still need to update TexturePanelSquare. Only used in shader editor, I think

The following tests have been performed:

Loading/saving settings on the texture line
Editing Flip/Repeat with/without other settings on the texture line
Loading material in application with/without various settings

If someone wants to test this themselves, please do. Otherwise I'll merge this after an unspecified amount of time.


min user permissions

would be helpful to include the minimum user permissions for power bi to access the tables using the user specified.

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

ID: 886f5a19-b68e-777d-670a-99f8dd7e3cac
Version Independent ID: c5731857-58ec-de4c-785c-f412e097805a
Content: Connect to an Amazon Redshift database in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-connect-redshift.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @rderidder-lda. This issue has been assigned to the doc author for review.

Thanks for your comment, we'll take a look at incorporating that into the article.


Made borderless configurable for MudHtmlViewer

thanks for the contribution! merged in your changes & you should see them in the latest version


mmseqs createtaxdb unexpectedly killed

I'm trying to use a clustered version of the NR database for taxonomy assignment but am running into some issues. Any assistance would be appreciated.
Expected Behavior
When running mmseqs createtaxdb db_name tmp --tax-mapping-file taxid.map, I would expect to successfully create a seqTaxDB as per here.
Current Behavior
The job begins but is unexpectedly killed (see mmseqs output section below).
MMseqs Output (for bugs)
cfos@pop-os:/data/clustered_nr$ mmseqs createtaxdb nr_rep_seq_db tmp --tax-mapping-file '/data/clustered_nr/nr_rep_seq_to_taxid.map' -v 3
Create directory tmp
createtaxdb nr_rep_seq_db tmp --tax-mapping-file /data/clustered_nr/nr_rep_seq_to_taxid.map -v 3

MMseqs Version:        	2fad714b525f1975b62c2d2b5aff28274ad57466
NCBI tax dump directory
Taxonomy mapping file  	/data/clustered_nr/nr_rep_seq_to_taxid.map
Taxonomy mapping mode  	0
Taxonomy db mode       	1
Threads                	20
Verbosity              	3

Download taxdump.tar.gz

02/01 11:29:59 [NOTICE] Downloading 1 item(s)
[#b8b044 0B/0B CN:1 DL:0B]
02/01 11:30:01 [NOTICE] Allocating disk space. Use --file-allocation=none to disable it. See --file-allocation option in man page for more details.
[#b8b044 51MiB/61MiB(84%) CN:1 DL:10MiB]
02/01 11:30:08 [NOTICE] Download complete: tmp/taxdump.tar.gz

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
b8b044|OK  |   9.1MiB/s|tmp/taxdump.tar.gz

Status Legend:
(OK):download completed.
Loading nodes file ... Done, got 2550743 nodes
Loading merged file ... Done, added 75930 merged nodes.
Loading names file ... Done
Init RMQ ...Done
Killed

Context
I want to search some query sequences locally against a clustered version of the NR database. I downloaded the clustered database and taxonomy files (nr_cluster_taxid_formatted_final.tsv.gz, nr_rep_seq.fasta.gz) from here, which was created as per: https://research.arcadiascience.com/pub/resource-nr-clustering/release/3. I then processed the files like so:
gunzip -c nr_cluster_taxid_formatted_final.tsv.gz | cut -f1,2 > nr_rep_seq_to_taxid.map
mmseqs createdb nr_rep_seq.fasta.gz nr_rep_seq_db

After these completed successfully, I tried to create the taxdb as per the above:
mmseqs createtaxdb nr_rep_seq_db tmp --tax-mapping-file '/data/clustered_nr/nr_rep_seq_to_taxid.map' -v 3

But the job was killed.
Questions:

Was it likely killed because of exhausting my available RAM?

If so, is there a way to restrict it during taxdb creation? I tried out --split-memory-limit 50G but got Unrecognized parameter "--split-memory-limit"

Was it killed for a different reason, e.g. disk space?

The disk the database is stored on has 95 GB free at the moment, and the main db file (from mmseqs createdb)  is 88.7GB. I haven't tried freeing up more space yet in case this is not the issue.

Your Environment

Git commit used: 2fad714b525f1975b62c2d2b5aff28274ad57466
Which MMseqs version was used: static (wget https://mmseqs.com/latest/mmseqs-linux-avx2.tar.gz; tar xvfz mmseqs-linux-avx2.tar.gz)
Server specifications (especially CPU support for AVX2/SSE and amount of system memory):

CPU: Intel i9-10900X (20) @ 4.500GHz (AVX2 supported)
GPU: NVIDIA Quadro RTX 4000
Memory: 64GB

Operating system and version: Pop!_OS 22.04 LTS x86_64

Hello again,
I've been revisiting mmseqs again for taxonomic assignment, and unwittingly ran into this problem again before finding my own Github issue (the circle of life!). I was just wondering whether by now there is any advice on creating a taxdb when RAM is limited? I ran the following:
mmseqs createtaxdb nr_clustered_mmseqs ~/TMP  --ncbi-tax-dump ~/.taxonkit/ --tax-mapping-file /data/clustered_nr/clustered_nr_taxmapping.tsv

I get output as per the OP in this issue, until the process dies with:
[truncated]
Loading names file ... Done
Init RMQ ...Done
Killed

I can see that the problem was most likely the RAM being exhausted (I received exit status 137). My workstation has 64GB of RAM, and accessing a server with more RAM for the creation of this database is not likely to be feasible.
Thanks


Histogram!

I’m not totally sure about the histogram.thresholds API. It’s more natural when you’re specifying the thresholds, but it’s less natural when you’re specifying the number of bins (the number of thresholds plus one). But I think it’s probably fine.

Fixes #19.


Rebuild Frotz, Glulxe intepreters with current Visual Studio

Issue fixed with 48198db6b9ab43557d516e6f63e46f60c034bc44, but now need to update the build instructions to cover these interpreters.

Build instructions updated in c7f37415c2fe8dc3bb27a7fd4549b81b282b4aa4.


Port ReadImageData example to Python.

The image file does not match the code. It has a black background not white as indicated in the code. Also consider colouring the actor.

Thanks for looking! The image does have a white background - it matches the C++ version.
I've got a weird problem - if I add a color to the actor:
    actor.GetProperty().SetRepresentationToWireframe()
    actor.GetProperty().SetColor(colors.GetColor3d("DarkSalmon"))

it works if the input .vti file has cell data, but not if it has point data, like the vase.vti file that's used for testing this example. I've also tried SetEdgeColor but that doesn't work either. How do I do this?

I was viewing the image on a white background and thought the vase was the background. So I have changed the background in the C++ example to silver. So you should change it here to Silver also.
Don't worry about adding a color to the actor. I tried a few things and the wire frame color doesn't change.

All right, should be all fixed up.

Thankyou


AST explorer in playground

As a complete newbie teaching myself Rescript, it's very difficult to know what to google for when you're not sure on some syntax. I find it very useful to past a snippet into a tool like https://astexplorer.net to find out what's going on in the syntax.
Could such a tool be added to the playground? Maybe it would be easier to integrate Recript into astexplorer itself, such is the case for Reason: https://astexplorer.net/#/gist/3412c637cd5ffe6019f772f540d14365/f0a2a0945bba8cade7a1d28896409db872a0af0e

As a complete newbie teaching myself Rescript, it's very difficult to know what to google for when you're not sure on some syntax

We recently saw this pretty nice UI idea about discovering JS operators https://joshwcomeau.com/operator-lookup/ and would be interested in designing something similar as well. Just a matter of creating a stateful component that gets an array of keywords / documentation text that gets embedded on a markdown page (advantage here is that we can use the mdx JSX functionality to edit our documentation text in markdown, passing it as a React.element to our component when rendering).
There are no plans on exposing AST functionality on the playground... not only because it would take some time to get the necessary infrastructure in place, but also because ASTs shouldn't be the way to explore the language. We are also on a tight time budget and would like to ship some more important features instead.


Infinite connect on Mac M3 | error creating tun device: Interface name must be utun[0-9]*

Describe the problem
Trying to connect to vpn from Mac M3 but encounter error:
/var/log/netbird/client.log
2024-10-15T14:17:34+03:00 ERRO client/internal/connect.go:277: error while starting Netbird Connection Engine: create wg interface: error creating tun device: Interface name must be utun[0-9]*

To Reproduce
Steps to reproduce the behavior:

Install pkg from dashboard
Click on connect
Log in with Oauth, see Login Successful
See infinite connection in application, see error in logs

Expected behavior
Connection established
Are you using NetBird Cloud?
Self hosted Netbird
NetBird version
0.30.1 both on client and server side
Screenshots

Additional context
I know that for now Netbird doesn't support M3, but hope this issue will help to determine issue and add support for M3.

I have the same issue,
changing the name of the interface does not fix the issue for me.

Hello @alex-ritter and @DyllasDek by default the macOS client uses the correct interface name prefix. Can you clarify if you are getting the wrong name after just installing the client?

Hi @mlsmaycon
Netbird I believe is selecting the right interface name (utun5) and used to work on my Mac. After updating to the new relay system all agents other then my mac fails to connect to netbird.
Netbird fails on my mac because it says that the interface is currently in use (utun5). Changing the name of the interface doesn't fix the issue. I'm tempted just to reinstall macos but this seems like a netbird issue.

So I just reinstalled Mac OS. Confirmed that the default interface name is utun100 on a fresh install. Although it does work when utun is set to 100, and now I'm not getting the other issue where it says that the interface is in use.

Another thing that netbird needs improving on Mac OS is if there's a slightest issue with the VPN configuration within the system it is extremely hard to debug anything. Log files are extremely inaccurate and most of the time logs are not even generated. I think the Mac OS port of netbird needs another look before it can be used reliably in production cases. We can't be reinstalling Mac OS to fix issues with netbird.
I have not had any issues with netbird on Linux or Windows, I've only had issues with netbird on Mac OS after deleting the log files or modifying network settings within Mac OS for other interfaces. This could have been a issue with having multiple VPN's installed as well, I had Unifi's wifiman teleport installed to configure netbird's virtual machine on my proxmox instance to get netbird setup, and I had proton and nord vpn installed as well. But of corse I had none of these running at the same time with netbird.

Hello @alex-ritter and @DyllasDek by default the macOS client uses the correct interface name prefix. Can you clarify if you are getting the wrong name after just installing the client?

HI! I get wrong name on fresh install. I can't reproduce error because now it stores cache. From logs I found my init interface name: failed creating tunnel interface Danila-Mac

I found that it turns out that during the initial setup, I accidentally changed the name of the interface.  This is my mistake, however, it seems to me that then there should be validation in the application for the interface name.

Yeah Danila-Mac seems like it's a custom interface name... That should give an error 'Interface name must be utun[0-9]*'.
Seems like utun100 works for me after a fresh install of Mac OS and Netbird. Netbird on my last install started being unstable after removing the log file and config files to try to reinstall netbird during a different issue.
When I removed the log file and config files before, logs stop generating, it somehow still used the old configuration, and Netbird became extremely unstable afterwords with reinstalls not fixing either of those issues. This time i'm not touching those files because I don't want any issues lol

To confirm, was the change done by updating the config.json file or by the GUI advanced settings?
There is a validation when entering the name using the up command. See the example below:
maycon@Maycons-MacBook-Pro-2 [23:38:15] [~]
-> % netbird up --interface-name test11
Error: invalid interface name test11. Please use the prefix utun followed by a number on MacOS. e.g., utun1 or utun199

To confirm, was the change done by updating the config.json file or by the GUI advanced settings?
There is a validation when entering the name using the up command. See the example below:
maycon@Maycons-MacBook-Pro-2 [23:38:15] [~]
-> % netbird up --interface-name test11
Error: invalid interface name test11. Please use the prefix utun followed by a number on MacOS. e.g., utun1 or utun199

The change was done by updating in the GUI advanced settings


When target location change, data must be moved (not duplicated)

Steps to reproduce:
Run composer update with the following config:
{
    "name": "xxx/xxx",
    "type": "library",
    "require": {
        "composer/installers": "^1.0.21",
        "prestashop/ps_specials": "^1.0",
    }
}

and notice module package is installed into /modules/ directory.
now edit the config to:
{
    "name": "xxx/xxx",
    "type": "library",
    "require": {
        "composer/installers": "^1.0.21",
        "prestashop/ps_specials": "^1.0",
    },
    "extra": {
        "installer-disable": [
            "prestashop"
        ]
    }
}

and run composer update again. The prestashop/ps_specials package is not moved (although vendor contains data about the original location), instead a new copy of it is installed to the standard vendor location.

Yeah if the installer is disabled there is no way for Composer to know where the package was previously. You'd need to remove the packages, disable the installer then install them again for this to work. I don't see how we can possibly fix that edge case tbh.

I think the target/install local directory is stored in composer metadata.

Yes that is true, but some custom installers also allow installing several things in the same path, so it's not like we can simply wipe that old path if the new one is different due to a custom installer being missing, we'd risk deleting user data.


allow creating object with handle as Xenon does

suppose you take market rates and create a calibrated curve.  you might want to have several different calibrated curves in a spreadsheet, maybe using same market datas with different parameters.
you know the location of the calling cell.  so the user-defined D function you call from Excel can create a new 'object' with a text handle associated with that cell.  and to refer to that object you just pass the handle as a string in to another user-defined function.
it's not much work to do but would be useful at some point.  speak to @John-Colvin or @9il if questions.  also richard m.

It basically boils down to subscribing a new RTD topic for each object by hashing the function & parameters used to create it, creating a unique identifying string handle for the object, storing the object somewhere you can look it up with that handle and returning the handle to the cell. You need to RTD topic to give you a way to delete the object (or at least your reference to it) when the contents of the creating cell changes.
There are some sticking points like async functions. You need to return something initially while the cell is calculating and then when the cell recalculates changes you need to hang onto the previous result until the new one is ready or you end up with sheets flashing up "# N/A" all over the place any time anything changes.

We can do it already using https://github.com/libmir/mir.net and mir type system the same way we do it in Xenon. It fully @nogc and nocopy interaction with C#/C++/D that allows you to pass and forgot reference to an data of any complexity. C# feels much better for Excel than any D wrapper we may have.
@skoppe Nick said it is important to have an OOP excel APIs. Can we propose @hatf0  to work on Mir->C# reflection layer? I would help him as well. We already solved a lot of related problems in mir.net such that memory management and exception handing. That would be a great benefit for Xenon as well.

We can do it already using mir.net and mir type system the same way we do it in Xenon. It fully @nogc and nocopy interaction with C#/C++/D that allows you to pass and forgot a reference to a data of any complexity. C# feels much better for Excel than any D wrapper we may have.

I don't think this is enough for subscriptions. This is real-time-data I am talking about.

Nick said it is important to have an OOP excel APIs

I don't know what is meant by this. Perhaps good to discuss this in more detail in private.

Can we propose @hatf0 to work on Mir->C# reflection layer? I would help him as well.

As long as it supports Streams (aka async iterators).


multiple overlayWith? overlayWith larger image?

Hello,

Is it possible to do multiple overlays?

"overlayWith(image, [options]) must be the same size or smaller than the processed image"
Can this be changed? It's kind of restrictive that the overlay must be smaller or the same size as the processed image. For example I want to put a simple image border at the bottom of an image but currently it's not possible?

" Is it possible to do multiple overlays?"

#405 provides an example of how you might achieve this.

"I want to put a simple image border at the bottom of an image"

Did you see the extend operation, which will extend the size of the image before compositing?

Thank you lovell! That's very helpful.


New validation rule, missing_values_found

Specification: https://github.com/Big-Life-Lab/PHES-ODM-Validation/blob/main/validation-rules/missing_values_found.md

Blocked by #63

Is this still blocked?

Is this still blocked?

It should be ready now. There are just a couple other issues prioritized ahead of it. :)