PHP Bumps

Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build php74 php80 php81

https://www.php.net/ChangeLog-8.php#8.1.7
https://www.php.net/ChangeLog-8.php#8.0.20
https://www.php.net/ChangeLog-7.php#7.4.30

The 7.4 update should be dropped from this PR and then all three updates should be targeted for the stable branch :)

@GrahamcOfBorg build php80 php81


NAT Flow

Here is an outline of the overall plan for NAT traversal. This implies both port mapping/punching as well as using other techniques such as circuit relaying and dialme flows:

Have a nat module to take care of all things NAT
Circuit relays work like TURN servers

circuit relays and NAT port mapping/punching provides pretty good connectivity for peers
relaying traffic can be slow, plus it will be demanding for the relay peers

The upcoming dialme protocol can be used to upgrade relayed connections to direct ones when possible, thus increasing the chances of direct connections and alleviating load on the relay nodes

Here is the overall flow I'm thinking about
Booting libp2p

assuming nat manager and circuit dialing are both enabled

On boot

detect the current network topology

if we have a public ip do nothing and ignore NAT altogether
if we've detected NAT then proceed to set up NAT traversal

try to set up a port mapping for each of the (applicable) swarm addrs
announce the public addresses (along side the private ones?)

Dialing Peers

(assuming we have NATed ports and circuit is enabled)

Dialing a peer

Peer A dials to Peer B over circuit (because B is behind a NAT or its a browser, etc...)

on success, see if Peer A has a public address or NAT port mappings setup

if either are true

use the dialme protocol to ask the other end (Peer B)  to dial us on our public address

if success, drop the circuit connection and use the newly acquired direct connection
if failure, continue using the circuited connection

if neither are true

continue using the circuited connection

+1 traverse FW/NAT

Closing due to staleness.  The current approach is to use a combination of uPNP NAT traversal, if available, and if not to use autonat + socket timing - see https://blog.ipfs.tech/2022-01-20-libp2p-hole-punching/


Arduino LED Matrix - Top row is always off; display corruption when scrolling text.

The top row of the LED matrix is always off.
Furthermore, when displaying text (through the ArduinoGraphics library) with SCROLL_LEFT, garbage is displayed when the end of the string begins to scroll all the way off.

well, nevermind.  this got fixed, apparently, in the current version.  Now I gotta figure out why my Arduino is using an older version that's missing the bounds check


Error cloning repository

Hi there! Just spotted this repo recently and been trying to set it up and play around with few options of own.
But - seems like git-lfs used to track *.pkl files are causing some trouble in cloning the repo and throwing errors.
Would it be possible to update the references or another file option to make this repo easily pull-able please?
Appreciate the work on this framework!
Stacktrace:
(.env.3.9) ➜  hftbacktest git:(master) ✗ git reset --hard
Updating files: 100% (22/22), done.
Downloading example/usdm/bnbusdt_20221116.snapshot.pkl (19 KB)
Error downloading object: example/usdm/bnbusdt_20221116.snapshot.pkl (af67be7): Smudge error: Error downloading example/usdm/bnbusdt_20221116.snapshot.pkl (af67be7664c09d002afe64f8b2a956f87c0355571ae8a0bbcf818d2e9f3cab04): batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.

Errors logged to '/Code/hftbacktest/.git/lfs/logs/20230222T150946.286206.log'.
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: example/usdm/bnbusdt_20221116.snapshot.pkl: smudge filter lfs failed

I wanted to provide the example data to get started easily, but the file size is too big to upload to github. The files are uploaded to github-lfs, but unfortunately, now it's blocked because of the limit of github-lfs bandwidth. I'm thinking of just providing a few minutes' data as an example.
There is no problem cloning code just you don't have the example data files. For now, please see https://github.com/nkaz001/collect-binancefutures and collect some data by yourself to test it.
I will find a way to resolve this issue.

Yeah - trying to make those input files by processing data, but seems like usage of binary (*.pkl) + custom event data format for these makes it bit hard to manage another layer of inputs.
Is it possible to just feed a stream of full data feed across in standardized plain text (*.csv) format instead using Tardis data format and make use of them in framework to process of order requests accordingly instead?

Ticker / Orderbook to maintain latency and exchange activity
Public Trade files to simulate fills for outstanding limit orders

Downloadable data file formats example: https://docs.tardis.dev/downloadable-csv-files

Yup. But according to their document, quotes data is restructured from order book L2 feeds. It's not bookTicker stream data.

Hey @nkaz001 thanks a lot for sharing this beautiful work!
Trying to understand which of all the available book data types from Tardis is expected by the script - is that incremental_book_L2?

Right, that is incremental_book_L2. I made a tutorial about data. Please see https://github.com/nkaz001/hftbacktest/blob/master/examples/Data Preparation.ipynb By the way, I have no access to Tardis data now, please let me know if there is a problem to use that.

Delete LFS files.


Bump dev-dependencies for examples

Updates the dependencies used by examples to current - some have had API-breaking changes, so some examples are updated to catch up with those as well.
Note that the hyper-server example doesn't seem to work when tested, but it also didn't work before this PR. Looked at it a bit and found that poll_accept() returns Pending via incoming.poll_next() and then poll_accept() isn't invoked again. hyper-client meanwhile works fine, so the issue doesn't seem to be related to the AsyncRead updates.

I did another quick update to the dependencies and fixed the missing update to surf, didn't need any code changes for this update. Ran through the examples and they seemed to run fine. The only exceptions were hyper-server with the aforementioned issue, and windows-uds which I didn't have a windows machine available to test.

I did another quick update to the dependencies and fixed the missing update to surf, didn't need any code changes for this update. Ran through the examples and they seemed to run fine. The only exceptions were hyper-server with the aforementioned issue, and windows-uds which I didn't have a windows machine available to test.


Feat/import web

Feat/import web
Description of the Change
git-subtree-dir: packages/manager/apps/web
git-subtree-split: d34ebf62c43bc1fc97f0009c3845d68d72ce7da2
5eaeb559 — Squashed 'packages/manager/apps/web/' content from commit d34ebf62c
45087944 — Merge commit '5eaeb55973217c4c555af3498f0ec409c47f3bbf' as 'packages/manager/apps/web'
ea13b64e — Merge branch 'develop' of github.com:ovh-ux/manager into feat/import-web
94c8270a — Merge branch 'develop' of github.com:ovh-ux/manager into feat/import-web
2deec047 — Merge branch 'develop' of github.com:ovh-ux/manager into feat/import-web
bddf6df1 — build: upgrade dependencies
09d208c4 — feat: add @ovh-ux/manager-web
c013efe3 — build: upgrade yarn.lock file
fcd7f3c5 — build: upgrade dependency
001c2911 — Merge branch 'develop' of github.com:ovh-ux/manager into feat/import-web
2f0459e5 — build: update yarn.lock
d7109090 — build: add missing dependency
f6fa81f5 — merge with develop
8616340e — refactor: use @ovh-ux/manager-office & @ovh-ux/manager-sharepoint
77f1e1bb — merge with develop
ref: MANAGER-3075

this is an attempt to move ovh-manager-web into our mono repo, a staging is up with a working version of the manager for QC team to play with

CDS Report sms#4173.0 ✘
*

Build CA ✔
Build EU ✘
Build US ✔


Out of Memory when i accelerate parquet files having more than 1Billion records and connect it to apache superset using flightsql

Describe the bug
I am trying to accelerate a 1 Billion Parquet file and have used helm deployment for deploying spice ai image to a Kubernetes pod.
The parquet file in a fileshare that is mounted on the POD and i have given the path in dataset configuration.
Tried below Datasets:

1 Billion
200 Million

I have a
In values.yaml the spec for the POD is below:
image:
  repository: spiceai/spiceai
  tag: latest
replicaCount: 1
resources:
  requests:
    memory: "80Gi"
    cpu: "20"
  limits:
    memory: "80Gi"
    cpu: "20"

In Superset i have created a dashboard after creating a connection using flightsql.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
For 1 Billion: Kubernetes POD is throwing OOM error.
For 200 Million: While accessing Superset dashboards, intermittently pod gets killed due to OOM
Spicepod
The dataset configuration is:
      - from: file://Test//Sample_1Biln.parquet
        name: Sample_1Biln_accelerated
        params:
          file_format: parquet
        acceleration:
          enabled: true
          refresh_check_interval: 1m
          refresh_mode: full

Output of the describe table
NA
Output of explain query
NA
spice, spiced, OS info

spice image: spiceai/spiceai:latest
spiced version: v0.15.0-alpha
OS info: Ubuntu

Have you tried this on the latest trunk branch? No
If possible, run spiced with DEBUG log level
By setting the environment variable SPICED_LOG="spiced=DEBUG,runtime=DEBUG,data_components=DEBUG,cache=DEBUG"
Screenshots
NA
Additional context
NA

Thank you for reporting!  We will do some investigation into this.
Are you able to share a schema or give some details on how many columns / what types of columns you're loading up in the 1 billion rows?

@digadeesh - Could you please try any publicly available datasets.  You can find any 1 billion parquet and add around 20 columns and try to accelerate it. Columns are a mix of numeric, text and datetime fields. Hope this helps. I also tried with a 200 million, but it crashes the Kubernetes POD while playing around with the Apache superset dashboard.
Example: https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page
https://github.com/toddwschneider/nyc-taxi-data

@michaelkovatt thanks for reporting the issue again! Please see explanation below.
Spice's default acceleration is in-memory Arrow based, the size info can be found in the log after the dataset accelerated. e.g.
2024-08-05T00:14:32.318050Z  INFO runtime::accelerated_table::refresh_task: Loaded 179,958,156 rows (33.86 GiB) for dataset lineitem in 38s 8ms.

Above log shows accelerating a [TPCH dataset](https://www.tpc.org/tpch/default5.asp) with 16 columns and 18 Million rows.
Using this scale, 1 billion rows of 20 columns will need ~235G memory which exceeds the 80G in the pod configuration.
For 200 millions rows, 20 columns dataset, it will be ~47GB which can be loaded however may struggle with some queries.
When querying in superset, depends on the query type, Spice may need various size of additional memory space to perform the query computation.
Spice is based on [Apache DataFusion](https://github.com/apache/datafusion), which has [issues](https://github.com/apache/datafusion/issues/587) that explains and tracks operations that may result in large memory footprint.
For example, with the above setup, if a query that involves join and select a large set of columns, twice of dataset size memory are required for processing (94GB):
select * from lineitem a inner join lineitem b  on a.l_suppkey = b.l_linenumber limit 10;

The situation worsens if multiple requests happen concurrently.
Besides increasing the memory resource for the pod, you can also rewrite your query to reduce the memory footprint:

avoid queries including joins on large datasets without where/limit clause
avoid select large set of columns

Besides rewriting, you can also try

limit the query concurrency
remove the refresh_check_interval if the dataset is static as it will use additional memory for unnecessary refreshing
try out sqlite or duckdb accelerator with file mode which will spill the data into the disk. We are still beta-hardening them, so you may discover issues and we are more than happy to fix them.

Close this issue as explained above.


Move user-facing forms to separate URL endpoint amy.swc.org/forms

This is to simplify URLs we can use in the administrative part of AMY.
User-facing forms: forms that don't require people to log in, like workshop submission, profile update request, etc.

@pbanaszkiewicz , BTW what's the point of using namespaces in URLs? Would not it be simpler if we had a "flat namespace":

login instead of account/login
admin-dashboard instead of workshops/admin-dashboard
and so on.

@chrismedrela I want to have external forms at amy.swc.org/forms, AMY-administering stuff under amy.swc.org/workshops, account-related perhaps under amy.swc.org/account, etc.
We don't use namespaces much since we have very few applications.

@pbanaszkiewicz Yes, we don't use namespaces much, so what if we don't use namespaces at all? We have control over all urls, so there is no risk of URL collision.

Okay, I'm confused. What namespaces are you talking about? Did I mention namespaces somewhere? What was the context?
I just want to have a separate "URL subtree" (if you look at the URLs as a tree) for stuff that is accessible by any non-logged in person.

When I say namespace, I mean using subtrees in the URLs tree. I propose to change i.e. WhateverAmyDomainIs.com/account/login to WhateverAmyDomainIs.com/login.


Example of ~/.zshrc

Hi,
I only learned about your project recently and already find it really useful!
I am not sure if this is the best place for me to share this or if it is important, so feel free to delete this issue.
I just thought an "example" configuration could help people save some time looking for this.
The system I tested this in is a macOS Catalina.
Please feel free to let me know if there is a better way to implement this example.
Thank you for this repo,
Diana

Example
So that whenever I switch to a new folder it tests if it is a git repo and if it is calls the PROMPT option, if not keeps it a zsh shell. I added the example lines below to ~/.zshrc
function chpwd {
TEST_git=$(git rev-parse --is-inside-work-tree) 2>/dev/null
if [ "$TEST_git" = "true" ]; then
      pwd
      source /Users/LDianaAmorim/Documents/opt/zsh-git-prompt/zshrc.sh
      # an example prompt
      PROMPT='%B%m%~%b$(git_super_status) %# '
else
      exec zsh
fi
}

I had to create that file (before I only had ~/.zprofile) and decided not to use the .sh termination as is consistent with other profile files.

can i ask how to fix git super status error?

Hi! Could you please share the error message?

invoking git every time might be kinda slow, it's faster to do something like [ -d .git ]. It's probably(?) unlikely there would be a .git directory in pwd that is not a git repo :)

@craftyguy, the git directory exists only at the root of the git repository. The check would need to look recursively at the parent directories as well.
If you want a faster git prompt, you could try https://github.com/zsh-git-prompt/zsh-git-prompt/. It uses the shell directly, avoiding the startup cost of Python or Haskell.

@craftyguy, the git directory exists only at the root of the git repository. The check would need to look recursively at the parent directories as well.
If you want a faster git prompt, you could try https://github.com/zsh-git-prompt/zsh-git-prompt/. It uses the shell directly, avoiding the startup cost of Python or Haskell.

ah yes, good point.


Readme improvement for Cartoonify Image folder

https://github.com/akshitagupta15june/Face-X/tree/master/Cartoonify Image
Include documentation required.

Hey,
Can I take this up as part of cross winter of code?

Yes Ofcourse

@akshitagupta15june can I take up this issue as part of dwoc and swoc?

I think @Rukmini-Meda is working in it

Hello, Sorry I hadn't updated my status. I have been busy with my exams lately. I will unassign myself so that @Sloth-Panda can take this up.

@akshitagupta15june  Do i just need to add these images ? I mean just one image?


Fix bug in setting page size and set default high.

This will allow basic navigation via search in page.

Fix implemented https://github.com/brain-bican/taxonomy-development-tools/pull/65


Add expression rewriting to Razor

This change rewrites simple and safe Expression<Func<T, U>> expressions
into accesses to readonly fields. This allows us to cache the actual
expression and avoid repeatedly allocating and compiling it.
The rewrite is limited to cases where we know that the expression doesn't
capture, and where we support that kind of expression for evaluating
viewdata. In practice this means 'indentity' and property accessors are
allowed.

/cc @pranavkm

Allocations from a 3001 requests to a view with 3 LabelFor(...)s and 3 EditorFor(...)s
Before

After

All of the Expression types and their related objects are gone. The overall reduction in allocations is about 9mb - which is huuuuuuuuuuuuuge.

:watch:

Updated. MVC doesn't build right now so I can't verify the test changes.

Aside from the one small comment, :shipit:

:shipit:


info/help icons should have alt-text

currently the info/help icons content are only available on hover, which is not accessible to keyboard or screenreader users. The info/help icons are generally also not tab navigable.

PR: https://github.com/NationalSecurityAgency/skills-service/pull/1341

:+1:


x/website: anchor link broken in golang website mod.md

An anchor link URL broken in website/_content/doc/mod.md line 3038.
Missing the doc: Why does "go get" use HTTPS when cloning a repository?

https://github.com/golang/website/blob/master/_content/doc/mod.md

x/website is supposed to be used for the golang.org website. The link is not broken there. https://golang.org/ref/mod#private-module-repo-auth
Closing. Thanks.


Add support for package instances

In scancode-toolkit, we report each specific instance with a package_uid to differentiate multiple detection of the same package in a codebase. We should implement this idea in scancode.io when we discover packages in pipelines.

@JonoYang is the recent merged changes address this? Or is there more we can do?

@tdruez The recent changes adds the package_uid field to DiscoveredPackage model, which is populated if we use the scan_package pipeline. However, we use the function scan_for_application_packages (https://github.com/nexB/scancode.io/blob/2d342fa1a1b4f06fea9be73298a00e627cbb6a46/scanpipe/pipes/scancode.py#L311) during the scan_for_application_packages step on the docker, rootfs, and scan_codebase pipelines. This function doesn't assign a package_uid for discovered application packages, which we would need to add to bring scancode.io application package scanning to be more in line with scancode-toolkit.
The package scanning function of scancode is now two steps, where we first scan the individual Resources for package data, and then afterwards we assemble the package data from multiple resources and assign package instances. We would need a way to do the package assembly step in scancode.io.

After talking to @pombredanne, it may be necessary to create a new model that for Package and Dependency instances. The current charts in the project detail view show the total number of Packages or Dependencies discovered in a Project. With the introduction of Package and Dependency instances, the Project chart stats are thrown off because we could have multiple copies of the same packages and dependencies.

Using an instance for packages and deps as an intermediate model
Pkg -> PkgInstance -> Res
Pkg -> PkgInstance -> Dep -> DepInstance - >(and when we resolve -> Pkg or PkgInstance)

Here, we can show each unique Package and Dependency, then show the individual instances of the packages, and then show which resources correspond to which Package instance.

Right now the latest thinking would be to treat the current DiscoveredPackage record as being a package instance. We would add a UID and we would display each copy of a package as it's own. Duplication in the UI and reports is something that is not exceptional but not the main case either and we can solve this in the UI in future.

Should datafile_paths be an actual relationship to a CodebaseResource? ... IMHO yes and we are missing it https://github.com/nexB/scancode-toolkit/blob/bfa6d9632c9ef63250267c8ce3be2d5ddae1a9fc/src/packagedcode/models.py#L1224

@JonoYang Is this one ready to be closed since https://github.com/nexB/scancode.io/pull/485 is merged?

This is ready to be closed now that we have implemented package assembly in v31.0.0


lint

[ ] find documents with mixed heading levels
[ ] find list items with trailing colon
[ ] find list items with trailing period but no capitalization
[ ] find sections with capitalization?

Isn't this just Markdown linting?


Generator supporting subfolder structure

Any plans on supporting subfolders within the generators? Specifically, I am creating many small components all for one screen, while having several screens in my app. In the end I will probably have 30-40 components in my app, mainly to keep logic, styling, JSX, and testing more modularly. Specifically I'm using StorybookUI to refine my component designs/testing.
The App/Components folder is getting pretty cluttered and if I could run something like ignite g component Product/Review to generate App/Components/Product/Review.js (instead of App/Components/ProductReview.js), it would help with organization. The respective stylesheet would have to be put into the same respective subfolder under App/Components/Product/Styles/Review.js

This is a cool idea but we don't plan to add this feature to Andross now that we are working primarily on Bowser. Thank you!


Remove CreatePromiseAndCallback request

Remove the createPromiseAndCallback request and its associated coroutine

This one does not include the change to createPromiseAndTask yet, that will come in a future PR


react-native

Is there a version for react-native?

Sorry，there are currently no plans to support React-native with PLPlayerKit.

We have https://github.com/pili-engineering/pili-streaming-react-native for streaming in react, how do I make the player in react native? Tips?


Add jp.Expr.Locate()

Add a function that given an JSONPath expression returns the normalized paths to all the matching elements.

looking forword to this new function really~~~

The development branch is "jp-locate". Currently adding tests which will be followed by support for reflection.

The development branch is "jp-locate". Currently adding tests which will be followed by support for reflection.
Ohler,
Bravo！！！
Absolutely stunning！

Release after fixing the unmarshal [4]int bug

Release after fixing the unmarshal [4]int bug

AweAsome！Which version would be released with it?

Release v1.21.0 on Dec 18th.

Release v1.21.0 on Dec 18th.

Hello, Ohler, back again, the lastest release version is v1.19.4, can it use the tagged version v1.21.0 as a released version?
It is also stable (tagged version)?

If it is tagged then it is stable or at least I believe it is stable.

If it is tagged then it is stable or at least I believe it is stable.

Ok，thanks for reply, Ohler. You believe tag, I believe you, so I believe tag too! ^-^~


Where sapContrast class is defined in less?

Hi guys,
I just noticed that the custom generated theme works a bit differently than standard one.
If we go here and inspect the Accept button:

we can see that it's dark because of this style:
.sapContrast span.sapMBtnInner.sapMBtnAccept {
    background-color: #435667;
}

while in the theme less file we do not have it:
https://openui5.hana.ondemand.com/resources/sap/m/themes/sap_belize/library.less
which makes button look differently without sapContrast styles:

this style is applied:
span.sapMBtnInner.sapMBtnAccept {
    background-image: none;
    background-color: #f7f7f7;
    border-color: #2b7c2b;
    color: #2b7c2b;
}

Do you have any ideas where we can find these sapContrast style definitions?
Thank you!

Hi @ThePlenkov ,
The css  from .sapContrast context is autogenerated. You can find it in the resulting https://openui5.hana.ondemand.com/resources/sap/m/themes/sap_belize/library.css if you search for "sapContrast.sapMBtnInner" in the file.
Thanks,
Diana

@kineticjs  yes yes - i thought so - as I didn't find it in any of less files.
But what is the logic or program component then for this CSS generation?
We are building our theme locally using postcss and less files imported from the theme designer.
Thank you!

@ThePlenkov the less compilation and belize scope logic is part of the less-openui5 project.
It is used by our Grunt plugin and the UI5 Tooling, but can also be used standalone via its Node.js API.

@matz3  ok, this is a good answer.
Now it is a big question - why theme designer ignores this logic defined in less-openui5.
Cause this is a fact - generated theme comes without sapContrast files.
Do you have any ideas? Should we raise a support ticket for that? Thank you!

Which files are you referring to? The LESS files from the Theme Designer or the generated CSS?
The LESS files do not contain the sapContrast classes. The classes are created during the LESS to CSS compilation, e.g. via less-openui5 or by the Theme Designer.
So in case you want to compile the LESS files on your own, you need to use less-openui5 instead of the standard less compiler to also get the contrast classes.

@matz3  Now I totally get you! We use Postcss to merge our company styles with UI5 styles. I will adjust the builder with your module. Initially I thought less-openui5 is to compile library.less from control less files.  which we already don't need as have the ready theme file.

from the other side it might be quite nice feature to have theme less files already consistent. As i understand - there is not much work to generate the less file first containing sapContrast and then just apply the classic less on it. What do you think, is it reachable? Thank you!

The logic to generate the sapContrast rules is based on CSS, not LESS. Therefore we need to first compile the LESS files to CSS. And I think that's not going to be changed in future.
Apart from that, there are some more changes and additional things we've added on top of the less compiler, so I would recommend to use our less-openui5 tool.

@matz3 Hi!
I've changed our theme compiler to less-openui5. Here is a simple grunt plugin I use for all library.less files:
/* eslint-disable no-console */
const through = require("through2"); // npm install --save through2
const path = require("path");

// Create a builder instance
var less = require("less-openui5");
var builder = new less.Builder();

module.exports = function(extension) {
  return through.obj(async (file, encoding, callback) => {
    let result = await builder.build({
      lessInput: file.contents.toString(),
      parser: { filename: file.path }
    });
    file.contents = Buffer.from(result.css);
    file.path = setExtension(file.path, ".css");
    callback(null, file);
  });
};

function setExtension(sPath, ext) {
  let { parse, format } = path;
  return format(Object.assign(parse(sPath), { ext }, { base: undefined }));
}

@ThePlenkov sorry for the late response...
The sapContrast classes are generated by a diff algorithm, based on either a .theming file, or the scope option of less-openui5.
Hope this answers your questions 👍

Hi @matz3. Thank you for replying. Yes - I saw this that it requires some scope options. Unfortunately I couldn’t find any documentation or example how to use this parameter.
That’s why I asked - May be you have some unit tests or just examples of calling it somewhere. Thank you

Unfortunately I'm not aware of any formal documentation other than the scopeoption mentioned already.
The OpenUI5 themelib_sap_belize library contains the sap_belize/sap_belize_plus thems of OpenUI5.
In there, the .theming files are located, which are read and interpreted by the less-openui5 module.
Apart from that, there are also some unit tests with the scope option and .theming files:
https://github.com/SAP/less-openui5/blob/master/test/test.js


Add ability to pass a LazyPath as compile command to the ShaderCompileStep

This allows for passing paths to executables generated by the compiler as the compile command.

Oof, I don't know how I keep losing track of PRs. If this happens, feel free to ping me. Thanks for your work, though.


breadcrumbs and the search bar should be displayed on opportunity pages

users (logged in and not) may have a hard time getting back to their prior search from an opportunity page...should the project finder be on the right side of the page along with the search bar at the top ? Do we need breadcrumbs?

I think a 'back to search' button where a breadcrumb would be would be sufficient. Definitely not the search bar. You can start a new search in top right.
@SciStarter - is there a way for me to only show the 'back to search' button if they came from the search page? And trigger back button on click so their search is still populated in the same state and page of results?

This is fixed in an agreed upon way.
However @SciStarter, I can't figure out how to know if the previous page is coming from 'find'. If you look at opportunity.vue lines 39-46 you'll see I have this there, but it wants a variable called 'prevRoute' if it came from find so it can show a back button rather than normal breadcrumbs. I tried everything on https://stackoverflow.com/questions/53788975/vue-router-how-to-get-previous-page-url except the Vuex solution, since I had no idea where to do that.

Okay, I'll take care of it.


DozeSensors: only use proximity sensor if supported

On msm-4.14 devices, when the proximity sensor is in use,
the smp2p-sleepstate IRQ is fired multiple times a second,
with each one holding a 200ms wakelock.
This is probably a bug in the DSP firmware.
To fix this, avoid using the proximity sensor in doze mode,
because sleep is preferred to turning off the screen.
Change-Id: I57750afd77267abdc49780f70636626d20e666ad

This probably breaks pocket lock  pls confirm

This probably breaks pocket lock pls confirm...
Which device are you trying on

Xiaomi Mi9(cepheus)here
Proximity sensor will hold a smp2p-sleepstate wakelock. Sometimes it causes deep sleep not work when screen off and battery drains a lot during night.

And the config
<!-- Whether usage of the proximity sensor during doze is supported -->
<bool name="doze_proximity_sensor_supported">true</bool>
is true by default. So i think it will not break pocket mode by default. But for cepheus users, I think battery life is more important than pocked mode.

so you set it to false in dt?

Also doesn't this also break ambient gestures like hand wave etc?

so you set it to false in dt?

yep.
https://github.com/EcrosoftXiao/device_xiaomi_cepheus/commit/7d2fb284ba537214cf462a62e8d28cf6f5b40ccc

Also doesn't this also break ambient gestures like hand wave etc?

It will break all features ralated to proximity sensor during doze.

Tes

This probably breaks pocket lock pls confirm...

Tested with cepheus here. It does block the smp2p-sleepstate wakelock with cepheus. And it won't break any features like pocket detection, hand wave, etc..
So it LGTM. I think it works just fine.


The package is not working with husky v5

The issue #7 was not resolved. I'm trying to use your last solution @legend80s, but I'm receiving the error below:
ℹ No staged files match any configured task.
(node:98010) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
at readFile (fs.js:326:10)
at internal/util.js:297:30
at new Promise ()
at readFile (internal/util.js:296:12)
at main (/Users/viniciuscarvalho/Projects/hub-api/.git/hooks/commit-msg:47:5)
at Object. (/Users/viniciuscarvalho/Projects/hub-api/.git/hooks/commit-msg:56:1)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
(Use node --trace-warnings ... to show where the warning was created)
(node:98010) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:98010) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[feat/signup 656afe6] asdfsdaf
1 file changed, 6 insertions(+), 6 deletions(-)

1 Can you show the file content of .husky/commit-msg?
2 In the ./.git/hooks/commit-msg add the console log to find out what's in the argv

In my project

cat .husky/commit-msg

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

.git/hooks/commit-msg $1

husky will pass the file path of your commit msg as $1.
2 gcam "test"
><EMAIL_ADDRESS>test /Users/liuchuanzong/workspace/playground/husky-5-not-work-with-gcmsglinter
> echo "Error: no test specified" && exit 0

Error: no test specified
process.argv: [
  '/Users/***/.nvm/versions/node/v12.8.1/bin/node',
  '/Users/***/workspace/playground/husky-5-not-work-with-gcmsglinter/.git/hooks/commit-msg',
  '.git/COMMIT_EDITMSG'
]

The key point here is '.git/COMMIT_EDITMSG' as git store it's commit msg content in this temp file and it is passed as $1 by husky V5.

The file content of .husky/commit-msg:

The value of process.argv as you ask me:

viniciuscarvalho in hub-api on  feat/signup [+]
❯ git commit -m "testasasa"
ℹ No staged files match any configured task.
[
  '/Users/viniciuscarvalho/.asdf/installs/nodejs/14.15.1/bin/node',
  '/Users/viniciuscarvalho/Projects/hub-api/.git/hooks/commit-msg'
]
(node:46268) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
    at readFile (fs.js:326:10)
    at internal/util.js:297:30
    at new Promise (<anonymous>)

I found the error.  When I run the command:
npx husky add .husky/commit-msg ".git/hooks/commit-msg \$1"
The file was generated with the content below:

It was created without the parameter $1. Add this, it solves the problem.
Thanks @legend80s for your help.

npx husky add .husky/commit-msg ".git/hooks/commit-msg \$1" the command create file without $1
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

.git/hooks/commit-msg $1

I just remove husky and commit-msg-linter and added everything again.
It seams to be working now.

On the current date if you add the git-commit-msg-linter before the husky will stop working. To fix it, just add it back to your dependencies and it will work fine.
Also, the command described earlier must be run.

npx husky add .husky/commit-msg ".git/hooks/commit-msg \$1"


Add to archetype confluence publishing profile

Add a profile allowing easy publishing to confluence with the good set of properties. THis way we stay "batteries included".

The customer who may have used that feature has an internal policy preventing usage of application token. As a consequence, I have been unable to build any kind of upload. So this issue is closed (unless someone reactivates it).


WIP: 4.13 compatibility

(WIP PR to get CI results - please ignore)
Adding to directive_table is deprecated in 4.13.
Using add_directive requires adding some information that will be
displayed by #help.

At the moment it's not really possible to test mdx since there's no compatible branch of odoc, but I stubbed out the odoc support and managed to get a working build with the current trunk (ocaml/ocaml@600aad5d29643598d4bddee346275a51930c7859). This can get merged as is or we could wait for odoc to be working (it seems better to integrate 4.13 patches in small steps rather than a large 4.13 PR at the end).

I added some changes to make it work with the current version of odoc. This can be tested against https://github.com/Octachron/odoc/tree/weekly.

@NathanReb I only kept the 4.13 specific bits since finding a new odoc is a separate problem being addressed in #333.

Done (I used Added for consistency with what has been done in the past but can move to Fixed if you prefer)

This builds using odoc from the alpha repository, but there's an error:
diff --git a/test/bin/mdx-test/expect/warnings/test-case.md b/test/bin/mdx-test/expect/warnings.actual
index 625caaa..f7ba0ac 100644
--- a/test/bin/mdx-test/expect/warnings/test-case.md
+++ b/test/bin/mdx-test/expect/warnings.actual
@@ -6,6 +6,10 @@ let () =
   f ();;
 let x = 4
.```
+```mdx-error
+Line 3, characters 5-6:
+Warning 6 [labels-omitted]: label x was omitted in the application of this function.
+```

 Warning attributes must be set to print them:

(I had to add a . for formatting to work)

It's because warning 6 has been turned on by default in 4.13, so that test case is not super useful anymore. I'll fix it to use another warning.

I changed it to warning 9 and now everything's very green

From reading the test I was under the impression that all warnings should be silenced by default in raw ocaml blocks and that they have to be explicitly turned on.
We need to better specify the behaviour here because if I got it right, then we need to disable it ourselves for this to work under 4.13.

My understanding of the current behaviour is that mdx starts with the default warnings enabled (like the toplevel does), and that set varies from version to version.

Ok, let's merge this and we can figure out the warnings thing later, as we collect feedback on the current behaviour!


Vagrantfile ?

It would be useful to include a default Vagrantfile which has the URL included (so it downloads the file if it's not already installed with a vagrant box add ... command).

Done.
Also you can use vagrant init http://files.dryga.com/boxes/osx-yosemite-0.2.0.box to start without adding box alias.

@AndrewDryga : I'm getting 404 Not Found error, do you have the file somewhere else?

@alexszilagyi Does http://files.dryga.com/boxes/osx-yosemite-0.2.1.box this one fits your needs? It's also Yosemite, but with never XCode version.

@AndrewDryga : ok. Thank you! 👍


use bazel for benchmark tests

Release note:

none

This change is

/assign @douglas-reid

This repo is no longer accepting PRs. Please resubmit this change to the istio/istio repo.
Thanks.


Key mappings for scollwheel buttons

Think this was supported in pre-rewrite version? Would be helpful

This should work now. X interprets scroll events as button presses ('buttons' 4/5 are used for scrolling). I had previously allowed for an arbitrary number of mouse buttons to be mapped which inadvertently  facilitated scrolling but that was unintentional (I usually focus on a program and use arrow kesy). I've since reverted to the old behaviour (there is now a single 'buttons' config options).


[Question] Why am I getting "[500] Internal Server Error" after deploying my bot to server?

Bot handle: valerchik
App ID: 2d4718ca-cae4-4d17-8a20-a459ec56ad4e
SDK Platform: .NET
SDK Version:
Active Channels: Skype, Web Chat
Deployment Environment: ngrok

Issue Description
Hi! I was create a bot with VisualStudio 2017 template. It's work good: I send/retrieve messages through emulator.
I was publish bot to web server. When I try send message (through skype, web chat or emulator with ngrok), i get an error 500. On dev portal message is "There was an error sending this message to your bot: HTTP status code InternalServerError", in emulator message is "-> POST Request to 'https://.../api/messages' failed: [500] Internal Server Error "
Expected Behavior
In Web.config I fill MicrosoftAppId and MicrosoftAppPassword. There is extra setting BotId, but I don't know what is that.
Actual Results
Please, tell me what else I can do or where to look?
PS. Sorry for my bad english

@verdysh Where is your bot hosted? Does your server have a valid SSL certificate?

@nwhitmont, bot hosted on own server with Windows Server 2012 R2 which has access from the outside.
When I published the bot, I decided to cheat. Since it was required to specify a link with https (and I do not really understand the settings of ssl), I asked the system administrator to make the entry point available to the address that starts with http. I.e. entry point there were http://my-server:1234/bot-name/apimessages, became https://my-server:1234/bot-name/apimessages. It will not work?
By the way, if my function just returns http status:
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
	return Request.CreateResponse(HttpStatusCode.OK);
}

there are no errors 500. But as soon as I add the bot answer:
[BotAuthentication]
public class MessagesController : ApiController
{

	public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
	{
		if (activity.Type == ActivityTypes.Message)
		{
			await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
		}

		else
		{
			HandleSystemMessage(activity);
		}

		var response = Request.CreateResponse(HttpStatusCode.OK);
		return response;

	}

	private Activity HandleSystemMessage(Activity message)
	{
		if (message.Type == ActivityTypes.DeleteUserData)
		{
			// Implement user deletion here
			// If we handle user deletion, return a real message
		}
		else if (message.Type == ActivityTypes.ConversationUpdate)
		{
			// Handle conversation state changes, like members being added and removed
			// Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info
			// Not available in all channels
		}
		else if (message.Type == ActivityTypes.ContactRelationUpdate)
		{
			// Handle add/remove from contact lists
			// Activity.From + Activity.Action represent what happened
		}
		else if (message.Type == ActivityTypes.Typing)
		{
			// Handle knowing tha the user is typing
		}
		else if (message.Type == ActivityTypes.Ping)
		{
		}

		return null;
	}
}

[Serializable]
public class RootDialog : IDialog<object>
{
	public Task StartAsync(IDialogContext context)
	{
		context.Wait(MessageReceivedAsync);
		return Task.CompletedTask;
	}

	private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
	{
		var activity = await result as Activity;
		int length = (activity.Text ?? string.Empty).Length;
		await context.PostAsync($"You sent {activity.Text} which was {length} characters");
		context.Wait(MessageReceivedAsync);
	}
}

error occurs :( . In the emulator, the full log looks like this:

[08:29:06] -> POST 200 [conversationUpdate]
[08:29:06] -> POST 200 [conversationUpdate]
[08:29:07] -> POST Request to 'https://my-server:1234/my-bot/api/messages' failed: [500] Internal Server Error

are you able to post your complete code.  from what you are showing, there should be no errors

In next topic I gave a link to the project. This is a completely different project (made from a sample). With him, the same trouble :( .
Probably you are right about a valid certificate. I will think something in this direction.
Thanks for the answer!

you're welcome, good luck.


Add new columns to save on controller

Hello there, is there a way to overwrite or clone the usermanagementcontroller into the root project without modify on vendor folder?
I need add some columns and if i change the controller they doesnt upload on the github repository.
Hope you can help me.
Greetings.

Extend the controller and override the route in wed.php to your controller


changes made so far

Pull Request Checklist

[ ] Changes Made:

volunteer, careers, contact and our partners pages done, however donate page is not completed because bootstrap config is not working properly, you should check the bootstrap config and we can continue from there if it works.

There are a lot of conflicts in the branch, you need to make a new fork and try everything new, don't just copy-paste the files. The files have changed a lot since we changed the repository. So, I guess it will take time, to review and then make the changes, but that will be the only correct way to do it. Please, look into this matter.


Where to see jmx metrics on kafka-ui?

My kafka have opened JMX port with file-based authtication, and kafka-ui have connected jmx port successfully.
The kafka cluster has just been built, and I manually ran kafka-console-producer.sh to produce some test data, but the data displayed on the Dashboard is no different from not enabling JMX.
Here is my Kafka env:
EXTRA_ARGS="-Djava.security.auth.login.config=/opt/kafka/config/kafka_server_jaas.conf"
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=true  -Dcom.sun.management.jmxremote.ssl=false"
JMX_PORT=9999

Here is kafka-ui docker-compose.yml:
version: '3'
services:
  kafka-ui:
    image: provectuslabs/kafka-ui
    container_name: kafka-ui
    ports:
      - "8080:8080"
    restart: always
    volumes:
      - ./cert:/opt/cert
    environment:
      # kafka集群配置
      - KAFKA_CLUSTERS_0_NAME=ember
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=ember-apac-kafka-1.xxx.net:9092,ember-apac-kafka-2.xxx.net:9092,ember-apac-kafka-3.xxx.net:9092
      - KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_PLAINTEXT
      - KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=SCRAM-SHA-512
      - KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG=org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin_secret";
      - KAFKA_CLUSTERS_0_JMXPORT=9999
      - KAFKA_CLUSTERS_0_JMXSSL=false
      - KAFKA_CLUSTERS_0_JMXUSERNAME=monitorRole
      - KAFKA_CLUSTERS_0_JMXPASSWORD=monitorRole_secret
    extra_hosts:
      - "ember-apac-kafka-1.xxx.net:<IP_ADDRESS>"
      - "ember-apac-kafka-2.xxx.net:<IP_ADDRESS>"
      - "ember-apac-kafka-3.xxx.net:<IP_ADDRESS>"
      - "ember-apac-zk-1.xxx.net:<IP_ADDRESS>"
      - "ember-apac-zk-2.xxx.net:<IP_ADDRESS>"
      - "ember-apac-zk-3.xxx.net:<IP_ADDRESS>"

I expect to see Inbound and outbound bandwidth per broker or topic in Kafka-ui. Is it possible to do that, or I miss some config?
Very appreciate to any reply.

Hi @hustlibraco,
your config looks fine.
Unfortunately currently kafka-ui doesn't have UI for per-broker JMX metrics view. But kafka-ui exposes it as a REST endpoint:
http://{kui-domain}:{kui-port}/api/clusters/{cluster-name}/brokers/{broker-id}/metrics
cluster metrics (aggregated) can be found here:
http://{kui-domain}:{kui-port}/api/clusters/{cluster-name}/metrics

Depends on #711
/api/clusters/{clusterName}/brokers/{id}/metrics
Broker page should have a separate tab with jmx metrics

Backend: implement a flag to report jmx metrics availability


Remap target dir

Problem
I'm using ZFS filesystem, which has an instant snapshot feature very useful for disaster recovery. I use this feature to automatically make snapshots of my projects. The snapshot is applied to the whole ZFS dataset and there is no way to exclude certain directories.
The problem with Rust projects is that they may have many files in the target directory (which is usually inside the project directory). File under target directory change often (e.g. when re-building) and can be effortlessly recreated. So they don't fit well with ZFS automatic snapshotting system.
Similar problem exists if someone wants to always use a different disk or partition for target directories (which are frequently changed, effortlessly recoverable, unlike the source code).
I could override CARGO_TARGET_DIR environment variable, but I would need to remember to do it for every every project.
I could create an alias of cargo which automatically overrides CARGO_TARGET_DIR, but it would also override whatever is set as target directory in the config.toml, which can cause unpredictable issues.
Proposed Solution
I propose to add the environmental variable CARGO_TARGET_DIR_REMAP which let the user remap where target dir should be created.
Example: crate is in /home/user/projects/foo and default target directory is in /home/user/projects/foo/target. Setting CARGO_TARGET_DIR_REMAP=/home/user/projects=/tmp/cargo-build should change the real target directory so it becomes /tmp/cargo-build/foo/target
The syntax is inspired by rustc command line argument --remap-path-prefix
Notes
I've already experimented with a possible implementation. This is a simple working patch.
diff --git a/src/cargo/util/config/mod.rs b/src/cargo/util/config/mod.rs
index fddd47acb..5bc0c94ba 100644
--- a/src/cargo/util/config/mod.rs
+++ b/src/cargo/util/config/mod.rs
@@ -518,6 +518,13 @@ impl Config {
             }

             Ok(Some(Filesystem::new(path)))
+        } else if let Some(remap) = self.env.get("CARGO_TARGET_DIR_REMAP") {
+            remap_target_dir(remap, self.cwd.clone())
+                .map(|dir| Some(Filesystem::new(dir)))
+                .map_err(|err| anyhow!(
+                    "the target directory remap is not valid in the \
+                    `CARGO_TARGET_DIR_REMAP` environment variable. reason: {}", err)
+                )
         } else {
             Ok(None)
         }
@@ -2459,3 +2466,45 @@ macro_rules! drop_eprint {
         $crate::__shell_print!($config, err, false, $($arg)*)
     );
 }
+
+fn remap_target_dir(remap: &str, mut path: PathBuf) -> CargoResult<PathBuf> {
+    let (from, to) = remap.split_once('=')
+        .ok_or_else(|| anyhow!("must be a value of the form FROM=TO"))?;
+
+    // Change the path only if it starts with the `from` prefix
+    if path.starts_with(from) {
+        let relative = path.strip_prefix(from)?;
+        path = PathBuf::from(to).join(relative);
+    }
+
+    Ok(path)
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_remap_target_dir_start() {
+        let original_path = PathBuf::from("/foo/bar/baz");
+        let remap = String::from("/foo/bar=/new/target/prefix");
+        let remapped = remap_target_dir(&remap, original_path);
+        assert_eq!(PathBuf::from("/new/target/prefix/baz"), remapped.unwrap());
+    }
+
+    #[test]
+    fn test_remap_target_dir_different_start_unchanged() {
+        let original_path = PathBuf::from("/baz/foo/bar/baz");
+        let remap = String::from("/foo/bar=/new/target/prefix");
+        let remapped = remap_target_dir(&remap, original_path);
+        assert_eq!(PathBuf::from("/baz/foo/bar/baz"), remapped.unwrap());
+    }
+
+    #[test]
+    fn test_remap_target_dir_invalid_syntax() {
+        let original_path = PathBuf::from("/baz/foo/bar/baz");
+        let remap = String::from("/new/target/prefix");
+        let remapped = remap_target_dir(&remap, original_path);
+        assert!(remapped.is_err());
+    }
+}
\ No newline at end of file

More use cases:

I work at a place that does continual, whole-system, unconfigurable backup and making it easy to move the target dir out of the backup would help to avoid wasted processing from the backup
I used to work at a place that checked all run programs against a central server and I had to authorize new programs through slack and then run a command to sync that down.  This is incompatible with build scripts and cargo run.

I appreciate that this proposal is looking to precedence for a design.
Since --remap-path-prefix is a repeatable option, we would need to specify what a separator character is for the env variable (most likely the same used in PATH).  I'm assuming we'd also want a config field for this.

Being a repeatable option can be useful. I don't know which is the best delimiter in this case. Using : as in PATH is a good idea, but maybe we already have a feature in the Rust ecosystem which is using a different delimiter?
The config field makes sense. In that case I would use the same logic already implemented for the target option.
target_dir_remap = "a=b"
target_dir_remap = ["a=b"]
target_dir_remap = ["a=b", "c=d"]

I'm not sure what should be the correct interaction with CARGO_TARGET_DIR env var and target_dir config.
CARGO_TARGET_DIR overrides
Example:
cwd=/a/b
CARGO_TARGET_DIR=c
CARGO_TARGET_DIR_REMAP=/a=/x

Result target dir is /a/b/c
CARGO_TARGET_DIR works together with CARGO_TARGET_DIR_REMAP
Example:
cwd=/a/b
CARGO_TARGET_DIR=c
CARGO_TARGET_DIR_REMAP=/a=/x

Result target dir is /x/b/c

And how the env var and the config field interact? One could override the other, or the could be merged.

I'd personally like to see Cargo adopt an approach similar to what Bazel does, i.e. keep its cache under XDG_CACHE_DIR/cargo-whatever/... and make target a symlink to a cache directory under there. This has multiple advantages:

It doesn't break most workflows as accesses through target are still possible. Only tools explicitly resolving the symlink might behave differently.
It can work without configuration and still have significant benefits, i.e. most backup utilities avoid XDG_CACHE_DIR out of the box.
It allows users to centrally customize where to put all their cache data (by modifying XDG_CACHE_DIR).

WDYT?

How do we maintain a unique location within XDG_CACHE_DIR for each package directory?
I see two approaches:

Generate a random string, create a symlink target -> $XDG_CACHE_DIR/cargo/$RANDOM_STRING, then just read the symlink back to figure out what was chosen. This is resilient to moving the source directory around and having multiple views (mount namespaces, symlinks, ...) into it. But cargo would need to check if the used symlink target is actually pointing to $XDG_CACHE_DIR/cargo/... and recreate it if it is not.
Hash the path to the Cargo.toml file and use that, with a similar path construction. This means the cache path can just be computed from the path of the Cargo.toml file.

I personally prefer the first option as it allows for the most flexibility at moderate complexity.

Its "meh" for the use case I mentioned as i wouldn't be wanting to put all caches into the trusted directory
True, in that specific case it also depends on how the executable checking is done and if a symlink would count. I don't know enough about a workflow would look like with such a system in place to make any recommendations here.

This is disruptive to the ecosystem as people and tools that are used to operate directly on targetwill need to keep a symlink in mind. Whether we would want to consider this a major or a minor breaking change, I'm unsure.
Most tools should not notice the difference. They would need to explicitly call readlink or similar to be affected. Cargo is responsible for creating target and thus the symlink and everything under it would just work normally.

@lorenz proposal would help in my case. But what about users which do not have freedesktop XDG? Or CI pipelines? The behavior would be inconsistent between different operating systems.
And it would be the default behavior, possibly breaking some build system.
With my proposal, you just need to set
CARGO_TARGET_DIR_REMAP=/=$XDG_CACHE_DIR/cargo

and everything is put inside the xdg cache dir, with the full path of Cargo.toml appended to it (though i like the idea of having an hash of it).

I ran into the same issue with btrfs and wrote a wrapper as a quick hack: https://github.com/sunshowers/targo

Still super early, but, yeah it's very similar to what @lorenz was proposing.
The only real (minor) difference is that it uses $CARGO_HOME/targo rather than the cache dir, which is more likely to be defined across platforms.
For directories it uses a base58-encoded blake3 hash of the workspace directory. This is just for initial setup -- there's also a metadata JSON file stored in the directory with a backlinks list.
Execution model
The execution model is that you're supposed to alias cargo to targo wrap-cargo in your environment (remaining arguments are passed through to cargo). Targo locks the targo dir for metadata mangement, does the setup (nuking the old target directory if present which is definitely hacky), and finally unlocks execs the real cargo. I haven't gotten around to Windows yet but there it could just run cargo as a subprocess.
Targo does a bit of interception of cargo's arguments. For now it just processes --manifest-path. Ideally it would also capture --target-dir, CARGO_TARGET_DIR and build.target-dir, but I don't use them and this is purely for my own purposes :) (Honestly I don't even know what targo should do if those are set -- probably needs a bunch of design work.)
Symlinks
Targo uses the same symlink strategy as proposed by @lorenz. Some interesting effects:

cd target; cd .. doesn't do what it used to. Turns out I do this a lot! Not surprising if you're familiar with symlinks, but definitely not transparent.
cargo clean doesn't work -- it just removes the symlink. This one I might end up fixing at some point since I do this a lot. It'll just require further interception of Cargo's arguments.

A bind mount would be more transparent but doesn't work on Windows or Mac, and requires root permissions. I'm not sure how Windows junctions manage this.

Did a quick look and at least cargo sweep respects the target_directory reported by cargo metadata.

Yeah, agreed, I should just be able to look at cargo metadata for the information. My concern is more about the design of what circumstances we should switch the target dir to being managed by targo. For example, a target dir within the workspace vs outside it, being able to manually override it, etc.

There are several ways that can go

A config to change the default target dir.  CARGO_TARGET_DIR overrides it
A config to set the root of a shared target dir with CARGO_TARGET_DIR overriding it

Additionally, there is the question of whether we should change the default or not.  We could even have a transition where we check if target/ exists and just respect that, whether a symlink or not, until the next cargo clean.
We just need someone to enumerate and weigh the options and create a proposal from among them.

I ran into the same issue with btrfs and wrote a wrapper as a quick hack: https://github.com/sunshowers/targo

Great! I'm giving it a try. It seems promising!

Sorry if that's not the best place for it, I just found the issue and tried to write something in the form of a proposal for it:
Cargo: remapping the target directory
Motivation

Not having to find and clean all target/ dirs everywhere
Being able to easily exclude a directory from saves (Apple's Time Machine, ZFS snapshots, BRTS, ...)
Allows easily having separate directories for Rust-Analyzer and cargo itself, allowing concurrent builds
(technically already doable with arguments/env vars but CARGO_TARGET_DIR collides all projects)
Allows using a different disk, partition or mount point for cargo artifacts
Avoids having to set CARGO_TARGET_DIR for every project to get the same effect as proposed here

Proposed solution
Introduce CARGO_TARGET_DIR_REMAP environment variable (and an option in .cargo/config.toml and
cargo build --target-dir-remap CLI flag).
The syntax is inspired by rustc command line argument --remap-path-prefix
Syntax
The syntax would be:
For .cargo/config.toml:
[build] # Or another section, since it also affects `cargo run`
target-dir-remap = [
  "/home/poliorcetics=/caches/cargo_target_dirs/mine",
  "/home/poliorcetics/work=/caches/cargo_target_dirs/work"
]

For the CLI:
cargo build \
  --target-dir-remap "/home/poliorcetics=/caches/cargo_target_dirs/mine" \
  --target-dir-remap "/home/poliorcetics/work=/caches/cargo_target_dirs/work"

For environment variables:

On Unix-like platforms: CARGO_TARGET_DIR_REMAP=/home/poliorcetics=/caches/cargo_target_dirs/mine:/home/poliorcetics/work=/caches/cargo_target_dirs/work
On Windows: CARGO_TARGET_DIR_REMAP=C:\Users\poliorcetics=C:\caches\cargo_target_dirs\mine;C:\Users\poliorcetics\work=C:\caches\cargo_target_dirs\work

Note the : vs ; separators. Those are the one used for the PATH variables on those systems, which means user of
said OSes are already familiar with the concept and usage of them in a similar situation.
Behaviour
The most specific (longest matching prefix) path is the one applied, so with the following config:
target-dir-remap = [
  "/home/poliorcetics=/caches/cargo_target_dirs/mine",
  "/home/poliorcetics/work=/caches/cargo_target_dirs/work"
]

/home/poliorcetics/work/work-crate-1/target is remapped to /caches/cargo_target_dir/work/... (... scheme explained below).
Just like CARGO_TARGET_DIR does not create a symlink from target to the pointed-to directory, remapping would not
create a symlink either.
Naming scheme inside the remapped directory
Objectives:

Is somewhat easily navigable by a human
Guarantees unicity for different projects
Gathers crates in a single workspace under the same directory (as is done for a regular workspace already)

Proposed solution:
<remapped-dir> / <dir name> - <blake3 hash of absolute path to main manifest>`

where the "main manifest" is the one for the whole workspace and the "dir name" is the name of the
parent directory to the main manifest.
In the case where the "parent directory" is the root, "dir name" should be left empty and the following dash (-) omitted.
(Alternative: use root-<hash> to keep the form consistent).
Example:
$ cd /home/poliorcetics/work/work-crate-1
$ cargo build --target-dir-remap "/home/poliorcetics/work=/caches/cargo_target_dirs/work"
# ...
$ echo -n "/home/poliorcetics/work/work-crate-1/Cargo.toml" | b3sum # https://crates.io/crates/blake3 for the b3sum utility
e738a37f44b76767aa51b9d5c12ad9077b9c4ad44cc13833ade787867e6f5c3e  -
$ ls -1 /caches/cargo_target_dirs/work/
# ...
work-crate-1-e738a37f44b76767aa51b9d5c12ad9077b9c4ad44cc13833ade787867e6f5c3e
# ...
$ cargo run --target-dir-remap "/home/poliorcetics/work=/caches/cargo_target_dirs/work"
# ...
     Running `/caches/cargo_target_dirs/work/work-crate-1-e738a37f44b76767aa51b9d5c12ad9077b9c4ad44cc13833ade787867e6f5c3e/debug/work-crate-1`

Of course, most user (probably) won't pass --target-dir-remap by CLI, they'll set it either in the environment or in
the config.toml, but I wrote it in full here for clarity.
Interactions with existing cargo features

CARGO_TARGET_DIR, in all of its form (cli, option, env), would completely override CARGO_TARGET_DIR_REMAP.
cargo metadata would report the path after remapping (when remapping is applied)
cargo clean would clean the remapped target directory, not <project>/target, which means if target is already
here because of some other tool or command, it would not be removed. This is already what happens with CARGO_TARGET_DIR
today, that would not be new behaviour.

Interactions with external tools
Lots of build tools would probably be very happy with the option to entirely remap target directories to somewhere else,
for example bazel which uses $XDG_CACHE_DIR/bazel/... could put the output of cargo calls in $XDG_CACHE_DIR/bazel/cargo_target_dirs/...
while still retaining different directories for different projects and having a consistent naming scheme to fall back on.
Alternatives considered
Doing nothing
It is already possible today to use CARGO_TARGET_DIR to remap workspaces and projects but this has two problems:

If done globally, the CARGO_TARGET_DIR becomes a hodge-podge of every project, which is not often the goal.
If done per-project, it is very cumbersome to maintain.

For those reason, this option has not been retained.
Using XDG_CACHE_HOME instead of a cargo-specific env-var
Not all OSes use the XDG convention, notably Windows and macOS (though the latter can be somewhat made to) and it is
very easy to define CARGO_TARGET_DIR_REMAP=${XDG_CACHE_HOME:-~/.cache}/cargo_target_dirs if needed.
Just put the remap inside of .cargo/cache/...
There are already lots of discussion about .cargo and .rustup being home to both cache and config files and why this
is annoying for lots of users. What's more, it would not be as helpful to external build tools, they don't care about
bringing the registry cache in their build directory for example.
Use first or last matching path instead of most specific when remapping
I find those options less intuitive but I have no hard data on what others think about that. As long as the behaviour
is well-defined and well-documented, I don't especially care.
Prior works and discussions

targo by @sunshowers
rust-lang/cargo#11156

The most specific (longest matching prefix) path is the one applied, so with the following config:

How does rustc command line argument --remap-path-prefix deal with this?

CARGO_TARGET_DIR, in all of its form (cli, option, env), would completely override CARGO_TARGET_DIR_REMAP.

cargo is documented as reading but not writing CARGO_TARGET_DIR.  I wonder if we should guarantee that CARGO_TARGET_DIR is set if not set by the user.  Granted, I mostly want this to workaround CARGO_TARGET_TMPDIR not being available for test libs.  Unsure what other use cases there might be that don't need the OUTDIR or TMPDIR.

 /  - `

This is mixing proposals and, while I can understand it being here, also feels weird.
What is being mixed

Hashing is intended for when there is a central cache dir.
Remapping is when the user explicitly says what directory to use.

Why its helpful: it allows using this proposal to act as a way to get a central cache dir
Why it feels weird: the user explicitly gave a remap directive and we aren't following it.

What is being mixed

Hashing is intended for when there is a central cache dir.
Remapping is when the user explicitly says what directory to use.

Ah you're right, what I personally want is a form of cache that does not gathers all the crates and workspaces together like CARGO_TARGET_DIR, I kept the "remap" nomemclature but that's not what it really is.

I wonder if we should guarantee that CARGO_TARGET_DIR is set if not set by the user.

I would very much like that too, and I can't think of a case where that wouldn't be useful: either it set by the user and nothing is done or it is set by cargo itself, meaning runners can rely on it for example.

The most specific (longest matching prefix) path is the one applied, so with the following config:

How does rustc command line argument --remap-path-prefix deal with this?

It selects the last match, which really should be documented, I'll make a PR

Using XDG_CACHE_HOME instead of a cargo-specific env-var
Not all OSes use the XDG convention, notably Windows and macOS (though the latter can be somewhat made to) and it is very easy to define CARGO_TARGET_DIR_REMAP=${XDG_CACHE_HOME:-~/.cache}/cargo_target_dirs if needed.

True, but other OSs have equivalent mechanisms, sometimes very well integrated with the OS. For example macOS has Library/Caches (see https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html) which the OS even cleans up automatically when running out of space.
Windows has AppData\Local\Temp which is similarly integrated with their disk cleanup utility.
Not saying we should necessarly use these, but they do in fact exist for all (major) operating systems. I'm personally also OK with just putting my cache directory into .cargo/config or similar. But I would prefer it if more software did the right thing OOTB and didn't require me to manually remap directories to conform to XDG or equivalent standards on other operating systems.

Since that variable/config option would not be set by default, how could we make it point to the OS's default ?
With the idea I'm going for, users have to set it themselves, machine by machine, I don't see a need to depend on OS defaults here

Fair, this primarily benefits users when it is already the default. I guess there is no way to actually change the default in cargo to make it use OS defaults without manual configuration.

Thanks @poliorcetics for your contribution! I especially like the Motivations and Alternatives part. I only feels uncomfortable about the hash part. Like @epage pointed out,  there's no need to hash anything, with this option we are just asking to remap, so it feels weird to not be just remapped.
I would also keep the rustc command line argument --remap-path-prefix convention, instead of being too smart and use the most specific path. Precedence to the rightmost item is a convention used by many rustc options.
About the OSs XDG_CACHE_HOME equivalents, I would just ignore them all. It is so simple to add an environmental variable when needed, that I don't feel it as a big improvement. And I would absolutely not want the current behavior to be changed. So: keep target inside the source directory, as cargo do now, if CARGO_TARGET_DIR_REMAP is not set.

If we want to keep this focused and bike-shed free, we could error on any CARGO_TARGET_DIR_REMAP source or destination that isn't an absolute path.  Then things conversations about XDG_CACHE_HOME vs CARGO_HOME go away.
As I mentioned, the hashing and central directory would be part of an alternative proposal for just moving the caches in an opinionated way, like targo.  The proposal should have a comparison for this and why one vs the other.
One potential extension of this one is that an empty source path could mean "cache the path"  and the empty destination path could mean "central directory", allowing this proposal to be extended into the other proposal over time.

Finally found the time and motivation to write a proper RFC, here it is: https://github.com/rust-lang/rfcs/pull/3371

See also #5544

I've implemented a quick hack for this case:
export RUST_BUILD_BASE="$HOME/.cache/rust-builds"
WORKSPACE_ROOT=$(cargo metadata --no-deps --offline 2>/dev/null | jq -r ".workspace_root")
PACKAGE_BASENAME=$(basename $WORKSPACE_ROOT)
TARGET_DIRECTORY=$(cargo metadata --no-deps --offline 2>/dev/null | jq -r ".target_directory")

# Check if target has default location
if [ $TARGET_DIRECTORY == "$WORKSPACE_ROOT/target" ]; then
        # Run cargo with target to $RUST_BUILD_BASE/$PACKAGE_BASENAME
        CARGO_TARGET_DIR="$RUST_BUILD_BASE/$PACKAGE_BASENAME" cargo $@
else
        # Do nothing, if target dir is configured to smth non-default
        cargo $@
fi


Let the application run above 60hz

The app causes framerate issues on multi monitor setup due to it being locked at 60hz. Please allow it to run at high refresh rates.

Hi, I'm not sure if this issue is related to Windows or to UniversalSoundboard specifically. Does this happen with other UWP apps as well?
Also see:
https://www.reddit.com/r/Windows11/comments/xi76hk/comment/ip6jnzj
https://superuser.com/questions/1645907/metro-modern-ui-uwp-apps-stuttering-on-external-monitor-at-144hz

I've yet to run into this issue for other UWP apps, it seems to be a UniversalSoundboard issue. It being UWP does make it harder for me to work around it though, as I'm running an AMD card and the Nvidia workarounds don't seem to have equivalents. Again, I think the main issue is that the soundboard is locked to 60hz for whatever reason. Unlike the reddit example, my monitors are both 144hz, so there should be no reason it runs at 60hz unless it's internally capped for whatever reason. This behaviour is not present in any other UWP apps I have installed, though I wouldn't be surprised if there were some apps that have the same behaviour.

I should mention, I found an instance where it doesn't affect my framerate, if I have it open but on the settings page, the issue is not present. The moment I exit the settings and go back to the sounds, it is present again.

Thank you, the hint with the Settings page is very interesting.
Another question: Is this a new issue or did you always have this problem since you first used the app?

Thank you, the hint with the Settings page is very interesting. Another question: Is this a new issue or did you always have this problem since you first used the app?

Sorry for the late reply, I had a rough midterms week haha
No, this has always been an issue, I've just kinda lived with it until I got annoyed enough by the issue now. This isn't specific to the app per se, but sometimes it continues rendering even when it's not in focus, and as a result I end up going on a wild goose chase trying to figure out why my framerate is wonky just to have to focus and minimise the soundboard again. Again, just an extension of the locked 60hz.


Context Menu / control of menu entries for left / middle / right mouse button

Just this standard way to interact with programs as known from Win/Mac/Linux that becomes applied, when there are lots of graphical components to be used (as in Gimp, Gaphor etc.).
I keep this short, since I assume most involved people here know what context menus are. I would need it urgently.
In my opinion this is really missing for the provision of such a framework.
If my request could reach to move this feature a little bit up on the roadmap I am glad with this.
Thanks

Sure, we'll see what can be done to make it faster. I assume you are talking about this functionality: https://api.flutter.dev/flutter/material/showMenu.html
We are currently working on roadmap update - I'll make sure menus are included there.

Yes, that's what I am looking for. Thanks for the quick reply.

Gotcha! It goes to a roadmap.


Update the component for working with API

Can you update the component for working with the API instead using username/password?
https://github.com/cascha42/niu-info

later, to busy with other project

Why do you prefer the token over username/password? The API endpoint is in both cases the same. In case of the token the auth step is skipped and the token must be extracted by MITM.

reading the link you mention, it seems not easy to get the token. is the userid / password not more user friendly ?


[Feature] add back notional support for sqlproj

Is your feature request related to a problem? Please describe.
A prior version was able to target .sqlproj projects within a .NET solution. Can we have it back, please?
Describe the solution you'd like
Change projPattern() in https://github.com/nx-dotnet/nx-dotnet/blob/master/packages/utils/src/lib/utility-functions/glob.ts t also include .sqlproj

Can confirm with the addition of |sql of this feature suggestion, #512 is fixed for us.

Interesting that .sqlproj worked for you in the past, what do your targets look like for those projects? #19 has been a long standing issue that references better support for them, but I didn't think we had previously supported them in any real way.
Nonetheless, I'll cut a release with that updated pattern.

Super responsive - thanks a bunch.
To your question - we have to add a bunch of /p: param to the dotnet.exe invocation.   Was all a PITA to setup - but the complexity was on the SSDT SDK additions that need to be overlaid on a .NET SDK install. The Nx side was easy by comparison.


add wagmi to title description

Description
Add wagmi to tile description similar to we have it in SE-2 Readme
Your ENS/address:

Just merging this 🙌


Script in multiplayer

The title says it all: allow the mapmaker to add scripts to a map, just like in singleplayer. These scripts will be executed when the map is being played, even in multiplayer.
There will have to be different script hooks: on map load, on flag score, on trigger touch just to name a few.
Also, entities need to be accesible by the script (only entities that make sense, light entities for example do not have to be exposed), and the mapper should be able to attach scripts to entities (for example to a teleport, in order to print out a teleport message).
It may also be a good idea to have the engine look for a script function called updateScript() for example. This function, if available, should be executed every update round. The mapmaker would have to define it, and it could contain all sorts of useful stuff. (moving particles with a player for example. To be able to achieve this, some attributes of the players on the server should also be exposed to the script).

This issue targets excatly on the new entity system (see #78), the particle system and the flow graph.

The new entity system replaces the old entity system and even allows to define your own entity types in a scripting language
The particle system is build upon the new entity system and allows light and physics effects
The flow graph is also build upon the new entity system and provides a visual in-game editor of entities, connections between them, tiggers and logic elements

Nice nice nice :+1:

As far as I know our 3-dimensional  scripting system which we are planing will be the first 3D visual scripting sandbox ever. I already see it in front of me and believe me: we will make it awesome! :)


The table gets slow or may even fail on large datasets

Hi,
The table gets progressively slower when displaying large data and at certain data size it fails with an exception. The reason is the deep copy solution that you use in src/store/index.js at line 80:
JSON.parse(JSON.stringify(data))
Please consider changing this to a more optimal solution, like [...data] for example.
Cheers,
Petar

after<EMAIL_ADDRESS>we improve the cell level performance. In the next couple release, we will start improve the row level performance enhancement. Just give me some time. thanks

BTW, after 1.0.0. We fix JSON.parse(JSON.stringify(data)). So closed this issue

Please upgrade to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>will get significant improvement.

I'm as well using a large data set and running into sluggish rendering issues. @AllenFang will the upgrade to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>be able to handle a table with 27 columns with 13000 to 15000 values in each column?

I have a similar scenario like @F-Adam-B , 30+ columns with 5000- 10000 rows. (It includes ExpandedArea too), It's taking around 30+ sec to render. Any help?

same Problem with me, around 40 columns and 100 rows  leads to page slows down. Any help?

its still very slow when rendering 10000 items


Allow to run all instances with the default settings

Allow to run all instances with the defaults flags/options

@wizche what defaults are you interested in? AFLRunner aims to provide the best in slot configuration for a given campaign.

Hello @0xricksanchez, sorry for popping all the issues together...
With defaults I really mean without specifying any power scheduler, queue selection, mutation strategy, ...
I will try to work on them also myself and hopefully submit a PR once I get to know a bit better Rust :)
Amazing work btw


update team leader onboarding to support current workshop setup

replace hackmd with collaborative doc
breakout room/session mentions are now less zoom specific
replace mentions of "asking helpers to room" to "put question on collaborative document"

Zoom setup still mentioned in "background:teams" as "sometimes we also allow learners... ", other than that I did not quite find a reason to have a separate page for CR offered zoom room vs only self-organized teams. So no separate new page for now.
The new screenshot is missing the annotations, but maybe they are not needed? If you think they are, can still add them

Draft because: One page that is linked often, is hackmd-machanics , will do some updates there to call it collaborative doc, but leave the file name to not break other links for now.


sdk tests fails on ceylon.language::NativeError

several tests fails on ceylon.language::NativeError "TypeError: Object  has no method 'iterator'"

Weird, I don't get that error. Have you updated your dist? I recently made a lot of changes related to the enhancement of native JS array.
I do get 8 failures, but they seem to be related to failing tests; no native errors.

Have you updated your dist?

yes, and re-updated/re-tested right now

I do get 8 failures, but they seem to be related to failing tests; no native errors.

just scroll little up, the eight failures are caused by this native error, full stack trace is not in the test summary

OK I see it now.
I had a little script to run a test directly, but it seems com.redhat.ceylon.testjs doesn't exist anymore. How does test-js work now?

The native code, which was formerly in com.redhat... modules is now part of ceylon.test, and test/test-js tools call runTestTool function directly.

I got my little script working again, thanks

Interesting... The problem occurs because the compiler incorrectly renders the metamodel argument to the parameters annotation as a simple string.

This is a problem with the encoding of parameter annotations in general.

Fixed.

Thanks!


Tooltip, DropdownMenu: replace popperjs with floating-ui

Warning
I don't know why the linting step is failing here. I was experiencing the linting failures shown in the action locally, but after ensuring I had the latest version of @typescript-eslint/typescript-estree installed explicitly, I was able to successfully run linting. I also confirmed the action has that same version installed.
I also had to remove one test (has an attribute to set tooltip width equal to target width) because it started producing a cryptic Error: Script error (:0) message specifically for Webkit when run. I tried running the test in a non-headless browser and more to see what was happening, to no avail.
I'd like to fix both of these things.

This change: (check at least one)

[ ] Adds a new feature
[ ] Fixes a bug
[x] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[x] No (to my knowledge)

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[x] Code coverage maximal?
[x] Changeset added?
[ ] Component status page up to date?

What does this change address?
Resolves #266
How does this change work?
Replace usage and management of PopperJS with Floating UI, largely by following the documentation.
Additional context

Floating UI has gotten rid of the 'auto' placements and fallbacks, opting instead to have a 'bestFit' option for fallback strategy which is now the default. This means we should deprecate the use of 'auto' for consumers moving forward. For now I've opted to have 'auto' get removed from fallbackPlacements if supplied, and to be switched to 'top' if supplied as the main placement.

gatsby is pulling in older versions of @typescript-eslint/eslint-plugin and @typescript-eslint/parser. Perhaps bumping Gatsby or adding resolutions might fix the linting issue.


exttrinsics_calibrate for L515 won't work

ref: https://github.com/IntelRealSense/librealsense/commit/acb0bbd0efb10ecf81343209d83aeb6cb30e23a2
ref: https://github.com/schmidtp1/librealsense/blob/calibrate-extrinsics/wrappers/python/examples/calibrate_extrinsics.py
The question is how to pass L515 serial number to the ccode so that it works?
Is it possible?

Looking at the script, there are two things different for L500:

There is no IR2
IR1 in L500 is called IR0

Thank you for the update!

@schmidtp1
is there a variant for l515?
@dorodnic do you suggest justy removing lines containing IR2 & renaming IR1 to IR0? In order to make it work for L515?

Hi @AndreV84, yes, I think you should be able to replace the second image stream, e.g. by IR0 of the L515. The script reads the intrinsic calibration (using LRS API) so that should fit.

@schmidtp1 Thank you for your response! So do I rename ,in all lines mentioning IR2, the latter value to  theIR0, then try with l515 serial? Or also IR1 lines will need to be modified?

 python3 calibrate_extrinsics.py --SN_T265<PHONE_NUMBER>0 --SN_D4xx<PHONE_NUMBER>000000
Trying to connect devices...
Traceback (most recent call last):
  File "calibrate_extrinsics.py", line 103, in <module>
    sensor_depth.set_option(rs.option.emitter_enabled, 0)  # turn OFF projector
RuntimeError: object doesn't support option #18

the result above is after editing all ir2 -> ir0
@schmidtp1 would you be able to help getting through the adjustmewnt of the code?

whhere to get calibration chessboarrds for the caibration?

Hi @AndreV84, sorry for the late reply. The script might require some minor modifications since it was never tested with L515. You can try to just comment the lines related to disabling the projector.
Regarding the calibration target, it is a standard chessboard. The important part are the dimensions:
parser.add_argument('--grid_H', default=9, help='grid height (inner corners)')
parser.add_argument('--grid_W', default=6, help='grid width (inner corners)')
parser.add_argument('--size', default=0.020, help='grid side length')

(https://github.com/schmidtp1/librealsense/blob/calibrate-extrinsics/wrappers/python/examples/calibrate_extrinsics.py#L23 ff.)
This link might be helpful: https://docs.opencv.org/master/da/d0d/tutorial_camera_calibration_pattern.html.

Thank you for following up!

Is there anything else needed on this thread?
*If we don’t hear from you in 7 days, this issue will be closed.

why doesn't the www.intelrealsense.com/dimensional-weight-software/ activate with L515?

Hi @AndreV84
Can we close out this thread?  The DIM Weight SW activation item has been handled via other support process already.
*If we don’t hear from you in 7 days, this issue will be closed.

done


move to promises (and async/await)

Hey! :)
I like the API you use as is - it reminds me of what Selenium-Webdriver did for Node.js as well. (Read below).
But I am wondering if this library has plans to move to async/await instead of the homegrown flow control currently used. I like the methodology you used (is there a name for it?) but it's hard to mix other async flow control with your library.
For the record - selenium-webdriver did something similar to this library whereby every (async) call was put on a queue - they moved to promises (which will work with async await of course).
You can read about that here:
https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs
and here:
https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/promise.html
Might be a good excuse to update the lib, or maybe you'd recommend forking it and applying the changes if Mapbox doesn't see a need?

@ORESoftware this module is rarely updated, even useful PRs are pending for a long time so I don't see if you can get that change easily. Anyways you can use newer module - https://github.com/kriasoft/node-sqlite, which uses this one only underneath the hood.

FWIW I'd happily love to see a PR for this - Promises FTW!


Fix mingw: strcasecmp and strncasecmp redifinition

mingw defines the _WIN32 macro as well, which here causes it to define strcasecmp and strncasecmp since (I assume) MSVS doesn't implement these functions. However mingw does already implement these functions.
This fixes #127

Hey, thanks for your contribution!


Action creates two status checks - one passes, one fails.

I have installed the action in accordance with the README.md, such that I have 3 labels:
label a requires 0 reviews
label b requires 1 reviews
label c requires 2 reviews
Steps to reproduce the unexpected behavior:

I open a PR with some changes
I add the b label (such that 1 review is required)
the check (titled pull_request) fails (expectedly, since there are no reviews) and I cannot merge
Someone else approves my PR
A new check (titled pull_request_review) succeeds (due to the approval) but the previous pull_request check is still present and failed and I still cannot merge

Is it possible to fix this (without manually re-running the checks)?

Click to see my (very standard) configuration
.github/workflows/label-reviews.yml
# This workflow will set a number or reviewers depending on the labels
name: Label Reviews
# Trigger the workflow on pull requests
on:
  pull_request:
    types:
      - opened
      - reopened
      - synchronize
      - labeled
      - unlabeled
  pull_request_review:
    types:
      - submitted
      - edited
      - dismissed
jobs:
  require-reviewers:
    # Optional: skip check if no relevant label is present
    # This needs to be kept in sync with the labels being checked
    runs-on: ubuntu-latest
    steps:
      - name: Require-reviewers
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          rules_yaml: | # define which PR labels require how many aprroving reviewers
            a: 0
            b: 1
            c: 2

repository settings

Thank you! Is it possible to make the check re-run automatically if the tag changes?

Thank you! Is it possible to make the check re-run automatically if the tag changes?

This could work:
on:
  pull_request_target:
    types:
      - labeled


EspTouch with RSA encryption (IDFGH-10878)

Is your feature request related to a problem?
To securely broadcast wifi credentials I use smartconfigv2 but hard-coding the encryption key is not that secure and can be compromised at all time
Describe the solution you'd like.
Is there a possibility this would be added as smartconfigv3 for example. I can make the implementation but I fear I messed it up as I am not experienced with mbedtls. If there is no chance that this feature will be available, It'll be helpful to have some guidelines on how to implement it the right way.
Describe alternatives you've considered.
I considered BluFi but I am trying to make multiple devices connect to the same wifi
Additional context.
No response

hi @offgrid88 , I would like to clarify your use case. Are you looking to have multiple devices connect to the internet simultaneously？

Yes I am trying to connected a big number of devices to the network simultaneously and I want to encrypt the SSID and PASSWORD of the AP using Asymmetric Encryption .


iOS Simulator and iOS platform support

WIP:
Please consider this WIP making PR in order to be able to work on the CI.
Description
Add support for iOS
Fixes #627
General Checklist:
Please ensure the following points are checked:

[ ] My code follows the coding style
[ ] I have reviewed file licenses
[ ] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[ ] I have commented any added functions (in line with Doxygen)
[ ] I have commented any code that could be hard to understand
[ ] My changes do not add any new compiler warnings
[ ] My changes do not add any new validation layer errors or warnings
[ ] I have used existing framework/helper functions where possible
[ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
[ ] My changes do not add any regressions
[ ] I have tested every sample to ensure everything runs correctly
[ ] This PR describes the scope and expected impact of the changes I am making

Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

[ ] I have tested the sample on at least one compliant Vulkan implementation
[ ] If the sample is vendor-specific, I have tagged it appropriately
[ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
[ ] Any dependent assets have been merged and published in downstream modules
[ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the samples readme

NB: this fails currently on the VolkInitialize().

I've tried this locally. As of today, it builds with the current macOS VulkanSDK, and the upcoming 1.3.280.1 release.

I tested compiling this PR with VulkanSDK 1.3.275.0 to ensure old workflows still work. Validated both the CMake and Xcode path. Both worked as expected. I don't have an iOS (or simulator) currently installed, but that has already been validated by others.


Fix Django Python files to pass flake8 tests

When testing PR #18, the flake8 tests failed with the following message:

This issue is for fixing the files so they pass the flake8 tests.

I would like to discuss how to fix the F401 issue:
Should the unused imports be removed or commented out (they will probably be needed in the future)?

I believe for now it should just be commented out since we don't really know how they would be used in the future potentially as you said


"Error: ErrorMnimizer: no point to minimize".

user said: I'm encountering an error using pc_align on non-asp DEMs.  In this case, I am aligning a 2m DEM to a specific previously aligned point cloud, and I get an error while the algorithm is filtering outliers: "Error: ErrorMnimizer: no point to minimize".
The problem indeed shows up when there is no overlap in pc_align among the clouds. Very easy to reproduce. And should be very easy to put a fix to catch that libpointmatcher error and replace it with a more-user friendly message.

Added in 1c80f23e791ff6e5fcaf417466fd879ef4b3e558


Changed AndroidManifest path for permissions

fixes #359
only documentation

Closing PR since this is intended functionality. See linked issue (#359) to more details.


Exclude venv from flake8 linting

Issue: flake8 processes the venv dir.
Change: added exclude = venv to flake8 conf

Thanks for the suggestion @schmidt-ai, taking notes and will evaluate ruff but for now, let's just proceed with flake8.


Error loading url in iframe

I have an application running on port 3000 and this one has an iframe that calls the URL example.com:8765/page1/min/?var1=test.
What I would like is to hide this URL in the iframe code using redbird to create the reverse code, so I tried to create something like this:
var redbird = new require ('redbird') ({
    port: 9000,
    ssl: {
        port: 8443,
        key: 'certs / dev-key.pem',
        cert: 'certs / dev-cert.pem',
        ca: 'certs / dev-cert.ca',
    }
});

// This is where I try to create the route so I can call my-new-url.com in the iframe of the app instead of the actual URL.
redbird.register ('my-new-url.com', 'https://example.com:8765/page1/min/?var1=test', {ssl: true});

// This I created in order to load my app on the base server URL created by redbird
redbird.register ('localhost:', 'localhost: 3000', {ssl: true});

When accessing localhost: 9000 loads the header and footer of my app however the central content that should be loaded in the iframe does not load, I get the message `The IP address of the my-new-url.com server could not be found.
If I access my-new-url.com directly in the browser the same error that appears in the iframe.
If I access localhost: 9000 / my-new-url.com directly in the browser the error Can not GET / my-new-url.com
I think I'm making some logical mistake about how I should put this solution in place, could anyone give me strength in this?

This has nothing to do with iframes.


Add starting values and fix chart title for 3.7.2

@btylerburton This update is ready for merging, thank you!


code compiles in 0.3 and doesn't in 0.4.0-beta.1

rust: 1.46.0 (ubuntu: 20.04 LTS)
This code extract compiles fine with 0.3, but complains with 0.4.0-beta.1:
#[derive(Deserialize, Serialize, FromRow)]
pub struct World {
    pub id: Option<i32>, // Only populated when in database
    pub name: String,
    pub username: String
}
impl World {
    pub async fn new(request: World, pool: &PgPool) -> Result<World> {
        let mut tx = pool.begin().await?;
        let world = sqlx::query("INSERT INTO worlds (name, username) VALUES ($1, $2) RETURNING id, name, username")
            .bind(&request.name)
            .bind(&request.username)
            .map(|row: PgRow| {
                World {
                    id: row.get(0),
                    name: row.get(1),
                    username: row.get(2)
                }
            })
            .fetch_one(&mut tx)
            .await?;
        tx.commit().await?;
        Ok(world)
    }
}

The error message is:
error[E0599]: no method named `fetch_one` found for struct `sqlx::query::Map<'_, sqlx::Postgres, impl sqlx::query::TryMapRow<sqlx::Postgres>, sqlx::postgres::PgArguments>` in the current scope
  --> src/model/worlds.rs:26:14
   |
26 |             .fetch_one(&mut tx)
   |              ^^^^^^^^^ method not found in `sqlx::query::Map<'_, sqlx::Postgres, impl sqlx::query::TryMapRow<sqlx::Postgres>, sqlx::postgres::PgArguments>`
   |
   = note: the method `fetch_one` exists but the following trait bounds were not satisfied:
           `<impl sqlx::query::TryMapRow<sqlx::Postgres> as std::ops::FnOnce<(sqlx::postgres::PgRow,)>>::Output = std::result::Result<_, sqlx::Error>`
           `impl sqlx::query::TryMapRow<sqlx::Postgres>: std::ops::Fn<(sqlx::postgres::PgRow,)>`

I tried a few different combinations of enabling/disabling features, but it didn't seem to make any difference.

Looks like a duplicate of https://github.com/launchbadge/sqlx/issues/641

I agree. Sorry for noise. I searched for a while, but failed to find that one. Closing, since it is a duplicate.


view server as role popup

It currently got cut out when using the theme
Vanilla:

Midnight:

The css class is viewAsRolesWarning__4bb09 (idk about discord theming, but I assume the last 5 letter is added by react?)

how do you get this again? all i see is a bar at the top

how do you get this again? all i see is a bar at the top

Go to server settings > Roles > Right click on any roles > View Server As Role > Join A VC

https://github.com/refact0r/midnight-discord/assets/57800056/8d52307e-b2ca-41dd-9dde-f70ab1abe654
This is the video of how to reproduce this bug