Project roadmap/vision/financing

Wording for this sort of thing can be a little tricky so take it in good faith 😄
I've been dipping my toes in and out of crystal for a couple of years and not built anything substantial in it and I'm now getting to the point where I'm ready to throw a real project its way. Settling on libraries and frameworks that are going to continue to be supported and see development is probably the hardest bit of Crystal right now, the language and coding can almost look after itself.
So with that being said I was hoping to tease a few things out of you guys, if you don't mind. In particular your longer term support strategy and where you see spider-gazelle going. By support, I possibly mean a number of things:

Lucky Framework; Paul C. Smith has previously said that he gets (something like) half a day a week to work on side-projects funded by thoughtbot. Not the full backing of a major company but I believe him and one other tackle a few issues here and there a week. Not guaranteeing this to be accurate, just light observations.
Amber/Kemal; Safety in numbers feels like it can apply, I see PRs and issues being raised by quite diverse sections of the Crystal community which is pretty encouraging on the whole. I suspect there are a few mid-size production applications out there in the wild as well, by this point anyway.

So without sounding rude - who are you guys? And what sorts of projects are you using spider-gazelle for? How long do you intend to support those projects?
And to take it a step further, what sort of direction do you plan on taking spider-gazelle? Is it pretty close to 'fleshed out' or are there more radical ideas you're considering?

Hi @jackturnbull all good questions.
The Spider-Gazelle (SG) is sponsored by https://www.acaprojects.com/
We have a single project team working on Crystal projects at the moment (it was just me up until recently) and we have started to migrate all our products over to crystal.
Spider-Gazelle is more or less feature complete. We are still building out Active Model at the moment (although Amber et al also has good ORMs that work with SG). The ORMs being built at the moment are targeting Redis and RethinkDB.
There is a plan to implement a GraphQL API which might involve adding helpers to SG.
Support at minimum will be lifetime of a building / workplace so no less than 5 years but realistically it should be longer - which is the plan and the initial release date we are targeting is in March.

Thanks, this is good to know! I'm a big fan of the documentation and I like the current simplicity of it all. There's certain things I'll need to add around it but in some ways I prefer that too. I'll be sure to keep an eye on it as you approach your release candidate dates.
I'll try and get one more out of you, if you'll allow it: what do you see as being the primary goals for spider-gazelle? What problems do you want to solve To answer it with what I know about other web frameworks out there; Lucky might say that they wish to remove all possible type errors at the compilation stage, Amber possibly that they wish to make the developer experience and migration from Rails as easy as possible. Would you want it to do everything out of the box, or keep it as light and minimal as possible, for example?
Essentially is there a particular itch you wish to scratch with this project?

Well we started the project when after looking at https://github.com/the-benchmarker/web-frameworks where router.cr was way faster than all the other frameworks (they've since updated how the tests are run) and still states "Kemal or other web frameworks written in Crystal are awesome, but too fat for some purpose" - on top of that Amber seemed complex, lucky too verbose with raze and kemel too simplistic.
Amber's the framework we probably would have used if we didn't write our own.
We more or less were aiming for "Crystal on Rails" where we could improve some things that confuse people when they start working on our projects.
For example controllers defining routes seemed more logical than having a seperate configuration file.
Simplified testing, more control over application launching and super easy to deploy.
Basically we write a lot of micro services that have a REST interface however that's secondary to what the application actually does. We want to empower our developers, keeping things simple and easy to use without sacrificing performance.

Thanks for your responses here, it definitely helps put it all into context. I've been in a somewhat similar boat that I'm after something familar but weighing up whether to go for a more feature-complete framework that I'd be comfortable in, vs something lighter that I'm more unfamilar with has been a tough call also.
I don't have much else to add at this point, so you can feel free to close the issue if you wish? I'd be happy leaving it open too if you prefer it for discussion.


Revert Angular 15 support

My previous PR (#129) did not simplify the Angular 15 upgrade as I had hoped it would. Instead, it caused more problems because npm is having trouble resolving some of the peer dependencies that need to be installed. Therefore, I am reverting the PR that added Angular 15 support, and I will make a separate PR after this one is merged that changes the Angular support of this package to only Angular 15.
Resolves #131
I've tested this change in an Angular 14 application, and I verified that the updated package can install without requiring any additional dependencies to be configured.

FYI @jattasNI @TrevorKarjanis @mure straightforward revert of the previous change which added Angular 15 optionally and caused issues externally, merging in to keep the process moving

Looks like the new package is being uptaken cleanly.🥳


add test for colorization

@sj26  followup to #54

update tests to ensure there is no colorized output

added coderay to the gemspec
used PTY.spawn instead of IO.popen to emulate a terminal

added rspec 3.7 to travis
use respond_to? instead of the rspec version in without_color for future proofing
remove color codes from rspec 2.x diffs (bug exposed by new test case)

hmm it seems travis doesn't like PTY
may have to skip this; it was the only one of the many ruby subshell methods I found that was tty

Thanks for getting pty testing working @fledman, this is awesome!
I've merged with a couple of minor additions and will release 0.4.0.pre2 shortly.


unrecognised option '--add-std'

Hi. I'm getting the error
unrecognised option '--add-std'
when trying to create a contract using Ethereum::Contract.create. After some research it looks that solc was updated in my system from version 0.4.19 to version 0.4.21, and the new version has removed that option. I found this thread in solidity's github:
https://github.com/ethereum/solidity/issues/3695
Are you aware of it? any workaround until you fix it?
Thanks.

It’s been addressed here: https://github.com/EthWorks/ethereum.rb/pull/61

Perfect, thanks.

@juanfer did the error stop showing?

Hi @ToJen. Nope, I just patched my local copy until a new version of the gem rolls out. That was the only way I found to fix it in the short term.

You can also use the master branch.
In Gemfile:
gem 'ethereum.rb', git: 'https://github.com/ethworks/ethereum.rb.git'
Then run bundle update ethereum.rb

New version released, should be fixed after bundle install.


KAFKA-7316 Fix Streams Scala filter recursive call

Due to lack of conversion to kstream Predicate, existing filter method in KTable.scala would result in StackOverflowError.
This PR fixes the bug and adds testing for it.

See also: #5543

@vvcephei could you take a look since now #5543 has been merged.

Retest this please

Retest this, please

Retest this, please

This PR is good to go.

@joan38, Thanks again for the patch and the test.
I left one comment on the tests, otherwise, it looks good to me!

@vvcephei worked!

Cherry-picked to 2.0 again.

Thanks @guozhangwang !


chore: add @callstack/eslint-config-callstack

Is your feature request related to a problem? Please describe.
Add some recommended code practices from CK ESLint config: https://github.com/callstack/eslint-config-callstack
Describe the solution you'd like
Add CK ESLint config & fix all issues/warnings
Describe alternatives you've considered
N/A
Additional context
I've noticed that we have gathered some back practices in code: any types, etc

Closing as already done.


How to update (virtualenv install) ?

I notice you updated the repository 18 days ago but as a Linux newb I have no idea how to update it on my system.
I followed the  virtualenv installation recommendation.

You should be able to activate the virtualenv using
. /path/to/your/virtualenv/bin/activate
And then use pip to update the software using
pip install - - upgrade pi-mqtt-gpio
However, unless you're using a Beaglebone there's no need to update to the latest code, as I was just adding support for that.

Awesome. Thanks for the quick response.

Another question Flyte. I've just set up a new pi with raspbian lite and am having a bit of trouble.
sudo supervisorctl status pi_mqtt_gpio
Reports that it is running but I'm not getting any mqtt messages published.
I had a look in the log and see a lot of:
ImportError: No module named RPi.GPIO
Last will set on 'gpio_bridge_1/status' as 'dead'.
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upg$
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: RPi.GPIO in /usr/lib/python2.7/dist-packages (0.6.5)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/server.py", line 557, in <$
    GPIO_MODULES[gpio_config["name"]] = configure_gpio_module(gpio_config)
  File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/server.py", line 404, in c$
    return gpio_module.GPIO(gpio_config)
  File "/home/pi/ve/local/lib/python2.7/site-packages/pi_mqtt_gpio/modules/raspberrypi.$
    import RPi.GPIO as gpio

Which makes no sense to me. How can it not find RPi.GPIO if Requirement already satisfied: RPi.GPIO in /usr/lib/python2.7/dist-packages (0.6.5)
I tried sudo apt-get install python-dev python-rpi.gpio both in the venv and out but was informed that it was already installed.

Never mind this fixed it:

. mqtt_slave/bin/activate
pip install RPi.GPIO


python self defined environmental variables are not insertable

Version: 1.33.1 (system setup)
Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8
Datum: 2019-04-11T08:27:14.102Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
Betriebssystem: Windows_NT x64 10.0.17134
Steps to Reproduce:

create the following launch.json (project/folder specific)

        {
            "name": "Python: test",
            "type": "python",
            "request": "launch",
            "module": "test",
            "pythonPath": "C:\\SwDev\\python\\python37-64\\python.exe",
            "env": {
                "test1":"c:\\test_url",
                "test2":"${test1}\\test_url",
                "test3":"${env:test1}\\test_url",
                "test4":"\"${env:test1}\\test_url\"",
                "test5":"$env:test1\\test_url",
                "test6":"%test1%\\test_url",
            },
        },

execute the following script

import os
x = os.environ
print('TEST1', x['TEST1'])
print('TEST2', x['TEST2'])
print('TEST3', x['TEST3'])
print('TEST4', x['TEST4'])
print('TEST5', x['TEST5'])
print('TEST6', x['TEST6'])

outputs

Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\SwDev\git\initial_operation> cd 'c:\SwDev\git\initial_operation'; ${env:test1}='c:\test_url'; ${env:test2}='${test1}\test_url'; ${env:test3}='\test_url'; ${env:test4}='"\test_url"'; ${env:test5}='$env:test1\test_url'; ${env:test6}='%test1%\test_url'; ${env:PYTHONIOENCODING}='UTF-8'; ${env:PYTHONUNBUFFERED}='1'; & 'C:\SwDev\python\python37-64\python.exe' 'c:\Users\morit\.vscode\extensions\ms-python.python-2019.4.11987\pythonFiles\ptvsd_launcher.py' '--default' '--client' '--host' 'localhost' '--port' '50496' '-m' 'test'
TEST1 c:\test_url
TEST2 ${test1}\test_url
TEST3 \test_url
TEST4 "\test_url"
TEST5 $env:test1\test_url
TEST6 %test1%\test_url
PS C:\SwDev\git\initial_operation>

but expected at least one

        TEST2 c:\test_url\test_url

Does this issue occur when all extensions are disabled?: Yes
Hint exchanging the ' with " in the powershell call might solve the problem (but do not know if this works in general):
PowerShell behaviour / pseudo code
    with "
    PS U:\> ${env:GitRepository}='C:\Programs\inital_operation\git'; ${env:inital_operations}="$env:GitRepository\inital_operations\lib";
    PS U:\> echo "${env:inital_operations}\\lsdjflsjf"
     -   C:\Programs\inital_operation\git\inital_operations\lib\\lsdjflsjf

    with '
    PS U:\> ${env:GitRepository}='C:\Programs\inital_operation\git'; ${env:inital_operations}='$env:GitRepository\inital_operations\lib';
    PS U:\> echo "${env:inital_operations}\\lsdjflsjf"
    -    $env:GitRepository\inital_operations\lib\\lsdjflsjf

tried to change to .env variable managment but seems to have some seriouse bugs.

changed launche.json to

    {
        "name": "Python: test",
        "type": "python",
        "request": "launch",
        "module": "test",
        "pythonPath": "C:\\SwDev\\python\\python37-64\\python.exe",
        "envFile": "${workspaceFolder}/.env"
    },

addapted .env file:

test="test trial"
Path='${test};${Path}'
test1='c:\test_url'
test2='${test1}\test_url'

changed test.py file to:

import os
x = os.environ
for key in x.keys():
print(key, x[key])

got expected result

...
TEST test trial
TEST1 c:\test_url
TEST2 c:\test_url\test_url
...

but after playing arround and adding just one line to .env file vs code crashes with the following error

test="test trial"
Path='${test};${Path}'
test1='c:\test_url'
test2='${test1}\test_url'
test3='${test1}\test_url2'

any ideas?

@mmoosstt
Out of curiosity, how are you using these exact same .env files outside of VS Code?
Or are you using these .env files only inside VS Code and no where else?
Basically I'm interesting in identifying the tools/platforms you are using that support the nested variables in the .env files.

@mmoosstt
We're reconsidering the option of removing support for such nested variables in .env files. Its not something that supported by most tools, hence do not see the value in supporting this in the extensions either.
I'd like to understand what you did before trying this out in the extension.
I.e. what problem are you trying to solve?

till now we define our environment is managed within eclipse and then we have to setup same environment for the jenkins jobs again (groovy). For the development of the jenkins jobs we sometimes have to build some powershell skripts for debugging because of the environmental stuff.
Therefor some colleges convinced me to try out vs code + python plugin, with the basic idea to use the same .env within the ide with debugging capabilities and on jenkins (powershell).  To get rid of doing the same job again and again.

Is such a .env file supported in jenkins?
test="test trial"
Path='${test};${Path}'
test1='c:\test_url'
test2='${test1}\test_url'
test3='${test1}\test_url2'

yes it is.. can provide you an example on monday

@DonJayamanne
as promised. Hope this makes the use case clearer.
/* pseudo groovy code */
node('test') {

	def TEST1="${workspace}\\project1\\lib"
	def TEST2="${workspace}\\project2\\lib"
	def PY_HOME="${workspace}\\..\\env\\Python35-32"
	def PY_PYTHONPATH="${TEST1};${TEST2};${PY_HOME};${PY_HOME}\\DLLs;${PY_HOME}\\Lib\\lib-tk"
	def PY_PATH="${PY_HOME};${PATH}"

	withEnv(["TEST1=${TEST1}",
			 "TEST2=${TEST2}",
			 "PYTHONPATH=${PY_PYTHONPATH}",
			 "PATH=${PY_PATH}",
			 "python=${PY_HOME}\\python.exe"])
	{

		powershell '''
echo TEST1 $env:TEST1
echo TEST2 $env:TEST2
echo PYTHONPATH $env:PYTHONPATH
echo PATH $env:PATH

echo execute python module
python test_module
		'''

	}

}

Thanks, however that's not loading data from a .env file!

No, I do not think so, but it should not be too difficult writing a function in groovy or powershell, parsing directly an .env-file so that it could be used directly within a jenkins pipelining job.
see stackoverflow link
With the example I wanted to show you the abiltiy of groovy or powershell using self defined environmetal variables for declaring further environmetal variables within a jenkins pipeling job. It was not my intrest defining a new format, I just tried to achive this behaviour with vs-code to get reusable .env-file/launch.json

Thanks for the suggestion! We're not going to do this for now but if anyone else would find this issue useful, please let us know.


New version: ABCredit v0.1.3

Registering package: ABCredit
Repository: https://github.com/bancaditalia/ABCredit.jl
Created by: @AldoGl
Version: v0.1.3
Commit: 7dd58636865931816428880c68a3323120e62213
Reviewed by: @AldoGl
Reference: https://github.com/bancaditalia/ABCredit.jl/issues/6#issuecomment-2254558088
Description: A fast and simple to use Julia implementation of the macroeconomic model described in [Assenza, Delli Gatti, Grazzini (2015)]

[merge approved]

merge approved

merge approved


Tweak sun.sun automation

This tweaks the sun.sun automation a bit, and adds a blueprint.

Thanks @KTibow!


Use fieldselectors to narrow list contents when gathering abnormal events

Example: getting events for a particular Pod.
oc get event --field-selector involvedObject.kind=pod --field-selector involvedObject.name=migration-log-reader-7cc944f5d4-gmpt7 -v=10

Fixed by #1058


issue about data preparation

How to get this data format?
3、data format
├── VOCdevkit
│ ├── VOCdevkit_train
│ ├── Annotation
│ ├── JPEGImages
│ ├── VOCdevkit_test
│ ├── Annotation
│ ├── JPEGImages

Need your own organization @gxwangupc

Need your own organization @gxwangupc
thank you


Adds the basic structure of Apache Atlas Proxy

To make the whole process of adding apache atlas proxy more iterative and easy to review, I'm trying to divide the implementation in smaller portions, without breaking anything ;)
This adds the basic structure of documentation along with the Atlas Proxy class in place. The next thing would be to update the documentation on how to make Atlas compatible with Amundsen, including the code snippets/API calls to update the atlas entity definitions

@verdan , let us know once it is ready for review.
cc @jinhyukchang

@feng-tao I think it can already be reviewed and merged as the whole implementation of atlas proxy would become one huge PR.
This implementation doesn't break anything, and already mentioned in the documentation that apache atlas proxy is a WIP. Thoughts?
P.S: I'm working on the documentation as how to make atlas compatible with amundsen, and implementing Table detail and popular table at the moment.

thanks @verdan , lgtm


[HUDI-4760] Fixing repeated trigger of data file creations w/ clustering

Change Logs
Apparently in clustering, data file creations are triggered twice since we don't cache the write status and for doing some validation, we do isEmpty on JavaRDD which ended up retriggering the action.
Impact
Could improve the clustering performance.
Risk level: medium
If not for the fix, clustering could be triggered twice, but only one set of files will be included in the final commit metadata. Duplicated copy will be deleted during marker reconciliation step.
validateWriteResult(clusteringPlan, writeMetadata) in BaseCommitActionExecutor was was the reason behind triggering the execution twice.
Test/Verification:
Manually verified that if not for the fix, markers are created twice(two files differ just in write token) and later reconcilation step deletes one of them. With the fix, I don't see such duplicates. Only one file is created for clustering and during reconciliation, nothing gets deleted.
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@nsivabalan can we also add a test that after running clustering we don't have unexpected files in the table?

Addressed all comments.

CI is green

I also met this problem, and then also have a solution.
My solution is to use writeMetadata.getWriteStats() in validateWriteResult instead of writeMetadata.getWriteStatuses()
Because getWriteStats will not trigger RDD recalculation


Can't set multiple targets with Btrbk

Describe the bug
It's important to have more than one backup, yet I can't seem to configure more than 1 backup target. I apologize if this is due to my incompetence somehow. Without luck, I have spent hours reading through Btrbk docs, NixOS Btrbk Wiki, NixOS code
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/backup/btrbk.nix
Expected behavior
It would be good if the target value accepted a String or List [], then I could unambiguously add more backup targets without nesting.
Notify maintainers
@tu-maurice @oxalica @symphorien

I'm still working on getting my backups going. Are there any thoughts on this? Or any suggested work arounds? (other than manually writing a an /etc file)

target is a subsection which can contain further suboptions. It accepts attrset already. You should be able to write target."ssh:/target/path" = { /* sub options */ }; like in tests.
https://github.com/NixOS/nixpkgs/blob/c8e9615acd48e3523bc62fe7ad55176c23fb1a62/nixos/tests/btrbk-section-order.nix#L14-L28
Alternatively, if you want to have different backup period for each target, you can write multiple services.btrbk.instances for the same volume.

Thank you for your help. I must admit I'm a bit confused by the suboptions within subsections. Below is an example of what I'm trying to achieve. Simply. Notice in the target option, I'm trying to achieve 2 targets. I can't figure out how to achieve this with the current nesting scheme used.
btrbk-d = {
  onCalendar = "hourly";
  settings = {
    snapshot_create       = "onchange";
    snapshot_preserve     = "24h 14d 12w *m";
    snapshot_preserve_min = "1h";
    target_preserve       = "24h 14d 12w *m";
    target_preserve_min   = "1h";
    subvolume    = "/mnt/btrbk-d/d";
    snapshot_dir = "/mnt/btrbk-d/snaps";
    target       = [ "/mnt/back1/snaps" "/mnt/back2/snaps" ];
  };
};

I want to reemphasize that volume, subvolume and target are subsections, "eating" multiple options below as its own children, instead of an option in the raw config file. This is explicitly mentioned in btrbk.conf(5). But in Nix, defs in attrsets are position-independent, so we define this sections-subsection-option relationship as nested ones to match its logical meaning.
Probably you want:
{
  onCalendar = "hourly";
  settings = {
    snapshot_create       = "onchange";
    snapshot_preserve     = "24h 14d 12w *m";
    snapshot_preserve_min = "1h";
    target_preserve       = "24h 14d 12w *m";
    target_preserve_min   = "1h";
    subvolume."/mnt/btrbk-d/d" = {
      snapshot_dir = "/mnt/btrbk-d/snaps";
      target."/mnt/back1/snaps" = {}; # In case of no sub-options.
      target."/mnt/back2/snaps" = {};
    };
  };
}

Typically btrbk also need a top-level volume including every subvolumes inside. But I guess you do not have a btrfs root and only mount them in /mnt. Probably omitting volume also works but I'm not sure.

I'm using your solution and it's working fantastic! Please include something like it as an example in the documentation for others. Thank you 🎉


Add extra lib64 path to find strumpack package

At some point strumpack decided to change their path from containing lib to lib64 to confuse me. This is needed for LiDO codevelop, which is why it is from an older serac commit.
${STRUMPACK_DIR}/lib64/cmake/STRUMPACK

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.80%. Comparing base (d5ac113) to head (981dc4f).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1084      +/-   ##
===========================================
- Coverage    88.85%   88.80%   -0.05%
===========================================
  Files          154      154
  Lines        12529    12529
===========================================
- Hits         11133    11127       -6
- Misses        1396     1402       +6

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


PowerToys Run bug report

Microsoft PowerToys version
<IP_ADDRESS>
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
PowerToys Run
Steps to reproduce
Press Alt + Space shortcut for PowerToys Run activation shortcut.
✔ Expected Behavior
PowerToys Run should activate correctly, and a search bar should appear and persist.
❌ Actual Behavior
The PowerToys Run search bar lasted for less a second, and then a bug report popped up:
Something went wrong.
Please file a bug in the PowerToys GitHub repository. Make sure to upload the log file and to include the error message.
C:.....
Message:
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.19045.0
IntPtr Length: 8
x64: True
Date: 2/12/2023 6:53:06 PM
Exception:
System.InvalidOperationException: Dispatcher processing has been suspended, but messages are still being processed.
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Other Software
No response

/dup https://github.com/microsoft/PowerToys/issues/18166


Support for Chaining Constraints

As a developer,
I want to chain multiple constraints together,
so that I can apply complex validation rules in sequence to a single type.

Acceptance Criteria:

The system supports chaining multiple constraints together on a type.
Constraints are validated in the order they are chained, with each validation modifying the validation context.
Chained constraints can be applied to a type both during initialization and after.
Proper documentation on how to chain constraints together is created.

Tasks:

Implement support for chaining constraints together in the constraint system.
Ensure that each constraint in the chain is applied in the correct order and context.
Write tests to verify that chained constraints work as expected.
Add documentation explaining how to chain constraints together, with examples of complex validation rules.

Success Metrics:

Developers can chain multiple constraints together and have them apply in sequence.
Tests confirm that chained constraints work correctly and maintain the correct validation context.
Documentation provides examples of how to chain constraints for more complex validation scenarios.

This will be handled through the type system/dsl


Refactor remote pinentry

@keybase/react-hackers
This make Pinentry a remote component.
Some subtleties: since we reply to the original notification, we have to keep around the response object until we have a value from the user. This is kinda lame, but it's how works now, so we have a map from sessionID to response object.
A couple new things here:
remote components can take functions as props (they always could, but now we're using it). We need it to reply to the correct response object.
Actions are somewhat strongly typed! So in the pinentry reducers, the actions are typed for Pinentry actions. So if you try to access something in the payload that doesn't exist it should error.

:+1: % cjb comments


How do I use expressions in require()

I understand that browserify doesn't like expressions as the argument for require because it wouldn't be able to figure out what file to include in the bundle without executing the bundle's code.
However, are there any solutions for this if someone wanted to use expressions in require; or what are the alternatives?
The reason why I want to use expressions is for templates. Right now I'm updating an old application in increments. I'm using jadeify to require my templates in on the client side (previously was using browserijade). In my JS bundle, I have to write relative paths to my jade files:
var template = require('../../views/my-template.jade');

It would be more convenient to encapsulate this into a module:
module.exports = function(filename){
  return require(__viewsdir + filename);
}

This way I can write:
var templates = require('templates');

var template = templates('my-template.jade');

How can I get this to work? Is it possible? If it's not, please explain to me why it wouldn't be possible. Please give me an idea on this issue and what discussions and conclusions have been made on this topic (if any).

The major constraint browserify has is that it needs to be able to resolve all the necessary dependencies for your entry points without having to execute all the code you're bundling. In the pattern you proposed, browserify can't determine what to put in the bundle without executing the code and seeing what gets passed to the require function.
One solution to this problem is to use a transform or plugin that can rewrite require arguments so that you can use a more convenient shorthand. pathmodify is a good one to try. That enables things like
var template = require('views/my-template.jade');
The code you proposed might work if you use something like require-globify, though you may need to replace __viewsdir with a string literal (not 100% sure).

I recommend you, @samholmes, use a root symlink trick for much the same effect:
ln -s .. node_modules/root

And use it with:
require("root/views/foo")

Works out of the box with Browserify and Node.


dump_cache behaves strangely when subnetcache module is enabled.

Describe the bug
A clear and concise description of what the bug is.
I also checked in unbound 1.17.1, but when the subnetcache module is activated, the cache for general A record lookup is not checked in the unbound-control dump_cache command.
The problem does not occur without the subnetcache module. (like Expected behavior)
To reproduce
Steps to reproduce the behavior:

enable subnetcache module-config: "subnetcache iterator"
resolving any A record # dig @localhost -p 5353 time.google.com +short
check dump_cache ./unbound-control dump_cache |grep time

Expected behavior
A clear and concise description of what you expected to happen.
# ./unbound-control dump_cache |grep time
time.google.com.	14399	IN	A	<IP_ADDRESS>
time.google.com.	14399	IN	A	<IP_ADDRESS>
time.google.com.	14399	IN	A	<IP_ADDRESS>
time.google.com.	14399	IN	A	<IP_ADDRESS>
msg time.google.com. IN A 32896 1 14399 2 1 0 0
time.google.com. IN A 0

System:

Unbound version: 1.17.1
OS:  rocky9 / ubuntu 18.04
unbound -V output:

Version 1.17.1

Configure line: --enable-subnet
Linked libs: mini-event internal (it uses select), OpenSSL 1.1.1  11 Sep 2018
Linked modules: dns64 subnetcache respip validator iterator

BSD licensed, see LICENSE in source package for details.
Report bugs to<EMAIL_ADDRESS>or https://github.com/NLnetLabs/unbound/issues

Additional information
Add any other information that you may have gathered about the issue here.

If I try this, then it works fine. The cachedump shows the looked up domain names. Also with the subnetmodule in the module-config.
What could be happening is that there is configuration, that is not there in the test I did, where subnet is enabled for the particular query. As a result, the reply is stored in the subnetcache. And not in the global rrset and msg cache. The dump_cache command dumps the rrset and msg cache, but not the subnet specific cache contents.

@wcawijngaards Hello, Thank you for quick response.
Below is the content of the config file I used.
server:
        verbosity: 5
        send-client-subnet: <IP_ADDRESS>/0
        max-client-subnet-ipv4: 32
        interface: <IP_ADDRESS>
        port: 5353
        access-control: <IP_ADDRESS>/0 allow
        do-not-query-localhost: no
        module-config: "subnetcache iterator"
remote-control:
        control-enable: yes
        control-interface: <IP_ADDRESS>

Please check if my understanding is correct.

Even in the case of A record search (time.google.com A), since the ecs value is generated by the 'send-client-subnet' option, is it correct that the response is stored in subnetcache rather than in general rrset-cache or msg-cache?

If the above is correct, how to check the subnetcache item and how to flush the cache?
(I wonder if it is possible to flush the subnet cache like "unbound-control flush time.google.com" rather than "unbound-control reload".)
Thanks.

A response is stored in the subnetcache, if the server replied with the subnet option. And then, not in the global rrset cache and msg cache.
The subnet cache contents is served when there are queries, and a query tool can be used to get its contents. There is no dump cache for the subnet cache. Also there is no flush command for the subnet cache. When there is a reload of the server, the subnet cache is cleared.

@wcawijngaards Thank you for quick response.
Are there any plans to add record-by-record flush or dump capabilities for the subnetcache?

mark


Ability to pass useHostName parameter to chrome-remote-interface via taiko

Is your feature request related to a problem? Please describe.
I am trying to run taiko tests on a remote machine. Taiko uses chrome-remote-interface which exposes the parameter useHostName to make HTTP calls with hostname rather than an IP address (code).
Making a request with an IP address to a server behind an NGINX proxy would give the following error:

	<title>400 The plain HTTP request was sent to HTTPS port</title>

400 Bad Request

	The plain HTTP request was sent to HTTPS port

Describe the solution you'd like
To prevent this, we can expose the parameter useHostName via, maybe, the openBrowser() API and handle it pass it accordingly to chrome-remote-interface. Code links to CRI call from taiko(code, code)
https://github.com/getgauge/taiko/blob/f33c9f45bbc1d0f6e38b50f4540f38cea79adfb0/lib/handlers/targetHandler.js#L26-L32
Thoughts?
@NivedhaSenthil , @zabil , @saikrishna321

To prevent this, we can expose the parameter useHostName

This makes sense. Please feel free to send a pull request with this change.

@zabil , raise the above-mentioned PR. 👆

Edit 1: Taiko's openBrowser API also does not support passing the secure parameter (docs)[https://github.com/cyrus-and/chrome-remote-interface#cdpoptions-callback] to chrome-remote-interface. Thus, it can also be passed via the openBrowser API. Making PR changes to accommodate it.

Thanks @NivedhaSenthil , @zabil !


The lambda function to request quota increase crashed

In the file base-resources.yaml
The lambda function to request quota increase crashed:
"LogicalResourceId": "QuotaInvoke", "NoEcho": false, "Data": {"Data": "You must provide a quota value greater than the current quota value"}}
The current quota is hardcore to 16, where I already have 16 for my spot instance in the region.
Workaround: remove all logic for the quota increase in the YAML file.

Resolved by https://github.com/aws-deepracer-community/deepracer-on-the-spot/pull/84


Lost hot reloading, maybe leak

Hello, when I add code that connected with your library, godot can't reload extension. It seems like smt holds and doesn't give unload the library.
In file: src\utils\coroutines.rs
use gdext_coroutines::prelude::{wait_until, Yield};
use godot::{
    classes::Node,
    obj::{Gd, GodotClass},
};

pub fn wait_for_node<T: GodotClass>(
    node: &Gd<T>,
    mut f: impl FnMut(Gd<T>) -> bool + 'static,
) -> Yield {
    let mut node = node.clone();
    wait_until(move || f(node.to_owned()))
}

if comment use gdext_coroutines::prelude::{wait_until, Yield}; and function body - reload works fine.
After uncomment godot holds the libarary infinitelly.
For text I comment and uncomment #[export] in src\main_scene.rs:
pub struct Main {
    #[export]
    mob_scene: Gd<PackedScene>,

Tested platform: Win 11(x86), MacOS(arm)
Showcase:
showcase.zip

It's bizarre that out of all things the culprit seems to be a pure rust function that isn't exposed to Godot. I'll see about reporting this to Gdext

Yes, add this is enough to lost reload feature:
use std::ops::{Coroutine, CoroutineState};

Interesting: https://github.com/godot-rust/gdext/issues/874#issuecomment-2334242065

So, here is new information:
rust/src/lib.rs:
/*
 * Copyright (c) godot-rust; Bromeon and contributors.
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */

#![feature(coroutines, coroutine_trait)]
#![allow(unused)]
use godot::prelude::*;

mod hud;
mod main_scene;
mod mob;
mod player;

struct DodgeTheCreeps;

#[gdextension]
unsafe impl ExtensionLibrary for DodgeTheCreeps {}

rust/src/player.rs
// use gdext_coroutines::prelude::{wait_until, Yield};
use godot::classes::{AnimatedSprite2D, Area2D, CollisionShape2D, IArea2D, PhysicsBody2D};
use godot::prelude::*;

#[derive(GodotClass)]
#[class(base=Area2D)]
pub struct Player {
    // #[export]
    speed: real,
    screen_size: Vector2,

    base: Base<Area2D>,
}

Cargo.toml:
[package]
name = "dodge-the-creeps"
version = "0.1.0"
edition = "2021"
rust-version = "1.80"
license = "MPL-2.0"
publish = false

[lib]
crate-type = ["cdylib"]

[dependencies]
godot = { git = "https://github.com/godot-rust/gdext", branch = "master", features = [
  "experimental-godot-api",
  "experimental-threads",
] }
rand = "0.8"
gdext_coroutines = { version = "0.4", features = ["temp_gdext_patch"] }

[patch.crates-io]
godot = { git = "https://github.com/godot-rust/gdext", branch = "master", features = [
  "experimental-godot-api",
  "experimental-threads",
] }

Uncomment // use gdext_coroutines::prelude::{wait_until, Yield}; leads to error in enigne:
core/extension/gdextension.cpp:508 - Extension marked as reloadable, but attempted to register class 'SpireCoroutine' which doesn't support reloading. Perhaps your language binding don't support it? Reloading disabled for this extension.
showcase.zip

Do we know why SpireCoroutine is non-reloadable? Is it no_init?
https://github.com/Houtamelo/gdext_coroutines/blob/bc2dc51cf315ca0b148318f810d573774f15e840/rust/src/coroutine.rs#L17-L19

Do we know why SpireCoroutine is non-reloadable? Is it no_init?
https://github.com/Houtamelo/gdext_coroutines/blob/bc2dc51cf315ca0b148318f810d573774f15e840/rust/src/coroutine.rs#L17-L19

Yep, it is no_init.

Thanks for confirming. I updated the original issue https://github.com/godot-rust/gdext/issues/874.
We need to find a way to register classes that have no default constructor, without breaking extension reloading.

I also stumbled upon this breaking hot reload and just added a dummy init function to my fork:
#[godot_api]
impl INode for SpireCoroutine {

	fn init(base: Base<Node>) -> SpireCoroutine {
		// panic!("Construction of 'SpireCoroutine' by the godot engine is not supported, 'init' is only provided because 'no_init' would break hot-reload. Please see https://github.com/godot-rust/gdext/issues/539")
		godot_warn!("'SpireCoroutine' is being created via the 'init' function. This is not supported, a dummy coroutine that does nothing is returned. 'init' is only provided because 'no_init' would break hot-reload. Please see https://github.com/godot-rust/gdext/issues/539");
		Self { base: base, coroutine: Box::new(#[coroutine]||{ "".to_variant() }), poll_mode: PollMode::Process, last_yield: None, paused: false, calls_on_finish: Vec::new() }
	}

For some reason godot creates an instance of every node type at startup, so the warning gets printed once, but other than that it seems to work without any ill effects and hot reload works again.

Ah, nice to know! I was considering to register an empty recreate_func before the issue is fixed upstream, to work around the #[class(no_init)] limitation. That way, we could have it for Godot 4.2-4.3 as well...


More unit tests

What this PR does / why we need it: Add some unit tests for ssh functions to increase coverage.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

/lgtm


fix read maybe causes dead loop

Issues associated with this PR
Your PR should present related issues you want to solve.
Sign the CLA
Make sure you have signed the CLA
Solutions
You should show your solutions about the issues in your PR, including the overall solutions,
details and the changes. At this time, Chinese is allowed to describe these.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases.
And you need to show the ut result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result
Code Style

Make sure Goimports has run
Show Golint result

Codecov Report

Merging #815 into stable will decrease coverage by 0.02%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           stable     #815      +/-   ##
==========================================
- Coverage   55.46%   55.43%   -0.03%
==========================================
  Files         232      232
  Lines       23688    23691       +3
==========================================
- Hits        13138    13134       -4
- Misses       9350     9351       +1
- Partials     1200     1206       +6

Impacted Files
Coverage Δ

pkg/network/connection.go
30.91% <100%> (+1.08%)
:arrow_up:

pkg/buffer/iobuffer.go
75.21% <50%> (-2.62%)
:arrow_down:

pkg/module/http2/transport.go
78.44% <0%> (-0.3%)
:arrow_down:

pkg/module/http2/server.go
81.77% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


create: 1472-design-browser-history.java

File(s) Modified: 1472-design-browser-history.java
Language(s) Used: java
Submission URL: _https://leetcode.com/problems/design-browser-history/submissions/934568603/_

Hello @a93a Can you please take a look at this?

Thanks!


Update for plugin section.

I added some more information as it contains more definition for who use CI processes

This was added in a different update.


Fix #46 - Bumb  dependency version

Bumping up omniauth-oauth2 to the most current version 1.4.0 to ensure compatibility with other omniauth solutions.
kmrshntr/omniauth-slack#46

@kmrshntr Do you release that fix as a new version?

@jonhue Actually I hesitate release newer version recently because current master version doesn't work properly in some cases. I'm worried that causes overflowing of issues. But I have not figured out the problem in detail. Sorry for the inconvenience for now.

I'll make time to solve this problem in a few weeks.

@kmrshntr Ok, that's fine. I'll then just use a git repository as reference for now.

I am having the same issue the omniauth-quickbooks-oauth2 depends on omniauth-oauth2 version 1.5.1
and omniauth-slack depends on omniauth-oauth2 version 1.3.1.
what should I do so that I can use both the gems.
@hare Krishna


handle backtab for tui

crossterm outputs a backtab character when both shift and tab are pressed.

Thanks :)


build: add caps to build runner

Please check if the PR fulfills these requirements

[x] The commit message follows the conventional commits guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Fixes potentially constrictive security on Docker Jenkins runner

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

This didn't help the issue and Ive found a better solution.  I don't think we should add capabilities unless we actually need them so I'm going to close this


Add Gnosis Safe

sdk: https://docs.gnosis-safe.io/build/sdks/safe-apps/build

@re2005 No, sorry. My hands are full recently. Do you want to make it work?

Already trying to fix this.
https://github.com/safe-global/safe-apps-sdk/issues/337

Hi @re2005
Any update on the integration of gnosis ? If not I might give it a try soon
Thanks

@fran6brg in order to use Gnosis Safe you should do something like this:
You will need to install @gnosis.pm/safe-apps-wagmi
import { MetaMaskConnector, WalletConnectConnector } from 'vue-dapp';
import { SafeConnector } from<EMAIL_ADDRESS>
const isServer = typeof window === 'undefined';
const isIframe = !isServer && window?.parent !== window;

const connectors: any = [
    new MetaMaskConnector({
        appUrl: window.location.href,
    }),
    new WalletConnectConnector({
        qrcode: true,
        rpc: {},
    }),
];

if (isIframe) {
    connectors.push(new SafeConnector({}));
}

export const isGnosisSafeApp = isIframe;

export default connectors;

So basically within your connect you can check if your dapp is running inside GnosisSafe and than just use
new SafeConnector({})

Give it a try ;)

Just tested your suggestion of code, for me it works perfectly 🙏
I only had some minor typescript issues but surely because I modified the vue-dapp package a bit

@fran6brg please feel free to suggest improvements for this repo as well.
Cheers.

You will need to install @gnosis.pm/safe-apps-wagmi
import { MetaMaskConnector, WalletConnectConnector } from 'vue-dapp';
import { SafeConnector } from<EMAIL_ADDRESS>
const isServer = typeof window === 'undefined';
const isIframe = !isServer && window?.parent !== window;

const connectors: any = [
    new MetaMaskConnector({
        appUrl: window.location.href,
    }),
    new WalletConnectConnector({
        qrcode: true,
        rpc: {},
    }),
];

if (isIframe) {
    connectors.push(new SafeConnector({}));
}

export const isGnosisSafeApp = isIframe;

export default connectors;

So basically within your connect you can check if your dapp is running inside GnosisSafe and than just use
new SafeConnector({})

Give it a try ;)

Seems that this solution can be written down on the document and then it's better to close this issue


add django-related-admin

Django admin's list_display is a powerful tool for adding columns to a model's admin panel. One weakness is that unlike list_filters, list_display cannot traverse relationships. I.e., given Person has_a Employer, employer__name doesn't work in list_display.
django-related-admin enables foreign key attributes in list_display with '__'

@morenoh149 thank you!


Update TypeScript to 5.4

This PR:

[X] Bumps TypeScript version to 5.4.
[X] Fixes TypeScript 5.4 issue related to using arguments inside createSelectorCreator.
[X] Adds TypeScript 5.4 to TypeScript versions to test against during CI.

thanks!


Flag that automatically redacts all sensitive information for bug reporting purposes

Considering the state of logging within CME this will probably require a hefty overhaul. It is a much needed convenience/security feature IMHO

audit mode added


WebHooks method is deprecated; update to GitHub Apps.

Hi,
The instructions say to use a webhook to configure:

You can generate a Slack incoming webhook token from here.

However this method is deprecated. This Action needs to be upgraded to use the suggested method.

Thanks!

Hello,
I could replace it with chat.postMessage. What do you think?

I think it might have more impact than documentation.
I use action-slack-notify with a Slack App but the webhook you obtain is tied to a channel.
So the SLACK_CHANNEL parameter won't be used anymore.
Note: As I'm just starting to use this action, I may have missed some way to configure it.

Apologies for not adding what I did. I used a Slack app to do this integration. I guess I never even used this Action. https://github.com/openedx/.github/blob/master/.github/workflows/add-depr-ticket-to-depr-board.yml#L85-L92

Would like to keep the existing deprecated functionality in place until Slack actually removes it. Slack apps should be default option moving fwd of course.

The instructions say to use a webhook to configure:

You can generate a Slack incoming webhook token from here.

However this method is deprecated. This Action needs to be upgraded to use the suggested method.

Agree that documentation should be updated to non-deprecated method. Slack Apps should be default moving forward.
However, I would prefer to keep the existing deprecated functionality in place until Slack actually removes it.


Ubuntu Repo

Hi,
is it ok, when I great a Ubuntu Repo for that wonderful piece of software?
Thanks for your work.

@beli3ver As far as I am aware, (assuming you are referring to a PPA) it is not currently possible with electron.  Launchpad requires you build from source, and that is too much to ask for when it comes to customized electron builds

Ok Thanks for the answer


Update cpuinfo and ruy to the latest revision

This includes recent improvements to the CMake build.

Would it be possible to trigger the presubmit builders again?

The change is still failing on the ARM CI builder, but there are no details about the failure other than:
FAIL: //bazel_pip/tensorflow/python/kernel_tests/array_ops:concat_op_test_cpu (see /tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/testlogs/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test_cpu/test_attempts/attempt_1.log)
FAIL: //bazel_pip/tensorflow/python/kernel_tests/array_ops:pad_op_test_cpu (see /tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/testlogs/bazel_pip/tensorflow/python/kernel_tests/array_ops/pad_op_test_cpu/test_attempts/attempt_1.log)
FAIL: //bazel_pip/tensorflow/python/kernel_tests/array_ops:concat_op_test_cpu (see /tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/testlogs/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test_cpu/test_attempts/attempt_2.log)
FAIL: //bazel_pip/tensorflow/python/kernel_tests/array_ops:pad_op_test_cpu (see /tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/testlogs/bazel_pip/tensorflow/python/kernel_tests/array_ops/pad_op_test_cpu/test_attempts/attempt_2.log)
FAIL: //bazel_pip/tensorflow/python/kernel_tests/array_ops:pad_op_test_cpu (see /tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/testlogs/bazel_pip/tensorflow/python/kernel_tests/array_ops/pad_op_test_cpu/test.log)

I'll try to get access to an ARM64 machine and reproduce it locally.

I managed to reproduce the issue locally and I don't think it was introduced by this PR, I see errors like:
======================================================================
ERROR: testConcatLargeNumberOfTensors (__main__.ConcatOpTest)
ConcatOpTest.testConcatLargeNumberOfTensors
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/workspace/pip_test/venv_clean/lib/python3.10/site-packages/tensorflow/python/framework/test_util.py", line 1625, in decorated
    return f(self, *args, **kwargs)
  File "/tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/bin/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test_cpu.runfiles/org_tensorflow/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test.py", line 557, in testConcatLargeNumberOfTensors
    self.assertAllEqual(result[index], params[p[i]])
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

======================================================================
ERROR: testRandom (__main__.ConcatOpTest)
ConcatOpTest.testRandom
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/workspace/pip_test/venv_clean/lib/python3.10/site-packages/tensorflow/python/framework/test_util.py", line 1625, in decorated
    return f(self, *args, **kwargs)
  File "/tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/bin/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test_cpu.runfiles/org_tensorflow/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test.py", line 159, in testRandom
    self._testRandom(dtypes.bool)
  File "/tmpfs/bazel_output/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/bin/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test_cpu.runfiles/org_tensorflow/bazel_pip/tensorflow/python/kernel_tests/array_ops/concat_op_test.py", line 153, in _testRandom
    self.assertAllEqual(result[ind], params[p[i]])
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

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

This builder seems to have been consistently failing for other changes as well, see https://github.com/tensorflow/tensorflow/actions/workflows/arm-ci.yml


Razor Build tasks fail when using different version of assemblies

We see errors like the following in the Razor build server when upgrading packages
Extension assembly 'Microsoft.AspNetCore.Blazor.Razor.Extensions' at 'C:\Users\stevesa\.nuget\packages\microsoft.aspnetcore.blazor.build\0.2.0-preview1-10195\tools\Microsoft.AspNetCore.Blazor.Razor.Extensions.dll' has a different ModuleVersionId than loaded assembly 'Microsoft.AspNetCore.Blazor.Razor.Extensions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
  Extensions could not be loaded. See output for details.
C:\Users\stevesa\.nuget\packages\microsoft.aspnetcore.blazor.build\0.2.0-preview1-10195\targets\RazorCompilation.targets(179,5): error : rzc generate exited with code 1

There are a few issues with this.
It would firstly be great to know which other assembly is loaded and where it was loaded from - my guess is that this happened when updating the packages used by our templates, or by mixing our templates with a repo-local build.
Secondly, I think this is just a bug. The assembly loading logic we use for Razor is supposed to be based on paths for 'top level' extensions, meaning that we should be able to load two copies of Microsoft.AspNetCore.Blazor.Razor.Extensions. We should investigate this and see if it's possible.
Lastly, this must not fail the build. We expect users to mix and match dependencies and this is intended to 'just work'.

/cc @mkArtakMSFT @ajaybhargavb - it would be create if we could address all of these points for RC, I think the last point is a must fix.

/cc @SteveSandersonMS FYI

I'll investigate. @mkArtakMSFT, I'm self-assigning this.

@mkArtakMSFT, I merged https://github.com/aspnet/Razor/pull/2277 which should fix what we wanted to fix for RC. We should leave this issue open though to address the underlying issue in a later release.

Thanks @ajaybhargavb! Moving!

Lastly, this must not fail the build. We expect users to mix and match dependencies and this is intended to 'just work'.

This has been addressed in https://github.com/aspnet/Razor/issues/2278. I'll change the title to reflect the work remaining.


consider displaying entire file in modify program step

in a recent usability study a user got stuck on the modify program step because he replaced the entire file with what is shown on that page. should we display the contents of the entire file during this step to avoid confusion?
https://www.pulumi.com/docs/get-started/aws/modify-program/

talked with @cnunciato a bit; we should explore other design-based solutions as well. some ideas to consider...

line numbers
design affordances that are distinct between partial files and entire files
other ideas??


Cypress Nightly workflow failing for five months

The Cypress Nightly workflow has been failing for the past five months.  The workflow has been brought over to the new repo, but will not be re-enabled until it is passing.
https://github.com/bcgov/nr-spar-webapp/actions/workflows/cypress-nightly.yml?page=7

Adding to the backlog so we can review it later.


Text input styling break outside of SSR [bug]

Code where the issue is occuring:

What it should look like:

What it looks like:

Here's a repo with the bug: https://github.com/GigaBigBoss/tamagui/tree/master/starters/next-expo-solito
and you can see it live here: https://tamagui-sandbox.vercel.app/
Issue doesn't occur when not using "SSR finish", issue seems to be present with more than just separators but am unsure what else at the moment, issue also appears to of popped up within the last month or so.

Seems to also happen without a separator

looking at this one shortly

Just tested this on a branch: https://github.com/tamagui/tamagui/pull/new/repro-1
Don't see it happening on Next latest + Tamagui latest.


add a ChartType property

Add a property to choose one of the available chart types

Property has been added.
8 Chart types available


Non-deterministic order in the message produced by CommandLine.MutuallyExclusiveArgsException

Description of the issue:
In BuildTest, WarTest and JarTest of the cli module, the tests verify incompatible credential options passed to cli by checking the message of a raised MutuallyExclusiveArgsException. However, Picocli command line uses a Set to keep track of options, hence the exception message String does not ensure the order of the conflict credential options to be appeared. Notice that the tests pass right now, but may be flaky when being run in a different JVM, or when Java upgrades in the future. (E.g. HashSet default iteration order changed between Java 7 and 8, breaking lots of unit tests.) Our tool NonDex (https://github.com/TestingResearchIllinois/NonDex) permutes HashSet iterations  just as between Java 7 and 8, and was able to report the above issue.
Log of Test Failure in a different JVM:
com.google.cloud.tools.jib.cli.WarTest > testParse_incompatibleCredentialOptions(--username=x, --password=x, --to-username=x, --to-password=x) [6] FAILED
    value of                       : throwable.getMessage()
    expected to contain a match for: ^Error: (--(from-|to-)?credential-helper|\[--username)
    but was                        : Error: [--password[=<password>] --username=<username>] and [[--to-credential-helper=<credential-helper> | [--to-username=<username> --to-password[=<password>]]] [--from-credential-helper=<credential-helper> | [--from-username=<username> --from-password[=<password>]]]] are mutually exclusive (specify only one)
        at com.google.cloud.tools.jib.cli.WarTest.testParse_incompatibleCredentialOptions(WarTest.java:435)

Notice that --username may appear after --password in the message, causing the regex matching routine to break.
Steps to Reproduce:

In build.gradle of the root directory, add id 'edu.illinois.nondex' version "2.1.1" as a plugin.
Run ./gradlew jib-cli:nondexTest --tests=WarTest  in the root directory.

Proposed Changes:
Modify the regular expression matching pattern (e.g. line 437 in JarTest.java) to account for possible order permutation.
I can open a small PR to fix this if this proposal seems reasonable!

@mpeddada1 Do you think this proposal is reasonable?

Thanks for the detailed investigation @kaiyaok2! We're looking for opportunities to make our tests less brittle/flaky, please feel free to open a PR. Perhaps we can start with one test and then expand if we think that the change makes sense? Additionally, for the issue itself, is this something that can brought up in https://github.com/remkop/picocli?

Thanks for the detailed investigation @kaiyaok2! We're looking for opportunities to make our tests less brittle/flaky, please feel free to open a PR. Perhaps we can start with one test and then expand if we think that the change makes sense? Additionally, for the issue itself, is this something that can brought up in https://github.com/remkop/picocli?

Thanks for the review! I think it makes sense for Picocli cli to not specify determined order of credential options (as its functionality will not need to rely on input order, and unit tests in jib-cli shall not either.
I proposed a simple fix in one of the tests in https://github.com/GoogleContainerTools/jib/pull/4093.

Thank you so much for your contribution @kaiyaok2! Closing this issue now that https://github.com/GoogleContainerTools/jib/pull/4103 and https://github.com/GoogleContainerTools/jib/pull/4093 are merged.


Add volume and volumeMount for crio-socket

This commit fixes #3295

ci check this

ci chek this


Fix: Github CI file os needs to be a array

lets try again :upside_down_face:

Codecov Report

Merging #528 (2c39f63) into master (1b308db) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #528   +/-   ##
=======================================
  Coverage   97.03%   97.03%
=======================================
  Files          56       56
  Lines        4250     4250
=======================================
  Hits         4124     4124
  Misses        126      126

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


doc: various improvements for 12.x docs

Uploading various improvements for upcoming 12.x doc release.

Not a blocker (in fact this issue is also on prod currently) but noting it anyway:

Platforms seems to have empty grid links in the empty space (observable by hovering the cursor and seeing the link icon). Additionally it makes the layout looks weird.
If it's not corrected here, then we should at least make an issue so we don't forget about it.


fix(HACBS-615): set HOME variable

Tekton tasks need to have a HOME variable set to anything else than / so credentials can be copied.
Signed-off-by: David Moreno García<EMAIL_ADDRESS>

@davidmogar fyi I messed this up by rebasing it via UI (the signing)


fixes #555

Please propose, discuss (and understand) the required solution before doing a PR.
I think the better solution is registering the service provider inside the config/app.php manually to prevent any conflicts with other providers; including those from third parties.


[Feature] Add see more button

Motivation and context
As the members text was too long in order to improve the UX and UI we added See more/less buttons
issue
https://github.com/podkrepi-bg/frontend/issues/1091
Screenshots:

Before
After

[before screenshot]
[after screenshot]

Testing

go to the about page
click see  the button should have see more/less (Вижте повече/помалко) depending on the language of choice
test to see if changes properly

Could we not change the shape of the avatars? By designs they are circular.


Enable linter rules that can be automatically fixed

Overview

The goal of this issue is to run all the rules that can be automatically fixed by running lint --fix.
The rules should follow https://github.com/telosnetwork/teloscan/issues/127
Acceptance criteria

Identify the rules that are automatically fixed from https://github.com/telosnetwork/teloscan/issues/127
Run the fix
Open the PR
Create issues for the ones that can't be automatically fixed from https://github.com/telosnetwork/teloscan/issues/127

Technical considerations

Tasks

@karynemayer this is resolved by #164

@karynemayer PR #161 fixes the linter enabling lint --fix. I'll leave this open to potentially update rules if necessary.


Schedule Entry

I have added two new commands. You can list project schedule entries and execute project schedule entries.

Hi @e-scha ,
we are currently working on a solution to start schedule entries in general - even server side schedule entries without project binding.
For this reason, this PR will be closed.
Thanks for your contribution!

Hey @kafmann-e-spirit,
i would be happy about this Feature. When will it be available?

Hey @DennisMaass,
the Feature gets currently tested by our quality assurance. We hope that we can release this Feature in the next two weeks.

Hey @kafmann-e-spirit,
Because of the missing changelog and documentation, i don't know if the Release 2.5.10 contains the here requested "schedule entry" feature. And if it is available, i don't know how to use it.
Can you please answer me these things?

Hey @DennisMaass ,
yes, the latest Release (2.5.10) contains the "schedule entry" feature :)
See this commit  for implementation details.
Short description:

added command "schedule list"
added command "schedule start"

Both commands can be used server-side and with a project name.
Example for _schedule list:
Serverwide:
fs-cli.exe -p schedule list
Project:
fs-cli.exe -p "my ProjectName" schedule list
For further information about the command syntax, please use fs-cli.exe help schedule


Redesign the Profile Page, Add Public Profiles

This PR redesigns the existing profile page to better conform to M3 standards, as well as adds support for access to public profiles. Public profiles are accessible at the route /profile/:onyen. The regular user profile page is at /profile. If a user accesses /profile/:their-onyen, the app redirects back to the regular profile page.
New Profile Page Design

There is limited GitHub support on local, however the GitHub profile photo would be placed on the top left if the account is configured with GitHub. If configured, the handle shows up next to the GitHub icon under the name and there would be a button to unlink.
Backend Changes
There is now a protected URL to access any public user by onyen. There is also a new field called bio added to the user database table.
Public Profiles
Clicking on organizers on the Events page now redirects you to that organizer's public profile. This will be added to the Welcome page when that is completed as well.
In the future, the public profile page will show organizations for which the user is a member, as well as articles they have written.

@KrisJordan

Fixed - added personal website and LinkedIn fields, moved edit button!


Jinja characters

[ ] Simplify code to regex replace non alphanumeric or underscore with underscore, rather than a fixed list of disallowed characters.

[ ] Use native re instead of regex package


Update nutrients and energy intake of children in factors mean

KH model was applied to adjust adults' nutrients and energy intake, based on steady state energy required to maintain a certain height and weight.
Need to update it for children as well, in order to deal with the jump in energy intake at age 18.

Done in #353 and #356.


CI: Run benchmarks

As mentioned in #8769, tries adding asv to the CircleCI build
on:
1. All commits to master
2. PRs that touch benchmark/ files
3. PR commits that contain [circle benchmark]
Also fixes a broken URL.
Eventually we probably want to do artifact deployment for master builds. But hopefully someone who knows more about asv could do that part.
First let's see if it actually works in a reasonable amount of time (e.g., under 2 hours).

It got 91% done then timed out on "No output for 10 minutes":
https://circleci.com/gh/scipy/scipy/6735?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
@tylerjereddy do you know if there is some particularly slow benchmark that could be split into multiple benchmarks to avoid this?

@larsoner What about adding the -q (for "quick") flag to the benchmark arguments in the CI context? It looks like runtests.py builds up bench_args from the items in extra_argv and runs asv continuous.
From the linked docs there, -q is specified to only run the benchmark functions once each, which is not acceptable for proper benchmarking, but is well-suited for executing the code & finding if there are errors in new or modified benchmarks.

I think you'll need the brackets around the  [-q] as well, believe it or not, but we can see what the ci says.

Okay that only took 40 minutes. I think the doc build is around 30.
The output does not seem too useful:
https://6741-1460385-gh.circle-artifacts.com/0/html-benchmarks/index.html

NumPy has been doing a quick asv run in their Travis CI for quite some time now.
In particular, they use asv dev which automatically includes i.e., --quick. That's probably just intended as a sanity check for not breaking the benchmark code mechanically.

I think you'll need the brackets around the [-q] as well, believe it or not, but we can see what the ci says.

In particular, they use asv dev which automatically includes i.e., --quick. That's probably just intended as a sanity check for not breaking the benchmark code mechanically.

I went with the dev command and --bench [-q] to at least get it to run in some sensible time. Locally with the CircleCI commands I can get it to run, and asv preview opens a website, but there are no results. I wonder if you need two runs or something :(

Okay it runs and renders! The output is not terribly useful, I can't find any benchmarks:
https://21265-1460385-gh.circle-artifacts.com/0/html-benchmarks/index.html
It would be good if some asv expert could fix this at some point. But this at least:

Clears the CircleCI hurdles to running benchmarks

Runs the -q tests, so makes sure nothing breaks on each commit

Adds some stuff that will allows [ci skip] and [skip ci] and [skip github] to skip running the GitHub checks -- I think it needs to be in master to take effect, though. Locally on my fork it seems to work:

https://github.com/larsoner/scipy/actions/runs/237942156
https://github.com/larsoner/scipy/actions/runs/237948372

This is now ready for review/merge from my end.

There's a bunch of errors during the asv run (e.g. `NameError: name 'magic_square' is not defined), but CI is green. Would be good to make CI fail in this PR, then have a separate PR to fix the bugs that we can merge straight away, and then rebase this PR onto master.

Running benchmarks in only a couple of minutes in CI is great by the way!

There's a bunch of errors during the asv run (e.g. `NameError: name 'magic_square' is not defined), but CI is green. Would be good to make CI fail in this PR, then have a separate PR to fix the bugs that we can merge straight away, and then rebase this PR onto master.

Almost all benchmarks have the boilerplate code along the lines of:
try:
    from scipy.optimize.tests.test_linprog import lpgen_2d, magic_square
    ...
except ImportError:
    pass

I think this is intentional. I guess that we could have an env var SCIPY_ALLOW_MISSING_BENCHMARKS that defaults to 1 but when set to 0 (which I could do on CircleCI) raises an ImportError, halting the run.

CIs fixed, all green (sorry they weren't before)

Rebased to get things green. It showed that #12775 two months ago added some very slow benchmarks. I made a comment in the code that it should use is_xslow at some point, though it has the same "benchmark collection" slowdown I mention above.
It would be nice to merge this sooner rather than later so that these problems are exposed in PRs directly, though.


Black background when converting SVG to PNG

I'm trying to convert a svg file to png, but the output file ended with a black background instead of white.
package converter

import (
	"image"
	"image/png"

	"net/http"
	"os"

	"github.com/srwiley/oksvg"
	"github.com/srwiley/rasterx"
)

func ConvertSvgToPng() error {
	url := "https://s.glbimg.com/es/sde/f/organizacoes/2020/02/12/botsvg.svg"
	w, h := 512, 512

	response, err := http.Get(url)
	if err != nil {
		return err
	}
	defer response.Body.Close()

	icon, _ := oksvg.ReadIconStream(response.Body)
	icon.SetTarget(0, 0, float64(w), float64(h))

	rgba := image.NewRGBA(image.Rect(0, 0, w, h))
	icon.Draw(rasterx.NewDasher(w, h, rasterx.NewScannerGV(w, h, rgba, rgba.Bounds())), 1)

	out, err := os.Create("out.png")
	if err != nil {
		return err
	}
	defer out.Close()

	err = png.Encode(out, rgba)
	if err != nil {
		return err
	}
	return err
}

SVG file: https://s.glbimg.com/es/sde/f/organizacoes/2020/02/12/botsvg.svg
PNG output:

Hi ,have you solved this problem? @giancarlobastos

Some input on this: I believe this is due to oksvg not supporting style tags in SVG. I can't say for sure, but I'm having the same problem and removing the style block and putting the style attributes directly into the path tags solved the rendering issue for me.

I've perused the code and I've found something that confuses me:
style tag should be handled here https://github.com/srwiley/oksvg/blob/a61f04f16b769b01d0ff6df7596ab1464f3cf630/public.go#L61 and the code to do so looks fine to me. Once the endElement for the style tag is found, its text content is parsed and added to the styles here https://github.com/srwiley/oksvg/blob/a61f04f16b769b01d0ff6df7596ab1464f3cf630/public.go#L89.
But before the style tag can be handled, the readStartElement call here https://github.com/srwiley/oksvg/blob/a61f04f16b769b01d0ff6df7596ab1464f3cf630/public.go#L57 will always fail, since style tags are not handled there and not a valid draw function, so this line will fail https://github.com/srwiley/oksvg/blob/a61f04f16b769b01d0ff6df7596ab1464f3cf630/icon_cursor.go#L345.
I'm not that far into the code, so I'm not intuitively sure enough on how to fix this to provide a PR. However, my intuition is to handle style tags before and without calling readStartElement on them. @srwiley what do you think about this? Can you do anything with this research?

One more update for me (sorry for the multipost):
After looking at the tests I realize that the style tag is supported, but only within an enclosing defs tag. That is understandable, but is probably not how most SVGs look and as far as I know there is nothing in the SVG spec that says that style tags need to be enclosed in defs tags. @srwiley would you be fine with changing this requirement?

Yes, I see no reason why that should be mandatory if it is not in the
specifications.
On Fri, Aug 12, 2022 at 1:11 AM Hannes Leutloff @.***>
wrote:

One more update from me (sorry for the multipost):
After looking at the tests I realize that the style tag is supported,
but only within an enclosing defs tag. That is understandable, but is
probably not how most SVGs look and as far as I know there is nothing in
the SVG spec that says that style tags need to be enclosed in defs tags.
@srwiley https://github.com/srwiley would you be fine with changing
this requirement?
—
Reply to this email directly, view it on GitHub
https://github.com/srwiley/oksvg/issues/34#issuecomment-1212847870, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4VOB3QIOHGW6LNNM7MKT3VYYBMBANCNFSM5IL4JHIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

That is great to hear. Would you mind taking a look at my PR then?
I'm not sure how clean my implementation is, since I basically circumvent the inDefs check by setting inDefsStyle without it. But I added a test and it does what it's supposed to do.

Yes, is everyone in agreement? Have the tests been run and are there tests
supporting the new code?
On Thu, Sep 1, 2022 at 7:52 AM Golo Roden @.***> wrote:

@srwiley https://github.com/srwiley To me the solution that @yeldiRium
https://github.com/yeldiRium came up with looks pretty good. Is there a
chance that the according PR gets merged soon?
—
Reply to this email directly, view it on GitHub
https://github.com/srwiley/oksvg/issues/34#issuecomment-1234392982, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4VOBYIY6TER3LWRNGYOCTV4C7MNANCNFSM5IL4JHIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, there are tests to support the code (and given the discussion above it seems as if @yeldiRium did a pretty decent job 😊).


add soap header attributes

This allows add attributes to header

Coverage increased (+0.006%) to 93.371% when pulling 9e70042c989591d2e5b0be30aed008ac4de5eb4e on logvinovalexey:master into 0efafa219be15b0efac84c9228c161b8662f720f on vpulim:master.

@logvinovalexey please resolve the conflicts

+1, required for strict signing policy for Dutch SBR (https://www.sbr-nl.nl/) XBLRs.


[Feature Request]: Enhance Password Security by Implementing bcrypt with Salt and Hash for Secure User Authentication

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
This feature request proposes the implementation of bcrypt to encrypt user passwords using hashing and salting methods. Currently, the project may store user passwords without sufficient encryption, which exposes them to potential security risks such as data breaches. By integrating bcrypt, all user passwords will be securely hashed and salted before being stored in the database, ensuring that sensitive data remains protected.
Use Case
This feature will be used during user registration and authentication processes. When a user creates an account, their password will be hashed and stored securely, rather than being stored in plain text. When a user logs in, the system will compare the hashed password in the database with the entered password, ensuring secure authentication. This will enhance both the security and trustworthiness of the platform by safeguarding user credentials.
Benefits
Benefits:

Increased Security: Implementing password hashing and salting with bcrypt will protect users from common attacks like rainbow table or brute-force attacks.

Compliance: Encrypting passwords helps in meeting security standards and compliance requirements for handling sensitive data.

Community Trust: Users will feel safer using the platform, knowing their passwords are encrypted and securely managed.

Scalability: As the platform grows, having secure authentication systems in place will ensure robust protection of user data.

Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I'm a VSOC'24 contributor
[X] I have starred the repository

I can work on this.

@Parthshukla26 really great issue. u are assigned . start working

/assign


configure the mysql server port in the kubernetes example

I found this useful for testing the new mysql server protocol support.

re: the port value. Could we just go with the MySQL default port of 3306?
@alainjobart if we enable the feature in the template, I suggest that we add a comment that it's in beta. What do you think?

In travis I used a different port because 3306 was already taken by the mysql package, but yeah, in this case, 3306 would be good.

Yes, beta comment sounds good too.

@michael-berlin @alainjobart Thanks for the feedback! I made the default port 3306 but also made it configurable since for various reasons it's better for us to run on a different port.
I also added the requested comment about it being in beta to vtgate-up.sh -- not sure if you thought it should be somewhere else as well

Thanks!
LGTM
Merging now.


Advanced trending option and Support automatically finding and creating Test Instance

Support auto trending options
https://issues.jenkins-ci.org/browse/JENKINS-44723

*Support automatically finding and creating Test Instance ID
https://issues.jenkins-ci.org/browse/JENKINS-44668

:x: Build hpe-application-automation-tools-plugin latest.80-qjsfesbv failed (commit https://github.com/hpsa/hp-application-automation-tools-plugin/commit/58a98ded72 by @bamh)

@bamh Failed in build on PC Unit tests

:x: Build hpe-application-automation-tools-plugin latest.80-sxrevtur failed (commit https://github.com/hpsa/hp-application-automation-tools-plugin/commit/58a98ded72 by @bamh)

:white_check_mark: Build hpe-application-automation-tools-plugin latest.83-oiuthpra completed (commit https://github.com/hpsa/hp-application-automation-tools-plugin/commit/c0edddf3e8 by @bamh)

:white_check_mark: Build hpe-application-automation-tools-plugin latest.83-rjyvpkju completed (commit https://github.com/hpsa/hp-application-automation-tools-plugin/commit/79bbd8a069 by @bamh)

Approve for test build

:white_check_mark: Build hpe-application-automation-tools-plugin latest.83-jrnunvaj completed (commit https://github.com/hpsa/hp-application-automation-tools-plugin/commit/7dd160057c by @bamh)

Approved for test build


avoid using backslahes on Windows when passing PYTEST_ADDOPTS

This build failed since the absolute path arrives in pytest with the backslashes striped and is therefore being interpreted as a relative path.

Codecov Report

Merging #7 into master will decrease coverage by 0.06%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
- Coverage   77.29%   77.23%   -0.07%
==========================================
  Files          48       48
  Lines        2436     2438       +2
  Branches      387      387
==========================================
  Hits         1883     1883
- Misses        542      544       +2
  Partials       11       11

Impacted Files
Coverage Δ

colcon_core/task/python/test/pytest.py
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


run source code button is not displayed.

as shown above, the Run source code button is blacked..

@fdq09eca I think it's a duplicate of #635
You may need to update your VS Code or the extensions.


Instead of babel, is there any way to use node original mechanism to interpret the modules?

Hi guys,
Currently we are facing a problem in testcafe that the callstack will be incomplete when we are using page object to organize our async/await util functions. We could only see the file causing the error, but we could not see the full call stack information. Since node with latest version has a flag '--async-stack-traces' and I did some testing with this flag and I can see a clear callstack for all the async functions. So is there any chance for testcafe not to use babel but to use node original mechanism to interpret the modules? Or do you have any other solution now to show a complete full stack trace for testcafe?
Reference:
https://stackoverflow.com/questions/54239586/how-to-get-full-stack-trace-in-test-cafe-errors
Thanks,
Issac

There is no such capability at present. Please see the detailed explanation in this comment.


Osu!lazer crashes

Describe the issue
When launching osu!lazer it crashes when launching.
Instructions to reproduce

Use osu!laser ipa
Launch like normal
See it try booting and crash.

What version of LiveContainer are you using?
1.0-release main/67a396
Other
LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsed-2023-07-24-020959.txt

I don’t remember when but it should work now


Debugger's Call Stack shows binary name instead of debug configuration name

VSCode Version: 2020 June update
OS Version: macOS Catalina 10.15.5

Steps to Reproduce:

Start a compound debug configuration with at least 2 (obviously) configurations at once.
Watch the call stack: instead of the configuration name, you see the binary name, such as "node" or "npm" repeatedly.

Detail: if you click on each root item of the call stack, while having the DEBUG CONSOLE open, the drop-down list on the top-right corner of the debug console will change to the configuration name, so it is possible for you to know which configuration you're actually working with. But it gets really confusing if you run 20 configurations at once.
Sometimes, randomly, the names swtich from the binaries to the configuration names, but most times you only see "npm", "npm", "npm", "npm", etc...

Does this issue occur when all extensions are disabled?: Yes

Thanks for the issue, will be looking at this today in https://github.com/microsoft/vscode-js-debug/issues/596
/duplicate


dohot on vps

For which image should i make ports open and is there any need to change "dns: - <IP_ADDRESS>" to "dns: - <IP_ADDRESS>" under pihole image to use dns as public?
What needs to be changed to make it for public use from vps?

nvm, it was in pihole settings


Introduce and use whitespace token instead of whitespaceBefore token property

So it would be an easy switch when we will use CST module

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27610882-introduce-and-use-whitespace-token-instead-of-whitespacebefore-token-property?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Done with https://github.com/jscs-dev/node-jscs/pull/1942


Fix if the hook is not called at the start of the process, the hook may fail

for example, create a c++ console project, create many threads to call CreateFileW,ReadFile,CloseHandle
and create serveral threads to execute Hook and Unhook CreateFileW and ReadFile function every 100 milliseconds.
it will be failed after some time.

@bgianfo, I have rebased to only include this commit.

Hey @sonyps5201314 thanks again for the contribution.
@dtarditi and I looked at this togeather today, and we decided the change as it is, is very risk to merge since it's so large and invasive. Can you please desribe what the actual race condition / bug this is fixing is so we can work on trying to scope down this change? It's not clear from the description or the commits where the bug you are fixing actually.
Is it also possible to introduce a stress test / unit test to validate we have fix the issue and don't regress it in the future?

TestDetoursBug144.zip is a BUG reproduction program.
Compile, debug and run the DebugMaster configuration, the program will crash immediately, because it uses the official unfixed master branch code.

Compile, debug and run the DebugMyFixedBranch configuration, the program will run normally, because it uses the fixed fix_maybe_can_not_hook_functions_not_at_the_starttime_of_a_process code in my PR.
Note: It is recommended to use VS2013 to compile and debug the program of this project, because VS2019 and VS2017 have the bug that the call stack of the program cannot be viewed when the x86 program crashes or deadlocks. It has been reported for almost a year, and the official hasn't repaired it yet.
vs2017 and vs2019 can`t show full call stack when a deadlock occurs in x86 c++.

@bgianfo Can you please desribe what the actual race condition / bug this is fixing

The original commit seems to mostly be related to #70 (though covers a broader problem): any new/delete/malloc/free etc after any DetourUpdateThread() is risky:
In windows, there is a per-heap lock, which new/delete/malloc/free always need to require, and in most applications, practically all operations will be on the same default heap - in effect, roughly speaking, there's a per-process lock on heap operations. See https://docs.microsoft.com/en-us/windows/win32/memory/heap-functions
DetourUpdateThread() ultimately calls SuspendThread(); after this point, if the thread you've passed in happens to already have the heap lock, nothing else can acquire the lock, and all new/delete/malloc/free will deadlock. This includes:

the explicit new operations in DetourUpdateThread() - e.g. if you're updating two threads, and the first one has the heap lock, the second DetourUpdateThread() will deadlock
the malloc inside the printfs inside DETOUR_TRACE

You can reproduce this by:

creating 3 threads
in thread 1, call HeapLock(GetProcessHeap())
just loop in thread 2
in thread 3, call DetourTransactionBegin(); DetourUpdateThread(thread_1_handle); DetourUpdateThread(thread_2_handle);

--
There are also several other bugs fixed in later commits; I'm not came across them in practice, so I'm not able to explain them.
--
As for how this relates to 'at the start of the process':

updating all threads is a relatively common (and necessary) pattern, which significantly raises the risk of hitting this condition. This PR adds a DetourUpdateAllOtherThreads() function to make this pattern easier, but that's tangental to the bug fix.

if you attach on process startup, there are many more mallocs/news happening than later in the process lifecycle: as well as the program code, there's all the implicit ones behind LoadLibrary() etc. Again, this significantly raises the risk

Here is a small standalone example: https://gist.github.com/fredemmott/adb9c41d7cff44aecf92bece990f4c3f

An alternative fix for that first issue would be to simply call HeapLock(GetProcessHeap()) in DetourTransactionBegin(), and HeapUnlock(GetProcessHeap()) in DetourTransactionCommit() + DetourTransactionAbort()

The latest committed code makes Detours use VirtualAlloc/VirtualFree for memory allocation and deallocation, so there is no Heap lock problem you worry about.
// After calling DetourUpdateAllOtherThreads, you should call DetourTransactionCommit(Ex) or DetourTransactionAbort as soon as possible.
// In addition to the DetourAttach(Ex)\DetourDetach(Ex) call, other user operations should not be included between them,
// because other user operations may cause CRT lock competition, and at this time CRT lock may be owned by other threads.
// Other threads have been suspended at this time, so that may cause deadlock problems
LONG WINAPI DetourUpdateThreadEx(_In_ HANDLE hThread, _In_opt_ BOOL fCloseThreadHandleOnDestroyDetourThreadObject /*= TRUE*/);
BOOL WINAPI DetourUpdateAllOtherThreads();

and you can read the commented code above for DetourUpdateThreadEx and DetourUpdateAllOtherThreads to understand the precautions for using them. and from comments you can know that HeapLock(GetProcessHeap()) ... is not safe enough.
and you must know that the purpose of DetourUpdateAllOtherThreads is to solve the problem that the HOOKed instruction is being run by other threads, not the Heap lock problem. Heap and CRT lock problems are only one problem that may be caused by DetourUpdateAllOtherThreads. Therefore, I introduced DetourMemAlloc, DetourMemReAlloc, DetourMemFree to avoid this problem. The code in the PR has also been used in many programs of my own and my company and has been running stably in many computers for a long time, so you can believe that they are reliable of.

But if a thread already owns the lock and has been suspended by other threads of the user, you call HeapLock((HANDLE)_get_heap_handle()); it will only make the current thread fall into an infinite wait or deadlock

This can generally be avoided by calling HeapLock() before suspending any threads.If something else in the process has already locked a thread which holds the lock, either that thread will eventually be resumed (in which case it's not an infinite wait), or the app will be hanging forever anyway. Either way, even if we can install the hook while something else has the heap lock, my detours (and the application code that calls them) still use the heap, so it isn't a practical concern, as long as my thread acquires a heap lock before suspending any threads.

so The best way is to avoid using the HeapAlloc family of functions for memory allocation.

I don't disagree on this, but it is not necessary for many cases.

The code in the PR has also been used in many programs of my own and my company and has been running stably in many computers for a long time, so you can believe that they are reliable of.

I'm looking for minimal - and understandable - changes on top of master. This PR fixes several issues (and I understand this is more than the heaplock race), and adds new features. Regardless of reliability for you, that makes it not fit my goals. Splitting it up with clear explanations would also likely aid Microsoft in reviewing and ideally merging.

DWORD WINAPI ThreadProc_UserCode(LPVOID lpThreadParameter)
{
	Sleep(1000);
	HeapLock((HANDLE)_get_heap_handle());
	Sleep(10000000);
	HeapUnlock((HANDLE)_get_heap_handle());
	return 0;
}

DWORD WINAPI ThreadProc_TestHook(LPVOID lpThreadParameter)
{
	Sleep(2000);
	while (1)
	{
		OutputDebugStringA("ThreadProc_TestHook prepare for hook.\n");
		//replace "OutputDebugStringA" to "printf" function will trigger another deadlock

		HeapLock((HANDLE)_get_heap_handle());

		OutputDebugStringA("ThreadProc_TestHook start to hook.\n");
		DetourTransactionBegin();

		DetourUpdateThread(GetCurrentThread());

		DetourTransactionCommit();

		HeapUnlock((HANDLE)_get_heap_handle());
	}
	return 0;
}
int main()
{
	HANDLE hThread = CreateThread(NULL, 0, ThreadProc_UserCode, NULL, 0, NULL);
	if (hThread)
	{
		CloseHandle(hThread);
		hThread = NULL;
	}
	Sleep(100);

	hThread = CreateThread(NULL, 0, ThreadProc_TestHook, NULL, 0, NULL);
	if (hThread)
	{
		CloseHandle(hThread);
		hThread = NULL;
	}
	Sleep(100 * 1000);
}

The above is a simple example that doesn't do what you expect.
In addition to our own controllable code, a program may also contain system library code, and code injected by third-party DLLs. The code in ThreadProc_UserCode may appear in third-party DLLs and system libraries. For example, in AcLayers.dll, it hooks the Heap series functions and has its own lock implementation for the Heap functions, so you can't think that the call to HeapLock returns, you won't Stuck in the next calls to functions such as HeapAlloc.

I don't disagree on this, but it is not necessary for many cases.

Detours, as a general-purpose library program, must be able to accommodate all situations, not just most of them.


CB-2979. Instance profile is not set for Logging (DistroX)

put back logging converter with extra checks

retest this please

retest this please


Re tulius not doing speech

I could not get tulius to do his speech

Keep in mind that there is a 50% chance at Markarth and Riften of Tullius showing up. Otherwise it’s just Rikke and she does the pep-talk.

About that, tulius was always appearing (at least appeared in all 4 major sieges Whiterun, Windhelm, Riften (I think) and Markarth) and his speech went off smoothly
Before the I think seasons unending update
I have not seen him at any since then, in addition to that I have not seen him do the final speech when I teleport there it basically auto starts or they are gone
If it is 50% then that doesn’t explain why I have not seen him since
Originally posted by @schofida in https://github.com/schofida/CWORR/issues/34#issuecomment-1509846960

Lucky for you, I found this yesterday. It should be fixed now.

fixed they appear

reopening this because  enemy co officers don't appear in non final stand defence battles

Hmm... This is a good idea. I'll try to add this. This was never added before and its not vanilla behavior (besides Rikke on the first defense of Whiterun).

Hmm... This is a good idea. I'll try to add this. This was never added before and its not vanilla behavior (besides Rikke on the first defense of Whiterun).

really?
i have seen galmar in the defence of whiterun (imperials) many times

I am unable to reproduce so I will close this. Galmar shows up to attack Riften when I am defending Riften.


Adding an option to load last minute async at Effect level

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15446/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15446/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15446/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15446/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15446/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15446/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15446/merge/testResults/webgl2playwright/index.html


Execution environment needs amazon.aws collection

I need to figure out what exactly I was seeing. The fips-assessment collection (which needs the amazon.aws dep) already pulls it in so it should be available.

Needs to be fixed in fips-assessment.
See fips-assessments/#82

Fixed in fips-assessment.


SDK Working in debug mode but not in release.

@aksainiarun Can you give me some specific details about your problems?

@YuXueBJ Can you tell me what version this error occurred in?


Warning: Tried to initialize from a previous compilation (build/cache.dill), but the file was not self-contained.

Launching lib\main.dart on Google Pixel 3a in debug mode...
Compiler message:
Warning: Tried to initialize from a previous compilation (build/cache.dill), but the file was not self-contained. This might be a bug.

@jensjoha @johnniwinther Could this be CFE related?

Yes. This is a message from the CFE. Unfortunately this bug report is not actionable in itself though.

Do we have a way of (easily) obtaining more information about the cause in these cases?

We could perhaps extend the error message --- but we do ask the user to upload the dill (if they are comfortable with it).