Allow randInt to accept a seeded random object

It would be nice if randInt could take a seeded random generator to produce the random int. Maybe randInt(min, max, seed = Math.random)?

Instead of allowing randInt to take the seeded random number, I think the seedRand should be reworked to have a randInt function in conjunction to saving/loading the seed.

Hello straker
Is "seedRand"  may be transform into a class with some functionnality ? (load/save seed, randInt, randFloat, bias parameter...)
Or do you think it must be still a function to preserve compatibility ?

My current line of thinking is to rework the function and turn it into an object with properties (not so much a class). Similar to what I did in my js13k game from last year. I haven't thought much about it though, so that could very well change when I start to do the work.


🐛 Fix broken srcset links when using hugo with --minify option

HTML code generated by templates layouts/_default/single.html and layouts/partials/article-link.html caused missing space between the image link and the associated intrinsic width (e.g. ...box.jpg1024w instead of ...box.jpg 1024w) if hugo was used with the --minify option.
Also updated layouts/_default/_markup/render-image.html and layouts/shortcodes/figure.html to not cause line breaks in the srcset markup.

Thanks for this fix, @uschmidt83! I'm happy to accept this change and will merge it in now.


Need more explanation for API

need more explanation on api for local weather app.How to access an api and receive information.

We will not give lessons on specific JSON APIs. That is what the API docs are for.
Thanks and happy coding!


valgrind Disable ld-linux strlen checks

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[X ] The toolchain has been rebuilt successfully (or no changes were made to it)
[X] The toolchain/worker package manifests are up-to-date
[X] Any updated packages successfully build (or no packages were changed)
[X] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[X] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[X] All package sources are available
[X] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[X] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[X] All source files have up-to-date hashes in the *.signatures.json files
[X] sudo make go-tidy-all and sudo make go-test-coverage pass
[X] Documentation has been updated to match any changes to the build system
[X] Ready to merge

Summary

What does the PR accomplish, why was it needed?
the valgrind binary does not work on Mariner, disable strleng checks to get it to work
Change Log

Added a patch to remove strlng checks on valgrind start

Does this affect the toolchain?

NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXX

Test Methodology

Built package

INFO[0000][scheduler] Building 13 nodes with 16 workers
INFO[0000][scheduler] Building: valgrind-3.22.0-3.cm2.src.rpm
INFO[0157][scheduler] Built: valgrind-3.22.0-3.cm2.src.rpm -> [/home/azaugg/CBL-Mariner/out/RPMS/x86_64/valgrind-3.22.0-3.cm2.x86_64.rpm /home/azaugg/CBL-Mariner/out/RPMS/x86_64/valgrind-debuginfo-3.22.0-3.cm2.x86_64.rpm]
INFO[0157][scheduler] 0 currently active build(s): [].
INFO[0157][scheduler] All packages built
INFO[0158][scheduler] ---------------------------
INFO[0158][scheduler] --------- Summary ---------
INFO[0158][scheduler] ---------------------------
INFO[0158][scheduler] Number of prebuilt SRPMs:           0
INFO[0158][scheduler] Number of prebuilt delta SRPMs:     0
INFO[0158][scheduler] Number of skipped SRPMs tests:      0
INFO[0158][scheduler] Number of built SRPMs:              1
INFO[0158][scheduler] Number of passed SRPMs tests:       0
INFO[0158][scheduler] Number of unresolved dependencies:  0
INFO[0158][scheduler] Number of blocked SRPMs:            0
INFO[0158][scheduler] Number of blocked SRPMs tests:      0
INFO[0158][scheduler] Number of failed SRPMs:             0
INFO[0158][scheduler] Number of failed SRPMs tests:       0
INFO[0158][scheduler] Number of toolchain RPM conflicts:  0
INFO[0158][scheduler] Number of toolchain SRPM conflicts: 0
INFO[0158][scheduler] Built SRPMs:
INFO[0158][scheduler] --> valgrind-3.22.0-3.cm2.src.rpm
INFO[0158][scheduler] ---------------------------
INFO[0158][scheduler] --------- Summary ---------
INFO[0158][scheduler] ---------------------------
INFO[0158][scheduler] Number of prebuilt SRPMs:           0
INFO[0158][scheduler] Number of prebuilt delta SRPMs:     0
INFO[0158][scheduler] Number of skipped SRPMs tests:      0
INFO[0158][scheduler] Number of built SRPMs:              1
INFO[0158][scheduler] Number of passed SRPMs tests:       0
INFO[0158][scheduler] Number of unresolved dependencies:  0
INFO[0158][scheduler] Number of blocked SRPMs:            0
INFO[0158][scheduler] Number of blocked SRPMs tests:      0
INFO[0158][scheduler] Number of failed SRPMs:             0
INFO[0158][scheduler] Number of failed SRPMs tests:       0
INFO[0158][scheduler] Number of toolchain RPM conflicts:  0
INFO[0158][scheduler] Number of toolchain SRPM conflicts: 0
INFO[0158][scheduler] Writing DOT graph to /home/azaugg/CBL-Mariner/build/pkg_artifacts/built_graph.dot
INFO[0158][scheduler] Waiting for outstanding processes to be created
Finished updating /home/azaugg/CBL-Mariner/out/RPMS

Ran new binary

azaugg@azaugg-ld1 [ ~/CBL-Mariner/toolkit ] [ main ] $ valgrind ls
==773866== Memcheck, a memory error detector
==773866== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==773866== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==773866== Command: ls
==773866==
Makefile  README.md  docs  imageconfigs  out  resources  scripts  tools
==773866==
==773866== HEAP SUMMARY:
==773866==     in use at exit: 21,969 bytes in 15 blocks
==773866==   total heap usage: 24 allocs, 9 frees, 57,503 bytes allocated
==773866==
==773866== LEAK SUMMARY:
==773866==    definitely lost: 0 bytes in 0 blocks
==773866==    indirectly lost: 0 bytes in 0 blocks
==773866==      possibly lost: 0 bytes in 0 blocks
==773866==    still reachable: 21,969 bytes in 15 blocks
==773866==         suppressed: 0 bytes in 0 blocks
==773866== Rerun with --leak-check=full to see details of leaked memory
==773866==
==773866== For lists of detected and suppressed errors, rerun with: -s
==773866== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

For more context: right now valgrind in azure linux is broken entirely as it can't be installed since it has a requirement on glibc-debuginfo which we don't produce. We validated valgrind works with this PR


Index starting with a number causes "<identifier 0> expected, got 'x'" error

If the index names is starting with a number, like 0_my_index, the following error prevents request execution:
<identifier 0> expected, got '0'

Got it, I will fix the parser issue in next version, will release in this week.

Thanks !


Limit amout of logs we keep in memory

We need to limit the amount of logs we keep in memory to avoid using a lot of memory, I think we should use some kind of data structure like a circular list (We probably need to implement that, and that will be cool to do :))

Done


Extension - Improve the staking reward information retrieval

Describe the task
Improve the staking reward information retrieval:

Chery pick issue https://github.com/Koniverse/SubWallet-Extension/issues/3322

Version test :

http://<IP_ADDRESS>:8900/s/HwwM4M2kjN57LNs
(Firefox): http://<IP_ADDRESS>:8900/s/jxLAac4MHZpZPnZ

Validation passed in case :

Install/Update version
Attach account ( All account mode, Specific account mode)
Import account ( All account mode, Specific account mode)
Remove account
Enable/Disable network
Reset wallet
Perform earning actions

Since this issue cannot be reproduced on the extension, please double-check the code @nampc1


[Crash]

Crash dump
https://crash.pmmp.io/view/6326703

Steps to reproduce
if netherite ingots are used in a recipe it will cause a crash

or any netherite item added with a seperate plugin

I think because Mineflow doesnt support plugins that add Netherite.

Are there any plans to support netherite in future?

INetherite does not add item mappings with numeric ids, so try string ids like netherite_ingot instead.

INether does not add item mappings with numeric ids, so try string ids like netherite_ingot instead.

it worked
thanks

this suddenly stopped working


Version updates

Description

Adds .Net 9 support to all libs.
Updates System.Text.Json to v9.
Updates all test projects from .Net 6/8 to .Net 8/9.

.Net 6 was being used to test the .Net Standard 2.0 version of the libs, but that has dropped out of support now.  I tried adding .Net Framework, but there were several issues (example), and I decided to simply leave it untested.  The libs continue to publish as .Net Standard to provide some support for .Net Framework, but I provide no guarantees.  I figure that usage will be edge case anyway.

Fixes #821 by adding support for (and testing) nodelist functions as an existence check.
Remove obsolete JsonPath.PathResult.Errors: Evaluation of a valid path never returns errors (per spec)

Major bump for JsonPath.Net and JsonSchema.Data

Links

Resolves #821
Checks

[x] I have read and understand the Code of Conduct and Contribution Guidelines.

I think just all the release notes, then this can go.


Console-Write does not exist

caused dnvm use default -p failures

/cc @troydai

@dougbu the actual source of dnvm.ps1 is here https://github.com/aspnet/dotnetsdk/tree/dev/src. The fix should be done over there and bring back here.
The fix itself looks good. Thanks.

Move to dotnetsdk repo and :shipit:

Pushed as aspnet/dotnetsdk@0388cd0
/cc @troydai could you copy this to aspnet/Universe please?

Yes, will do.


libjack2-git: 2015-09-03 -> 2016-08-18

Motivation for this change
Things done

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

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Could you update the name here to follow with the package naming guidelines.
The attribute in all-packages.nix would become libjack2Unstable and the name attribute ${prefix}jack2-unstable-2016-08-18.

@FRidh like this?

Exactly. Note that pkgs/development/libraries/libsoundio/default.nix  depends on the old libjack2-git.

@FRidh No, it doesn't.  ;)


Add unit test reporting to PR

Codecov Report

Merging #46 (ef758e9) into main (61b8e38) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage   55.45%   55.45%
=======================================
  Files          71       71
  Lines        2281     2281
  Branches      159      159
=======================================
  Hits         1265     1265
  Misses        954      954
  Partials       62       62

Continue to review full report at Codecov.

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


fix(cjson) correctly compare light userdata address with masked address

Since we used json_lightudata_mask when creating lightuserdata, same
mask should be applied when comparing the return of touserdata
Fixes #81.

I use this patch in my own VM, It works ,and I think it is better than change bit shift.

Tests passed on my Mac M1. Great.

@xiaocang @zhuizhuhaomeng Is it possible to get this fix merged? It is an obvious bug and is very visible when using OpenResty on aarch64 platforms. Thanks!


Seems the e2e were affecting and are being bypassed without failing. Need to double check this fixes it.
All Submissions:

[X] Have you signed our CLA?

closing redherring


Bug: CAMPD 1.0 contact us and apis page not accessible on mobile/ tablet devices

Test Case
Steps to Reproduce
API page not accessible on smaller devices:

Navigate to CAMPD 1.0 at 480 or 640 resolution https://campd.epa.gov/
Select the menu functionality
Select Data
Select APIS

The system does not open the CAM API page.

Contact us page not accessible on smaller device:

Navigate to CAMPD 1.0 at 480 or 640 resolution https://campd.epa.gov/
Select the menu functionality
Select
Select APIS help/support
Select Contact us

The system does not open the contact us page.

Issue Resolved in staging. Able to access the contact us and apis pages at mobile/tablet breakpoints


"dftool acctinfo" error

Re this line inside dftool acctinfo:
recordDeployedContracts(ADDRESS_FILE, network)

It's wrong. Second argument shouldn't exist. It will cause failures. Fix it.

Yep, looks like it got fixed in https://github.com/oceanprotocol/df-py/commit/fca3e2376300095a9b5db4c6b72e20d2ec5602f2


Slow import-module -- can we delay loading?

System Details

posh-git version/path:
Not sure how to get this information. It is likely to be a new-ish version. I suspect 1.0.0
PowerShell version:

-----  -----  -----  --------
5      1      20170  1000

Git version:
git version 2.27.0.windows.1
Operating system name and version:
Windows 10 Pro 20170

Can I import-module in the backround or async? I don't always need it to import immediately, but I don't want to import manually & want to access the terminal faster.
My current profile load times are ~1200ms. posh-git is the majority of those load times.

There's not a way to do this that I know of.  Using background/async would execute the import in either another process or another runspace which is not what you want.

OK, I'm using Windows Terminal and opening multiple tabs at once.
By re-using multiple powershell instances, I won't have to wait for new windows to spin up.


Influx column names include every single tag

When I request values back from influx from a plugin (e.g. PictureIt) I get a weird result.  Here is the query:
from(bucket: "powermon")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "modbus")
  |> filter(fn: (r) => r._field == "pv1" or r._field == "pv2" or r._field == "pv3" or r._field == "pv4" or r._field == "pv5" or r._field == "pv6" or r._field == "pv7")
  |> last()

The text result is this:
,result,table,_start,_stop,_time,_value,_field,_measurement,address,gateway,register
,_result,0,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.259Z,0.59,pv1,modbus,28,<IP_ADDRESS>,1252
,_result,1,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.348Z,0.51,pv2,modbus,28,<IP_ADDRESS>,1254
,_result,2,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.438Z,1.46,pv3,modbus,28,<IP_ADDRESS>,1256
,_result,3,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.529Z,0.45,pv4,modbus,28,<IP_ADDRESS>,1258
,_result,4,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.618Z,0.39,pv5,modbus,28,<IP_ADDRESS>,1260
,_result,5,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.709Z,0.37,pv6,modbus,28,<IP_ADDRESS>,1262
,_result,6,2020-01-30T14:57:52.00887398Z,2020-01-30T15:57:52.00887398Z,2020-01-30T15:57:44.888Z,0.04,pv7,modbus,28,<IP_ADDRESS>,1266

I intercepted the 'data-received' callback to see what I was getting (registering with base class MetrisPanelCtrl) and I see this:
{
  "alias": "modbus pv7 address=28 gateway=<IP_ADDRESS> register=1266",
  "target": "modbus pv7 address=28 gateway=<IP_ADDRESS> register=1266",
  "datapoints": [
    [
      0.04,
<PHONE_NUMBER>888
    ]
  ]
}

In this particular case, what's coming back is actually a table of 7 values.  Each one has a correct _field and _value and the _field name is pv1, pv2, pv3, ... in other words, it makes sense.  What doesn't make sense to me is that I get this 'alias' that's everything.
Is this a bug in the driver, or minimally a difference between influx 1.7 and 2.0?  Should the resultant 'target' be mapped to the _field (the actual name of the field) ?

In 7x, the tags/labels are now included in the field display name.  please open a new issue for suggestions on how to do this better, but I hope a big improvement


Adds Twilio Favicon

Adds a Twilio favicon
Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

+1 looks good to me

This is a very nice idea! 🙇


Remove required secret key for tests

I'm doing this to prevent issues when testing PR like in #28
But I think it will fail anyway since we are using secrets[1] for codacy. Maybe we can skip uploading coverage to codacity when testing external PRs. @simobasso ?
[1] Circle CI allows to not pass secrets to forked PRs build, since it is easy for someone to get access to them

IMHO tools like codacy are useful especially on pr (simplified review). What is the risk if anyone, stole that api-key? lie on our coverage? I think we can bear it :P

IMHO tools like codacy are useful especially on pr (simplified review). What is the risk if anyone, stole that api-key? lie on our coverage? I think we can bear it :P

It is not about that specific API key, the issue is with other API keys, especially if we enable continuous deployment. Image if we use AWS, someone could easily get access to the AWS_ACCESS_KEY and secret :)

An alternative would be to have the codacy key in the config file, so that it is always available :)


Workflow file for github terraform.

Adding workflow file for terraform/github which plans and applies the terraform using OIDC.

@julialawrence do we want to use the fancy Terraform PR comment from https://github.com/hashicorp/setup-terraform?

@julialawrence do we want to use the fancy Terraform PR comment from https://github.com/hashicorp/setup-terraform?

I'm having issues getting this working. Propose merging as-is and I'll return to it as I'm looking at a similar issue in another repo.


Multi-layer

Subdomains:
[x] Create a MeshFunction that contains the subdomains
Materials properties:
[x] D coeff
[x] Traps energy
[x] Traps density
[x] alpha
[x] beta
Other
[x] Solve in mol/m3 an not at.fr.

Done in #24


Unsure if correct (!): point out that Type is the same as *

Figured it's better to propose a change than create an issue. Is this edit true? Is this behaviour of mine correct?
Follow-up question: Why does it sometimes print Type and sometimes *? Should be added as well, such little unclarities tend to block learning, at least for me.

And I see it's pointed out above.

I don't think that's relevant, that's Haskell knowledge, not Plutarch knowledge.


Skip records if already processed [KCON-36]

KCON-36
If a certain number of records are already processed in a file during dr, do not re process those records.
Number of processed recs are already stored in offset storage. Retrieve that and skip in the stream.

This LGTM.
There is probably an optimization that would be interesting for transformers to avoid the cost of unmarshalling JSON or Avro. If you agree, let's create an issue and deal with that later.
In the same line, I propose that the 4096 fixed buffer for ByteArrayTransformer is wrong, but equally wrong before and after this PR. It should be fixed, but I'm OK with doing it subsequently.

Thank you.
Regarding optimisation, agree, and with kcon-25 we have drastic changes to transformers.


fix: DropZone button type

Closes #6230
✅ Pull Request Checklist:

[x] Included link to corresponding React Spectrum GitHub Issue.
[x] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[x] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

It seems like type="button" should be coming from the call to useButton, but I haven't tracked down why the type attribute doesn't come through in the button props.

Also strange here is the type="button" does apply to the button in the test environment even without these changes.

Actually thanks to your comment about how type="button" was getting applied in the tests I dug around a bit more and found that this already has been fixed by https://github.com/adobe/react-spectrum/pull/5958. However, this PR was made after the last release so you'll just have to wait until our next release to get this update. We're hoping to get one out by the end of next week but I can't guarantee anything. I think you can close out this PR but thank you for submitting it!

Ah, thanks for the update. I realized soon after typing that comment about the tests that the issue had likely already been fixed. I wasn't sure where, though.


Include CocoaPods instructions in README

It's important for the upcoming version of react-native (0.60) because the CocoaPods integration is by default.

Apologies for the delay in responding to this. I have merged this now :+1: Thanks for the help!


Update Assets

Somethings are being moved around so our assets don't have their proper scaling invovled.
We'll probably have to fix #251 first before this.

Resolved.


[Bug]: waitForNavigation() not waiting for full page visibility in Next.js app

Bug expectation
There is an issue with the waitForNavigation() function when utilized within a Next.js app directory. This issue arises when the test scenario involves waiting for the full page to be visible, but waitForNavigation() incorrectly considers the page to be ready when the Next.js Loading component is still visible when using the example provided in the Puppeteer documentation, which suggests using the following code snippet:
const [response] = await Promise.all([
  page.waitForNavigation(),
  page.click('a.my-link'),
]);

Unfortunately, relying on this example alone leads to flaky behavior due to the presence of the Loading component in Next.js applications. Despite the network tab being idle, the Loading component may still be visible, resulting in an inaccurate determination of page readiness by waitForNavigation(). Consequently, the example's approach can lead to unreliable test results.
The test scenario involves clicking on a link within a Next.js application, triggering a navigation event. The expectation is to wait for the full page to load and then verify the presence of an h1 element with the content PAGE.
Bug behavior

[X] Flaky
[ ] PDF

Minimal, reproducible example
import { launch } from 'puppeteer';

async function clickAndWaitForNavigation(selector, page) {
  await Promise.all([
    page.waitForNavigation({ waitUntil: 'networkidle0' }),
    page.click(selector),
  ]);
}

(async () => {
  const browser = await launch();
  const page = await browser.newPage();
  await page.goto('https://next-route-puppeteer.vercel.app/');

  await Promise.all([
    page.waitForNavigation({ waitUntil: 'networkidle0' }),
    page.click('a[href="/page"]'),
  ]);

  const h1Content = await page.$eval('h1', (element) => element.textContent);

  if (h1Content === 'PAGE') {
    console.log('PASS');
  } else {
    console.log('FAIL');
  }

  await browser.close();
})();

Error string
Error: failed to find element matching selector "${selector}"
Puppeteer configuration
No response
Puppeteer version
20.7.3
Node version
v18.16.0
Package manager
pnpm
Package manager version
8.6.0
Operating system
macOS

The problem appears to be that Next.js is using same-document navigation so the browser navigation is resolved much earlier than the app-level navigation (first, the browser navigation happens, then the app starts loading things). Since the browser (and thus Puppeteer) is not able to know app-specific criteria for navigation, the recommended solution is to use a more robust approach with waiting for elements explicitly:
import { launch } from 'puppeteer';

(async () => {
  const browser = await launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://next-route-puppeteer.vercel.app/');

  await Promise.all([
    page.waitForNavigation({ waitUntil: 'networkidle0' }),
    page.click('a[href="/page"]'),
  ]);

  const element = await page.waitForSelector('text/PAGE');

  console.log(await element.evaluate((e) => e.textContent));

  await browser.close();
})();

Next.js related issue:

https://github.com/vercel/next.js/issues/52265

@ProchaLu I am not sure it is the problem with Next.js either. Puppeteer is a library for browser automation so it deals with browser/webplatform-level abstractions. What you seem to expect is that Puppeteer is an application-level testing framework. And while Puppeteer can be used to build such a framework, it is not working like that out of the box.  For example, consider a basic app that listens for the load and 5 seconds later adds a div saying navigation finished. From the application perspective, the loading is finished when the UI got updated but in the browser/Web platform terms, the loading is finished when the load event is emitted. Since Puppeteer cannot know all the application-specific abstractions, it cannot interpret the  fact of div being added to the DOM as a navigation.
Also, in this Next.js test app here there are no actual network requests sent while "loading" is displayed so the network becomes idle much earlier. I would recommend to write a custom helper that detects Next.js specific navigations: for example, you might want to wait till the URL changed and the loading indicator is not shown.

I would propose that regardless of the pure definitions and responsibility areas of tools, users will not understand it this way, and will try to plug those two together to test applications (because it works out of the box without many custom helpers for many / most common cases).
So I believe that users will continue to do this, and it's good to track this problem, for those people who will inevitably also run into this problem.
And ideally, Puppeteer and/or Next.js should maybe also consider fixing or working around the problem, even if it doesn't fit the project's definitions of purity, if it can be done in a maintainable, minimal way that ideally aligns with common standards like web standards or expectations in the browser automation scene. Even a maintained "recipes section" in the docs for either project would be a good start for that.

A workaround would be to add a data-test-id to the loading component,
export default function RootLoading() {
  return
Loading
;
}

This data-test-id is easy accessible and can be used in a page.waitForFunction to wait for the loading part to disappear from the page. Here's what the updated test looks like:
await Promise.all([
  page.waitForNavigation({ waitUntil: 'networkidle0' }),
  clickElement.click(),
]);

await page.waitForFunction(() => {
  const loadingElement = document.querySelector('[data-test-id="loading"]');
  return !loadingElement;
});

This change ensures that the test moves on only when the loading part is no longer there. This should address the problem of the loading component staying visible when we don't want it to.

After investigating the loading states in Next.js, I was able to see some differences that can cause issues with Puppeteer and Next.js in the previous versions. I think since Next.js v13.4.20-canary.24, the loading state behavior has changed.
The reproduction project contains:

Landing page featuring the cookies().get functionality
Page for the cookies().set operation
Test page to check the cookies().get function
Content-rich page with both text and image elements
Page with a client-side timeout of 2 seconds
Page with a server-side timeout of 2 seconds
Page equipped with a fetch function for interacting with an external API

The Puppeteer test goes to every page and checks the loading state, and waits for the network to be idle, to see if this can cause an issue when the test runner thinks the page is already loaded.
The biggest difference is that the Next.js Loading component is not showing in the previous versions when the network is pending.
Loading state with the cookies().get and cookies().set pages

Loading component is not rendered when making network requests in Next.js v13.4.9, Reproduction:

https://github.com/upleveled/courses/assets/80746311/85ea500b-74a8-4e0b-8e22-627d5084763b

Loading component is rendered when making network requests in Next.js v13.4.20-canary.24, Reproduction:

https://github.com/upleveled/courses/assets/80746311/38eb7340-2bdc-4a58-808d-a1b95487301d

Loading state when changing to a page with a server-side timeout

Loading state not rendered with Next.js v13.4.9, Reproduction:

Loading state rendered with Next.js v13.4.20-canary.24, Reproduction:

Loading state when the network is idle after a fetch

Loading state rendered and network idle with Next.js v13.4.9, Reproduction:

Loading state not rendered and network idle with Next.js v13.4.20-canary.24, Reproduction:

Test results with Next.js v13.4.9:
goto page and set cookie
❌ not found
goto landing page
❌ not found
goto get cookie page
❌ not found
goto page with images and text
❌ not found
goto page with timeout
❌ not found
goto page with server timeout
✅ found
fetch from Pokemon API
✅ found
lading page second load
❌ not found

Test results with Next.js v13.4.20-canary.24:
goto page and set cookie
✅ found
goto landing page
✅ found
goto get cookie page
✅ found
goto page with images and text
❌ not found
goto page with timeout
❌ not found
goto page with server timeout
✅ found
fetch from Pokemon API
✅ found
lading page second load
✅ found

Page displaying before network is idle

It is unclear for me whether this is an issue, as the page may render before it has fully loaded. Some images may still be pending in the network tab. In cases where these are no network requests, Puppeteer may interpret the network as idle beore the full page is loaded.
Reproduction without Next.js loading state:
https://github.com/upleveled/courses/assets/80746311/1e650b45-95c1-4ca7-b0dc-9eb4e3b77152
In this test repository, I noticed that network requests always finish before the page changes. This means that the network is idle before the new page is visible. As the screenshots show, before the page changes, the network is idle, and then the page changes.

Network active on the previous page after click

Network is idle and page changes

Other differences observed during testing

Next.js changed the network requests. After recording videos with an older and newer Next.js version, I observed a difference in network requests when deploying the same page.

Next.js v13.4.9, 10 requests

Next.js v13.4.20, 16 requests

Conclusion:
The loading state issue with Next.js and Puppeteer that I encountered seems to be fixed in Next.js. I recommend upgrading always to the latest stable release version.
The loading state now works as expected on all pages except pages with client-side timeout are displaying the Next.js loading state. The loading component becomes visible when the network is active and disappears when the network becomes idle.

The loading state issue with Next.js and Puppeteer can be fixed by using a more robust way for a route change like OrKoN described in this comment. It is also possible to use the example form the Puppeteer docs with the latest Next.js version. If you want to get into more detail, you can read my comment above.
function clickAndWaitForNavigation(page) {
  await Promise.all([
    page.waitForNavigation({ waitUntil: 'networkidle0' }),
    page.click('a[href="/page"]'),
  ]);
  await page.waitForSelector('text/PAGE');
}

Alternatively, you can use a data-test-id inside the loading.js file:
export default function RootLoading() {
  return
...Loading...
;
}

Then, you can wait for the loading element to disappear in your test:
await Promise.all([
  page.waitForNavigation({ waitUntil: 'networkidle0' }),
  clickElement.click(),
]);

await page.waitForFunction(() => {
  const loadingElement = document.querySelector('[data-test-id="loading"]');
  return !loadingElement;
});


Send friend request

This function could easily disable your account. A custom HTTP client is needed, which is going to be present in the newest update.


LTD-2276-Authentication-logging

login - get_redirect_url (initial call to call out to authentication service)
logout- get_redirect_url ( I haven’t captured the user as I didn’t want the risk of key errors in case user isn’t session). Will implement when we remove the Feature flags
user_profile - Used every time we extract to get email from authentication service.
authenticate_user: called to get lite user when we have a valid gov.uk user. Here we log the user
handle_success: Once we have a valid lite user also log user profile.
fetch_token: called every time we require a token to talk to service.
Introspect: has it’s current logging in place so nothing was added


Fixes #2147 field operations

I'm opening this PR here now as I believe it will be controversial and I'm sure the names I've chosen will be need to be changed since I never seem to choose names people like and I'm sure it will need revision.
In the short term I really do need to be able to run ExtDataDriver.x with fields on tiles. This means I need be able to get the arithmetic parser working in a rank agnostic/type agnostic way
So I've made a first attempt to implement the functionality I need NOW. This is not the long term proper operator overloading
What I need:

I need to be able to perform +,-,*,/,** and a wide variety of intrinsic functions on fields. The end game if of course true operator overloading but this a a first baby step.

I need these operations to respect an undefined value in the computation which will I think will be very controversial.

I need to take these and redo the parser so I can work on fields of any rank

What have I done:

I first move all the generic little utilities from FieldBlas into their own module. Those are related to getting a 1D pointer representation as well as other utilities from that module.
I created 3 new modules:
One is a module that implements the four binary operations +-*/ that takes a field and adds a second field to the first field. This makes use of a template.
One is a module that implements all the intrinsic sin/cos, etc functions also uses a template
One is module that has all the stuff that doesn't fit in the first two that so far doesn't need a template. Take a field to a power, negate a field, set a field to a constant, test if a field is identically a constant
I have added more tests and split up the tests in the tests directory

I just want to get the ball rolling
Description

Related Issue

Motivation and Context

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[X] I have tested this change with a run of GEOSgcm (if non-trivial)
[X] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[X] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

I simply can't wait For ESMF take my branch get this localelementcount by fixed in a release. Until then I've made a kluge that will suffice. Removed DNA

What arguments? The "undef" being passed in?

Discussed offline, but summarizing here.  My comment referred to the primary argument fields/arrays.  Fortran binary operators relate 3 quantities: 2 inputs and 1 output.  Our design must reflect that if we want to expos high-level overloaded operators for this purpose.

@tclune
Just did a bit push:
To summarize
The binary operators are now subroutine with 3 arguments (field_out,field_a,field_b) ! field_out = field_a+field_b
The unary operators are now subroutines with 2 arguments (field_ouy,field_in) ! field_out =function(field_in)
I removed the undef from the interface. I'm now assuming it is a field attribute. Limitations here. Either a 2 (3) fields have a missing_value/undef or they don't, if some do, some don't I fail right now.
Nor am I handling the case if the field_out is of different type than field_in, for now if the type_in/=type_out I'm dying
So there's a ways to go for true, rich operator overloading, this is all I need in the near term and sufficient for the use cases I have now and near future.


Adding  under spokes.yaml file

Description
[Documentation_PR] Adding root_disk: sda parameter under spokes.yaml file
Fixes #237
Type of change
Please select the appropriate options:

[x] This change is a documentation update

Checklist

[x] I have performed a self-review of my own code
[x] A change should not be merged unless it passes CI or there is a comment/update saying what testing was passed.
[x] PRs should not be merged unless positively reviewed.

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


[Rust] Use planus as a cargo build script?

Would be cool to allow writing a flatbuffer schema, and then using planus in a cargo build script to generate the rust code from the schema as a build step, automagically. This would make the ergonomics of the flatbuffer code just as nice as any other cargo dependency.
If this isn't currently supported, is there any interest in accepting a PR for this? I'm guessing its low hanging fruit.

This sounds like a good idea. It's somewhat related to #18, though that issue is a bit bigger. I think we should be able to solve this issue first and then do further re-organizing later to support #18.

I am not sure whether this is a new function, but what about?
[build-dependencies]
planus-codegen = "1.0.0"
planus-translation = "1.0.0"

use std::io::Result;

fn main() -> Result<()> {
    let out_dir = std::env::var("OUT_DIR").unwrap();

    let Some(declarations) = planus_translation::translate_files(&["fbs/monster.fbs"]) else {
        panic!("Cannot translate code for fbs/monster.fbs")
    };
    let code = planus_codegen::generate_rust(&declarations)
        .expect("Cannot generate code for fbs/monster.fbs");
    std::fs::write(format!("{out_dir}/monster.rs"), code)
        .expect("Cannot write generated fbs: {out_dir}/monster.rs");

    Ok(())
}

In my previous comment I mentioned #18, which was solved in #161. I think you proposal works well.


go-utils: create unit tests for pkg/api/utils

There is very poor test coverage for pkg/api/utils in keptn/go-utils. There is a need to add multiple unit tests to check the correct functionality of the code.
DoD

[ ] Remove code duplication if any
[ ] Improve testing coverage

The code coverage report will be done in a follow-up ticket TBD.

Go-utils received a major overhaul and this ticket is not needed anymore


Not possible to delete Shoot with wrong floatingPoolName

How to categorize this issue?

/area ops-productivity
/area usability
/kind enhancement
/priority normal
/platform openstack
What would you like to be added:
Shoots can be deleted with invalid floating pool name configuration.
Why is this needed:
Today, if a shoot is created with an invalid floating pool name configuration, the reconciliation will fail but the user is also not able to delete the shoot afterwards:
-> Pod '.tf-destroy' reported:
* Your query returned no results. Please change your search criteria and try again.
  on tf/main.tf line 15, in data "openstack_networking_network_v2" "fip":
  15: data "openstack_networking_network_v2" "fip" {

Operators need to manually delete the infrastructure object in order to proceed with the deletion. This shouldn't be required.
Thanks for the investigation @dkistner and @ialidzhikov.

Conceptually the finalizer check on deletion should take place only if the terraformer has run successfully at least once.

I think this won't be possible since Terraformer is also the one maintaining the finalizer

There is a possibility terraformer to create some of the resources but still the apply to fail. In this case it is fine that the finalizers are set and not skipped.

we need a second "isEmpty" check in the Terraformer which skips the destroy action in case the state is void.

Sounds good to me.

/assign


Training too slow, even using Train Stream

I have an array input with a size of 13, 000 as training data. And the problem is training time takes more than 30 minutes. Is there a way to improve this
Input example
[{
    "input": {
      "Luis,Arce,Bolivia,Sunday,La,Paz,Karl,Marx,Arce,Evo,Morales,Arce,Morales,Movement,Socialism,Arce,Sunday,Morales,Argentina,Evo,Friday,Arce,Bolivia,Morales,Aymara,Argentina,Peronist,President,Alberto,Fernandez,Paraguay,Mario,Abdo,Hassan,Rouhani,Spain,King,Felipe,Venezuela,Delcy,Rodríguez,Sunday,Karl,Marx,Arce,Reuters,October,Arce,Bolivia,South,America,Bolivia,America,Arce,Morales,Morales,Morales,Arce,La,Paz,Bolivia,Universidad,Mayor,Andrés,University,Warwick,England,Franklin,Pareja,La,Paz,Arce,Morales,Arce,Morales,Reuters,Morales,Reuters,Arce,World,Bank,Morales,Arce,Reuters": 1
    },
    "output": {
      "bolivia": 1
    }
  },
  {
    "input": {
      "Le,Tour,Langkawi,LTdL,Voyage,Sdn,Bhd,World,Tour,World,Tour,NTT,Cycling,LTdL,Feb,Cycling,Union,UCI,Series,ProSeries,Cycling,Federation,MNCF,Abu,Samah,Abdul,Wahab,LTdL,UCI,MNCF,Kazakhstan,Astana,Team,Australia,World,Tour,UCI,LTdL,April,UCI,February,Voyage,UCI,World,Tour,UCI,UCI,Games,Kuala,Lumpur,Voyage,M,Sdn,Bhd,Youth,Sports,Ministry,January,LTdL,LTdL,Kuching,Langkawi,Kota,Kinabalu,Criterion,Feb,Race,Langkawi,Feb,Bernama": 1
    },
    "output": {
      "ltdl": 1
    }
  }
]

const net = new brain.NeuralNetwork()
const prepInput = str => {
  const stripped = striptags(str)
  const rem = unescapeHtml(stripped)
  const doc = nlp.readDoc(rem)
  const properN = doc
    .tokens()
    .filter(
      // Exclude nouns inside an entity
      t => {
        return t.out(its.pos) === 'PROPN'
      }
    )
    .out()
  return sw.removeStopwords(properN)
}

const readInputs = (stream, data) => {
  for (let i = 0; i < data.length; i++) {
    stream.write(data[i]);
    console.count('Training Process')
  }
  // let it know we've reached the end of the inputs
  stream.endInputs()
}

const trainingStream = new brain.TrainStream({
  neuralNetwork: net,
  /**
   * Write training data to the stream. Called on each training iteration.
   */
  floodCallback: function () {
    readInputs(trainingStream, stories)
  },

  /**
   * Called when the network is done training.
   */
  doneTrainingCallback: function (obj) {
    console.log(
      `trained in ${obj.iterations} iterations with error: ${obj.error}`
    );
    const str = "Random HTML string"    const output = net.run({
      [prepInput(str)]: 1
    })

    const sortable = Object.fromEntries(
      Object.entries(output).sort(([, a], [, b]) => b - a)
    )
    const sliced = Object.fromEntries(
      Object.entries(sortable).slice(0, 20)
    )
    console.log(sliced, 'Out')
  },
})

readInputs(trainingStream, stories)

Em... Of course trainging is slow and time consuming, thats why we have toJSON() to export pre trained network, and fromJSON() to import it.
Read the document about it~~

The thing is I needed the lengthy input. Basically, the input is an article and the output is the tag associated with it. I need my program to identify tags it is closely associated with it. The prepInput function actually helps simply input by removing stopwords, HTML tags, and non proper nouns.

How are you feeding in the inputs? I think what's happening is you are creating too many nodes from prepInput. If you can simplify those inputs you'll greatly increase performance. There are a number of ways that can be done, such as associating a word with a decimal amount, or perhaps (not ideal) treating each word as an input with a value of 1 when it is defined.

The thing is I needed the lengthy input. Basically, the input is an article and the output is the tag associated with it. I need my program to identify tags it is closely associated with it. The prepInput function actually helps simply input by removing stopwords, HTML tags, and non proper nouns.

You really should be using either a brain.recurrent.LSTM (for use with strings), or brain.recurrent.LSTMTimeStep (for use with numbers) for this task.  This is also because your inputs/outputs are dynamically sized.  A standard feed forward neural network, which is what brain.NeuralNetwork is, is for inputs of the same size and outputs of the same size.


All PRs must tick these:

[Y] I have read the CONTRIBUTING document.
[Y] All commits signed-off for the Developer Certification of Origin.

With occasional exceptions, all PRs from Progress employees must tick these:

[Y] Is the code clear? (complicated code or lots of comments--subdivide and use well-named methods, meaningful variable names, etc.)
[Y] Consistency checked? (user notifications, user prompts, visual patterns, code patterns, variable names)
[N] Repeated code blocks eliminated? (adapt and reuse existing components, blocks, functions, etc.)

The original code is not perfectly DRY (damp?) but this is a minimal bugfix.

[Y] Spelling, grammar, typos checked? (at a minimum use make spell in any component directory)
[Y] Code well-formatted? (indents, line breaks, etc. improve rather than hinder readability)

All PRs from Progress employees should tick these if appropriate:

[N/A] Tests added/updated? (all new code needs new tests)

Code is not new... we are just changing deadlines and modifying logging

[N/A] Docs added/updated? (all customer-facing changes)

Usage documentation is still valid

Please add a note next to any checkbox above if you are NOT ticking it.

The large EMEA customer has confirmed that backups, restores and deletions are all working correctly with the patches contained in this PR.

See also a similar PR https://github.com/chef/automate/pull/6763 which aims to fix the same problems.


get frontend stuff up to speed

What are the relevant tickets?
closes #42
closes #4
What's this PR do?
does some cleanup and updating of our frontend stuff, adding jest, typescript, cleaning out a few old things, etc. should give us a clean base to build on.
How should this be manually tested?
I think if the build passes and everything looks legit we're good.

@noisecapella I made a few tweaks to the codecov setup to get it working with Jest - would you mind taking a look and seeing if it's wired up correctly?

also removed the polyfills and made some adjustments to the JS testing setup.

@noisecapella @gsidebo ok I think everything should be addressed now, just updated the README as well.

I'm seeing this when I run docker-compose up:
watch_1   | ERROR in ./static/js/index.tsx
watch_1   | Module not found: Error: Can't resolve '../Router' in '/src/static/js'

ahh I fixed the top level import but forgot about the thing at the bottom for the hot-module-reloading. I think it should be good now.


Future Development

Are there plans for future development of this plugin or is it just intended to be available with future releases of tinymnce that no longer include this.

@brianteeman there will be no new features, only bugfixes for new versions of tinymce

OK - thanks for confirming that. We https://github.com/joomla/joomla-cms/ have also forked the plugin. At this time we have made no changes or additions but might do in the future. So if it had been in your plans to do the same I would have switched to use your fork so that more people could benefit.


Fix anchor in url to maven site

Related to discussion https://discuss.gradle.org/t/where-to-report-or-create-a-pr-a-documentation-update/45318
Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you.


[v2 beta.11] overlay components don't display as expected

Short description of the problem:
In my ionic app I have some code at the root component that listens for events.  Then, based on these events it's creates and presents overlay components like alert, loading, and modals.  I switched this code to use the respective controllers in beta 11, hoping it would alleviate some problems I was having before beta.11.  Anyway, the problem is that If the user has navigated a few pages deep and an event is fired so that the root component creates and presents an overlay... there seems to be a conflict with the current navigation stack and the components do not always display.  This is especially the case if, for example, a loading component has been presented by a page a few levels deep in the nav stack and then an event is fired that would cause the root element to present a modal.  The modal seems to be in the DOM but not accessible.
What behavior are you expecting?
I expect any overlay that is presented to be displayed regardless of which component in the nav stack called the present() method.  I also thought that, with the introduction of overlay controllers, there would no longer be a conflict between the various overlays and the nav controller.  but that does not seem to be the case.
Steps to reproduce:

create an app and in the root element set a timeout to create and present a modal in 5 or 10 seconds.
navigate at least one page deep (away from the root component).
make the page you navigated to present a loading component with a 10 second duration, as soon as you get there.
while there, wait for the timeout to complete in the root component and see that the modal is not visible.  Not even after the loading component disappears.

Which Ionic Version?
<EMAIL_ADDRESS>

In investigating a little further, I think I have found a possible explanation.
My nested component page does the following:

creates and presents a loading component with no duration specified.
the page waits on some asynchronous callback to return.
during that time the root component creates and presents a modal.
milliseonds after the modal is presented, the asynchronous callback responds and the loading.dismiss() method is called by the nested component page.
instead of the dismiss method actually dismissing the loading component, the modal component is dismissed and the user continues to see the loading component.

Same issue with v2 beta.11
I noticed that putting loading.present() inside a long enough timeout (something around 500ms) removes the error. The loader still doesn't show though.

Hello! Thanks for opening an issue with us! Would you mind creating a repo that demonstrates this issue? Thanks for using Ionic!

Hi, I'll see what I can put together. But I think my instructions are pretty clear on how to dupe, no?

I guess I have the same issue:
    let loading = this.loadingCtrl.create({content: 'Loading...'});
    loading.present();

    this.geolocationService.geolocate().subscribe(
      (data) => {
        loading.dismiss();
        ...
      },
      ...
    );

loading.dismiss() does not have any effect.  loading.destroy() removes it but I guess that is not the way to go.

Hello, after testing this seems to be caused by the same bug that causes this issue https://github.com/driftyco/ionic/issues/7605. Because of that I am going to close this issue as a duplicate. Thanks for using Ionic!


NullPointerException ghidra.program.model.data.DataTypeManager.getUniversalID()

Cannot invoke "ghidra.program.model.data.DataTypeManager.getUniversalID()" because the return value of "ghidra.program.model.data.DataType.getDataTypeManager()" is null
java.lang.NullPointerException: Cannot invoke "ghidra.program.model.data.DataTypeManager.getUniversalID()" because the return value of "ghidra.program.model.data.DataType.getDataTypeManager()" is null
	at ghidra.app.plugin.core.datamgr.tree.DataTypeNode.getCurrentDisplayText(DataTypeNode.java:269)
	at ghidra.app.plugin.core.datamgr.tree.DataTypeNode.<init>(DataTypeNode.java:48)
	at ghidra.app.plugin.core.datamgr.tree.CategoryNode.generateChildren(CategoryNode.java:63)
	at docking.widgets.tree.CoreGTreeNode.children(CoreGTreeNode.java:114)
	at docking.widgets.tree.GTreeNode.getChildCount(GTreeNode.java:171)
	at docking.widgets.tree.internal.GTreeModel.getChildCount(GTreeModel.java:97)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1457)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:2003)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:4295)
	at java.desktop/javax.swing.JTree.fireTreeExpanded(JTree.java:2853)
	at java.desktop/javax.swing.JTree.setExpandedState(JTree.java:3766)
	at java.desktop/javax.swing.JTree.expandPath(JTree.java:2296)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2644)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2629)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2577)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:4090)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:4038)
	at docking.widgets.JTreeMouseListenerDelegate.fireMousePressed(JTreeMouseListenerDelegate.java:125)
	at docking.widgets.JTreeMouseListenerDelegate.mousePressed(JTreeMouseListenerDelegate.java:97)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

---------------------------------------------------
Build Date: 2022-Jul-26 1543 EDT
Ghidra Version: 10.1.5
Java Home: C:\Program Files\Eclipse Adoptium\jdk-<IP_ADDRESS>-hotspot
JVM Version: Eclipse Adoptium 17.0.4
OS: Windows 11 10.0 amd64
Workstation: REVISION-PC

This should not be possible in the normal work flow.  The implication is that a Data Type Manager was closed off of the Swing thread or that the JTree did not get notified that the manager was closed.
Do you recall what you were doing when this happened?

@dragonmacher I added new things to the Data Type Manager, where I had 2 folders and both contained a struct called TypeInfoData then one had a pointer to the other one and the other one had a pointer to itself. Something like that.
But it is still happening. Basically I can't use the Data Type Manager at all rn. Whenever I try to access anything from it, it will throw this error.

I see. It seems like it is in a bad state.  Does the issue go away if you restart Ghidra?

@dragonmacher no, this issue doesn't go away.
The error message changes slightly depending on what I do but the issue is the same.
Cannot invoke "ghidra.program.model.data.DataTypeManager.getName()" because the return value of "ghidra.program.model.data.DataType.getDataTypeManager()" is null
java.lang.NullPointerException: Cannot invoke "ghidra.program.model.data.DataTypeManager.getName()" because the return value of "ghidra.program.model.data.DataType.getDataTypeManager()" is null
	at ghidra.app.plugin.core.datamgr.util.DataTypeComparator.compare(DataTypeComparator.java:40)
	at ghidra.app.plugin.core.datamgr.util.DataTypeComparator.compare(DataTypeComparator.java:23)
	at java.base/java.util.TimSort.binarySort(TimSort.java:296)
	at java.base/java.util.TimSort.sort(TimSort.java:239)
	at java.base/java.util.Arrays.sort(Arrays.java:1307)
	at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
	at java.base/java.util.Collections.sort(Collections.java:179)
	at ghidra.app.plugin.core.datamgr.archive.DataTypeIndexer$IndexerTask.run(DataTypeIndexer.java:140)
	at ghidra.util.task.Task.monitoredRun(Task.java:134)
	at ghidra.util.task.TaskRunner.lambda$startTaskThread$0(TaskRunner.java:106)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

---------------------------------------------------
Build Date: 2022-Jul-26 1543 EDT
Ghidra Version: 10.1.5
Java Home: C:\Program Files\Eclipse Adoptium\jdk-<IP_ADDRESS>-hotspot
JVM Version: Eclipse Adoptium 17.0.4
OS: Windows 11 10.0 amd64
Workstation: REVISION-PC

The struct types in the functions are still labelled correct and still show all the fields btw.

When you added the types mentioned above, did you do so via a script or through the UI?  Are you manipulating types via a script?

Edit: I can modify these structs and point to other structs except the ones that I added when it broke, but the suggestions are missing thats why I thought only the default windows ones work.

When you added the types mentioned above, did you do so via a script or through the UI? Are you manipulating types via a script?

No, I didn't use a script. I did it through the UI. I actually never used scripts with Ghidra.

We would like to examine your binary.  Will you export your program as a .gzf file and then post it here?

Any way to share this file not in public?

This is the only forum we are currently using for sharing.
You can try to isolate the offending type(s).   First, make a copy of your binary in the front end so that you can freely make changes, reverting back to the original as desired.   In the copy, start removing the types you believe caused the issue.
If there is only one or a few offending types, then finding them should be relatively easy.   Hopefully, once those types are removed, the issue will go away.    At that point, we would like you to re-create the types to see if the issue returns.   Being able to isolate the characteristics of that type should allow us to reproduce the issue by following the steps you used to create the type.   Once we understand the issue, we may be able to offer guidance on how to fix those types in the original version of your binary.

Okay but how can I remove the types? I cannot expand the folder in Data Type Manager UI.

I see.  Scripting may be the only way to do this then.    You can try creating this new script via the Script Manager window.
Press the new script button on the toolbar.  Create a Java scirpt.   Name it 'FindBadTypesScript.java' and then paste these contents in the editor:
import java.util.Iterator;

import ghidra.app.script.GhidraScript;
import ghidra.program.model.data.DataType;
import ghidra.program.model.data.DataTypeManager;

public class FindBadTypesScript extends GhidraScript {

	@Override
	protected void run() throws Exception {

		DataTypeManager dtm = currentProgram.getDataTypeManager();
		Iterator<DataType> types = dtm.getAllDataTypes();
		while (types.hasNext()) {
			DataType dt = types.next();
			if (dt.getDataTypeManager() == null) {
				println("found bad type: " + dt.getDataTypePath());
			}
		}

	}
}

Let us know if the script produces any output when you run it.

Output:
FindBadTypesScript.java> Running...
FindBadTypesScript.java> found bad type: /TypeInfo
FindBadTypesScript.java> Finished!

Now replace the contents of the run() method with this code and run the script again:
        DataTypeManager dtm = currentProgram.getDataTypeManager();
	DataType dt = dtm.getDataType("/TypeInfo");
	boolean success = dtm.remove(dt, TaskMonitor.DUMMY);
	println("removed dt?: " + success);

FindBadTypesScript.java:14: error: cannot find symbol
		boolean success = dtm.remove(dt, TaskMonitor.DUMMY);
		                                 ^
  symbol:   variable TaskMonitor
  location: class FindBadTypesScript
skipping C:\Users\Admin\ghidra_scripts\FindBadTypesScript.java
> Unable to locate script class: FindBadTypesScript.java

My mistake.  Try overwriting the complete contents with this:

import ghidra.app.script.GhidraScript;
import ghidra.program.model.data.DataType;
import ghidra.program.model.data.DataTypeManager;
import ghidra.util.task.TaskMonitor;

public class FindBadTypesScript extends GhidraScript {

	@Override
	protected void run() throws Exception {

		DataTypeManager dtm = currentProgram.getDataTypeManager();
		DataType dt = dtm.getDataType("/TypeInfo");
		boolean success = dtm.remove(dt, TaskMonitor.DUMMY);
		println("removed dt?: " + success);

	}
}

Try this:
import ghidra.app.script.GhidraScript;
import ghidra.program.model.data.DataType;
import ghidra.program.model.data.DataTypeManager;

public class FindBadTypesScript extends GhidraScript {

	@Override
	protected void run() throws Exception {

		DataTypeManager dtm = currentProgram.getDataTypeManager();
		DataType dt = dtm.getDataType("/TypeInfo");
		if (dt == null) {
			println("could not retrieve dt");
			return;
		}

		println("dt: " + dt);
		println("id: " + dt.getUniversalID());
		println("manager: " + dt.getDataTypeManager());

	}
}

Output:
FindBadTypesScript.java> Running...
FindBadTypesScript.java> dt: TypeInfo
FindBadTypesScript.java> id: null
FindBadTypesScript.java> manager: null
FindBadTypesScript.java> Finished!

Try this:
import ghidra.app.script.GhidraScript;
import ghidra.program.model.data.DataType;
import ghidra.program.model.data.DataTypeManager;

public class FindBadTypesScript extends GhidraScript {

	@Override
	protected void run() throws Exception {

		DataTypeManager dtm = currentProgram.getDataTypeManager();
		DataType dt = dtm.getDataType("/TypeInfo");
		if (dt == null) {
			println("could not retrieve dt");
			return;
		}

		println("dt class: " + dt.getClass());

	}
}

Output:
FindBadTypesScript.java> Running...
FindBadTypesScript.java> dt class: class ghidra.app.cmd.data.rtti.gcc.factory.TypeInfoFactoryDataType
FindBadTypesScript.java> Finished!

Okay I know how to repro this issue:
I made a struct called TypeInfo and in there I wanted a pointer to itself, but instead I added a pointer to TypeInfoFactoryDataType which results in this error.

So, that is the problem.   Is TypeInfoFactoryDataType a type that you created yourself?  If not, where did you find this type?

No I just typed TypeInfo * and pressed enter and then it chose that. I guess this is sth that comes along with Ghidra itself?

This is not a type that we provide.  It appears as though it is from this repo:
https://github.com/astrelsky/Ghidra-Cpp-Class-Analyzer/tree/master/src/main/java/ghidra/app/cmd/data/rtti/gcc/factory
Do you have this extension?  Or any other extension to Ghidra that may be using this?

Yes I have this extension. It is literally the only thing that I have and I didn't even use this ever.

Okay everything works fine if I disable this extension.

Buckle your seat belt...

Close the Code Browser tool and your program
From the Front End tool, remove this extension
Open the Code Browser tool by clicking the green dragon icon, but do NOT open your program
Replace the script contents with what is below this list
Run the script
Reopen your program and see if it works.

import ghidra.app.script.GhidraScript;
import ghidra.util.classfinder.ClassTranslator;

public class FindBadTypesScript extends GhidraScript {

	@Override
	protected void run() throws Exception {

		ClassTranslator.put("ghidra.app.cmd.data.rtti.gcc.factory.TypeInfoFactoryDataType",
			"ghidra.program.model.data.DWordDataType");

	}
}

Thanks for your help!

It's all my fault, what else is new :sweat_smile:. Sorry about that.

It's all my fault, what else is new sweat_smile. Sorry about that.

Perhaps you can think of this as helping to bring the community together?

:thinking: Well when you put it that way, I wonder what else I can break.


vscode.executeDocumentSymbolProvider command only returns SymbolInformation[] rather than DocumentSymbol[]

Currently the vscode.executeDocumentSymbolProvider returns instances of SymbolInformation rather than the newer DocumentSymbol. I'm sure this was done for backward compatibility. Can a flag be added to vscode.executeDocumentSymbolProvider to allow it to return DocumentSymbol? Or maybe a new complex command to access the DocumentSymbols?
I would really like for GitLens to be able to have access to the better range information contained in the DocumentSymbols.
Also if there is consensus on the direction of this, I can provide a PR.
/cc @jrieken

Yeah, we weren't sure yet how to do that... It is for backwards compatibility and this command is very frequently used. I can check if that's still the case

Maybe vscode.executeDocumentSymbolProvider.v2 or something along those lines (that could be used for any complex command)

Yeah, not sure yet. We always wanted to be more relaxed with those commands and have the freedom to kinda break them. Tho this is a special case since there is many user of that command. I am thinking of some kind of merged type ala vscode.DocumentSymbol & vscode.SymbolInformation. That should be the best of both worlds...

Somewhat related (especially with a merged type), I see internally DocumentSymbol has containerName just like SymbolInformation, why is that not exposed on the vscode.d.ts version of DocumentSymbol?

How do you get the parent info? Isn't there only children access?


Dynamic imports not working

Laravel Mix Version: 4.0.0 (npm list --depth=0)
Node Version (node -v): 14.15.4

Description:
Whenever I'm trying to use dynamic imports in my Vue-app, the compilation doesn't seem to work anymore. I do not get any errors at compilation, however. The problem only shows once loading the compiled files in the browser and the page doesn't load any JavaScript or CSS anymore. I tried it out with several different versions of Laravel mix, ranging from the newest, down to 4.0.0.
Steps To Reproduce:
My webpack config:
mix.webpackConfig(
	{
		plugins: config_plugins,
		output: {
			publicPath: '/',
			chunkFilename: '[name].js',
		},
		module: {
			rules: [
				{
					test: /\.jsx?$/,
					exclude: /bower_components/,
					use: {
						loader: 'babel-loader',
						options: {
							presets: ['@babel/preset-env'],
							plugins: ['@babel/plugin-syntax-dynamic-import']
						}
					}
				}
			]
		}
	}
);

The usage of dynamic imports in the app.js, defining my Vue-app:
Vue.component('async-component', (resolve) => {
	import(/* webpackChunkName: 'js/async-component' */ './sites/some-site/Component.vue')
		.then((asyncComponent) => {
			resolve(asyncComponent.default);
		});
});

Mix v4 didn't support dynamic imports due, but the latest version - v6 - does. I'm using it my main project without any problems.

@JeffreyWay A colleague just updated our project to Laravel mix 6, and now the dynamic imports work like a charm. Thank you for your work.


Disable warnings

Is there a way to disable warnings ?
I still see WARNING: Falling back on generic information extractor. when I use the -q option.

It is showing error Why is it because proxxy.It is showing the below
ERROR: Unable to download webpage: <urlopen error [Errno 110] Connection timed out> (caused by URLError(TimeoutError(110, 'Connection timed out')))


SSR, how change the route (or component to render) programmatically

Hi,
I have looking for some info and other issues but didn't found any solution.
We are working on a universal app. For SSR we have an node+express endpoint that uses the match function. When requests arrives to /product/xxxxxxx  we want to load data and render the component Product. The goal is to render a NotFound component if the product with given id is not found. The current workflow is as follow:

Request arrive to express request  and we execute the match function.
From renderProps retrieve the component to be rendered and call a static fetchData method which is responsible to load data from server.
Once data is loaded we renderToString like this:

const body = renderToString(
            <MuiThemeProvider muiTheme={muiTheme}>
              <Provider store={store}>
                <IntlProvider>
                  <RouterContext {...renderProps} />
                </IntlProvider>
              </Provider>
            </MuiThemeProvider>
          );

What we want is in step 2, if no data is returned update the renderProps so the component that were rendered be the NotFound.
Any ideas?
Thanks

You can just renderToString() a different set of components, most likely just the NotFound component, if your fetchData methods come back with an error.

I know that, the question is the path to the component is within the renderProps !!!
My question is related on how to modify the renderProps so that the previous code renders a different component that those selecting by the match function ???

You shouldn't mess around with renderProps, as that will cause issues when the client boots up and React runs into a mismatch error. You're better off just rendering the NotFound server-side as static markup and not including your client code/script tag in that response.


youtube_dl.utils.ExtractorError: This video is available to this channel's members on level: MemberShrimp! (or any higher level). Join this channel to get access to members-only content and other exclusive perks.

C:\Users\JACK>youtube-dl -v --cookies C:\Users\JACK\AppData\Roaming\youtube-dl\youtube.com_cookies https://www.youtube.com/watch?v=zia8WGSmwBo
[debug] System config: []
[debug] User config: ['-f', 'mp4', '-f', 'best', '-o', 'C:/User/JACK/Downloads/%(title)s.%(ext)s', '--no-mtime', '-U', '-v', '--update', '--continue', '--cookies']
[debug] Custom config: []
[debug] Command-line args: ['-v', '--cookies', 'C:\Users\JACK\AppData\Roaming\youtube-dl\youtube.com_cookies', 'https://www.youtube.com/watch?v=zia8WGSmwBo']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 4.4-full_build-www.gyan.dev, ffprobe 4.4-full_build-www.gyan.dev
[debug] Proxy map: {}
youtube-dl is up-to-date (2021.06.06)
[youtube] zia8WGSmwBo: Downloading webpage
ERROR: Join this channel to get access to members-only content like this video, and other exclusive perks.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 534, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\youtube.py", line 1713, in _real_extract
youtube_dl.utils.ExtractorError: Join this channel to get access to members-only content like this video, and other exclusive perks.
please help anyone

Are you saying that you are a member of the channel and have passed the cookies associated with your login in the file youtube.com_cookies?
Your 'user config' '-f', 'mp4', '-f', 'best', '-o', 'C:/User/JACK/Downloads/%(title)s.%(ext)s', '--no-mtime', '-U', '-v', '--update', '--continue', '--cookies' is confused.

you shouldn't have two -f options, as only the last will be seen. Perhaps you wanted -f best[ext=mp4];
you probably shouldn't put -U or --update in the configuration file, and certainly not both;
you're making --verbose the default, which is fine if that's what you want;
--cookies needs a parameter value (filename), as in your command line.

No I'm not a member,is that possible to download, could you tell which command i needed to download videos, what command should i put in config file, could you show a tutorial please

No I'm not a member...

So that's your problem right there.

Join the user's channel.
Open the video page in your browser using your login with which you joined the channel.
Gather the cookies as described in the link above and put them in the file, say youtube.com_cookies as in your original attempt.
Try your original command again.

Is there anyway to download or watch members only content without joining, Because twitch paid videos can watch from some sites like pogu.live,and youtube vanced breached premium content,I think nobody research that area

Your options are:

Become a member
Use someone else's account that is a member
Watch the videos uploaded elsewhere by someone who is a member.

Youtube-DL can't bypass paid features, that's not possible.


Serialize custom ITokenizer implementations

custom tokenizer serialize is not expected.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

duplicate of #5039


Upgrade to nuttx 9.1.0-

This is a WIP!

Closed - renamed to get hardware CI https://github.com/PX4/Firmware/pull/15139

Replaced by https://github.com/PX4/Firmware/pull/15139 (to meet some naming convention on hardware rack??? @dagar )


Unable read excell cell text if cell has line break

Hi Team,
I am trying to read xlsx file but one of the cell has line break that's reason I couldn't able to read complete text from the particular cell.
I am getting only last text after  line break ,Not complete text from particular cell.
Do you have solution for this issue

I created test cases and they pass - see #260 - could you provide a reproducible test case?


cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'

webSocket.sendTXT(num, "Connected to Serial on " + WiFi.localIP().toString() + "\n");
causes
exit status 1
cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'

This library seems perfect for my needs - thank you. But did anybody resolve this please? More details in the error below:
/Documents/Arduino/WebSocketSerialMonitor-master/WebSocketSerialMonitor/WebSocketSerialMonitor.ino: In function 'void webSocketEvent(uint8_t, WStype_t, uint8_t*, size_t)':
/Documents/Arduino/WebSocketSerialMonitor-master/WebSocketSerialMonitor/WebSocketSerialMonitor.ino:32:86: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
32 |         webSocket.sendTXT(num, "Connected to Serial on " + WiFi.localIP().toString() + "\n");
|                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /Documents/Arduino/WebSocketSerialMonitor-master/WebSocketSerialMonitor/WebSocketSerialMonitor.ino:11:
/Documents/Arduino/libraries/WebSockets/src/WebSocketsServer.h:60:40: note:   initializing argument 2 of 'bool WebSocketsServerCore::sendTXT(uint8_t, String&)'
60 |     bool sendTXT(uint8_t num, String & payload);

The code compiles when commenting out line 32:
webSocket.sendTXT(num, "Connected to Serial on " + WiFi.localIP().toString() + "\n");


monterey-xcode:latest does not allow ssh login

following the docs at https://tart.run/integrations/gitlab-runner/ i use a gitlab-ci.yml file like that:
test:
  image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
  tags:
    - tart-installed
  script:
    - uname -a

and i get the following output pm gitlab:
Running with gitlab-runner 16.6.0 (3046fee8)
  on mymac 4g4jdzfx, system ID: s_0b22b5a5ed7e
section_start:1700755128:prepare_executor
Preparing the "custom" executor
Using Custom executor...
2023/11/23 16:58:48 Pulling the latest version of ghcr.io/cirruslabs/macos-monterey-xcode:latest...
2023/11/23 17:15:10 Cloning and configuring a new VM...
2023/11/23 17:15:10 Waiting for the VM to boot and be SSH-able...
2023/11/23 17:28:32 VM errored: failed to connect via SSH: All attempts fail:
#1: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#2: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#3: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#4: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#5: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#6: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#7: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#8: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#9: dial tcp <IP_ADDRESS>:22: connect: operation timed out
#10: dial tcp <IP_ADDRESS>:22: connect: operation timed out
section_end:1700756912:prepare_executor
ERROR: Job failed: exit status 1

if i replace the image with ghcr.io/cirruslabs/macos-sonoma-base:latest or ghcr.io/cirruslabs/macos-sonoma-xcode:latest everything works as expected (therefore i concluded that this is an issue with the image itself, rather than the gitlab-tart-executor)

For what it is worth, I've also tried ghcr.io/cirruslabs/macos-monterey-base:latest which seems to work fine as well, so it probably is just an issue with the montery-xcode image, or some temporary glitch on my tart-host (although I did try several times, before coming here)

What is that macOS version on the host? There might be compatibility issues if it's prior to Ventura 13.3. Have you also tried manually run tart clone/tart run/tart ip on the host?
FYI we haven't updated the Monterey images in a while and not planning to.

i don't know the exact macOS version on the host (as i currently do not have physical access to it), but I've upgraded to Ventura a few days ago, so I assume it is the latest and greatest Ventura available (as of today).
however, I can run this remotely:
$ sw_vers -productVersion
13.6.1

I did manually clone and start the VM, and haven't been able to ssh into (or even ping) the IP returned by tart ip, even though the host had a bridge address in the same network...

@umlaeute can you check if you're experiencing the symptoms similar to https://github.com/cirruslabs/tart/issues/657?
Namely, which IP address your VM is getting (if you look from inside of the guest)?

i've re-run my tests and i got:

host believes VM is in the <IP_ADDRESS>/24 network
VM has an IP in the <IP_ADDRESS>/24 network

also, with today's tests this is no longer only an issue with monterey-xcode image, but with all tested images (monterey-base, monterey-xcode, sonoma-base, sonoma-xcode).
so this is obviously not an issue with one image, but with the network setup of the host.
indeed, the host has two bridge interfaces (for $reasons):
$ ifconfig
[...]
bridge100: flags=8a63<UP,BROADCAST,SMART,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
	options=3<RXCSUM,TXCSUM>
	ether 9e:76:0e:a3:47:64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	inet6 fe80::9c76:eff:fea3:4764%bridge100 prefixlen 64 scopeid 0x1c
	inet6 fdbd:ab55:9e51:a104:14a4:c78c:623:634c prefixlen 64 autoconf secured
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x0
	member: vmenet0 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 27 priority 0 path cost 0
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active
[...]
bridge101: flags=8a63<UP,BROADCAST,SMART,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 9e:76:0e:a3:47:65
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	inet6 fe80::9c76:eff:fea3:4765%bridge101 prefixlen 64 scopeid 0x21
	inet6 fd33:8aad:3604:65e5:4da:bcba:1b09:4f63 prefixlen 64 autoconf secured
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x0
	member: vmenet1 flags=10803<LEARNING,DISCOVER,PRIVATE,CSUM>
	        ifmaxaddr 0 port 32 priority 0 path cost 0
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active

I do get the correct IP address of the host when using tart ip --resolver=arp.
i guess i should therefore re-report this either against tart or gitlab-tart-executor. which one?

i guess i should therefore re-report this either against tart or gitlab-tart-executor. which one?

That's unlikely a Tart's issue, because it never changes the default subnet for the NAT network.
Are you running some other VM virtualization solution on the same host?

yes (as in: qemu is also running on the host), that is what i summerized under $reasons

@umlaeute which network-specific settings are you passing to the QEMU?
Would appreciate if you could post a way to reproduce your issue.

One more thing, can you check if there are more than one entry in the /var/db/dhcpd_leases for the MAC-address of your macOS VM? E.g. like this:
% grep -C5 '6a:fc:68:76:eb:72' /var/db/dhcpd_leases
	lease=0x654114d1
}
{
	name=ubuntu
	ip_address=<IP_ADDRESS>
	hw_address=1,6a:fc:68:76:eb:72
	identifier=1,6a:fc:68:76:eb:72
	lease=0x65465a79
}

yes, there are duplicates (for one MA i have even a triplicate!):
% grep -B3 -A3 "hw_address=1,6:b9:1c:70:ab:94$" /var/db/dhcpd_leases
{
	name=adminsVlMachine
	ip_address=<IP_ADDRESS>
	hw_address=1,6:b9:1c:70:ab:94
	identifier=1,6:b9:1c:70:ab:94
	lease=0x6565a345
}
--
{
	name=adminsVlMachine
	ip_address=<IP_ADDRESS>
	hw_address=1,6:b9:1c:70:ab:94
	identifier=1,6:b9:1c:70:ab:94
	lease=0x6560d808
}


Add fixtures for development

🚀 Feature Request
It would be good for new contributors to the project to have something to look at when they first start up haztrak for the first time.
We can add some additional fixtures in server/fixtures/dev_data.json
The fixtures should include

[ ] a handler
[ ] a site (linked to handler)
[ ] a manifest
[ ] a wasteline
[ ] a transporter
[ ] a RcraProfile for testuser1

This fixtures should not be used for anything other than providing some initial data to the local development environment. Not for testing (we have pytest fixtures for that, easier to maintain).
The easiest way to complete this is to actually load the data (manually or via haztrak's processes) then use django's dumpdata admin command (also see runhaz.sh)

i'm having second thoughts about putting too much fixtures in here, especially for models that are really stable yet. I'm just going to add everything needed for the initial users (testuser1 and admin) and a single site model.
All included models...

[ ] 1 Site
[ ] 1 Handler
[ ] 1 Contact
[ ] 1 Address
[ ] 1 EpaPhone
[ ] 2 Users (admin and testuser1)
[ ] 1 RcraProfile (for testuser1)

For the time being, I'm not going to include too much more so I don't end up just maintaining a bunch of dev fixtures. But this should be enough to provide a welcoming experience for new developers.


[$1000] Chat - Composer Not focused when clicking on composer box

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

Action Performed:

Go to any chat
Send a message
Click on Edit from the reaction menu
Click on the emoji menu in the edit composer
Now without closing the emoji box click on the main composer

Expected Result:
Clicking on the main composer box focuses the composer
Actual Result:
Clicking on the main composer box focuses on the main composer for a second and then focuses on the edit Composer
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.57-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/4769bf78-138c-49eb-b734-1a87ff23a738
https://github.com/Expensify/App/assets/78819774/1fb3cb4e-2436-41d7-9d85-2a2fa1a3b4e2
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692048812228079
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0161d746e7dbb99cde
Upwork Job ID:<PHONE_NUMBER>110677504
Last Price Increase: 2023-09-01

Isn’t this an expected behaviour? When the EmojiPicker is displayed, we do not allow interactions with any other element in Report Screen until it is dismissed. A tap on anywhere else other than the EmojiPicker will hide and bring the focus back on the currently edited message input.

@parasharrajat do you still think this is the best course of action here?

My intuition is asking to hold this issue as we have done for https://github.com/Expensify/App/issues/23403.

I am monitoring the review of the other issue. If it seems that we are not solving this issue there, I will continue here.

This sounds great to me! Thank you

Sounds like @tienifr's proposal is updated and ready for you @parasharrajat

Friendly bump on an update here @parasharrajat 👍

Bump @parasharrajat 🙇

I can still reproduce @parasharrajat

Proposal
Please re-state the problem that we are trying to solve in this issue.
When emoji picker is closed, text input is focused even if it should not focus.
What is the root cause of that problem?
EmojiPickerButton Component's onModalHide property sets focus without any condition in ReportActionItemMessageEdit Component, when emoji picker is closed.
What changes do you think we should make in order to solve the problem?

Instead of setting focus directly, we should use ReportActionComposeFocusManager.
https://github.com/Expensify/App/blob/c77814fd5e643cba78e8c8294370d78f633a59c5/src/pages/home/report/ReportActionItemMessageEdit.js#L411-L414

These lines will be changed with
onModalHide={() => {
    InteractionManager.runAfterInteractions(() => {
        if (EmojiPickerAction.isEmojiPickerVisible()) {
            return;
        }
        ReportActionComposeFocusManager.focus();
    });
}}

We need to use InteractionManager, because user may open emoji picker while already open for another edit composer.

New property 'onPress' will be added to EmojiPickerButton component. We will send a function for run on onPress.
In this case, we will use it for set ReportActionComposeFocusManager.onComposerFocus function. We will need to set ReportActionComposeFocusManager.onComposerFocus because user may close emoji picker without focus on edit composer.

onPress={() => {
    ReportActionComposeFocusManager.onComposerFocus(() => {
        if (!textInputRef.current) {
            return;
        }

        textInputRef.current.focus();
    });
}}

Current action is setting  ReportActionComposeFocusManager.onComposerFocus  on onFocus in Composer Component.
https://github.com/Expensify/App/blob/c77814fd5e643cba78e8c8294370d78f633a59c5/src/components/Composer/index.js#L471-L483
Result
https://github.com/Expensify/App/assets/93402058/61304066-809e-4dd2-935d-e4607fd7af60
This approach is fixing #27612 as well as fixing this bug.

@tienifr do you mind sharing a work-in-progress PR so we can stay up-to-date on progress you're making?

Whats the latest here @tienifr ?

Bump @tienifr

What is the latest here @parasharrajat ?

Bump @parasharrajat, can you please provide an update? Thanks!

@tienifr, please provide an update. I will DM you for visibility. Thanks!

@tienifr @parasharrajat will the PR be merged soon?

@parasharrajat, any news?

Payment summary:

$1000 to @parasharrajat for C+ review - payment pending in NewDot.
$250 to @tienifr for accepted proposal - payment pending in NewDot.
$50 to @daveSeife for bug report - payment in Upwork.

@parasharrajat, can you please confirm that the payment summary is correct? Thanks!

@parasharrajat, do we need a regression test?

Do we have a BZ checklist for this issue?

Sorry I'm unable to, as that would fail our financial controls.

Thanks! $1,000 approved for @parasharrajat

@JmillsExpensify:

$1000 to @tienifr for accepted proposal - payment PENDING in NewDot.

@johnmlee101, can you please review the test proposal when you have a chance? Thanks!
https://github.com/Expensify/App/issues/25892#issuecomment-2395067030

LGTM!

All set!


Right click on the event display a menu

I hope to add right click callback. Thanks.

@fengdachao use custom Event component and onContextMenu prop?

I also want this functionality. Using custom event components doesn't work very well because the custom event component doesn't 'fill' the graphical event, so right clicking on parts of the event won't bring up a menu.
I'm using a very convoluted alternative approach, where the onContextMenu event handler is on the containing div of the calendar, then I'm using custom Event components with a data prop containing an ID, and some clunky DOM traversal to get that ID from the synthetic event which works, but is pretty ugly.

Happy to allow this via the eventPropGetter if anyone wants to add support for it there.

We are also facing with a need for this capability, and I'll be happy to be open a PR.
@jquense - is there a reason why you would prefer this on the eventPropGetter, instead of adding an "onContextMenu" prop to EventCell.js, same as onDoubleClick and onClick?
Thanks!

It may be helpful to set your custom eventWrapper like <Calendar components={{ eventWrapper }} />.
Here is an example: https://codepen.io/vzvu3k6k/pen/ewRGwW

Hello,
Any news for this feature?
If I use the example above, it works but I get this error:
Warning: React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.
Thanks


New Toke Listing USDT_b USDC_b

high demand of stable tokens from BSC, let's get the following token supported.
USDT: https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955. <-> 0x42C9255D5e522e83B16ea11a3BA04c2D3AfCA079 (iotex)
USDC: https://bscscan.com/token/0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d <->
0x037346E5a5722957Ac2cAb6ceb8c74fC18Cea91D (iotex)

[x] adding to tokenlist and create proxy token
[x] witness deployment
[x] add to UI

done. closing!


Fixes Disposing Active Tracker

Fixes Active Ticker is being disposed on Navigating back from Slide, Size & Scale Transition Screen
Issue #15

@hiashutoshsingh can you please make this PR Hacktoberfest acceptable?


Add population update by census group

Screenshot?
Seems like this might not play well with the stops to determine point size.

Hawains in Texas


Port strnaturalcmp

Coverage remained the same at 39.157% when pulling 1597fccb6b0b2a7f942b9f0b0cf31dd4b89a0cdd on tsipinakis:strnaturalcmp into 9eb8ffbc00ef9a5154ace758c5ed9855f38f28c7 on newsboat:master.

Coverage remained the same at 39.157% when pulling 1597fccb6b0b2a7f942b9f0b0cf31dd4b89a0cdd on tsipinakis:strnaturalcmp into 9eb8ffbc00ef9a5154ace758c5ed9855f38f28c7 on newsboat:master.

Rust 1.26 wants an explicit import of std::cmp, and cargo fmt wants to see some spaces between function arguments.

Fixed the std include. I'm not sure about the second part, the link points to the same line and I can't see any errors about broken formatting.

Thank you for the work, @tsipinakis!


docker-mariadb-galera.service - stop command fails

When I run sudo systemctl stop docker-mariadb-galera I get an error:
Mar 08 23:51:48 cluster1 systemd[1]: Stopping MariaDB with Galera Cluster...
Mar 08 23:51:48 cluster1 bash[23455]: Error response from daemon: No such container: mariadb-container-

This appears to be because in the ExecStop command that parses out a value for HOSTNUM, the variable substitution (with an empty value) happens before the parsing actually occurs.
The container still gets stopped on my machine; I think the ExecStop command probably isn't necessary at all. The docker command inside docker-mariadb-galera.sh runs in the foreground (no -d argument), so systemd is able to send it signals, and that causes docker to shut down the container.

Hi @haraldkoch sorry for the delay in responding.
I cannot reproduce the issue when running the VMs on Azure. Are you using the ARM template for Azure, or are you just using the cloud-config? What distribution are you using - CoreOS?
If you're not using the ARM templates for Azure, please make sure you review the notes here: https://github.com/EgoAleSum/mariadb-cluster#using-the-cloud-config-mode
The hostnames of the VMs must be mariadb-node-0 until mariadb-node-4.


localIdentName is not working for me

@xyy94813 localIdentName is not working I want to add an localIdentName of type myapp--[local]--[hash:base64:6] . But its not working.
Below is the config I have added
addLessLoader({
      cssLoaderOptions: {
        sourceMap: true,
        modules: {
          localIdentName: "myapp--[local]--[hash:base64:6]",
        },
      },
      lessLoaderOptions: {
        lessOptions: {
          math: "always",
          javascriptEnabled: true,
          modifyVars: {
            "primary-color": "#007ED4",
          },
        },
      },
    }),

I ran into the same problem with @dr.pogodin/babel-plugin-react-css-modules before.
Or check the version of css-loader and less-loader.
Hope this helps.

@rolwin100
I will close this issue if it is resolved.


online demo please :)?

For react.rocks -- thanks

This project is still a work-in-progress, but I'll be sure to add a demo of some sort once it's complete!


Error downloading v2.1.0 using older cargo version

The newest release v2.1.0 seems to be breaking my build.
This is my build command:
rustup run nightly-2020-10-24 cargo build --verbose --release

The result:
#0 17.99 error: failed to download `async-global-executor v2.1.0`
#0 17.99
#0 17.99 Caused by:
#0 17.99   unable to get packages from source
#0 17.99
#0 17.99 Caused by:
#0 17.99   failed to parse manifest at `/root/.cargo/registry/src/github.com-1ecc6299db9ec823/async-global-executor-2.1.0/Cargo.toml`
#0 17.99
#0 17.99 Caused by:
#0 17.99   failed to parse the `edition` key
#0 17.99
#0 17.99 Caused by:
#0 17.99   this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions.

You need rust >= 1.59.0


Draft PR with all LSTM changes lumped together

A draft PR with all available components to run the LSTM model in int16.
See tensorflow/lite/micro/examples/mnist_lstm/amd_example.py

All changes are merged.