Suggestion for using ShellCheck for the Linux/Mac script

It is not always mandatory, but using some external tools such as ShellCheck can help to find potential bugs and risks in the shell code that is produced by the Instl script.
This is the report generated for the username/reponame script:
[Line 1:](javascript:setPosition(1, 1))
################################################################################
^-- [SC2148](https://www.shellcheck.net/wiki/SC2148) (error): Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.

[Line 230:](javascript:setPosition(230, 10))
  alias "${1}$2"="$3"
         ^-- [SC2139](https://www.shellcheck.net/wiki/SC2139) (warning): This expands when defined, not when used. Consider escaping.

[Line 242:](javascript:setPosition(242, 19))
  alias -p | grep $1 | cut -d'=' -f1 | awk -F"$1" '{print $2; }'
                  ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([2])), apply [all SC2086](javascript:applyFixCode(2086)))
  alias -p | grep "$1" | cut -d'=' -f1 | awk -F"$1" '{print $2; }'

[Line 265:](javascript:setPosition(265, 10))
mkdir -p $binaryLocation
         ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([3])), apply [all SC2086](javascript:applyFixCode(2086)))
mkdir -p "$binaryLocation"

[Line 274:](javascript:setPosition(274, 10))
mkdir -p $installLocation
         ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([4])), apply [all SC2086](javascript:applyFixCode(2086)))
mkdir -p "$installLocation"

[Line 313:](javascript:setPosition(313, 16))
getReleaseArgs=$curlOpts
               ^-- [SC2128](https://www.shellcheck.net/wiki/SC2128) (warning): Expanding an array without an index only gives the first element.

[Line 315:](javascript:setPosition(315, 21))
releaseJSON="$(curl ${getReleaseArgs[@]})"
                    ^-- [SC2068](https://www.shellcheck.net/wiki/SC2068) (error): Double quote array expansions to avoid re-splitting elements.

[Line 340:](javascript:setPosition(340, 6))
if [ $arch == "x86_64" ]; then
     ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([7])), apply [all SC2086](javascript:applyFixCode(2086)))
if [ "$arch" == "x86_64" ]; then

[Line 342:](javascript:setPosition(342, 8))
elif [ $arch == "i386" ] || [ $arch == "i686" ]; then
       ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.
                              ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([8,9])), apply [all SC2086](javascript:applyFixCode(2086)))
elif [ "$arch" == "i386" ] || [ "$arch" == "i686" ]; then

[Line 366:](javascript:setPosition(366, 22))
  currentOsAliases+=(${linux[@]})
                     ^-- [SC2206](https://www.shellcheck.net/wiki/SC2206) (warning): Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a.

[Line 368:](javascript:setPosition(368, 22))
  currentOsAliases+=(${darwin[@]})
                     ^-- [SC2206](https://www.shellcheck.net/wiki/SC2206) (warning): Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a.

[Line 415:](javascript:setPosition(415, 8))
  if [ $score -gt $maxScore ]; then
       ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.
                  ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([12,13])), apply [all SC2086](javascript:applyFixCode(2086)))
  if [ "$score" -gt "$maxScore" ]; then

[Line 429:](javascript:setPosition(429, 19))
downloadAssetArgs=$curlOpts
                  ^-- [SC2128](https://www.shellcheck.net/wiki/SC2128) (warning): Expanding an array without an index only gives the first element.

[Line 431:](javascript:setPosition(431, 6))
curl ${downloadAssetArgs[@]}
     ^-- [SC2068](https://www.shellcheck.net/wiki/SC2068) (error): Double quote array expansions to avoid re-splitting elements.

As I said, It is not always mandatory but the team should definitely take a look at these warnings and errors reported that may help to make the script more safe.

Hi, sorry for the late reply. Instl was not maintained, but I want to give it some attention now, as I still think the project idea is awesome.
We will definitely include a linter now, and generally improve the scripts.


Bindings for control+shift send control instead

Bindings for control+shift+key (<C-S-{Key}>) send control+key instead.
I'm using  and  to move window panes, which works correctly in NeoVim in Termite and NeoVim-QT, but not in eovim. So far, it's the only thing keeping me from switching to eovim as my main Vim.

eovim --version: eovim <IP_ADDRESS>-24cd28f
nvim --version | head -n1: NVIM v0.3.3
edje_cc --version: Version: 1.21.1

Sorry for taking that longing before answering.
I'll have a look.

And one year later... the problem is partly due to eovim's own handling of Ctrl+Shift, which can be argued against. But even if removed,  it seems that neovim itself cannot properly handle <C-S-> keys (neovim/neovim#12037).


Automatic normalization bounds produce sub-optimal images

Expected behaviour
False colour spectrograms, rendered for the zooming and fixed-scale visualisations should be similar or identical.
Actual behaviour
Due to the fact that the IndexPropertiesConfig.Zooming.yml config file uses automatic normalization bounds and the IndexPropertiesConfig.yml does not, the images rendered for zooming look different from those done by normal generation. In particular, they generally look very red,/green and at lower scales, very green.
If you look on Ecosounds and correlate the data there with images we produce offline, you'll find plenty of examples where the colour profiles are sub-optimal.
Here is one demo: This data was used in the workshop and is attributed to Liz Znidersic. It is from the Tasmania Mez site, on the 2015-11-14.
Here is a manually composited image of the zooming tiles:

And the standard rendering (through Towsey.Acoustic):

Steps to reproduce the behaviour

What command did you use?

The standard commands for generating indices (audio2csv and Towsey.Acoustic.yml) and generating zooming images (DrawZoomingSpectrograms)

What config file did you use?

The standard configs
A local copy here: \\Sef-bigdata-10\d$\tasmania_mez\Towsey.Acoustic.Zooming.yml

Where can we find the source data used?

\\Sef-bigdata-10\d$\tasmania_mez has a copy of the zooming indices and tiles

Any other details
This issue affects all images used for zooming spectrograms  on the Ecosounds website. The changes made to normalization bounds should be tested for multiple zoom levels, and multiple sites.

@towsey did some work on this in https://github.com/QutEcoacoustics/audio-analysis/commit/ad1f0f8162e36949fd7b1622075812ff8d79762c

@towsey - I remember what we were talking about now.
We were concerned that the histograms output for the zooming indices were very flat (and thus not useful for automated normalisation).

you were going to investigate why the BGN histogram had a weird gap in its distribution

we were going to check the histogram functions for soundness given the very large number of values involved (possible int32 overflow?)

Phil and I were discussing this:

We may need to calculate the distributions separately for each zoom level
Are confidence intervals useful here?
If you thought it was useful, we maybe should calculate index values and distributions for a significant (and random) subset of our entire audio collection (periodically) and use those fixed values in all zooming rendering. This would be an example of a offline analysis

Hi Anthony,
Thanks for reminding me about this. Yes, it also occurred to me that we might have to calculate bounds for each ICD level separately. And yes these could be calculated based on an off-line sample of a representative selection of samples.
I need to think about this some more.
It would take a bit of experiemnting. Which I would like to do some time!
By taking a sample, we would avoid the integer overflow problem - if that is indedd one of the problems.
Cheers, Michael
Dr. Michael Towsey
ORCID iD http://orcid.org/0000-0002-8246-7151
QUT Ecoacoustics Research Group  |  www.Ecosounds.orghttp://www.ecosounds.org/
Science and Engineering Faculty
S block, Level 10, Room 1002, Garden Point Campus,
Queensland University of Technology,
Brisbane, Queensland 4001
Australia
Phone +61 7 3138 9381
Fax     +61 7 3138 9390

From: Anthony Truskinger<EMAIL_ADDRESS>Sent: 09 August 2018 10:27:36
To: QutEcoacoustics/audio-analysis
Cc: Michael Towsey; Mention
Subject: Re: [QutEcoacoustics/audio-analysis] Automatic normalization bounds produce sub-optimal images (#186)
@towseyhttps://github.com/towsey - I remember what we were talking about now.
We were concerned that the histograms output for the zooming indices were very flat (and thus not useful for automated normalisation).

you were going to investigate why the BGN histogram had a weird gap in its distribution

we were going to check the histogram functions for soundness given the very large number of values involved (possible int32 overflow?)

Phil and I were discussing this:

 *   We may need to calculate the distributions separately for each zoom level
 *   Are confidence intervals useful here?
 *   If you thought it was useful, we maybe should calculate index values and distributions for a significant (and random) subset of our entire audio collection (periodically) and use those fixed values in all zooming rendering. This would be an example of a offline analysis

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/QutEcoacoustics/audio-analysis/issues/186#issuecomment-411597413, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AG5vg0fdfnhzImJmerDs5GgMDxDEW_Uhks5uO4H4gaJpZM4VnjQw.

More work is required for this.
We need to see

the 24-hour image generated from the zooming analysis
and the new distribution image

Keep in mind, this issue when closed will trigger a solid 6-9 months of computation as we update all the images on Ecosounds.

Closed in #233


Allow user to specify directory in path

e.g.
python3 file2txt.py \
  --mode pdf \
  --file tests/files/pdf/fanged_data_good.pdf \
  --output examples/fanged_data_good.pdf \
  --defang true \
  --extract_text_from_image false \
  --ai_prettify true

gives the error
2024-07-07 08:53:38,571 DEBUG request_id: req_86bdb9ead130f44ada1430d068cc78d4
2024-07-07 08:53:38,575 INFO conversion successful
2024-07-07 08:53:38,575 ERROR ran into an exception while parsing: [Errno 2] No such file or directory: 'examples/fanged_data_good.pdf'.
2024-07-07 08:53:38,575 ERROR see /Users/dgreenwood/Documents/repos/dogesec/file2txt/logs/file2txt_20240707-085330_742911.log for more info
2024-07-07 08:53:38,576 DEBUG [Errno 2] No such file or directory: 'examples/fanged_data_good.pdf'
Traceback (most recent call last):
  File "/Users/dgreenwood/Documents/repos/dogesec/file2txt/file2txt.py", line 95, in <module>
    output_file.write_text(BaseParser.PAGE_SEPARATOR.join(output))
  File<EMAIL_ADDRESS>line 1078, in write_text
    with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'examples/fanged_data_good.pdf'
2024-07-07 08:53:38,649 DEBUG close.started
2024-07-07 08:53:38,649 DEBUG close.complete
2024-07-07 08:53:38,721 INFO removing temp dir at /var/folders/xb/_snhq4792s9g4lmrg3cy_q480000gn/T/file2txt_cwao1rj3

@fqrious why is it no longer relevant? Surely a user will still want to be able to dictate output path manually in some cases?

a user could already specify directory, the reason that failed was because examples folder did not exist. Also, now you no longer get to specify output file but output directory, as we're extracting all images along with the markdown file


Images in {{amp_content}} not showing

Issue Summary
AMP versions of posts do not contain images
To Reproduce

Setup clean ghost instance docker run -d --name some-ghost -e server__port=3001 -e url=http://localhost:3001 -p 3001:3001 ghost (I used docker, but the same issue occurs locally)
Create sample post with an image in content
Go to the AMP version of the post ( add /amp/ to post URL)
Image in content is missing while the non-AMP version shows it just fine

I've tried reporting this trough the forums, but this wasn't too helpful...
Technical details:

Ghost Version: 2.21.1
Node Version: docker image // locally v10.15.3
Browser/OS: Chrome 74.0.3729.108 / MacOS 10.14.4 (18E226)
Database: SQLite

Hi @schliflo :wave: Let's keep the discussion to the forum for now, as this is not a clear case to open an issue in Ghost's core repository :+1:


FetchRobots returning empty array for Litter Robot 4

Hi! Thanks for creating this project! I'm guessing that the API has changed, but just wanted to report that FetchRobots seems to be returning an empty array for me, despite successfully getting an auth token, and the call to /users/id/robots returning a 200 response.  Any advice would be much appreciated!

Hello @geekdave thanks for reaching out!
The exporter is still working for me and fetching my litter robot correctly. Can you provide any further information, like the number of robots you have registered and which product versions they are?
I only have a litter robot 3 connect, so that's the only device I'm able to test with directly.

Hi @tlkamp - Thanks for the response! I have a LR4, and it appears from a related project that the LR4 has its own separate GraphQL API endpoint: https://github.com/natekspencer/pylitterbot/blob/main/pylitterbot/robot/litterrobot4.py#L28
Using the pylitterbot python package, and the example in the README, I was able to successfully authenticate and print out my LR4's info and status.
I'm better in python than golang, so I may wind up building a simple LR4 prometheus exporter on top of pylitterbot.  I'll report back on how that goes. :)
Thanks for the inspiration!

@geekdave sounds good! I'm comfortable with Python also if you'd like a collaborator!

@tlkamp I'm super late to reply, but I've got a working python-based exporter up and running at https://github.com/geekdave/litter_robot_exporter but it only supports LR4 now.  PRs welcome if you're still interested in collaborating and possibly adding LR3 support! I've credited you in the README for inspiring this project. :)


Why does Vue CLI starter project have a static folder and an assets folder?

In the Vue CLI starter project for Nuxt, the favicon is found in it's own folder called static but there is also an assets folder for other static resources like images/css ect.
Is there a reason why we have both of these folders, can the favicon be stored in the assets folder (or images, css in the static folder), thus removing the need for an extra folder?
Thanks, and Merry Christmas! :)

Hi, thanks and Merry Christmas also! :)
Currently it's more to show an example of the difference between resource load with and without webpack and also to show that the static directory content is copied during nuxt generate for static hosted application.
It should be erase in the future when the documentation website will be complete.
Or perhaps, we should add all directories like (store, plugins, etc) but with only a README.md inside to explain what kind of content should be inside.
Not sure about the last solution yet ;)


Gradle should honor version range constraints when they are compatible

Context
See #2869
This PR is an implementation attempt. Implementation wise, here's how it works:

a node a1 is added to the graph, saying A with version range [3,6]
another node a2 is added to the graph, saying A with version range [4,8]
we resolve a1, which triggers version listing. The list of versions may return anything from 1 to 10
versions are ordered by latest first, so we're going to check 10 first, then 9, ...
as soon as a matching version is found, the version is selected. So for a1, we select 6.
we fetch metadata for 6, checking that it is effectively available (this typically triggers the download of a POM or Ivy XML file for this version)

The following steps are new.
7. we check if the selector says that it may return other compatible matches. For ranges, this selector says yes (see VersionSelector#requiresAllVersions).
8. because it says yes, we continue the selection process, but this time just remember that versions match the selector. We do not try to fetch metadata for them, as it would have serious consequences on performance.
9. when we finished checking all versions within range, we check how many versions matched
10. if a single version matched, we return metadata like the previous algorithm did
11. if more than one version matched, we wrap the component metadata into special metadata which is the selected version, completed with the list of additional versions that could have been selected because in the range, but were not because they are not the latest in range.
12. we perform the same selection for a2. At this point, instead of returning 6 for a1 and 8 for a2, we return 6+[3,6] for a1 and 8+[4,8] for a2.
Because the two nodes have different versions, conflict resolution kicks in. The PR adds a new conflict resolver which knows about dealing with this special metadata. When it sees 2 (or more) candidates for which the metadata could have been replaced with a different candidate, it tries to re-conciliate them.

we compute the intersection of versions from candidates a1 and a2. The intersection is [4,6].
we select the latest version of the intersection, which is 6.
we look into the candidates, and select one which had 6 as its upper bound. This is 6+[3,6].

Should another node be included later in the graph, a3 with range [3,5], since we kept the range metadata, we can proceed similarly and we will select 5+[3,5].
It's worth noting that we don't have to fetch metadata for all versions, because we know we will eventually select a version which is within the range: we didn't add any new node to the graph, nor did we mutate nodes in the graph, we just selected one node over the other. This only works because we align to the latest version in a range.
I'm not 100% satisfied with the current implementation, as it kind of introduces a special case, but I tried to make it independent of ranges.
Ideas welcome.

FTR I'm not planning to merge this PR as is. I'm not satisfied with the implementation, and would like to investigate how to avoid wrapping. I plan to experiment with a different approach next week.


Coordinate marketing

Cross-promote with Software Carpentry, WiDS, Research Data Challenge

My apologies. This didn't happen. I ran out of time in the last couple of weeks (everything happened at once, and I didn't ask for help).


add nullable support

Closes #22

Pull Request Test Coverage Report for Build 254

17 of 18 (94.44%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.6%) to 97.436%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/utils/schemaUtils.js
16
17
94.12%

Totals

Change from base Build 250:
-0.6%

Covered Lines:
494

Relevant Lines:
498

💛  - Coveralls

This looks fantastic!

Thanks! :)
I've added a test and fix handling for a case that a type was not set for a nullable property.


Hydration Error when i importing Dashboardlayout in my next js app

Steps to reproduce
Steps:

Open this link to live example: (required)

Current behavior
https://github.com/mui/material-ui/issues/44600
Expected behavior
https://github.com/mui/material-ui/issues/44600
Context
https://github.com/mui/material-ui/issues/44600
Your environment
My issue listed here please click on the link
Search keywords: Material ui toolpad

Duplicate of https://github.com/mui/material-ui/issues/44600


Support extended FABs collapsing into a FAB

Reference: https://m3.material.io/components/floating-action-button/guidelines
part of https://github.com/flutter/flutter/issues/91605
https://user-images.githubusercontent.com/48603081/169766247-1b702eff-e409-4ba3-8734-ad00b8c608d3.mp4

cc: @guidezpl

Added to the tracking issue.

CC @darrenaustin

I wonder if this issue could be a bit broader so the M3 fab can support a wider variety of transformations. The Material spec states:

The FAB can expand and adapt to any shape, including a surface that is part of the app structure, or a surface that spans the entire screen."
Maybe this should be a separate issue, but it seems like the extended/collapsed transitions are just a subset of broader support for FAB transformations.

https://github.com/flutter/flutter/assets/14010579/eec890aa-61a9-47d2-b407-d98d8f74f1a7
Animating the bottom bar while scrolling is also very good, and it is recommended to consider adding this feature as well

247377707-373d9324-c495-41de-ba9c-6cf70975d783.mp4
Animating the bottom bar while scrolling is also very good, and it is recommended to consider adding this feature as well

Is this a video of an implementation of yours? I tried implementing it myself by switching between FloatingActionButton.extended and FloatingActionButton and an AnimatedContainer to animate the width. However I can't get the icon to stay at the same position relative to the FloatingActionButton container. It looks weird :/

Here is the widget I use to be close to the material demo
class ExtandableFloatingActionButton extends StatefulWidget {
  final IconData icon;
  final String label;
  final ScrollController scrollController;
  final void Function() onPressed;

  const ExtandableFloatingActionButton(
      {super.key,
      required this.icon,
      required this.label,
      required this.scrollController,
      required this.onPressed});

  @override
  State<ExtandableFloatingActionButton> createState() =>
      _ExtandableFloatingActionButtonState();
}

class _ExtandableFloatingActionButtonState
    extends State<ExtandableFloatingActionButton> {
  bool _extended = true;

  @override
  void initState() {
    super.initState();
    widget.scrollController.addListener(_scrollListener);
  }

  @override
  void dispose() {
    widget.scrollController.removeListener(_scrollListener);
    super.dispose();
  }

  void _scrollListener() {
    bool maxScrollReached = widget.scrollController.position.maxScrollExtent ==
        widget.scrollController.position.pixels;
    bool scrollUp = widget.scrollController.position.userScrollDirection ==
        ScrollDirection.forward;

    setState(() => _extended = maxScrollReached || scrollUp);
  }

  @override
  Widget build(BuildContext context) {
    return FloatingActionButton.extended(
      extendedIconLabelSpacing: _extended ? 10 : 0,
      extendedPadding:
          _extended ? null : const EdgeInsets.symmetric(horizontal: 16),
      onPressed: widget.onPressed,
      icon: Icon(widget.icon),
      label: AnimatedSize(
        duration: const Duration(milliseconds: 200),
        child: _extended ? Text(widget.label) : Container(),
      ),
    );
  }
}

https://github.com/flutter/flutter/assets/56238361/0e2b6546-4132-42c7-8660-90afc11e2567

To make this more stable I've added the following so that tiny scroll events don't animate it.
class ExpandableFloatingActionButton extends StatefulWidget {
  final IconData icon;
  final String label;
  final ScrollController scrollController;
  final void Function() onPressed;

  const ExpandableFloatingActionButton(
      {super.key, required this.icon,
      required this.label,
      required this.scrollController,
      required this.onPressed});

  @override
  State<ExpandableFloatingActionButton> createState() =>
      _ExpandableFloatingActionButtonState();
}

class _ExpandableFloatingActionButtonState
    extends State<ExpandableFloatingActionButton> {
  bool _extended = true;
  double prevPixelPosition = 0;

  @override
  void initState() {
    super.initState();
    widget.scrollController.addListener(_scrollListener);
  }

  @override
  void dispose() {
    widget.scrollController.removeListener(_scrollListener);
    super.dispose();
  }

  void _scrollListener() {
    if ((prevPixelPosition - widget.scrollController.position.pixels).abs() >
        10) {
      bool maxScrollReached =
          widget.scrollController.position.maxScrollExtent ==
              widget.scrollController.position.pixels;
      bool scrollUp = widget.scrollController.position.userScrollDirection ==
          ScrollDirection.forward;

      setState(() => _extended = maxScrollReached || scrollUp);
    }

    prevPixelPosition = widget.scrollController.position.pixels;
  }

  @override
  Widget build(BuildContext context) {
    return FloatingActionButton.extended(
      extendedIconLabelSpacing: _extended ? 10 : 0,
      extendedPadding:
          _extended ? null : const EdgeInsets.symmetric(horizontal: 16),
      onPressed: widget.onPressed,
      icon: Icon(widget.icon),
      label: AnimatedSize(
        duration: const Duration(milliseconds: 200),
        child: _extended ? Text(widget.label) : Container(),
      ),
    );
  }
}


⚠ Processors has degraded performance

In 470cd29, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 117 ms

Resolved: Processors performance has improved in 5b332af.


salary numbers formatted - typos fixed - dependencies updated

Description
Truncated salary numbers on front-end views
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] 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 not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Recent commit had to be merged to branch through a git pull Commit was only README.md update to include numeral.js documentation and usage


k3s crashes on thread exhaustion.  Can't be restarted immediately due to db locking

Version:
k3s version v1.17.2+k3s1 (cdab19b0)
K3s arguments:
/sbin/k3s server --no-deploy traefik --node-label galileosuite.com/allow-galileo-re
dis-0=true --node-label galileosuite.com/allow-galileo-pxc-0=true --node-label galileosuite.com/allow-galileo-clickhouse-default-0-0=true --node-lab
el galileosuite.com/allow-galileo-clickhouse-default-1-0=true --node-label galileosuite.com/allow-galileo-zookeeper-0=true --node-label galileosuite
.com/allow-galileo-zookeeper-1=true --node-label galileosuite.com/allow-galileo-zookeeper-2=true --node-label galileosuite.com/allow-prometheus=true
--node-label galileosuite.com/allow-alertmanager=true --node-label galileosuite.com/allow-grafana=true --node-label k3os.io/mode=local --node-label
k3os.io/version=v0.9.1
Describe the bug

we ran into an issue (twice now) where k3s crashes on a message regarding thread exhaustion, then after many failed restarts with exceptions about the sqlite db, supervise-daemon eventually gives up and stops restarting it. After this, it is possible to start k3s manually without issue.
To Reproduce

Simply run k3s with above options.  We have 3 helm charts deployed, running about 60 pods on a server with 8 cores and 32GB of RAM.   Nothing terribly interesting.  No signs of CPU,Memory, or Disk i/o constraints.
Expected behavior

Normal operation
Actual behavior

k3s crashes with the following output.  Then repeatedly fails to start with go exceptions regarding the sqlite db:
runtime: program exceeds 10000-thread limit
fatal error: thread exhaustion
runtime stack:
runtime.throw(0x3e409c2, 0x11)
/usr/local/go/src/runtime/panic.go:774 +0x72
runtime.checkmcount()
/usr/local/go/src/runtime/proc.go:600 +0xac
runtime.mcommoninit(0xc020642a80)
/usr/local/go/src/runtime/proc.go:618 +0x73
runtime.allocm(0xc000080000, 0x3ff0508, 0xc000000001)
/usr/local/go/src/runtime/proc.go:1489 +0x150
runtime.newm(0x3ff0508, 0xc000080000)
/usr/local/go/src/runtime/proc.go:1804 +0x39
runtime.startm(0xc000080000, 0x6d86f01)
/usr/local/go/src/runtime/proc.go:1969 +0x12a
runtime.handoffp(0xc000080000)
/usr/local/go/src/runtime/proc.go:2007 +0x29a
runtime.retake(0x24f4a2d8b343, 0x1)
/usr/local/go/src/runtime/proc.go:4444 +0x157
runtime.sysmon()
/usr/local/go/src/runtime/proc.go:4353 +0x120
runtime.mstart1()
/usr/local/go/src/runtime/proc.go:1201 +0xc3
runtime.mstart()
/usr/local/go/src/runtime/proc.go:1167 +0x6e
Additional context / logs
Full log from kubelet start:
shorter.log

Looks to be a kine issue, I see a ton of goroutines all with a similar stack:
goroutine 4132 [select]:
github.com/rancher/k3s/vendor/github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0xc01582ede0, 0xc01b131ad0, 0xb, 0xb, 0x0, 0x0)
	/go/src/github.com/rancher/k3s/vendor/github.com/mattn/go-sqlite3/sqlite3.go:1994 +0x1e3
database/sql.(*Rows).nextLocked(0xc00ea1b200, 0x420000)
	/usr/local/go/src/database/sql/sql.go:2767 +0xd5
database/sql.(*Rows).Next.func1()
	/usr/local/go/src/database/sql/sql.go:2745 +0x3c
database/sql.withLock(0x4769740, 0xc00ea1b230, 0xc01852fba0)
	/usr/local/go/src/database/sql/sql.go:3184 +0x6d
database/sql.(*Rows).Next(0xc00ea1b200, 0xc012662c78)
	/usr/local/go/src/database/sql/sql.go:2744 +0x87
github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/sqllog.RowsToEvents(0xc00ea1b200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/sqllog/sql.go:233 +0xfa
github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/sqllog.(*SQLLog).List(0xc000ca93c0, 0x47bb880, 0xc00091bc40, 0xc00364be60, 0x52, 0x0, 0x0, 0x1, 0x0, 0xc004580501, ...)
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/sqllog/sql.go:200 +0x16e
github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured.(*LogStructured).get(0xc001099410, 0x47bb880, 0xc00091bc40, 0xc00364be60, 0x52, 0x0, 0x1, 0x5, 0x1, 0x7f9dfd9c36d0, ...)
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/logstructured.go:55 +0xa6
github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured.(*LogStructured).Delete(0xc001099410, 0x47bb880, 0xc00091bc40, 0xc00364be60, 0x52, 0x1b8fe8, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/logstructured.go:120 +0x177
github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured.(*LogStructured).ttl.func1(0x47bb880, 0xc00091bc40, 0xc001099410, 0xc003ec5f60)
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/logstructured.go:305 +0x148
created by github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured.(*LogStructured).ttl
	/go/src/github.com/rancher/k3s/vendor/github.com/rancher/kine/pkg/logstructured/logstructured.go:299 +0xa1

Does your workload perhaps rely heavily on leases? There's this issue in upstream, but since kine sort of does its own thing (and the code even has a note about how it's particularly naieve) this is probably a k3s/kine thing.

Just for giggles, I added log statements to the kine ttl code, and raised the stock kine log messages from debug to info. The current ttl approach is pretty rough - not only do you get a goroutine per event (as expected), you also get a goroutine per non-compacted revision for keys that are replaced (such as leases). All of theses stacked goroutines then expire at once and all try to delete the already-deleted kv store entries.
This is all just against a bog-standard install with nothing running; if there was an actual workload I imagine things could get a lot worse.
time="2020-04-09T16:12:07.844838667-07:00" level=info msg="Starting k3s v1.17.4+k3s-937b13b3 (937b13b3)"
time="2020-04-09T16:12:07.845030968-07:00" level=info msg="Cluster bootstrap already complete"
time="2020-04-09T16:12:07.856245067-07:00" level=info msg="CREATE /registry/health, size=17, lease=0 => rev=774, err=rpc error: code = InvalidArgument desc = etcdserver: duplicate key given in txn request"
time="2020-04-09T16:12:07.856302465-07:00" level=info msg="Kine listening on unix://kine.sock"
time="2020-04-09T16:12:07.856951342-07:00" level=info msg="Running kube-apiserver --advertise-port=6443 --allow-privileged=true --anonymous-auth=false --api-audiences=unknown --authorization-mode=Node,RBAC --basic-auth-file=/var/lib/rancher/k3s/server/cred/passwd --bind-address=<IP_ADDRESS> --cert-dir=/var/lib/rancher/k3s/server/tls/temporary-certs --client-ca-file=/var/lib/rancher/k3s/server/tls/client-ca.crt --enable-admission-plugins=NodeRestriction --etcd-servers=unix://kine.sock --insecure-port=0 --kubelet-certificate-authority=/var/lib/rancher/k3s/server/tls/server-ca.crt --kubelet-client-certificate=/var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt --kubelet-client-key=/var/lib/rancher/k3s/server/tls/client-kube-apiserver.key --proxy-client-cert-file=/var/lib/rancher/k3s/server/tls/client-auth-proxy.crt --proxy-client-key-file=/var/lib/rancher/k3s/server/tls/client-auth-proxy.key --requestheader-allowed-names=system:auth-proxy --requestheader-client-ca-file=/var/lib/rancher/k3s/server/tls/request-header-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6444 --service-account-issuer=k3s --service-account-key-file=/var/lib/rancher/k3s/server/tls/service.key --service-account-signing-key-file=/var/lib/rancher/k3s/server/tls/service.key --service-cluster-ip-range=<IP_ADDRESS>/16 --storage-backend=etcd3 --tls-cert-file=/var/lib/rancher/k3s/server/tls/serving-kube-apiserver.crt --tls-private-key-file=/var/lib/rancher/k3s/server/tls/serving-kube-apiserver.key"
Flag --basic-auth-file has been deprecated, Basic authentication mode is deprecated and will be removed in a future release. It is not recommended for production environments.
I0409 16:12:07.857508    1051 server.go:622] external host was not specified, using <IP_ADDRESS>
I0409 16:12:07.857829    1051 server.go:163] Version: v1.17.4+k3s-937b13b3
I0409 16:12:07.862080    1051 plugins.go:158] Loaded 11 mutating admission controller(s) successfully in the following order: NamespaceLifecycle,LimitRanger,ServiceAccount,NodeRestriction,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,MutatingAdmissionWebhook,RuntimeClass.
I0409 16:12:07.862319    1051 plugins.go:161] Loaded 7 validating admission controller(s) successfully in the following order: LimitRanger,ServiceAccount,Priority,PersistentVolumeClaimResize,ValidatingAdmissionWebhook,RuntimeClass,ResourceQuota.
I0409 16:12:07.864429    1051 plugins.go:158] Loaded 11 mutating admission controller(s) successfully in the following order: NamespaceLifecycle,LimitRanger,ServiceAccount,NodeRestriction,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,MutatingAdmissionWebhook,RuntimeClass.
 The TTL eviction in kine is an extremely naive approach that (up until now) just seemed to work.  What I guess is happening is that in general a goroutine does not create a thread, but in this situation we are creating a lot of short lived goroutines that are making a CGO call, which then all block.  So I imagine there is a large number of records that are getting purged at once which is then creating way too many OS threads due to the CGO.  Seem like we just need to implement a less naive approach to TTL in kine.

The stupidest solution would just be to put a mutex in the goroutine around the Delete call so that they are sequential (which they are reqardless because of sqlite).  But adding the mutex would allow the goroutines to not block on CGO, but instead a mutex.  We can have millions of goroutines with no issue.

@ibuildthecloud yeah, having it block on a mutex instead of somewhere deep in the bowels of sqlite is probably an easy immediate fix.
I'm looking for stuff to do in Go, I thought it might be fun to try to write a dedicated goroutine to handle TTL expiration. Fixing the TTL resetting on startup would probably require a schema change to track key change timestamps. I'll put together a PR and let you see if it looks too ugly.

the is fixed on @pdisciascio setup when using the patched version of kine that includes the mutex in the ttl event handling, please reopen if you still seeing the problem.


Custom property VSA

Addition of a version of the VSA descriptor that takes a custom property and custom bins.

Changes done according to the comments.

The dependency on the 3d descriptor data structure is removed.

Thanks Sereina!


No widget appears in Big Sur

No widget appears to be available in Big Sur

Hi @aqres
Widgets in Big Sur are not yet available, but I'm working on it.


Question about config on nuscenes

Hello,
It seems that the data association is "one-stage"  just using the high confidence threshold according to the configure file on nuscenes(the redundancy mod is default). Does it mean "one-stage" data association have best performance on nuscenes, rather than "two-stage" association which is used on waymo dataset? So Could you explain why, Is it related to frequency of Datasets?
Thank you

Hi @liuchenxv , thanks for the question! To briefly answer your question, yes, we do not have the two-stage association in the config file. To address your full concern, the following information and clarifications might be helpful.

The difference in using two-stage association or not is driven by the different metrics on Waymo and NuScenes. Waymo uses MOTA as the main metric, requiring a high score threshold  to filter out the low quality detections, thus need a two-stage association with low score threshold to save the early termination. However, NuScenes takes AMOTA as the main metric, which requires the outputting of both low&high quality boxes, thus we uses a super low score threshold and output almost all the detections. That's why we don't use two-stage association in NuScenes, because the score threshold cannot get even lower.

For the 10Hz experiments in NuScenes, you can consider that we are also using the two-stage association in a way. We use the detections on non-key frames to extend the tracklets. You may refer to this function for details. In nuscenes inference, you can find the way to run SimpleTrack on NuScenes with 10Hz data and track the function step by step.

Thanks.I get it.


IDE shows warning regarding support for multipod deployments while using the operator.

When targeting multi-pod deployments, mirrord impersonates the first pod in the deployment. Support for multi-pod impersonation requires the mirrord operator, which is part of mirrord for Teams.

This warning should not be shown while the operator is in use.

Need to add new env for this to work

Need to add new env for this to work

Done in #116


Issue with import react components on server

Great idea! This would save a lot of time for my team.
I'm facing an issue while using the imported react component. What is going wrong here?
Is this related to how the component needed to be done?
var React = require('react');
var Oy = require('oy-vey')
const {Table, TBody, TR, TD} = Oy;
var tempalte = require('../views/emails/react/template.jsx');

 const html = Oy.renderTemplate(<Template  />, {,^, SyntaxError: Unexpected token <,     at Object.exports.runInThisContext (vm.js:73:16),     at Module._compile (module.js:543:28),     at Object.Module._extensions..js (module.js:580:10),     at Module.load (module.js:488:32),     at tryModuleLoad (module.js:447:12),     at Function.Module._load (module.js:439:3),     at Module.require (module.js:498:17)

Component - template.jsx
//switched to require instead of import.
var React = require('react');
var { Grid, Row, Col } = require('react-flexbox-grid');
const {Table, TBody, TR, TD} = Oy;
export default (props) => {
//a lot of lines that return react code
}

I have also noticed Illegal export declaration error.

I'm going to guess here you're not running your node server with node-babel. Without babel you don't have support for JSX and any other ES6 lang. features you might be using, such as export.

@Rendez You're right. It took me a while to realise. The backend server is largely node only and I do not have react or babel setup and thats how most non full-stack apps would be I think. Can we look into a way to still get this working ? I've tried using http://infoheap.com/online-react-jsx-to-javascript/ to transform JSX to JS and trying to figure out ways.

The best way IMO would be to run your node process using babel-node for development, and use babel-cli to compile your ES6+JSX code into node 6-8 compatible ES2015 code for production, since babel-node isn't fast enough for a live environment.

Running node process using babel-node: https://babeljs.io/docs/usage/cli/#babel-node-usage
Compiling files into ES2015: https://babeljs.io/docs/usage/cli/#babel-compile-files

Closing this issue because it's out of the scope of this particular library. Thanks for helping, @Rendez! @yashwanthm I share Luis' recommendations. babel-node works great for development. It may even work fine for other "offline" cases where fast server response times aren't critical.


The Do not overlay site title over homepage image. was not saving

because it was not in the allowed parameter list.

:+1:

:+1:


Polish sliders

Address feedback from material design team.
Fixes #4144
Fixes #4145
Fixes #4146

@Hixie

...but it's a pity we're not animating to and from the 0.0 state.


Use introsort for table.sort

The itablib.cpp sort method seems to use a median-of-3 quicksort, which unfortunately is O(n^2) worst case time.
Introsort is a sorting algorithm that uses insertion sort on regions <16 elements, and runs heapsort when log2(n)*2 recursion depth is reached. This allows the sort to have a worst case running time of O(nlogn). Both the STL and .NET implement this, so why not Luau?
https://citeseerx.ist.psu.edu/viewdoc/download?doi=<IP_ADDRESS>.5196&rep=rep1&type=pdf

It's mostly because we haven't revisited the sorting implementation. There's definitely tons of room for performance improvement there, not the least is that it can work more directly on the underlying array which likely alone accelerates the sorting dramatically.
The performance considerations are likely to be a little different vs native sorts because when the sorting predicate is specified, the time it takes will likely dominate the execution time, and as such we would really need to minimize comparisons over all else, whereas other sorts are often minimizing a balance of comparisons/swaps/cache misses. So it would need some experimentation.

P.S. Ironically because of the inefficiencies I mentioned it looks like it should possible to write a sorting routine in Luau that competes with table.sort if you're careful.


type error at +page.ts

Describe the bug
PageLoad not found
Module '"./$types"' has no exported member 'PageLoad'
Reproduction
create +page.ts
paste the following
import type { PageLoad } from './$types';
export const prerender = true;

export const load = (async ({ fetch }) => {
  const res = await fetch('/my-server-route.json');
  return await res.json();
}) satisfies PageLoad;

Logs
No response
System Info
System:
    OS: macOS 12.4
    CPU: (8) arm64 Apple M1
    Memory: 92.25 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.15.0 - /usr/local/bin/node
    npm: 8.19.2 - /usr/local/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Safari: 15.5
  npmPackages:
    @sveltejs/adapter-auto: ^1.0.0 => 1.0.0
    @sveltejs/kit: ^1.0.0 => 1.0.1
    svelte: ^3.54.0 => 3.55.0
    vite: ^4.0.0 => 4.0.2

Severity
annoyance
Additional Information
https://stackoverflow.com/questions/74469661/sveltekit-pageload-module-not-found
this didn't work for me

it worked after npm install again. Not sure what caused this.

The types aren't gonna be there if you don't see a .svelte-kit folder, which is either:

Generated automatically if you're running the dev server
Generated manually by running the npx svelte-kit sync command

If you did either of those and still ran into the issue then please provide a proper reproduction and we'll reopen it.


Timeout for admin rest resources

The ability to set a timeout seems entirely missing from this (admin rest resources).

Still relevant


Compatibility with Apple Silicon M1

I get the error every time after import dlib:
    import dlib
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/dlib/__init__.py", line 19, in <module>
    from _dlib_pybind11 import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_dlib_pybind11.cpython-39-darwin.so, 2): no suitable image found.  Did find:
	/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_dlib_pybind11.cpython-39-darwin.so: mach-o, but wrong architecture
	/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_dlib_pybind11.cpython-39-darwin.so: mach-o, but wrong architecture

I try rebuild dlib with some settings arch.
I am using Apple Silicon M1:

face_recognition version: latest
Python version: 3.9.1 [Clang 6.0 (clang-600.0.57)] on darwin / 3.8.2 [Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin
Operating System: macOS Big Sur 11.1

file "$( "$(which python3)" -c "import sys;print(sys.executable)" )"
/Library/Developer/CommandLineTools/usr/bin/python3: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
/Library/Developer/CommandLineTools/usr/bin/python3 (for architecture x86_64):	Mach-O 64-bit executable x86_64
/Library/Developer/CommandLineTools/usr/bin/python3 (for architecture arm64):	Mach-O 64-bit executable arm64

Having the same issue with Apple Silicon

Tried on python 3.8.2 and 3.9.1 with the same result. Any idea how to proceed?

For me this config worked
I have used the default python3 shipped with my Mac m1
Then I have created a new python3 environment using
python3 -m venv env_name
We need home-brew running in terminal with rosetta
We need cmake and dlib which can be installed as follows
brew install cmake
brew install dlib
After successful installation of cmake and dlib, activate your environment using
source env_name/bin/activate
Then install dlib in python3
python3 -m pip install dlib
after successful installation launch python3 and import dlib
This worked for me

still have same problem

On m1 Mac install miniforge3 as mentioned here https://developer.apple.com/metal/tensorflow-plugin/
brew install cmake
brew install dlib
python -m venv .venv
source .venv/bin/activate
pip install dlib
face_recognition

Worked for me!

This issue is already a year old, but doesn't seem to be solved.
Does anyone still have this issue, like me?
Any solutions in sight?

@agilebean  I met this problem today and solved it finally. You may check your cmake: file which cmake, make sure it is arm64 executable.

solved it by linking the libpng library for me:
brew install libpng
export C_INCLUDE_PATH=/opt/homebrew/Cellar/libpng/1.6.37/include
export LIBRARY_PATH=/opt/homebrew/Cellar/libpng/1.6.37/lib
pip3 install dlib --force-reinstall

(replace 1.6.37 by your installed version of libpng)

I am still facing that problem with all the above suggested solutions.
import dlib
 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dlib/__init__.py", line 19, in <module>
   from _dlib_pybind11 import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/_dlib_pybind11.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace (_png_do_expand_palette_rgb8_neon

Do you have any other recommendations?

Has there been any updates on this issue, I have tried all suggested solutions and still receive the same error.
dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/_dlib_pybind11.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace (_png_do_expand_palette_rgb8_neon)

I am having the same issue except with a different missing name space.
ImportError: dlopen(//opt/anaconda3/envs/DeepFake/lib/python3.10/site-packages/dlib.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_XAllocColor'

On m1 Mac install miniforge3 as mentioned here https://developer.apple.com/metal/tensorflow-plugin/
brew install cmake
brew install dlib
python -m venv .venv
source .venv/bin/activate
pip install dlib
face_recognition

Worked for me!

I had the same problem on M2. After I brew install cmake and dlib to my system, I have no problem in any other virtual environment.


What's the tx fee/Where to set it?

I've been trying to search where opentrade sets the tx fee. It seems settxfee isn't called enywhere from the source code nor specified in the configuration file or README. Is the admin responsible for setting the tx fee on the coin client to a value different that the default?
Keep up the good work.

@rraallvv When you are listing a coin you set the MIN amount for withdraws. It freezes X amount to cover withdraw fees and remaning is paidback to the users account. I guess this is what you are looking for?

@ExchangeTime Thanks for looking into this. The fee I'm talking about is the transaction fee payed to the miner.

@ExchangeTime Thanks, I'll check it out.


Webpack 2.2.0 - Cannot assign to read only property 'exports' of object '#'

./bin/webpack --version
2.2.0

when trying webpacker-react-example i'm receiving
Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
According to chrom it seems to be coming from this line:
window.WebpackerReact.addEventEventhandlers();

module.exports = window.WebpackerReact; /* Cannot assign to read only property... */

//////////////////
// WEBPACK FOOTER
// (webpack)er-react/index.js
// module id = 81
// module chunks = 0

See https://github.com/webpack/webpack/issues/4039

Seems to be fixed by upgrading pakcage.json in webpacker-react-example

Yes, this has been fixed in version 0.0.4 of the webpacker-react NPM package. Thanks for the PR 👍


Update AND Digital logo

Use a updated version of the AND Digital logo for the sponsors section.

@adamrushy Any chance you could check this looks ok? I've run the Vapor app locally and the new logo looks to be rendering fine.

@lukestringer90 looks good, but can you screenshot all the different size variations with the rendered version?

@adamrushy Sure. Do you want me to screenshot them and attach them to this PR so you can confirm it looks good?

@adamrushy Sure. Do you want me to screenshot them and attach them to this PR so you can confirm it looks good?

Yes please 👍🏼

Thanks @adamrushy 😄


APIs are called at the root path

Description
When providing the HttpClient with a BaseAddress that has a path such as https://example.com/api/meilisearch, MeiliSearch .NET will call most APIs at the root path regardless - for example https://example.com/health instead of https://example.com/api/meilisearch/health.
Expected behavior
MeiliSearch should respect the BaseAddress path instead of forcing calls directly against the root.
Current behavior
APIs are mostly called like this: await this.http.GetAsync("/health") which causes them to always run against the root.
They should be called like this: await this.http.GetAsync("health")
There are also isolated cases where it is already done as expected, causing those calls to behave differently than most of the others: https://github.com/meilisearch/meilisearch-dotnet/blob/3137b00ebc62766a75eca947eb990e6904e09295/src/Meilisearch/Index.cs#L98

HI @Nextra,
Thank you for taking the time to write about this issue. This repo is maintained by @curquiza, they are on holiday and will check it when they are coming back.

Understood @alallema.
Should anyone else stumble across this in the meanwhile, here is a quick and dirty fix by using a message handler that patches the request URI (if necessary) before letting MeiliSearch handle it as usual:
class FixMessageHandler : MeilisearchMessageHandler
{
    public FixMessageHandler(HttpMessageHandler innerHandler)
        : base(innerHandler)
    {
    }

    protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        var endpoint = new Uri("https://example.com/api/meilisearch");

        if (!endpoint.IsBaseOf(request.RequestUri)) {
            request.RequestUri = new Uri(endpoint, request.RequestUri.PathAndQuery.TrimStart('/'));
        }

        return await base.SendAsync(request, cancellationToken);
    }
}

Hello @Nextra
Thanks for this issue!
This is indeed something we might need to handle in this SDK: not only the API root path should be accepted.
PR are welcomed, containing tests 🔥

For context: If this SDK is to be used on a client - where MeiliSearch is almost guaranteed to sit behind a reverse proxy - it is completely unusable out of the box.


⚠ AnimeBytes has degraded performance

In c5c398b, AnimeBytes ($AB) experienced degraded performance:

HTTP code: 200
Response time: 2505 ms

Resolved: AnimeBytes performance has improved in 44ad7bf after 8 minutes.


password for vagrant boxes to do scp

Hi,
Please provide password for vagrant boxes to do scp.
Regards,Vikas

You need to source to config file first.
source config
vagrant scp ....
Or
vagrant ssh [machinename]

Hi,
really sorry for the silly questions.
Regards,Vikas

They are not silly. They are good questions. I will update the README.md to include instructions on how to get inside the machines.


MNT: Re-render the feedstock [ci skip]

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (2.1.1) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The recipe license should not include the word "License".

This should be rebased.

It's the friendly automated conda-forge-admin here again.
Just to let you know, I've updated this PR so that it has the latest render from conda-smithy (version 2.3.2).
If there are no problems with it, please consider merging this PR.
If there are concerns about it, please ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!


isPostalCode validator: No way to know if locale is supported

We've started using the isPostalCode validator which is great, but there's no way to know if a given country is supported at runtime. It would be useful to have the list of supported countries exported from the module so that you could check if the locale you are wanting to validate is in the list and if not, avoid calling the function.
Something like:
import isPostalCode, {locales} from 'validator/lib/isPostalCode'

const validate = (postalCode, countryId) => {
    if (locales.indexOf(countryId) !== -1) {
        return isPostalCode(postalCode, countryId)
    } else {
        return true // ...or custom validation of unsupported country postal code
    }
}

Fixed by #720.


Mark Range.init(uncheckedBounds:) and ClosedRange.init(uncheckedBounds:) as @unsafe

@swift-ci please smoke test


Binary resources such as keystores are being corrupted

Doing:
kamel run TLS.java --resource trust.jks

The sha256sum of the trust.jsk file in the container is different from the original one, which means something has corrupted it.
Workaround is:
kubectl create secret generic trust --from-file trust.jks
kamel run TLS.java --secret trust

Which is also a best practice for such data, but this problem may cause other issues.
Tested on: https://self-signed.badssl.com/

Tried with v 1.2, and jks files are still getting corrupted. Compared the file size and its different when bundled with camel
e.g kamel run kafka.java --resource keystore.jks --resource truststore.jks
Caused by: java.io.IOException: Invalid keystore format

This is strange, as binary resources are base64 encoded.
@rampraveen83 can you try with:
kamel run kafka.java --resource keystore.jks --resource truststore.jks --compression=true

Compression is the mechanism that we tried to auto-enable on 1.2 to avoid corruption.
Also, can you double check the version with kamel version?


Sample for calling a downstream api

Is there a sample for IdentityServer4 to show how to call a downstream api with user impersonation?
For example:
User signs in in Web front end which then calls Web Api 1 and then Web Api 2 and inside Web Api 2 I would like to know which user just called?

See here:
https://identityserver4.readthedocs.io/en/release/topics/extension_grants.html

thanks for the link, really appreciate your fast response :+1:


R2RML & Oracle DB: mapping to Datetime loses time information

Description
We have an R2RML file, which should transform data from an Oracle DB to RDF format.
In Oracle DB, there is a column with type DATE, which also stores the time information. When we define an object with type xsd:dateTime, the time information is lost, only the date (e.g. 2019-08-08) remains.
Steps to Reproduce

Create an Oracle table with an ID and a column of type DATE

CREATE TABLE oracle_date_issue (
   id        NUMBER(5) PRIMARY KEY,
   created   DATE DEFAULT (sysdate)
)

Create an R2RML file which requests data from this table:

@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix map: <http://github.com/ontop/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dct: <http://purl.org/dc/terms/> .
map:ORACLE_DATE_ISSUE a rr:TriplesMap;
  rr:logicalTable [ rr:tableName "ORACLE_DATE_ISSUE"; ];
  rr:subjectMap [
    rr:template "http://github.com/ontop/oracledate/{ID}";
  ];
  rr:predicateObjectMap [
    rr:predicate dct:created;
    rr:objectMap [
      rr:column "CREATED";
      rr:datatype xsd:date;
    ];
  ];
.

Run the r2rml file against the Oracle DB

Builder<? extends Builder> builder = OntopStandaloneSQLConfiguration.defaultBuilder();
builder.enableDefaultDatatypeInference(true)//
        .r2rmlMappingGraph(graph) //
        .jdbcUser(user) //
        .jdbcPassword(password) //
        .jdbcUrl(url) //
        .jdbcDriver("oracle.jdbc.driver.OracleDriver") //
        .enableTestMode();
OntopStandaloneSQLConfiguration ontopConfig = builder.build();
InputQueryFactory queryFactory = ontopConfig.getInputQueryFactory();
OntopQueryEngine queryEngine = ontopConfig.loadQueryEngine();
OntopConnection conn = queryEngine.getConnection();
OntopStatement st = conn.createStatement();
SelectQuery query = queryFactory.createSelectQuery("construct { ?s ?p ?o } where { ?s ?p ? o}");
TupleResultSet rs = st.execute(query);
OntopBindingSet bindingSet = rs.next();
Object value = bindingSet.getValue();
System.out.println(value);

Expected behavior:
The date with time information.
Actual behavior:
Only date information is printed
Reproduces how often: always
Additional Information
I checked the code and the problematic part seems to be in OracleSQLDialectAdapter. In line 49 is defined, that TIMESTAMP should be cast to VARCHAR(4000). During this cast the time information is lost. If I replace it with DATE, I don't have any problems.
Versions
Current master branch as of 2019-08-06

Hi @yoadey , it seems that you already found a solution. Would you like to make a pull request?

I missed the notification on the merge request by yoaday. @ghxiao : Would it be possible to check out his merge request? Thanks!

Fixed by a PR (#305) merged into the version4 branch.


Pull credentials for test case manager from the test project

Instead of storing our TestRail credentials in sst testrail_helper.py, we can store them in our test project. That way we can use different TestRail project_ids for our multiple properties without having to hardcode them into sst.
For this to work, you'll need this partner PR with the TestRail credentials: https://github.com/DramaFever/testing/pull/464
Test this by running:
sst-run -d . -b Chrome -t per_case

from the testing dir or any testing subfolder (e.g. browse_page_tests).
@DramaFever/qa

LGTM!


The specified path was not found.

hi,
well i'm testing your code i found a issue in : The specified path was not found.
crana try to get the path for node modules in :  open 'C:\Users\neji trabelsi....' but in path (in my name and last name) you can see wite space neji trabelsi there for hey throw a error

Cannot read config file: C:\Users\neji
Error: ENOENT: no such file or directory, open 'C:\Users\neji'
Cannot read config file: C:\Users\neji
Error: ENOENT: no such file or directory, open 'C:\Users\neji'
Error: ENOENT: no such file or directory, open 'C:\Users\neji trabelsi\AppData\Roaming\npm\node_modules\crana\C:\Users\neji'
Le chemin d’accès spécifié est introuvable.
events.js:183
throw er; // Unhandled 'error' event
^

Error: spawn trabelsi\AppData\Roaming\npm\node_modules\crana ENOENT

Sorry i found out that the problem is in my laptop
Sory again


Fix shake when modal opens.

That's kind of annoying UI.

Fixed per https://github.com/ExpDev07/legacy-rp-admin-v3/commit/42c03019503ccdb40c36adb80724f42d6862efaa.


Solution Overview Revisions

Closes #84, #83

@nchareunsouk See PDF

Will the use of HEPA filters be detrimental to pollination?

@nchareunsouk Considering their use is limited to dehumidification and gas exchange, pollination daily/every other day can be scheduled around those requirements


Added a note to clarify the sub value

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks so much for your suggestion. I'd like to have a quick chat with the Cognito writer before I accept the PR. They are out of the office but will be back at the end of the week. I'll circle back on this and decide on next-steps.


Hello, anyone still taking care of this plugin and responding to reported issus?

Expected Behavior

Current Behavior

Steps to Reproduce (for bugs)

Versions

Homebridge: homebridge --version
Node:       node --version
Plugin:

Configuration

Homebridge Log / Command Output

seems not... :-(

No, dev is gone. Someone able to fork and take care?

@solbadguy2010 @Althir81 @cloudhoster Not all the time, but some of the time :-)


In jarvis update the monger pdfjs to a newer version [#101540764]

https://www.pivotaltracker.com/story/show/101540764
after merge, need to update jarvis with newest subproject commit

and minified too, nice.


add basic checks for reference file (#28)

Minor changes:

make sure reference file can be read
test if it starts with a '>' character
abort run if no reference sequences could be read

Thanks, this is really helpful! (Always good with fewer segfaults.)
Just one suggestion for the next PR: If you write "Closes #28" in one of your commit messages, then merging the PR would automatically close the issue.
Since @ksahlin has asked me (by e-mail) to have a look at this PR and made me collaborator, I’ll take the liberty of merging it.


Support Python 3.11

Once toolz and tqdm support Python 3.11, it should be time to support Python 3.11 ourselves.

toolz: https://github.com/pytoolz/toolz/issues/554
tqdm: https://github.com/tqdm/tqdm/issues/1387

needs to bump the toolz version to the main branch, and tqdm to the latest pypi version.


Use _time_interp_funcs in _interpolate_data

This PR fixes the recent issues with Circle. For short, _interpolate_data() now uses _time_interp_funcs
Reference: https://github.com/mne-tools/mne-python/pull/7257#discussion_r393315334

Can you touch at least one of the broken examples so that we can verify the fix?

CircleCI is fixed so I'll merge. It looks like something else has broken most of our other CIs


Microsoft.NET.Sdk.Aspire.Manifest-8.0.100.Msi.x<IP_ADDRESS>-preview.4.24114.2 not signed

When running dotnet workload install aspire Microsoft.NET.Sdk.Aspire.Manifest-8.0.100.Msi.x<IP_ADDRESS>-preview.4.24114.2 is not signed.

Looks like you've got the dotnet8 feed somewhere in your nuget configs; that's the feed that unsigned main branch builds are pushed to (main is currently preview.4, preview.3 is the most recent signed production release). Because of some weirdness with how the dotnet sdk handles workload updates, if you restore a project that has dotnet8 in its feeds, the sdk will potentially pickup the newer (versioned) Aspire build on the feed and update what's called the advertising manifest (basically metadata on what updates are available for workloads) to point to that newer build, despite the fact that it isn't a signed build.
If you do want to install and try out a daily preview.4 build, you can follow the instructions in these docs to disable the sign check when installing the workload.
If you'd like to make sure you're on the latest signed public preview (currently preview.3), there's a helper script in the repo that will ensure you have the latest public preview. Once you run that script, I'd recommend removing the .NET advertising manifest cache (~/.dotnet/sdk-advertising), as well as removing the dotnet8 feed from any projects that still have it in their nuget.config (that feed was primarily for pre-release packages ahead of the final dotnet8 release).


Unbound constructor Type.Y_Int_Arrow when used with Sexplib

Hi,
On branch sexplib-script, the following causes an "Unbound constructor Type.Y_Int_Arrow":
open Sexplib;;
let loc (n : Int) = ~free;;
But if Sexplib is opened after the function definition, it works without any errors. Is there a conflict between Sexplib and Script?
Thanks!

Hi,
Inez has a Type module which is used internally to implement uninterpreted functions. Apparently, there is also a Sexplib.Type module. If you open Sexplib, its Type comes into scope and conflicts with ours.
I would suggest using Sexplib without opening it. Just say Sexplib.foo for any foo of interest, or if you really want something shorter, just define module S = Sexplib and subsequently refer to S.foo.

Problem solved, thanks!


Have the build set license, icon, and project urls for SiteExtension

https://github.com/aspnet/AzureIntegration/issues/32
AzureAppServices.SiteExtension is a package we do not ship to nuget.org, it goes to the site extension gallery instead. Because it's marked as no-ship, the build does not stamp it with standard attributes like licenseUrl, iconUrl, and projectUrl. These have been hardcoded for now, but we should update the build to accommodate this package. We have a similar problem with signing (https://github.com/aspnet/Coherence-Signed/issues/453).

We also have to change the build so that the nuspec does not have the serviceable or repository attributes. SiteExtensions.net uses an old version of nuget (2.8?) that does not allow extra properties beyond the schema. We may just have to build the package directly from a hardcoded nuspec.

Manually done for preview1. Will automate in preview2.

Some properties KoreBuild sets that may help with automating the licence URL: $(GitBranch), $(CommitHash), $(VersionPrefix)

@muratg this can move to preview3, we're not updating the extension for preview2.

BTW the URLs currently used in the site extension are HTTP, but they should be HTTPS. However we do this work, let's make sure it's the HTTPS URLs (which are available).

We won't be doing another deployment to siteextensions.net for 2.0.0 as per the POR. Moving this out to 2.1.

This is unblocked now. Azure is updating their site extensions infrastructure such that we can build these as normal up-to-date nupkg's. Changing the category from shipoob to ship should take care of most of these issues.

cc @natemcmaster because the categorization stuff is changed/changing. Be careful about 'ship' because this isn't in the metapackage and doesn't match other criteria for things that "ship," even though this does now go to NuGet.org.

what criteria? inclusion in the metapackage is a different flag.

Yup, see this: https://github.com/aspnet/Universe/blob/dev/build/artifacts.props
Though I agree with @Eilon that we should take a look to see if this affects other things (perhaps the LZMA?)

I don't know how this stuff works now (or before, really), but I want to make sure we don't cross any streams because we really don't want to get this wrong. What's worse, if we get it wrong in certain ways, we'd likely never notice until it's too late.


[Bug-App]: Missing Download Button for Crashed Runs

Describe the bug

Hi, in my run that's crashed I can't download the full log. This is a problem because someone else ran the run and I'm trying to figure out why it crashed. The specific run I'm referring to is here.
Is this intentional? I noticed this discussion as well. If this is intentional I think this is an oversight. I understand I can get the log via the python API but that's kind of a pain for just trying to do some quick debugging. And searching the logs via the Wandb API isn't ideal because I need to switch back and forth between the log and the code, so it really needs to be done in VSCode or whatever editor people are using.

@collinmccarthy it's not exactly intentional. Currently the download button only works if the file that includes the console capture is uploaded and from the looks of it, it seems that it wasn't uploaded in your case.
We fixed the upload behavior to be more reliable, but it would still depend on the form of the crush of course if our service goes down, there is nothing we can do.
If the other developer have access to the run folder it is possible to extract the console log from the run folder.
Thanks a lot for your feedback, you make really good points.


Navbar not operational in mobile view

Fixing navbar to be responsive

I can work on this issue. Can You please assign me??


Unexpected strict mode reserved word  at createScript

Hello ,
When I'm running my typescript file using node file.ts
it is showing unexpected error.
Unexpected token : in one file when I'm using
let burger: string = "McD";
and in other file it is showing Unexpected strict mode reserved word  at createScript when I'm running the below code:
class program {
constructor(private msg: string) {
}

error:
constructor(private msg: string) {
^^^^^^^
SyntaxError: Unexpected strict mode reserved word
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:393:7)
at startup (bootstrap_node.js:150:9)
Don't know why but was working fine previously now it is showing error.
I'm using node ,npm,typescript latest versions and VS Code.
Please need some help.

*.ts file cannot be executed directly via node.
You have to:

compile it into *.js file, then execute it via node. e.g. tsc file.ts && node file.js
or using ts-node to execute. e.g. ts-node file.ts

Hey just correct yourself ...I found the solution.
you can run *.ts file in node command and *.js files on browsers.
Simply remove extension while running *.ts file using cmd like..

node tsc a
node a
and everything will work smoothly..
Happy TS...


Module did not self-register on node 8.1.3

I'm getting the following error:
module.js:598
return process.dlopen(module, path._makeLong(filename));
^
Error: Module did not self-register.
at Object.Module._extensions..node (module.js:598:18)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (SOME_PATH/node_modules/sharp/lib/constructor.js:9:15)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
There is no problem in node 6.x.
I've tried with npm rebuild, and also a clean install, and the problem persists.
Any clues???
Thanks!

Hello, the "Module did not self-register" message usually suggests either different versions of node are being used at npm install time and run time, or different platforms are being used, e.g. 32-bit vs 64-bit.

Thanks for you fast response!
I know, but I tried a rebuild, and a clean install and the problem persisted.
Then I switch back to a 6.x version and run again a rebuild and worked.
Then I switch to a 8.1.3 version and show me the errors related to different versions.
Finally with an npm rebuild I got the self register error.
Also, with a fresh install..
I'm using fedora, I'm going to dig more with this, maybe is something in my environment.
Any help is appreciated!
Thanks!

If you've not already tried it, readelf might provide some help when debugging the shared library that is being built.
$ readelf -h SOME_PATH/node_modules/sharp/build/Release/sharp.node

Closing due to inactivity but please feel free to re-open if the original problem persists.

I have been seeing this same issue with node version v6.9.2 and node 8.9.0. I tried clearing the cache and reinstalling the node modules but it didn't seem to resolve the issue...
rm -rf node_modules
npm cache clean --force
npm install

but I am still getting the error:
 Could not load sharp: Error: Module did not self-register.
    at Object.Module._extensions..node (module.js:664:18)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/brian/projects/netsblox/netsblox/node_modules/sharp/lib/constructor.js:9:15)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/brian/projects/netsblox/netsblox/node_modules/sharp/lib/index.js:3:15)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)

@brollb Please make certain that the same major version of node is being used for npm install and at runtime. For example, could there be conflicting node versions on this machine (you do mention this)?
Could there be a slightly broken global installation of libvips on this machine? What does the suggested readelf command above produce?


Search bar will fail on TNS match

The search facility has a query involving the TNS table, implemented as a watchlist. The code quotes "w.wl_id=141" literally:
https://github.com/lsst-uk/lasair4/blob/feature/web-refresh/webserver/lasair/apps/search/views.py#L84
This 141 is old and brittle, it should rather use settings.TNS_WATCHLIST_ID from lasair4/common/settings.py

Fixed in https://github.com/lsst-uk/lasair4/pull/148


Fix the inability to drag clumsy entities into the biomass reclaimer

About the PR
Some conditions in ClumsySystem were modified, so now in climbing condition clumsiness will work only if a clumsy mob will climb by itself, but if somebody will drag you onto the table, clumsiness will not work.
It was made due to the bug and comment that says that it was intended behaviour. Previously you could kill the clumsy person by non-stop dragging them onto the table (condition was always true because of args.PuttingOnTable == ent.Owner and the usage of &&.
Why / Balance
Fixes #33819
Technical details
Moves BiomassReclaimerComponent to Shared to use it in new condition in ClumsySystem
This PR adds new condition in ClumsySystem, that checks for BiomassReclaimerComponent on a target.
Also modifies conditions
Before:
!_cfg.GetCVar(CCVars.GameTableBonk)
&& args.PuttingOnTable == ent.Owner // Always sets false if being dragged by smb and && does not even consider third check
&& !rand.Prob(ent.Comp.ClumsyDefaultCheck)

After
_cfg.GetCVar(CCVars.GameTableBonk)
|| args.PuttingOnTable != ent.Owner // If we're clumsy and being dragged onto climbable, always return
|| !rand.Prob(ent.Comp.ClumsyDefaultCheck)

Media

Climbing
https://github.com/user-attachments/assets/c1b226b8-a478-49c9-addb-dd258f962375
Dragging into reclaimer
https://github.com/user-attachments/assets/c4ac10f0-573f-4ed0-b12f-0f5642e11691
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Changelog

:cl:

fix: Clumsy mobs can be dragged into biomass reclaimer once again.

Hmm, I don't like hardcoding the BiomassReclaimerComponent into the ClumsySystem, that should be an event. We just removed the ClumsyComponent from the GunSystem for the same reason: It makes systems that have nothing to do with each other depend on each other.


Increase the memory buffer size for ssl_server2.c

Description
This pull request fixes issue #1874.
Newer features in the library have increased the overall RAM usage of the library, when all features are enabled. ssl_server2.c, with all features enabled was running out of memory for the ssl-opt.sh test 'Authentication: client max_int chain, server required'.
This commit increases the memory buffer allocation for ssl_server2.c to allow the test to work with all features enabled.
Status
READY
Requires Backporting
NO
The memory allocation was big enough for all tests in mbedtls-2.11.0 and previous releases.
Todos

[ ] Tests
[ ] Documentation
[ ] Changelog updated
[ ] Backported

I agree with comment from @hanno-arm
But, once we add more features, this value of 120K will also not be enough, so we need to track this


AI stocking more resources (Stone) than they should

I just noticed a bug where the AI stocked more stone than they should. As I pointed out in the picture, the AI (Emir) stocked 2 complete piles of 48 stone each as well as 2 partial piles of 12 stones each, effectively stocking 120 stone at once. This was of course AFTER they had just sold stone from overstocking. The AIC value for maximum stone is set to 80 and this bug occured for other AI as well (Saladin - same match).
MaxStone = 80
MaxResourceVariance = 4
MaxResourceOther = 12
Both AI were effectively out of action because of missing stocking space for their flour. And I'm not even talking about the issue of dividing stone piles for no reason at all.

I did more testing also with different variables, but the general conclusion is that the bug happens to appear just sometimes and is not 100% reproducable for a single value.
With a MaxStone = 70 the AI sometimes stocked 110 stone instead so again they stocked 40 stone too much.

The bug seems to happen exclusively for values of 70 and higher. I'm not gonna dive into more testing to find where the break point between 60 and 70 is exactly but I suggest to only ever set MaxStone to 60 or lower.

Update: The AI stores [MaxStone] + [most expansive stone building] until the castle is finished. After that it will sell back ressources to just [MaxStone].


Add the ability to format date with regional language format

Add the ability to format the output date with language or region specific formats.

Merged

Awesome ... 👍🏼


Milestone: feature add greeting app front-end

Change in this pull request
In this pull request I:

Created a new React app

Initialized the project with Git.

Created the App component with react-router.

Created the Greeting component that will display a greeting. Set it up as a route in your App component.

Created a store, an action, and a reducer that will connect to the API endpoint to get the random greeting.

Display the random greeting in your Greeting component.

Hi @musangamfure,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is invalid because the link to the backend PR is broken and also some relevant headers are missing; like key features, etc. Here is a link to the README template
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Hi @musangamfure,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is invalid because README lacks relevant headers. Kindly compare and add all the relevant headers like the future features. In the earlier review, there was a link to the README template we can compare ours with. It's only the FAQ that is optional
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Federator NFT

Add Federator for reading NFT cross Event
Besides some config files needed to work with typescript, this is the first service in the federator for the NFT bridge
Description

Modified cross event variable names
Add FederatorNFT.ts to the federator directory

How to Test

Actually, it's not possible to test it yet, but you can ensure that the tests for the main bridge are working properly ;)

Run both ganache-cli

Enter into the federator directory and run the integration test

Case 1

Go to bridge directory

$~ cd bridge

Run the first ganache-cli

$~ npm run ganache

Open another shell and run the ganache mirror

$~ npm run ganache-mirror

Compile and deploy the contracts to the ganache chains

$~ npm run deployLocalIntegrationTest

Go to the Federator directory and run the test for the main bridge federator

$~ cd ../federator
$~ npm run test

Expected Result

It should pass the tests

Checklist
Bridge Directory cd bridge

[x] Lint is clean npm run lint
[x] Test is passing npm run test
[x] Contracts are compiling npm run compile

Federator Directory cd federator

[x] Lint is clean npm run lint
[x] Test is passing npm run test
[x] Typescript is compiling npm run build

Wrong branch pushed :/ feature-federation-receive-events PR opened for feature-federator-read-nft-cross


refactor: store excluded references in a set which wraps IdentityHashMap

Reference #602
I thought I would refactor the code first as suggested by @slarse.

Just glancing at that code I would begin with wrapping that map in a set (with Collections.newSetFromMap), because the values aren't used :)

I am not sure what went wrong here, because tests passed on my machine. @khaes-kth could you please re-run the workflow? I think the failure could be because of the flaky tests.

@algomaster99 The scheduled builds on master have been failing for a few days, it's probably not related to this PR.

@khaes-kth could you please re-run the workflow? I think the failure could be because of the flaky tests.

I did it, but it seems the problem isn't fix with a rerun.
@fermadeiral @monperrus : can you add @algomaster99  as a collaborator so that he can see the logs? It seems I do not have access to do it.

Aman and you now have role "maintainer".

I did it, but it seems the problem isn't fix with a rerun.

The scheduled builds are failing as pointed out by Simon. I have created a PR to fix it, but it seems like that isn't the best way.

The tests should pass here after #617 is merged.

@khaes-kth once all tests are green, you may proceed to merge. This PR just refactors the code and it doesn't fix anything.

@khaes-kth ping for merge.


using the options struct to set timeouts now in windowsland

This works for my use case and I think it won't break anyone else's.

Saw something bad, will resubmit PR later this evening


"Stop" button only shows if we enable it manually

URL
https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/run

Operating system
windows
More information about your system
No response
Description
The stop button from the tutorial doesn't show by default on Windows Microsoft Studio Community.
Needs to be enabled manually through checking the "Debug" option
dotnet --info
No response

Can you clarify this? And, what version of Visual Studio do you have?

Version 17.11.2
The tutorial mentioned to click the "Stop button", but this "Stop button" is not on the tool bar by default.
To show the "Stop button" we need to enable the view manually through the screenshot i showed above.

Got it. Thanks for clarifying. I think the default installation does show that bar (we can double check) but we could mention in the tutorial as well that folks don't see the button, that they can enable it.


Bug: custom collider props are not reactive anymore.

Describe the bug
While working on the Joint I wanted to reproduce the same custom collider exportation, and when I wanted to watch the Joint props, I wasn't able to do so...
I figured that the Vue component setup function needs a Proxy as the first parameter to reflect changes and here:
https://github.com/Tresjs/rapier/blob/main/src/components/colliders/index.ts#L29-L42
props: {
      ...BaseCollider.props,
      shape: undefined,
    },
    setup(props, ctx) {
      return {
        ...BaseCollider?.setup?.(
          { ...props, shape } as Parameters<
            Exclude<(typeof BaseCollider)['setup'], undefined>
          >['0'],
          ctx,
        ),
      }
    },

We are destructing it which is equivalent to passing a native Object
Reproduction

Steps to reproduce

System Info
---

Used Package Manager
npm
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

I'm going to provide a fix asap @alvarosabu @JaimeTorrealba


[wiki] Typo on wiki page of Setting up the Engine development environment

Accoding to Setting up the Engine development environment:

VSCode with C/C++ Intellisense [C/C++]

Intellisense can also use our compile_commands.json for more robust functionality. Either symlink src/out/compile_commands.json to the project root at src/flutter or provide an absolute path to it in the c_cpp_properties.json config file

It does NOT work to soft symlink to src/flutter and open src/flutter in VS Code.
It works, however, with symlinking to src/ and opening src/ in VS Code

Thanks. I updated the wiki.


build typecsript

PR title
Status
READY/IN DEVELOPMENT/HOLD
Description
A few sentences describing the overall goals of the pull request's commits.
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git pull --prune
git checkout <feature_branch>
pytest --showlocals

Impacted Areas in Application
List general components of the application that this PR will affect:

:x: Build ebook_homebrew 1.0.357 failed (commit https://github.com/tubone24/ebook_homebrew/commit/20a39f594d by @)

:white_check_mark: Build ebook_homebrew 1.0.358 completed (commit https://github.com/tubone24/ebook_homebrew/commit/20a39f594d by @)


Adopt TORv2 addresses

@afilini was right https://github.com/LNP-BP/rust-lnpbp/pull/24#discussion_r403920267 that we need to add support of TORv2 addresses additionally to TORv3: at least they are a part of Lightning Network gossip protocol https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md#the-node_announcement-message and we have to support them in LNP part of the library.
Basically, we need to duplicate all TORv3-related code and adjust it to TORv2-specific types in here: https://github.com/LNP-BP/rust-lnpbp/blob/master/src/common/internet.rs. Also there is a need to add feature requirement to Cargo.toml torut crate as pointed out here: https://github.com/LNP-BP/rust-lnpbp/pull/24#discussion_r403921325

Would it be possible to disregard the distinction between addresses and just defer to torut::OnionAddress/torut::TorPublicKey?

Hard to say... We do distinguish IPv4 from IPv6 in the enum, so at least at that level it would be nice to distinguish TORv2 from TORv3.
Don't spend time on this issue, I left it for new contributors b/c it's very simple to implement as a first issue

Sure, was just randomly looking around and noticed it because I had to look into torut to implement parse_arg properly. :)

If this issue is still open, I am willing to work on it.

It is still open, you are welcome to pick it!
As for V2, I think we only need to support OnionAddressV2, w/o support for TorPubKeyV2

Ok, I went some distance and so far it seems workable.
Need some technical help. OnionAddressV2 from torut doesn't implement Copy. This is causing error in #[derive(Copy)] for InetAddr which wraps over OnionAddressV2. I cant manually implement Copy as OnionAddressV2 is from an external crate.
One option is to disable Copy derivation on InetAddr but that will cause ripple effects upstream.
So what's the best way to fix this situation?

Good news! Lets try to remove Copy on InetAddr and see how much problems we will get after

@rajarshimaitra What about a PR against torut for the address to implement Copy?

We can do that for sure, but I expect there are some limitations b/c of the key structure such that Copy is unreasonable?

@rajarshimaitra What about a PR against torut for the address to implement Copy?
@Kixunil I thought of the same at first. But the OnionAddressV3 also doesn't implement copy. So there is probably something with this data structure.

Good news! Lets try to remove Copy on InetAddr and see how much problems we will get after
I gave a try at removing Copy derivations. The changes ripples through few more modules of the library, but nothing major. Not sure about the upstream though. There might be more dependency on it.

Opened the PR. @Kixunil would appreciate your review. So far it can only parse onion v2 from an address string.

such that Copy is unreasonable?

I wonder why though, keys should be representable as a fixed-length array of bytes, which is aways Copy...


fix: escape bakfile environment variable

While using a custom bak file containing special characters (space and parenthesis), I fall on an exception due to the fact bak path was not escaped.
This fix apply the same encapsulate than the one done for licence file.

Thanks @warlof - merged and will be included in next preview


maxLen doesn't work as expected.

I have maxLen set to 80, but when I do:
const UDimTemporary = (value: UDim, rem: number): UDim => new UDim(value.Scale, value.Offset * rem);

Despite being 101 lines long, it does not turn into an explicit export The rule works in the case of the contents of the arrow function itself being 80 lines. Is this intentional?
To me I would like the rule to support line length over content length, as I can still end up with multi-line statements which is what I'd like to avoid, e.g.
	UDimTemporary11111111111: (value: UDim, rem: number): UDim =>
		new UDim(value.Scale, value.Offset * rem),

Yes, I only checked the length of the content because the function definition and the function body are two different parts, for example, the content body may be on the next line. I think I might add an option to detect based on the complete function length, but I need to try this first to see if it is feasible.

Please upgrade to https://github.com/u3u/eslint-plugin-arrow-return-style/releases/tag/v1.3.1 and give it a try.

This seems to work as I wanted! Thank you:)


[Deliver #99632306] Update tinkerpop test case to Tinkerpop 3.0.0 GA

@mhfrantz This PR fixes a minor bug in the handling of fields that caused some confusion while working on ts-tinkepop. But in the end, I think the bigger milestone is is simply updating the Tinkerpop test case to use the GA release (we had been stuck on M7 for a while).

I guess you figured I would say this, but we are now relying on third-party Java API's to test this new feature.  Can you incorporate a test inside the featureset Java API?

FTP

PTAL

LGTM


MNT: Re-rendered with conda-build 3.18.11, conda-smithy 3.8.5, and co…

…nda-forge-pinning 2<IP_ADDRESS>.44.44

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

LGTM. Merging!