Update OpenSSL to version 1.0.2g

Update to latest stable version. All Makefile files, Perl files(*.pl), Assembly files(*.s, *.S) and test files(*test*) removed.
Please see #4275 last comment for more information.

Thanks a lot! I checked the patch locally and it builds and seems to run fine. I also compared the files to those of the upstream 1.0.2g (mostly to check for potential forgotten or leftover files, etc.).
I found some diffs which I remember from earlier "bugfix" commits, so thumbs up for keep their changes. I think most of them are due to us not defining OPENSSL_SYS_WIN32 for Windows builds, that's probably something to look into so that we can drop our patches. (All diffs renamed to .txt as GH won't access .diff files)

dtls1.h: dtls1.h.diff.txt
o_str.c: o_str.c.diff.txt
rand.h: rand.h.diff.txt
opensslconf.h: opensslconf.h.diff.txt

opensslconf.h is likely what we need to work on if we want to drop our patches.

md5.h: md5.h.diff.txt

Files that we have and that are not in the upstream tarball:
$ for file in $(cat files_list.txt); do   filename=$(basename $file); matches=$(find /home/akien/tmp/openssl/openssl-1.0.2g/ -type f -name $filename); if [ -z "$matches" ]; then echo "No match for $file"; fi; done
No match for builtin_openssl2/nocpuid.c
No match for builtin_openssl2/SCsub
No match for builtin_openssl2/crypto/des/t/test

All good.
Code files (.c and .h) that the upstream tarballs has and our repo doesn't:
$ for file in $(find /home/akien/tmp/openssl/openssl-1.0.2g -type f -name "*.c" -o -name "*.h"); do   filename=$(basename $file); matches=$(find builtin_openssl2/ -type f -name $filename); if [ -z "$matches" ]; then echo "No match for $file" >> nomatch.txt; fi; done

This gives some output due to the other folders in the upstream tarball (apps, demos, engines, etc.), and some .*test.c files in crypto and ssl, but after filtering these out it's all good. So once again nice job @mrezai :D


Apache Airflow module broken on Ubuntu 24.04

The module's run.sh script uses pip to install a globally available package which is disabled on Ubuntu 24.04.
The new Ubuntu requires all packages to be installed in their own virtual environment which can be done via pipx or uv tool.

Thank you @DataOps7 for reporting the issue. Would you like to submit a PR to fix the issue and add Ubuntu 24.04 compatibility?
cc: @nataindata as you are the original author.

I have a solution which uses the uv tool, as it's much much faster than pipx.
But it requires users to install uv on the machine running the script, for us it's easy as we're using Docker.

Maybe with a fallback to pipx if uv is not available.

Yes go with this.


ci: create symlinks to each project repo

With west 0.8.0 it is ensured that manifest path-prefix cannot be used
to escape the west workspace.
This results in the zephyr module cache optimization to not work.
By creating individual project links to cached repo, and
https://github.com/zephyrproject-rtos/west/pull/439
then it is possible to use symlinks for project optimization and still
ensure manifest files cannot escape the west workspace.
Signed-off-by: Torsten Rasmussen<EMAIL_ADDRESS>
Fixes: https://github.com/zephyrproject-rtos/west/issues/437
Together with: https://github.com/zephyrproject-rtos/west/pull/439

I'm ok to change this, but I think west should be fixed to handle symlinks.

It will handle symlinks with this PR: https://github.com/zephyrproject-rtos/west/issues/437

I'm ok to change this, but I think west should be fixed to handle symlinks.

It will handle symlinks with this PR: zephyrproject-rtos/west#439

to still ensure that west workspace cannot be escaped by  by malicious manifest file using path-prefix, then the symlink is limited to only be allowed on each project.
Hence the change in this PR.
Symlinks are still used, but a symlink is created per project.

closed in favor of: https://github.com/zephyrproject-rtos/west/pull/441


Job for haos-agent.service failed because a fatal signal was delivered to the control process

Hi,
Just for fun, I'm trying to install HA Supervised on a Raspberry 1 (!)

I Installed latest version of DietPi today
something went wrong on "Step 3: Install the OS-Agent": (I tried to install os-agent 1.2.2 before, but same problem)

wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.1_linux_armv7.deb
dpkg -i os-agent_1.2.1_linux_armv7.deb

but this gave
root@rpi-81:~# dpkg -i os-agent_1.2.1_linux_armv7.deb
Selecting previously unselected package os-agent.
(Reading database ... 24582 files and directories currently installed.)
Preparing to unpack os-agent_1.2.1_linux_armv7.deb ...
Unpacking os-agent (1.2.1) ...
Setting up os-agent (1.2.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/haos-agent.service → /lib/systemd/system/haos-agent.service.
Job for haos-agent.service failed because a fatal signal was delivered to the control process.
See "systemctl status haos-agent.service" and "journalctl -xe" for details.
dpkg: error processing package os-agent (--install):
 installed os-agent package post-installation script subprocess returned error exit status 1
Processing triggers for dbus (1.12.20-2) ...
Errors were encountered while processing:
 os-agent
root@rpi-81:~#

root@rpi-81:~# systemctl status haos-agent.service
● haos-agent.service - Home Assistant OS Agent
     Loaded: loaded (/lib/systemd/system/haos-agent.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: signal) since Wed 2022-02-16 16:25:14 GMT; 1s ago
    Process: 2772 ExecStart=/usr/bin/os-agent (code=killed, signal=ILL)
   Main PID: 2772 (code=killed, signal=ILL)
        CPU: 12ms

root@rpi-81:~# journalctl -xe
Feb 16 16:25:56 rpi-81 systemd[1]: Starting Home Assistant OS Agent...
░░ Subject: A start job for unit haos-agent.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit haos-agent.service has begun execution.
░░
░░ The job identifier is 15021.
Feb 16 16:25:56 rpi-81 systemd[1]: haos-agent.service: Main process exited, code=killed, status=4/ILL
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit haos-agent.service has exited.
░░
░░ The process' exit code is 'killed' and its exit status is 4.
Feb 16 16:25:56 rpi-81 systemd[1]: haos-agent.service: Failed with result 'signal'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit haos-agent.service has entered the 'failed' state with result 'signal'.
Feb 16 16:25:56 rpi-81 systemd[1]: Failed to start Home Assistant OS Agent.
░░ Subject: A start job for unit haos-agent.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit haos-agent.service has finished with a failure.
░░
░░ The job identifier is 15021 and the job result is failed.

Has anybody tried to run HA on RPI1?

Will be resolved with the next releases, see #68.


fix:throw an error for invaild json string

PR Checklist
What is the current behavior?
Please describe the current behavior and link to a relevant issue.
The functions JSONBigInt.parse() and JSONBigNumber.parse() generate an error when encountering an invalid JSON string, but do not properly throw it.

Issue Number
What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Specific Instructions
Other information

Thanks! 🚀 @ni00


Using the package

I am fairly new to Haskell, and I just installed LambdaNet through stack. In which way can I access the functions and examples? Because I don't have the AI directory, nor any of its subdirectories.
Thanks in advance.

Never mind, I found out the mistake.


ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

Describe the bug
I am using gitleaks to clone gist, but got the error ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Probably, it's a bug. I used gitleaks to clone gist repository in https, it works fine. But I used gitleaks to clone gist repository in ssh, got the error. I did it by git clone git@gist.github.com:0116ae46ac5bedxxxx.git command directly, the repository can be cloned successfully .
To Reproduce
Run the gitleaks command
gitleaks  --files-at-commit latest --repo-url gist.github.com:xxx/xxx.git --clone-path /home/xxx/ --report /home/test.json
got the error:  ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
gitleaks  --files-at-commit latest --repo-url https://gist.github.com/xxx.git --clone-path /home/xxx/ --report /home/test.json, it works fine.
Using git command directly, git clone git@gist.github.com:0116ae46ac5bedxxxx.git , the repository can be cloned successfully .
Expected behavior
Clone gist repository successfully, no error.
Basic Info (please complete the following information):

OS: Ubuntu 20.04.1
Gitleaks Version: V7.2.1

cc @zricethezav

issue present in older versions as well, please fix...

Looks like the code has 2 issues.

It's only looking at id_rsa, so if you have a configuration for multiple keys, say one for github, and another for gitlab, you'll need to make sure id_rsa is set to the one that you are scanning... you should instead check config, and use the appropriate key, or alternatively try all keys in .ssh folder...

you are not taking account keys that are passkey protected
ssh: this private key is passphrase protected

this can also be solved by allowing native git to do the auth instead of your code trying to figure out what to do..., if passkey is in keychain, it'll work automatically...

@davidkochkerian happy to look at PRs. My time is gonna be tight for the next few months so this might not get my full attention for a while.

Gitleaks has been updated to v8.0.0 and this issue will not be
fixed moving forward. Sorry for the inconvenience, feel free to fork older versions introduce a fix in your fork.
Gitlaeks is not responsible for cloning


Guild roles show as empty

the roles object is supposed to be a array with different roles.
Instead its a empty object

Do you have any roles except @everyone?


Dedupe suggestions

I am developing an extension to add auto completion to JSON files. I would like provide completion items ("running" and "stopped") when the users is editing the "status" property. However, these completion items will be duplicate with built-in JSON completion items. As the below screenshot shows, there is one extra "running" completion items which I assume is provided by the built-in JSON extension:

Per the document of the registerCompletionItemProvider, even if I can match both language and pattern, the score is still 10. I guess the built-in JSON completion item provider can also get a 10 with only the language filter. As a result, I cannot prevent the built-in completion items from showing up.
Is it possible to allow match score higher than 10 for DocumentSelector, or is there any way I can prevent the built-in completion items from showing up?

/findDuplicate

Is it possible to allow match score higher than 10 for DocumentSelector, or is there any way I can prevent the built-in completion items from showing up?

No, that's against the philosophy of the system being open. There is an issue to deduce identical suggestions tho

I have found some GitHub issues discussing duplicate completion items, but they are all from the editor users' perspective. Is there anything an extension author can do to prevent duplicates without users changing any settings?

Is there anything an extension author can do to prevent duplicates without users changing any settings?

No - this is something that needs to be implemented in the model logic

i will try to do this @jrieken . can you tell where to start ??

This would be a good place to start: https://github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/suggest/suggest.ts#L110
The allSuggestions-array is the merge result after invoking all providers and I'd something like this. Add a function that computes the identity/hash of a suggestion (we need to agree what that actually is). Loop over them once and drop items for which a hash has been seen already

@jrieken . where i can see the console.log values.i running the debugger on chrome and not seeing anything.

Hi @ganes1410.
You should be seeing the console logs without any trouble. Please see the attached image

If you are not seeing the logs, then may be the execution didn't reach there ?
Let me know if this helps..
Thanks,
Pradeep.

Hey @jrieken @pradeepmurugesan .
I think values for not logging because the code is not executing.
However i tried to reproduce the issue and not getting duplicate suggestions.

@ganes1410 Please install my extension (https://github.com/LazarusX/vscode-completionitem-demo) to reproduce this issue. The issue is that currently VS Code won't dedup completion items provided my extension and the built-in JSON extension.

@jrieken Hi, while I am bugged by this issue while developing a plugin aiming to reorder the completions provided by VSCode/other extensions, I noticed a similar first-party plugin Microsoft intellicode seems to be able to filter out/sort the completions provided by Python(ms-python.python) plugin.
Without intellicode, notice the duplicates of "placeholder" because of other plugins like Kite:

With intellicode, the star-marked completion is provieded by intellicode:

Unfortunately intellicode is not open-sourced, so I wonder if there is any non-public API for their team to achieve this?

Please, re-label this issue as a bug. It is mis-labeled as a suggestion and a feature request but this is a bug.
The fact that the issue includes a suggestion how to fix this bug does not change the fact that this is a bug report.
I hope that correctly labeling this issue will help with fixing it sooner.

Hi, I'd like to vote to be able to flag my own plugin's completion items as removable if they are duplicates by name. I get that it is probably not a good thing to allow plugin A to remove plugin B's suggestions, but I don't see an issue with plugin A asking the client to drop A's suggestions, based on some criteria (probably just match a string literal, with a boolean case-sensitivity option). The use case is, as with OP's, building a plugin intended for use alongside an existing one, and that can add useful completion items rather than noise.

hello,
I experienced duplicated suggestions when using these Python extensions in VSCode: Python, Pylance, isort.
But this seems to work for me: in Python extension settings:
Python: Language server... choose: Jedi.

I am also experiencing duplicate suggestions, as well as duplicate information on hover, while using Python and Pylance. Switching Python: Language server to Jedi removes the duplication, so this is likely a bug with Pylance.

Just a follow up,
I see that there were many "duplicate suggestions" issues reported on github (here under VSCode repository, or under Pylance extension repository).
Some claimed to be fixed, some still opened.
It seems that my issue pertains to this reported Jupyter issue https://github.com/microsoft/vscode-jupyter/issues/12029
Switching to Jedi was not satisfactory for me, because Jedi in VSCode is sadly set up to pre-fill the variables in functions https://github.com/davidhalter/jedi/issues/1905 .
🤷


Comparison with Nuxt.js / VuePress / Peco

I just know people would ask this a lot, will answer this later...

I was about to ask :trollface:

Updated ☝🏻

What about Ream?

@chanlito similar to Nuxt.js in terms of generating static website.

If I need to fetch fresh data each day, do I have to compile it each day via cron job or something?

@Globerada seems you need real-time data, then I think fetching data at compile time would be unnecessary. You can use Nuxt or Ream.


Routes for opping people

POST to /players/:playerUuid/op should OP that player. Also maybe GET to /players/ops should give a list of OPs

Closed with #31


Implement cancelJob() methods

The Experiment class provides a cancelJob() method to force job cancellation if the experiment run exceeds the granted time limit.
The method is yet to be implemented in all of the following systems:

Flink
Spark
MapReduce

Since execution is blocking in all systems, we might ditch this bit altogether...


Clarify destruction of SRW locks and condition variables.

@m-ou-se : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@m-ou-se : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Karl-Bridge-Microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Fixes some type issues in Dask Array shapes

Fixes https://github.com/dask/dask/issues/2374

Have added a test that reproduces the original issue and verified it demonstrates this fix works. Should be good to go on my end as long as it passes.

Looks like this is now passing. Any comments on it or is this good to go?

Would this be resolved by moving the change to the last line of dask/array/core.py::normalize_chunks?

I've pushed a proposed change.  Feel free to remove it if preferred.

The test still passes. So fine by me. 👍


add_data to allow injecting additional metadata

m2m and mptt tracking code depends on this small core change

If this is accepted, I can likely PR the m2m and mptt code as is.
If this is rejected or changed, the m2m and mptt code will need some changes.
So I decided to submit this first.

For example of how I would use add_data, see https://github.com/agfunder/django-auditlog/commit/95e78dd97268e00ff4a268d7f4ee51582e33e07f#diff-f5c12bf42e8cd5ef3a793400e11cd5dfR23
Basically, allows internal code to automatically add some useful metadata into additional_data field.

Ill be able to review this properly in a day or so when I can pull the changes and play around with it

Maybe tests only require change to test_model_without_additional_data


Close vulnerabilities

the bot found multiple vulnerabilities that need to be closed by updating the version.
Please go to the main package.json and the one inside example folder and try to upgrade all the packages one by one.
Please follow the following instruction to create the new branch:
git checkout release/1.0.0
git pull
git checkout -b 'feature/vulnerabilities'

closed by https://github.com/Capgemini/dcx-react-library/pull/616


posting new users and registering new users to db

'registering' a new user.  posting both new users and registered users.


Does not work as advertised

modelBuilder.Entity<MyEntity>((builder) =>
{
    builder.HasMany(parent => parent.Children)
               .WithOne(child => child.Parent)
               .OnDelete(DeleteBehavior.Cascade);
});

results in:
...
constraints: table =>
{
    table.PrimaryKey("PK_My", x => x.Id);
    table.ForeignKey(
        name: "FK_My_My_ParentId",
        column: x => x.ParentId,
        principalSchema: "MySchema",
        principalTable: "My",
        principalColumn: "Id",
        onDelete: ReferentialAction.Restrict);
}
...

So onDelete == ReferentialAction.Restrict!!

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

ID: 3ed1b8a1-fa32-e147-ae0f-76b3620473f9
Version Independent ID: 10ce2d9f-8284-a509-5fed-669abfb9d8ae
Content: Cascade Delete - EF Core
Content Source: entity-framework/core/saving/cascade-delete.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @ajcvickers
Microsoft Alias: avickers

Never mind:
The issue was caused by calling
base.OnModelCreating(modelBuilder);
AFTER defining the cascade delete


Ability to display integration tests coverage report

Description
Ability to display integration tests coverage report
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

/lgtm

/approve


[ZEPPELIN-1033] HotFixing of paragraph deletion and re-ordering broken

What is this PR for?
This PR is for fixing this issue
What type of PR is it?
Bug Fix
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1033
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

@astroshim still getting same errors. After trying to "move up" and then "delete" a cell, I get these errors in the log: http://pastebin.com/Sr4WveXF

@randerzander Thank you for your review. Let me check.

@randerzander Did you build this PR?
You can get this PR from git clone https://github.com/astroshim/zeppelin -b ZEPPELIN-1033.
My zeppelin is working well as following screenshot.

Could you please check one more?

It works as before 👍

I checked it, and behavior with paragraph reordering fixed. So basically, previously shiro was initialized only when needed from shiro.ini, and now it's initialized always when starting the server explicitly. to be honest, i'm not exactly sure at the moment about the best way to solve the issue with SecurityManager initialization, since previously it was also initialized (automatically through the classpath) but wasn't available (possibly because of not injecting correctly). But definitely this one way to solve the issue at the moment, which can be further improved

I tried again from your branch and it worked.  Thanks for the fix =)

nice @randerzander thanks for addressing this issue and review.

+1 for merge

Merging it as hotfix


Fix test_assync (#388)

Overview
This PR fixes test_assync (#388).
Related Issue / Discussion
Additional Information
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x ] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[x ] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

Coverage increased (+1.1%) to 74.883% when pulling eda3ffe76931636bd2e521283e60c186ae441fe9 on bird-house:issue-388-fix-test-assync into 9e80ceda2d05279d7d6fb3e35a48b783b002e033 on geopython:master.


remove the hard code option.txt location

Excellent work!
I guess remove the hard code loadOptions("C:\\IddSampleDriver\\option.txt");  may be better :)
for example: https://github.com/ge9/IddSampleDriver/releases/tag/<IP_ADDRESS>

It's on the roadmap, there are (loose)plans on an installer. Which would negate this issue.

@zjoasan I am currently working on (this)[https://github.com/sofmeright/IDDSampleDriver_Wizard] if you want to check it out. It is pretty much done. As long as ya don't mind autohotkey. May have to rewrite two small functions. This is all as of last night so it is a little rough. Should be able to do the rest when I have some rest lol

Thank you, I"ve heard of that scripting engine, never worked with it though. Most what you got there is in the plans for a companion app. The installer has jumped from idea  to actual coding trials. And right now I'm exploring some  possibilities for improving some stuff that was left out of the base driver.
So forgive me if I'm jumping on this immediately, got a pressing and time consuming project I have to finish up before returning to VDD. Nice little app, in my mind.


custom paths for components/ui

Describe the feature in detail (code, mocks, or screenshots encouraged)
I am using monorepo and want to control where components get added with cli add  command.
this still don't allow changing path  for components:ui type
npx shadcn-svelte@latest add -p src/lib/components/shadcn button

Ask: let the users customized where components get added via either CLI args or via  components.json
What type of pull request would this be?
None
Provide relevant links or additional information.
apps/myapp <-- `sveltekit app`
libs/ui/ <-- `shared components lib`
        src/lib/components/shadcn
               button
               dropdown-menu
        components.json

@huntabyte What's your thought on this issue? I think I could take a look at how to solve this.
The CLI could just ask the path, like when the init command ask for the global CSS file. But that would also add an extra step for everyone who is not using such mono-repo (which is the majority of people, no?).
@xmlking It might be a bit dirty, but have you try to move the components.json at the root or your mono-repo? Update the configuration stored in it accordingly? It should do the job.

For reference, Here is my monorepo  https://github.com/xmlking/spectacular
Shadcn components are at packages/ui with components.json in it.
Consuming  app is at apps/console-sc

Added in @next

Hey! I too I'm having trouble with a monorepo. But I see that you might have fixed the issue in your repo @xmlking
The issue I am having is with the components.json file and the aliases. If I set the aliases like they are meant to be set (i.e "$lib/components" for example) they evaluate to the application that is consuming the ui package. And if I set the them to relative paths the CLI throws a " - Import aliases must use existing path aliases defined in your tsconfig.json (e.g. "utils": "$lib/utils")." error.
How did you do it?

I added a new feature request to support monorepo setup natively in cli:
https://github.com/huntabyte/shadcn-svelte/issues/1575


New stdout/stderr stuff fails if either stdout or stderr is null/undefined

https://sentry.io/matt-godbolt/compiler-explorer/issues/172474954/
TypeError: Unable to get property 'concat' of undefined or null reference
  at self (compiler.js:294)
  at list (compiler.js:197)
  at c (ext/jquery/dist/jquery.js:3305)
  at deferred (ext/jquery/dist/jquery.js:3438)
  at complete (ext/jquery/dist/jquery.js:9242)
...
(2 additional frame(s) were not displayed)

https://sentry.io/matt-godbolt/compiler-explorer/issues/172324737/

https://sentry.io/matt-godbolt/compiler-explorer/issues/175351038/

Still happening...fix is in 376e472a6c2c9a81a57fed496f20b9920fe7853e but not pushed to prod yet...

Seems fixed at last


中英文文档合并以及Hyperledger文件重命名

格式更新
大型改动

@davidkhala , I hope in this pr we can have some document upgrade as mentioned in https://github.com/Hyperledger-TWGC/tape/issues/116

@SamYuan1990 but #116 has ambitious beyond tape as probe is also included.

@SamYuan1990 but #116 has ambitious beyond tape as probe is also included.

I see, or could you please help with https://github.com/Hyperledger-TWGC/tape/issues/131 ? To be honest... I hope we can have a pr with large scope upgrade for document.

@davidkhala commit需要sign-off

@SamYuan1990 看起来fabric-samples 的脚本又改了
https://dev.azure.com/Hyperledger/TWGC/_build/results?buildId=30217&view=logs&j=8d03cc15-4df7-568b-60a2-97dabd397d21&t=63bb61fd-6838-5eea-5642-3155fa8636f7&l=548

@stone-ch 刚才git reset的时候选错了方式，把代码搞乱了，现在应该好了

close #116


Inverted Y axis when interacting with bevy_ui

Version
Rev(latest main):
3dc4c5cb2e18d0794937c885db905aa057a298fb
Description
Hey, thanks for making this crate, it is really helpful and its latest version with event listeners make interaction with bevy_ui great again. I have been poking around and I think I found an issue or two.
I have created a NodeBundle with flex direction Column and added three buttons to it as children's, so I have one column with buttons, when I hover my cursor over first button, the last one highlights, and when I move to last one, first one highlights, middle one is working fine.
Additionally there seems to be another issue, which we can see at the end of gif, looks like text is highlighted separately from rest of the button in first button, it works fine in the beginning but breaks later on, not sure if that's a bug or configuration(FocusPolicy) error, can be reproduced using same code.
Gif
Animation which shows both issues

Reproducible example
The easiest way to run example for reproduction is to replace bevy_ui example with following code:

//! This example demonstrates how to use the plugin with bevy_ui.

use bevy::{prelude::*, ui::FocusPolicy};
use bevy_mod_picking::prelude::*;

const NORMAL: Color = Color::rgb(0.15, 0.15, 0.15);
const HOVERED: Color = Color::rgb(0.25, 0.85, 0.25);

fn main() {
    let mut app = App::new();
    app.add_plugins(DefaultPlugins.set(low_latency_window_plugin()))
        .add_plugins(DefaultPickingPlugins)
        .add_startup_system(setup);

    app.run();
}

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    let font = asset_server.load("fonts/FiraMono-Medium.ttf");
    commands.spawn(Camera2dBundle::default());

    let play_button = create_button(&mut commands, font.clone(), "play");
    let settings_button = create_button(&mut commands, font.clone(), "settings");
    let quit_button = create_button(&mut commands, font, "quit");

    commands
        .spawn(NodeBundle {
            style: Style {
                flex_direction: FlexDirection::Column,
                justify_content: JustifyContent::Center,
                align_items: AlignItems::Center,
                margin: UiRect::horizontal(Val::Auto),
                ..default()
            },
            focus_policy: FocusPolicy::Pass,
            ..default()
        })
        .add_child(play_button)
        .add_child(settings_button)
        .add_child(quit_button);
}

fn create_button(commands: &mut Commands, font: Handle<Font>, text: &str) -> Entity {
    return commands
        .spawn((
            ButtonBundle {
                style: Style {
                    size: Size::new(Val::Px(200.0), Val::Px(65.0)),
                    margin: UiRect::top(Val::Percent(5.0)),
                    justify_content: JustifyContent::Center,
                    align_items: AlignItems::Center,
                    ..default()
                },
                background_color: Color::rgb(0.15, 0.15, 0.15).into(),
                focus_policy: FocusPolicy::Pass,
                ..default()
            },
            OnPointer::<Over>::target_insert(BackgroundColor::from(HOVERED)),
            OnPointer::<Out>::target_insert(BackgroundColor::from(NORMAL))
        ))
        .with_children(|parent| {
            let mut bundle = TextBundle::from_section(
                text,
                TextStyle {
                    font,
                    font_size: 40.0,
                    color: Color::rgb(0.9, 0.9, 0.9),
                },
            );
            bundle.focus_policy = FocusPolicy::Block;
            parent.spawn(bundle);
        })
        .id();
}

and then cargo run --example bevy_ui
Possible fix for Y axis
Issue inverted Y axis can be fixed by applying this patch, although I'm not sure if that how it should be done as I'm playing around with this crate just few hours

diff --git a/backends/bevy_picking_ui/src/lib.rs b/backends/bevy_picking_ui/src/lib.rs
index 0d85ca9..feb1aad 100644
--- a/backends/bevy_picking_ui/src/lib.rs
+++ b/backends/bevy_picking_ui/src/lib.rs
@@ -27,7 +27,7 @@ impl Plugin for BevyUiBackend {
 pub fn ui_picking(
     pointers: Query<(&PointerId, &PointerLocation)>,
     cameras: Query<(Entity, &Camera)>,
-    primary_window: Query<Entity, With<PrimaryWindow>>,
+    primary_window: Query<(Entity, &Window), With<PrimaryWindow>>,
     mut node_query: Query<
         (
             Entity,
@@ -54,19 +54,19 @@ pub fn ui_picking(
             })
             .map(|loc| (pointer, loc))
     }) {
+        let (window_entity, window) = primary_window.single();
+
         let camera = cameras
             .iter()
             .find(|(_entity, camera)| {
-                camera
-                    .target
-                    .normalize(Some(primary_window.single()))
-                    .unwrap()
-                    == location.target
+                camera.target.normalize(Some(window_entity)).unwrap() == location.target
             })
             .map(|(entity, _camera)| entity)
             .unwrap_or_else(|| panic!("No camera found associated with pointer {:?}.", pointer));

-        let cursor_position = location.position;
+        let mut cursor_position = location.position;
+        cursor_position.y = window.resolution.height() - cursor_position.y;
+
         let mut blocked = false;

         let over_list = node_query

The latest main targets bevy 0.10, are you using bevy main? Since 0.10 bevy flipped the y axis for bevy_ui - there is a branch with bevy main fixes here: https://github.com/aevyrie/bevy_mod_picking/pull/200

Yep, sorry for vague version description, I'm using bevy 0.10 and bevy_mod_picking with rev 3dc4c5cb2e18d0794937c885db905aa057a298fb, so yes this happens on bevy 0.10

Ah, thanks. Yeah, so this is just something I missed in testing because the button was perfectly symmetric. 🤦

I have a working branch (https://github.com/aevyrie/bevy_mod_picking/tree/ui-fix) with a few fixes for 0.13.

I just encountered this same thing. Any chance this could make it into a release before Bevy 0.11 drops? Especially seeing as Bevy has only a semi-regular release schedule...

Fixed by #218


Uploading/deleting from menu not working

I'm using 0.14.1 (on Microsoft Edge), a freshly created grain on the Sandstorm Alpha server. I opened each preincluded file, and selected "Delete File" from the top right menu. I got the message prompt, but the files did not delete. I also tried selecting Upload File from the home folder, and nothing happened.
Interestingly, trying to delete it again is giving me this in console: HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
(XHR): DELETE - https://alpha-37f9f984da43c5ad8f413d2bccc17466.sandstorm.io/remote.php/webdav/voyager.jpg
As if the browser/grain has not noticed I deleted it.

After closing the grain, giving the supervisor time to kill it, and reopening, the actions I took, such as deleting files, creating a folder, etc. were represented. It seems like the interface isn't refreshing for actions taken.

Thanks for the report. I just got a machine running Edge so I'll take a look. The update is supposed to happen via websockets so I wonder if it's related.

Ok, I submitted v0.14.2 to the marketplace. I haven't yet tested it in IE Edge, but if you'd like to test it ahead of it showing up in the marketplace, you can do so here: https://mnutt.sandcats.io/shared/hNttoEKpQeWvGUCRmybPMReK9At3QjgZlOqpr54CIjd

Okay, so, this is NOT fixed for me.
In fact, upgrading to 0.14.2 re-added the demo files I had deleted, oddly enough! Drag-drop to upload does work, but the display didn't refresh. And I still get no options when I click "Upload" from the menu.

I still get nothing when I click on the Upload menu option. Drag-drop uploading still works alright.

v0.21.6 still has no action no matter how many times I mash the upload button.

this is happening to me too... I'm using vivaldi on ubuntu, it seems this behavior is affecting chromium based browsers, not sure about chrome itself. But every other app is working well... not only sandstorm apps,  I consume a lot of "web socket apps" since I develop on meteor.  I don't have time right now to look into the code. If you know a way to fix this let me know. Else, I will browse the code and when I have something useful I will post back here.

Still experiencing this in Chromium; seems to be the same bug as #25.


Duplicate feature list/raw data file names

Since there cannot be two files of the same name, the project save fill fail.
The best way would be to avoid duplicate names altogether. Will create a fix for it the next days.

Fixed in #416 and #408
Unique names - no idea if safe and load works


fix: add custom wait for retry logic

Issue #, if available:
Description of changes:
Add a custom wait logic as the wait for goexec has an assertion, that marks the test fail in case of timeout.
eventually is usually also used with an assertion.
Without the wait logic the retry wont work due to assertion
Testing done:

[ ] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Description of changes: Add a custom wait logic as the wait for goexec has an assertion, that marks the test fail in case of timeout. eventually is usually also used with an assertion. Without the wait logic the retry wont work due to assertion

I skimmed through gexec's source and couldn't find the assertion you mentioned. Can you post a link in case something like this happens again?

/*
Wait waits until the wrapped command exits.  It can be passed an optional timeout.
If the command does not exit within the timeout, Wait will trigger a test failure.

Wait returns the session, making it possible to chain:

	session.Wait().Out.Contents()

will wait for the command to exit then return the entirety of Out's contents.

Wait uses eventually under the hood and accepts the same timeout/polling intervals that eventually does.
*/
func (s *Session) Wait(timeout ...interface{}) *Session {
	EventuallyWithOffset(1, s, timeout...).Should(Exit())
	return s
}

its goexec internals.

/*

Wait waits until the wrapped command exits.  It can be passed an optional timeout.

If the command does not exit within the timeout, Wait will trigger a test failure.

Wait returns the session, making it possible to chain:

	session.Wait().Out.Contents()

will wait for the command to exit then return the entirety of Out's contents.

Wait uses eventually under the hood and accepts the same timeout/polling intervals that eventually does.

*/

func (s *Session) Wait(timeout ...interface{}) *Session {

	EventuallyWithOffset(1, s, timeout...).Should(Exit())

	return s

}

its goexec internals.

I see, it either exits before timeout, or it fails due to the .Should(Exit())

yes

I think this might be a little easier to read, lmk what you think
exitCodeChan := make(chan int)
exitCode := -1
for i := 0; i < retryPull && exitCode != 0; i++ {
	go func(retry int) {
		s := command.New(o, "pull", ref).WithoutWait().Run()
		for {
			select {
			case <-s.Exited:
				fmt.Printf("\nExited (attempt %d)\n", retry)
				exitCodeChan <- s.ExitCode()
				return
			case <-time.After(2 * time.Second):
				fmt.Printf("\nTimed out (attempt %d)\n", retry)
				exitCodeChan <- -1
				s.Interrupt().Kill()
				return
			}
		}
	}(i)

	exitCode = <-exitCodeChan
}

if exitCode != 0 {
	ginkgo.Fail(fmt.Sprintf("Failed to pull image: %s", ref))
}


Minor improvement: Guide the user on how to open images

🚀 Feature
Improve the user experience for new users when there's an empty canvas. Provide instructions on how to open images or even a quick message for how to get started.
Motivation
It's not totally clear that I can drag images to the canvas to open them. A clear message would help the user to get started quicker.
Pitch
I recommend having a message on the canvas when I first open napari with an empty canvas that says something like “Drag image(s) here to open or use the menu: File > Open image(s)”

Yes this would be really nice, probably best to just create a special http://vispy.org/visuals.html#vispy.visuals.TextVisual with that message and then we detect that no layers are present in the layers list show it and then hide it otherwise. This could be triggered from our model file here https://github.com/napari/napari/blob/ff22470b8ecb6c54a25925b126be21467157de20/napari/components/viewer_model.py#L454 and then the text visual would get added here https://github.com/napari/napari/blob/ff22470b8ecb6c54a25925b126be21467157de20/napari/_qt/qt_viewer.py#L142, probably created as it's own dedicated _vispy/vispy_canvas_text.py file

that would certainly work, but it's not immediately obvious to me that we want to do this with GL, or that it actually needs to be a vispy visual that gets added to the scene canvas (even though it would be shown in the same general area).  I'm not sure whether GL will render text (with all the anti-aliasing considerations that platforms handle) as "naturally" as a Qt widget?

I'll also just put a screenshot here of the vscode info placeholder, which I've always liked:

but it's not immediately obvious to me that we want to do this with GL, or that it actually needs to be a vispy visual that gets added to the scene canvas (even though it would be shown in the same general area).

Oh right - we could just "do this with Qt" instead by showing a different widget instead of the canvas right and not using vispy? That would be much much simpler - I like what you're showing there from vscode!!

yeah, that's what I was thinking.  it could even be a transparent widget that sits on top of the canvas area that disappears when len(layers) > 0... so we wouldn't need to change anything about the canvas.

What do you think about something like this?

Beautiful @justinelarsen - looks like time for your first napari PR :-)

I started working on this but hit a snag.
I created a new QtCanvas class which is instantiated within the QtViewer to contain both the existing VisPy canvas and a new widget for an empty canvas. The idea is to show only one at a time based on if there are layers or not. I created a diagram that I thought would help to explain.
As I started implementing though, I realized that there are a lot of methods within QtViewer that use/set canvas properties or call on canvas methods. Also, there are a lot of mouse event methods in QtViewer that would need to be moved with the SceneCanvas as those methods get connected to the canvas.
This seems like a lot of work and potential to create bugs for something that I feel shouldn't be so complicated so I wanted to stop and get others' opinions. I could just leave everything in QtViewer and not create a new class for QtCanvas and then just add the new widgets to QtViewer. I'm not sure if this is bulking the QtViewer class too much though. Thoughts?

Hmm, I would try making QtCanvas not a QStackWidget, but just a QWidget (potentially subclassing, or at least containing) the SceneCanvas. This will then make the swapping out much easier. As you said many of the mouse events/ methods would have to move, but it could actually consolidate a lot of our vispy code - see this proposal from a while back https://github.com/napari/napari/issues/855
QtViewer would still need QStackWidget, but this could maybe just be created directly there and there would just be minimal logic inside the QtViewer to decide which widget is being shown. If it becomes too much, you could also add another new class that subclassed the QStackWidget and was very light weight and add that to QtViewer.


string 生成 Gitbook

[ ] 删除 workflowr 框架
[ ] 整理好 Rmd

# stringr
x <- c("100a10", "100a5", "2b", "2a")
str_sort(x)
#> [1] "100a10" "100a5"  "2a"     "2b"
str_sort(x, numeric = TRUE)
#> [1] "2a"     "2b"     "100a5"  "100a10"

这个函数整理到 string
https://stringr.tidyverse.org/articles/from-base.html
Originally posted by @JiaxiangBU in https://github.com/JiaxiangBU/pkg_rvw/issues/30#issuecomment-495288617


Per-page pagination customisation

Hello. I'm using the pagination widget and encountered some issues in per-page pagination format.

Buttons are named "First page" and "Last page" instead of "Next page" and "Previous page"
Next page, previous page and page break icons customisation doesn't work for per-page pagination (for Navigation format of pagination everything works properly).

Please, see the screenshots.
Widget version 2.0.0

Thank you for considering changes.

Hello,
Nice catch! I've fixed the icon customization in release 2.0.1 .
I'm not sure I understand your first point. The order of the button labels appears to be correct: Previous, First, Last, Next. Am I missing something?

Hello,
Nice catch! I've fixed the icon customization in release 2.0.1 .
I'm not sure I understand your first point. The order of the button labels appears to be correct: Previous, First, Last, Next. Am I missing something?

Hey, thanks for the quick fix. I will give it a test as soon as possible :D
Regarding the naming, I was referencing the "Buttons" tab, where (as far as I understand that correctly) you should be able to customise the icons of "Previous" and "Next", but it's written "First" and "Last" (which is a bit pointless since we have First and Last it as numbers).
And thanks for maintaining this widget, find it really useful in my project.
Wish you Marry Christmas!
Slovjaninsky

Ahh makes sense. Thanks for using my widget 😃
Merry Christmas!


add another CMD layer to exec the container for non-manual deploys

Fixes #8 for intention to make it work on Orchestration platforms like Kubernetes or OpenShift.

Hi @sr229, thanks for your contribution!
Our dockerfiles are primarily made for development usage — i.e. you can start the container, attach to a shell inside of it, run some scripts (training, metrics, etc). Your change makes it very specific, suitable only for production deployment, so I think we can't accept it right now.
If you want to run it in your favorite environment, you'd better set the docker run command (like in https://github.com/lukalabs/cakechat/blob/master/README.md#quick-start) or write your own Dockerfile which includes our docker image by making use of FROM statement and build it.


Filter badge text on Contacts table is being cut off by line-height

Not a palmetto-components issue.


Homepage : database is not mentioned anywhere

Describe the bug
Homepage : database is not mentionned anywhere but this is why Knora was designed. It is also what makes it so special.
Qualitative data is way to vague in my opinion if we want to target a humanities audience.
To Reproduce Steps to reproduce the behavior:

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

OPTIONAL: Expected behavior
Databases should be mentioned somewhere.
Maybe: "Search for relationships between text, metadata, annotations, markup, links, and more in your database?"
Or "You define your data model for your database, and Knora ensures that your data is consistent with it." ?
Or even : "The tool is designed to work with qualitative data, digital collections and databases."
Screenshots
If applicable, add screenshots to help explain your problem (drag-and-drop the image directly here).
Desktop (please complete the following information):

OS: macOS 10.14.6 (18G103), French
Browser Firefox
Version 70.01.1

Additional context
Add any other context about the problem here.

this issue has been moved to YouTrack: DSP-308


Callback wf improvements

A refactor to simplify some workings of dblogstep and accompanying changes to step_group

_db_log_step which handles persisting process and process_steps in the db now looks at certain internal keys in the state to customize this handling. It is now step_group agnostic.
The Step group step_list is now extended with and enter and exit step which handles initialization and cleanup.
Added a multistep unit_test for an async workflow with persistence.

Codecov Report

Merging #389 (dd78f91) into main (cb82e82) will increase coverage by 0.17%.
Report is 7 commits behind head on main.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main     #389      +/-   ##
==========================================
+ Coverage   72.90%   73.08%   +0.17%
==========================================
  Files         184      184
  Lines        8807     8819      +12
  Branches     1441     1443       +2
==========================================
+ Hits         6421     6445      +24
+ Misses       2198     2188      -10
+ Partials      188      186       -2

Files
Coverage Δ

orchestrator/api/api_v1/endpoints/processes.py
80.43% <100.00%> (+2.17%)
:arrow_up:

orchestrator/services/processes.py
88.95% <100.00%> (+5.47%)
:arrow_up:

orchestrator/workflow.py
93.03% <100.00%> (+0.16%)
:arrow_up:

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


[FEAT] Add CI to CONTRIBUTING.md

Is your proposal related to a problem?

Building ontop of #1394 - the CI pipelines are something that are not really documented anywhere and can trip up developers
Describe the solution you'd like

Add a section to the contributing guide on what CI / Actions are in place, and what any contributors can expect when dealing with them. E.g. what fails when running on a fork
Describe alternatives you've considered

Additional context

This should also add instructions on the dev flag for running CI


Add cron job to automate system monitoring script execution every 10 …

This PR sets up a cron job to automate the execution of the system_monitor.sh script. The script monitors system resources (CPU, memory, and disk usage) and logs the data to system_monitor.log every 10 minutes.

Hi,
Thank you for your fantastic contribution to the Codeku Cloud and DevOps micro tasks! We truly appreciate your effort. However, we regret to inform you that this particular task cannot be approved due to a few errors. But don’t worry—this is just the beginning! There will be plenty of opportunities in the future, and we’re confident that you’ll succeed next time.
We encourage you to keep trying, and we wish you the very best of luck!
Warm regards,
Team CoDeKu


Don't drop trees during DART prediction by default

This is another attempt at #3556 to avoid the issue of people forgetting to set ntreelimit / ntree_limit (or not being aware that they have to) and getting incorrect predictions under DART.
I am aware that a change like this was previously reverted (#3563) because "it breaks the logic for custom evaluation and custom objective". However, no tests seem have been added or examples provided that demonstrate this breakage, so I have no idea whether this new PR recapitulates it. What I can say is that this PR passes the test suite for the R package, including with an assignment to ntreelimit removed.

@Kodiologist dart tests are failing.  I'm not entirely sure about this PR.  Will revisit dart later.

I've been working on this, but making slow progress. Apparently, Dart::PredictBatch is used for training as well as prediction with a trained model, so removing dropout from it entirely is a no-go. The new attempt I've pushed is passing the Python test, but now fails the SHAP-sum tests I provided for #5050.

@Kodiologist Let me know if there's anything I can help.  I'm familiar with both C++ and Python layers.

no tests seem have been added or examples provided that demonstrate this breakage

See https://github.com/dmlc/xgboost/pull/3556#issuecomment-410851113

@Kodiologist I think I fixed the failing R test. DART object internally keeps track of a sample of trees that are "dropped out", and this sample needs to be emptied whenever deterministic prediction is requested.
There's still an issue of enabling customized objective. Let's see if we can add a special flag for this use case.

I've tried to add a test for using custom evaluation functions with DART (see my last commit), but apparently, I can't get it to work: I've set it to return 3 in place of the actual negative log-likelihood and the predictions are coming out the same. This feature doesn't seem to be quite documented, but based on tests/python/test_eval_metrics.py and error messages I've gotten, it looks like you need to set eval_metric to the name m of an already existing metric, and then feval needs to return a tuple (m, EXPR) where EXPR is the computed evaluation; feval is then supposed to override the default implementation of m.

Will look into this in these few days, see if I can help.  Thanks for the effort.

Revisited the paper, will work on this PR tomorrow.

Em.  So drop out prediction is required at training, but not inference.  But we need to expose this because of customized objective function.  Quite an headache.

@Kodiologist I thought about this, the problem is prediction differs between training and inference.  This PR adds an extra parameter drop_tree, can we rename it to training, and set it the True when used with custom objective function?

@hcho3 WDYT?

That makes sense to me.

@Kodiologist im happy to go ahead with this if you change the semantics per @trivialfis 's suggestion.

@trivialfis Yes, your suggestion makes sense.

@RAMitchell I'm happy to do so, but I can't seem to test it as I described above, so I won't know if it's correct any better than I do the current PR.

Could you describe the issues you encountered while you are trying to run tests?

I've tried to add a test for using custom evaluation functions with DART (see my last commit), but apparently, I can't get it to work: I've set it to return 3 in place of the actual negative log-likelihood and the predictions are coming out the same.

Feel try to push the test here so I can take a look.

I did. Like I said, see my last commit, c9d7804c2f38e41547aa2fc62134b84cf6b50a1f.

I have, at least, renamed the parameters as requested.

Let me try to fix it.

@RAMitchell @hcho3 Please help taking a look.

A training parameter is passed down from language interface to dart prediction functions.
Enabled it for R/Python, not Jvm.

Ideally I should use predictor for non-training prediction, but right now the cache is not initialized and requires some refactoring to enable it.  Let's make it a to-do item.

I will open a new PR for directly scaling tree leaf's weight.

@Kodiologist Thanks for opening the PR!


fix(typeahead) - Do not invoke async method if less than typeaheadMinLength

In the typeahead component, async requests are first sent, then the result gets discarded if the number of entered characters is below typeaheadMinLength.
This PR just moves the check before doing the matching process.

Squash got me :)


Tabs moving

When selecting tabs, its title or other tabs move by one pixel.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Closing as this has been already fixed


dynamic import()

Please add dynamic import().
I went to caniuse to see when dynamic import would also be supported in firefox, but I see no mention of it.

Duplicate of #3901


Milestone question/suggestion

What is the difference between your "Homework 4" milestone and "Meeting the requirements of Homework 4" milestone? Also, you could add one for algorithm and another for unit testing.

Homework 4 summarizes all the works while meeting requirements as the words mean.


Make Sensor tracking toggleable in settings.

It seems that by default all the sensors get published to home assistant without a way to configure which sensor you want enabled or not. Can these be made configurable just like the full screen and location settings?

Home Assistant Android version:
1.7
Android version:
10
Phone model:
Mi 9T
Home Assistant version:
105.3
Last working Home Assistant release (if known):
Description of problem:
Traceback (if applicable):

Additional information:

You can disable the entities in Home Assistant.

I get that, but not everyone using the app also knows exactly how home-assistant core works / is configured. Having these settings configurable would result in the users of the app being in control (of their phones functioning) instead of the person that manages the home assistant installation.

We've talked about this and do not want to implement this currently.


Split pointer enter, exit, and hover callbacks from Listener

TL;DR
It is proposed that pointer enter, exit, and hover callbacks are split from Listener into a new class MouseListener. It is mainly because mouse tracking is unable to support certain features provided by Listener, while also because when Listener is explicitly used, it is almost always only for mouse events.
Problem
Unable to support HitTestBehavior.deferToChild
Listener is designed to be a all-in-one class for pointer-related callbacks. Technically it consists of two categories of callbacks: Mouse tracking, including by onPointer{Enter,Exit,Hover} events, are implemented with layer-based hit testing, while pointer events listening, onPointer{Down,Up,Move}, are implemented with render-box-based hit testing.
One of the options Listener provide is HitTestBehavior behavior, which controls the behavior of hit testing. However, since this option is directly passed to RenderProxyBoxWithHitTestBehavior, it does not affect layers. Having an option that only affects part of the callbacks is definitely confusing and undesired.
We can try to simulate the behavior in layers (which is planned), but it is technically impossible to simulate deferToChild, since child information is related with render objects and is lost when converted to layers.
By splitting onPointer{Enter,Exit,Hover} into a separate class, we can provide a different type of behavior that has only two options to avoid this confusion.
It is often used alone
Listener.onPointer{Down,Up,Move} are rarely used directly, instead developers are supposed to use GestureDetector when possible, or to create a custom gesture recognizer with RawGestureDetector.
On the other hand, Listener.onPointer{Enter,Exit,Hover} are currently the only way to use mouse tracking events. This leads to a common code pattern as the following snippet, where Listener is only used for onPointer{Enter,Exit,Hover}:
  @override
  Widget build(BuildContext context) {
    return Listener(
      onPointerEnter: _handlePointerEnter,
      onPointerExit: _handlePointerExit,
      child: GestureDetector(
        onTapDown: _handleTapDown,
        onTap: _handleTap,
        ...
        child: widget.child,
      ),
    );
  }

Although we squashed 2 separate subsystems into Listener, when it's used by developers, only one of them is utilized. Therefore it might be a better idea to split them for modularity.
Proposal

Split the mouse tracking part from Listener and RenderPointerListener into new classes, tentatively named MouseListener and RenderMouseListener
Listener.onPointer{Enter,Exit,Hover} are preserved for backward compatibility and marked as deprecated.
New options will be added in a separate PR after this change.

+cc @gspencergoog @Hixie

This seems like a good proposal to me. For people who do check for pointer exit/enter, it is a big breaking change, but it would make it easier to understand.

I would call this something like MouseRegion and also add the mouse cursor control to this class.
Other than that I agree in principle with this offering.
I worry that this is a hard break. We should investigate if there's a way to add this feature while still leaving the old API as @deprecated until the next stable release. (cc @amirh)

The proposal looks good, thanks for writing it! My only comment would be that the name Mouse is too generic and too specific at the same time. It's too generic in that it doesn't say what it does with the "mouse". And it's too specific in that it's tied to a single device kind.
From my experience looking at Flutter code, I haven't seen any APIs that say "Touch" or "Stylus" for example. To match the rest of Flutter's naming, we might want to consider using a name that better describes the intention of this class/widget. Maybe something like HoverArea or Hoverable?

@mdebbar Thanks for the suggestion! The name is indeed a concern, and I'd love to discuss it.
I was originally considering Hixie's suggestion MouseRegion but then switched to the more generic name Mouse (which is of course not the final decision).
I chose a generic name when writing this proposal because Flutter has had several similarly generic widget names, e.g. Semantic, Listener, and Focus. While MouseRegion or MouseArea might be better than Mouse, I really like HoverArea or Hoverable as they're great names for a widget. I'll probably switch to them if no better names are brought up.
Regarding being too specific, Flutter has had a few widgets specifying "mouse", such as MouseTracker  or type: PointerDeviceKind.mouse. I think it shows that Flutter is already pretty committed to it (but I agree that it would be better to avoid the problem anyway)

The MouseRegion proposal was based on the idea that what we're doing here is specific to mouse regions (whether hovering or dragging) and not hovering (e.g. it doesn't apply to pointers that hover, it applies to mice even when they're dragging, not hovering). MouseArea seems ok too, though we tend to use the word "region" rather than "area" in talking about Flutter's API generally.

This is not related to this change, but can a stylus do hover? I remember some devices can detect stylus that are really close to screen but not actually touching it.

@chunhtai I'm aware. I think the idea right now is to commit to mice due to the following reasons:

If I remember correctly Flutter is not fully ready to support hoverable styluses yet, therefore it's premature to consider it right now. For example, should hoverable styluses considered a separate device? What if the OS just simulates mouse events out of them?
There are some other places that have committed to mice, and switching to also supporting styluses already requires breaking changes.

Since this change is currently blocking a few other changes, such as layer-based hit test behavior and mouse cursor, I think it's a fair choice to commit to mice for simplicity.

The Listener hooks have been deprecated for three stable releases now.  It should be safe to remove them now.
https://github.com/flutter/flutter/blob/d1583fc39b8044d8e92fed63a01e0b523ce248b7/packages/flutter/lib/src/widgets/basic.dart#L5788-L5804


ClientOptions from ENV

Proposed changes

Context

Possible Implementation

Other information

Released: https://github.com/deepgram/deepgram-dotnet-sdk/releases/tag/4.0.0-rc.3


Switch endpoint at runtime

Hello,
The library allows us to change mixpanel url in configuration. We would like to be able to do it at runtime (for AB testing purpose).
The idea is to be able to do :
MixpanelAPI mixpanel = MixpanelAPI.getInstance(this, projectToken, "http://my.mixpanel.proxy");

Would you accept any PR to achieve that ?
Thank you

Issue resolved https://github.com/mixpanel/mixpanel-android/pull/530


Implement Iterator.indices to get array indexes as range

This will allow to simplify range generation for array indexing.
Refs: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/indices.html

[x] code is properly formatted (npm run fmt)
[x] tests are added/updated
[x] documentation is updated (npm run doc to regenerate documentation based on comments)
[x] description of changes is added under the Unreleased header in CHANGELOG.md

Landed in https://github.com/metarhia/common/commit/44ef176b1ec2ca5eb69d9ab854f3086ba08ae994.


Is this react-boilerplate SSR + SPA = Universal App (isomorphic)?

Is this react-boilerplate isomorphic? if yes then how can I do this thing with react-boilerplate?

We don't have SSR and have no plans to add it for now. You can take a look at the PR history for some ideas on how to do it as it has been discussed here several times.

Ok Thank you for quick reply. I will check PR


global.assert = require('assert') problem

global.assert = require('assert');
describe('test/showcase.test.js', () => {
  const arr = [ 1, 2, 3 ];

  it('power-assert', () => {
    assert(arr[1] === 10);
  });
});

then the unit test passed...

@atian25 Thank you for reporting!
Ah, false positives... I have to wrestle with this.
If you rely on global assert object, please use power-assert for the global.assert for a while.
(Your temporary fix is right)
Thanks.

hey, @twada any good news on this?

@atian25 Thanks for pinging me.
Planning. This issue will be fixed by power-assert 2.0.0 (since the fix causes breaking change).

@twada  great, any roadmap for 2.0 ?


ServiceModel SwaggerUI Error

Describe the bug
When using UseServiceModelGrpcSwaggerGateway together with AuthorizeAttribute, the following error appears in Swagger UI:
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'start')
   at System.ThrowHelper.ThrowArgumentValidationException(Array array, Int32 start)
   at System.Buffers.ReadOnlySequence`1..ctor(T[] array, Int32 start, Int32 length)
   at ServiceModel.Grpc.AspNetCore.Internal.Swagger.SwaggerUiRequestHandler.WriteResponseMessageAsync(MemoryStream original, PipeWriter bodyWriter, IMarshallerFactory marshallerFactory, IOperationDescriptor descriptor, CancellationToken token)
   at ServiceModel.Grpc.AspNetCore.Internal.Swagger.SwaggerUiMiddleware.HandleRequestAsync(HttpContext context, IMarshallerFactory marshallerFactory, IOperationDescriptor descriptor)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

However, the client (e.g., via console) functions correctly and returns a 401 Unauthorized as expected.
To Reproduce
Please provide specific steps to reproduce the bug.
Expected behavior
A clear and concise description of what you expected to happen.
Environment

OS: [e.g. Windows/Linux and version]
.net framework version

Additional context
Here is sample code.
GrpcBareBones.zip

Hi @EricKwon94,
thank you for detailed bug description. The SwaggerUiMiddleware does not take into account Response.StatusCode 401.
It will be fixed.
In the meantime, you can change the middleware stack a little bit to set authorization first
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
	app.UseSwagger();
	app.UseSwaggerUI();
	app.UseServiceModelGrpcSwaggerGateway();
}

// app.UseHttpsRedirection();
// app.UseAuthentication();
// app.UseAuthorization();

app.MapGrpcService<SimpleServiceModel>();

in this case the behavior will be identical to your client.

the client (e.g., via console) functions correctly and returns a 401

It works because app.Environment.IsDevelopment() is false and authentication stops process request.

the fix is released in version 1.11.1


Axml object creation

Introducing a "lite" parsing, which allows faster partial parsing of the AndroidManifest.xml with the intention to retrieve certain details from it as fast as possible.
A quick test against the APK of the Airbnb applications showed that the "lite" parsing method averaged an execution time of 0.1385 seconds over 10 runs. In contrast, the traditional full parsing approach, which thoroughly processes the entire AndroidManifest.xml, averaged 0.3534 seconds over the same number of runs. This translates to the "lite" parsing being approximately 60.8% faster than the normal full parsing method.
Example output of lite parsing:
{'versionCode': '21059188', 'versionName': '20.32', 'installLocation': '0', 'targetSandboxVersion': '2', '': '10', 'package': 'com.airbnb.android', 'platformBuildVersionCode': '29', 'platformBuildVersionName': '10', 'minSdkVersion': '21', 'targetSdkVersion': '28'}

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 87.81250% with 39 lines in your changes missing coverage. Please review.

Project coverage is 88.34%. Comparing base (b1a7036) to head (6c34d3f).
Report is 11 commits behind head on main.

Files
Patch %
Lines

apkInspector/axml.py
84.27%
36 Missing :warning:

apkInspector/indicators.py
93.33%
2 Missing :warning:

tests/test_pack.py
98.36%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #30      +/-   ##
==========================================
+ Coverage   85.95%   88.34%   +2.39%
==========================================
  Files           7        7
  Lines         847     1047     +200
==========================================
+ Hits          728      925     +197
- Misses        119      122       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Types in tuples are not getting exported

If I have a handler like so:
#[handler]
pub async fn foo(context: Context) -> MyType {
  todo!()
}

then MyType correctly appears in the bindings folder. If I do this:
#[handler]
pub async fn foo(context: Context) -> (MyType, MyType) {
  todo!()
}

then MyType is not added to the bindings.

That should be addressed with qubit 0.5.2!


Fields get empty after page update

Hi everyone!
Problem Description
I'm having an issue with a personnal divi extension - which has child.
( I referred to CustomCtaParent and CustomCtaChild ) folders to create it.
When I fill my fields in the divi builder, everything is okey, BUT once I update the page (with wordpress update button), all the fields of my extension get empty !
Did one of you guys had the same issue?
Steps To Reproduce

Fill the fields

Fill the child fields

Update the page with the new fields

Results : all the fields are now empty...

If anyone could help me, it would be really appreciated 👍

Hi @rosoam , could you please share your module definitions so that we can try and reproduce the issue?

Hello @atanas-angelov-dev !
I found the solution about my issue.
In fact, I putted some uppercase characters in my fields variable definitions.
I changed them to some lower case characters and that resolved the issue I had!
Thank you and I hope it maybe will help someone with the same issue in the future!


AttributeError: 'list' object has no attribute 'predict'

🐛 Describe the bug
Here is the code for reference: https://colab.research.google.com/drive/1dEo-evWFmW9C5twuWHeg7t2hsMX-NvZ7?usp=sharing

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)
[<ipython-input-27-51354e13026e>](https://localhost:8080/#) in <cell line: 4>()
      6     count += 1
      7     if ret:
----> 8         result = list(model.predict(frame, conf=0.5))[0]
      9         bbox_xyxys = result.prediction.bboxes_xyxy.tolist()
     10         confidences = result.prediction.confidence

AttributeError: 'list' object has no attribute 'predict'

Versions
--2023-11-03 20:32:20--  https://raw.githubusercontent.com/pytorch/pytorch/main/torch/utils/collect_env.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21864 (21K) [text/plain]
Saving to: ‘collect_env.py’

collect_env.py      100%[===================>]  21.35K  --.-KB/s    in 0s

2023-11-03 20:32:20 (69.4 MB/s) - ‘collect_env.py’ saved [21864/21864]

Collecting environment information...
PyTorch version: 2.1.0+cu118
Is debug build: False
CUDA used to build PyTorch: 11.8
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.2 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: 14.0.0-1ubuntu1.1
CMake version: version 3.27.7
Libc version: glibc-2.35

Python version: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-5.15.120+-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 11.8.89
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: Tesla T4
Nvidia driver version: 525.105.17
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.9.0
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) CPU @ 2.00GHz
CPU family:                      6
Model:                           85
Thread(s) per core:              2
Core(s) per socket:              1
Socket(s):                       1
Stepping:                        3
BogoMIPS:                        4000.29
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat md_clear arch_capabilities
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       32 KiB (1 instance)
L1i cache:                       32 KiB (1 instance)
L2 cache:                        1 MiB (1 instance)
L3 cache:                        38.5 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Vulnerable; SMT Host state unknown
Vulnerability Meltdown:          Vulnerable
Vulnerability Mmio stale data:   Vulnerable
Vulnerability Retbleed:          Vulnerable
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
Vulnerability Spectre v2:        Vulnerable, IBPB: disabled, STIBP: disabled, PBRSB-eIBRS: Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Vulnerable

Versions of relevant libraries:
[pip3] numpy==1.23.0
[pip3] onnx==1.13.0
[pip3] onnx-simplifier==0.4.35
[pip3] onnxruntime==1.13.1
[pip3] torch==2.1.0+cu118
[pip3] torchaudio==2.1.0+cu118
[pip3] torchdata==0.7.0
[pip3] torchmetrics==0.8.0
[pip3] torchsummary==1.5.1
[pip3] torchtext==0.16.0
[pip3] torchvision==0.16.0+cu118
[pip3] triton==2.1.0
[conda] Could not collect

Hi @andysingal
I'm not sure where the notebook comes, from, but it looks you can fix the code by replacing
result = list(model.predict(frame, conf=0.5))[0]

by
result = model.predict(frame, conf=0.5)[0]

Let me know if it helps

Hi @andysingal I'm not sure where the notebook comes, from, but it looks you can fix the code by replacing
result = list(model.predict(frame, conf=0.5))[0]

by
result = model.predict(frame, conf=0.5)[0]

Let me know if it helps

Thanks @Louis-Dupont for your response but the error still persists. Here is the notebook: https://colab.research.google.com/drive/1dEo-evWFmW9C5twuWHeg7t2hsMX-NvZ7?usp=sharing

You have a bug in your Colab notebook:
At some point in your notebook you are overwriting the variable model = models['h'] with some other variable/type and clearly after this you cannot use predict.
Try to write cleaner code and avoid using same variable names for different objects.

You have a bug in your Colab notebook:
At some point in your notebook you are overwriting the variable model = models['h'] with some other variable/type and clearly after this you cannot use predict.
Try to write cleaner code and avoid using same variable names for different objects.

Thanks , I will look into it


Pair and document/assess: PSS

[x] planned

Explainer: @zelig
Listener: @metacertain

Hi @metacertain and @zelig , did this already happen?
If so, could you please attach a PR with the documentation to this issue (@metacertain) ?

@zelig , @metacertain , I put this in the active sprint again. Please decomission if you don't agree with this


Airflow and Mongo

The current version of hello_world.py at d6790e2 does not work well, it seems that within Airflow data must be saved to a database through a hook function, but there is currently no function for Mongo. There's a plan for developing it, and a couple of gists, but nothing really usable yet. It's not possible to save data to Mongo yet.
There's a hook and a sensor for Redis, though.
One option would be to save data as JSON or JSONB to Postgres, and then export it to Mongo in the end, hopefully with a specific operator in Airflow or with something else (NiFi #5 ? which could also be used for streaming data, which airflow cannot handle).

With 0cf367d it is now possible to:

save JSON data to postgres
launch an external python file (in the same folder) that can save to Mongo

This is partially tested, seems to be working, it would be an hack that for the moment let us saving data to mongo even without an hook

The connection with postgres:

The creation of a connection to PostgreSQL in Airflow has been solved with https://github.com/fablabbcn/DataVisPlanner/blob/3237dc535dbbe5dd1410af12d94125c5d8b22815/airflow/entrypoint.sh#L61

The MongoDB hook and operator was added to Airflow: https://issues.apache.org/jira/browse/AIRFLOW-83?filter=-3
This should be included with version 2.0.0 when it will be out


Consider rewriting in Rust

Python has served fairly well, but it doesn't lend itself well to portable distribution as an executable. It's possible, but carries a lot of dead weight.
This is purely a speculative issue, and a place to gather notes for if this work can take place.

YAML
Tabula exists - but needs adjustment to work on Windows (seems feasible, the change required for it to compile isn't huge). But this still uses JNI to talk with Tabula-Java, which makes the build more complex. Speculation: could we talk to Tabula via its web API?

https://crates.io/crates/serde_yaml_ng would likely be the better YAML implementation, particularly as it supports YAML tags to identify enum variants.

https://crates.io/crates/java-locator/0.1.5 might be useful in locating the JVM DLL/SO before starting the Java VM.


toString() - Am I missing something

Hi there!
When I do -
    @OptIn(ExperimentalStdlibApi::class)
    private val scanQrCodeLauncher = registerForActivityResult(ScanQRCode()) { result ->
        val actualQrRawValue =
            result.toString().removePrefix("QRSuccess(content=Plain(rawValue=")
                .removeSuffix("))");
    }

in the result.toString() I get QRSuccess(content=Plain(rawValue=<ACTUAL_QR_CODE_VALUE>)) and then the actual qr code value, Is this expected behavior or am I missing something?
Is there a way to get the ACTUAL_QR_CODE_VALUE directly?

Take a look over here: https://github.com/G00fY2/quickie/issues/103#issuecomment-1516851392
You first have to make sure that your result is a successful response in order to get the rawValue. Do not use .toString.

Unresolved reference: rawValue ?


trackupstream: add openstack-rally

This needs to be added again around L122 to track it only in :Master (if I understand the logic correctly)

Done. Excluded from everything but master.

@kbaikov can you rebase?

rebased


Deleted wikipedia entry should not be cache

Unable to reproduce. Created and deleted an article, and it no longer shows up on WikiWash. Marking as Resolved. Feel free to re-open if issue resurfaces.
Tested on:

OSX Yosemite, Chrome 41.0, 1366x768 resolution


Wappalyzer node module hanging

Do you want to request a feature, a new application detection or report a bug?
Report a bug
Is your issue about WebExtension driver (Chrome & Firefox), the website, the NPM driver or the bookmarklet ?
NPM driver
What is the current behavior ?
After Wappalyzer analyze function promise for website "https://www.gitlab.com/" (maybe also on other websites) fulfills, node sometimes hangs indefinitely.
If the current behavior is a bug, please provide the steps to reproduce and if possible a demo of the problem.
This code snippet can be used along with Wappalyzer NPM version 5.8.4 to reproduce the bug:
const Wappalyzer = require('wappalyzer');

const url = 'https://www.gitlab.com';

const wappalyzer = new Wappalyzer(url);

wappalyzer.analyze().then((tech) => console.log(tech));

This prints the techonologies but then does not end.
What is the expected behavior ?
Node should exit after the promise is fulfilled.
Which versions of Wappalyzer, and which browser / OS are affected by this issue ? Did this work in previous versions ?
NPM version 5.8.4

To add on this, I used wtf-node to try and understand what was lefting hanging and had the following results for open handles after analyze promise fulfills:
- File descriptors: (note: stdio always exists)
  - fd 1 (tty) (stdio)
  - fd 2 (tty) (stdio)
- Sockets:
  - <IP_ADDRESS>:59240 -> <IP_ADDRESS>:443
  - <IP_ADDRESS>:59242 -> <IP_ADDRESS>:443
  - <IP_ADDRESS>:59244 -> <IP_ADDRESS>:443
  - <IP_ADDRESS>:59246 -> <IP_ADDRESS>:443
- Timers:
  - (120000 ~ 2 min) (anonymous) @ [...]\node_modules\zombie\lib\xhr.js:123
  - (120000 ~ 2 min) (anonymous) @ [...]\node_modules\zombie\lib\xhr.js:123
- Intervals:
  - (1000 ~ 1000 ms) bound fire @ [...]\node_modules\zombie\lib\eventloop.js:96

There is something going on, but the Promise is being resolved. I can look in the process queue and see some pending work, but I don't know why it's getting held up specifically on Gitlab.
While it's hanging, you can inspect the process queue using process._getActiveHandles. Funny enough, if I change the User Agent from Wappalyzer to Chrome, I actually get more results, so my guess is Gitlab has some kind of WAF to protect against "bots" like Wappalyzer.

I'm unable to look into it now but i wonder if Zombie.js wasn't patched in this build.
https://github.com/AliasIO/Wappalyzer/blob/master/patches/zombie-vm-timeout.patch

Same problem.

Fixed in latest release.

Fixed in latest release.

You rock!

You rock!


Login Page Before Sidemenu

Add support for a login/signup page that does not have the sidemenu / navbar. Conditional check before proceeding to navbar/sidemenu.
I'm new to react and react native, this is a great starter. Thanks!

have any thoughts on the solution to this?

Hi!
For different apps, I've done this a couple of different ways.
One that 'required' login to proceed - simply does a check on app startup (or on mount of the index file) to see if the user is logged in, if not, in the render method, it changes the output with a login screen. The login screen is the window height and width with a background colour, to essentially mask the nav bar (and therefore prevent the user from doing anything else.
In another app which only suggests login for certain features: in my API class, when the API responds with an unauthorized return (i.e. The user has asked to do something, but not logged in) - I push the navigator to a login screen (I also changed the transition to a floatfrombottom transition).
That's all to say that it does support what you're requesting :)
Hope that helps

Leaving default user/pass in the fields so that user only has to press the login button (or choose to logout or log a different user) would be my favorite solution.

Hi @philohelp
Yes, you could definitely do that by saving the login credentials to AsyncStorage, in a similar way to the forms.ios.js file. Then whenever the login screen is brought up, simply pull in the credentials from AsyncStorage.

Hi @tharrington and @philohelp
Just an FYI to let you know that I've pushed an updated which shows a splash screen on first load, which hides the navbar. It mightn't be the solution for you, however it's the login/signup splash screen that I often use.

Thanks, I tried pulling and seeing the updates... but there is an error when I launched. It might not be related to the work you've put in:

TabBarItemIOS has no propType for native prop RCTTabBarItem.renderAsOriginal of native type BOOL
If you haven't changed this prop yourself, this usually means that your versions of the native code and JavaScript code are out of sync. Updating both should make this error go away.


Fixed typos

LGTM. Did you use a tool to find these typos?

I just ran the comments through a spellchecker

If you could undo the change @collinanderson pointed out, this LGTM

I undid the two "memoized -> memorized" changes and forced a push (to keep history clean).

merged in 039465a6a7a18f48ea77ceadb6949990c0ec92e1, thanks.


Compiler uses scanner as One At A Time

close #167

Coverage: 89.602% (-0.2%) from 89.763% when pulling 234867df99ed3694c6fad42d1596d2807fbeacf5 on OAAT-scanner into 7f1acac133e464133318cdaf96d93e9e86835187 on main.

coverage: 89.602% (-0.2%) from 89.763%
when pulling 234867df99ed3694c6fad42d1596d2807fbeacf5 on OAAT-scanner
into 7f1acac133e464133318cdaf96d93e9e86835187 on main.


Items in AEON with process_type: missing should have status label 'Unavailable'

Desired behavior
Items in AEON withprocess_type: missing should have status label: 'Unavailable' in the availability response. https://github.com/pulibrary/bibdata/blob/040d5ac3f6157416bd1ca2b7bc54190394d735be/app/adapters/alma_adapter/status.rb#L26
Current behavior
Items in AEON have status_label: 'On-site Access'. https://github.com/pulibrary/bibdata/blob/040d5ac3f6157416bd1ca2b7bc54190394d735be/app/adapters/alma_adapter/status.rb#L17
example: https://bibdata.princeton.edu/bibliographic/availability.json?deep=true&bib_ids=9963575053506421

  "9963575053506421": {
    "22726823980006421": {
      "on_reserve": "N",
      "location": "rare$hsvm",
      "label": "Special Collections - Manuscripts",
      "status_label": "On-site Access",
      "copy_number": null,
      "cdl": false,
      "temp_location": false,
      "id": "22726823980006421"
    }
  }
}

Related issue https://github.com/pulibrary/orangelight/issues/3173
https://developers.exlibrisgroup.com/console/?url=/wp-content/uploads/alma/openapi/bibs.json#/Catalog/get%2Falmaws%2Fv1%2Fbibs%2F{mms_id}%2Fholdings%2F{holding_id}%2Fitems

Hey team! Please add your planning poker estimate with Zenhub @leefaisonr @maxkadel @sandbergja

emailed stakeholders 1/9.

Asked stakesholders 2/8 and 2/16 for a meeting to discuss the issue.

Reached out to Sara L. about this 3/2.

SC is going to suppress items in the statuses that are truly non-requestable rather than having us change the current codebase.


support automatic date/time field population on UI

For ISO datetime fields

Fixed with version v0.11.0


Evaluate Database Options

Evaluate options for moving from Python dictionaries to database tables for storing data structures. Does this improve performance and scalability? Are there any downsides? Ideally don't want to be slave to database schemas...

Completed a while back in transition off Python dictionaries to MongoDB database collections


Library release removal request

Library name
TouchCal
Version to remove
1.0.0

Hi @guerratron. I am confirming your request.
Unlike submissions, this type of request is still handled manually. The Library Manager index maintainer occasionally comes through to clear all the outstanding requests. They will close this issue when it is done. You will get a notification from GitHub at that time.
After that, you can monitor the indexing of the library via its dedicated logs web page.
Information about that here:
https://github.com/arduino/library-registry/blob/main/FAQ.md#can-i-check-on-library-releases-being-added-to-library-manager

Done:
2024/11/12 14:45:34 Loaded 7466 libraries from DB
Removing<EMAIL_ADDRESS>Success!


[Event Request] Codeunit 364 PostPurch-Delete - OnAfterPurchInvHeaderTransferFields

Hi, would it be possible to get an event OnAfterPurchInvHeaderTransferFields in codeunit 364, procedure InitDeleteHeader, like this :

    [IntegrationEvent(false, false)]
    local procedure OnAfterPurchInvHeaderTransferFields(var PurchHeader: Record "Purchase Header" )
    begin
    end;

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Mystery Text discussion of ww.txt

Post your screenshots and discuss your findings about ww.txt here!

I decided to look at War of Worlds with our corpus analysis tools. Immediately noticeable in the word-frequency-graph is the large size of the word 'martian'. Coming in second for most used words, behind the obligatory 'said', it should come as no surprise that 'martian' is used so commonly considering the story.

Taking a look at the text with Antconc, we can view multi-word phrases that are used commonly.

The 4 N-gram phrases are also visible in this Wordcloud I made with an image of a War of Worlds toy I found online.

The word Artilleryman was the one that made me realize this was "War of the Worlds" by Jules Verne and I'm not quite sure why.

This shows the top 25 most common words including Martian which makes the origin of it quite apparent. But not for me needed that artilleryman.

I turned the n-gram value to max (25) and when sentences are taken out with no punctuation stuff got a little funky.

The highest n-gram that still has a frequency higher than 1.


Cassandra Peers rewrite

The functionality of port rewriting and emulating a single node (returning an empty system peers table) is working. Before this can be merged I need to:

[ ] Fix some issues with the Cassandra driver
[ ] Reconsider the ergonomics of the config file and setting the variables/using this transform. The current implement is pretty ad-hoc so I can test things.
[ ] In the case of Shotover emulating a single node, we also need to have Shotover handle request routing to the right Cassandra nodes
[ ] Add integration tests. This is blocked by #107

Cassandra driver issues:

The cause of the hacky 4 magic bytes that needed to be added at the start of the body is because the driver wasn't adding the byte representing the ResultKind
The driver wasn't properly serialising null values. Cassandra parsers expects a -1 when a value is null. The driver was just skipping them altogether.

Closing because my fork has detatched when we made the repo public, I have the branch locally to resubmit.


Log pipeline errors to one single location

<HttpError 403 when requesting https://www.googleapis.com/compute/v1/projects/sample--project/aggregated/backendServices?alt=json returned "Access Not Configured. Compute Engine API has not been used in project 11 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=11 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.">
I haven't diagnosed why this is occurring in some projects in my test org, but we should handle these types of errors.

This is also happening on /forwardingRules
2017-05-30 16:15:45,271 google.cloud.security.inventory.pipelines.load_forwarding_rules_pipeline ERROR    _retrieve GCP API Error: unable to get forwarding_rules from GCP:
<HttpError 403 when requesting https://www.googleapis.com/compute/v1/projects/sample--project/aggregated/forwardingRules?alt=json returned "Project 11 is not found and cannot be used for API calls. If it is recently created, enable Compute Engine API by visiting https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=11 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.">

In my project where the service account exists these APIs are enabled:

Google Compute Engine API
Google Compute Engine Instance Group Manager API
Google Compute Engine Instance Group Updater API
Google Compute Engine Instance Groups API

@matthewg mind taking a look at this for us?

Do the target projects have compute engine API enabled? I recall getting errors on the projects that don't have compute engine API enabled.

On May 30, 2017, at 2:36 PM, mirons<EMAIL_ADDRESS>wrote:
@matthewg mind taking a look at this for us?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I don't know exactly and I don't have permissions necessarily to check each project.
Is the answer here different error handling for 403s instead of letting it raise?

I think these kinds of errors (API not enabled) should just be ignored, but I don't think we can make any assumptions about 403s. We currently don't have a formal policy about pipeline errors, so we might want to wait on this until we decide what to do.

On May 30, 2017, at 3:46 PM, mirons<EMAIL_ADDRESS>wrote:
I don't know exactly and I don't have permissions necessarily to check each project.
Is the answer here different error handling for 403s instead of letting it raise?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

They're disconcerting for the average user as they're reported as errors on the console.
Arguably, each API should know which responses are harmless and should be ignored. They should be caught and checked. It might also be worth writing a row in that table for the run with a reason as to why it couldn't be retrieved.

I've assigned @matthewg as I believe this issue is a much larger thing to tackle.
We should probably create an errors table for each snapshot and log all errors related to that snapshot. Probably the schema should have something like
project_id
reason
time_occurred
gcp_resource_id

Sample response:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Compute Engine API has not been used in project<PHONE_NUMBER>81 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=428010280681 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"extendedHelp": "https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=428010280681",
}
],
"code": 403,
"message": "Access Not Configured. Compute Engine API has not been used in project<PHONE_NUMBER>81 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=428010280681 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
}
}

I think that it'd make sense to just suppress these errors and return an empty list for the resource.  After all, if the Compute API isn't enabled on a project, we know that it has no Compute resources in it!

Makes sense. It looks like we can figure out what to do for the error based on the error response object's reason.

2d8e865 suppresses the "API not enabled" errors.  I'll make a PR for that as soon as #307 is merged.

I think this issue has been resolved, so closing it


Payments Initial Setup Automation

The current manual steps are in the initial setup. It would be great to automate:
Iteration 1 - Currently (Manual)

Deposit ETH into the bot signing key's wallet address.
Call approve on payment token contract address for Permit2 spender from this new wallet.

I wish we could use a relayer to handle 2. That way it would be very clean from a new partner setup perspective. All they would need to do is deposit the spending token (e.g. DAI) in the new wallet, and then generate a signature to authorize the approve call and pass it along to a relayer.
Iteration 2 - Next (Automated)

Bot generates a private key
Bot updates the repository secret with its private key
Bot requests for a top-up of the wallet in DAI or whatever
After the bot is topped up, it gets a relayer to call approve on DAI for permit2 spender
Bot is initialized.

A couple of clarifications.
Is a new Private Key being generated only once? Or is a new one generated for each issue or bounty hunter?
How is the top-up request being presented? Is it generating a transaction to be signed or is it more of a message to an admin?
DAI doesn't contain an allow function, are you referring to the permit pattern which is signature based?
Who or what are the relayer and permit2?

Is a new Private Key being generated only once? Or is a new one generated for each issue or bounty hunter?

The current vision is to have a new private key generated PER instance of the bounty-bot. So only a one time setup per partner.

How is the top-up request being presented? Is it generating a transaction to be signed or is it more of a message to an admin?

In the future vision I anticipate we'll be using Gnosis Multisigs. The bot can have an individual signing key and queue a top-up transaction. Code maintainers can get push notifications conveniently for this on the Safe iOS app (not sure if they have an android app, but I use the iOS app all the time, and its great.)

DAI doesn't contain an allow function, are you referring to the permit pattern which is signature based?

Sorry! I meant approve

Who or what are the relayer and permit2?

We're currently using Permit2 which is a separate contract created by the Uniswap team. More information on that is available here https://dao.ubq.fi/ubiquibot-setup.

I can get this done within the week.

There is a new slash command (assign) that will tell the bot to assign you now even without maintainer capabilities fyi!

Lol. would you please use the /assign command to get assigned since the next time?

Can do
On Tue, Mar 7, 2023 at 7:27 PM, 0xCodercrane @.***> wrote:

Lol. would you please use the /assign command to get assigned since the next time?
image
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were assigned.Message ID: @.***>

@0xcodercrane why didn't the bot follow up on this issue?

assign

I think he did not use the /assign feature.. probably some other implementation at the time of this bounty


Update Setup the Project documentation

https://docs.pylenium.io/contribute/clone-and-setup-the-project
We are using Poetry as our Package Manager, so this doc needs some updating

Can you assign this issue to me