[Feature Request] Update vtk.js to prevent memory increasing

What feature or change would you like to see made?
Since 30.10.0 version developers of vtk.js added garbage collection to shared graphics resources. But if I will update it to myself, I will get error in cornerstone vtkStreamingOpenGLVolumeMapper file. Could you update vtk.js?
The problem is infinite increasing memory space when I use setStack on the elements to replace images.
Why should we prioritize this feature?
Without this update we have infinite increasing memory space when using setStack on the elements to replace images.

My colleague on work constantly faces that problem. He's in anguish and pain. It would be great if this could be fixed as soon as possible!

This is not about the garbage collection you're referring to. They recently added a new shared mapper (which we already have), and that is related to garbage collection.
If you give me reproducible steps i can take a look at the memory leak

Initial values:

After some clicks on elements:

I have changed your example with basic StackViewport and able to reproduce:
import { Enums, RenderingEngine, Types } from '@cornerstonejs/core';
import {
  createImageIdsAndCacheMetaData,
  initDemo,
  setTitleAndDescription,
} from '../../../../utils/demo/helpers';

// This is for debugging purposes
console.warn(
  'Click on index.ts to open source code for this example --------->'
);

const { ViewportType } = Enums;

// ======== Set up page ======== //
setTitleAndDescription(
  'Basic Stack',
  'Displays a single DICOM image in a Stack viewport.'
);

const content = document.getElementById('content');
const element1 = document.createElement('div');
element1.id = 'cornerstone-element1';
element1.style.width = '500px';
element1.style.height = '500px';
const element2 = document.createElement('div');
element2.id = 'cornerstone-element2';
element2.style.width = '500px';
element2.style.height = '500px';

content.appendChild(element1);
content.appendChild(element2);
// ============================= //

/**
 * Runs the demo
 */
async function run() {
  // Init Cornerstone and related libraries
  await initDemo();

  // Get Cornerstone imageIds and fetch metadata into RAM
  const imageIds = await createImageIdsAndCacheMetaData({
    StudyInstanceUID:
      '<IP_ADDRESS>.4.1.145<IP_ADDRESS>.7009.2403.334240657131972136850343327463',
    SeriesInstanceUID:
      '<IP_ADDRESS>.4.1.145<IP_ADDRESS>.7009.2403.226151125820845824875394858561',
    wadoRsRoot: 'https://d3t6nz73ql33tx.cloudfront.net/dicomweb',
  });

  // Instantiate a rendering engine
  const renderingEngineId = 'myRenderingEngine';
  const renderingEngine = new RenderingEngine(renderingEngineId);

  // Create a stack viewport
  const viewportId1 = 'CT_STACK1';
  const viewportInput1 = {
    viewportId: viewportId1,
    type: ViewportType.STACK,
    element: element1,
    defaultOptions: {
      background: <Types.Point3>[0.2, 0, 0.2],
    },
  };
  const viewportId2 = 'CT_STACK2';
  const viewportInput2 = {
    viewportId: viewportId2,
    type: ViewportType.STACK,
    element: element2,
    defaultOptions: {
      background: <Types.Point3>[0.2, 0, 0.2],
    },
  };

  renderingEngine.enableElement(viewportInput1);
  renderingEngine.enableElement(viewportInput2);

  // Get the stack viewport that was created
  const viewport1 = <Types.IStackViewport>(
    renderingEngine.getViewport(viewportId1)
  );
  const viewport2 = <Types.IStackViewport>(
    renderingEngine.getViewport(viewportId2)
  );

  // Define a stack containing a single image
  const stack1 = [imageIds[0]];
  const stack2 = [imageIds[1]];

  // Set the stack on the viewport
  await viewport1.setStack(stack1);
  await viewport2.setStack(stack2);

  element1.addEventListener('click', async () => {
    const imageId = viewport1.getCurrentImageId();
    if (imageId === imageIds[0]) {
      await viewport1.setStack([imageIds[1]]);
    } else {
      await viewport1.setStack([imageIds[0]]);
    }
  });

  element2.addEventListener('click', async () => {
    const imageId = viewport2.getCurrentImageId();
    if (imageId === imageIds[0]) {
      await viewport2.setStack([imageIds[1]]);
    } else {
      await viewport2.setStack([imageIds[0]]);
    }
  });

  // Render the image
  viewport1.render();
  viewport2.render();
}

run();

@sedghi Were you able to reproduce it?

Haven't looked at it, but will upgrade vtk in near future since i'm pushing on cornerstone 2.0

We bumped vtk version, so i'm gonna close this


Multivariate.correspondence(): method "_array_to_burt_table()" needed

In order to perform Multiple CA, the Multivariate class must be able to fake an array mask from a list of related variables. After that, the array Quantity() can be interpreted as a Burt table that then can be used to generate a x, y and weight combination to build a new simple Quantity() that will feed into the Singular Value Decomposition.

for 3.0.


Fixing duplicate task execution

Considering 'dev:inject', gulp.series(['dev:styles', 'dev:scripts'] and 'build:inject', gulp.series(['dev:styles', 'dev:scripts', 'build:ngviews'], removing duplicate/explicit calls (Ref)

Coverage remained the same at 60.791% when pulling 785ef6adb58bdd8c051436ba67615740c1ccdb1d on charhate:upgrades into e0b1dbde98fb7ff4324c3dde4f4ac516f9f0c9e2 on Netflix:master.


Schedule cluster update

We want to allow users scheduling cluster updates via kubectl-gs.
I did try to find a place where we can support this. Currently we have kubectl gs update app and I added kubectl gs update cluster to that. If there's a better proposal I'm totally open about that.
Example:
Scheduling cluster updates
kubectl gs update cluster --name abcd1 --namespace my-org --release-version 16.1.0 --scheduled-time "30 Jan 22 12:00 UTC" --provider aws

Update cluster immediately
kubectl gs update cluster --name abcd1 --namespace my-org --release-version 16.1.0 --provider aws

Issue: https://github.com/giantswarm/giantswarm/issues/19989

Nice addition in general! Some comments:
Why is there this --provider flag? If we can find out programmatically what provider the installation/cluster is using, then the user should not have to define this. I am certain we can.
The date format appears unfortunate to me. If we would ever have to chose a format, we would likely Chose a date format that is less ambiguous. For usability sake, YYYY-MM-DD HH:MM:SS is by far less error-prone. Some tests:

What's the ISO representation for this date `22 Jan 21 01:00 UTC? ? What is day and what is year?
Is 1 Jan 2021 01:00 UTC valid, where the date is single digit and the year uses 4 digits?
Is the month case sensitive?
Can I use different time zone identifiers? And if yes, which are valid?

I would strongly vote for accepting these two formats only:

YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS

And as a time zone we should always assume UTC and not allow anything else.
As a result of the command, we can print the given date in a more verbose format, using the locale of the user's machine. Example:
An upgrade of cluster abcd1 to release v16.1.0 has been scheduled for

    Sunday, 30 January 2022, 12:00 UTC (Sunday, 30 January 2022, 13:00 CET)

(Regarding implementation: we can of course convert the input date to the necessary format for the annotation. No need to change that.)

Thanks @marians good feedback 👍🏻.
The reason for the provider flag is because we use different labels (we still have some clusters which are using the older cluster labels on AWS).
On AWS older clusters only have giantswarm.io/cluster whereas in newer clusters on AWS and Azure we have cluster.x-k8s.io/cluster-name. So we have to fetch the clusters differently.
I checked the clusters on AWS and it seems only release 14.x uses the older labels giantswarm.io/cluster. Those releases are also deprecated and I could manually apply the new selector which would be the same for all providers.
WDYT?
The date format sounds good to me and is better I agree. I'll try to change that 👍🏻.
Admission webhook only allows UTC there's no other format supported.

Ok so the time format is changed, I followed your suggestions. Users can schedule clusters via YYYY-MM-DD HH:MM. Seconds are ignored by ISO 8601 which is used in the annotation so I dropped them.
Prompted message for cluster schedule look like this example (RFC1123):
An upgrade of cluster abcd1 to release 16.1.0 has been scheduled for

		Sat, 01 Jan 2022 01:00:00 UTC, (Sat, 01 Jan 2022 02:00:00 CET)

Thanks for handling my feedback so nicely! ❤

I checked the clusters on AWS and it seems only release 14.x uses the older labels giantswarm.io/cluster. Those releases are also deprecated and I could manually apply the new selector which would be the same for all providers.

WDYT?

I don't really know what this means. If you like, we can get into a call.

Nick and I talked and I now understood the problem with the provider-specific implementation for cluster look-up. So we decided to release the command with the required --provider flag and create an issue to get the implementation changed and remove the need for the flag in the future.


Persist failed transactions on disk when in-mem buffer is full

What does this PR do?
This PR is a POC for persisting failed transactions on disk when in-mem buffer is full.
When the retry transactions memory buffer is full, half of the transactions are written to the filesystem.
When the Agent retries failed transactions, all the transactions in the memory buffer are returned if the buffer is not empty, otherwise the most recent file content is returned and the file is deleted.
Motivation
Drop data "later" on the Agent side during DD outages.
Allow customers to backfill more data after a network outage on their end.
Additional Notes
TODO:

attemptHandler and completionHandler  are not handled yet.
Serialization assumes Transaction is always HTTPTransaction
Fix telemetry transactionsDroppedOnInput
Serializing HTTPTransaction to JSON is a temporary solution for the POC.
Flush failed HTTPTransaction older than 5 minutes (configurable).

Note:

In retryTransactions, the transaction is dropped when f.lowPrio is full. It is safe to enqueue the transaction (Checked with @hush-hush). Same for f.highPrio  in sendHTTPTransactions.

Storage on disk is controlled by forwarder_retry_transaction_max_storage.
Describe your test plan
Write there any instructions and details you may have to test your PR.

Closed in favor of https://github.com/DataDog/datadog-agent/pull/6921.


First validation doesn't highlight all errors

Current Behaviour
Note row 19.

Second Validation correctly highlights

Expected Behaviour
Correct highlights
Steps to Reproduce

Open Data Curator using the icon
Download https://data.qld.gov.au/dataset/fireworks/resource/346d58fc-b7c1-4c38-bf4d-c9d5fb43ce7b
Open the file in Data Curator
Guess Column Properties
Validate > errors
Validate > fixed!

Your Environment

Include details about the environment you experienced the problem - this will help us fix the bug quicker.

Data Curator version: 0.13.2
Operating System and version:  macOS High Sierra 10.13.4

Appears to be fixed in 0.17.0


Fixed issue 63: `Webpage shows a 'loading' wheel in tabs even when fu…

…lly loaded` by changing some contentDocument.write to creating scrip elements and appending them to the document.
Fixed opening the code editor making the page scroll vertically because the editor was taking a bit too much space.

Thank you for this! Is it necessary to put the code in app2.js or can it all be in app.js?

FYI - I separately committed the display fixes (thank you) as I need to think through the separate file thing.

It doesn't need an other file. I was under the impression that app.js needed to stay as it was to be reused in other context? I think I was just confused...


Draw code format from rust_sodium

Coverage remained the same at 94.516% when pulling b26ca774e63e1867eb454e20755d0c48166e6335 on rust_sodium_formatting into b480ef166afa5d933e20e0346394bd72b416d293 on master.


refactor Page components, add Database page CTA

Closes #391
Closes #406
Partial work for #333
Description
Reworking how the Page components work to better implement the Website 2.0 designs, as well as initial steps for the homepage CTA boxes.

Tasks

[x] Database CTA
[x] Database menus
[x] Sembako CTA

@zainfathoni Done. Need you help debugging the issue I told you earlier on DM.

Mbak @ekamuktia, could you please help us to fix this issue in this branch? You can try to reproduce it using the deployment preview link.
We can't merge this PR unless this issue is resolved, because we're risking our user experience here.
https://user-images.githubusercontent.com/6315466/126916739-b404c183-650c-4e91-99dd-82792feabb26.mov

@zainfathoni Please check #433


Rebuilding navmesh while rigid bodies are simulating seems to fail sometimes

Godot version
4.1.stable
System information
Windows10, AMD Ryzen 9 5900X, NVIDIA GeForce RTX 3060 Ti, driver version <IP_ADDRESS>9, forward+.
Issue description
When I simulate boxes falling and let them affect the navmesh, rebuilding the navmesh sometimes renders very strange results.
A code snippet of how I rebake:
extends Node3D

@export var navigation_region: NavigationRegion3D

var baking = false
var queue_bake = false

# Called when the node enters the scene tree for the first time.
func _ready():
	#for cover in get_children():
	#	cover.destroyed.connect(cover_destroyed)
	navigation_region.bake_finished.connect(on_bake_finished)

func cover_destroyed():
	print("Cover destroyed, rebuilding navmesh")
	rebake_nav_mesh()

func rebake_nav_mesh():
	if baking:
		queue_bake = true
	else:
		queue_bake = false
		navigation_region.bake_navigation_mesh()
		baking = true

func on_bake_finished():
	baking = false
	if queue_bake:
		rebake_nav_mesh()

The philosophy is to not cause multiple rebakes at the same time by keeping track of if we are already rebaking.
https://github.com/godotengine/godot/assets/6214882/63e7351a-a11a-45d4-a3a8-c6e90264ee3a
I've added a timer that rebakes in 2hz, and at one point the nav mesh almost disappears.
Steps to reproduce
I have tried and failed to produce a repex.
If I let the boxes fall down from the sky, it does not seem to happen.
Minimal reproduction project
Sadly I've not been able to create one.

You really should avoid "baking" a navigation mesh instantly on random events.
Baking with the NavigationRegion3D involves parsing node data from the SceneTree.
The SceneTree is super-brittle when you do this randomly and not deferred (e.g. threading-locks, child-change locks, ...)
The parsing also needs to get data from the PhysicsServer or RenderingServer which might be thread-locked at this point.
If I should guess the SceneTree is blocking the parsing operation and as a result the source geometry data used in the navigation mesh baking process is just empty hence the new navigation mesh is empty.
Baking a navigation mesh is a deferred and slow process never intended to be rapid-fired all the time. It might only seem to work because your game is currently tiny and the baking is still fast. It is also a waste of good processing power as the NavigationServer3D only syncs once each physics frame so all the other rapid-fire bakes are just ignored and do nothing.

Hi and thank you for the response.
As far as I've read, it is per default run on a separate thread and can result in lots of sync, but should still render predictable results don't you think? Otherwise it should at the very least report an error, but the log is clean.
What would be the recommended approach to destructible obstacles, if you would be so kind?

Without an MRP I can not say for certain what causes this in your project.
It is very likely that this is not a bug in the navigation mesh baking pipeline and more a bug from not receiving correct source geometry data from the physics or rendering objects. In that case the navigation mesh baking does not know that the data is not good so you wouldn't get any error out of it.

Thanks! So the recommended method is still rebaking then.
In this video I did it in 2hz and not on events. Call_deferred was a good idea, I'll try that.
If that fixes the problem, maybe a classic warning a la CollisionShape.set_disabled() could do the trick.

While I see from the video that things can happen I now baked ten thousand of navigation meshes from all kind of physics shapes or rendering meshes in rapid repetition without a single issue like that. So without a MRP that allows to reproduce this reported issue reliably and confirm that it still exists in Godot master there is little that can be done here.
If Wiggan or someone else that reads this can create a MRP to reproduce the issue let me know so we can reopen but for now I am closing this issue because I have not enough information to do anything with it.

@Wiggan
When did you rebake without deferred? Because the NavigationRegion3D.bake_navigation_mesh() already has an error warning when not using the main thread and also makes sure that the finished baked navigation mesh is set with the main thread. That is also the reason why I gave up without MRP because the only for me plausible source would be SceneTree thread use but that is blocked and warned already.

Hi and thank you for the response. As far as I've read, it is per default run on a separate thread and can result in lots of sync, but should still render predictable results don't you think? Otherwise it should at the very least report an error, but the log is clean. What would be the recommended approach to destructible obstacles, if you would be so kind?

Godot 4.1Stable is what I reported. After your tip about doing call_deferred I never saw any problems any more. Nothing at all in the log when it happened for me.
I have not tested if there is an error or warning for it in 4.1.1.


distutils.errors.DistutilsOptionError when running pip install argcomplete on Kali's Python 2.7

Hello, I' m running into this issue when trying to install argcomplete on Kali's Python2.7.
Any help would be much appreciated, thanks!
Full stack trace:
┌──(root💀0155905a0d19)-[/]
└─# pip install argcomplete
Downloading/unpacking argcomplete
  Downloading argcomplete-1.12.3-py2.py3-none-any.whl
Downloading/unpacking importlib-metadata<5,>=0.23; python_version == "2.7" (from argcomplete)
  Downloading importlib_metadata-4.5.0.tar.gz
  Running setup.py (path:/tmp/pip-build-WVJv6k/importlib-metadata/setup.py) egg_info for package importlib-metadata
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip-build-WVJv6k/importlib-metadata/setup.py", line 6, in <module>
        setuptools.setup()
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/__init__.py", line 145, in setup
      File "/usr/lib/python2.7/distutils/core.py", line 124, in setup
        dist.parse_config_files()
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/dist.py", line 702, in parse_config_files
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 116, in parse_configuration
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 426, in parse
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 399, in parse_section
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 184, in __setitem__
      File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 577, in _parse_packages
    distutils.errors.DistutilsOptionError: find_namespace: directive is unsupported on Python < 3.3
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip-build-WVJv6k/importlib-metadata/setup.py", line 6, in <module>

    setuptools.setup()

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/__init__.py", line 145, in setup

  File "/usr/lib/python2.7/distutils/core.py", line 124, in setup

    dist.parse_config_files()

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/dist.py", line 702, in parse_config_files

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 116, in parse_configuration

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 426, in parse

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 399, in parse_section

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 184, in __setitem__

  File "/usr/share/cffi-wheels/setuptools-44.1.0-py2.py3-none-any.whl/setuptools/config.py", line 577, in _parse_packages

distutils.errors.DistutilsOptionError: find_namespace: directive is unsupported on Python < 3.3

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-WVJv6k/importlib-metadata
Storing debug log for failure in /root/.pip/pip.log

Thanks for reporting. It looks like you are using Python 2.7, which is no longer supported. Please upgrade to Python 3.

If I understand correctly, this: (in the setup.py)
packages=find_packages(exclude=['test']),

Is not supported by Python2.7.
I believe, this would work exactly the same and will be compatible with python2.7
packages=['argcomplete'],

Tell me what you think @kislyuk .
Thanks

The error that you see actually comes from a dependency of argcomplete called importlib-metadata. You can install an older version of that package that is compatible with Python 2.7 to avoid this issue. A quick check indicates that version 2.1.1 is the last version of that library compatible with Python 2.7: https://pypi.org/project/importlib-metadata/2.1.1/ so you can pip install importlib-metadata==2.1.1 followed by pip install argcomplete and it should work.
While we won't go out of our way to drop Python 2.7 support yet, we will also not make any efforts to support it. So nothing will be done to accommodate Python 2.7 specific issues at this point.


Goals of mvnd

Do you have some goals in mind for mvnd? The introduction in the Readme states that this project borrows some techniques from Gradle and Takari.
Reading about the two projects, I see that Takari helps for parallel jobs, and Gradle has many features.
For example, do you plan to record the state of a maven project to automatically build changed modules?
Do you limit the scope to a daemon skipping the initialization of the VM and the parsing of the project?

I don't think the scope is limited, but the goal is not to rewrite maven either.  My initial goal was to speed builds, so any improvement is welcomed.
Fwiw, I'm planning on experimenting the use of Test Impact Analysis for Apache Camel, so that's somewhat in line with the overal goal of {{mvnd}}.  Even if that's not something that can be brought inside {{mvnd}}, it's another technique that aims the same goal and that can be used in complement to {{mvnd}}.
Anyway, we welcome contributions if you're fancy helping !

So far, I only plan to be a mere user and welcome you for this project :smile:
But I keep in mind your offer and I thank you for the answer.


Side Menu with Nav Views do not work in Android 4.3-

The following examples of using a nav view inside of the side menu do not work in version of Android 4.3 and lower or in non-webkit browsers. In these versions, which you try to slide the menu over via dragging the header or by clicking on a button icon in the header, nothing happens.
In Chrome and Android 4.4 they work properly.
http://plnkr.co/edit/9vVpEnRvmXUnUBN7SSoR?p=preview
http://plnkr.co/edit/p9b6SWZmBKWYm0FIKsXY?p=preview

hi, in 2016 with cordova 6.3.1 and ionic 2.1.0 with android 4.2.1 the menu and the toggle button doesn't work, nothing happen when I click. I tested on a more recent android with the same basic starter application and it is work fine. What I should do ? thanks


(0, _reactApollo2.default) is not a function. (In '(0, _reactApollo2.default)'(MY_QUERY), '(0, _reactApollo2.default)' is undefined

Below is the App.js file I have used for my react-native expo project with Apollo. The last line throws error saying (0, _reactApollo2.default) is not a function. (In '(0, _reactApollo2.default)'(MY_QUERY), '(0, _reactApollo2.default)' is undefined .
App.js file
The AppNavigation file used in the above file is here
The apollo connection is setup and working properly. Is there anything wrong in the above file? Please guide.

➤ Michail commented:
@KenilDomadia You should change your import statement to
import {graphql} from 'react-apollo'because graphql is not a default export of react-apollo package

➤ Kenil Domadia commented:
That helped. It was a real silly mistake. Thanks.


Rewrite the README file for the examples

Description
Now that we have a new and improved way of running the examples we should update the README file to reflect this.
Since the general state of the file is a big messy I decided to rewrite a lot of it.

Would you like to take a look, @teymour-aldridge?

Otherwise looks good.


Add licorice square

Make on of the board game squares a "licorice square" - if a player lands on it, they lose a turn.

Implemented feature


Fuel cell progress bar goes above 100% when battery is enabled

Progress goes from 0 to 133%, rather than 0 to 100%. The bar stays full during cmod_battery.

Duplicate with https://github.com/NREL/SAM/issues/522 closing this one since that one is better documented.


Need Xamarin.Facebook.Android v4.39

Facebook fixed some bugs in the new release and it'd be great to have related xamarin sdk version. Thanks.

VS bug #792688

Facebook for Android will be updated by the following weeks.

@shpand Facebook for Android v4.40.0 has been pushed to NuGet. Just wait a bit for the indexing.
Best!
Israel Soto.


Cannot import acquire in jupyter labs

When trying to use acquire in a jupyter notebook, I encountered the following error:
import acquire

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[1], line 1
----> 1 import acquire

File /opt/miniconda3/envs/acquire/lib/python3.10/site-packages/acquire/__init__.py:6
      2 from typing import TYPE_CHECKING, Any, Generator, List, Literal, Optional, Tuple, Union
      4 import numpy.typing as npt
----> 6 from . import acquire
      7 from .acquire import *
      9 __doc__ = acquire.__doc__

ImportError: dlopen(/opt/miniconda3/envs/acquire/lib/python3.10/site-packages/acquire/acquire.abi3.so, 0x0002): symbol not found in flat namespace '_acquire_abort'

Consequence of #76.

I cloned the latest repo from: https://github.com/acquire-project/acquire-python.git
I ran these build steps:
git submodule update --init --recursive
pip install maturin
maturin build -i python

The build failed on the maturin build, and I still cannot import acquire in jupyter notebooks.
Error:
 --- stderr
  thread 'main' panicked at '
  failed to execute command: No such file or directory (os error 2)
  is `cmake` not installed?

  build script failed, must exit now', /Users/dmccarthy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `MACOSX_DEPLOYMENT_TARGET="11.0" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.10-64bit" PYO3_PYTHON="/opt/miniconda3/envs/acquire/bin/python" PYTHON_SYS_EXECUTABLE="/opt/miniconda3/envs/acquire/bin/python" "cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/Users/dmccarthy/Documents/acquire-python/Cargo.toml" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C"<EMAIL_ADDRESS>

I think installing cmake should at least get you past this part. Amazingly you can even instal it with pip install cmake in your virtual environment.

Pip installing cmake worked fine, and I was able to complete the build (see below). I still see the same error when trying to import the package.
(acquire) dmccarthy@CZIMACOS3887 acquire-python % git submodule update --init --recursive
pip install maturin
maturin build -i python
Requirement already satisfied: maturin in /opt/miniconda3/envs/acquire/lib/python3.10/site-packages (1.2.3)
Requirement already satisfied: tomli>=1.1.0 in /opt/miniconda3/envs/acquire/lib/python3.10/site-packages (from maturin) (2.0.1)
📦 Including license file "/Users/dmccarthy/Documents/acquire-python/LICENSE"
🍹 Building a mixed python/rust project
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.8
🐍 Not using a specific python interpreter
💻 Using `MACOSX_DEPLOYMENT_TARGET=11.0` for aarch64-apple-darwin by default
   Compiling acquire-imaging v0.1.4 (/Users/dmccarthy/Documents/acquire-python)
    Finished dev [unoptimized + debuginfo] target(s) in 15.43s
📦 Including files matching "**/*/*.so"
📦 Including files matching "**/*/*.dll"
📦 Built wheel for abi3 Python ≥ 3.8 to /Users/dmccarthy/Documents/acquire-python/target/wheels/acquire_imaging-0.1.4-cp38-abi3-macosx_11_0_arm64.whl

Can you please confirm the repo is up to date with git pull (maybe git pull upstream main or something depending on how you cloned it)?

I'm going to go ahead and close, since I believe this is resolved. @dgmccart feel free to reopen if I'm wrong.


Update metric names in README.md

Please update ŔEADME.md file. In release 0.9.2 a lot of metrics of SQL client have been removed (e.g. sqlclient_sent_buffers). I needed to investigate missing metrics in our dashboard. Thanks

I've removed those metrics, because they were too unstable.
But I could get them back in the future


VSCode for Mac OS 10.7.5

Is it possible to have VSCode for Mac OS 10.7.5? At the download page it says 10.X but that is definitely wrong.
What are the OS restrictions and why?

I think you misunderstood what X means. In traditional case, 10.X means it supports any version that belongs to major 10th release be it 10.7.5 or 10.12.1 (latest) Macos release.

@Nikki1993 Exactly what I said, it does not support any 10.X version. You seem to need OS X Yosemite. So it is more like the latin X so you need 10.10 at least

What happens when you open it in 10.7.5?

@con-ssc  That's bizarre, try launching code via terminal (Open terminal and type code) like this and paste any errors that appear.

Only 64bit binaries are provided for macOS, and the minimum macOS version supported is macOS 10.9.
http://electron.atom.io/docs/tutorial/supported-platforms/#macos

Isn't this limitation of Electron?

@waderyan @bgashler1 @gregvanl We should update the download page to say >=10.9, not 10.X.

@joaomoreno Or, if possible, make a version that runs on 10.X ;)

@Nikki1993 You cannot install Code at all so I cannot do that.

@con-ssc electron is not managed by VS Code team. Report this upstream here https://github.com/electron/electron/issues however I don't see the support being added to outdated version of macOS as there are probable several technical reasons for support 10.9+
Any particular reason you are still staying on older version of macOS?

@Nikki1993 Hardware limitation, I cannot upgrade to any other mac os version.

Well your best bet is to see if Electron team can add support to older versions.

@joaomoreno created a docs issue to track better documentation on download page - https://github.com/Microsoft/vscode-docs/issues/711

Moved to Microsoft/vscode-docs#711.


Update cake to latest version and small cleanup to the cake script on…

… windows

Calling .\build.ps1 can be called as .\build.ps1 <target> instead of .\build.ps1 -Target=<target>.

I need to see if I can make a similar change to build.sh but I'm not there just yet.

why did it trigger 4 checks?

@filipw because I pushed against the repo, no my fork, lol.  🐑

@david-driscoll's a cheater :smile:

no cheating would be pushing right into dev 😉

😺


fix validation errors when files_analyzed is false

( solves issue #149 )
According to SPDX 2.2 specs, when files_analyzed is false in a package:

there must be no files in the package, so files must not be validated (section 3.8.1)
there must be no verif_code (section 3.9.3)
there may be no check_sum (which is optional, anyway - section 3.10.3)

Finally, also files_analyzed should be validated (must be True, False or None, (None="omitted")
This patch covers all the above, and fixes an error in tagvaluebuilder.py, where files_analyzed was stored as string in the package object, while it should be stored as boolean.
Moreover, rdf and tagvalue writers, as well as test files, have been patched accordingly.

@alpianon Thanks for these fixes 👍
We just merged in some work done which unfortunately caused some merge conflicts.
Could you resolve the conflicts?
@zvr @rtgdk @pombredanne Could one of you do a second review to meet the merge criteria?

Basically the conflict arose because single quotes have been converted to double quotes in master branch... now it should work. However, some CI pipelines are broken and some checks fail...

Basically the conflict arose because single quotes were converted to double quotes in master branch... now it should work. However, some CI pipelines are broken and some checks fail...

These are broken and need to be reformed entirely indeed

There are just a few quotes issues and a question for you.
Also we enabled the DCO signoff recently... do you mind adding it at least in a message with your signoff in this PR?

This should be solved now, please check

There are just a few quotes issues and a question for you.
Also we enabled the DCO signoff recently... do you mind adding it at least in a message with your signoff in this PR?

This should be solved now, please check

Strange: in this conversation page the DCO check is shown as failing, but if you click on "Details", you see that the DCO check is OK...

Strange: in this conversation page the DCO check is shown as failing, but if you click on "Details", you see that the DCO check is OK...

I fored it as passing :)

This has been merged after a rebase.
Thanks!


Comparison with defopt

Hi,
I maintain the defopt argument parser generator (https://github.com/anntzer/defopt).  I had a quick look at your comparison table in your docs) regarding how defopt compares with the other options:

dataclasses: no
functions: yes
literals: yes (including mixed-type)
docstrings as helptext: yes, with rich formatting of rst
nested structures: no (because no dataclass support)
unions: yes
list, tuples: yes
dicts: yes
generics: no (because no dataclass support)

An idea that appears to be common to defopt and tyro is the use of a single function as entry point (tyro.cli, defopt.run).  A difference, on the other hand, is that defopt is very much written in the "typing annotations should be generally valid, but are there first and foremost to generate the right CLI and not to pass typechecker checks" (to put it bluntly, I don't care much about type checkers).
A key feature that has been requested quite a few times on the defopt issue tracker is dataclass(-like) support, for which I had mostly been stuck due to not having a satisfactory syntax; for this I really like your idea of using --obj.attr, which, just as a heads up, I plan to reimplement (likely from scratch) in defopt.
Looking forward to discussing any relevant ideas on the topic!

Hi @anntzer, thanks for sharing!
I just installed defopt and tried it out; it seems super comprehensive. I've had trouble keeping the internal complexity of tyro from ballooning and am also envious of your ~1200 line implementation!!
For dataclasses support: I can't take credit for the --obj.attr pattern unfortunately, there are libraries like simple-parsing where this existed before. But it's for sure super useful and I'm looking forward to seeing how your implementation turns out! Probably there are design improvements you can make over what we have in tyro; if you decide to support unions (DataclassA | DataclassB, DataclassA | int, DataclassA | None) this is where my biggest painpoints have come from.

defopt is very much written in the "typing annotations should be generally valid, but are there first and foremost to generate the right CLI and not to pass typechecker checks" (to put it bluntly, I don't care much about type checkers).

I'm also curious about is how this manifests in practice, does choosing to care vs not care about type checkers impact API choices at all? Or primarily internal implementation?


TopK processor plugin

This processor objective is to provide the possibility to pick the top k metrics from a set of metrics.
The pluging uses:

Selectors to pick the metrics that will be filtered
A group by clause to group the metrics based on metric names and tags
A list of fields
An aggregator function to agreggate each field of the grouped metrics

Once the aggregations for each group are calculated, the plugin orders the groups by each aggregation and returns all the metrics of each group in the top k spots
Required for all PRs:

[x] Signed CLA.
[ ] Associated README.md updated.
[ ] Has appropriate unit tests.

This PR is not ready yet. I'm creating a PR allow feedback from the mantainers now that the plugin is more or less stable in design and structure.
Some things that are missing are: unit test, more aggregation functions, more extensive testing


Bug: Impossible to use generic TContext with createMachine

Description
The types for createMachine have a check that aims to prevent passing Model instead of a MachineConfig. But this check triggers incorrectly for any generic type, because any generic type might add properties such that it extends Model<any, any, any, any>.
This results in a type error whenever using createMachine with a MachineConfig<TContext, ...> where TContext is generic.
export const createMachineWithExtras = <
  TContext,
  TEvent extends EventObject,
  TStateSchema extends StateSchema
>(
  makeConfig: (options: {}) => MachineConfig<TContext, TStateSchema, TEvent>
): StateMachine<TContext, TStateSchema, TEvent> =>
  createMachine(makeConfig({}));

Expected result
There should not be a type error.
Actual result
Argument of type 'MachineConfig<TContext, TStateSchema, TEvent, ActionObject<TContext, TEvent>>' is not assignable to parameter of type 'TContext extends Model<any, any, any, any> ? "Model type no longer supported as generic type. Please use `model.createMachine(...)` instead." : MachineConfig<TContext, any, TEvent, ActionObject<...>>'.ts(2345)

Reproduction
https://codesandbox.io/s/compassionate-cray-xvjyr?file=/src/index.tsx
Additional context
No response

I think it's reasonable to remove this "type-check" now. @hedgepigdaniel would you like to prepare a PR for this?


[release/1.7] Fix issue for HPC pod metrics

Backport for https://github.com/containerd/containerd/pull/8626
cherry-pick of https://github.com/containerd/containerd/pull/8626/commits/738c4c6fa5198fe087fae831d71a1944cba8df7e
need slight modification due to 1.7 missing refactor of the tests (https://github.com/containerd/containerd/commit/4192ca8f8cd6e35d56b65818cef4131c72be10f9)

/cc @dcantah


Building from AUR: Missing required python module: xcbgen

I was trying to rebuild polybar with pacaur because the network module wasn't working. For some reason, after I uninstalled polybar with pacman, and tried to reinstall with pacaur, I keep getting the same error that I'm missing xcbgen. Overall I cannot build polybar anymore.
so I tried sudo pacman -S $(pacman -Ssq xcb) (which installed Haskell and ghc lol) and tried building from github with build.sh but that failed. So I did cmake .. in polybar/build but that had the same result, where it says:
CMake Error at lib/xpp/CMakeLists.txt:55 (message):   Missing required python module: xcbgen

I reinstalled my arch linux, and I think I may know the cause of my problems. When pacaur-ing polybar after a clean install, it failed initially because it required iwlib.h which is wireless-tools. When I looked at the packages that required wireless-tools I realized that my installation of i3-status or i3blocks must have provided that dependency, but messed it up for polybar. But I don't really know what's up with xcbgen.

Hi, if I remember correctly the xcbgen python module on Arch required python 3.

I had python2, python3, and python3 from anaconda, but when installing the console showed that the installation looked for xcbgen in python2, python3, and python, but failed to do so for some reason. It did work after full system reinstall however.

Uninstalling Anaconda resolved the same issue for me. I believe it will help someone else.
https://docs.anaconda.com/anaconda/install/uninstall for details

Getting this problem too on Manjaro.

@boardfish Do you have anaconda installed? If so, remove it, the python anaconda packages interfere with the ones polybar needs to build. If you don't have anaconda, please open a new issue where you document exactly what is not working and provide as much information as possible about the problem

Any idea how to fix that without uninstalling Anaconda?

i had a similar problem on arch,
and a reinstall of xcb-proto package fixed it

Not sure if this has been logged elsewhere, but ensuring that pyenv uses the system Python rather than some virtual environment with pyenv global system should help. Do that, then reinstall xcb-proto and try installing polybar again.

I had to switch the local version to system using pyenv local system.
Thanks @boardfish for the advice!

After some testing I have determined that on some setups it's virtually impossible to build polybar if anaconda is lingering in the PATH, I have rewritten the entry on the known issues page for instructions on how to build polybar without anaconda getting in the way: https://github.com/jaagr/polybar/wiki/Known-Issues#building-with-anaconda-installed

I'm also having this issue when trying to build from AUR.
Tried @nath1as 's solution but got this:
 sirusss  ~  sudo pacman -R xcb-proto
[sudo] password for sirusss:
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: libxcb: removing xcb-proto breaks dependency 'xcb-proto>=1.12'
 sirusss  ~  sudo pacman -R xcb-proto libxcb                                                                       1
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: ffmpeg: removing libxcb breaks dependency 'libxcb'
:: libx11: removing libxcb breaks dependency 'libxcb'
:: libxkbcommon-x11: removing libxcb breaks dependency 'libxcb'
:: xcb-util: removing libxcb breaks dependency 'libxcb>=1.7'
:: xcb-util-cursor: removing libxcb breaks dependency 'libxcb'
:: xcb-util-image: removing libxcb breaks dependency 'libxcb>=1.7'
:: xcb-util-keysyms: removing libxcb breaks dependency 'libxcb>=1.7'
:: xcb-util-renderutil: removing libxcb breaks dependency 'libxcb>=1.7'
:: xcb-util-wm: removing libxcb breaks dependency 'libxcb>=1.7'
:: xorg-xlsatoms: removing libxcb breaks dependency 'libxcb'
:: xorg-xlsclients: removing libxcb breaks dependency 'libxcb'
:: xorg-xwininfo: removing libxcb breaks dependency 'libxcb'

And I need anaconda for development so unfortunately uninstalling it isn't an option for me. Hoping to try out polybar eventually!

@sirusss Did you read the link I posted? It describes how to get polybar working with anaconda.

Thanks for pointing that out, @patrick96 . I was able to build polybar after removing anaconda from $PATH. I'm assuming it's okay to add anaconda back to $PATH after the build/installation of polybar is complete?

@sirusss exactly, otherwise you may not be able to use anaconda anymore. Removing those paths is supposed to be only temporary while building polybar. I have made this clearer in the wiki

conda deactivate on terminal window worked for me


Making the model more sensitive

Hi, I'm trying to make the model recognize faces in 'The Simpsons'. However (I guess since there are not really human faces), only very few are detected. I was wondering whether lowering a threshold in some place would help to be more sensitive, but I haven't seen any place to do it. Is there such a place?
Thanks!

These kinds of models can't generalize like humans can unfortunately. A model trained on human faces won't work well on cartoon faces. You'd need to train a new model. Here's a quick thing I wrote on how to train a new model for that: http://us13.campaign-archive1.com/?e=[UNIQID]&u=c38d3e7da60f36614035c9892&id=709bfd7aed

Perfect; thanks!


Remove build artifacts from the repo

This PR removes all of the generated HTML and CSS from the repo and refactors the build scripts.
There is perhaps an argument for committing built examples to the repo. That way a user can open the demo page from their own local repo into their browser without having to execute any build command first. But we can add that later if we want.
My goal is to make the repo easier to understand by stripping it of everything but READMEs, config files, source code, scripts, and tests.
My ultimate goal is to simplify and automate the process of updating or adding a theme. This PR helps that goal by removing steps 2, 3, and 4 from the list of steps in issue #34. The trade-off that this PR makes to achieve that goal is that the docs/index.html file can no longer be opened locally from the repo and just work (to make it work locally, developers will need to run the render_html command). Subsequent PRs will automate steps 5 and 6, so that updating a theme will involve the following steps:

Update theme's style.py
Run a script to update the theme's README (color contrast table and screenshot)
git commit

Do we know why PR-preview doesn't work?

Is this being done in other PR? think I saw another one with jinja templates

No, this is still an open problem. The Jinja template in the other PRs is used to generate the theme READMEs, but not the demo index.html page.


feat: added waffle menu slots for header and footer

These changes looks good.  :+1: I'll probably try them in the Tacoma environment shortly.

Tested locally -- works great.


Item-Iterator should check hasNext()

This was a tricky bug to find:
https://github.com/michael-rapp/Apriori/blob/b03b7cbdc3fb814757844cdd02a035ba5dbfc0a3/src/main/java/de/mrapp/apriori/modules/FrequentItemSetMinerModule.java#L70
The current ugly work-around looks like this:
        Collection<Transaction<Article>> customers = getCustomers();
        customers.add(null);

        Iterator<Transaction<Article>> iterator = customers.iterator();
        Output<Article> output = apriori.execute(iterator);

Why would you want the iterator to return null? The algorithm cannot handle transactions that are null. At best it can ignore them.

This Bug
I don't want my Iterator to return null, I tried it to to circumvent this wrong use of Iterators.
Iterators never return null on next(). The while is never false. Iterators throw a NoSuchElementException at the end.
The Iterator interface Javadoc:
    /**
     * Returns {@code true} if the iteration has more elements.
     * (In other words, returns {@code true} if {@link #next} would
     * return an element rather than throwing an exception.)
     *
     * @return {@code true} if the iteration has more elements
     */
    boolean hasNext();

    /**
     * Returns the next element in the iteration.
     *
     * @return the next element in the iteration
     * @throws NoSuchElementException if the iteration has no more elements
     */
    E next();

You usually use them like this:
    while (iterator.hasNext()) {
         transaction = iterator.next();

Your Iterators are the first implementations I've ever seen to infinitely return null. Your code only works because they are irregular. I recommend you change your DataIterator and fix the code afterwards.
Another Bug
Also you are reusing Iterators. They are made for one-time-use only. You will find this crash when you change your Iterators and run your 2nd example.
This method doesn't work and it should show in a test because it influences the result:
https://github.com/michael-rapp/Apriori/blob/da31097d16844eb28f681092328c044707737e7c/src/main/java/de/mrapp/apriori/tasks/FrequentItemSetMinerTask.java#L84
This line method call throws a NSEE (or in your test implementations is skipped) because the Iterator is already empty:
https://github.com/michael-rapp/Apriori/blob/da31097d16844eb28f681092328c044707737e7c/src/main/java/de/mrapp/apriori/tasks/FrequentItemSetMinerTask.java#L93
Suggestion
I suggest replacing all Iterators with the Iterable interface. You are able to foreach loop them and they are reusable while still being as open as your current API to allow any kind of data source.
I'm also curious why no tests catches the 2nd bug. The math should be off. I just copied your 2nd example and used a List.iterator() and got the NSEE.
I'm leaving this as tips and will try to find another implementation. These basic mistakes undermine the trust in such an important library.
If you have any further questions, I'm happy to answer them.

Of course it's correct that iterators should throw NoSuchElementExceptions instead of returning null. I somehow mixed things up when I was working on this. No need to say, that I will fix this as soon as possible. Nevertheless, it works flawlessly they way it is implemented if I'm not mistaken, although I agree that it's not "best-practice".
I am also alware that iterators are not meant to be reused. I took a quick look at the code and could not identify a piece of code where an iterator is used more than once. However, if that's the case despite my knowledge, I will run into it when working on this issue, I guess.
I'm sorry, if you lost confidence in this library because of the issues you encountered. However, you should bear in mind, that this was meant to be a fun project and not a professional or even paid job. Mistakes happen and one benefit of open source software is that it gets better the more people care about it (which obviously wasn't the case with this niche library so far). I therefore appreciate your feedback and if you want to contribute, I will consider merging pull requests.
By the way, I wasn't able to find an open source library that is able to search for frequent item sets and to induce association rules at the same time. Especially not a one that provides a neat API. But maybe you are more lucky. At least, there is a Weka implementation for mining frequent item sets as well as some people's private Github projects.

The reuse: Line 93 in FrequentItemSetMinerTask.java is inside a while loop. If the loop is false and it runs again, it uses the same iterator again in findFrequentItemSets().
There are very few libraries and yours looked clean and promising. I wanted to use it in a company project so instead of just dropping it I did the least I could/should do and point out bugs I'd noticed.
Maybe I will come back around and give it another shot.

Yes, you're right. An iterable would be the way to go. Nothing that can't be fixed.

Solved in version 1.3.0.


Re-add hasty-hamiltonian, declarative.

Checklist:

[x] Meaningful commit message - please not Update build-constraints.yml

[x] Some time passed since Hackage upload

[ ] On your own machine, in a new directory, you have successfully run the following set of commands (replace $package with the name of the package that is submitted, $version is the version of the package you want to get into Stackage):
stack unpack $package
cd $package-$version
stack init --resolver nightly
stack build --resolver nightly --haddock --test --bench --no-run-benchmarks

Note: for some reason mcmc-types, a dependency for both of these libraries, isn't being included in nightly, so I can't execute the last step in the checklist above.  It seems to be excluded via the line in build-constraints here.
When running against nightly-2018-03-12 -- the last day mcmc-types was included in nightly -- everything works fine.

Ok, I see what seems to be up from the commentary in #3361.  I'll just keep this PR open in the meantime.


Report features to master before reporting errors

As soon as we report an error to the master, it kills our process.
This in turn prevents us from reporting the features loaded before
the error and getting restarted when those change.
https://github.com/burke/zeus/blob/0cd1c4fad7c214a4a842665922803b7e2bac3347/go/processtree/slavenode.go#L223-L226
Instead, we want to report features before reporting the error but ensure that we eventually report the error even if feature reporting fails.
I swapped this code into my currently running Zeus gem and confirmed that it fixed the reloading problem.

r? @ptarjan

lol! good find
lgtm


Add a feed - Add stable anchors for Learn more links

Following up from #158, the learn more links use the raw GitHub markdown heading names. This means that if the heading text is changed, the links break (well, it goes to the top of the page...so not a total 404).
potential solution from @drewda:
if you want slightly more stable anchors, I think you can probably wrap the headers in  to lock in the anchor name, instead of using what's auto-generated by GitHub Markdown.

These links can now go the new documentation site directly on transit.land


Typescript source/definitions issues

Hi,
I was trying to include this library in a typescript project, but maybe I'm missing something in my tsconfig.json because it starts to check source code in this module inside node_modules even excluding "node_modules". maybe is a noobie question about typescript, or it can be done something to improve here, because it tries to check ts files under node_modules/@profiscience/knockout-contrib-* using my tsconfig.json.
I'm using webpack and awesome-typescript-loader, maybe is required to do something here?

tl;dr: Add esnext.asynciterable to the lib in your tsconfig, and enable allowSyntheticDefaultImports.
Please don't close this issue. I'll do it when this is added to the documentation.

Explanation:
So, in an ideal world, when publishing a library, you build definition files (.d.ts), and then when consumers of that library use it with tsc, it will use those to type-check their code.
I've tried to get these working in the past, but faced issues.
The first is that in order to use definitions, the types property in the package.json files for individual packages must be pointed to the built definitions. Because this is a monorepo, it leads to the problem where you have to build packages in such an order that packages that are depended on by other packages are built prior to the packages that depend on them, so that those definitions are built.
The second, even more glaring issue, is that tsc blows up when you try to build definitions for mixins, for whatever reason.
Because of this, the types property is pointed to the source code. This means, that in order for it to type check your code that is consuming this library, it must be able to parse this library. Because of certain features used (async generators, e.g. async function* myFunc() {}), you've got to tell tsc that the necessary runtime features exist.
The first issue looks like it's been resolved with TS 3.0.0, although I'm not sure how the build performance will compare; if the second issue isn't resolved though it won't really matter anyway.

Ok, make sense. I think that I tried but there's more conflicts, one is
related with Jsx other is a missmatch in a type due an init function.
I think that maybe we need a new approach to publish only type definitions.
Like declare somewhere this list of packages and their dependencies and
peek free or resolved ones first.

I forked and tried to use the typescript compile API to solve that, it still needs some work.
I'm able to generate d.ts files but I need to run ts-node excluding this d.ts  as input files so they can be overwritten.
Then is needed to update packages.jon to point to index.d.ts not to index.ts

@nmocruz I'd definitely prefer to only publish type definitions, I just haven't been able to do it successfully without making the build take a loooooong time.

Process all that packages will take some time, looking the Compiler API
there's something related with incremental build, not sure if will speed up
or not individual packages significantly.

@nmocruz I'm under the impression this is all working? Can you review this documentation to confirm that it covers everything?


Crate for pin macros

I'd like to extract our pin macros into their own crate because they're useful for pinning in general and not tied to futures at all. Here's what I'd like to do:

Remove the macros from the facade. Implementors can depend directly on the pin macro crate. #[macro_use] is going away and an additional line in Cargo.toml ins't a burden. So the difference is really just use pin_utils::pin_mut; instead of use futures::pin_mut;
Keep the source within the futures repository
Possible names: pin-utils (my favorite), pin-util, pin, pin-macros, pin-macro (one day we might want to include not-macro stuff in it as well, though)
Independent versioning: Start with version 0.1.0

Thoughts?
@aturon
@cramertj
and anyone who's reading this 🙂

CC @withoutboats, @pythonesque and @ashfordneil since this includes unsafe pin accessors and they were discussing them on the Pin API tracking issue. It would be good to have just a single canonical utility library for making pinned types more ergonomic rather than splitting the effort.
@MajorBreakfast I assume this is just https://github.com/rust-lang-nursery/futures-rs/blob/master/futures-util/src/macros/pin.rs, or are there other related macros somewhere else?
pin-utils is my favourite as well (but it's going to make me mistype futures-utils even more often).

or are there other related macros somewhere else?

@Nemo157 It's just the one file

but it's going to make me mistype futures-utils even more often

I've mistyped this countless times as well ^^'

I don't think pin helper macros belong in the public API of futures, so this makes sense to me. :)

This sounds really great to me!

https://crates.io/crates/pin-utils
https://github.com/rust-lang-nursery/pin-utils

With https://github.com/rust-lang-nursery/futures-rs/pull/1185 the futures crate now uses the macros from the pin-utils crate.
The change will be formerly announced in the blog post for alpha 3.


toRefs problem in safari

Version
3.0.0-beta.15
Reproduction link
<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>

Loading...

Steps to reproduce
Version: vue3 - 15 beta
Safari 12.1.1 (Mojave)
data - holds reactive objects ;
method - holds computed methods;
In Composition API while returning data/computed methods in setup() we have deconstruct data and method … so data looses its reactivity … so i used toRef while data deconstruct and method i didnot … now its working in other browser … in safari it does not.
ex:
setup(){
   return { ..toRef(data) , ...methods}
}

What is expected?
methods object becomes null while accessing in template …
This problem occurs only in safari
What is actually happening?
methods object should not null while accessing in template …

Your code works fine on Safari: value1, value2, comp1 and comp2 are properly displayed

This is chrome

This is safari

It works fine. What is the version you are using?

@posva

Did you check the console? Any errors?
Works properly on Safari 13.1. It's going to be tough to find a machine with the right Safari version :/

@yyx990803 I reproduced it through BrowserStack. This is the stack trace

Please open a new issue this if the problem still happens on a current version (3.0.5 right now)


3DX: Change in roll template color due to dark mode

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <3DX 1st Edition>  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is:  (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <3DX> (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[x] This sheet has been made on behalf of, or by, the game's publisher.
[x] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <https://www.sistema3dx.com.br  >

Changes / Description

The colors in the rolltemplate were difficult to see due to the background color imposed by the roll 20 chat in dark mode.

Character Sheet Info Roll20 Internal Use only.


WFLY-7618: fix code not to use default platform dependant encoding

Issue: https://issues.jboss.org/browse/WFLY-7618

@michpetrov The same tests appear to fail on all platforms, so I presume it is caused by this PR

@kabir fixed and rebased

@michpetrov checkstyle problems in testsuite/integration/basic

rebased again

retest this please

I corrected the problems in #11835 and merged this. Thanks!


Implement getter for the clusters of a specific value

Description
Currently, KhiopsCoclustering's predict method gives us the cluster ID for each individual. If we need the actual clusters we need to parse the report to get the them. We should have a more ergonomic API for this.
Questions/Ideas

A method like estimator.get_clusters_for_dimension(dimension=...) or estimator.get_cluster_of(individual_id=..., dimension=...) could be provided on the estimator.
Often, the dimension specified by key on fit is needed. But key is not available at the predict stage.

I think this function should go in core.coclustering_results.CoclusteringDimension. Then from a fitted KhiopsCoclustering the function called with pkcc.report_ ...

Related #88


Question about N_surface

It seems that your sampling strategy is different from the naive Nerf's, for that you involve a new parameter N_surface.
Could you please clarify the sampling preocess and insights relevant to N_surface.
Thanks！

It is discussed in the paper. We sample near surface region since we have depth sensor input. It is helpful to optimization and saves computation.


@usebruno/cli is not being released

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I want to upgrade usebruno/cli to 1.22 but the package is not available
.bru file to reproduce the bug
No response
Screenshots/Live demo link
https://www.npmjs.com/package/@usebruno/cli

Hi @LaSylv
I've just issued
npm update -g @usebruno/cli
and launching "bru" I see the correct release :
Bru CLI 1.22.0
FYI I'm on a Mac using Node v.18.12.0

Hey @LaSylv, thanks for reporting! And thanks @fgrande for taking the time to look into this issue.
We just released updates for the CLI!

Closing this issue as the CLI has been updated!


Handle the return value of Close() for writtable files and forces writes to disks in pkg/security

What does this PR do?
Fixes cwe 703. Handle the return value of Close() for writable files and forces writes to disks in pkg/security.

Motivation
There are many places in the Datadog Agent codebase that defer a file close operation after writing to the file and so do not check the close operation error result. This may introduce undefined behavior when a write failure is not detected, but the code continues as if it did, causing other issues.

Additional Notes
See reference.

Possible Drawbacks / Trade-offs
N/A

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Thanks for this PR. I moved the milestone to 7.45 so that we can take a deeper look at it after the freeze when we will have a bit more time for it.

3 things about this PR that come to mind:

I would really prefer if we could not use kerrors from the k8s machinery. We are already using a lot of error stuff (stdlib, multierr etc) and it makes little sense to use another one. I think it's fine to ignore the close error if the write before that failed so we should never need to return multiple errors at the same time
We can skip the release note for this, most likely you will merge other PRs for this same "issue"
I think this PR brings little long term value if it's not done in sync with a lint effort ensuring we don't re-introduce the same issues in the future

3 things about this PR that come to mind:

I would really prefer if we could not use kerrors from the k8s machinery. We are already using a lot of error stuff (stdlib, multierr etc) and it makes little sense to use another one. I think it's fine to ignore the close error if the write before that failed so we should never need to return multiple errors at the same time

My last commits removed the usage of kerrors. I used it becauseerrors.Join() is not available in the version of errors we are using. Indeed, it should be fine to ignore the error if the write fails.

I think this PR brings little long term value if it's not done in sync with a lint effort ensuring we don't re-introduce the same issues in the future
I do agree. For now, applying these changes is a short-term solution. In the long-term, gosec can be used to identify such patterns and handle them. I think some other team plans to deal with it.


Add kafka pubsub provider to daprd

Description
Add the kafka pubsub provider to daprd
Issue reference
#8 in components-contrib
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation TODO

LGTM

@khous just the docs remain now.

@khous just the docs remain now.

https://github.com/dapr/docs/pull/551


r3400i equilvalent cpu config?

I have been trying to find a MIPS CPU configuration matching that of the R4300i, and am currently using MIPS:BE:32:default (1.5). While this appears accurate for most instructions, there are some (0xdf410328 (LD AT,0x0328(K0)), 0xff410328 (SD AT,0x0328(K0)), 0xfcb00098 (SD S0,0x0098(A1))) that are not recognized. I have been looking for about a month for a compatible config and was hoping someone has already found or developed one.

Its a 64-bit processor and SD/LD are MIPS64 instructions only... MIPS:BE:32:* will never work?

I'm assuming you chose a 32 bit MIPS variant because the pointer size is 32 bits. You may be better off with the `MIPS:BE:64:64-32addr" variant.

I have been looking into using 64-32addr variants, and have found several valid instructions, along with the aforementioned, were still not recognized by the decompiler. Are there any custom-written cpu configs for closer compatibility with r4000-like processors?

while using MIPS:BE:64:64-32addr, I noticed it considers 0x24 the start of function variables in stack instead of the actual 0x10 expected. Is there a way to change it to the proper setting without manually modifying every function signature with more than 4 inputs?

while using MIPS:BE:64:64-32addr, I noticed it considers 0x24 the start of function variables in stack instead of the actual 0x10 expected. Is there a way to change it to the proper setting without manually modifying every function signature with more than 4 inputs?


Fix PortableCompressedTexture2D block formats

Fixes block formatted image handling in PortableCompressedTexture2D, doesn't look like this has been reported. Currently PortableCompressedTexture2D saves the original image metadata (width, height etc.) into the header, not the actual converted image data. This makes the loading fail in many cases.
Related PR fixing some other issues with PortableCompressedTexture2D: https://github.com/godotengine/godot/pull/77712. Some minor merge conflicts will have to be sorted out depending on which one gets merged first.
Testing is trivial, this EdiorScript snippet should fail on master, works after this PR. The other PR should hopefully fix the losseless and lossy handling. COMPRESSION_MODE_ETC2 will probably fail on most desktops, it's kind of a special case in the renderer and we don't currently support decompressing it manually.
@tool
extends EditorScript

func _run():
	var formats = [
		#PortableCompressedTexture2D.COMPRESSION_MODE_LOSSLESS,
		#PortableCompressedTexture2D.COMPRESSION_MODE_LOSSY,
		PortableCompressedTexture2D.COMPRESSION_MODE_BASIS_UNIVERSAL,
		PortableCompressedTexture2D.COMPRESSION_MODE_S3TC,
		#PortableCompressedTexture2D.COMPRESSION_MODE_ETC2,
		PortableCompressedTexture2D.COMPRESSION_MODE_BPTC,
	]

	var image = Image.create(100, 100, true, Image.FORMAT_RGBA8)
	image.generate_mipmaps()

	for format in formats:
		var texture = PortableCompressedTexture2D.new()
		texture.create_from_image(image, format, false)
		print("OK: %s" % format)

@bitsawer We're having trouble testing this. We would like test assets for testing backwards compatibility.


Fix coding style

pre-commit is failing with the latest set of dependencies.
https://github.com/cupy/cupy/actions/runs/6044866627/job/16450109958

Can this be a high priority, as CIs are broken in master/v12 branch?

/test mini

@takagi Failed to backport automatically.

Not cleanly cherry-picked


Optionally add ref to git commit with release version

Use the balena-sdk to get the release raw_version after a successful push.
If create_ref is true then use octokit to create a ref on the workflow sha.
Change-type: minor
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>Resolves: https://github.com/balena-io/balena-ci/issues/17

@balena-ci rebase

@balena-ci I self-certify!


Port to esp-idf

Hey, I have initially struggled a bit to get the T-Display-S3 to work on the esp-idf but I got it to work and made it publicly available at:
https://github.com/krupis/T-Display-S3-esp-idf
Are there drivers available for the AMOLED display on the esp-idf?

Hi, krupis.
The driver part can be directly copied to esp-idf for use, because the driver method is still the method of calling esp-idf, so it is the same

When we talk about the driver, are we referring to the following files:
LilyGo_AMOLED.h
LilyGo_AMOLED.cpp
that are located at https://github.com/Xinyuan-LilyGO/LilyGo-AMOLED-Series/tree/master/src
Are there any other dependancies to get the basic example working on the esp-idf?

What I said is that the driving method is the same, not that you directly copy the src. Later, I will give a collection example of all AMOLEDs using ESP-IDF drivers.

I've done most of the basic examples for LilyGo displays, you can find them here
https://github.com/Xinyuan-LilyGO/LilyGo-Display-IDF


[optimize #4717] optimize code style.

#4717
Optimized the Programming style of some classes.
Use Objects Judgment Null Or NotNull.
Objects.isNull(obj) OR Objects.nonNull(obj)

Codecov Report

Merging #4718 (8636bc6) into master (bc16c5f) will decrease coverage by 0.18%.
The diff coverage is 34.78%.

@@             Coverage Diff              @@
##             master    #4718      +/-   ##
============================================
- Coverage     66.45%   66.27%   -0.18%
- Complexity     8004     8009       +5
============================================
  Files          1109     1111       +2
  Lines         32044    32166     +122
  Branches       2896     2905       +9
============================================
+ Hits          21294    21319      +25
- Misses         9060     9153      +93
- Partials       1690     1694       +4

Impacted Files
Coverage Δ

...tener/http/HttpLongPollingDataChangedListener.java
5.88% <0.00%> (ø)

...e/shenyu/admin/service/impl/DetailServiceImpl.java
77.55% <0.00%> (ø)

...he/shenyu/admin/service/impl/FieldServiceImpl.java
88.46% <0.00%> (ø)

.../java/org/apache/shenyu/admin/utils/HttpUtils.java
36.72% <0.00%> (ø)

.../java/org/apache/shenyu/common/utils/MapUtils.java
37.50% <0.00%> (ø)

...henyu/plugin/brpc/spi/SharedThreadPoolFactory.java
0.00% <0.00%> (ø)

...henyu/plugin/httpclient/NettyHttpClientPlugin.java
35.71% <0.00%> (ø)

...java/org/apache/shenyu/plugin/sofa/SofaPlugin.java
82.75% <0.00%> (ø)

...g/apache/shenyu/web/loader/ShenyuPluginLoader.java
73.01% <0.00%> (ø)

.../dubbo/validation/AlibabaDubboClientValidator.java
89.79% <33.33%> (ø)

... and 8 more

... and 24 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Does it support STORAGE and STORAGE_ RESULT？？

Does it support STORAGE and STORAGE_ RESULT？？
if supported,  how to config.

Yes, visit thumbor-aws


Feature/task 5344 Text Keys For Error Reporting Legal Texts

Description
Keys in Localizable.legal.strings
Keys in AppStrings
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-5344
Screenshots
n/a

obsolete


add stages to dvc pipeline

[ ]  update dvc.yaml
[ ]  test run dvc pipeline

created dvc.yaml remaining for model evaluator


Early crypto_box_seal

See #3
It works for short messages, but appears to be breaking for large messages.
$msg = str_repeat('A', 33);

$sealed = \Sodium\crypto_box_seal($msg, $publicKey);
$opened = ParagonIE_Sodium_Compat::crypto_box_seal_open($sealed, $keypair);

var_dump($msg === $opened); // bool(false) when strlen($msg) > 32

Truth be told, I'm not sure what the problem here is.

crypto_secretbox doesn't puke on large messages
crypto_box doesn't puke on large messages
crypto_box_seal pukes on large messages

Note that this is only true when:

The ciphertext was generated by the PECL extension
The message is being decrypted with sodium_compat
...or vice versa. They're self-consistent.

I originally suspected ParagonIE_Sodium_Core_Salsa20::salsa20_xor_ic() was incompatible with libsodium's implementation, but that would break ParagonIE_Sodium_Compat::crypto_secretbox()` as well.
@jedisct1 If you're aware of any obvious reasons for why this could be happening, I'd greatly appreciate the insight.

The poly1305 tag is validated successfully.
crypto_secretbox is compatible.
crypto_box is compatible.
crypto_box_seal is incompatible but after the first 32 bytes of ciphertext.

To reproduce on a machine with PHP installed and the libsodium extension:
vendor/bin/phpunit tests/compat/TempTest.php

That isolates the failing compatibility tests.


Only disaggregate variables involved in disjunction constraints (Hull reformulation)

Currently, all variables are being disaggregated, which means that many variables are created unnecessarily, affecting performance.

only relevant variables need to be bounded

closed by https://github.com/hdavid16/DisjunctiveProgramming.jl/commit/859a1640ac0d89c399e54aab36b0b1acdc3f75ec


Sort by created not by updated

lgtm. we would still have the issue of an update to a document creating a last touch date other than the actual date the challenge was closed, but maybe that is going to be a rare occurrence

This solves that though, no? The issue was when posting a new challenge to this route, it got the more recent challenge by whichever was updated most recently, not created most recently. Now we are ignoring the updated timestamp in the route and just getting whichever one was actually created last

lgtm. we would still have the issue of an update to a document creating a last touch date other than the actual date the challenge was closed, but maybe that is going to be a rare occurrence

This solves that though, no? The issue was when posting a new challenge to this route, it got the more recent challenge by whichever was updated most recently, not created most recently. Now we are ignoring the updated timestamp in the route and just getting whichever one was actually created last

Yeah it does. Do not remember my original line of thinking here


Support for linking accounts

I am working on a use case where it is important to allow users to link more than one social login to their Drupal account. For example, allowing users to sign in to their Drupal account from either their LinkedIn or Salesforce account.
This should be doable with Auth0's account linking functionality, but it requires implementing the interface in Drupal.
I've built a simple working prototype of this functionality in the branch: https://github.com/arithmetric/auth0-drupal/tree/feature/linking_accounts_prototype
I'm posting here for any feedback or suggestions on the approach. Ideally this will be built in a way that can be useful for others and can be contributed here.
Next Steps

In the prototype, all of the code is added to the auth0-drupal module. I think it would be preferable to move as much of the new code as possible into a submodule, which would be optional to enable.

In the prototype, a second block with the Auth0 Lock widget is exposed where authenticated users can "login" again with a secondary account to link it to the active one. In a build out this would be replaced by a page where users can select any auth connection that is not already linked with their account. To accomplish this, Drupal will also need to store a list of the active connections for the configured Auth0 application profile.

In the prototype, the ID token is stored in the database during each user's log in so that it can be used to authorize account linking. (Even so, the ID token may expire while the Drupal session is still active, so it may be necessary to have users re-authenticate with Auth0.) It may be more fool proof and would provide more security to not store all ID tokens in the database, but rather require users to re-authenticate with their primary account whenever they link accounts.

Sorry for the delay.
I did a quick check and this looks good, but I think this should not be part of the sdk.
The proper way to handle this, in my opinion, is the following:

The plugin should provide a hook so you can attach to it and get the user data from there (profile, id_token).
Then you should be able to store it in the session or database (I would try to avoid it) as you prefer
Implement the user linking on your own (it is pretty straight forward since it is already resolved on the linking docs)

The reason is that there might be different posible implementations/validations that each one might want to do. This will make it easier for them to customise and this way there is less things to mantain in the future (and less discussions to have with people that needs different ways to do that)
what do you think?

@glena Thanks for the review. Overall I agree with the approach you suggest.
Unfortunately the project sponsoring this work has reprioritized this feature, so I will not be able to follow up immediately on the next steps.

ok, just ping me when you get back to this so we can work it out.
Thank you


Career site fixes: Position page - Application form validation

Problem
On Career site, Position page, for Application form:

We show validation via browser tooltip (i.e. "Please fill out this field"), while initially planned to use bootstrap styles (as in Hub on Change password page)

Solution

Try to switch to bootstrap styles for validation (problem is that bootstrap uses js to intercept browser validation and show own instead, so we need to test that validation will look correct in case js isn't loaded)

Note to myself:
--tblr-form-valid-color: #2fb344;
--tblr-form-valid-border-color: #2fb344;
--tblr-form-invalid-color: #d63939;
--tblr-form-invalid-border-color: #d63939;
icon color matches border-color


Fix bar sorting in the legend

Currently bars are not sorted correctly so the range for the scales is often incorrect. Reordering the bars should remedy the problem

Closed via #185


mDNS doesn't broadcast (OSX)

Privet works fine on OSX, as long as the client is running on the same machine. Otherwise, the announcements don't appear on other mDNS agents listening to the same subnet.

This was a problem with my dev environment.


Doesnt work

Just to let you know I tried this today as I've got a situation where the Android keyboard is pushing up View's that sit at the bottom of the screen, whenever the keyboard is opened.
Followed all the instructions, did nothing. If it does actually work let me know would be nice to have control over this Android gotcha.
React Native 0.41.1

It works fine for me on exporting to react-native 0.40. I doubt there's any breaking changes to 0.41.1?

As an update on a separate project it actually doesn't work for me in the new project. It's really odd I'm using the same versions of react/react-native as the other project and followed the same setup.

Did anyone get this working? I am using RN 0.48. My view still gets moved up when I set  AndroidKeyboardAdjust.setAdjustNothing().

Doesn't work with RN 0.47.1 also

doesn't work. please help

Did anyone get this working? I am using RN 0.48. My view still gets moved up when I set AndroidKeyboardAdjust.setAdjustNothing().

Try using AndroidKeyboardAdjust.setAdjustPan();


Add support for light and dark Pygments style

First, thank you so much for creating the Sphinx Awesome theme!
Currently, it seems like Sphinx Awesome can only support one Pygments style. While this is great, this behavior does not work well with both dark and light themes. Depending on the selected Pygments style, it will only function well with either light or dark themes, but not both.
It would be fantastic to add support for two separate Pygments styles: one for dark mode and another for light mode.
For example, you can see how the PyData theme implements separate styles (see "Configure Pygments theme"):
html_theme_options = {
   ...
   "pygment_light_style": "tango",
   "pygment_dark_style": "monokai"
}

https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/styling.html#configure-pygments-theme

Hope this gets added some day, will be really helpful!

Just wanted to note my observations so that I don't forget.

Sphinx natively supports setting different color themes with pygments_style and pygments_style_dark. I don't think this theme supports this out-of-the-box due to the way I add the CSS.
What doesn't work with the way Sphinx handles these different color schemes is the manual theme switcher. So, if you select light mode but your OS preference is set to dark mode, the light mode highlighting colors will be used.
The Furo and Pydata Sphinx themes use a workaround, effectively bypassing the built-in Sphinx options.

I'm not keen on maintaining custom code that works around Sphinx's (or Pygments in this case) features. I've tried doing this in earlier versions of this theme, and it was painful, because even updates of minor versions often caused things to break.
So, I want to suggest this workaround for now:

Select a theme you want to use in light mode with the pygments_style option.

Create a custom CSS file with your dark mode colors:

Run pygmentize -S <THEME> -f html > pygments-dark.css. Choose your syntax highlighting theme <THEME> here.
Prepend every line in this file with .dark. So instead of .c { color: ...} you would have .dark .c { color: ... }.
Add this file as custom CSS to your Sphinx project.

It seems like you can prepend ".dark" by using:
pygmentize -S <THEME> -f html -a .dark > pygments-dark.css


Unsigned Int in RV64 and Macro-op Fusion for base ISA

Questions from Alibaba.
1.
Normally, RV64 treats 32-bit data as signed data. This means that when 32 bits are involved in the arithmetic, MSBs are always sign extended to 64 bits. However, this is a disaster for programs such as coremark that use unsigned int as an array index. The array index needs to be zero extended to 64 bits by slli and srli, and then the base address is added to execute the load operation.
A well-known trick is to change the definition of unsigned int to signed int, which is not explicitly prohibited in earlier versions of coremark. With this trick, the coremark performance of the high-performance RV64 processor can be improved by more than 14%.
However, last month EEMBC updated the coremark requirements to make sure that unsigned data type must be treated as an unsigned number:
https://github.com/eembc/coremark/commit/7663f78002d0aa55ea6a047c1dc4e11d43fbeb4f
That is, EEMBC believes that 64-bit architecture should provide adequate support for unsigned int types. This is a realistic need in real world.
By adding indexed load and unsigned offset, you can compensate for 14% of coremark performance loss. Thanks to indexed load and store, the total performance improvement can reach more than 20%.
Does RV64's base ISA have a plan to solve this problem?

In addition to the indexed load and store mentioned above, unsigned extensions (slli and srli), multiply-accumulate is a common operation supported by high-performance processors. Integer execution units can execute these instructions quickly (unsigned extensions require only single cycle execution, and multiply-accumulate execution cycles are the same as multiplication) at a lower cost.
We know that in order to keep the ISA simple, RISCV recommends using Macro-op fusion to support these operations. However, due to the limitations of the instruction function and register index, not all operations can be compressed to two 16-bit instructions. In some cases (such as the indexed load and store mentioned in the above example), more than two 32-bit instructions are required to complete a hardware operation.
For high-performance processors with high decode widths, instruction fetch efficiency is critical to performance. Instructions that need to be fused will reduce the efficiency of instruction fetch, which in turn affects the overall performance of the processor. In order to compensate for the performance loss, the processor needs to design a more complex fusion strategy, which further increases the complexity of the design.
In addition, in order to compile fused instructions, the compiler needs to align the associated fused instructions. Not only does it hinder compiler optimization, it also reduces the performance of low-cost processors that don't use Macro-op fusion.
The current ISA relies on processors and compilers to provide support for Macro-op fusion, which is contrary to the original intention of simplifying processor and compiler design. How does RISCV view this issue?

Please post independent issues separately in issue tracker.

multiply-accumulate instructions are being considered as part of P extension.

I'm closing second issue here, and transferring other issues to separate issue number for discussion.


Fix quotation marks in docs/00-scd/09-escrow/coding.md

Changed sections:

docs/00-scd/09-escrow/coding.md

Some troubles with building Docusaurus using Node.js v0.20.6: https://github.com/facebook/docusaurus/issues/9286

@A-mont thanks a lot for the update!


Compilation errors when compiling GODOT engine with godotsteam + godotsteam multiplayer peer with mono support.

Describe the bug
Compilation errors (not declared/not in scope/...) occur when compiling GODOT with godotsteam + godotsteam multiplayerpeer for windows with mono support enabled.
I managed to build the engine with working mono support (+godotsteam & godotsteam multiplayerpeer) on my pc and laptop over a week ago (before having the reproduction steps below). I was able to build working godot projects with mono support using godotsteam + godotsteam multiplayerpeer (still am able on my pc) but broke something on my laptop. After trying to re-compile the engine on my laptop I wrote/compiled the guide below but some compile errors keep getting in my way.
To Reproduce
Steps to reproduce the behavior:

Have prerequisites installed

Powershell executionpolicy for choco installationGet-ExecutionPolicy

-> if restricted:Set-ExecutionPolicy AllSigned

Install chocoSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Install powershell 5.1 or laterchoco install powershell-core -y

Install gitchoco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" -y
choco install git -y

Install Visual Studio Community 2022 with at least these workflows:

.NET desktop development
Universal windows platform development
Desktop development with C++
Game development with C++

choco install visualstudio2022community --package-parameters "--add Microsoft.VisualStudio.Workload.NetWeb;Microsoft.VisualStudio.Workload.Python;Microsoft.VisualStudio.Workload.ManagedDesktop;Microsoft.VisualStudio.Workload.NativeDesktop;Microsoft.VisualStudio.Workload.NetCoreTools;Microsoft.VisualStudio.Workload.Universal --passive --locale en-US" -y

Install Scoop using a new powershell window (5.1 or later)Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

Install compiler and other compiler prerequisites using Scoopscoop install gcc python scons make mingw

Get the correct sources

Create and go to a directory where you want to build the enginecd D:/GODOT

Clone the GODOT source codegit clone https://github.com/godotengine/godot.git -b 4.2.1-stable godot

Get submodules required for multiplayercd godot/modules
git clone -b godot4 https://github.com/CoaguCo-Industries/GodotSteam.git godotsteam
git clone -b multiplayer-peer https://github.com/CoaguCo-Industries/GodotSteam.git godotsteam_multiplayer

Download the Steam SDK from https://partner.steamgames.com/dashboard
Move the /public/ and /redistributable_bin/ folders from the unzipped Steamworks SDK into the godot/modules/godotsteam/sdk/ folder so you have the following layout:

godot/
modules/

godotsteam/

sdk/

public/*
redistributable_bin/*

Compile the godot engine with mono support

GODOT engine compilation in a new powershell 7 window

This run will take +- 30m-2h

cd D:/GODOT/godot
scons module_mono_enabled=yes platform=windows tools=yes target=editor
scons module_mono_enabled=yes platform=windows tools=no target=template_debug
scons module_mono_enabled=yes platform=windows tools=no target=template_release

When the engine compilation is finished:

copy godot/modules/godotsteam/sdk/redistributable_bin/steam_api.dll to the (D:/GODOT/)godot/bin/ folder.
copy godot/modules/godotsteam/sdk/redistributable_bin/win64/steam_api64.dll to the (D:/GODOT/)godot/bin/ folder.

Generate dotnet glue./bin/godot.windows.editor.x86_64.mono.exe --headless --generate-mono-glue modules/mono/glue

this step is done when you see "The Godot API sources were successfully generated" (now press enter)

Build the managed librariesmkdir D:/GODOT/MyLocalNugetSource
dotnet nuget add source D:/GODOT/MyLocalNugetSource --name MyLocalNugetSource
python ./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --push-nupkgs-local D:/GODOT/MyLocalNugetSource

The errors occurrs on the scons compilation commands.

Expected behavior
End up with a working godot engine with full mono support for godotsteam

What ends up happening
Errors when performing:
scons module_mono_enabled=yes platform=windows tools=yes target=editor
scons module_mono_enabled=yes platform=windows tools=no target=template_debug
scons module_mono_enabled=yes platform=windows tools=no target=template_release

Errors:

scons errors.log
Desktop:

OS: Windows
Version: 11

Version of Godot:

Which version are you using?

4.2.1-stable
Version of GodotSteam:

Please include the version number and if you are using the module or plug-in.

latest (4.5.4)
Additional context

Add any other context about the problem here.

Insert obligatory "works on my machine pc" joke.
I'm trying to set up a compile build/guide so the rest of the -assembling- team can also start working on the game. (the build exe files that work on my pc do not seem to work on other machines)
My sources for the guide above:

https://godotsteam.com/howto/multiplayer_peer/
https://docs.godotengine.org/en/latest/contributing/development/compiling/compiling_for_windows.html
https://scoop.sh/
https://docs.godotengine.org/en/latest/contributing/development/compiling/compiling_with_dotnet.html

So it worked before but now does not?  Hmm.  Yeah, I'll have to look over these errors since there are a lot of them.  Are you using the latest SDK?  I just noticed that it is now 1.59, which must have been very recent.  I wonder if that might have broken something.

I uploaded the new SDK 1.59 to our build repo and checked out the actual changes; there are a bunch Valve didn't list in their write-up and they seem to break compatibility.
I will have to update GodotSteam to work with this new SDK version; it isn't a ton of stuff but enough. For now, you'll want to use SDK 1.58 with the current code. After I get these updates out, they will be compatible with SDK 1.59 and on.

OK, the Godot 4.x branch is updated so this should work now.  We discussed it a bit more on Discord too.
After I get these updates all put out, I'll finish up the Github Actions updates to see if we can get Mono builds going too. I may have questions!