k2gamma unfolding for 3c2e-integrals

I am trying to avoid the very long GDF setup times in supercell calculations, by performing a k2gamma-style unfolding of k-sampled, primitive cell 3c2e-integrals. I actually first tried this for the 4c2e-integrals, as shown in the function k2gamma_4c2e
in the code below and it seems to work fine.
I then try this for the 3c2e-integrals, as shown in k2gamma_3c2e, and obtain a set of complex 3c-integrals, which are different from the real set of 3c-integrals at the supercell Gamma-point. I think this is not a problem per se (except for the unfortunate factor of 2 in memory and runtime...), as long as the 4c integrals, contracted from the 3c integrals, are real and correct (which they seem to be in this example).
In order for the unfolded 3c->4c contraction to be correct for some k-point meshes, such as [1,2,3], I need to contract them
as eri = einsum("Lji,Lkl->ijkl", j3c.conj(), j3c) - this is NOT the same as eri = einsum("Lij,Lkl->ijkl", j3c, j3c)  (which I would think would be the correct way...), since the 3c integrals do not seem to have the symmetry (L|ij) = (L*|ji).
While the unfolding seems to work in this simple example, in more complex cases (a 2x2x2 supercell of SrTiO3), the final, contracted 4c integrals at the supercell Gamma-point appear to have significant imaginary elements of the order of 1e-3. In this case, I also find that post-HF calculations of a regular supercell calculation and a k-point sampled HF + k2gamma unfolding can differ significantly; and it does not seem to be a matter of choosing a smaller cell.precision. I think the unfolding of the 3c-integrals could be the origin of this inconsistency.
I have multiple questions:
Is this unfolding of 3c integrals reasonable; are there errors or inconsistencies in my complex conjugations or contractions?
Would there be a way to not just get "equivalent" 3c-integrals, but actually the same, real 3c-integrals as the direct GDF of the supercell yields? I think this would avoid a lot of issues.
Are there other parameters I need to look out for, which could explain the energy difference between direct supercell post-HF and k2gamma unfolded supercell post-HF calculation?
Many thanks!
edit:
I noticed four different cases in get_eri in pyscf/pbc/df/df_ao2mo, where the contraction scheme of the 3c integrals seems to depend on all four k-points - these cases are basically ignored in my 3c -> unfolded 3c -> 4c workflow, could this be a problem? Or are the cases above the "else" just optimized contraction, avoiding complex arithmitic were unnecessary etc?
Code:
k2gamma_3c.py.txt

Hi,
I took a look on your code, it seems that you did the transformation on Lij's i and j. But actually in order to get the same aux basis of the supercell, you need to do a transform on L as well. In your case, what you really get, is a set of gdf of the supercell basis expanded on a set of complex aux basis of the primitive cell (this is why your 3c integrals are complex, but after constructing 4c, you may get the correct 4c real integral).
I don't understand the difference in post-HF calculations, given that your supercell 4c ERIs are the same (unless the post-HF solutions breaks the symmetry).
get_eri in pyscf/pbc/df/df_ao2mo has several difference cases, but they are only for optimization (using some symmetry). This is not related to the problem in your code.
Best,
Zhihao

Hi Zhihao,
Thanks for your reply! The unfolding of the auxiliary basis (as j3c_sc = einsum("k...,kR->R...", j3c_sc, phase)) indeed makes the 3c integrals real for this He-crystal test system (I also tried a Ne-crystal with the gth-dzvp basis to get some 3d functions and with kmesh [1,2,3] it's also rendered real...). They are still not identical to the auxiliary basis of the supercell GDF, but this might be just an ordering issue of the basis or similar, I don't think I need this identity.
Now going back to my pathological SrTiO3 case, it turns out that the c3-integrals are still not rendered real, even when transforming the auxiliary dimension. I don't have a good intuition as to why this might be the case. One thing I noticed is that for my simple test cases it does not matter if I transform the L with phase or phase.conj() -
for my SrTiO3 system, the result is different (but in both cases not real).

Are you using gamma-centered kmesh?

Yes indeed, just like in the example code.
On Fri, 5 Mar 2021, 02:24 Zhihao Cui<EMAIL_ADDRESS>wrote:

Are you using gamma-centered kmesh?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pyscf/pyscf/issues/830#issuecomment-791098430, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBNUNTAUFFPVK4E6Z3G7LLTCA6GJANCNFSM4YRUSD6A
.

As a small update to this, if I use cell.exp_to_discard = 0.1 (before I had it at None), the unfolded 3c integrals become real for my troublesome SrTiO3 case. HF energies are also very close to the supercell HF result, but, unfortunately, post-HF correlation energies are still very different (the k2gamma correlation energies are approx 0.2 Eh lower). Lowering cell.precision of both the k2gamma and supercell calculations from 1e-5 to 1e-8 does only lead to changes of the order of ~1mEh. I also loaded the supercell 3c integrals into my otherwise k2gamma calculation, and indeed it now reproduces the supercell correlation energies, showing that the difference must be entirely contained in the unfolded 3c-integrals.
I don't know if there are any numerically ill-conditioned steps, which could cause me problems... Should I perhaps try to not unfold "Lij" , but j3c and j2c individually, and then cholesky/eigen decompose j2c in the unfolded space before combining them to "Lij"? I noticed that the condition number of j2c is often ~1e14, but the CD does not fail. If I instead force it into the eigh branch to remove some linear dependency, in the end the unfolded 3c-integrals have significant imaginary parts again...
Also, @zhcui , if you don't mind me asking here, since it's tangentially related: why does the k2gamma routines in PySCF use the fock matrix to realize degenerate subspaces, whereas the code in your repo uses the density matrix? I have my k2gamma frequently hit the asserts abs(f.imag).max() < 1e-4.

Using fock can keep some symmetry of the hamiltonian if hamiltonian has some additional symmetry information in the degenerate subspace.

I have found the bug, and it's in my code:
def load_j3c(cell, gdf, kij):
    """Load 3c-integrals into memory"""
    nao = cell.nao_nr()
    naux = gdf.auxcell.nao_nr()
    j3c_kij = np.zeros((naux, nao, nao), dtype=np.complex)

    for lr, li, sign in gdf.sr_loop(kij, compact=False):
        assert (sign == 1)
        nauxk = lr.shape[0]
        assert nauxk <= naux
        j3c_kij[:nauxk] += (lr+1j*li).reshape(nauxk, nao, nao)

    return j3c_kij

The results of sr_loop are all just added on top of each other into the chunk :nauxk of j3c_kij; instead the mask must be moved forward by the blocksize each loop. This did bug did not manifest in my test systems, since sr_loop just returns the entire 3c integrals in a single loop in these cases.
Thanks for your help!


Network connection unreliable on nucleo_f767zi

Describe the bug
While working on a quite minimal Zephyr firmware for the nucleo_f767zi board I noticed that the network connection is unreliable. As shown below this is reproducible with the net/telnet sample.
The bug can be noticed by the following indicators:

ICMP and any IP-based communication (IPv4 and IPv6) does not work
only the orange, not the green LED on the RJ45 connector of the board is lighting up
the stm_eth thread has significantly lower stack usage (see shell output of kernel stacks)

The bug appears after roughly 40 % of the boot processes. It was so far not observed that network communication breaks later if it was operational directly after booting the board.
To Reproduce
Steps to reproduce the behavior:

connect the nucleo_f767zi board with an Ethernet cable to a Linux PC
connect the PC also via USB to the onboard ST-Link
configure the static IPv4 address <IP_ADDRESS>/24 on the PC
install the st-info tool (see e.g. source repo)
build and flash samples/net/telnet as described in the Getting Started Guide
execute the Python script below without any arguments (sorry, GitHub did not allow me to attach a Python file)

#!/usr/bin/python3

import argparse
import subprocess
import time

HELP = """This script can be used to debug an issue where the Zephyr-based
firmware of a target microcontroller is not able to communicate via the network
after roughly every second boot process. The Ethernet-capable microcontroller
has to be connected directly to the Linux-based host PC via an Ethernet cable
and a ST-Link. Reboots are triggered via the Open Source st-utils tool
(https://github.com/stlink-org/stlink). Connectivity is checked with ping."""

def main():
    args = parse_args()

    ok = 0
    not_ok = 0

    for i in range(args.iterations):
        print(f"Iteration #{i+1}")
        subprocess.run(["st-info", "--connect-under-reset"], check=True)
        time.sleep(args.delay)
        try:
            subprocess.run(
                ["ping", "-c", "1", args.address], check=True, stdout=subprocess.DEVNULL
            )
            print("ok")
            ok += 1
        except:
            print("not ok")
            not_ok += 1

    print(
        f"Success rate is {round(100 * ok / (ok + not_ok))} % ({ok} ok and {not_ok} failed)"
    )

def parse_args():
    parser = argparse.ArgumentParser(description=HELP)

    parser.add_argument(
        "-i",
        "--iterations",
        default=100,
        help="how often the test should be executed",
        type=int,
    )

    parser.add_argument(
        "-d",
        "--delay",
        default=10,
        help="how long to wait after reset for the ICMP request",
        type=int,
    )

    parser.add_argument(
        "-a",
        "--address",
        default="<IP_ADDRESS>",
        help="address of the microcontroller / target of ICMP request",
        type=str,
    )

    return parser.parse_args()

if __name__ == "__main__":
    main()

Expected behavior
It is expected that the used script reports 100 % success rate.
Impact
This bug is a showstopper. A firmware with such an unreliable network connection is useless.
Logs and console output
The script summarizes a test with 100 iterations on my setup with:

Success rate is 44 % (44 ok and 56 failed) for zephyr v3.7.0
Success rate is 39 % (39 ok and 61 failed) for zephyr v3.6.0

Environment (please complete the following information):

OS: Arch Linux
Toolchain: Zephyr SDK 0.16.5
Zephyr version: v3.7.0 and v3.6.0

Updated bug report after it turned out that Zephyr v3.6.0 is affected too.

@jkrautmacher can you please confirm that ?

I would be glad to help but unsure what to confirm. As far as I understood the current theory is that the power supply of the PHY on nucleo_f767zi might not be stable enough during init so that initialization fails.
If this is correct my next debugging step would be to connect an oscilloscope to the supply voltage of the PHY and observe it during init. That together with a debug GPIO from the kernel code which toggles right before and after Ethernet init should validate this theory or not. The next step would be to either fix the hardware design or to add a workaround to the Zephyr kernel (longer delays or similar).
I am lacking two things to verify the theory:

an oscilloscope at home
detailed schematics of nucleo_f767zi

Is there maybe more public information about the board than in UM1974 Rev 10 I overlooked? The oscilloscope situation I could maybe improve but it would likely be way faster if you could do that at ST if this is an option.

Since it was easy to test for me I checked how the board / firmware behaves with an external power supply instead of powering it via USB. I moved the jumper on JP3 from U5V to VIN-5V and provided 12 VDC to VIN and GND on CN8.
Result is: Success rate is 39 % (39 ok and 61 failed)
So this did not fix it. Updated the initial bug report accordingly.


Pull in RBE node and push out tail

[ ] Bugfix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)

Proposed changes
As per v2 discussion this PR pull in the rbe node and re-labels it as filter  - the underlying files stay the same so existing flows would continue to work / be copyable across.
Also drops tail node and sentiment node out of core. I will add tail back into Pi build at some point
Checklist

[X] I have read the contribution guidelines
[X] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[X] I have run grunt to verify the unit tests pass
[X] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.2%) to 67.562% when pulling 73063df11b3ad43ad199fd47e852a4b14bd8394d on Pull-in-RBE-and-push-out-tail into c021b4c3682f9c9b717b5318e93de4b18b73d84e on dev.


Implement onDestroy/onStart operation

Currently we only have onCreate and onStop. Need to implement the onDestroy and onStart operation block to allow tasks to be completed at the point a container is destroyed/started.

The aforementioned "firstboot" flag has been implemented but ondestroy onstart commands are yet to be implemented.

Onstart, ondestroy has been implemented in https://github.com/vuid-com/tredly repo

Complete in v1.1.0


Fix get mod link (404)

Whoops. Forgot the GitHub Pages was being used for this. I removed it because it was just linking to Nexus and GitHub. It's better to link to the Nexus Mods page tho. I'll push that out.


Improved noise coverage

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 Code coverage
Summary
Improved noise coverage
Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

I think the bionic failure here may be a race condition in the test.

Windows warnings should be fixed by #279


which release that does not use the preview version of Document Intelligence ?

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ x] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

I deployed the latest release 2024-03-14 that uses the preview version of Document Intelligence. The regions for the preview version are only available in East US, West US2, and West Europe. My company set a policy to deploy resource only to limited regions that does not include these three regions.

Any log messages given by the failure

Deployment Error Details:
InvalidTemplateDeployment: The template deployment failed because of policy violation. Please see details for more information.
RequestDisallowedByPolicy: Resource 'cog-di-4rdq3com2wcxk' was disallowed by policy. Reasons: 'Deployment of Azure resource in this region is not allowed.

Expected/desired behavior

Looking for a release that has option to deploy Document Intelligence service in East US2 region.  It does not have to use the preview version.

OS and Version?

Windows 10

azd version?

run azd version and copy paste here.

Versions

1.7.0

Mention any other details that might be useful

Thanks! We'll be in touch soon.

This is the version that upgraded to the new version of Document Intelligence:
https://github.com/Azure-Samples/azure-search-openai-demo/releases/tag/2024-02-15b
So you would need to pull the commit before that:
https://github.com/Azure-Samples/azure-search-openai-demo/releases/tag/2024-02-15

Thank you !


[FEATURE REQUEST] (Facilitate access to the documentation and technical support of the application, as well as to the repositories and sources of the packages.)

Please confirm these before moving forward

[X] I have searched for my feature proposal and not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template

Describe the new feature
Hello, I am a user of WingetUI and I would like to recommend a new improvement that I think could improve the help and learning of the application. It is about facilitating access to the documentation and technical support of the application, as well as to the repositories and sources of the packages.
The idea is that the application can provide links or shortcuts to the documentation and technical support of the application, as well as to the repositories and sources of the packages, from the interface or from the application menu. The user could easily access these resources to consult doubts, solve problems, obtain information or give feedback.
The improvement could be implemented by adding links or shortcuts in the interface or in the application menu, that direct the user to the web pages or applications corresponding. The user could see the links or shortcuts next to the name or icon of the application or package, or in a specific section of help or information.
Describe how this new feature could help users.
It would allow them to quickly and easily access the documentation and technical support of the application, as well as the repositories and sources of the packages, thus improving their experience and satisfaction with the application.
It would facilitate the use and exploitation of the application, as well as of the packages, since they could consult doubts, solve problems, obtain information or give feedback from the same application.
It would offer them a more complete and integrated experience with the application, as well as with the developers and communities of the packages, since they could access additional or complementary resources and contents.
I hope you are interested in this proposal and give me your opinion on it. Thank you for your attention and for your excellent work with WingetUI. 😊

The idea is that the application can provide links or shortcuts to the documentation and technical support of the application

This is a in-progress feature: https://marticliment.com/wingetui/help/

this was done in the latest version I think

This feature is being implemented slowly, not all of the planned articles have been done yet

a In-window help section has been implemented on WingetUI. It will be available with the next beta build
Articles are still being written


AssertionError

(base) C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master>python main.py
text_gcn: {'pred_type': 'softmax', 'node_embd': 'gcn', 'layer_dims': [10, 4], 'class_weights': True, 'dropout': True}
in _save_conf_code
Logging to C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\logs\TextGNN_ag_presplit_0.8_0.1_0.1_2022-07-22T08-02-04.424720
Loaded from C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\save\split\ag_presplit_train_val_test_3_window_size_10.klepto
(129620, 129620)
Traceback (most recent call last):
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\main.py", line 44, in
main()
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\main.py", line 20, in main
saved_model, model = train(train_data, val_data, saver)
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\train.py", line 13, in train
model = create_model(train_data)
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\model_factory.py", line 17, in create_model
return model_ctors[name](layer_info, dataset)
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\model_factory.py", line 35, in create_text_gnn
return TextGNN(
File "C:\Users\Ramy\Downloads\Compressed\Text-GCN-master\Text-GCN-master\model_text_gnn.py", line 21, in init
assert layer_dim_list[-1] == num_labels
AssertionError

you solved it ?


"%productName" is displayed in Windows notification area and also in Oracle session

Hello!
I'm having this issue using Eclipse plugin.
"%productName" is displayed instead of "DBeaver"
Eclipse version: 2020-03

Dbeaver plugin: 7.0.3

Operating System: Windows 10 Pro 64-bit

Windows notification area:

Oracle session details:

Thanks for the bug report!
Fixed

verified

Thank you!
Fixed in version 7.0.4


CI: switch CI to customer Action

Signed-off-by: Sam Yuan<EMAIL_ADDRESS>

@rootfs , @jiangphcn  please help with this pr.


flaky test

Describe the bug
there's a flaky test:
Test Case '-[APNSwiftJWTTests.JWTTests testJWTSigning]' started.
/private/tmp/.nio-release-tools_nHItWh/APNSwift/Tests/APNSwiftJWTTests/JWTTests.swift:77: error: -[APNSwiftJWTTests.JWTTests testJWTSigning] : XCTAssertEqual failed: ("63") is not equal to ("64")
Test Case '-[APNSwiftJWTTests.JWTTests testJWTSigning]' failed (0.288 seconds).

log_swift_wmu81k.log
To Reproduce
run swift test --sanitize=address -c release -Xswiftc -enable-testing --disable-index-store many times
Expected behavior
tests pass
Platform:
macOS 10.15 beta 6ish

beta 6ish
lol.
Thanks, will look into this.

@weissi Possibly related to 10.15? I cant seem to reproduce on 10.14, with Xcode 11.

@kylebrowning it took about 5 mins running the following command until it hit the failure for me:
while swift test --sanitize=address -c release -Xswiftc -enable-testing --disable-index-store; do date; done

Just run it, and use your computer normally for other things and check back every 5 mins if it failed, I'm sure it will at some point.
Test Suite 'APNSwiftRequestTests' passed at 2019-09-22 9:36:08.522 pm.
	 Executed 7 tests, with 0 failures (0 unexpected) in 0.004 (0.004) seconds
Test Suite 'JWTTests' started at 2019-09-22 9:36:08.522 pm
Test Case '-[APNSwiftJWTTests.JWTTests testJWTEncoding]' started.
Test Case '-[APNSwiftJWTTests.JWTTests testJWTEncoding]' passed (0.001 seconds).
Test Case '-[APNSwiftJWTTests.JWTTests testJWTSigning]' started.
/Users/johannes/extsrc/APNSwift/Tests/APNSwiftJWTTests/JWTTests.swift:77: error: -[APNSwiftJWTTests.JWTTests testJWTSigning] : XCTAssertEqual failed: ("63") is not equal to ("64")
Test Case '-[APNSwiftJWTTests.JWTTests testJWTSigning]' failed (0.047 seconds).
Test Suite 'JWTTests' failed at 2019-09-22 9:36:08.570 pm.
	 Executed 2 tests, with 1 failure (0 unexpected) in 0.048 (0.048) seconds
Test Suite 'apnswiftPackageTests.xctest' failed at 2019-09-22 9:36:08.570 pm.
	 Executed 12 tests, with 1 failure (0 unexpected) in 0.118 (0.119) seconds
Test Suite 'All tests' failed at 2019-09-22 9:36:08.570 pm.
	 Executed 12 tests, with 1 failure (0 unexpected) in 0.118 (0.120) seconds


Opening source files in Visual Studio Code - Not work for less source file

no link button shown:

[Enter feedback here]

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

ID: fda35f7f-7465-f440-5ae1-b119dc78e83e
Version Independent ID: f9cf7424-9465-7b30-24db-5e02b6f2a8d5
Content: Opening source files in Visual Studio Code - Microsoft Edge Development
Content Source: microsoft-edge/devtools-guide-chromium/sources/opening-sources-in-vscode.md
Product: microsoft-edge
Technology: devtools
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Thanks for your feedback about this. Given that this is probably a problem with the tool itself, not the docs, could you please re-open your issue on the DevTools feedback repository instead: https://github.com/MicrosoftEdge/DevTools ?
Thank you for your understanding!


Sixteenth Community Call

Next call will be at Tue October 6th at 6pm CEST (1600 UTC, 12pm EDT, 9am PDT). We will aim to include more projects from the US this time. We will alternate times, every 4 weeks at this time, and every 4 weeks (between this time), at a more Asia-friendly time - 10am CEST.
Agenda:

Proof of Engagement

September accomplishment

HackAtom V plan

Preview of October tasks

Open Q&A

Zoom link: https://zoom.us/j/361222561?pwd=ZmpIQUppYks2MDVtSjRGQVpTaVlKUT09
(This is same for all meetings at US-friendly times)

The video has been published: https://vimeo.com/465468131


Phase "Pipeline 3 and enhancements" - Planning and execution per week

Week 1: June 9 - 16, 2021
Goal: Pipelines section. General pages. Bugs fixing
Pre-planned Tickets

In Agents list, change the content of an agent item #118
Open Details Agent popup by clicking in Agent's name #119
A tooltip keeps displayed in the middle of the screen when the Running agent popup is closed #247  - BUG
Not every root domains have the same list of Agents and the list contains agents of type different to Root Domain #248 - BUG
Not every subdomain have the same list of Agents and the list contains agents of type different to Subdomain #249 - BUG
Subdomains tab appears selected but the content is wrong. Displayed content is the same of Agents tab #246 - BUG
The subdomain details page appears empty. The id of the first subdomain is 0 #245 - BUG
In pipeline list, there is an item that does not match with its content in Pipeline Details page. If a pipeline is empty, in both places will appear the Starting Agent item only #251 - BUG
Update dependency material-icons to v0.7.1 #87
Update dependency primevue to v3.5.0 #92
Update dependency @vuelidate/core to v2.0.0-alpha.19 #101

Week 1 Planning and Execution
Pipelines 3 - Week 1.docx

Week 2: June 16 - 23, 2021
Goal: Pipelines section. General pages. Bugs fixing
Pre-planned Tickets

Enhancements in Target List, homepage #122
Add a message if there is no comments #207
No results message in searcher, subdomain details page #194
Url roots are not working properly if user tries to access directly #172 - BUG
Clicking on Stop button is throwing an error #278 – BUG
The subdomain details page appears empty. The id of the first subdomain is 0 #245 – BUG
In Pipeline Details page, Agent configuration popup buttons are outside the popup #258  BUG
Update dependency vue3-ace-editor to v2 #99
Update dependency eslint-plugin-promise to v4.3.1 #108
Pin dependencies #112
Update vue monorepo #131

Week 2 Planning and Execution
Pipelines 3 - Week 2.docx

Week 3: June  23 - 30, 2021
Goal: Pipelines section. General pages. Bugs fixing
Pre-planned Tickets

Empty list messages #190
Missaligned layout in list items #120
Enhancements in Create/Edit/Details Agent popups #117
The header row moves when expanding the Comments sliders in a Subdomain Details page #186 - BUG
Style issue in Edit Mode of subdomains list in Root Domain Details page #174 - BUG
Clicking on Stop button is throwing an error #278 - BUG
SEO friendly URLs #191
Update vue monorepo #131
Update dependency apexcharts to v3.27.1 #168
Update dependency eslint-plugin-vue to v7.12.1 #177
Update dependency eslint to v7.29.0 #178
Update dependency eslint-plugin-promise to v5 #209
Update dependency vue3-apexcharts to v1.4.0 #221

Week 3 Planning and Execution
Pipeline 3 - Week 3.docx

Week 4: June  30 - July 7, 2021
Goal: Pipelines section. General pages. Bugs fixing
Pre-planned Tickets

Empty list messages #190
Missaligned layout in list items #120
Enhancements in Create/Edit/Details Agent popups #117
The header row moves when expanding the Comments sliders in a Subdomain Details page #186 - BUG
Style issue in Edit Mode of subdomains list in Root Domain Details page #174 - BUG
Clicking on Stop button is throwing an error #278 - BUG
SEO friendly URLs #191
Update vue monorepo #131
Update dependency apexcharts to v3.27.1 #168
Update dependency eslint-plugin-vue to v7.12.1 #177
Update dependency eslint to v7.29.0 #178
Update dependency eslint-plugin-promise to v5 #209
Update dependency vue3-apexcharts to v1.4.0 #221

Week 4 Planning and Execution
[No document]


Subscription: 1st payment = 0 Euro, 2nd is correct amount

Hi,
Could someone help me with this? I've hired a programmer (I am not a programmer myself) and we've been stuck for 2,5 weeks. The Mollie tech support redirected us here.
The programmer has created a Mollie subscription in Laravel 10. First there is a 7 day trail for 1,99 euro and then 6,99 per month. The initial payment works well. The problem is that the first subscription payment is 0 Euro. The second subscription payment is the right amount 6,99.
We are using our own checkout page/fields (might be standard Laravel, I am not sure). We are not redirecting customers to a Mollie page (we tried this but also didn't work properly for us).
I've put the files here:
(https://drive.google.com/drive/folders/1gAgPuT2VE3tLu_yrfnpbMQq_lA8RAraH?usp=sharing)

first check in the product page is the price is right over their not in you database than check the amount added on your test accoun if the sum of amount increased than in stripe it is right than we have to check the code flow so that we can find exact error i have already worked on number of subscription so that you can check the webhook and its response too

Hello Ruby.
I can help you with this but I need to check codebase first.  Plz DM me.
Mail<EMAIL_ADDRESS>Kind regards

I reviewed the project carefully.
I think your programmer didn't set up the Mollie API key correctly in the .env file or the config/mobile.php file.
Or didn't use package correctly.

Hi @Larton1,
Thanks for reaching out. I am looking at your files. Before diving in further, why are you using a customized Billable trait?

Hi @sandervanhooft ,
The programmer says: "because we had to change the redirection logic". Does that make sense?
Gr Rudy

Step 1.
I don't have the full context and the developer may have had good reasons for this, but at first glance it looks a bit hacky.
Implementing it this way means that any updates (security/bug fixes/new features) to the package will not end up in your implementation, and these files may get out of sync with the rest of the original package files (which already seems to be happening).
Plus getting support here becomes much harder as we need to check everything that has been customized. :)
In this case it's only about two files: Billable and FirstPaymentSubscriptionBuilder. I've inspected these files and there is no need to customize these. I'd start by reverting to use the original ones and update to the latest version of the package.
Step 2.
If the issue persists after updating, please let us know.
I'll meanwhile double check if the first payment calculation is to be zero by design - in that case I'll make a specific alternative recommendation to be applied after the updates in step 1.

If I understood correctly, the reason to do the custom work is because otherwise people are being redirected to a Mollie payment page instead of our own. Is this correct?
I'll let you know as soon as I know more about the workings when things are reverted back to original.

@sandervanhooft I am looking forward to your response on how to fix this.

Hi @Larton1 ,

Have you tried reverting the code back to original yet?
Can you check what payment methods are enabled on the Mollie profile that's used here?
Can you try the same approach you're using now but without trial mode enabled (so without ->trial()?

Hi @sandervanhooft ,
We have tried the first 2 things. Trail I am not sure if we have tested.
I have hired another programmer to look into this someone else and this was his response:
"I've been searching for a solution for this issue for 4 days, but unfortunately no solution has been found using Laravel-cashier-Mollie package, the issue is related to the way the API are consumed.
To give a detailed explanation:

The Laravel cashier Mollie package is using Mollie PHP Api's under the hood to interact with the Mollie payment system.
The code provided has the correct configuration, also the package correctly updates the database (through subscriptions, payment, users ...) tables.
The issue is when saving a subscription to Mollie's system. (Link: https://www.cashiermollie.com/02-subscriptions.html#creating-subscriptions)
I have used Mollie Api's (which are available for any PHP project) and the subscription work fine the first 1 week trial and the coming months (link: https://docs.mollie.com/reference/v2/payments-api/create-payment)
The Package used is not stable, and probably its missing some synchronized with the official Mollie's API.
I have also created a fresh new laravel 10 project, kept the same recommended configuration files, followed the documentation step by step yet the same error persists."

Now another solution is created by my programmer.

Good to hear another solution has been found to suit your use case.
Closing this for now, let me know if it should be reopened.


DXSurvey with custom question types

Are you requesting a feature, reporting a bug or ask a question?
question or feature
What is the current behavior?
We like using dxsurvey but we have custom question types that do not work, specifically for currency formatting at the moment. Is there a way to set it up so we can set type to "currency"?
Barring that we could download and host ourselves for our use in creating surveys not for our clients to create surveys.
Does that require a commercial license?
If so, what options do we have for creating surveys with custom question types with a UI?
Thanks,

@enricribas We are planning to add this functionality. However, we are going to add it after we will introduce orgranization/user collabaration into dxsurvey.com.
We see it as: There will be the list of custom widget/additional question types and customer may enabled/disabled them for his organization.
To be honest, I can't give you any timeframe about this functionality. Plus we are planning to add it into the paid subscription.
I would recommend to create your own Survey Management System by using our Editor. In this case you will be able to handle everything by yourself. So far we have only php example of this Service.  We are planning to work on ASP.Net MVC version.
Thank you,
Andrew

Thanks for your response. My followup question would be if we build something like your php example, (probably not in PHP, probably Ruby or Elixir) and we only use it internally and not for our customers, is that considered a commercial usage for the editor source code?
Thank you.
Enric

@enricribas If you are working in non-profitable organization or do it for personal usage, then you should not buy the commercial license.
However, if you organization/company gets the profit, you will have to buy a developer license...
The most our customers use SurveyJS Editor in their intranet applications, where employees are creating and feeling the surveys/forms. Editor and Survey are built-in into corporate web application.
Thank you,
Andrew

wrong link, it should be https://github.com/surveyjs/surveyjs/issues/567


Can it support custom models?

I can successfully run this project and ask it questions,it's fast.
But I’ve found that the answers are not satisfactory. It does not answer in the specified language, and the answers it provides are not based on the PDF files I uploaded, as there is no reference in the results each time.

I think there is some issue in the code, will check and updated the code, and it supports all the model from ollama


Rename Items in Settings

Describe the solution you'd like
For new users rename the following in the SETTINGS page
Scoring ---> Race Results?
Scoring Tables ---> Championships
Results per Race ---> Drivers per Race
Take group average ---> Use Team average points
Scoring Kind ---> Driver / Team Points
Average Race Nr  ---> i dont understand

Thanks, I take you comments into account.
You can follow progress on this on this issue #26.


Users/mericstam/add v3 terraform task

Prepare for V3

Hi, what is the state of this PR? I'd like to use the 'custom' command for running 'fmt --check'.

Now that all security and other important update are done and released, this finalizing this PR is next on my agenda. I need to retrofit some of the recent updates from V2.  But aiming for next week.

Sounds great, thank you. For now I have used the Terraform Installer and then a script task.

When is this due to be merged? Keen to use this ASAP


Add requesting clinician to Labs

Fixes #364 .
Changes proposed in this pull request:

Adds Requested By to Labs Requests, Completed and Edit
Refactors Labs to use components in blocks

cc @HospitalRun/core-maintainers

@jkleinsc I removed those classes 👍

Thanks @cacqw7.  Merging this one too.


Fix generated json files to not have trailing whitespace

JSON files generated by tweak-json.py will not contain trailing whitespace characters anymore.

Good idea. Thanks!


chore: Remove milestones cache and related code (dynamoDB)

Description of change

Removed code around MilestoneService (persisted to localStorage/dynamoDbStorage)
Remove SidePanel from chrysalis/legacy networks (was used only on legacy)

Resolves https://github.com/iotaledger/explorer/issues/681
⚠ After this the milestones table can be "carefully" removed from dynamoDB as unused
Type of change

Cleanup

:partying_face:


Migrate from UA Google Analytics to GA4

Deadline would be July

GA4 plugged in: https://github.com/RecyclingTrashCans/RecyclingTrashCans.github.io/commit/d26d64c3f5f49eec07e165ffd563d0377ec43c7d


When entering player house and when any items are on ground, they will be shown in loot tracker

As reported on Discord:
when i enter player house and if there is things on the ground , that item will be shown on loot tracker

Issue can be reproduced by going to a house host in w330 and dropping any item after entering the house.
Leaving and re-entering causes players who spawned together with you to "drop" the item.
Dropping 1 fish and entering twice, gave 3 tracked drops:


How to set up collision avoidance between arms？

I want to use a two-arm robot model, but I can't avoid collisions between the two arms during self-collision detection.
Your answer is very important to me, thank you!

Hi, thanks for the question.  The standard way of doing this using the current relaxedIK implementation is:
(1) manually combine the two robots into a single URDF.  Make sure that each link and joint have their own name in the combined URDF.
(2) train the bimanual setup as a single "robot" using the combined URDF.
However, we are currently putting together new code that will substantially improve the ease-of-setup and motion quality for multi-arm systems.  I'll keep you posted on that when it's available.


Add strictNullChecks and resolve all errors

Here's some comments I got from the TypeScript Discord Community
    if (el?.innerText) {
      el.innerText = 'Play Again! 🚀';
    } else {
      throw Error(
        'I could not access the innerText property of the start game button',
      );
    }

This one seems like it should be unnecessary since I think you already have if(!el) throw new Error at the top
You also probably could have kept more or less the old structure with:
const _CVS = document.getElementById("cvs");
if(!_CVS) throw new Error("Couldn't find #cvs")
export const CVS = _CVS;

Instead of having to import a function and run it in each file.
I often suggest a similar pattern for environment variables:
!:env-config
// config.ts
export function expectEnv(key: string) {
    const val = process.env[key];
    if(!val) throw new Error(`Expected ${key} environment variable to be defined`);
    return val;
}

export const FOO = expectEnv("FOO");
export const BAR = expectEnv("BAR");
export const BAZ = process.env.BAZ ?? "defaultValue"

I also like this utility, which is fundamentally the same but a bit shorter:
export function assert(value: unknown, errorMessage: string): asserts value {
    if (!value) {
        throw new Error(`Assertion failed - ${errorMessage}`);
    }
}

const el = document.getElementById("cvs");
assert(el, "Couldn't find #cvs");
// el is now Element, not Element | null

But I'd also say ! or a cast isn't the end of the world either in this sort of case:
const el = document.querySelector("canvas")!;
const ctx = el.getContext("2d");

People will say this is "unsafe", and of course, it is, but when the alternative is:
const el = document.querySelector("canvas");
if(!el) throw new Error("No canvas found");
const ctx = el.getContext("2d");

... we're just haggling over an error message here.
The only difference between these two pieces of code is that the second throws a custom error message (that you'll probably never see because this error isn't a common mistake anyway)


xu.core.wrap.UgridDataset corrupts face_node_connectivity in original xr.Dataset

face_node_connectivity in original dataset is corrupted by xu.core.wrap.UgridDataset. The minimal value is 1 before, and -999 (the fillvalue) after wrapping it. This is normally not a problem, but in some of the workflows we wrap them preliminary to identify hanging edges, before we do some other actions on the dataset (like removing these edges) and than wrap it again.
If we deepcopy the ds before we wrap it, no issue occurs.
To reproduce
Minimal reproducible example:
import xarray as xr
import xugrid as xu

file_nc = r'p:\11209231-001-dwsm-slib2023\02_Modelling\04_Mud\Mud_v2_20162017_rst2\DFM_OUTPUT_DWSM-FM_200m\DWSM-FM_200m_0000_map.nc'
ds = xr.open_dataset(file_nc)
fnc = ds[ds.mesh2d.attrs["face_node_connectivity"]]
print(fnc.min(), fnc.encoding["_FillValue"]) # array(1.) -999
ds_copy = ds.copy(deep=True)
uds = xu.core.wrap.UgridDataset(ds) # if we use ds_copy instead of ds, there is no problem
fnc = ds[ds.mesh2d.attrs["face_node_connectivity"]]
print(fnc.min(), fnc.encoding["_FillValue"]) # array(-999.) -999

uds = xu.core.wrap.UgridDataset(ds)
print(uds.grid)

Expected behaviour
No alteration of input ds by xu.core.wrap.UgridDataset
Additional info
This was initially documented in https://github.com/Deltares/dfm_tools/issues/680, but that issue did not yet contain a minimal xugrid/xarray example.

Seems easy to fix, fortunately. When calling from_dataset, a _prepare_connectivity method is called in Ugrid1d, Ugrid2d.
https://github.com/Deltares/xugrid/blob/a140d3144c483e3e4d8292f12fd03dea435b3814/xugrid/ugrid/ugridbase.py#L385
The problem is this line:
https://github.com/Deltares/xugrid/blob/a140d3144c483e3e4d8292f12fd03dea435b3814/xugrid/ugrid/ugridbase.py#L392
If we use data.to_numpy().copy() here, we should be good?

This indeed works. However, I also noticed it works when calling ds = xr.decode_cf(ds) upon trying to create a testcase for this situation. This is unexpected, since ds = xr.open_dataset(file_nc) also has a decode_cf=True as default.


Support for Juniper's vQFX10000 in vrnetlab

Hello,
Juniper has recently released its vQFX10000 virtual router instance for testing (See https://www.juniper.net/us/en/dm/free-vqfx-trial/). This virtual router instance works in a similar way as the vMX virtual router, with a Router engine (re) and a Path Forward engine (pfe).
The re and pfe virtual images can be downloaded from Juniper's website in a Vagrant box format or as a VMDK to be used with VMWare or ESXi. Yet, after converting the VMDK image into a QCOW2 file with:
qemu-img convert -f vmdk vqfx10k-re-15.1X53-D60.vmdk -O qcow2 vqfx10k-re-15.1X53-D60.qcow2
I have been able to boot the re and the pfe using the following command line:
qemu-system-x86_64 -enable-kvm -display curses -machine pc -m 1024 -serial telnet:<IP_ADDRESS>:5000,server,nowait -drive if=ide,file=./vqfx10k-re-15.1X53-D60.qcow2
According to documentation and experiment reports for running vQFX10k, the re and pfe VM have the following requirements:

RE

vCPU: 1
RAM: 1024 MB

PFE

vCPU: 1
RAM: 2048 MB (even down to 1536 MB according to some reports)

For both appliances, using a e1000 virtual NIC is suitable.
Unfortunately, I am not very familiar with vrnetlab's structure so contributing to a branch to add the virtual appliance is complex, yet, I am more than eager to learn !
Best regards,
Antoine

Dupe of #72.
I have seen that vQFX is released now and I actually downloaded an image but I have yet to get around to doing anything with it.
qemu reads vmdk files just fine - you don't need to convert them to qcow2 first.

Sorry for duplicate issue

No problem :)
I began playing a bit with this:
2017-03-16 12:58:49,069: vrnetlab   INFO     STDERR: qemu-system-x86_64: -drive if=ide,file=/vqfx10k-re-15.1X53-D60.vmdk: could not open disk image /vqfx10k-re-15.1X53-D60.vmdk: VMDK version 3 must be read only

so maybe converting to qcow2 isn't such a bad idea after all.. or use an overlay.

Using an overlay seems to work...

Indeed, it turns out the qcow2 file is larger than the vmdk.

Yeah? That's surprising.. at least if it's a big difference.
The image already contains credentials and stuff.. a little weird. Anyway, I got something up and running now although the interfaces aren't working just yet. It's merged to master already so you can have a look.

@afressancourt it seems to be working now. I have yet to check connectivity but it boots up and after quite a long time (10-15 minutes) xe- interfaces come up!

Now I have checked connectivity and it's working A-ok.
Here's a ping to a XR router and it works, yay! :D
root@vqfx-re# run ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=9.450 ms
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=255 time=8.816 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=255 time=11.138 ms

Closing issue.

Thanks a lot, I am trying that right now!

I managed to get the first VM running after 10 min booting, the second takes a while loading on my laptop (30 minutes and counting). I will try to run on a slightly stronger platform to see how it turns out.

Aha, too slow CPU? I haven't actually tried to start two vQFX but I don't think there's any problem with that.

Please, who can tell me where can i download vQFX images,because I can not download from juniper website.
Please help me I would like to learn.
My email<EMAIL_ADDRESS>Thanks.

@Halwaran there's a link in the readme file to the juniper page where you can download the images. You need a Juniper account but anyone can create one for the purpose of obtaining an evaluation image.

@plajjan can you pl share vqfx images. i m unable to download from juniper


ProfilingPlugin error when using outputPath

Bug report

What is the current behavior?
Following the example in https://webpack.js.org/plugins/profiling-plugin/, when setting the outputPath to a folder that doesn't exist, the build fails with the following error.
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: ENOENT: no such file or directory, open 'C:\workspaces\myApp\exampleFolder\compilation-stats.json'
Emitted 'error' event at:
    at WriteStream.onerror (_stream_readable.js:690:12)
    at WriteStream.emit (events.js:182:13)
    at lazyFs.open (internal/fs/streams.js:273:12)
    at FSReqWrap.oncomplete (fs.js:141:20)

If the current behavior is a bug, please provide the steps to reproduce.
Add this block to the plugins section:
new webpack.debug.ProfilingPlugin({
	outputPath: 'exampleFolder/compilation-stats.json'
}),

What is the expected behavior?
I would expect that if a relative folder doesn't exist, that the plugin would create one. The example indicates providing a folder path, so it's possible.

Other relevant information:
webpack version:  4.27.1
Node.js version: 10.12.0
Operating System: Windows 10
Additional tools:

@sokra I would like to send a PR for this issue.

@sokra Here is my initial thought.
Current Functionality

events.json file is created at default root context, if user doesn't mention any outputPath.
No validation for outputPath and file type. Creates any type of file with the name given in outputPath [ex:- test.ts].
Throws an error, if folder path given by user doesn't exist Main issue logged above.

Future Functionality

No outputPath property given:-
events.json file will be always created in dist [output path]/debug folder, if user doesn't mention any outputPath.

outputPath property without folder path but with a file name ['sample.json']:-
Validate file type and throw error if doesn't match json type.
'sample.json' file will be always created in dist[output path]/debug folder.

outputPath with just folder name ['sampleFolder']:-
Create a folder at root context, if it doesn't exists and place events.json in the created folder 'sampleFolder'.

outputPath property with folder path and file name ['sampleFolder/sample.json']:-
Create a sampleFolder at root context if it doesn't exists and place 'sample.json' file inside the folder.

I don't think it's a good idea to emit these kind of files into the dist folder. The dist folder is something the user deploys on a web server. events.json is not something that should be deployed.
In addition to that it would be a breaking change to change the default directory for that.
You don't have to put too much magic/work into that. Start by fixing the bug, as bugfix and feature should go into separate PRs anyway.

@sokra
Sure i will go ahead with fixing the bug.
Also can you point at an example, on how to write unit tests for checking if folder is created or not [Tests for dealing with node file system].

Bump


integration_test.rs:73-76: Enable runs_in_verbose_mode...

The puzzle 82-95c4782c from #82 has to be resolved:
https://github.com/h1alexbel/fakehub/blob/dc79b222f02ede36b6c627492d2fe2dfb2e36a4b/cli/tests/integration_test.rs#L73-L76
The puzzle was created by @h1alexbel on 28-Jul-24.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd thanks for the report, here is a feedback: * There is no clear explanation of what the test is...

I see you're talking to me, but I can't reply since I'm not a chat bot.


fix --solc-args for truffle

Description
truffle option isn't working for solc-args, for more info refer #497

@roynalnaruto can you check it with the current master, i think this was fixed 2-3 days back?

or the latest version of v0.18.13

@roynalnaruto I am closing this issue as this was recently fixed in another issue, If you still have an issue with mythril then feel free to open the issue(or comment requesting to open the issue).


Facebook cdn input stream not supported?

Hi,
I'm having an issue when trying to manipulate a facebook image using imageprocessor web I get an "Input stream not a supported format" exception. Example url:
/remote.axd?https://external.xx.fbcdn.net/safe_image.php?d=AQDA9W98lWDqbw_J&url=https%3A%2F%2Fwww.facebook.com%2Fads%2Fimage%2F%3Fd%3DAQIUo-bMpMJ8HpStbTYWpoZ4VV5R8vuGRdKtUTwLnf5fEB84xPzsPsqyIAzQF3XNpGgKaMeg1fY1lg-oYGWcPNjX56ALRncQ95FDLDVijKu4LdMYROn_o1XfYU3SFY2Bv__Nt_eFGn8nBwNCnQUruSNj?width=640&height=640&mode=crop
I get the same error with all facebook cdn images I've tried. I have added domains to whitelist and it works with other remote images. Using imageprocessor.web version 4.6.4

Upgrade to the newly released 4.6.5, that correctly handles encoded urls and I've tested it against examples I've been given.
https://www.nuget.org/packages/ImageProcessor.Web/4.6.5
Let me know if you still have issues.

Thanks. I updated but still get the same error. Copy/Pasted the example path above into the browser. Do I need to urlencode some part of the path?

Please accept my apologies. I thought I'd managed to cover all potential urls with the fix for #478 but I was mistaken.
I've just pushed ImageProcessor .Web version 4.6.6 which I have successfully tested against your url.
This uses the value
<add url="external.xx.fbcdn.net/"/>

to security.config
Thank you for your perseverance, I really appreciate it.

No problem, thank you for the quick fix and also for a great job with ImageProcessor.

Now the URL in my first example works fine, but I'm very sorry to say there are more that don't work.. same error. A few examples:
/remote.axd?https://external.xx.fbcdn.net/safe_image.php?d=AQBgV2Q_yDUlNQKs&url=http%3A%2F%2Fresources.mynewsdesk.com%2Fimage%2Fupload%2Ft_open_graph_image%2Fdt1us8xdnvg0c89cvw7x.jpg?width=640&height=640&mode=crop
/remote.axd?https://external.xx.fbcdn.net/safe_image.php?d=AQDCcTPqv8CwPELI&url=http%3A%2F%2Fmedia.basetool.se%2FProductImage%2F232532%2F1005%2F3%2F383255%2F1024?width=640&height=640&mode=crop
/remote.axd?https://external.xx.fbcdn.net/safe_image.php?d=AQC1EQ3K-H1_Hzm5&url=https%3A%2F%2Fwww.facebook.com%2Fads%2Fimage%2F%3Fd%3DAQJXM8cUVeFoknqL1ybezGBvidYsVfL4LB0DdcNApWEfOCY1RajT0j29T60G44IZY7EEtG_K2hdJaXbTUh947Ci6Rn5gyYT_9YGv3yRC9etUbM0Sfrs-6XeVLiK5MqHqh5WY11V83lccne07v7zOzuZr?width=640&height=640&mode=crop

What's the error message? What generates these urls because they are mental.
To be honest this all seems back to front to me. Why move the burden of processing from Facebooks millions of servers to yours?

These image urls are generated when pulling data from the facebook graph api. The reason for resizing images locally is that the facebook proxy doesn't officially (or inofficially?) support requesting images in custom sizes.
Perhaps I could resolve this easier by writing my own ImageService and parse the strange urls myself?

Ok... That all makes sense. Thanks!
What we need to do is extract the url parsing code from the HttpModule into its own static class. That way we can unit test it properly. Unfortunately I'm going to be away for a couple of weeks far away from computers so I won't be able to do anything.
I'll reopen this issue and if you have the opportunity to open a PR that would be very much appreciated.

After some research it turns out this is not an issue with url parsing. Facebook returns a redirect response to "http://www.facebook.com/unsuportedbrowser" which ofcourse causes an "Input stream not a supported format" exception. The strange thing is that facebook does not always return this response. If you load the remote image url in your browser first and then request it with imageprocessor it works! But understanding the inner workings of facebook is not this issues goal.
I've made a pullrequest for adding a new settings called Useragent to the remoteimageservice. It's not perfect since you might want different useragents for different hosts. https://github.com/JimBobSquarePants/ImageProcessor/pull/490

Wow! That's really interesting to discover, thanks for investigating further.
I'll have a look at your PR when I'm back on a computer (been in Africa the last two weeks) and look to get it merged. What default useragent string did you use?

Ok, great. I've just the one from my current browser. http://www.useragentstring.com/

Fixed and released


en-NZ locale, values from windows locale settings

How is this different than the existing en-AU locale?

@ichernev - Is #2551 supposed to cover identical locales as well?  In this case, en-AU and en-NZ should both be handled by the en-AU file.

Its identical to AU

@mj1856 locale inheritance is intended for external use only. Today they are the same, tomorrow somebody will come with a patch to fix an obscure case. I think we supported aliases of locales some time ago, but not after the rewrite. This is fine.

Merged in bca1f3df881db059e80f8571a22e7dff197b042c


How to quantify reliability of workers?

In the dataset, we only have the assessment of the statements by experts as the ground truth. Based on this, one measure of worker reliability is the assessment error, which is the absolute difference between doc_ground_truth_value and overall_truthfulness_value. But not sure if this is the best way.

Note that this 'error score' would calculate the reliability on a specific statement. That is very useful to then compare in relationship with e.g. the text of the statement and the assesments of the different dimension.
For a specific worker, you could then look at the distribution of errors for that worker, because they usually assess multiple statements. Then you can look at the relationship between e.g. education level and average error.

Indeed, I tried out the mean squared error of assessment for a single worker yesterday and got some results.
My concern now, particularly regarding the IPM dataset, is that there is no way to evaluate the reliability of workers on different dimensions of assessment, since we don't have the ground truth data for that. However, as Davide suggested that specific dimensions may have a stronger correlation to the worker profile data than to the ground truth. Have no idea what the ontology that Davide is working on looks like, so not sure if all the future datasets will also include those dimensions of assessment.

The conclusion is that there is no way to validate workers' assessment on different dimensions, since we don't have the ground truth data for that. Instead, it would be nice to aggregate worker profile data on those dimensions and see if there is any patterns there.

Correct, that is a problem we have. In the paper, we looked at how to
combine the multiple dimensions in order to predict the only one for which
we had a ground truth. However, the quality dimensions are meant to
identify different aspects of quality, not necessarily correlated with
overall truthfulness. We are planning on collecting expert-provided
assessments on the dimensions but still, different experts with different
backgrounds might disagree on the ratings. This is still an open issue.
Il giorno gio 17 mar 2022 alle ore 10:26 Ji Qi @.***>
ha scritto:

Indeed, I tried out the mean squared error of assessment for a single
worker yesterday and got some results.
My concern now, particularly regarding the IPM dataset, is that there is
no way to evaluate the reliability of workers on different dimensions of
assessment, since we don't have the ground truth data for that. However, as
Davide suggested that specific dimensions may have a stronger correlation
to the worker profile data than to the ground truth. Have no idea what the
ontology that Davide is working on looks like, so not sure if all the
future datasets will also include those dimensions of assessment.
—
Reply to this email directly, view it on GitHub
https://github.com/EyeofBeholder-NLeSC/play-around-sample-set/issues/1#issuecomment-1070616517,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAL2IOPIVDY3GWM6MAPUQQ3VAL3F7ANCNFSM5Q4KIL5A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
.com>


False positive for TS2729 (use before initialization) with target = ESNext

Bug Report
Hello!
I've encountered this problem after updating my project to the latest TypeScript 4.3.2.
The bug looks similar to #37573.
💻 Code
script.ts
class Foo {

  constructor(private value) {
  }

  anotherValue = this.value;

}

tsconfig.json
{
  "compilerOptions": {
    "target": "ESNext"
  }
}

This happens only when using ESNext as a target. Using ES2020 works correctly. Could you also elaborate on the difference of these two settings?
🙁 Actual behavior
I'm getting an error: error TS2729: Property 'value' is used before its initialization.
🙂 Expected behavior
The code should compile just fine.

My project also use esnext as the target but I can not reproduce the error.

I have the same issue as @slavafomin when I upgraded to 4.3 in a project targetting esnext, es2020 solves it indeed!

After some investigation, I think this is an intended behavior.
Consider the following code:
class A {
  foo = this.bar;
  constructor(private bar: any) {}
}

A esnext target will compile it to the native class field.
And this is actually an error because bar is assigned to foo when it is not initialized.
// target: esnext
class A {
    bar;
    foo = this.bar;
    constructor(bar) {
        this.bar = bar;
    }
}

The es2020 target will use Object.defineProperty to compile the code, and rearrange the assignment order.
class A {
    constructor(bar) {
        Object.defineProperty(this, "bar", {
            enumerable: true,
            configurable: true,
            writable: true,
            value: bar
        });
        Object.defineProperty(this, "foo", {
            enumerable: true,
            configurable: true,
            writable: true,
            value: this.bar
        });
    }
}

=========
PS:

My project also use esnext as the target but I can not reproduce the error.

The reason is that I am using  "useDefineForClassFields": false in my project. It will produce the same output regardless of what the target is.
class A {
    constructor(bar) {
        this.bar = bar;
        this.foo = this.bar;
    }
}

@whzx5byb has it exactly right. The error is being issued exactly when a problem will occur.

This seems to be the PR that introduced the (expected) change in compiler behavior: https://github.com/microsoft/TypeScript/pull/43194

The es2020 target will use Object.defineProperty to compile the code, and rearrange the assignment order.

Except that, in your example, the assignment order is still exactly the same.

Can reproduce with playground, although now with es2020 the transpile does not have Object.defineProperty:
class Foo {
    constructor(value) {
        this.value = value;
        this.anotherValue = this.value;
    }
}
export {};

Bumped into this issue in https://github.com/homebridge/homebridge-plugin-template/blob/fe5bb73eee3efa007f137b9268e9a6c59b88d9ef/src/platform.ts#L12. There we have api being reported undefined.


Add an option to completely reset a MobiFlight board to Arduino stock state

The desired state is:

Erased EEPROM
Upload Blink Sketch

[Issue created by DocMoebiuz: 2017-02-19]
[Last updated on bitbucket: 2020-12-27]

Same like #566 ??

@pizman no it is not the same. The board will be reset completely to stock, not only the eeprom cleared and restored. The reset scenario is for the case when the config is corrupted. I think for the user it is OK to reset and then reupload the firmware.

@elral - I was thinking of having this as a special firmware instead of uploading two, simply clear the eeprom and then have it blink. So that not on every restart the board gets cleared. But I guess that is some weird probing?
Maybe reading the first byte and

if there is something, then clear everything, move to blink
if there is nothing, then just move on to the blink loop.

Should be an ease to extend my EEPROM clear sketch with the blink sequence. I am only unsure if checking the first byte of the EEPROM is sufficient or if there are some cases where this could be fail.
I can prepare this EEPROM clear in a separate repo and tansfer it after we have checked it.


Radio: 404 on the documentation

Describe the bug
Go to url => 404
To Reproduce
https://ui.black-kro.dev/components/radio

Currently in the process of rewriting the documentation for vite as I recently switched from webpack. Should be fixed sometime this week. Thanks for the report!


Support Lua style requires

Having support for requires similar to what standard Lua uses would be nice. I have an implementation that works well enough for my purposes here. This allows requires  to be in the form of "fu.bar" to which is similar to "./fu/bar.lua" with how the loader currently works. It isn't doesn't work exactly like Lua's package loader, but is a starting point that can be improved if this is something fengari-loader is going to support.

Adding my (delayed) reply from IRC:
The issue is that webpack does automatic node-js style resolution. If we add in Lua style resolution it still then does the node-js resolution on top and turns things into unwanted results.
I think the way to get Lua-style resolution is to modify your webpack config to add Lua search dirs and other Lua-y bits. Annoyingly it seems it has to go in the config, and can't be in a loader.

I'm trying to use the 'dependencies' option to work with a somewhat large code base (I assume dependencies are used to address this issue?)
Unfortunately I get "Can't resolve 'fengari-web'" when I try to define dependencies as a map of requires strings to files paths (which is how I assume it's to be used).
Is there an example of how dependencies are supposed to work?

Unfortunately I get "Can't resolve 'fengari-web'" when I try to define dependencies as a map of requires strings to files paths (which is how I assume it's to be used).

Do you have an example snippet that gives this error?

I think the more appropriate way to solve this issue is to separate a JS require from a Lua require. Their styles are far too different to mix the two and using JS imports to import Lua breaks basically any existing platform-independent Lua code people have.

I need to put together a test case, but in my  issue was with using symlinks to my code base.
Either webpack or fengari is expanding and using the symlink's original path and that was breaking how requires works.
As an example:
File symlink
mycode -> /some/other/path/mycode
Webpack 'dependencies' for loader.
dependencies = {
  'mycode.myclass' => './mycode/myclass.lua'
}

Require:
local myclass = require('mycode.myclass')
Resulting error:
Can't resolve 'fengari-web' in '/some/other/path/mycode/myclass.lua'


Old removed files seem to stay cached in reports

Expected Behavior

no report for old, non-existing file (project.js)

Observed Behavior

report shows coverage for non-existent file

🛰  counsel$ yarn test
yarn test v1.0.0-20170807.1537
$ nyc ava test/**/*.test.js && nyc report --reporter=lcov

  8 passed
------------|----------|----------|----------|----------|----------------|
File        |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
------------|----------|----------|----------|----------|----------------|
All files   |    69.66 |    48.68 |    70.97 |    68.29 |                |
 Counsel.js |      100 |     92.5 |      100 |      100 |    271,272,275 |
 Project.js |    24.24 |        0 |       20 |       25 |... 74,75,77,78 |
 logger.js  |      100 |      100 |      100 |      100 |                |
 project.js |    12.12 |        0 |        0 |     12.5 |... 74,75,77,78 |  # <== was renamed to `Project.js`
------------|----------|----------|----------|----------|----------------|
✨  Done in 4.15s.

rm -rf coverage .nyc_output has no effect pre-yarn test
🛰  counsel$ find . | grep project.js produces nada
renaming the Project.js to anything else (and updating the code to point to it) resolves the issue
reverting the rename procedure above resumes the failure

Bonus Points! Code (or Repository) that Reproduces Issue

i built one repo... but it's not reproducing yet.  i'm not sure why?

i'm observing the issue on this project+branch in packages/counsel (monorepo).  I did completely erase the project from disk, yarn && yarn bootstrap in the root, then yarn test in packages/counsel, and it reproduced for me.
Forensic Information
Operating System: osx, sierra
Environment Information:
...i'm using yarn workspaces, so the script doesn't really create a fair report!, but, i did output yarn list here!
v8.3.0
5.3.0
(yarn 1.0.0-20170807.1537)

@cdaringe hey 👋 my guess would be their's content in node_modules/.cache/nyc/.cache that references the old file -- this sounds like it might be a bug though, it should certainly bust the cache when a file no longer exists (I wonder if workspaces might somehow be interfering).
Try rm -rf node_modules/.cache/nyc/.cache

greetings!
indeed, the cache is there (<root>/packages/counsel/node_modules/.cache), and not in <root>/node_modules/.cache.  clearing the cache doesn't resolve it.  the fact that i rm -rf'd my whole project, re-cloned the source, and the issue still happened, im wondering it there are other caches on disk used?

a hint, but not the key, is that I had a require statement that still looked like require('./project') vs require('./Project').  it as though the report uses the value parsed from the require statement vs the actual resolved file basename.

Oh interesting, I wouldn't be shocked by this. Did things work as expected when you switched to ./project?

IIRC, fixing the require statement to match the updated file casing of Project.js did not resolve the issue

I know this isn't super actionable without a reproducible thing.  As noted above I did try to repo and I cannot.  That's why I was wondering if there was any other caching at play?  If you think there are some things you could check that would be rad.  If not and you care to close the issue, I understand too.  Thx!

@cdaringe sorry for the slow reply, have a limited amount of time to put in OSS recently. Is this issue still happening to you; one thing worth trying would be to run nyc with --no-cache, this will cause all the caches to be ignored during the test run.
If it continues happening, I would definitely be interested if you could figure out a small reproduction in a repo you could share -- this always makes hunting down a bug easier.

I'll reopen when i hit it again :). Thx!

I've run into this several times with TypeScript due to ts-node's caching. Running with TS_NODE_CACHE=false works around the problem, but of course it's way too slow. I was able to fix the issue by removing the cache directory, which by default is somewhere in a temp directory. The root of the temp directory is whatever os.tmpDir() gives you, and the ts-node cache will be a directory prefixed with ts-node- and then SHA hex hash

For me I deleted the dist or build file generated by typescript and recompiled typescript. When I deleted a ts file, it did not get deleted automatically in the dist folder (or build depending on your case)


fix(SDK): AccountID should be used as global param

:tada: This PR is included in version 0.0.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


BlazorMobile rocks for LOB apps. Looking for best dev & testing start-up project

Your BlazorMobile project is amazing!

Everything "just works" like magic to create offline apps (with Sqlite, etc..) on EVERY platform   (no Sega Dreamcast support?!)
PLEASE keep going!!   (not sure why more devs don't know about this)

Questions & notes...

Need fastest way to build & modify code
I tested every project type and here are the results:

Note: Added "Echo" for 2-way testing
public async Task<string> Echo(string s) { return s; }  IXamarinBridge { Task<string> Echo(string s); } // on interface echoResponse = await XamarinBridge.Echo("Echo from .Blazor"); } // on screen
.Desktop (electron)
Pros

Cross communications works
"DisplayAlert" does not launch anything BUT "Echo" returned resultConsole
Logging works

Cons

Very slow startup
Does not hit breakpoints on XamarinBridge
No Chrome Dev Tools

.UWP
Pros

Very fast startup
Breakpoints hit

Cons

No Chrome Dev Tools
Blazor to Server needs 2 clicks to work (maybe bug)

one click needed to hit breakpoint

two clicks needed to actually change the GUI

.Server (web)
Pros

Super-Fast startup
Chrome Dev Tools

Cons

Blazor-to App-doesn't seem to work
WebSocket connection to 'ws://<IP_ADDRESS>:5080/contextBridge' failed: Error during WebSocket handshake: Unexpected response code: 200  BlazorMobile: Socket error: { "isTrusted": true }

Server is my preference if bridge connection can be fixed

probably me, I'm not "techy" :)

This is productivity heaven for every LOB offline developer! Thank you!!!

On UWP,
As mentioned, on the "BlazorMobile" page, the Echo(string s) call to XamarinBridge does not return a result the first click but cool afterwards.  Interestingly, if I leave and come back to the page, the error happens again but also again, just once then good.
UWP is fast enough to develop with. With chrome tools and this click-twice error solved, just about perfect!

Hi @JordanRavka !
Thanks for your messages !
I was very busy today, so i will take a look to your questions and answers tomorrow !
Regards

I just can't believe the work you put into this! I build very large lob systems (100's of app pages, cloud architecture, etc..) and am migrating away from SPA (Knockout) & c# back-end.
With your system, I have a whole new resume :)

Your BlazorMobile project is amazing!

Thanks a lot ! I put a lot of passion while developping this ecosystem.

* Everything "just works" like magic to create offline apps (with Sqlite, etc..) on EVERY platform   (no Sega Dreamcast support?!)

This was one of the main goal, as i think nowadays, app developpement should focusing on something like "write once, run everywhere". I know that some people may not agree with that, but i think this is more true than before when dealing with Web technologies, as the web is for me the Universal UI/UX ecosystem.
Having strong typed langages like C# (or i imagine any .NET CLR) in the web browser, for developping your Business logic is the "Cherry on the cake", and being able to discuss with the native side in the same language is like a "second cherry" !
So also, thanks to Xamarin/Mono team and Microsoft for all their respective work !
Keep in mind that every platform that can deal with WebAssembly in the Web browser should be able to use BlazorMobile or Blazor only as PWA (not a scenario i have yet managed specifically, but this is not something blocking !).
That's also why the Android BlazorMobile packages does embed a GeckoView engine. This is in order to have the same browser and WebAssembly support on all Android versions, from 4.4 to latest.

* PLEASE keep going!!   (not sure why more devs don't know about this)

I think it's also because i'm not advertising this project globally, i'm not fond about bragging "what i know" "what i do", i prefer to dedicate my time on what is essential in life, and being popular is not a priority at all.
Oddly, Blazor Desktop support with ElectronNET has been advertised through some Microsoft videos, and also Blazor Native Bindings support (a Blazor developement style with Xamarin.Forms), but this project not specifically. But i suppose that Microsoft is more interested in promoting their own products first, and this is fair, even if this project is derivated from their own products (Blazor and Xamarin).
I keep going, but i slowed down a little, as i'm less working lately, and also because the core functionnalities of BlazorMobile are present in my opinion.
But feel free to advertise or doing some video about BlazorMobile if you like it a lot, i would be very happy !

Questions & notes...
* Need **fastest way to build & modify code**

How are you testing your projects when building / testing ?
Because of course you can just click on "Debug" and launch the full app build / deploy, but the fastest way in the long run in my opinion, is to:

Launch your "Native" project side-loaded without debugger, but with Debug functionnalities enabled in code in order to allow external communication
Launch your "Server" project WITH debugger and configure it to connect to your Native device at boot.

This way, you only launch and debug the Blazor server-side version from your computer web browser, and you can access breakpoints from Visual Studio. Any interactions to native will be transfered to your Device if you configured the remote debugging correctly.
So the debugging and test experience is very fast in my opinion.
The main downside of all that is:

The server-side version as some differents behavior than WASM version when debugging, as it has some issue when crashing when doing JSInterop, but this issue is not related directly to BlazorMobile. But note that you can also use the Blazor WASM version to connect to your native device when debugging from your web browser, you will only be limited on the Debugging features offered by Microsoft (but you may take a look at this, things may have improved on Microsoft side).

If your native app is opened and your debugging web browser tab, when doing some test, in some case you may receive some events twice (or having some weird behavior of this nature) because the Websocket server running on your mobile native device may receive events from two different source (localhost and your remote dev computer), and will then answer to all connected clients instead of the client origin, as i don't have set any filter for this kind of technical scenario.

But normally this should only happen while having a debugging experience remotely, feel free to send me a repro project if you think you are having another issue not related to this, if you think this is a bug.

* I tested every project type and here are the results:

Note: Added "Echo" for 2-way testing
public async Task<string> Echo(string s) { return s; } IXamarinBridge { Task<string> Echo(string s); } // on interface echoResponse = await XamarinBridge.Echo("Echo from .Blazor"); } // on screen

If you have any doubt about anything with the API, you may try to fork the BlazorMobile source code and launch the "InteropApp" projects in source code.
Theses projects are like the "Playground" project for me in order to test that API calls are working, and if i have to write specific page for test and workarounding issues on specifics platforms.
In my opinion, it would be clever to add some of the InteropApp project tests/examples to the BlazorMobile.Templates, but i don't have yet taken the time to schedule this nor writing a GitHub issue in order to to this.

.Desktop (electron)
Pros
* Cross communications works

* "DisplayAlert" does not launch anything BUT "Echo" returned resultConsole

On wich version of BlazorMobile did you have this issue on DisplayAlert ?
The latest version is using ElectronNET 7.x and the previous one ElectronNET 5.x.
I have managed to write a "fake" (meaning not fully compliant / finished) Xamarin.Forms API for ElectronNET, and DisplayAlert was one of the basic things i have managed to deal with.
So if it's not working to day, it would be interesting to know if you have it from scratch from templates, and if so, wich version of BlazorMobile / Electron ?
Otherwise, it was intended to work.

* Logging works

Cons
* Very slow startup

Yes, but this behavior is related to the current ElectronNET API way to deploy app. I don't have control on this.

* Does not hit breakpoints on XamarinBridge

I don't have written doc about this issue (sorry for that) but you CAN hit breakpoints on XamarinBridge with ElectronNET.
The only difference, because of the way ElectronNET is launching, is that you have to Attach debugger to the ElectronNET created process for your app.
This mean that when your app is fully launched with ElectronNET, you will have to attach to the right process, the debugger. On my computer, if my memory is right, it should be CTRL+ALT+P, or just go to the Debug -> Attach to Process menu.
Then everything should be debuggable.

* No Chrome Dev Tools

On ElectronNET, you should be able to open them in the last menu. There is something like "Open Developer Tools".

.UWP
Pros
* Very fast startup

This is my preference for Debugging experience !

* Breakpoints hit

Cons
* No Chrome Dev Tools

* Blazor to Server needs 2 clicks to work (maybe bug)

* * one click needed to hit breakpoint

* * two clicks needed to actually change the GUI

I don't have this behavior, can you send me a repro project ?
Otherwise, you can't have Dev Tools on it. Also UWP Web Browser debugging feature is lacking on VS2019, thanks to Microsoft to have removed some support on that.
If you launch the Debugging on UWP with VS2017 instead (beware: Blazor project cannot build by itself on VS2017), you will be able to access some of the UWP Browser debugging experience, many being able to open the Javascript and Console windows from the UWP Browser, in Visual Studio. Keep in mind that UWP may crash in Debug with VS2017 at startup...I can't do anything about that if it occur.
That's why in my opinion, the best way to have fast development and Chrome Dev Tools while debugging, is to use Remote debugging with your Computer, as i have mentionned. With UWP you will have to disable Network isolation to do that also.
See Device remote debugging & Debugging from NET Core 3.0 .
In this same doc, this specifically for UWP:

Additional configuration for UWP
On UWP, because of the NetworkIsolation behavior, you cannot connect by default from your PC to the UWP app.
You must execute this command in background during development in order to allow incoming remote connection, and so remote debugging, in your UWP app:
CheckNetIsolation loopbackexempt -is -n=YourUWPPackageFamilyName

Of course, replace YourUWPPackageFamilyName by your package name on UWP. You can find it in the Packages tab of your Package.appxmanifest, at the end.

See also these notes about UWP:

My Xamarin services are not found when interoping in UWP
Cannot connect to a remote webserver on UWP
Unable to connect to UWP remotely even with NetworkIsolation disabled

.Server (web)
Pros
* Super-Fast startup

* Chrome Dev Tools

Cons
* Blazor-to App-doesn't seem to work

* WebSocket connection to 'ws://<IP_ADDRESS>:5080/contextBridge' failed: Error during WebSocket handshake: Unexpected response code: 200  BlazorMobile: Socket error: { "isTrusted": true }

Server is my preference if bridge connection can be fixed
* probably me, I'm not "techy" :)

As you said, this scenario is the best for fast iteration on Native app, with Blazor C# debug support during debug session.

Is Remote debugging enabled on your Native project ?
Is the port the same on your Blazor Server / Blazor WASM project and your Native project ?
Is the IP Address written in your Blazor Server / Blazor WASM project pointing to your native app embedding your Blazor app ?

At the moment, IP Address for remote debugging is hardcoded at build time (not using a configuration file), so you have to manage to get your device IP on your network, and set it in the Blazor Web project in BlazorMobileService.EnableClientToDeviceRemoteDebugging() (you may have to set that on the .Blazor.Server and .Blazor project depending if you want to test them both with remote debugging), same for the port that should be the set the same, see in your shared Xamarin project (the project with the shortest name):
#if DEBUG
            WebApplicationFactory.EnableDebugFeatures();
#endif
            WebApplicationFactory.SetHttpPort(8888);

But take a look at the BlazorMobile documentation, i'm pretty sure that some if your issues are covered in it.

This is productivity heaven for every LOB offline developer! Thank you!!!

Thanks again ! I'm pretty happy about this.
Feel free to contribute, comment, or add any questions.
Regards,
Guillaume

I just can't believe the work you put into this! I build very large lob systems (100's of app pages, cloud architecture, etc..) and am migrating away from SPA (Knockout) & c# back-end.
With your system, I have a whole new resume :)

I'm very pleased about that !
If you have any public projects (not specifically open-sourced) that you wish to migrate to Blazor & BlazorMobile in order to support Mobile and Desktop, feel free to share them with me, as it would be also a good advertising for this project too, as i can't yet disclose the project i'm working on with a Client.

Juste an additionnal note, if you only want to support Blazor with Desktop (ElectronNET), BlazorMobile is not mandatory, as this is possible to launch Blazor in server-side mode with ElectronNET with very few things to configure.
You would be able to also communicate with "Native" as you would be able to reference Native and Blazor project together in the same assembly, so some things are faster to write and do, i mean, initially.
This is just a note. If you need to have to manage the same app working on different systems, ElectronNET (Desktop) & iOS, Android, UWP (Mobile), then i advise you to use the BlazorMobile interaction model.

I am so sorry.
I have "Chronic Fatigue Syndrome" which means if lucky, my brain works 20 minutes a day. This helps explain my relentless devotion to productivity and my excitement surrounding your work.
Please give me a day or 2 to properly answer your questions with the respect deserved. I will post bits & pieces asap.

No problem, take your time !

My apologies. This is the first time my brain can respond, Still don't know why I am constantly fired :)
Few things:
1. Please consider changing your name
Your not just mobile, your "BlazorOnEverything". Plus looks like google / MS took over "BlazorMobile".. again, weird they don't know about you.
2. Your 100% right about testing.
Please ignore everything I mentioned. I am actually going to connect UI / App using a WebSocket. This disconnect is a bit of a pain but ensures every scenario works (including web)... plus, I am not techie and I get it :)
There is so much more I want to say but my brain shut's down in 20 min and need to code :)
I am proceeding ahead knowing your blazor-on-everything solution will get me to the finish line and forever grateful!

I'm still the fourth result on Google for "Blazor Mobile". I think BlazorMobile is still a good name, as the chances that people are looking for Blazor + Mobile in search are higher than something else.

In my opinion, the Microsoft press is putting some ambiguities on what they are releasing, as Blazor in developer mind is more about "Web + C# + Razor" rather than something else. I understand that when they say "we are releasing Blazor on mobile" they are just talking about the Blazor programming metamodel / annotations.
I still think their work is excellent, but we are just swimming in some technical ambiguities in the press.
However the current official Microsoft repo is not ambiguous, as the name is MobileBlazorBindings.
And in my opinion, their project is great, as they are integrating their own bricks into the Xamarin engine, this mean you could use Blazor (Native) and Blazor (HTML) both in the same app ! Of course, not mixed together, but this could work hand in hand.
They actually know about this project, at least some people, as i discussed with Daniel Roth some month ago (https://github.com/danroth27) , from Microsoft, and he is a very cool guy !
I think they are taking the right direction, Mobile Blazor Bindings is more about creating a new programming model on the Native side, so it's something new. Same, i have read from Steve Sanderson on the web that they are thinking about creating their own Desktop Web renderer "brick" instead of using an heavy ElectronNET app for Blazor.
But at the same time, BlazorMobile is here for fast iteration and bootstrapping new projects. I think it's a very good thing for a consistant UI or if you want to startup / bootstrap your own business very fast. It leave the choice to migrate to something else in the future, but starting with something from day 1 on Web + Mobile + Desktop.
The result is end to yourself then.

If you have any issues, please tell me. As i said before, for fast developement pace, generally i test and debug everything in Chrome or Firefox directly, just keeping the good IP/Port settings on a background app (i'm using UWP personnally, so set to <IP_ADDRESS> with NetworkIsolation disabled).

This way i can launch debug sessions rapidly, and only have to stop and restart the UWP app only if i have written new code on the native side. The Blazor side can be redeployed at any moment without any Native rebuild / restart as they are two distinct projects when executed. And as said before, i'm using the .Server project, in order to set breakpoint and inspect while debugging.
Happy coding !


bookxnote-pro: init at <IP_ADDRESS>2

Description of changes
Closes: https://github.com/NixOS/nixpkgs/issues/249882
This PR adds 1 package: bookxnote-pro
This is proprietary software, so NIXPKGS_ALLOW_UNFREE=1 is needed to run.
The software is in Chinese and I don't speak Chinese, so it was really difficult to test, but it seemed to work. If you know how to use the software, please, tell us whether it's working as expected.
The original .deb package had a lot of .so files packaged, but I could replace them with the nix-built libraries without issue, so, in the install phase, I only copy the non-.so files.
The package was built for ubuntu_amd64 so I think it will only run on x86_64-linux.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Maybe someone else can do this, then


Additions to Odysee rebase

Hardcoding colors for now.  Open to suggestions on how to get it programmatically.  I tried getComputedStyle, but that seems inefficient for something simple.
Fixed compile error (but not sure why it worked on Alice).

UPDATE

Removed the hardcoded change to avoid conflict.  We'll get the colors from env automatically when rebased to master
[ ] Add LOADING_BAR_COLOR=#e50054 to Odysee env.


I checkout to MXNet@(commit 62ecb60),then compile mxnet error,but when i dont checkout to MXNet@(commit 62ecb60),compile successfully!!

First,I clone mxnet ,if I compile,it's ok
But when i try to checkout to MXNet@(commit 62ecb60) by git checkout 62ecb60
And I compile again,it fails!!!
Environment info
Operating System:CentOS release 6.5
Package used (Python/R/Scala/Julia):python
Python version and distribution:python2.7
Error Message:
In file included from src/operator/custom/ndarray_op.cc:7:0:
src/operator/custom/./ndarray_op-inl.h: 在成员函数‘virtual bool mxnet::op::NDArrayOpProp::InferShape(std::vectornnvm::TShape, std::vectornnvm::TShape, std::vectornnvm::TShape) const’中:
src/operator/custom/./ndarray_op-inl.h:116:36: 错误：对‘std::vector<unsigned int>::push_back(nnvm::dim_t*)’的调用没有匹配的函数
shapes.push_back(iter->data());
^
src/operator/custom/./ndarray_op-inl.h:116:36: 附注：备选是：
In file included from /data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/vector:64:0,
from /data1/NLPRMNT/fujun/tianhj/test_mxnet/mxnet/dmlc-core/include/dmlc/logging.h:13,
from src/operator/custom/./ndarray_op-inl.h:10,
from src/operator/custom/ndarray_op.cc:7:
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(const value_type& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int* const&’
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(value_type&& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int*&&’
In file included from src/operator/custom/custom.cc:7:0:
src/operator/custom/./custom-inl.h: 在成员函数‘virtual bool mxnet::op::CustomOpProp::InferShape(std::vectornnvm::TShape, std::vectornnvm::TShape, std::vectornnvm::TShape) const’中:
src/operator/custom/./custom-inl.h:190:36: 错误：对‘std::vector<unsigned int>::push_back(nnvm::dim_t*)’的调用没有匹配的函数
shapes.push_back(iter->data());
^
src/operator/custom/./custom-inl.h:190:36: 附注：备选是：
In file included from /data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/vector:64:0,
from /data1/NLPRMNT/fujun/tianhj/test_mxnet/mxnet/dmlc-core/include/dmlc/logging.h:13,
from src/operator/custom/./custom-inl.h:10,
from src/operator/custom/custom.cc:7:
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(const value_type& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int* const&’
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(value_type&& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int*&&’
In file included from src/operator/custom/native_op.cc:7:0:
src/operator/custom/./native_op-inl.h: 在成员函数‘virtual bool mxnet::op::NativeOpProp::InferShape(std::vectornnvm::TShape, std::vectornnvm::TShape, std::vectornnvm::TShape) const’中:
src/operator/custom/./native_op-inl.h:204:36: 错误：对‘std::vector<unsigned int>::push_back(nnvm::dim_t*)’的调用没有匹配的函数
shapes.push_back(iter->data());
^
src/operator/custom/./native_op-inl.h:204:36: 附注：备选是：
In file included from /data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/vector:64:0,
from /data1/NLPRMNT/fujun/tianhj/test_mxnet/mxnet/dmlc-core/include/dmlc/logging.h:13,
from src/operator/custom/./native_op-inl.h:10,
from src/operator/custom/native_op.cc:7:
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(const value_type& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int* const&’
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(value_type&& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int*&&’
src/operator/custom/custom.cc: 在成员函数‘virtual mxnet::Operator* mxnet::op::CustomOpProp::CreateOperatorEx(mxnet::Context, std::vectornnvm::TShape, std::vector) const’中:
src/operator/custom/custom.cc:166:34: 错误：对‘std::vector<unsigned int*>::push_back(nnvm::dim_t*)’的调用没有匹配的函数
shapes.push_back(iter->data());
^
src/operator/custom/custom.cc:166:34: 附注：备选是：
In file included from /data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/vector:64:0,
from /data1/NLPRMNT/fujun/tianhj/test_mxnet/mxnet/dmlc-core/include/dmlc/logging.h:13,
from src/operator/custom/./custom-inl.h:10,
from src/operator/custom/custom.cc:7:
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(const value_type& __x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:901:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int* const&’
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = unsigned int*; _Alloc = std::allocator<unsigned int*>; std::vector<_Tp, _Alloc>::value_type = unsigned int*]
push_back(value_type&& _x)
^
/data1/NLPRMNT/fujun/local/gcc-4.8.4/include/c++/4.8.4/bits/stl_vector.h:919:7: 附注：  no known conversion for argument 1 from ‘nnvm::dim_t* {aka long int*}’ to ‘unsigned int*&&’
In file included from src/operator/custom/native_op.cc:7:0:
src/operator/custom/./native_op-inl.h: In instantiation of ‘void mxnet::op::NativeOp::SyncVec(const std::vectormxnet::TBlob&, const string&, mshadow::Stream, int) [with xpu = mshadow::cpu; std::string = std::basic_string]’:
src/operator/custom/native_op.cc:27:1:   required from here
src/operator/custom/./native_op-inl.h:146:66: 错误：从类型‘const dim_t {aka const long int*}’到类型‘mxnet::index_t* {aka unsigned int*}’中的 const_cast 无效
shapes.push_back(const_cast<index_t*>(vec[i].shape.data()));
^
make: *** [build/src/operator/custom/native_op.o] 错误 1
make: *** 正在等待未完成的任务....
make: *** [build/src/operator/custom/custom.o] 错误 1
make: *** [build/src/operator/custom/ndarray_op.o] 错误 1
Minimum reproducible example
if you are using your own code, please provide a short script that reproduces the error.
Steps to reproduce
or if you are running standard examples, please provide the commands you have run that lead to the error.

What have you tried to solve it?

There is a issue to checkout an old version of MXNet du to a change in the Cub Module.
You can try this : https://github.com/apache/incubator-mxnet/issues/6891

Hi, @edmBernard  Actually,when i use git checkout 62ecb60,i got
M	cub
M	dmlc-core
M	mshadow
M	nnvm
HEAD is now at 62ecb60... Add 'argnum' for autograd (#5787)
it seems that mxnet is at 62ecb60
Then i use git submodule update,i got
fatal: reference is not a tree: 89de7ab20167909bc2c4f8acd397671c47cf3c0d
Unable to checkout '89de7ab20167909bc2c4f8acd397671c47cf3c0d' in submodule path 'cub'
it seems git submodule update doesn't work!And I think the problem might be here

yeah try the method in this issue : https://github.com/apache/incubator-mxnet/issues/6891.
that allow to correctly ckeckout before the cub change

@edmBernard Thank you for your attention!!I find a solution at stackoverflow,now,it seems everything is ok now.... The main reason for this problem is that i cannot fully understand what git submodule do...Anyway,thanks again!!

Mxnet change Cub repository from NVLab to dmlc because there is a size issue on official history.
now cub -> dmlc/cub
before cub -> NVLAB/cub
when you clone you are on  dmlc/cub repository. if you try to checkout to 89de7ab this hash don't exist on the dmlc/cub repository. It's a hash from NVLAB/cub so it fail.

@edmBernard Yeah,it's help for me!
cool!!Thanks!