Add ability to do clock stretching

I'm working with the bno080 imu and I suspect that I'm getting timeouts due to clock stretching.
How would I control clock stretching with the hal?

Currently we set the TO to 10 bus cycles - e.g. for C2, C3, S3 here https://github.com/esp-rs/esp-hal/blob/d29c4b1dcf682b3ac22e5381abd8f00ee559f462/esp-hal-common/src/i2c.rs#L584-L586
So, we should add a way to configure the TO (which is not yet possible).
You might want to test if that really helps in your case by just changing it locally and see if that helps - if it does, we need to add the functionality to optionally pass the timeout

I had a very similar issue with the BNO055 and locally increasing the timeout to 20 did solve the issue in my case.

What is the maximum that I can configure the timeout to be that is supported by the hardware? Could the hal support something in software (but still use the hardware i2c as much as possible) if I need to go longer than that?

The max timeout is chip dependent but I think they can be configured to quite high values, e.g. on C3 "The value of I2C_SCL_ST_TO_I2C should be less than or equal to 22, which means SCL_FSM could remain unchanged for 222 I2C_SCLK clock cycles at most before the interrupt is generated."
I don't think there is a sane way to do it in a more software-controlled way

esp-idf supports values quite large, at least as best as I can tell:

The max timeout is chip dependent but I think they can be configured to quite high values, e.g. on C3 "The value of I2C_SCL_ST_TO_I2C should be less than or equal to 22, which means SCL_FSM could remain unchanged for 222 I2C_SCLK clock cycles at most before the interrupt is generated."
I don't think there is a sane way to do it in a more software-controlled way

So yeah 2^22 clock cycles is a lot.
I did some testing locally on arduino and using the Wire.setTimeOut() function to increase the clock stretching limit does seem to be an important part of getting the bno080 to work.
What are the next steps to add this functionality? I'm still probably not the best person to do this, but if no one has bandwidth I can try :)
Oooooh, 222 seemed quite low, but the datasheet actually says:

The ticks_to_wait doesn't look like it's the same thing: https://github.com/espressif/esp-idf/blob/49551cc48cb3cdd5563059028749616de313f0ec/components/driver/i2c.c#L1544-L1547
I think in my pasted text GH made the 2^22 into 222 - so yes 2^22 is a lot
We could add an optional parameter to new but that is a breaking change (not that much of a problem for the next release since that's a breaking release anyway - don't know when we will publish it but probably soon because of that riscv crate which got yanked) or add a second constructor which allows specifying the timeout. Then pass the value down to set_fequency which is very chip specific unfortunately (so we have a few of them).
I probably would prefer the second constructor but don't have a very strong opinion on that.
Would be awesome if someone who actually runs into that problem would implement it (e.g. I myself don't own any I2C device that needs it - it's certainly possible to use a second MCU to test it but might not be ideal)

Part of the problem is that the clock stretching is only one factor in why the bno080 driver seems to fail in rust. But I could give it a try!
No promises though. And feel free if anyone sees this to implement it yourself, assume I'm gonna struggle bus for a while here. This would be my first real non-trivial contribution to the hal, I believe

@bjoernQ I was looking into this. The tout value in esp-hal and the i2c_set_timeout function in esp-idf both use the I2C_TO_REG (0x000C) not the I2C_SCL_ST_TIME_OUT_REG (0x0078).

Furthermore the datasheet shows that these two registers are doing slightly different things with either the SCL or SCL_FSM.

Im not sure which register is the correct one to use. What was the rationale for suggesting the use of the I2C_SCL_ST_TIME_OUT_REG instead of the one that the hal and esp-idf use? Should I switch from the the other register to using the one you suggested?

So I investigated more. It looks like there are two separate timers. Each timer has a different interrupt, and a different range of values.
The first timer is controlled by I2C_TIME_OUT_VALUE (0x0C), and can range from [0, 2**5) APB clock
cycles. It is set here. This triggers the I2C_TIME_OUT_INT interrupt, which is checked to abort the i2c operation if it is fired. I see where we disable the interrupt but couldn't find where we enable it though.
In esp-idf, the i2c_set_timeout() function calls i2c_ll_set_tout() to configure the timeout. The memory address is defined in this struct. Its the third union, so 3xu32 values before it means its the 12th==0x0C byte, which is indeed the address of I2C_TIME_OUT_VALUE relative to the base address of the register block.
What is interesting is that the comment on i2c_ll_set_tout() says that the tout parameter sets the timeout to 2**tout APB clock cycles. That this contradicts what I discovered above - the technical reference states that the time is not exponential in the value of the register. I.E. the max number of cycles is not 2**N but rather just N. I'm going to assume that the technical reference is correct, and esp-idf should revise the comment.
The other counter that is useful but to my knowledge not used by either esp-idf or esp-hal is the on that @bjoernQ mentioned is I2C_SCL_ST_TO_I2C (0x78) and can range from [0,23]. This will trigger an interrupt when 2**I2C_SCL_ST_TO_I2C I2C_SCLK clock cycles have elapsed. Presumably, this has a less precise but far longer wall time than the other interrupt timer.
My questions are:

Which timer should we be using? I think we must choose between the high range (I2C_SCL_ST_TO_I2C) or high precision (I2C_TIME_OUT_VALUE) timers, right?
Does esp32 have those same two timers? Or does it only have the high precision one, but it has more bits to work with.
Is my understanding about the comment in esp-idf correct/should I open an issue there to have them confirm its wrong and have them change it?
Given this information about tout being non-exponential, does this code still make sense? To me that should just be set to 10 since its not exponential.
With this in mind, does this behavior diverge at all from the esp32? Are both timer types available on all esp32 family devices?

Maybe I'm mixing up things but from what I see I2C_TO_REG (0x000C) is used in both, esp-hal and esp-idf
While in the TRM the register description doesn't really mention it's exponential it's mentioned in the chapter about the general timeouts.
In general, I'd say if TRM and esp-idf say contradicting things, usually esp-idf is right
From what I see on ESP32 there is only I2C_TO_REG - so that even more suggests we should continue to use that one

In general, I'd say if TRM and esp-idf say contradicting things, usually esp-idf is right

OK, I will submit feedback for the technical reference, as well as open an issue in esp-idf, one of those will hopefully get back to me and confirm that esp-idf is correct.
Do you have any suggestions on how I could verify that hypothesis? Like whats the best way for me to test the master device's clock stretching implementation? Is there a rust-friendly device that support slave clock stretching I could connect on a breadboard and program to stretch the clock a particular length, to test when exactly the master triggers a timeout?

I don't know of something like that but probably I can look into creating such a thing since it would also be helpful for smoke-testing of the HAL

Is there a rust-friendly device that supports slave clock stretching I could connect on a breadboard and program to stretch the clock a particular length, to test when exactly the master triggers a timeout?

I hacked together something here: https://github.com/bjoernQ/i2c-dummy-device
It's not well written and definitely not well tested but hopefully be helpful

Unfortunately I don't have bandwidth to work on this right now, but if I come back to it ill let y'all know

BTW, I asked some unanswered questions in https://github.com/espressif/esp-idf/issues/10659.

usually esp-idf is right

In this case esp-idf says in public documentation that the value is linear, this is also what the technical reference says.
In private documentation of the low level code, it says that the value is exponential.
The esp-rs hal seems to treat the value as exponential (I think) because thats how esp32 works.
I would like some clarification on:

Is the value linear or exponential?
If its linear, should we switch to I2C_SCL_ST_TO_I2C on esp32c3, since that one definitely is exponential?

Any clarification to be had here? I can try to implement this but I need more info.

What kind of clarification do you need? If the timeout is exponential?
I can't find a definite source of truth unfortunately but maybe it is possible to clarify things by experimenting

the core question here that I can't find any information on is what I posted in https://github.com/espressif/esp-idf/issues/10659 two months ago. If I can at least get some clarification/understanding on that, it would be really nice.

There will be (soon) updated TRMs available with clarifications about the timeouts

I'm also working on BNO08x drivers and @alexbohm's solution works for me.
I also did an simple experiment to verify whether I2C_TIME_OUT_VALUE is exponential or linear with a BNO085.
My assumptions

I2C_TIME_OUT_VALUE uses the APB clock
BNO085 typically stretches line for about 400us

APB clock has a frequency of 80MHz

Deduction

It takes about 0.0004 / (1 / 80_000_000) = 32000 clocks for an I2C timeout.
I2C_TIME_OUT_VALUE is linear -> no enough bits to represent 32000 -> any value can lead to timeout
I2C_TIME_OUT_VALUE is exponential -> setting it to at least ceil(log2(32000)) = 15 is reasonable

So I modified the tout value in esp-hal-common/src/i2c.rs to 16 and the sensor behaves properly while a value of 14 makes the sensor timeout constently.
Conclusion
I2C_TIME_OUT_VALUE is exponential, i.e. TRM is wrong.

Thanks for analyzing this. I guess all we need to resolve this would be a function on I2C to set a custom timeout

With #1011 merged I think we can close this


Marten recreates index with decimal field

We have encountered an issue with the creation of indexes for decimal fields in MartenDB. The problem arises because MartenDB generates the index with a decimal type, but when the index is fetched from PostgreSQL, it is specified as numeric. This discrepancy leads to comparison failures and repeated attempts by Marten to recreate the index.
Code Example:
    [Fact]
    public async Task index_with_decimal_should_match_DDL()
    {
        StoreOptions(_ =>
        {
            _.Schema.For<Company>()
                .Index(c => c.SomeDecimal);
        });

        await theStore.Storage.ApplyAllConfiguredChangesToDatabaseAsync();
        await theStore.Storage.Database.AssertDatabaseMatchesConfigurationAsync();
    }

    public class Company
    {
        public Guid Id { get; set; }
        public decimal SomeDecimal { get; set; }
    }

Expected Index Creation:
MartenDB attempts to create the index as follows:
CREATE INDEX mt_doc_company_idx_some_decimal
ON public.mt_doc_company
USING btree ((CAST(data ->> 'SomeDecimal' as decimal)));

Actual Index in PostgreSQL:
When the index is fetched from PostgreSQL, it appears as:
CREATE INDEX mt_doc_company_idx_some_decimal
ON public.mt_doc_company
USING btree ("((data ->> 'SomeDecimal'::text)::numeric)");

This difference between decimal and numeric types causes Marten to continuously attempt to recreate the index, as it perceives the existing index as incorrect.
Note: Using duplicated fields works as expected without this issue.
Postgres version: 13.14

Got it locally. Required a change to Weasel


[WebToolsE2E][Aspire][GB18030] An error occurs when deploying an Aspire project that uses Chinese characters as the project name.

INSTALL STEPS

Clean machine: Win11 x64 23h2 ENU
Install SDK 8.0.401
Install Aspire 8.2.0
Install azd[1.10.1] and git[2.46.1]

REPRO STEPS

Open CMD, create an Aspire Starter App using following commands:
dotnet new aspire-starter -o Aspire应用1
I will encounter #5782, this issue does not affect running the project
Use the following commands to build and run the project, can run successfully without any errorcd Aspire应用1/Aspire应用1.AppHost
dotnet build
dotnet run

Runing 'azd init', select 'Use code in the current directory' > Confirm and continue initializing my app > select frontend as deployment service > type a new environment name, press enter
Running 'azd up'

ACTUAL
Failed to deploy the project using azd up.

Deploying services (azd deploy)
(x) Failed: Deploying service apiservice
ERROR: error executing step command 'deploy --all': failed deploying service 'apiservice': updating container app service: polling for container app update completion: GET https://management.azure.com/subscriptions/07268dd7-4c50-434b-b1ff-67b8164edb41/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/fb895b23-1d1c-42cf-b842-5a0e90d15fc3
RESPONSE 200: 200 OK
ERROR CODE: ContainerAppOperationError
{
"id": "/subscriptions/07268dd7-4c50-434b-b1ff-67b8164edb41/providers/Microsoft.App/locations/eastus2/containerappOperationStatuses/7f914c6f-824a-45e0-ab73-bf6db5e1c7ed",
"name": "7f914c6f-824a-45e0-ab73-bf6db5e1c7ed",
"status": "Failed",
"error": {
"code": "ContainerAppOperationError",
"message": "Failed to provision revision for container app 'apiservice'. Error details: The following field(s) are either invalid or missing. Field 'template.containers.apiservice.image' is invalid with details: 'Invalid value: "acr7f2zartj34zpu.azurecr.io/aspire应用1/apiservice-aspire20:azd-deploy-1726820428": could not parse reference: acr7f2zartj34zpu.azurecr.io/aspire应用1/apiservice-aspire20:azd-deploy-1726820428';.."
},
"startTime": "2024-09-20T08:20:37.3781706"
}
EXPECTED:
Can be published successfully.

@vhvb1989 @weikanglim @wbreza is it an ACA service issue failing to parse value with Chinese characters?

Most Azure names don't allow non-ASCII characters.

@weikanglim , can we extend the names package -> LabelName() to handle non-ASCII chars and replace it with something else?  or is it already doing it (and this issue is maybe fixed?)

LabelName works on my end: Aspire应用1 -> aspire1

but this can also open up a whole can of worms. I really do feel that long term we need to have a prompt with the default name listed, and have the user confirm it. Then we would also perform naming validation.
I have some ideas of how we can unify and streamline in-code schema validation with our JSONSchema spec.


file transfer padding issue

occasionally sending a file in either direction will fail with padding errors
Resolution

Find the error
create a unit test for the future
create a simulated failure to test the patch

This is still an issue using GCM. ASCII files can be downloaded client to server without issue. Binary files cannot be downloaded, produces an InvalidTagException. Uploading ASCII files server to client is inconsistent at best and either has odd non-ASCII trailing characters or produces InvalidInputException. Uploading in general has an added challenge of incrementing IV's in filesock.py...
It's also worth noting that doing an upload causes the client to receive a large amount of data, which is typically what the server does. The only other time the client receives data is the initial prompt (a small amount of data). Similar to how we had to integrate s.settimeout(value) for the server (because it receives a lot of data) we may need to do something similar here.

sendGCM and recvGCM are about to undergo a major rework on devel branch, to address this issue. I believe the issue is caused by encrypting 4096 bytes and then sending 4096 bytes, not accounting for the additional data (the iv and the tag). testing will be done!

I've rolled back to AES-256 D-H without GCM. For the time being this should no longer be a problem. If GCM support is still desired, work can be conducted in the output branch. More here: #21


Modifying dockerfile to use Debian slim base to reduce build time

Interesting diff between Dockerfile.slimDockerfile.slim? GH markdown links seem to be broken in PR...

Superseded by change to pulumi-python image.


chore: make the deploy fail when an error is found on the deploy

More details on https://github.com/HathorNetwork/on-call-incidents/issues/65

I've tried reproducing this after the changes in https://github.com/HathorNetwork/hathor-wallet-service/pull/409, but I couldn't.
My test consisted of creating a wrong migration like the one below, and running the build:
'use strict';

module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.removeColumn('push_devices', 'wefwefwef');
  },

  down: async (queryInterface, Sequelize) => {
    await queryInterface.removeColumn('push_devices', 'wefwefwef');
  }
};

It just errored out with ERROR: Can't DROP 'wefwefwef'; check that column/key exists and stopped the build, like expected.
So I would say we could close this issue already.

Reviewers @andreabadesso and @alexruzenhack

Oh! This was fixed in https://github.com/HathorNetwork/hathor-wallet-service/pull/293, I forgot to close this issue, sorry!

Ack.


Location algorithm tests

Closes #38

Failing test:
testTheElapsedTimeLabelShowsHoursAndMinutesWhenOverAnHourHasPassed, expected to equal <00 h 09 min>, got <09 min>
Looks familiar.


Ability to click on URLs time captured for

Hi - since I have enabled full URL tracking in my WakaTime, I can not recognize what exact webpage it is often.  For example, I am a heavy Google docs worker and all I see is "edit" as the title or a long URL.
I am working for a billable client right now and if I don't know what I worked on, I can't charge the right hours for it!
So if the URLs were clickable in the project or day detail page, that would be super helpful.

The default is to track domain not url, so making docs.google.com clickable won't help much for most users. Closing as won't fix.


Puppet 4 testing

I am attempting to test my modules via Travis-CI on Puppet 4 (4.0.0-rc1) and am running into a slew of errors.
Module code: https://github.com/razorsedge/puppet-snmp/tree/develop
Travis-CI config: https://github.com/razorsedge/puppet-snmp/blob/develop/.travis.yml#L38-L39
This is one of the errors:
1) snmp::client on a supported osfamily, default parameters for osfamily RedHat, operatingsystem RedHat should contain Package[snmp-client] with ensure => "present" and name => "net-snmp-utils"
   Failure/Error: it { should contain_package('snmp-client').with(
   NoMethodError:
     undefined method `setdefaults' for #<Puppet::Settings:0x00000001fa2430>
   # ./spec/classes/snmp_client_spec.rb:38:in `block (5 levels) in <top (required)>'

Full log: https://travis-ci.org/razorsedge/puppet-snmp/jobs/55598752
Is this something that I need to fix in my code (and any hints as to what/where), or something with rspec-puppet not working with Puppet 4?

Caused by https://github.com/rodjek/rspec-puppet/blob/master/lib/rspec-puppet/support.rb#L123-L147
Caused by commit https://github.com/puppetlabs/puppet/commit/ecdef20ace811b41cb0e9077376e256f70c7a331
Solution seems to be to call define_settings
@razorsedge i could setup a fork of the master branch and make the change if you want to try it out?

It's only hitting that rescue block and calling setdefaults because some of those settings no longer exist.  I think rspec-puppet needs to stop setting:

manifestdir
templatedir
parser

@electrical Yes, please.  I will give it a go this weekend.

Create https://github.com/electrical/rspec-puppet/tree/puppet4
Feel free to try it out.
I did try out the rspec-puppet spec tests but failed all over the place.
Trying to do some discovery on that.

Been trying to get it to work but not much luck.
Managed to fix some of the stuff but not much so far

@electrical Strangely, your puppet4 branch looks just like the master.  Am I missing something?

I think this might be the same problem as in my issue over at https://github.com/rodjek/rspec-puppet/issues/255 ?

#265 with additional changes. Still missing function API updates

Just to add to the mix here: we're using hiera-puppet-helper to assist with hiera lookups during our spec tests .. works fine under 3.x, but hiera calls fail on 4.x - is that possibly as a result of the missing function API updates @hunner mentioned?

Version 2.1.0 shipped yesterday and fixes my problems.

\o/


Different scroll navigations in 2d and 3d view

Operating system or device - Godot version:
Any modern laptop.
Issue description:

Using the trackpad for 2 finger scrolling represents a drag in most applications nowadays (not zoom).
In godot scroll always zooms. (2d and 3d)
It would be amazing to be able to orbit (3d) + drag (2d) with the mouse pad two finger drag.
A modifier key would be used for zooming.
Proposed approaches:
add a device param to input event: enum Device (trackpad, mouse, (maybe touchscreen although the screen has different events anyways))
than in the input handler for the 3d/2d view scroll events from trackpad and mouse could be handled differently...
Just add a setting use scrolling for pan and orbit which than needs to be changed whenever the user switches from mouse to trackpad.

First of all thank you for your report and sorry for the delay.
We released Godot 3.0 in January 2018 after 18 months of work, fixing many old issues either directly, or by obsoleting/replacing the features they were referring to.
We still have hundreds of issues whose relevance/reproducibility needs to be checked against the current stable version, and that's where you can help us.
Could you check if the issue that you described initially is still relevant/reproducible in Godot 3.0 or any newer version, and comment about its current status here?
For bug reports, please also make sure that the issue contains detailed steps to reproduce the bug and, if possible, a zipped project that can be used to reproduce it right away. This greatly speeds up debugging and bugfixing tasks for our contributors.
Our Bugsquad will review this issue more in-depth in 15 days, and potentially close it if its relevance could not be confirmed.
Thanks in advance.
Note: This message is being copy-pasted to many "stale" issues (90+ days without activity). It might happen that it is not meaningful for this specific issue or appears oblivious of the issue's context, if so please comment to notify the Bugsquad about it.

This is now detected at least on OS X and panning/scrolling -> 3d / 2d navigation work really well...
I think it is not as configurab le as it could be but the issue is defintly solved


Time periodic fields

In the current version of Parcels, if users provide a periodic field, they need to provide the first and last time steps of the time series (i.e. [0, 1, 2, ..., 24] for a daily cycle, [Jan 1st, ..., Jan 1st ] for a yearly cycle, ...
There is some redundancy in this system, since some data needs to be provided once.
This should be fixed in the future such that users only provide the series as [0, ..., 23] or [Jan 1st, ..., Dec 31st]
But because of this, it will be necessary to provide also the period of the time series, since all time steps are not necessarily equal (e.g. [Jan 1st, Feb 1st, ..., Dec 1st].
Unlike what is currently implemented, the fact that Dec has 31 days is lost, such that period is necessary.

Fixed in #641


Add title to internal post

As we want to show the post title in the internal post page, I think we can do something like this:
Mobile:

Desktop:

What do you think?

I found the uppercase to be too agressive :/

@diessica Fixed!


When you replace an atom with the selected one from Periodic table, additional symbols appear next to it.

Steps to Reproduce

Open Ketcher
Make two atoms connected with bond
Select any element from Periodic table
Click to first atom on canvas

Actual behavior
When you replace an atom with the selected one, additional symbols appear next to it.
Expected behavior
When you replace an atom with the selected one, no additional symbols appear next to it.
Screenshots
https://github.com/epam/ketcher/assets/62464241/10efc814-4c0f-432d-8042-1d80a8afbdad
Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 112.0.5615.138 (Official Build) (64-bit)

Ketcher version
Version 2.15.0-rc.2

Preview. No comments


scoop does not detect new java versions

PS C:> scoop update oraclejdk
Latest versions for all apps are installed! For more information try 'scoop status'
[..]
PS C:> scoop update -f oraclejdk
oraclejdk: 12-33 -> 12.0.1-12 (global)
Updating one outdated app:
[..]
Updating 'oraclejdk' (12-33 -> 12.0.1-12)
Downloading new version
Starting download with aria2 ...
[..]

Ref: https://gitter.im/lukesampson/scoop?at=5ca87f711f6e900d5ee9881f

Relates: #2981, #2720

The version number in #2720 is hard to compare. Why 1.1.1_8 is prior to 1.1.1?

We should stop comparing and just check if the manifest version is different from the installed version...

That means more code check and will be done tomorrow.

Done, #3333 just install version in manifest while update.
Just modify one operator in lib/core.ps1#L193

If the version dir already exist during "upgrade", for example a rollback of version from upstream maintainer, will the upgrade work or fail?

If the version number is not changed, nothing happened since no update. If version number is rollback, then install prior version and current dir will link to this version dir.

Duplicate of #2720


Got rid of IsTerminal call to reduce external dependencies

Addresses #928

#932 solves it in a maybe a less structured (some of the responsibilities of detecting platform moved, not all of them), but definitely less intrusive way


Set a maximum text size for iconWithLabelButton for Accessibility

Purpose
Set a maximum text size for iconWithLabelButton, when using very large accessibility texts sizes.
Does this introduce a breaking change?

[ ] Yes
[X ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[X ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

I will retarget this once the rename goes in.

Had problems with the merge on this one, so I'm just creating a new branch and PR.


Newsletters: add 136 (2021-02-17)

[x] Add topic links @harding
[ ] Update releases/RCs @harding
[x] Client/Services section @bitschmidty
[x] Bitcoin Core #20944 @jnewbery
[x] Rust-Lightning #787 @dongcarl

I've finished reviewing the rest of the newsletter sections and don't have any further comments. Enormous issue this week. Thanks @harding!

Squashed and merged!
💪 this week, team! Thanks @harding @dongcarl @jnewbery and @jonatack @Xekyo @moneyball @fjahr !

Great work, this was a really meaty one!


Create driver registry package

Currently driver management logic is tightly coupled with
libnetwork package and that makes it very difficult to
modularize it and use it separately. This PR modularizes
the driver management logic by creating a driver registry
package.
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM


Upgrade argus-docker backend API to v1.10.2

I notice that it drags in argus-server 1.9.0. It'd be better if it used 1.10.2

Originally posted by @hmpf in https://github.com/Uninett/argus-docker/issues/1#issuecomment-1352659485

It's now up to date with v1.15 backend and v1.13 frontend


Running pytest fails due to path issues: No such file or directory: 'generated_data/ed25519_metadata'

Hi!  I'm working on packaging of Python-TUF for Debian and ran into this self-check failure which I can reproduce in a basic git checkout of d805a81355d2cb657d99a270dbcf2e4691ea1182 which is master per 2024-12-06.
Shouldn't running 'pytest' work automatically?  Is there some path confusion here, or why does this fail?
root@a9cac658593b:~/python-tuf# pytest
========================================================================== test session starts ==========================================================================
platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0
rootdir: /root/python-tuf
configfile: pyproject.toml
plugins: typeguard-4.4.1
collected 184 items / 1 error

================================================================================ ERRORS =================================================================================
__________________________________________________________ ERROR collecting tests/test_metadata_generation.py ___________________________________________________________
tests/test_metadata_generation.py:10: in <module>
    from tests.generated_data.generate_md import generate_all_files
tests/generated_data/generate_md.py:61: in <module>
    os.mkdir(OUT_DIR)
E   FileNotFoundError: [Errno 2] No such file or directory: 'generated_data/ed25519_metadata'
=========================================================================== warnings summary ============================================================================
tests/test_repository.py:42
  /root/python-tuf/tests/test_repository.py:42: PytestCollectionWarning: cannot collect test class 'TestingRepository' because it has a __init__ constructor (from: tests/test_repository.py)
    class TestingRepository(Repository):

tests/test_updater_delegation_graphs.py:31
  /root/python-tuf/tests/test_updater_delegation_graphs.py:31: PytestCollectionWarning: cannot collect test class 'TestDelegation' because it has a __init__ constructor (from: tests/test_updater_delegation_graphs.py)
    @dataclass

tests/test_updater_delegation_graphs.py:42
  /root/python-tuf/tests/test_updater_delegation_graphs.py:42: PytestCollectionWarning: cannot collect test class 'TestTarget' because it has a __init__ constructor (from: tests/test_updater_delegation_graphs.py)
    @dataclass

tests/test_updater_fetch_target.py:22
  /root/python-tuf/tests/test_updater_fetch_target.py:22: PytestCollectionWarning: cannot collect test class 'TestTarget' because it has a __init__ constructor (from: tests/test_updater_fetch_target.py)
    @dataclass

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================================== short test summary info ========================================================================
ERROR tests/test_metadata_generation.py - FileNotFoundError: [Errno 2] No such file or directory: 'generated_data/ed25519_metadata'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===================================================================== 4 warnings, 1 error in 0.23s ======================================================================
root@a9cac658593b:~/python-tuf#

Thanks,
Simon

Thanks for ideas!  Debian build system has some magic to "guess" the self-test system to use, and it may need help.  Hard-coding whatever commands you believe are the ones to use for self-testing is fine.  But I can't get any sequence of commands to work.
Just using python -m unittest from the top-level directory fails like this:
make[1]: Entering directory '/build/python-tuf-5.1.0'
python3 -m unittest
.........................................../usr/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method TestFetcher.test_download_file_length_mismatch of <tests.test_fetcher_ng.TestFetcher testMethod=test_download_file_length_mismatch>>)
  return self.run(*args, **kwds)
............E..............................................................................................................................E..
======================================================================
ERROR: tests.test_metadata_generation (unittest.loader._FailedTest.tests.test_metadata_generation)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_metadata_generation
Traceback (most recent call last):
  File "/usr/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
    __import__(name)
  File "/build/python-tuf-5.1.0/tests/test_metadata_generation.py", line 10, in <module>
    from tests.generated_data.generate_md import generate_all_files
  File "/build/python-tuf-5.1.0/tests/generated_data/generate_md.py", line 60, in <module>
    os.mkdir(OUT_DIR)
FileNotFoundError: [Errno 2] No such file or directory: 'generated_data/ed25519_metadata'

======================================================================
ERROR: test_cleanup (tests.test_utils.TestServerProcess.test_cleanup)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/python-tuf-5.1.0/tests/test_utils.py", line 58, in test_cleanup
    server_process_handler = utils.TestServerProcess(
                             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/python-tuf-5.1.0/tests/utils.py", line 205, in __init__
    raise e
  File "/build/python-tuf-5.1.0/tests/utils.py", line 200, in __init__
    self._start_server(timeout, extra_cmd_args, popen_cwd)
  File "/build/python-tuf-5.1.0/tests/utils.py", line 219, in _start_server
    self._wait_for_port(timeout)
  File "/build/python-tuf-5.1.0/tests/utils.py", line 306, in _wait_for_port
    raise TestServerProcessError(
tests.utils.TestServerProcessError: 'simple_server.py did not print port message as first stdout line as expected!'

----------------------------------------------------------------------
Ran 185 tests in 1.978s

FAILED (errors=2)
make[1]: *** [debian/rules:10: override_dh_auto_test] Error 1

It is the same tests/ CWD problem, isn't it?
Using (cd tests/; python ./aggregate_tests.py) immediately dies:
cd tests && python3 ./aggregate_tests.py
EEEEEEEEEEEEEEEE
======================================================================
ERROR: test_api (unittest.loader._FailedTest.test_api)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_api
Traceback (most recent call last):
  File "/usr/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
    __import__(name)
  File "/build/python-tuf-5.1.0/tests/test_api.py", line 26, in <module>
    from tests import utils
ModuleNotFoundError: No module named 'tests'

It seems to be the namespace-issue that is mentioned here:
https://github.com/theupdateframework/python-tuf/blob/develop/pyproject.toml#L73
[tool.hatch.build.targets.wheel]
# The testing phase changes the current working directory to `tests` but the test scripts import
# from `tests` so the root directory must be added to Python's path for editable installations
dev-mode-dirs = ["."]

Finally I tried to simply use tests/aggregate_tests.py which fails like this:
make[1]: Entering directory '/build/python-tuf-5.1.0'
python3 tests/aggregate_tests.py
.......................................................E..............................................................................................................................E..
======================================================================
ERROR: tests.test_metadata_generation (unittest.loader._FailedTest.tests.test_metadata_generation)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_metadata_generation
Traceback (most recent call last):
  File "/usr/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
    __import__(name)
  File "/build/python-tuf-5.1.0/tests/test_metadata_generation.py", line 10, in <module>
    from tests.generated_data.generate_md import generate_all_files
  File "/build/python-tuf-5.1.0/tests/generated_data/generate_md.py", line 60, in <module>
    os.mkdir(OUT_DIR)
FileNotFoundError: [Errno 2] No such file or directory: 'generated_data/ed25519_metadata'

======================================================================
ERROR: test_cleanup (tests.test_utils.TestServerProcess.test_cleanup)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/python-tuf-5.1.0/tests/test_utils.py", line 58, in test_cleanup
    server_process_handler = utils.TestServerProcess(
                             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/python-tuf-5.1.0/tests/utils.py", line 205, in __init__
    raise e
  File "/build/python-tuf-5.1.0/tests/utils.py", line 200, in __init__
    self._start_server(timeout, extra_cmd_args, popen_cwd)
  File "/build/python-tuf-5.1.0/tests/utils.py", line 219, in _start_server
    self._wait_for_port(timeout)
  File "/build/python-tuf-5.1.0/tests/utils.py", line 306, in _wait_for_port
    raise TestServerProcessError(
tests.utils.TestServerProcessError: 'simple_server.py did not print port message as first stdout line as expected!'

----------------------------------------------------------------------
Ran 185 tests in 2.150s

FAILED (errors=2)

So I'm back to the CWD issue.
If you have any more ideas, let me know!
/Simon

First issue there is indeed the CWD issue.
Second failure implies the test suite expects the tests to be installed -- this is is a unusual but I guess happens when a python project is installed with pip install <source dir>.
I guess in your case you have "installed" the debian package that you're testing and this of course does not contain tests... I think this is a test suite bug, or at least it should work in your case as well. I'll take a look this week.

Note  to myself:

Second failure implies the test suite expects the tests to be installed

Actually this makes some sense as a side effect of the original CWD issue: if CWD was root source dir then I think tests would actually be an importable module without installing (if I remember the import rules correctly). So fixing one issue likely makes the other disappear.

I think the issues you found will be fixed in #2749 (apart from pytest support: it might work but I'm not planning to test for that).
Feel free to test the branch or wait until merge -- I'm happy to do further fixes if they're needed either way.


Yi  example error when I try to to run on GPU(metal).

Error: to dtype BF16 - F32
BTW, --features accelerate works for me on my MacBook. I just wondering how much performance improvement when enable metal.

Yes, same here. This was the command I used.
cargo run --example mistral --release --features metal -- --prompt 'Write helloworld code in Rust' --sample-len 150

Yolo does the same:
cargo run --example yolo-v8 --release --features metal -- candle-examples/examples/yolo-v8/assets/bike.jpg

Love candle, but I also got this issue, so temporarily moved to Llamafile:  https://github.com/Mozilla-Ocho/llamafile

Not that surprising since metal support is very new and still being actively implemented.
Maybe it's improved now. Welcome to try out with --quantized as well 😊

The necessary bits for yolo-v8 have been added so should be all good now, mistral should also be all good if your hardware/installed metal version support bfloats.


Add code documentation for StructureMapExtractionContext

StructureMapExtractionContext does not have any documentation comments. The function type notation for the parameters of structureMapProvider would also benefit from including names, especially for the first String parameter, e.g. (suspend (targetStructureMapUrl: String, worker: IWorkerContext) -> StructureMap?) as it provides the canonical URL for the value specified by the Target Structure Map extension of the questionnaire provided in extract().
One caveat I also noticed is that the Target structure map extension Is actually repeatable with cardinality of 0..*. If multiple Target Structure Maps are set, it appears that the String parameter gives you the last one set. This should also be documented, and may warrant an eventual redesign  to support multiple structure maps?
Edit: After more thought, I think the caveat is actually a bug that if multiple Target Structure Maps are set, extract presumably only happens on the last one. This would still be a change to the API, as we'd need to possibly return multiple bundles.

One caveat I also noticed is that the Target structure map extension Is actually repeatable with cardinality of 0..*. If multiple Target Structure Maps are set, it appears that the String parameter gives you the last one set. This should also be documented, and may warrant an eventual redesign to support multiple structure maps?

This is correct. Thanks for bringing this up :smile: . I believe that we might have more complicated uses that we might not be supporting and can possibly have an issue to define and implement this when needed. I might have overlooked this during the implementation

StructureMapExtractionContext does not have any documentation comments

This is a mistake. I probably forgot this while refactoring the code and documentation.

The function type notation for the parameters of structureMapProvider would also benefit from including names, especially for the first String parameter, e.g. (suspend (targetStructureMapUrl: String, worker: IWorkerContext) -> StructureMap?) as it provides the canonical URL for the value specified by the Target Structure Map extension of the questionnaire provided in extract().

I agree on this also.

@williamito On the API design for $extract while using StructureMap-based extraction, can we get further clarification since the output expectations provided here http://build.fhir.org/ig/HL7/sdc/extraction.html#output-expectations contradict what is documented on this page http://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-targetStructureMap.html


Disable to use the second replica when data synchronization is failed

when the primary replica is out of work ，pod will migrated to the node with second replica ,But  if the  data synchronization is failed  with second replica ，the pod will not read the right data .this situation should be disabled。

If syncchronnization is not ready, scheduler will not move the pod to the secondary volume


Update selenium-java to 4.14.1

About this PR
📦 Updates org.seleniumhq.selenium:selenium-java from 3.141.59 to 4.14.1 ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #170.

Superseded by #172.


Update deploy-staging-slots.md

The difference between swapping and backup should be clearly explained in the doc. I've added the following for further clarity:
"Swapping is faster than backup because you firstly you need to configure backup settings of the app then you can restore to previous state. Also, App Service stops the target app or target slot while restoring a backup."
PS: this and all my PRs follow Microsoft Certification Exam – Candidate Agreement and other relevant NDAs.

@cephalin
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@cephalin
Can you review this old PR and determine whether it needs to be closed or merged?

I sent an email to the content owner today.
@MicrosoftDocs/public-repo-pr-review-team

Deployment slots and backups are completely different features for different purposes and comparing them doesn't make sense. #please-close.


Remove DB Migration Runner

DB Migrations (flyway) are run out-of-band.
All of those steps are unnecessary as flyway supports concurrent
attempts to run migrations.  The specific item is in the FAQ
at https://flywaydb.org/documentation/faq#parallel
Instead, just run migrations when the application starts.

Modified VinylDNSJDBC to always run database migrations.  Removed
the embedded flag as that is no longer needed.
Deleted the migrations.conf file as that will no longer be used.
Cleaned up the config files.  The salient change was to remove the
local-mode flag, as it is no longer needed.  Found some left over
cruft along the way that is unused and cleared that up.

Codecov Report

Merging #93 into master will increase coverage by 0.33%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #93      +/-   ##
==========================================
+ Coverage   93.82%   94.15%   +0.33%
==========================================
  Files         104      103       -1
  Lines        4806     4788      -18
  Branches      108       83      -25
==========================================
- Hits         4509     4508       -1
+ Misses        297      280      -17

Impacted Files
Coverage Δ

...a/vinyldns/api/repository/mysql/VinylDNSJDBC.scala
100% <100%> (+3.57%)
: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 a634015...8454bf5. Read the comment docs.


Core2 SimpleTone.py

May I know which version of mpy firmware you used to run MyM5StackExamples/M5Core2/SimpleTone.py?
I used M5core2v1.12.5, but it prompted "I2S.MONO not found".
Thank you

Hello @lidonglei1
thank you for your report. This example uses LVGL Micropython firmware (not UIFlow). https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/M5CORE2
I've added some comment to the example to clarify that fact.
Thanks
Felix

Hello @lidonglei1
thank you for your report. This example uses LVGL Micropython firmware (not UIFlow).
https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/M5CORE2
I've added some comment to the example to clarify that fact.
Thanks
Felix

OK I see.
Thank you very much

Hello @lidonglei1
thank you for your report. This example uses LVGL Micropython firmware (not UIFlow).
https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/M5CORE2
I've added some comment to the example to clarify that fact.
Thanks Felix

Hi felmue
I run lv_micropython on core2,and run SimpleTone.py,
but "Traceback (most recent call last):
File "", line 59, in
NameError: name 'power' isn't defined"
where can I find the power.py?
Thank you

Hello @lidonglei1
Hmm, I do not get this error. That said power.py is a module for M5Core2 and I think it should be included automatically.
Thanks
Felix

Hello @lidonglei1
Hmm, I do not get this error. That said power.py is a module for M5Core2 and I think it should be included automatically.
Thanks Felix
Hi felmue
There might be an issue with the firmware I compiled for Core2.
Could you send me your firmware instead?
my<EMAIL_ADDRESS>Thanks

Hello @lidonglei1
please try to add the following two lines at the top of the file.
from power import Power
power = Power()
Thanks
Felix

Hello @lidonglei1
please try to add the following two lines at the top of the file.
from power import Power power = Power()
Thanks Felix

It works！
Thank you very much


Simplify expression with !

Since leaf.view.state.staged is of type boolean, the logical negation operator ! simplifies the expression.

I would rather keep it as it is, because I'm not entirely sure if that's always a boolean. It doesn't hurt to keep it.


Define versioning scheme and document it

Clear decision and documentation on versioning scheme is needed. Otherwise spec management is impossible. TSC chair should make the decision and if needed consult Strategy group.
We have a place to put governance related models and practices. Just decide the scheme, document it and start living accordingly. https://open-data-product-initiative.gitbook.io/governance-principles/specification/versions/versioning-practices
The scheme should be something already widely applied. There is no point to reinvent the wheel if ready made and tested models exists.

done and available as Governance model https://governance.opendataproducts.org/v1/


Migration and testing of other tools to CWL 1.0

Feature Request
Tools provided by third parties may need assistance with CWL 1.0
Desired behaviour
We should assist with third-party tools.
Each repo for other tools needs to have a new tag with CWL 1.0 descriptors. The Dockstore CLI should be capable of launching these tools both in their draft-3 and 1.0 incarnations (which means that these repos will also need sample json parameter files).

See the following for instructions and to co-ordinate tools which have been successfully upgraded https://github.com/ga4gh/dockstore/wiki/Upgrading-of-PCAWG-and-Sample-Tools-on-Dockstore

Maxed out


Change downloaded filename ?

Dear Developers,
Is there any chance to change download file name to file.xml ?
Best regards,
V7

$(this).attr('download', 'file.xml').attr('href', uri).attr('target', '_blank');

Dear muhammednigil,
Thank you very much really. I'll try.
Best regards,
vv7v7


New files that were brought after running make depend.diff

Running make depend.diff on master adds the following vendor files.
Adding those to master.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: douglas-reid
Assign the PR to them by writing /assign @douglas-reid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

There are differences between locally running dep ensure to the one on the CircleCI.
Running locally will add the license files in the PR while remotely it won't therefore dep diff fails.
Closing it.


Make toggles an optional extra

Change description
This means that flipper-client will only be installed if the toggles extra is requested by the service pulling in fsd-utils.

[x] Unit tests and other appropriate tests added or updated
[x] README and other documentation has been updated / added (if needed)
[x] Commit messages are meaningful and follow good commit message guidelines (e.g. "FS-XXXX: Add margin to nav items preventing overlapping of logo")

Ah, good to know.
If we don't use them at all it might be nice to remove them altogether.
If we still need them, then we probably do need to switch to a more up-to-date package (or just custom-write the functionality - it's not a whole lot of complexity on top of the redis client really, I think).


Implement Array::reverse_each

Skipping the recursion guarding tests as those make use of append, which hangs on forever when used recursively, thus making the tests fail. Since append is part of the specs in #39 I'll leave that implementation for later and skip those tests right now.

Sweet!


last version build error(darwin & ubuntu)

[ 83%] Built target fc
[ 84%] Building CXX object externals/binaryen/CMakeFiles/eosio-s2wasm.dir/src/wasm-emscripten.cpp.o
cd /Users/zshchou/blockchain/eos3/build/externals/binaryen && /usr/local/bin/clang++   -I/Users/zshchou/blockchain/eos3/externals/binaryen/src  -Wall -Wno-deprecated-declarations -std=c++11 -Wall -Werror -Wextra -Wno-unused-parameter -fno-omit-frame-pointer -fPIC -O2 -g -DNDEBUG -O2 -UNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk   -std=gnu++11 -o CMakeFiles/eosio-s2wasm.dir/src/wasm-emscripten.cpp.o -c /Users/zshchou/blockchain/eos3/externals/binaryen/src/wasm-emscripten.cpp
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f libraries/chainbase/test/CMakeFiles/chainbase_test.dir/build.make libraries/chainbase/test/CMakeFiles/chainbase_test.dir/depend
cd /Users/zshchou/blockchain/eos3/build && /usr/local/Cellar/cmake/3.10.3/bin/cmake -E cmake_depends "Unix Makefiles" /Users/zshchou/blockchain/eos3 /Users/zshchou/blockchain/eos3/libraries/chainbase/test /Users/zshchou/blockchain/eos3/build /Users/zshchou/blockchain/eos3/build/libraries/chainbase/test /Users/zshchou/blockchain/eos3/build/libraries/chainbase/test/CMakeFiles/chainbase_test.dir/DependInfo.cmake --color=
Dependee "/Users/zshchou/blockchain/eos3/build/libraries/chainbase/test/CMakeFiles/chainbase_test.dir/DependInfo.cmake" is newer than depender "/Users/zshchou/blockchain/eos3/build/libraries/chainbase/test/CMakeFiles/chainbase_test.dir/depend.internal".
Dependee "/Users/zshchou/blockchain/eos3/build/libraries/chainbase/test/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/Users/zshchou/blockchain/eos3/build/libraries/chainbase/test/CMakeFiles/chainbase_test.dir/depend.internal".
Scanning dependencies of target chainbase_test
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f libraries/chainbase/test/CMakeFiles/chainbase_test.dir/build.make libraries/chainbase/test/CMakeFiles/chainbase_test.dir/build
[ 84%] Building CXX object libraries/chainbase/test/CMakeFiles/chainbase_test.dir/test.cpp.o
cd /Users/zshchou/blockchain/eos3/build/libraries/chainbase/test && /usr/local/bin/clang++   -I/Users/zshchou/blockchain/eos3/libraries/chainbase/include -I/usr/local/include  -std=c++11 -stdlib=libc++ -Wall -Wno-conversion -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk   -std=gnu++14 -o CMakeFiles/chainbase_test.dir/test.cpp.o -c /Users/zshchou/blockchain/eos3/libraries/chainbase/test/test.cpp
[ 84%] Building CXX object externals/binaryen/CMakeFiles/eosio-s2wasm.dir/src/wasm-linker.cpp.o
cd /Users/zshchou/blockchain/eos3/build/externals/binaryen && /usr/local/bin/clang++   -I/Users/zshchou/blockchain/eos3/externals/binaryen/src  -Wall -Wno-deprecated-declarations -std=c++11 -Wall -Werror -Wextra -Wno-unused-parameter -fno-omit-frame-pointer -fPIC -O2 -g -DNDEBUG -O2 -UNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk   -std=gnu++11 -o CMakeFiles/eosio-s2wasm.dir/src/wasm-linker.cpp.o -c /Users/zshchou/blockchain/eos3/externals/binaryen/src/wasm-linker.cpp
[ 84%] Linking CXX executable chainbase_test
cd /Users/zshchou/blockchain/eos3/build/libraries/chainbase/test && /usr/local/Cellar/cmake/3.10.3/bin/cmake -E cmake_link_script CMakeFiles/chainbase_test.dir/link.txt --verbose=0
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(operations.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(operations.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(unique_path.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(unique_path.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_tools.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_tools.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_log.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_log.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(framework.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(framework.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_tree.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_tree.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_main.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_main.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(path_traits.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(path_traits.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(path.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(path.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(debug.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(debug.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_system-mt.a(error_code.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_system-mt.a(error_code.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_parameters.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_parameters.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(results_reporter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(results_reporter.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(progress_monitor.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(progress_monitor.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_monitor.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(unit_test_monitor.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_framework_init_observer.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(test_framework_init_observer.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(decorator.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(decorator.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(results_collector.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(results_collector.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(xml_log_formatter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(xml_log_formatter.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(junit_log_formatter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(junit_log_formatter.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(compiler_log_formatter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(compiler_log_formatter.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(codecvt_error_category.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(codecvt_error_category.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_filesystem-mt.a(utf8_codecvt_facet.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_filesystem-mt.a(utf8_codecvt_facet.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(xml_report_formatter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(xml_report_formatter.o)) was built for newer OSX version (10.13) than being linked (8.0)
ld: warning: URGENT: building for iOS simulator, but linking in object file (/usr/local/lib/libboost_unit_test_framework-mt.a(plain_report_formatter.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/usr/local/lib/libboost_unit_test_framework-mt.a(plain_report_formatter.o)) was built for newer OSX version (10.13) than being linked (8.0)
Undefined symbols for architecture x86_64:
"_opendir$INODE64", referenced from:
boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*) in libboost_filesystem-mt.a(operations.o)
"_readdir$INODE64", referenced from:
boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*) in libboost_filesystem-mt.a(operations.o)
"_readdir_r$INODE64", referenced from:
boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*) in libboost_filesystem-mt.a(operations.o)
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libraries/chainbase/test/chainbase_test] Error 1
make[1]: *** [libraries/chainbase/test/CMakeFiles/chainbase_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 84%] Linking CXX executable bin/eosio-s2wasm
cd /Users/zshchou/blockchain/eos3/build/externals/binaryen && /usr/local/Cellar/cmake/3.10.3/bin/cmake -E cmake_link_script CMakeFiles/eosio-s2wasm.dir/link.txt --verbose=0
[ 84%] Built target eosio-s2wasm
make: *** [all] Error 2

clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
Normally this happens because some of the files in the build folder are not owned by you. You can either chown them or use sudo to build eosio.


GSSoC: Implement URL Shortening in Backend

Description:
We need to implement URL shortening functionality in the backend of our project. This involves creating endpoints to generate shortened URLs and handle redirection to the original URLs.
Tasks:

Create Shorten URL Endpoint:

Define a POST endpoint to accept original URLs and generate shortened versions.
Implement logic to generate unique shortened URLs.
Store the original URLs and their corresponding shortened versions in the database.

Redirection Endpoint:

Implement a GET endpoint to handle redirection from shortened URLs to the original URLs.
Lookup the original URL based on the shortened version and redirect the user appropriately.

Data Persistence:

Choose an appropriate database to store the original and shortened URLs.
Implement database models and schema for URL storage.

Security Measures:

Apply necessary security measures to prevent misuse or abuse of the URL shortening functionality.
Implement input validation and sanitization to ensure data integrity and security.

Error Handling:

Handle edge cases and error scenarios gracefully, providing informative error messages to users.

Proposed Solution:

Use Node.js and Express.js for backend development.
Utilize MongoDB or another suitable database for data storage.
Implement RESTful API endpoints for URL shortening and redirection.
Apply input validation and error handling to ensure robustness and security.

Request for Assignment:
I would like to work on this feature as part of GSSoC. Could you please assign this issue to me?
Thank you!

The issue already exists. And I would appreciate it if you write issues on your own, not by taking help from an AI.

Ok.
Actually I was writing with it just to elaborate on the issue.
But from now onwards I will try to write it on my own.
Thanks !

Should I close this issue ?


References in typst/tex are not added to the bib if they are only in the abstract

Now that we aren't processing the parts together, the references don't get exported correctly if they are only in a part.

I haven't recreated this to be sure, but I speculate the references are getting processed correctly, they just don't get written out to the bibtex file. If that's the case, all we need to do is pass the parts content in here, alongside the "selected file" content: https://github.com/jupyter-book/mystmd/blob/main/packages/myst-cli/src/build/typst.ts#L237


Fix npm audit complaining that elm is still using request

Quick Summary:
request has been deprecated, and npm audit complains about it. This PR simply removes request and replaces it with axios, semantics are equivalent.
Additional Info:
I understand that we have the #2287 PR to overhaul the current npm installation, but it seems that progress there has been extremely slow.

I tried implementing it using https from the Node.js standard library, but the elm download URL needs to follow a redirect, and it seems to work better if implemented with the follow-redirect library instead.
My experimental implementation is here: https://github.com/mather/elm-compiler/blob/master/installers/npm/download.js

@mather See https://github.com/elm/compiler/commit/41ec49ed921a2409afda483eb9e29197e262fe27


Existence check for hparams now uses underlying filesystem

What does this PR do?
Fixes #5249
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[x] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

@awaelchli pls check is it 1.2 or 1.1.x? the description says 1.2 but the target is master…

@awaelchli pls check is it 1.2 or 1.1.x? the description says 1.2 but the target is master…


Added ability to cancel out link (for social buttons, etc).

Sometimes we don't need the link to go through, like for twitter intents.

looks good.  go ahead and release


Seeking Assistance for Making LightGBM Predictions in C# - Sample Code Needed

Hello,
I've successfully created a model using LightGBM CLI, specifically the C/C++ version. Now, I'm facing the task of performing predictions from a C# application. I've written the following code, but unfortunately, I'm encountering difficulties in getting it to work.
I've attempted various approaches, but having a simple example would be incredibly helpful.
Thank you in advance for your assistance.
Best regards,
Wil

using Microsoft.ML;
using System;
using System.Collections.Generic;
using System.Linq;

class ProgramWithMLNet
{
    static void Main()
    {
        var mlContext = new MLContext();

        // Load the trained model
        var model = mlContext.Model.Load(@"Path to a model that has been created with LightGBM CLI", out var modelSchema);

        // Prepare input data for prediction
        var input = new MyInputDataClass // Please replace this with your input data class
        {
            _data = new double[] { 0.1, .2, .3 }
        };

        // Make a prediction
        var predictionEngine = mlContext.Model.CreatePredictionEngine<MyInputDataClass, MyOutputDataClass>(model);
        var prediction = predictionEngine.Predict(input);

        // Display the prediction result
        Console.WriteLine("Prediction: " + prediction);
    }
}

class MyInputDataClass
{
    public double[] _data = null;
}

class MyOutputDataClass
{
    double _result = 0;
}
}

you can refer to https://github.com/dotnet/machinelearning/tree/main/src/Microsoft.ML.LightGbm

Hello James,
Regarding ML.Net, I noticed that WrappedLightGbmBooster.cs includes EvalTrain(), which appears to take the entire dataset. However, my intention is to train with LightGBM CLI/C++ and then export the model for use in any language, such as C#. I'm considering whether I can call the following code directly:
double[] res = new double[1];
fixed (double* ptr = res)
    LightGbmInterfaceUtils.Check(WrappedLightGbmInterface.BoosterGetEval(Handle, dataIdx, ref outLen, ptr));

I expected  this to be a basic use case? if true, we should well-document it and it should be very easy to use.
As for the 'task==convert_model,' I'm simultaneously trying to use it in LightGBM, which generates the gbdt_prediction.cpp file. I've set up a small Visual Studio 2020 project to generate a DLL, with the hope of being able to call this DLL from C#. However, I'm encountering an issue with linking:

------ Build started: Project: LightGBM_TrainingResults_Cpp2CSharp, Configuration: Debug x64 ------
x64\Debug\gbdt_prediction.obj : warning LNK4042: object specified more than once; extras ignored
Creating library C:\Users\wilhe\source\repos\LightGBM_TrainingResults_Cpp2CSharp\x64\Debug\LightGBM_TrainingResults_Cpp2CSharp.lib and object C:\Users\wilhe\source\repos\LightGBM_TrainingResults_Cpp2CSharp\x64\Debug\LightGBM_TrainingResults_Cpp2CSharp.exp
gbdt_prediction.obj : error LNK2019: unresolved external symbol "public: void __cdecl LightGBM::Metadata::InitByReference(int,class LightGBM::Metadata const *)" (?InitByReference@Metadata@LightGBM@@QEAAXHPEBV12@@Z) referenced in function "public: void __cdecl LightGBM::Dataset::InitByReference(int,class LightGBM::Dataset const *)" (?InitByReference@Dataset@LightGBM@@QEAAXHPEBV12@@Z)
gbdt_prediction.obj : error LNK2019: unresolved external symbol "public: void __cdecl LightGBM::Metadata::Init(int,int,int,int,int)" (?Init@Metadata@LightGBM@@QEAAXHHHHH@Z) referenced in function "public: void __cdecl LightGBM::Dataset::InitStreaming(int,int,int,int,int,int,int)" (?InitStreaming@Dataset@LightGBM@@QEAAXHHHHHHH@Z)
C:\Users\wilhe\source\repos\LightGBM_TrainingResults_Cpp2CSharp\x64\Debug\LightGBM_TrainingResults_Cpp2CSharp.dll : fatal error LNK1120: 2 unresolved externals
Done building project "LightGBM_TrainingResults_Cpp2CSharp.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build started at 9:18 PM and took 01.289 seconds ==========

Your assistance in resolving these issues would be greatly appreciated.
Thanks,
Wilhelm

Thanks, @guolinke!
I'm close to achieving my goal, which is to perform multiple predictions from a C# program using a model I've already trained with LightGBM CLI.
To clarify, I've exported the model with the 'output_model' parameter (default = LightGBM_model.txt, as described here: LightGBM Parameters).
In Python, I would do what I need like this:
import lightgbm as lgb

# Load the preprocessed data
data = ...

# Load the LightGBM model
model = lgb.Booster(model_file='lightgbm_model.txt')

# Make predictions
predictions = model.predict(data)

# Print the predictions
print(predictions)

How do I do this with c#?
The link you provided earlier explains how WrappedLightGbmTraining.Train(...) performs training, which I don't require. It returns a Booster that can then be used with WrappedLightGbmInterface.BoosterPredictForMat(...) for prediction. My question is, how can I obtain a Booster from an already saved model file (equivalent to the Python line: model = lgb.Booster(model_file='lightgbm_model.txt')) in C#?
Your guidance would be much appreciated.
Thanks,
Wil

This function inside WrappedLightGBMBooster is interresting, I might be able to load the model but to an InternalTreeEnsemble
 InternalTreeEnsemble GetModel(int[] categoricalFeatureBoundaries, string modelString)
Then I need to figure out how to use the InternalTreeEnsemble ...to get a booster and it handle so I can call WrappedLightGbmInterface.BoosterPredictForMat(...)
A bit complicated but if this is the way to do it?

Hi @jameslamb, you're welcome to go ahead and close this thread.
I've experimented with a few solutions, and I've managed to make it work with LightGBM.Net (https://github.com/rca22/LightGBM.Net). While I don't have a fully operational and straightforward solution with ML.net, having a working option in LightGBM.Net suits my current needs. Hopefully, ML.net will eventually provide an out-of-the-box solution, which seems significant for Windows technology.
I appreciate your assistance.
Wil

Ok thanks, we'll close this.


aws-rolling-node-operator depends on old CAPA but it doesn't use it

~This operator is depending on an old CAPA version, using the v1alpha3  CRD version, but that version was removed in the CAPA version that we have deployed on our MCs.~
I double checked the operator and it's not even using CAPA.

The operator is not managed using our https://github.com/giantswarm/github automation

Added to github repo, CAPA dependies PR is merged now (fixed go build, nancy and strings.Title issues)


Potential Violation Detected

Hey hzhu349!
This repository has been flagged as containing material which potentially infringes upon an academic copyright or an institution's academic integrity policies.
At your earliest convenience, please do one of the following:

disable public access to your repository see repository access settings
remove any content could be in violation of copyright law
remove any content could be in violation of an institution's academic integrity policy

Please feel free to continue any discussion here. Thanks!

:wave: gentle reminder!

I can’t login my GitHub account. Sent from my iPhoneOn Nov 19, 2022, at 12:46 AM, assignguard-support @.***> wrote:
👋 gentle reminder!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


replace .ZipComment? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL (assuming [N]one)

That error comes when I sign an app. It has to replace the files but It can't because of that error

Kind of a late answer because I have abandoned that project, but I'm working on an update. The issue you've mentioned is indeed very frustrating

Fixed it!

Does it work completely?
Is there anyway to codesign in linux or windows?

And thanks!!

Not sure but I'll keep working on it, but as far as I can tell the single IPA sign works fine! And yeah you can codesign on windows, not sure how that works though

Codesign on windows is very interesting.
Thanks anyway. You are doing a good work!


Create test

NODE ID : c5d124a969c5c7c1
30 days Log will be uploaded

ACcount : 4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
IPHONE 11 IOS 13,7

confirmed:B1
node:c5d124a969c5c7c1

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing missing credentials.
@farukbostansua

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing missing credentials.
@farukbostansua

rejected:T1
reason:We cannot fully verify this submission. It looks like you are trying to submit T1, however, it seems like there are no supporting details(screenshots).

rejected:T1
reason:We cannot fully verify this submission. It looks like you are trying to submit T1, however, it seems like there are no supporting details(screenshots).

Hi,
Thank you for your effort.
what's the missing part of this mission.  Maybe my screenshot is not
visible on the request?
Here is my screenshot of the transaction :
[image: image.png]
On Mon, Jan 11, 2021 at 3:47 AM Suhas Hegde<EMAIL_ADDRESS>wrote:

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing
missing credentials.
@farukbostansua https://github.com/farukbostansua
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Concordium/Testnet3-Challenges/pull/126#issuecomment-757575123,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKNXUEO4Q2UBCMS3OHOU6LSZJDA3ANCNFSM4SSEPGIA
.

Hi,
Thank you for your effort.
what's the missing part of this mission.  Maybe my screenshot is not
visible on the request?
Here is my screenshot of the transaction :
[image: image.png]
On Mon, Jan 11, 2021 at 3:47 AM Suhas Hegde<EMAIL_ADDRESS>wrote:

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing
missing credentials.
@farukbostansua https://github.com/farukbostansua
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Concordium/Testnet3-Challenges/pull/126#issuecomment-757575123,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKNXUEO4Q2UBCMS3OHOU6LSZJDA3ANCNFSM4SSEPGIA
.

rejected:T1
reason:We cannot fully verify this submission. It looks like you are trying to submit T1, however, it seems like there are no supporting details(screenshots).

Hi,
As far as remember from the tusk submissions are the following infos right?
Account A : 4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
Account B : 3sT9YVXTTTv2qy3z4noBLjrz2qA9BWTDqnbVyPmmv82wwsQbtB
Iphone 11 IOS 14.1

rejected:T1
reason:We cannot fully verify this submission. It looks like you are trying to submit T1, however, it seems like there are no supporting details(screenshots).

Hi,
As far as remember from the tusk submissions are the following infos right?
Account A : 4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
Account B : 3sT9YVXTTTv2qy3z4noBLjrz2qA9BWTDqnbVyPmmv82wwsQbtB
Iphone 11 IOS 14.1

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing missing credentials.
@farukbostansua

Here it is 👍 :
Account Address : 4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
Iphone 11 IOS 13,7

pending:ID4
AccountAddress:pending
DeviceDetails:verified
We cannot fully verify this submission. Please assist us by providing missing credentials.
@farukbostansua

Here it is 👍 :
Account Address : 4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
Iphone 11 IOS 13,7

confirmed:ID4
AccountAddress:4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
DeviceDetails:verified

confirmed:ID4
AccountAddress:4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
DeviceDetails:verified

confirmed:T1
account1:4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
account2:3sT9YVXTTTv2qy3z4noBLjrz2qA9BWTDqnbVyPmmv82wwsQbtB
DeviceDetails:verified

confirmed:T1
account1:4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
account2:3sT9YVXTTTv2qy3z4noBLjrz2qA9BWTDqnbVyPmmv82wwsQbtB
DeviceDetails:verified

Hi guys,
I've just checked the current reward status page. B5 challenge seems "needs review". Could you help me to understand there is anything missing about the challenge? I had uploaded the necessary screenshots which include hash block TxId etc.

Hi guys,
I've just checked the current reward status page. B5 challenge seems "needs review". Could you help me to understand there is anything missing about the challenge? I had uploaded the necessary screenshots which include hash block TxId etc.

rejected:B5
address:4XwjDx13B9NPmwRgokd15hhWczSc77tBQpNtkoeeVgqwwMpiEN
reason: no 'update baker account' or 'update baker key' transactions found on-chain

Form Submitted


using id_token's expire time instead of assess_token's expire time

we are passing id_token  to our backend as access_token generally not a valid JWT token ( e.g., Google IDP) or access_token don't have enough claims (PingID and others)
For my case,  PingID OIDC, id_token expire in 30 min vs access_token expire in 5 min.
Our server redirect to login page when it receive expired  id_token  (after 5 min) , but browser/client think the session is still valid and bypassing login process and setting same  id_token  (not expired)  and access_token (expired)
This cause infinite loop
My ask is to support oidc-client-ts settings to use id_token's expire time instead of assess_token's expire time

Please read https://auth0.com/blog/id-token-access-token-what-is-the-difference/. Specifically "What Is an ID Token NOT Suitable For?"...

I am using id_token as a session token for a stateless full-stack app (nextJS or Sveltkit) , not using it for calling APIs as the link suggests.
Kubernetes UI app use uses the id_token (not the access_token) for calling its backend.
https://kubernetes.io/docs/reference/access-authn-authz/authentication/


Limit the number of concurrent helm calls

I have quite a large helmfile and helm (or tiller) is starting to time out when deploying to my local cluster in minikube. Would it be possible to have an argument to limit the number of concurrent requests being made to helm at a time. Maybe something like --max-connections=X, if unset you could leave it as unlimited, but if set helmfile should only make at most X requests at a time.

Seems like a reasonable change. It would need to go here, probably instead of a goroutine per chart, a pool of workers and a work channel.
I'm not going to implement this right now. Feel free to submit a PR.


WIP: QPTDualize: improve support for non-singular Hessian

Fix #13.

@jkruzik I think I have it, modulo tutorials-ex4_1_nsize-3_dual-1+assume_spd-0 failing due to Nonconforming object sizes in QPCheckNullSpace(). I will try to fix it today.

And for dual
r = ||A*x - b + B'*lambda|| = 1.00e+00    rO/||b|| = 3.30e+01

so similar problem as in https://github.com/permon/permon/pull/12#issuecomment-620627680.
However, comparing -dual 0 and -dual 1, it looks like the resulting x is the same
# -dual 1
QP Object: QP_0x84000000_6 1 MPI processes
  type: QP
  #0 in chain, derived by
|| x|| = 9.89949494e+00    max( x) = 1.00e+00 =  x(5)    min( x) = -8.02e-12 =  x(99)    21674b0
|| b|| = 3.03014843e-02    max( b) = 0.00e+00 =  b(0)    min( b) = -3.06e-03 =  b(1)    216b180
||cE|| = 9.89949494e+00    max(cE) = 1.00e+00 = cE(1)    min(cE) = 0.00e+00 = cE(0)    216e150
r = ||A*x - b + B'*lambda|| = 1.00e+00    rO/||b|| = 3.30e+01
r = ||BE*x-cE||          = 7.34e-11    r/||b|| = 2.42e-09

# -dual 0
QP Object: QP_0x84000000_4 1 MPI processes
  type: QP
  #0 in chain, derived by
|| x|| = 9.89949494e+00    max( x) = 1.00e+00 =  x(2)    min( x) = 0.00e+00 =  x(0)    11104b0
|| b|| = 3.03014843e-02    max( b) = 0.00e+00 =  b(0)    min( b) = -3.06e-03 =  b(1)    1114180
||cE|| = 9.89949494e+00    max(cE) = 1.00e+00 = cE(1)    min(cE) = 0.00e+00 = cE(0)    1117150
r = ||A*x - b + (B'*lambda)|| = 2.57e-13    rO/||b|| = 8.47e-12
r = ||BE*x-cE||          = 1.35e-12    r/||b|| = 4.45e-11

So it seems the problem is in KKT evaluation itself or in multipliers lambda.

 ;)
I opened the issue #13 to discuss how to approach the fix. I am reluctant to make the equivalence of SPD = non-singular. Admittedly, most of the library probably won't work with indefinite Hessian.
Moreover, there are parameters MatInvType and MatRegularizationType. It is questionable whether to have these as parameters or options, but if we have regularization, we could regularize semi-definite Hessian before proceeding with the actual dualization.
I thought that the solution could be either an option (e.g. "-qpt_dualize_nonsingular 1") or better yet have QPSetOperatorNullSpace() allow setting NULL but setting a flag as well. We can then determine if user wants us to compute the null space (QPSetOperatorNullSpace was used to set NULL) or not. The second approach is somewhat similar to the solution of singular systems in PETSc Manual - section 4.6.

 ;)

I find discussion above an actual code change more efficient :-)

I opened the issue #13 to discuss how to approach the fix. I am reluctant to make the equivalence of SPD = non-singular. Admittedly, most of the library probably won't work with indefinite Hessian.

It's not equivalence, but definitely SPD implies non-singular. If it ever will be important, we can add MatOption=MAT_NONSINGULAR to PETSc. But currently PERMON assumes SPS, I believe.

Moreover, there are parameters MatInvType and MatRegularizationType. It is questionable whether to have these as parameters or options, but if we have regularization, we could regularize semi-definite Hessian before proceeding with the actual dualization.

The reason why there is no QPTRegularize() or so which would be called before QPTDualize() is that the regularization is an indivisible part of forming the pseudoinverse. It makes no sense on its own. Applying the regularization to the primal Hessian yields a non-equivalent QP problem.

I thought that the solution could be either an option (e.g. "-qpt_dualize_nonsingular 1") or better yet have QPSetOperatorNullSpace() allow setting NULL but setting a flag as well. We can then determine if user wants us to compute the null space (QPSetOperatorNullSpace was used to set NULL) or not. The second approach is somewhat similar to the solution of singular systems in PETSc Manual - section 4.6.

I still think using MatOption from PETSc is the most natural way. That said, -qpt_dualize_nonsingular can be an alternative way of setting it.
QPSetOperatorNullSpace() should indeed be fixed to allow NULL. Easy fix, I just did it. But it's NULL by default anyway.
Within this MR, if the user passes no nullspace and does not specify the flag, the null space is computed automatically and set to NULL (and flag set) if it has no columns. I think this is convenient behavior.
I think the nullspace should be attached to the matrix, not the QP. It's awkward that it's a separate object in QP although it's basically a property of the operator. But that's a different story.

MatInvComputeNullSpace_Inv() obeys the SPD flag already. So I will just change it not to generate a zero-sized matrix but NULL, instead of doing that in QPTDualize().

 ;)

I find discussion above an actual code change more efficient :-)

I opened the issue #13 to discuss how to approach the fix. I am reluctant to make the equivalence of SPD = non-singular. Admittedly, most of the library probably won't work with indefinite Hessian.

It's not equivalence, but definitely SPD implies non-singular. If it ever will be important, we can add MatOption=MAT_NONSINGULAR to PETSc. But currently PERMON assumes SPS, I believe.

Yes, PERMON assumes SPS, but only implicitly - using SPD flag to indicate non-singularity makes the assumption explicit.

Moreover, there are parameters MatInvType and MatRegularizationType. It is questionable whether to have these as parameters or options, but if we have regularization, we could regularize semi-definite Hessian before proceeding with the actual dualization.

The reason why there is no QPTRegularize() or so which would be called before QPTDualize() is that the regularization is an indivisible part of forming the pseudoinverse. It makes no sense on its own. Applying the regularization to the primal Hessian yields a non-equivalent QP problem.

It may or may not be equivalent (see e.g., Friedlander, Tseng - Exact Regularization of Convex Programs), but from what I gather solving a regularized problem is useful even when it is not exactly equivalent to solving the original problem.

I thought that the solution could be either an option (e.g. "-qpt_dualize_nonsingular 1") or better yet have QPSetOperatorNullSpace() allow setting NULL but setting a flag as well. We can then determine if user wants us to compute the null space (QPSetOperatorNullSpace was used to set NULL) or not. The second approach is somewhat similar to the solution of singular systems in PETSc Manual - section 4.6.

* I still think using `MatOption` from PETSc is the most natural way. That said, `-qpt_dualize_nonsingular` can be an alternative way of setting it.

* `QPSetOperatorNullSpace()` should indeed be fixed to allow NULL. Easy fix, I just did it. But it's NULL by default anyway.

* Within this MR, if the user passes no nullspace and does not specify the flag, the null space is computed automatically and set to NULL (and flag set) if it has no columns. I think this is convenient behavior.

Should we, by default, assume that the Hessian is singular or non-singular?

* I think the nullspace should be attached to the matrix, not the QP. It's awkward that it's a separate object in QP although it's basically a property of the operator. But that's a different story.

I actually prefer to keep it as it is :)

@jkruzik I think I have it, modulo tutorials-ex4_1_nsize-3_dual-1+assume_spd-0 failing due to Nonconforming object sizes in QPCheckNullSpace(). I will try to fix it today.

The problem with QPCheckNullSpace() is a bit deeper than I thought. It essentially supports only MATBLOCKDIAG. I'm working on generalization. I think it will be a separate pull request.

TODO:

[ ] in ex3.c, remove  ierr = PetscOptionsInsertString(NULL,"-qpt_dualize_B_nest_extension 0 -qpt_dualize_G_explicit 0");CHKERRQ(ierr); /* workaround for empty nullspace */

(https://github.com/permon/permon/pull/12#discussion_r417830837)

Maybe we can also swap ex3 and ex4. I think it is more natural to start with linear equality constraint.

Maybe we can also swap ex3 and ex4. I think it is more natural to start with linear equality constraint.

It is, but let's keep it like this until they are both merged, and then swap them in a separate minor pull request. It would cause me headaches to swap them right away.

TODOs:

[ ] in ex3.c, remove  ierr = PetscOptionsInsertString(NULL,"-qpt_dualize_B_nest_extension 0 -qpt_dualize_G_explicit 0");CHKERRQ(ierr); /* workaround for empty nullspace */

(https://github.com/permon/permon/pull/12#discussion_r417830837)
[ ] update ex4 from ex3
[ ] swap ex3/ex4

What is the status on this PR?

This will need rebasing and reworking. I defer it until prerequisites are resolved:

[ ] PR #23
[ ] New PR which will move nullspace to Mat as discussed.

I hope for finishing in a week from now.

TODO

[ ] rebase onto master once #23 is merged
[ ] change base back to master
[ ] in ex3.c, remove  ierr = PetscOptionsInsertString(NULL,"-qpt_dualize_B_nest_extension 0 -qpt_dualize_G_explicit 0");CHKERRQ(ierr); /* workaround for empty nullspace */

(https://github.com/permon/permon/pull/12#discussion_r417830837)
[ ] update ex4 from ex3
[ ] swap ex3/ex4

PR #47 will precede this one.


Various and sundry URI improvements

Typed Fragment
Typed UserInfo that supports the deprecated and ill-advised password field
Typed Port, also used in Host header
Host type.  Subtypes that represent arcane syntax rules of RFC3986 are hidden (i.e., no more RegHost).
Convenience with, without, and withOption methods.

I don't know where this PR stops yet, but if you see something you like, we can merge and continue somewhere else.

[tut] compiling: /home/travis/build/http4s/http4s/docs/src/main/tut/uri.md
[tut] *** Error reported at /home/travis/build/http4s/http4s/docs/src/main/tut/uri.md:44
// <console>:19: error: value RegName is not a member of object org.http4s.Uri
//          authority = Some(Uri.Authority(host = Uri.RegName("http4s.org"))),
//                                                    ^
[tut] *** Error reported at /home/travis/build/http4s/http4s/docs/src/main/tut/uri.md:46
// <console>:7: error: ')' expected but '.' found.
//        template.toUriIfPossible

Once again the great god Tut-enpolecat strikes down the non-believer.

I'm abandoning this effort.  I think several of us were impressed with the URI interpolator in the sttp presentation.  We should be looking to that for URI reform.