Expected Behavior
Fix the JS if possible to display of an unlimited number of blocks or do pagination.
Steps to Reproduce
Create a snippet with lot of blocks and try to load it.
Console tells me multiple times:
husky.min.js?v=1481018069358:1 (node) warning: possible EventEmitter memory leak detected. 21 listeners added. Use emitter.setMaxListeners() to increase limit.
Possible Solutions
Maybe the events could be added in a bulk way on multiple elements so the workload will be less.
Or just add pagination if there are more than 25 blocks.

@kfrohwein do you have opened all the block items? can you please post your configuration here?

the problem is that the component in each block will be started initially. this lasts into one request per media-selection which exists in each block and one request foreach block preview image. when there are 100 blocks the browser have to do 200requests. This lasts into a very long loading time (about 30min in this case) after doing all requests the form is normally usable.


add some files I care about

these error messages are generally a bit scary, should maybe change them to something less worrying for the author... will think about that more next monday :laughing:

@lcnr is this ready to merge?

I guess :sweat_smile:


Decimal out of range error when trying to read a NUMERIC type

Create the following Postgres table:
-- postgres
create table numeric_test(x int, y numeric, z numeric);
insert into numeric_test values (0), (0), (0);

Then try to read it with the postgres scanner:
-- duckdb
SELECT * FROM postgres_scan('', 'public', 'numeric_test');

This results in the following internal error:
INTERNAL Error: Decimal has a width of 255 which is bigger than the maximum supported width of 38

So when a column is declared NUMERIC its "length" is -1, meaning any value can be present. Not sure what to convert this to in DuckDB. DOUBLE? String?

I assume the scale is not known either? I would say DOUBLE. Either that or default to a very large decimal (e.g. DECIMAL(38,10) and throw exceptions when values are out of range.

Is there currently a workaround, or are numeric types just not supported?

Should be fixed, we now read those as DOUBLE as Mark suggested


The last commandline can not get a result, Reproduce Failure.

Hello,
following the intructions of README, I finally get a forward and a backward model trained using [rxn-onmt-models] and USPTO FULL dataset, but no results are returned when run the last commandline, as follows:

The command line and models I used are:
run-neb-retrosynthesis --product "NS(=O)(=O)c1nn(-c2ccccn2)cc1Br" --forward_model_path "./models/forward.pt" --backward_model_path "./models/backward.pt" --fingerprints_model_path "./rxnfp/models/transformers/bert_ft" --pca_model_filename "./sandbox/pca.pkl" --tree_data_dict_pca_filename "./sandbox/tree_data_dict_pca.pkl" --output_path "./test_retro.json"
The models link is : https://figshare.com/articles/dataset/a_forward_and_a_backward_model/25954747
Any help would be  appreciated! Thanks a lot.

I believe this is because of the message you see above the last log entry. The model trained does not seem to generate valid SMILES strings.

Thanks a lot for your patient reply.

I indeed followed all three data preparation steps: rxn-prepare-data, rxn-onmt-preprocess, and rxn-onmt-train. And though it was failed to get any results for several targets, and with the above invalidsmiles exception, I ran successfully for two small target product:  "CCS(=O)(=O)OCCBr", "CC(C)CS(=O)(=O)OCCCl".
But when testing this target: "Nc1cccc2cnc(Cl)cc12", a new error raised:

Is this normal when testing some targets with this project?
I agree the SMILES sanitization checks in this function module, and I am confused how to update this SMILES checks and at the same time filter the unsanitized SMILES.

And I was wondering if it has to do with the very small amount of data of reaction_trees.json in sample-data folder?

These are some failure examples that raise invalidSMILES or unsanitized SMILES exception:
target: 'CC(C)C(N)C(O)COc1ccccc1C1=NNC(=O)CC1'
error: rxn.chemutils.exceptions.InvalidSmiles: "CC(C)C1C(COc2ccccc2C(=O)CCC(=O)O1.NN" is not a valid SMILES string.
target:'Cc1ccc(C2=NNC(=O)CC2)cc1OCC(O)CNC(C)(C)C'
error: rxn.chemutils.exceptions.InvalidSmiles: "CC(C)(C)N.Cc1ccc(C2=NNC(=O)CC2CO2)cc1OCC1CO1" is not a valid SMILES string

And I was wondering if it has to do with the very small amount of data of reaction_trees.json in sample-data folder?

Surely the sample we provide does not allow to run realistic case studies, it's mostly to allow users to prepare their data according to the specification the package expects.

Thanks for your prompt reply. And when preparing my own dataset following reaction_trees.json, I was confused about the column "rxnfp_ids",  with its disorder number even in one rxn record. Is this column necessary for this dataset? If so (checking the relevant code, probably), how to generate this column for my own dataset? Thanks.

And I was wondering if it has to do with the very small amount of data of reaction_trees.json in sample-data folder?

Surely the sample we provide does not allow to run realistic case studies, it's mostly to allow users to prepare their data according to the specification the package expects.

Thanks for your prompt reply. And when preparing my own dataset following reaction_trees.json, I was confused about the column "rxnfp_ids", with its disorder number even in one rxn record. Is this column necessary for this dataset? If so (checking the relevant code, probably), how to generate this column for my own dataset? Thanks.

This is an identifier that is used to map the specific reaction to related fingerprints.
Involving here @federicozipoli that is the main author and can give better guidance on the topic.

Thank you @drugilsberg Correct. rxnfp_ids is list of identifiers (IDs) for the reactions, which correspond to the SMILES strings listed in the rxns array.
These rxnfp_ids do not repeat within each record, ensuring that each reaction SMILES string in the rxns array has a unique identifier in the corresponding rxnfp_ids array.
Additionally, these identifiers are unique not only within each record but also across different records.
For example, if in the record for patent US1*** there are two reactions identified by rxnfp_ids = [0,1]
the next record, let's say patent US2*** will have records rxnfp_ids = [2,3].

Thank you @drugilsberg Correct. rxnfp_ids is list of identifiers (IDs) for the reactions, which correspond to the SMILES strings listed in the rxns array. These rxnfp_ids do not repeat within each record, ensuring that each reaction SMILES string in the rxns array has a unique identifier in the corresponding rxnfp_ids array. Additionally, these identifiers are unique not only within each record but also across different records.
For example, if in the record for patent US1*** there are two reactions identified by rxnfp_ids = [0,1] the next record, let's say patent US2*** will have records rxnfp_ids = [2,3].

Soga!Thanks a lot again for all your patient explaination.


Dynamic Product Group - Releasedate - Time after/before - days makes the Group static

Description: If i use the condition "Release Date" with the type "Time after" the Product Group gets static to the date it's saved or added to the listing. it needs to be saved or added again to refresh.
Environment: SW <IP_ADDRESS>.
Steps to reproduce:
f.e.
Create a Group with the condition "Release Date" - "Time after" -  "Greater" - 365 days
You can limit the positions by category or something else (doesn't change the outcome)
**
Expected result:**
Only products that were released 365 days and older are shown and more Products will be added each day, if the release dates match.
So tomorrow all products that are 364 days (from today) old will be added.
Actual result:
The "dynamic" group is static from the date i saved the group or added it to the listing. so products from 365 days ago are shown but no new products will be added the next days.
I need to refresh the group manually by saving the group again or adding the group to the listing again.
[dynamische-gruppe.png|https://sbp-issuetracker-attachments.s3.eu-west-1.amazonaws.com/1702549331_657ad7533080c_1702549296_657ad7302643a_dynamische-gruppe.png]

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-32382.
[created from NEXT-32382, comment 485409]

[public] Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know. Thank you again for your valuable feedback.
[created from NEXT-32382, comment 492289]


Trades liquidating at different price to that shown on Console

Users have reported trades being liquidated at prices that do not match exactly the value shown on the deal ticket estimate and on the positions tab in Console.
The reason for this is that liquidation level on Vega is not simple and static as users may be used to on other platforms.  On Vega the liquidation level is determined by the following factors:

The entry price
The current market price
Their current margin level, taking into account all positions across all markets
The risk factors set on the market parameters
The current slippage on the order book

Since some of these can change, the liquidation price after a position is entered will not remain static on the price originally shown on the deal ticket estimate.  Furthermore, the estimate on the positions tab is also currently not 100% accurate since in reality liquidation may occur anywhere in a given range based on changes to the above factors.
We are working on changes to be able to more accurately show that range of prices in which the position may be liquidated which should make this aspect of the exchange more transparent.

Duplicate, covered in another tiicket


usb_host_mass_storage_simpletest.py take for ever, block a cp and kill tio

Not sure what to report but here is what I did and observed.
I deployed 8.2.0-75-gc75640eb0 on a Feather RP2040 USB Host.
Then I added in /lib the library from:

https://github.com/adafruit/Adafruit_CircuitPython_
https://github.com/adafruit/Adafruit_CircuitPython_USB_Host_Mass_Storage
And copied the simple_test from USB_Host_Mass_Storage to code.py

At that point I inserted a USB key and I started to get output, and a directory listing of the root of the USB key.
The USB key continued to blink, but there was no further output.
So at that point I took another terminal window and tried to copy over the simple_test from USB_Host_Descriptors on the Feather.
But that copy was stuck, and the prompt not coming back. The USB key was still blinking, then tio told me I was disconnected from the REPL. And in the other window, my cp command ended (but likely not successfully).
At that point the USB key was still blinking, but the CP board was not visible from discotool anymore.
I just tested a second time with a cp CODE_OF_CONDUCT.md /media/dglaude/CIRCUITPY/ and same scenario cp does not end and tio disconnect.
I don't have many USB key (mass storage) to try, but I will try again to see if it content specific.
Some output:
>>>
>>>
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
searching for devices
pid 0x3e00
vid 0x13fe
man
product USB DISK 2.0
serial 0701C20FB2DEE160
mounting
['.disk', 'boot', 'boot.catalog', 'casper', 'dists', 'EFI', 'install', 'md5sum.txt', 'pool', 'ubuntu', 'autorun.inf', 'autorun.ico', 'System Volume Information']

[tio 14:49:06] Disconnected

/media/dglaude/CIRCUITPY/:
boot_out.txt
code.py
lib
settings.toml
usb_host_mass_storage_simpletest.py

/media/dglaude/CIRCUITPY/lib:
adafruit_usb_host_descriptors.py
adafruit_usb_host_mass_storage.py

Just tested this, only had one usb stick, it sees it, gets stats, but can't mount it (block device doesn't exist).
It also stalls (rather than errors) attempting to mount it if you change code.py and it therefore reruns the init code as part of re-running code.py - think that usb stick is really slow to mount/work.
I then tried some inception level stuff and connected a T-DisplayS3 running circuitpython. It listed the files happily, and because I didn't notice it had stalled I assumed it had written hello.txt too. I then rebooted rp2040 to see if the hello.txt was listed, but then failed to do something (presumable read hello.txt) with USB Pipe Error / Memory Error.
Later tried a USB3 SD card reader, chucked on 1 bmp and a boot_log.txt and changed the example to read that first, which works, then it stalls when trying to write file.
Tagging @tannewt for an enjoyable test bed when playing with USB Host stuff as he said he might be looking at it this week.
I'm running the simple test example with a bit of extra logging on the RP2040 Feather USB Host plugged into the 3.5" capacitive touch screen. SD card present if that matters.
Leaving the write to attempt to complete ended up with the device disconnecting after a many minutes and it reconnects as a broken usb device on windows (battery connected to feather to avoid low power over usb).
Logs

Logs:
---- Closed serial port COM17 due to disconnection from the machine ----
---- Reopened serial port COM17 ----
searching for devices
pid 0x9917
vid 0x26bd
man
product USB DISK 3.0
serial 070148EEB7289D25
mounting
Traceback (most recent call last):
  File "code.py", line 40, in <module>
OSError: [Errno 19] No such device

Code done running.
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.
---- Closed serial port COM17 due to disconnection from the machine ----
---- Reopened serial port COM17 ----
---- Closed serial port COM17 due to disconnection from the machine ----
---- Reopened serial port COM17 ----
Hard fault: memory access or instruction error.
Please file an issue with your program at github.com/adafruit/circuitpython/issues.
Press reset to exit safe mode.

Press any key to enter the REPL. Use CTRL-D to reload.

MemoryError:
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.

Code.py
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
# SPDX-FileCopyrightText: Copyright (c) 2023 Scott Shawcroft for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense

import time
import os
import storage
import usb.core

import adafruit_usb_host_mass_storage
def os_Exists(path):
    try:
        return os.stat(path) != None;
    except:
        return False

device = None
while device is None:
    print("searching for devices")
    for device in usb.core.find(find_all=True):
        print("pid", hex(device.idProduct))
        print("vid", hex(device.idVendor))
        print("man", device.manufacturer)
        print("product", device.product)
        print("serial", device.serial_number)
        break
    if not device:
        time.sleep(5)

print("mounting")
msc = adafruit_usb_host_mass_storage.USBMassStorage(device,1)
vfs = storage.VfsFat(msc)
if not os_Exists('/usb_drive'):
    try:
        os.mkdir('/usb_drive')
    except Exception as e:
        print("Error creating directory: ", e)
        raise Exception("***** ====> Drive NOT WRITABLE! <====\nManually create the usb_drive folder on the CIRCUITPY drive")
storage.mount(vfs, "/usb_drive")

l = os.listdir("/usb_drive")
print(l)
if "boot_out.txt" in l:
    print("boot_out.txt:")
    with open("/usb_drive/boot_out.txt", "r") as f:
        print("\n".join(f.readlines()))
        print("Read boot_out.txt successfully")
print("Done reading boot_out.txt")

if "hello.txt" in l:
    print("hello.txt:")
    with open("/usb_drive/hello.txt", "r") as f:
        print(f.read())
        print("Read hello.txt successfully")

print("Writing to /usb_drive/hello.txt")
with open("/usb_drive/hello.txt", "w") as f:
    f.write("Hello from the USB host device!")
    print("Wrote to hello.txt")

print("Done all.")

Minor update, although it could read boot_out.txt, when testing reading a bitmap (601k) it never finished, and eventually rebooted as a broken usb device
BMP displaying code (rp2040 usb host feather + 3.5 cap touch screen with sd):
# SPDX-FileCopyrightText: 2023 Tyeth Gundry for Adafruit Industries
# SPDX-License-Identifier: MIT

"""
This test will initialize the display using displayio and display
a bitmap image. The image advances when the touch screen is touched.
Flash storage, SD card, and USB mass storage are all supported (*.BMP).

Pinouts are for the 3.5" TFT FeatherWing V2
"""
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
# SPDX-FileCopyrightText: Copyright (c) 2023 Scott Shawcroft for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense

import time
import board
import digitalio
import displayio
import adafruit_hx8357
import adafruit_ft5336
import os
import storage
import adafruit_sdcard
import usb.core
import adafruit_usb_host_mass_storage

# import adafruit_tsc2007
# Release any resources currently in use for the displays
displayio.release_displays()

# Use Hardware SPI
spi = board.SPI()

sd_cs = board.D5
tft_cs = board.D9
tft_dc = board.D10

display_width = 480
display_height = 320

display_bus = displayio.FourWire(spi, command=tft_dc, chip_select=tft_cs )#, baudrate=60_000_000)
display = adafruit_hx8357.HX8357(display_bus, width=display_width, height=display_height)

i2c = board.STEMMA_I2C()

irq_dio = None
# tsc = adafruit_tsc2007.TSC2007(i2c, irq=irq_dio)
touch = adafruit_ft5336.Adafruit_FT5336(i2c) # 0x38 is the default address for the FT5336

groups = []
images = []
def list_files(path='/'):
    global images
    for filename in os.listdir(path):
        if filename.lower().endswith('.bmp') and not filename.startswith('.'):
            images.append((path if path.endswith('/') else path+"/" )+filename)

def os_Exists(path):
    try:
        return os.stat(path) != None;
    except:
        return False

def mkdir_or_die(path):
    if not os_Exists('/usb_drive'):
        try:
            os.mkdir('/usb_drive')
        except Exception as e:
            print("Error creating directory: ", e)
            raise Exception("***** ====> Drive NOT WRITABLE! <====\nManually create the %s folder on the CIRCUITPY drive" % path)

#attempt to mount sd card

def mountSD():
    try:
        print("Attempting to mount SD card")
        sdcs = digitalio.DigitalInOut(sd_cs)
        sd = adafruit_sdcard.SDCard(spi, sdcs)
        vfs = storage.VfsFat(sd)
        if not os_Exists('/sd'):
            os.mkdir('/sd')
        storage.mount(vfs, "/sd")
        print("SD card mounted")
        return True
    except Exception as e:
        print("Error mounting SD card: ", e)
        return False
mountSD()

if os_Exists('/sd'):
    print("SD Directory exists")
    list_files('/sd')

# mount usb
def mountUSB():
    try:
        device = None
        timeout_ms = time.monotonic() + 10
        while device is None and time.monotonic() < timeout_ms:
            print("searching for devices")
            for device in usb.core.find(find_all=True):
                print("pid", hex(device.idProduct))
                print("vid", hex(device.idVendor))
                print("man", device.manufacturer)
                print("product", device.product)
                print("serial", device.serial_number)
                break
            if not device:
                time.sleep(0.5)

        if device is None:
            print("No USB device found")
            return False
        print("mounting USB")
        msc = adafruit_usb_host_mass_storage.USBMassStorage(device,1)
        vfs = storage.VfsFat(msc)
        mkdir_or_die("/usb_drive")
        storage.mount(vfs, "/usb_drive")
        print("USB mounted")
        return True
    except Exception as e:
        print("Error mounting USB: ", e)
        return False
if mountUSB():
    list_files('/usb_drive')

# flash storage
list_files('/')
print(images)

for i in range(len(images)):
    splash = displayio.Group()
    bitmap = displayio.OnDiskBitmap(images[i])
    tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader)
    splash.append(tile_grid)
    groups.append(splash)

index = 0
touch_state = False

display.root_group = groups[index]
print("displaying image %s" % images[index])

point={"x":0,"y":0,"finger":0}
while True:
    if touch.touched and not touch_state:
        try:
            for i,tpoint in enumerate(touch.points):
                print(tpoint)
                point["x"] = tpoint[0]
                point["y"] = tpoint[1]
                point["finger"] = tpoint[2]
                print("Touchpoint #%d: (%d, %d, %d)" % (i, point["x"], point["y"], point["finger"]))
                # left side of the screen
                if point["y"] < 2000:
                    index = (index - 1) % len(images)
                    display.root_group = groups[index]
                # right side of the screen
                else:
                    index = (index + 1) % len(images)
                    display.root_group = groups[index]
                print("displaying image %s" % images[index])
        except RuntimeError:
            pass
        touch_state = True
    if not touch.touched and touch_state:
        touch_state = False

Sounds like I didn't implement everything needed. I can't remember exactly how I tested it.


cmd/compile: hash of unhashable type [4]int32

Go version
gotip
Output of go env in your module/workspace:
GOARCH="arm64"
GOOS="darwin"

What did you do?
playground link: https://go.dev/play/p/WAX0OTneh60
What did you see happen?
panic: runtime error: hash of unhashable type [4]int32

goroutine 1 [running]:
main.main()
	/tmp/sandbox3460698193/prog.go:15 +0xc7

What did you expect to see?
no panic

Here's a simpler reproducer: https://go.dev/play/p/NGky0OURi8R

I can reproduce with go1.21 and go1.22. Should we backport this fix?

I'm on the fence. We only backport serious issues with no workaround, which I'm not sure this qualifies. It has been a bug since 1.18 and this is the first anyone has reported it. I'm not sure what a workaround might be, though. Does introducing a use of the array type in both packages work as a workaround?
I'll open backports and we can discuss on those issues.
@gopherbot please open backport issues. This issue may warrant backporting. It causes program crashing in some very particular circumstances. (Use of reflect.ArrayOf, and just the right use / nonuse of the corresponding language type in particular packages.)


Job Database can be same as Target Database

Hello,
Hope you'll are doing good. I have a small job to be triggered on schedule on one of the table in my database.
Can I create a job agent on the same database as Target Database considering it is only one job and scheduled run.
Please guide me on the same.
Thanks.

@anishjaindev Thank you for your feedback! Since this channel is for driving improvements towards MS Docs, could you provide the URL of the specific documentation that your feedback is applicable to? That way, we are able to make sure your feedback is addressed by the right team.
The best place for specific answers about implementations are going to be the Microsoft Q&A and Stack Overflow forums. We actively look through posts in the forums, and will do our best to get you going in the right direction!

Thanks @SamaraSoucy-MSFT. Apologies for posting the query in the wrong forum. but could you please provide me the correct link for posting my query on technical implementation on Azure SQL jobs.

Sure! You can use the MSDN forum https://social.msdn.microsoft.com/forums/azure/en-us/home?forum=ssdsgetstarted or the azure-sql-database tag on Stack Overflow.


Please improve documentation on git difftool/mergetool trustExitCode

Please pardon me for being ignorant and wrong here, but I don't want to take the utterly annoying process of joining a cumbersome mailing list just to report a documentation flaw. The GitHub issue tracker seems much more appropriate channel to me. Hopefully, someone appropriate will read this issue:
The documentation on the --trust-exit-code option isn't consistent.
git difftool

--[no-]trust-exit-code
git-difftool invokes a diff tool individually on each file. Errors reported by the diff tool are ignored by default. Use --trust-exit-code to make git-difftool exit when an invoked diff tool returns a non-zero exit code.

git mergetool

If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable mergetool.<tool>.trustExitCode can be set to true. Otherwise, git mergetool will prompt the user to indicate the success of the resolution after the custom tool has exited.

StackOverflow

About trustExitCode: For a custom merge command, specify whether the exit code of the merge command can be used to determine whether the merge was successful. If this is not set to true then the merge target file timestamp is checked and the merge assumed to have been successful if the file has been updated, otherwise the user is prompted to indicate the success of the merge.

Please elaborate in the documentation on what will happen when this option is set to true/false, resp.

hello @SetTrend ,
unfortunately this repo doesn't control the git documentation, so the best way to report the issue is indeed the mailing list. I don't think you need to join the mailing list as it is open to anyone:

Mailing List
General questions or comments for the Git community can be sent to the mailing list by using the email address<EMAIL_ADDRESS>If you wish to report any possible bug for Git, please use this mailing list as well.
You do not need to subscribe: you will be Cc'd in replies. Please keep the Cc list intact when replying (use "Reply to all"). Greylisting may delay your first post for a few hours. Note also that the list only accepts plain-text email; please disable HTML in your outgoing messages.

Yeah, you definitely don't need to subscribe to the list. But do watch out for the HTML thing, as the list's spam filter does not allow it.

The GitHub issue tracker seems much more appropriate channel to me. Hopefully, someone appropriate will read this issue:

Sorry, but it's unlikely. This repo is only watched by people who work on the website. You'll get a much wider audience on the mailing list. You can also try irc if you prefer that (see https://git-scm.com/community).

@peff, @pedrorijo91:
It's like I feared ... it doesn't work:
(In the following error report I replaced private data with an asterisk.)

vger.kernel.org rejected your message to the following email addresses:
git*vger.kernel.org (git*vger.kernel.org)
Your message wasn't delivered because the destination email system rejected your message for security or policy reasons. For example, the email address might only accept messages from certain senders, or it might not accept certain types of messages, like those larger than a specific size.
Contact the recipient (by phone, for example) and work with them and their email admin to determine what policy or setting blocked your message and what you should do to make sure that future messages from you won't be rejected.
For more information, see Status code 5.7.1.
vger.kernel.org gave this error:
Hello [*.*.*.*],
for your MAIL FROM address<EMAIL_ADDRESS>policy analysis reported:
Your address is not liked source for email


Feat external cache

This PR allow the ISR/SSG cache to resolve before reaching NextServer.
This has 2 big benefits:

It reduces cold start because we don't need to load the js for the route for ISR/SSG ( It could have a big impact for path that match multiple route )
It allows the cache hit to happen directly inside the external middleware ( This will allow us to make PPR works as intended inside the CDN and not in the server as in standalone mode)
This one probably need to be a Minor release as it will require some changes to the IAC ( external middleware will need extra permissions )

It is still WIP :

[x] Make it work with external middleware
[ ] Maybe implement PPR here ??? (It might be better in a subsequent PR as this might require a lot of changes)

Some notes around PPR :
We probably want next to settle on an implementation, because as of right now there is no way to do it outside of minimal mode.
There is a dirty solution for this, we could have 2 version of NextServer running inside the handler, one in minimalMode for PPR and the normal one for the rest.
Maybe they'll decide to allow this for anyone and not only on vercel. ( we just need to have acces to the _next/resume endpoints )

I think this one is done and should work in most cases.
As for a proper PPR implementation, almost everything is in place but i think we really need to wait to see what they end up doing with the upstream implementation.
In previous implementation they provided the prerendered html at build time (it might still be the case in some occasion as the code is still there) and the only thing left to do to recreate the complete html was to create a stream, push the initial html into the stream, and then push the result of the _next/resume endpoint into it and it was done.
At the moment, it looks like they do not provide the prerendered html anymore and we have to reconstruct it. A dirty way that seemed to work was to just create a shell html like that and use it (It's very likely broken in a lot of cases)
<!DOCTYPE html><html>
  <head>
    <meta charSet="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
   <!-- Here we insert every these 2 necessary script for the page  -->
    <script src="http://localhost:3000/_next/static/chunks/webpack-6540e76769ad5f68.js" async=""></script>
    <script src="http://localhost:3000/_next/static/chunks/main-app-a079acdba6bedcac.js" async=""></script>
  </head>
  <body>

The proper way to do it would be to use the prerender function from react-dom/static.edge with all the correct next provider as children, but it means a lot of reverse engineering. But hopefully they'll just prerender the html once it is ready


RuntimeError: The size of tensor a (113) must match the size of tensor b (112) at non-singleton dimension 2

I don't know why this is happening when training my own custom dataset. Could you get me some advice?

loading annotations into memory...
Done (t=0.05s)
creating index...
index created!
Creating video index!
 Please do not use them for anything important until they are released as stable. (Triggered internally at  /opt/conda/conda-bld/pytorch_1623448272031/work/c10/core/TensorImpl.h:1156.)
return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
Traceback (most recent call last):
File "main.py", line 101, in
main(opt)
File "main.py", line 70, in main
log_dict_train, _ = trainer.train(epoch, train_loader)
File "/home/mars/TraDes/src/lib/trainer.py", line 364, in train
return self.run_epoch('train', epoch, data_loader)
File "/home/mars/TraDes/src/lib/trainer.py", line 194, in run_epoch
output, loss, loss_stats = model_with_loss(batch)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 168, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 178, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 86, in parallel_apply
output.reraise()
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/_utils.py", line 425, in reraise
raise self.exc_type(msg)
RuntimeError: Caught RuntimeError in replica 0 on device 0.
Original Traceback (most recent call last):
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 61, in _worker
output = module(*input, **kwargs)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/trainer.py", line 143, in forward
outputs = self.model(batch['image'], pre_img, pre_hm, addtional_pre_imgs, addtional_pre_hms)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/model/networks/base_model.py", line 164, in forward
cur_feat = self.img2feats(x)
File "/home/mars/TraDes/src/lib/model/networks/dla.py", line 602, in img2feats
x = self.base(x)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/model/networks/dla.py", line 294, in forward
x = getattr(self, 'level{}'.format(i))(x)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/model/networks/dla.py", line 221, in forward
x1 = self.tree1(x, residual)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/model/networks/dla.py", line 221, in forward
x1 = self.tree1(x, residual)
File "/home/mars/anaconda3/envs/trades/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mars/TraDes/src/lib/model/networks/dla.py", line 63, in forward
out += residual
RuntimeError: The size of tensor a (113) must match the size of tensor b (112) at non-singleton dimension 2

This bug is in dla.py

Try to make the image size be evenly divided by 32?

What kind of function should I use? Rescale in pytorch transforms? Put it in torch.utils.data.DataLoader? I'm a newcomer in DL. I don't know much about image pre-processing. Can you give me more details about how to realise it?


Handling citation of Resolutions (CIPM and CGPM)

@andrew2net we have these Resolutions that can be cited:

https://github.com/metanorma/cgpm-resolutions/
https://github.com/metanorma/cipm-resolutions/

What is the best way to enable the citation of them?
cc: @opoudjis

@ronaldtse what do we need to cite? If we need to cite the dates element:
- dates:
  - 2012-06-01
  title: Decision CIPM/101-1
  identifier: 101-1
  url: https://www.bipm.org/en/committees/cipm/meeting/101(I).html
  reference: https://www.bipm.org/utils/en/pdf/CIPM/CIPM2012-EN.pdf
  considerations: []
  actions: []
  subject: The CIPM
  x-unparsed:
  - agreed that the minutes of the 100th meeting (2011) were confirmed by correspondence
    and that the printed version tabled is a true copy of what was circulated.

then it needs to be converted into relaton-iho model. Assume the mapping could be the following:

date (2012-06-01) -> date[@type='published']
title -> title
identifier -> docidentifier
url -> url[@type='src']
reference -> url[@type='doi']
considerations -> ?
actions -> ?
subject -> ?
x-unparsed -> ?

Do you have suggestions on how to map considerations, actions, subject, and x-unparsed?

@andrew2net, ignore  considerations, actions, subject, and x-unparsed. This is full text of the content of the recommendations (albeit structured): they have no business in a bibliographic citation.
The subject seems to be the addressed organisation or type of organisation; e.g. Comité international des poids et mesures, or national metrology institutes. It doesn't belong in relaton either; we could shove it in keywords, but I don't see why we should.

@ronaldtse I've added CGPM Resolutions to the relaton-data-bipm. Please check if it is correct.

@andrew2net thanks for adding them -- quick question -- did you write a script to import them? If so, can you add the script here? We certainly don't want to maintain these manually...

@ronaldtse yes I've written a script but it converts only CGPM now. I'll make the script more universal and add it to relaton-data-bipm gem.

@ronaldtse all the resolutions are converted. The script is in relaton-data-bipm repository. Instruction is in the script's comments.


Support IBM Watsonx.ai LLM provider

Adds a support to IBM's Watsonx.ai as LLM provider and embeddings provider

.env
LLM_PROVIDER="watsonxai"
EMBEDDING_PROVIDER="watsonxai"

WATSONX_APIKEY="xxx"
WATSONX_URL="https://us-south.ml.cloud.ibm.com"
WATSONX_PROJECT_ID="xxx"
WATSONX_EMBEDDING_MODEL="intfloat/multilingual-e5-large"

FAST_LLM_MODEL="ibm/granite-13b-instruct-v2"
DEFAULT_LLM_MODEL="ibm/granite-13b-instruct-v2"
SMART_LLM_MODEL="meta-llama/llama-3-405b-instruct"

Thanks for adding this support!
@assafelovic I think having this as a configuration file in the configuration directory would be good.
Continuing previous discussions, we'd like configurations to be declarative and have everything in the config file except for API keys.
wdyt?


Point C-CASE guidelines to diesel as an example of an exception

Diesel uses a DSL and occasionally uses its own style in order to achieve the syntax it wants.

People who know what they're doing can do what they want. I don't think this needs an explicit exception.


ci: add workflow to welcome a new PR

Description
This PR adds a new workflow which posts a comment to every opened PR welcoming the pull request and making some important information available to the author (contribution guidelines, license).

Not 100% sure how this behaves if executed from a forked project. But I think pull_request_target should do the job.

Tested with a forked project. Works like a charm.


⚠ ClamAV has degraded performance

In 7a3c775, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in 126fd45.


[Applicaton] Provable past delegations & delayed undelegations

Summary
Add EndBlockers keeper methods to:

Process delayed undelegations to become effective at the next session
Archive of old delegations to be used for past relay requests signature verification
Prune archived delegations past a certain number of blocks

Update the RingClient and RingCache to use archived delegations when needed
Remove stale code implementing PubKeyClient
2255 added lines of code are auto-generated pulsar files
A followup PR for e2e testing the feature involving sending relays to gateways instead of self-signing AppGateServers will come after.
Issue

#476

Type of change
Select one or more:

[x] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing
Documentation changes (only if making doc changes)

[ ] make docusaurus_start; only needed if you make doc changes

Local Testing (only if making code changes)

[x] Unit Tests: make go_develop_and_test
[ ] LocalNet E2E Tests: make test_e2e
See quickstart guide for instructions

PR Testing (only if making code changes)

[ ] DevNet E2E Tests: Add the devnet-test-e2e label to the PR.

THIS IS VERY EXPENSIVE, so only do it after all the reviews are complete.
Optionally run make trigger_ci if you want to re-trigger tests without any code changes
If tests fail, try re-running failed tests only using the GitHub UI as shown here

Sanity Checklist

[ ] I have tested my changes using the available tooling
[x] I have commented my code
[x] I have performed a self-review of my own code; both comments & source code
[x] I create and reference any new tickets, if applicable
[x] I have left TODOs throughout the codebase, if applicable

@red-0ne Aiming to take a look at this tomorrow.

Haven't started looking at the code yet but great PR summary @red-0ne!

Action Plan:

Refer to this comment: https://github.com/pokt-network/poktroll/issues/476#issuecomment-2052639906
Leave this PR as is: make it a draft and close later (or pick up) depending on how alterative solution evolves
Refer to pseudo-code below for attempt number
Feel free to copy-paste code from here (e.g. tests) in new PR

ClaimValidation() {
	addressesToBuildRing = getActiveGatewayAddr(app, currentSessionNumber)
}

func getActiveGatewayAddr(app, currSessNumber) {
	activeGateways = app.activeGateways
	for sessionNumber, pendingUndelegations := range app.pendingUndelegations {
		if sessionNumber < currSessNumber {
			activeGateways = append(activeGateways, pendingUndelegations...)
		}
	}
	return activeGateways
}

func EndBlocker() {
	cleanUpPendingUndelegations(currSessionNumber)
}

func cleanUpPendingUndelegations() {
	sessionNumbersToRemoveUndelegationsFor = someFunctionUsingGovParam(currSess, numSessionsToGoBack)
	for app := allApplications {
		for sess, undelegations := app.undelegations {
			if sess <sessionNumbersToRemoveUndelegationsFor {
				delete(app.undelegations, sess)
			}
		}
	}
}

Closing in favor of #518

Closing in favor of #518

Love two things about this:

We're biasing to a simpler solution straight away
We're keeping this as a reference in history for when we need it

💪


disable missing-manifest-dependency in pos_multi_session

disable missing-manifest-dependency in pos_multi_session :unicorn:

I approve to merge it now


waitUntilExit cause slow execution

I benchmark the duration of executing a simple process. On other languages (ruby, go, bash), the result is about 1ms, but on Swift, it takes about 60ms.
The test code is
let s = Date()
SwiftShell.run("/bin/cp")
print(Date().IntervalSince(s))

I also test with raw Process and get same result
let s2 = Date()
let process = Process()
process.executableURL = URL(fileURLWithPath: "/bin/cp")
try process.run()
process.waitUntilExit()
print(Date().IntervalSince(s2))

After digging, I found the it may cause by the Process.waitUntilExit:
 "it polls the current run loop using NSDefaultRunLoopMode until the task completes"

https://developer.apple.com/documentation/foundation/nstask/1415808-waituntilexit
When changing it to terminationHandler, it's back to normal.
let s2 = Date()
let process = Process()
process.executableURL = URL(fileURLWithPath: "/bin/cp")
process.terminationHandler = { t in
    print(2, Date().timeIntervalSince(s2))
}
try process.run()
process.waitUntilExit()
print(1, Date().timeIntervalSince(s2))

The output:
2 0.007783055305480957
1 0.06369709968566895

Nice finding. Any reimplementation of SwiftShell.run using terminationHandler is welcome :)


Adding Security and Nginx Changes

Added

Dependency Updates
Nginx conf for http (Will not work for a local build. Must test on server)
Security changes for .env file (tester message sean for test .env file contents to put in audino/)
GitHub Protocols documentation

Please let me know if anything else is needed before pushing this final code based update to the server. Those with server access, try and get the system tested on the staging branch. If you are testing on the server, use prod.yml and head to audiolabelingsystem.duckdns.org to make sure the server is fully working yourself. Test locally to make sure changes still don't affect dev work.

Tested staging on server side. Dependcies updated and nothing has broken, yet. https is working fine. However, on google chrome, typing in http://audiolabelingsystem.duckdns.org is for some reasons shortened to audiolabelingsystem.org. This is a problem

Remember to use docker-compose.prod.yml build to up before going to the url


Fixes for the DUT serial handling with the HUP suite

@vipulgupta2048 @rcooke-warwick does this look ok?

@balena-ci rebase

Can one of the admins verify this patch?


Auth - Github Workflow

Use Github OAuth workflow for user login.
AC:

GET -> /api/v1/auth/github/signin initiates the Github OAuth workflow and returns the user to the url specified in the corresponding environment config file

See #196 for a bug relating to a non-public email address in GitHub. Beyond that, looks good. Moving to complete.


Regression: query data is not accessible using {my_query}

Steps To Reproduce
```sql my_query
select * from orders limit 10
```

{JSON.stringify(my_query)}

Expected Behavior
data array, eg
[{"id":1,"order_datetime":"2020-06-08T16:13:42.000Z","order_month":"2020-06-01T00:00:00.000Z","first_name":"Tracey","last_name":"Coppard","email":"tcoppard0@ameblo.jp","address":"2 Mosinee Trail","state":"Minnesota","zipcode":55417,"item":"Model Racehorse","category":"Sinister Toys","sales":12.35,"channel":"Google Paid","channel_group":"Paid Search","channel_month":"Google Paid2020-06-01"},{"id":2,"order_datetime":"2019-12-11T07:01:08.000Z","order_month":"2019-12-01T00:00:00.000Z","first_name":"Noland","last_name":"Kupka","email":"nkupka1@samsung.com","address":"840 Cordelia Crossing","state":"Texas","zipcode":77223,"item":"Microscope","category":"Odd Equipment","sales":129.6,"channel":"Tiktok Ads","channel_group":"Social","channel_month":"Tiktok Ads2019-12-01"}]

Actual Behaviour
{"opts":{"noResolve":false},"__isQueryStore":true,"hash":"18bem6o","id":"orders"}

Workarounds
use {data.my_query} to access the data

This is a weirdness in the QueryStore; if you try to access {my_query[0]} it should work as intended. We can look at this JSON.stringify case, but it’s stringifying the QueryStore not the underlying data. {JSON.stringify(Array.from(my_query))} is a reactive workaround (data.my_query is not reactive, I think)

same as #1476


Add dynamic value support for extract static in the styled function.

What:
Add dynamic value support for styled (react components) when using extractStatic mode. This intentionally handicapped to just styled because of the inline style requirement.
Todos:

[ ] the styled component is one ugly hack and needs to be cleaned up.
[ ] css var support detection (use whatever postcss uses to determine if css var support is expected)
[ ] documentation on the limitations.

This will work
const H1 = styled.h1`
  font-size: ${p => p.fontSize};
`

Why:
It's possible.
Make @ai happy.

How:
This was actually a very straight forward process.

Always create the static css
replace any placeholders with the className and index ${name}-${hash}-${index}
detect if there are vars but no content function in the higher order component
add the inline style defs for the css vars to the elements props

Checklist:

[ ] Documentation
[ ] Tests
[ ] Code complete

@mitchellhamilton I have a PR in for https://github.com/developit/preact/issues/666 here https://github.com/developit/preact/pull/827

Codecov Report

Merging #279 into master will increase coverage by 0.23%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #279      +/-   ##
=========================================
+ Coverage   90.37%   90.6%   +0.23%
=========================================
  Files          21      22       +1
  Lines         966     990      +24
  Branches      260     268       +8
=========================================
+ Hits          873     897      +24
  Misses         75      75
  Partials       18      18

Impacted Files
Coverage Δ

...ages/emotion/test/extract/extract.test.emotion.css
100% <ø> (ø)
:arrow_up:

packages/emotion/src/index.js
94.73% <100%> (+0.34%)
:arrow_up:

packages/babel-plugin-emotion/src/parser.js
95.45% <100%> (+0.33%)
:arrow_up:

...kages/emotion/test/extract/server.test.emotion.css
100% <100%> (ø)

packages/babel-plugin-emotion/src/index.js
97.79% <100%> (+0.04%)
:arrow_up:

packages/react-emotion/src/index.js
100% <100%> (ø)
:arrow_up:

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 56097d0...e330c97. Read the comment docs.

Just a thought: extracted css calls won't work in random interpolations.


#930 Separate HSL interpreter implementations

Description
Description will follow soon, please check back later.
Fixes #930
Type of change

[x] New feature (non-breaking change that does affect the code)
[x] Refactor (code changes that do not affect the behavior of the code)

How Has This Been Tested?

[x] Unit testing

Checklist:

[x] I have performed a self-review of my own code
[ ] I have added tests that prove it is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Related issue number is linked in pull request title

Tests will be updated and added to verify the stability of added/extracted interpreters


Validation was going fine but account got suspended

Jesper: "Hi again. When you have time. Wonder what happened with my 2nd account today (it's suspended) (Validation #062)

Used the web app to login
Had to refresh the validation but then it worked
Managed to go thru short validation under 2 mins
Long validation didnt load keywords, but I reported bad flips anyway
Got the  green success banner
Afterwards it says the 2nd acc is suspended
You have any idea what caused this?

Ok, so now my wifes account is "zombie" (Validation #063) but we did the whole verification process and submitted in time
https://scan.idena.io/identity/0x06b9257bea6773cabe8ada8484362c28eab30456"
Rioda: Validation was done using web app and my shared node. No one else mentioned any problem like this. Validation was done on Mac. Are logs for web app available so we can try figure out what happened?

Once Jesper switched from Chrome to Firefox, today's validation went smoothly


support --disable-static option on TruffleRuby

See  for more context.
TruffleRuby, by default, sets the --use-system-libraries option (via these lines in mkmf.rb). Because of how Nokogiri's extconf.rb is currently implemented, this setting takes precedence over other options like --disable-static which would allow users to compile the packaged, patched versions of libxml2/libxslt and use them as shared libraries (instead of the system libraries).
I've proposed, in https://github.com/Shopify/oracle-truffleruby-collab/issues/11, to change Nokogiri's extconf.rb to essentially follow this logic:
static_p = enable_config("static", true) # defaults to true, overridden to false by `--disable-static`
if defined?(::TruffleRuby)
  if static_p
    # use system libraries - sane default to make installation easy
  else
    # use packaged libraries, built as shared objects - use the patched packaged versions, which might be hard for some systems to compile
  end
end

Essentially, this means that the environment variable NOKOGIRI_USE_SYSTEM_LIBRARIES would be presumed to be the default behavior on TruffleRuby; but allow it to be overridden.

I've made a small change locally to allow overriding NOKOGIRI_USE_SYSTEM_LIBRARIES with command-line arguments (PR incoming).
With that, it's possible to install nokogiri in all 3 variants. I'm using the latest TruffleRuby nightly build.
Current default, using system libraries:
$ time gem install --local pkg/nokogiri-1.11.1.gem
Building native extensions. This could take a while...
Successfully installed nokogiri-1.11.1
1 gem installed
 34.24s user 2.19s system 424% cpu 8.579 total

Compiling the vendored libxml2/libxslt as shared libraries:
$ time gem install --local pkg/nokogiri-1.11.1.gem -- --use-system-libraries=false --disable-static
Building native extensions with: '--use-system-libraries=false --disable-static'
This could take a while...
Successfully installed nokogiri-1.11.1
1 gem installed
99.45s user 12.71s system 281% cpu 39.789 total

Compiling the vendored libxml2/libxslt as static libraries (the default on CRuby):
$ time gem install --local pkg/nokogiri-1.11.1.gem -- --use-system-libraries=false
Building native extensions with: '--use-system-libraries=false'
This could take a while...
Successfully installed nokogiri-1.11.1
1 gem installed
136.03s user 13.37s system 223% cpu 1:06.99 total

The latter 2 include the libxml2 patches from nokogiri since they use the vendored version.
They are also compiled as bitcode (in addition to native code) and run on Sulong.
Running on Sulong might actually fix https://github.com/sparklemotion/nokogiri/issues/1882, but the drawback is then libxml2/libxslt need to warm up on Sulong, which is slower than native code, and for large C libraries like those it's probably a better experience to run them natively when possible, and the flexibility from Sulong is not needed.
I think this is something that is probably best to solve on TruffleRuby or Sulong's side, where one could specify that some library dependencies should be run natively and not on Sulong, even if they have bitcode.
Regarding defaults, it seems vendored libxml2/libxslt as shared libaries is strictly better on TruffleRuby than vendored libxml2/libxslt as static libraries:

Faster to compile
Flexibility to run the vendored libraries as native code (this is very difficult with static libraries, but should be easy with shared libraries)
Clear dependencies as seen with ldd/otool (minor, but nice for debugging).

Between shared libraries and system libraries it's less clear.

--use-system-libraries installs faster (9s vs 40s, but 40s isn't really long either)
but --use-system-libraries requires to have the libraries installed on the system which is inconvenient in CI, notably it's an issue on GitHub Actions and TravisCI which don't have them installed by default. On GitHub Actions, the libraries are automatically installed with ruby/setup-ruby and bundler-cache: true, but that takes an extra 13-15s.
and --use-system-libraries has extra bugs and doesn't match the default behavior on CRuby
however --use-system-libraries is probably better for warmup until we have support in TruffleRuby/Sulong to always execute libxml2/libxslt as native

Closing this issue in favor of the work at #2193


Carousel: allow several items in one slide

The feature which can slide from up to down is we wanted. Like the option 'axis' = "vertical" and "items" of Tiny Slider, could you support it?  Thanks. @mdo  @cvrebert @XhmikosR @fat @MartijnCuppens @Johann-S @patrickhlauke @zlatanvasovic

@aihua Your point about a "vertical" feature isn't relevant to this issue. Please file a separate issue. Also, CCing 8 core devs on your random comment is considered rude and disrespectful of their time; don't make a habit of it.


No loopback

There is no loopback on /etc/network/interfaces
Why ? It's a problem when running mongodb.

You must manually add it to default runlevel, this is not enabled by default
rc-update add loopback

What about adding it to the interfaces file?
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

I see no reason why this service can't be enabled by default, since it doesn't present any serious security risks.
We will shortly have a new image for Alpine published which includes the loopback service enabled by default.
I'll update this when the image is published. In the mean time, if you really want to build the new image you can do it from my branch: https://github.com/scaleway/image-alpine/pull/58


Module 4.1

👋 Hi, you are missing the Module 4.1 Assignment. Please post your responses to the Education Community, then add a screenshot of your post here in this thread.

Sorry! I posted the discussion, but forgot the screenshot!


Unable to log in after changing the email

Describe the bug
TL;DR – first signed up with GitHub (which has email # 1 set as primary). Lately changed the email on FCC to email # 2 and since then unable to log in using any of the available methods.
I have two emails:

@gmail.com
other.domain

On GitHub, I have the first one as a primary email and the second one as a secondary.
IIRC, I first signed up to FCC with GitHub, so the letters were going to my first email.
Then I set my email at FCC to the second one and this is where the fun begins.
What happens when I try to log in using different methods:

Method
Account

with GitHub
newly created account # 1

with email # 1
newly created account # 1

with email # 2
newly created account # 2

with Google
newly created account # 1

As you can see, no method allows me to log into my original account.
Email bindings shown in each of the accounts:

Account
Bound email

original account
email # 2

newly created account # 1
email # 1

newly created account # 2
email # 2

My session cookie is still present in one of the browsers and when I try to change the email back to # 1, it says that it is already bound to another account, which is fair enough.

Does something need to be clarified?
It's not a "Help" issue, it's a bug report.

@freeCodeCamp/dev-team

Hi @WofWca
Thanks for your report.
Can you send me an email mrugesh at freecodecamp dot org with details of your emails.
I'll fix up your account, and investigate the root cause and possible fix there on.

@moT01 I no longer have this session.
@raisedadead I've sent an email, the subject is as the name of the issue.

I can see that we indeed have two accounts for each of your emails listed in the email. For all intents and purposes, we only use email as the primary identifier of your account.
So, it literally depends on what a provider returns us as an email address to lookup and sign you into the account.
For example:
First email<EMAIL_ADDRESS>Changed email<EMAIL_ADDRESS>Scenario 1:

When you sign-in through email, you must use your changed email<EMAIL_ADDRESS>using the old email will indeed create a new account for<EMAIL_ADDRESS>We do not track old emails per account as a measure of privacy.

Scenario 2:

When you sign-in through social providers like GitHub, they should be returning us the changed email, or indeed it will simply create a new account for the email they returned to us.
We do not bind email to social provider again for privacy reasons.

Essentially by design, we will create or return an account as per the authentication method used.

Well, the thing is – there are now three accounts. The original one is this one.

Okay, I found the issue. Thanks for the additional information. This indeed is a validation bug, when someone changes email.
So, when you entered your email on the update form in settings:
You entered something like<EMAIL_ADDRESS>this was stored on our DB as is without sanitising it to lowercase. And the providers will always return lowercase emails. We unfortunately treated this incorrectly.
If you are okay, I am going to delete your 'new accounts' and restore the email that you intended as per the change lower-cased, which should give you access back to your original account.
As for the fix, I'll audit the code and get back to you.

If you are okay, I am going to delete your 'new accounts'

I don't use them, so yeah.

@WofWca thanks for confirming, I have updated the email to be lowercased on your original account and removed the new accounts. Can you test this and let me know, if it's all fixed.

Yep, it's working.

The fix for this is dependent on #36776


Converting animated images (PNG, GIF, WebP) loses animation in output file

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[ X] Running npm install sharp completes without error.
[ X] Running node -e "require('sharp')" completes without error.

If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?

[ X] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?

System:
OS: macOS 10.15.7
CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
Memory: 16.41 MB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node
npm: 8.5.0 - ~/.nvm/versions/node/v16.14.2/bin/npm
npmPackages:
sharp: ^0.30.6 => 0.30.6
What are the steps to reproduce?

Convert a GIF file to WebP using the macOS libvips binaries. The resulting WebP file will have no pages in the metadata even if the animated: true or pages: -1 option is used, instead of the same number of pages as the original GIF file.
Convert an animated WebP file to PNG/GIF using the macOS libvips binaries. The resulting PNG/GIF file will only have one page if the animated: true or pages: -1 option is used, instead of the same number of pages as the original animated WebP file.
What is the expected behaviour?

The animated image file should convert correctly to another file format that supports animated images, with the correct number of pages in the converted file's metadata.
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem

To WebP:

`sharp(input.gif)
    .image.webp({ animated: true })
    .toFile(output.webp, (err) => {
              if (err === null) {
                console.log("Success");
              } else {
                console.log("Error")
              }
            });

To animated PNG:

`sharp(input.webp)
    .image.png({ animated: true })
    .toFile(output.png, (err) => {
              if (err === null) {
                console.log("Success");
              } else {
                console.log("Error")
              }
            });`

To GIF:

`sharp(input.webp)
    .image.gif({ animated: true })
    .toFile(output.gif, (err) => {
              if (err === null) {
                console.log("Success");
              } else {
                console.log("Error")
              }
            });`

Please provide sample image(s) that help explain this problem

https://en.wikipedia.org/wiki/GIF#/media/File:Rotating_earth_(large).gif

Hi, the animated property is part of the constructor.
https://sharp.pixelplumbing.com/api-constructor
- sharp(input.gif)
-    .image.webp({ animated: true })
+ sharp(input.gif, { animated: true })
+    .image.webp()

Oh, thank you, it works now. Is it okay to leave the animated: true option on for non-animated images? Or can I somehow conditionally turn off the animated option if the metadata detects that the pages object in the metadata of a static image file is undefined?

Is it okay to leave the animated: true option on for non-animated images?

Great, thanks for the quick answer.


Removes array test for transform and plugin

browserify supports to receive an array for these 2 API's (https://github.com/substack/node-browserify/blob/master/index.js#L271) so we can remove the array test we do.

I fixed the tests but I'm not sure they are still needed since we don't do anything with the data and we just send it to browserify.
What do you think @jmreidy ?

Since the transform syntax will change (the indexes was inverted before). I'll keep this PR for later for a major version.


Unhandled rejection Error at build

** At Run npm run build unhandled rejection error **
I am working with the Foundation emails and everything is going well
A few days ago this message arrived and I have no idea what it is.
The templates look good without any errors, but when we build the final solution, the inliner shows this error.

If you can help me to understand what happens, I would appreciate it a lot

Looks like it's something the inliner can't... inline. Do you have a Google Fonts stylesheet in your <head>, by any chance? If not, take a look at anything that's being pulled from a remote source - the inliner might be choking on something like that.
I know the inliner was always failing with a Google Fonts <link> tag for me, but I was working behind a proxy - so there's that, too.

I am not using google fonts.
I am using another service for the fonts.
One of them is to an "http" url and the other is to an "https" url.
"http" works fine and compiles without problems but "https" dont.
Thanks for your help
I appreciate it a lot


Rename enum values and color names to match C# naming convention

This could be BREAKING change for existing projects.
Examples are synced to this change
Examples:
Color.RAYWHITE -> Color.RayWhite
KeyboardKey.KEY_F3 -> KeyboardKey.F3
MouseButton.MOUSE_BUTTON_LEFT -> MouseButton.Left

i like it!

@danilwhale I think this is a good idea. Initially I matched the raylib style but over time found the api nicer when moving it closer to the C# style. It is a breaking change so the next release will be 6.0.0.


ad hoc project environments

like in https://github.com/kevinushey/rex/blob/master/R/rex-mode.R

Can borrow a lot of ideas from
https://github.com/smbache/import
and
https://github.com/klmr/modules

For now handled by modeling engine.


why hyphen is present in some tokens?

Inside preprocess_arabic.py this line is commented which is meant to remove hyphens present in the data. If I uncomment this then I am able to get significantly higher scores (using other coref model, icoref on ontonotes-ar). Could you please tell why hyphens are kept in the data?

I used the converting script from Kenton Lee's original e2e-coref paper, so they didn't do anything with the hyphens. I thought this would be unfair if we remove them from the datasets.


New project-view implementation to improve user experience

A project view that contains the entities of a project is preferred than the current UI set-up.
A dashboard like interface to view all the related entities of a project is currently being discussed. Any suggestions are welcomed in this design

This is currently necessary, as a user can be part of multiple project. Relevant project details can be retrieved by selected a particular project, and content should be loaded based on user role.

Closed by 6b8950b


Policy is not getting enforced into devices when there are removed devices on the server.

Description:
If there are removed devices on the server and a user try to apply a policy to the devices where the policy may apply the removed device the policy won't be applied to any of the devices on the server.
Affected Product Version:
IoT Server 3.0.0
IoT Server 3.1.0
OS, DB, other environment details and versions:
Steps to reproduce:
Enrolled and remove a device.
Then Enroll another device.
Create and publish and Policy.
Apply changes to the devices.
The policy must apply to the newly enrol device but it will not be applied.

Duplicate : https://github.com/wso2/product-iots/issues/1523


Live blog example is missing amp-live-list markup

https://ampbyexample.com/samples_templates/live_blog/preview/

/cc @kul3r4 @sebastianbenz

Thanks for reporting!
Actually the page is not showing the amp-live-list at all. The markup and content list are not created by the server template anymore, I am investigating.


feature: add 4 tests and calculate branch coverage of convert number to words

Feature description
Implement manual branch coverage analysis and make a test after adding new tests.

Resolved in commit 964342b


PCA test with MLContext

Some breaking changes to the PCA.dml script
Need to rethink about dml write function
Cacheable data is causing the problem with MLContext

PCA test with MLContext working

Some breaking changes are taken careof
evectors are not equal.

git instructions:

First of all add apache and j143 to address book like this.

> git remote add j143 https://github.com/j143/systemds
> git remote add apache https://github.com/apache/systemds

Then make sure you are in a master branch like this

# save any changes in your working directory
> git stash
> git checkout master
> git pull apache master

Receive the code in this PR.

> git checkout -b mlogreg_mlc --track j143/Mlogreg-mlc

Now, you have all the code. Start working towards implementing the test cases similar to PNMF.


Use Case: Joins

In this use case, joins are defined client side. For example, EF Linq queries.
Performing the join inside a database view is not permitted in this use case.
Scenarios:

Model with child objects
Flat model (fields from both joined tables are projected into one class)

Needs a better name. The join is defined client side, but executed in the database.

This is going to be a copy of the Views use case, without using the EmployeeDetail view.

Remaining ORMs created as separate tickets.


Element Plus prop values not typechecked

This may be a problem beyond the usage of Element Plus, but I will describe what happens for me:
When working inside a Vue template and using imported Element Plus components, there is no typechecking for values passed to a prop. It's strange, because when hovering over the component itself, it will correctly list the props and its accepted types.
For example: the <el-image> component has a prop called fit which can take the following values: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'. The prop 'fit' correctly shows as available with intellisense (though I have to select it from the list, it won't autocomplete while typing inside the component tag). However, the prop itself is typed as string and has no mention of the correct list of strings as defined by the component.

Is there anything wrong with the type recognition, or did I set something up the wrong way?

I used the Show Virtual Files to look at the generated code, SFCWithInstall  causes type inference error.
element-plus: export type SFCWithInstall = T & Plugin
// vue/runtime-core.d.ts
declare type Plugin_2 = (PluginInstallFunction & {
    install?: PluginInstallFunction;
}) | {
    install: PluginInstallFunction;
};
export { Plugin_2 as Plugin }

declare type PluginInstallFunction = (app: App, ...options: any[]) => any;

// VLS_type.ts
export type ComponentProps<T> =
	Record<string, unknown> &
	(
		T extends (...args: any) => any ? (T extends (...args: any) => { props: infer Props } ? Props : {})
		: T extends new (...args: any) => any ? (T extends new (...args: any) => { $props: infer Props } ? Props : {})
		: T // IntrinsicElement
	);

After removing SFCWithInstall, automatic completion can work normally.

@Sight-wcg Could you try does reverse T extends new (...args: any) => any, T extends (...args: any) => any fix the problem?
export type ComponentProps<T> =
	Record<string, unknown> &
	(
		T extends new (...args: any) => any ? (T extends new (...args: any) => { $props: infer Props } ? Props : {})
		: T extends (...args: any) => any ? (T extends (...args: any) => { props: infer Props } ? Props : {})
		: T // IntrinsicElement
	);

FIxed by #2180

Thank you for the quick resolution!


Intellisense chooses schema so fast

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.72.2
OS Version: Windows10

Steps to Reproduce:

Declare below code:

declare class MyClass {
	addObject(config: {
		type: "Triangle",
		base: number,
	});

	addObject(config: {
		type: "Circle",
		diameter: number,
	});
}

const myClass = new MyClass();

Now when you want to use addObject method and check possible options for type all works well, like below:

Make parameters base and diameter as optional, so declare below code:

declare class MyClass {
	addObject(config: {
		type: "Triangle",
		base?: number,
	});

	addObject(config: {
		type: "Circle",
		diameter?: number,
	});
}

const myClass = new MyClass();

Now, until I write type parameter, all works well, because I see, that possible values for type are Triangle and Circle:

but after writing type, Intellisense decided to chose first option, and I don't see another possible values to choose, although they have correct schema still and could be possible to select also:

can confirm the aforementioned behavior

but if you add double quote then ctrl+space the suggestion comes back correctly


Vesting rewards and game details not showing

Vesting Rewards
I earned some rewards on testnet .... you can see at the bottom here I earned 155 for taker fees.

10 of those have vested right away
But there are 0 in the vesting balance on screen.
But if I query for accounts:
query partyAccounts {
  partiesConnection(id:"3fc24730cad7d22f27244d1c8959135dc71becbfcbf86ac0a3a76622300f86c9"){
    edges{
      node{
        id
        accountsConnection{
          edges{
            node{
              balance
              asset{
                id
                symbol
                decimals
              }
              type
            }
          }
        }
      }
    }
  }
}

I should have 145 in there:
 "node": {
                    "balance": "145000000",
                    "asset": {
                      "id": "8ba0b10971f0c4747746cd01ff05a53ae75ca91eba1d4d050b527910c983e27e",
                      "symbol": "USDT",
                      "decimals": 6
                    },
                    "type": "ACCOUNT_TYPE_VESTING_REWARDS"
                  }
                },

Its on the vesting API too ... so I dont know whats up ... whichever way we should be sourcing it ... it shoud be there.
query vestingDetails {
  party(id: "3fc24730cad7d22f27244d1c8959135dc71becbfcbf86ac0a3a76622300f86c9") {
    vestingStats{
      rewardBonusMultiplier
      quantumBalance
      epochSeq
      }
    vestingBalancesSummary {
      epoch
      vestingBalances {
        asset {
          id
          symbol
          quantum
          decimals
        }
        balance
      }
      lockedBalances {
        asset {
          id
          symbol
          quantum
          decimals
        }
        balance
        untilEpoch
      }
    }
  }
}

Game Details
They are blank!

Even though there are results ... I fear the recent rework of the query might have done something?
This returns results
query gameDetails {
  games(epochFrom:13637){
    edges{
      node{
        id
        rewardAssetId
        epoch
        numberOfParticipants
        entities{
          ...on TeamGameEntity{
            team{
              teamId
            }
            rank
            volume
            rewardMetric
            rewardEarned
            rewardEarnedQuantum
            totalRewardsEarned
            totalRewardsEarnedQuantum
          }
        }
      }
    }
  }
}

Additional details / background info

Seeing locked, vesting, and vested rewards fine in mainnet now

I am concerned the Core APIs are not right ... but that isnt our problem
https://github.com/vegaprotocol/vega/issues/11066

Leaving this open until that Core ticket is fixed so I can double check this


App switcher screenshot

First of all thank you. This is a great project I really like it.
But I have a problem with the screenshot in the app switcher.
It only shows a white screen (not even the numpad).
I would like to show the user a picture instead of the white screen is this possible?

Have you copied code like this from the demo's code?
If yes then this is the reason you are getting this white Splash view. Normally it will have an icon too, but probably you haven't copied too to your assets.
By following the SplashView logic you can create any image you like.
I will close your issue, but if this doesn't solve it, then please re-open it.


[BEAM-9533] Fixing tox.ini variants

r: @udim

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Portable_Python PreCommit


Http2DefaultFrameWriter direct write instead of copy

Motivation:
The Http2DefaultFrameWriter copies all contents into a buffer (or uses a CompositeBuffer in 1 case) and then writes that buffer to the socket. There is an opportunity to avoid the copy operations and write directly to the socket.
Modifications:

Http2DefaultFrameWriter should avoid copy operations where possible.
The Http2FrameWriter interface should be clarified to indicate that ByteBuf objects will be released.

Result:
Hopefully less allocation/copy leads to memory and throughput performance benefit.

@nmittler - FYI.  This is to address https://github.com/netty/netty/issues/3372.
This is a first cut, and I tried to keep the structure mostly intact.  Some thing to note is in order to write out primitive types I am currently allocating a ByteBuf for each operation.  This can be optimized if necessary.

@Scottmitch Just finished a first pass ... looks great!  Just a few comments.

@nmittler - Another option to avoid allocating any extra byte buffers would be to add support for writing primitive types to ChannelHandlerContext.  I haven't looked into feasibility of this yet but seems like it should be do-able.

@nmittler @louiscryan - Feel free to take another look.

@Scottmitch just took another pass ... changes look great!  Just a few comments.

Looks good, just that one comment.

@nmittler @louiscryan - Comments are all addressed.  Feel free to take a look again if necessary.
As previously discussed this PR is pending some performance analysis to see if it is an actual improvement.  The microbenchmark from PR https://github.com/netty/netty/pull/3385 will be used to evaluate the difference.

@Scottmitch  LGTM ... great job!

Minor non-blocking comment. LGTM otherwise

Cherry-picked into 4.1 and master.  Thanks @Scottmitch!

@nmittler thanks for the review as usual!
@louiscryan it's very nice to have you contributing! Very helpful feedback...stick around :)


make default subject name 'SXXX'

When pre_fs = True, make default subject name 'SXXX' (not S001).

done, this was done in the example_config.json for anatrois that we store in launchcontainers, example_config_lc.yaml does not contain this file


docs: add documentation for generators

Description
Add documentation for generators:

document how to pass options to generator.
document options for generators.
document how to write custom generator.

Related issue(s)
Resolves https://github.com/asyncapi/generator-model-sdk/issues/46
See also https://github.com/asyncapi/generator-model-sdk/issues/45

@jonaslagoni Thanks very much for review! Suggestions are applied :)

@derberg @smoya Thanks for review mates!
@derberg I added reference to TypeScript generator example - making reference for every point is not needed - everything is in one file, like here - https://github.com/asyncapi/generator-model-sdk/blob/master/src/generators/typescript/TypeScriptGenerator.ts


Often no connection, breaking logic

Quite often (almost daily) the connection fails and this break my logic, the sensor state becomes no long erSiutaion Normale but unknown and I cannot run automations/conditions against that ..i.e. there are too many state-options if I want an alert that differs from "Situation Normale"
As the connection can probably not be resolved wihtout kicking Enedis, please consider error catching and default state
Error while setting up rte_ecowatt platform for sensor
Traceback (most recent call last):
  File "/config/custom_components/rte_ecowatt/__init__.py", line 560, in update_method
    raise UpdateFailed("Failed fetching enedis data at step 1")
homeassistant.helpers.update_coordinator.UpdateFailed: Failed fetching enedis data at step 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 217, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/rte_ecowatt/__init__.py", line 609, in update_method
    raise UpdateFailed(f"Error communicating with API: {err}")
homeassistant.helpers.update_coordinator.UpdateFailed: Error communicating with API: Failed fetching enedis data at step 1

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 304, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/rte_ecowatt/sensor.py", line 92, in async_setup_entry
    await enedis_coordinator.async_config_entry_first_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 233, in async_config_entry_first_refresh
    raise ex
homeassistant.exceptions.ConfigEntryNotReady: Error communicating with API: Failed fetching enedis data at step 1

Hello,
Enedis API stopped working a few months ago. I kept the logic there for the time being if they eventually put it back. But on the meantime, I would advise against building automation on this.


Mobile App- Menu hide karne k liye left swipe hona chahiye, no option for menu close

Mobile App- Menu hide karne k liye left swipe hona chahiye, no option for menu close

click on gray part do that