Issue with CaseSensitivePathsPlugin

Hey,
First of all thank you for this awesome library !!
One issue that I facing now is that when I include the CaseSensitivePathsPlugin in my webpack.config file , I am encountering the below shown error

It looks like that there is a conflict in the file names as they are having a different case.
If I remove the CaseSensitivePathsPlugin this issue does not seem to occur.

Hi. Thanks, I'm glad you're finding the project useful. :)
I don't have time to work on it at the moment. If you'd like to submit a fix for this issue though, that would be great.

I see that #24 has been done a couple of days back.
I think that should fix this issue.

Oh, that would explain why I haven't seen it then. That was a recently introduced thing. Ok I'll try to put out a new npm release this morning.

Thank you for the quick response :)

Sorry for this issue. I renamed source/modules/reactSelectStyles.js to source/modules/ReactSelectStyles.js in #23 because it's now a React component. Seems that git just ignored the change because I'm using Windows.

No worries 😄 it happens!


[5.8.13] 'SQLSTATE[HY000] [2002] Connection refused' if docktrine/dbal installed

Laravel Version: 5.8.13
PHP Version: 7.2.15
Database Driver & Version: none

Description:
You can't run composer update and call artisan commands if add Schema::defaultStringLength calling to AppServiceProvider and you have doctrine/dbal package.
On running composer require doctrine/dbal:
In PDOConnection.php line 31:

  SQLSTATE[HY000] [2002] Connection refused

In PDOConnection.php line 27:

  SQLSTATE[HY000] [2002] Connection refused

On 5.8.12 works fine.
Steps To Reproduce:

Create new project:

composer create-project --prefer-dist laravel/laravel blog

Fix 1071 Specified key was too long error:
Using official documentation: https://laravel.com/docs/5.8/migrations#indexes

Add Schema::defaultStringLength calling to AppServiceProvider
use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

Try to install doctrine/dbal package:

composer require doctrine/dbal

You will get error:
In PDOConnection.php line 31:

  SQLSTATE[HY000] [2002] Connection refused

In PDOConnection.php line 27:

  SQLSTATE[HY000] [2002] Connection refused

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

This is caused by #28214. /cc @JacksonIV
We should only call registerCustomDBALTypes() when we are actually running migrations.

@staudenmeir I’ll look into this. 👍🏼

I have tried a few things but I can't seem to reproduce this on a new laravel installation. Could you please provide me with some more information as where you encounter this error? Are you sure your database credentials and settings are correct?
Also, please make sure you are running:
composer require doctrine/dbal
instead of:
composer require docktrine/dbal

The error only happens when a database connection is not available.
Something like Schema::defaultStringLength(191); doesn't access the database and should work without a connection.

@staudenmeir Everything seems to work fine here, even without a connection. Did you reproduce this?

Yes, I can reproduce it:

Laravel 5.8.13
doctrine/dbal installed
Schema::defaultStringLength(191); in AppServiceProvider::boot()
DB_CONNECTION=mysql in .env

I can trigger the error with composer dump or php artisan serve.

The constructor does get called. Take a look at Illuminate\Support\Facades::getFacadeAccessor().

@staudenmeir I still have a hard time understanding how this can happen since the connection is first instantiated there?

@driesvints When the custom DBAL types get registered in the builder’s constructor it tries to find a Doctrine connection. If there’s no Doctrine connection, it will try to instantiate one. But if the database credentials or settings are incorrect it will throw a PDO exception.
If the database settings and credentials are correct, there’s no problem though. This could indeed be fixed by moving the actual registration to the migrator.
I will try to fix this as soon as i can, but unfortunately i’m a little short on time currently.

On the other hand, if you are calling the schema facade, you’d probably want a working database connection, right?

@driesvints The facade only instantiates an instance of the Connection class, but doesn't actually connect to the database. This happens in getPdo().
Is that what you mean?

@JacksonIV Probably, but not necessarily immediately. Only instantiating an instance of a class like MySqlBuilder (or any other class) should never open an actual database connection.

@staudenmeir I see what you mean. It's imperative that we get this fixed soon though. Otherwise it's best that we revert for now.

@driesvints Instead of reverting everything, i could make a PR which removes the registration of the custom DBAL types in the constructor of the MySQL builder. This way people can still call the registerCustomDBALType method manually without any problems.

I would revert it. Then we can take the time to fix this properly and also cover the other databases (https://github.com/laravel/framework/pull/28214#issuecomment-483012555).

@staudenmeir You're right, i'll start working on a proper fix as soon as possible. I'll also try to cover the other databases simultaneously!
Sorry for the hassle!

I've removed the method call in the constructor for now and this will be released tomorrow. Please send in a better solution as soon as you're able to, thanks!
https://github.com/laravel/framework/pull/28301

@driesvints this also breaks the package:discover command that runs after composer install.  I noticed this because our build process started failing as there is now .env and no database available yet at the composer install step in our build process.
After applying your revert from https://github.com/laravel/framework/pull/28301 it started working again.
Hopefully this can be tagged soon and properly addressed later. :)

I also receive this error if I call getDoctrineSchemaManager() within my console command constructor with laravel 6.2 and doctrine/dbal ^2.10

Doctrine\DBAL\Driver\PDOException  : SQLSTATE[HY000] [2002] Connection refused

As soon as I move this call to the handle() method, it works as expected.

I receive this error when I call composer install! any solution for this??


[VS Code] Add schema and snippets for YAML text editor.

Add "redhat.vscode-yaml" extension dependency to support YAML job config autocomplete.
Add some snippets for YAML text editor.

Coverage increased (+0.01%) to 53.89% when pulling<PHONE_NUMBER>33a2f28382e4762e970de74cc528ba on yiyi/vscode_yaml_schema into ce0416b7d38d82a93d7b0f7f766a4c54d37d0566 on master.


Distribute via krew?

:wave: Hello, maintainer of the kubectl plugin manager krew here.
What do you think about making your plugin available via krew? You would benefit from

Greater visibility due krew's large user basis.
Easier installs.
Seamless upgrades for new plugin versions.

Krew already has over 60 plugins and more are coming in. See our development guide if you're interested. I can't promise that your plugin can keep its name, though. Please see our naming guide for that topic.

Hey - I would like to, but unfortunately fwd requires sudo and makes (temporary) changes to the client machine (/etc/hosts and ifconfig).
I'm think that sort of behavior isn't encouraged for regular kubectl plugins - not sure though.

I see. That is indeed a bit peculiar for a plugin. There are a few which require privileged containers, but none that needs to run as root.
Do you think you could re-architect your plugin by relying on some local DNS service instead of editing /etc/hosts?

Yeah, a local DNS could replace the loopback + /etc/hosts tricks, but modifying the resolver to use that nameserver would require root (or manual user interaction).
Since this whole thing is a hack for quick and dirty cluster access I can't really think of a standalone tool that could provide the current functionality with zero user interaction.

Ok, thanks for explaining. Then let's close this for now.
If I find that we are taking in plugins which only run as root, we can as well re-visit this.


ServicePointManager.ServerCertificateValidationCallback alternative

Hi
In the netstandard package is there an API that allows for SSL validation callback?

It's as far as I know available in the HttpMessageHandler. To use this feature, you have to use the HttpClient implementation.

How do I use that?
On 15 June 2016 at 14:32, Mark Junker<EMAIL_ADDRESS>wrote:

It's as far as I know available in the HttpMessageHandler. To use this
feature, you have to use the HttpClient implementation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FubarDevelopment/restsharp.portable/issues/74#issuecomment-226187881,
or mute the thread
https://github.com/notifications/unsubscribe/AAGapj06v0sQ4I9i5P4bIkOpurlW5T7Mks5qL_74gaJpZM4I2W1i
.

Can't see anything here
https://dotnet.github.io/api/System.Net.Http.HttpMessageHandler.html
On 15 June 2016 at 14:36, Jonathan Channon<EMAIL_ADDRESS>wrote:

How do I use that?
On 15 June 2016 at 14:32, Mark Junker<EMAIL_ADDRESS>wrote:

It's as far as I know available in the HttpMessageHandler. To use this
feature, you have to use the HttpClient implementation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FubarDevelopment/restsharp.portable/issues/74#issuecomment-226187881,
or mute the thread
https://github.com/notifications/unsubscribe/AAGapj06v0sQ4I9i5P4bIkOpurlW5T7Mks5qL_74gaJpZM4I2W1i
.

It's called ServerCertificateCustomValidationCallback and is in version 4.1 (not released yet) of the System.Net.Http package, but you can - on Windows - use the System.Net.Http.WinHttpHandler from the same named package. I'll hack together a small example application, which utilizes the .NET core tool chain, but targets net46.

I looked at HttpClientHandler and the docs say its there but its not when you do new HttpClientHandler() I think what has to be done is add a certificate to the store as it works differently per OS

Yes, this would be the best option. Regarding the missing property: Only 4.0 is available via nuget. 4.1 will (probably) be part of the next .NET Core.

What do you mean by v4?
I'm talking about https://dotnet.github.io/api/System.Net.Http.HttpClientHandler.html#System_Net_Http_HttpClientHandler_ServerCertificateCustomValidationCallback which although documented actually isnt available for some reason

The documentation already includes the API for System.Net.Http 4.1, while only 4.0 is released on nuget.org.

Yup, just seen this https://github.com/dotnet/corefx/commit/97c940eec1f6afe3e4af31e72d79c3a11e7b1ff1

4.1 is now out, what would be the best way to use the HttpClientHandler with Restsharp.Portable/


Add IAuthorizationPolicyProvider sample

Oh my bad I totally missed this PR since I don't have notifications turned on for this repo, I'll take a look this week and try to get this in

No problem. Also, I noticed a small issue (the provider should return Task.FromResult(null) in the failure case, rather than null). I'll get that fixed up.

Minor consistency thing,
namespace: PolicyProvider
Directory: samples/IAuthorizationPolicyProvider
project is: AuthorizationPolicyProvider
I don't have a problem with any of these choices, but I think you should probably pick one to use consistently across all 3 of these

So, doesn't look like this sample currently is really runnable to demonstrate things as it stands right?  i tried running it and when you go to api/values it will fail due the minimum age requirement not being met, which makes sense.
What do you think about adding the ability to sign in a cookie with the age, basically you go to /setAge/Whatever and that turns into a call to SignIn setting the age claim.  And the readme flow would be, first try it without being signed in, it should redirect you to the page that says go to /setAge/<age> to set that, then try again with a too young age, which should redirect to an access failed page.  Then finally setAge with one that passes which should work.

cc @blowdart as well for his input on what we should illustrate in the sample for this...its one of the most commonly asked about things, so we should probably spend some time thinking about what we want to show as the official sample...

I'm ok with the sample, because no-one ever can describe in a coherent nature what they want, and everyone wants something different, so let's stick to a sample we already use in docs :D

To be clear, we don't have much in the way of docs or samples for this scenario yet. This sample is based off of an explanation David Fowler game in a GitHub comment. That said, I think a simple sample like this (and docs, which I plan to add next) would be helpful. And I agree with the philosophy of keeping things simple since customers' use cases will vary a lot.

Okay that's fine, so the only thing I think we should do then is to make this sample more like the other ones, I think it should probably be an MVC app so that it can demonstrate the typical authorize authorization flow (as well as illustrating the policy provider)...

First request: no authentication -> redirects to a challenge for the cookie
On the challenge url, have the ability to set the minimum age in the cookie
Demonstrate authorization failure when age check fails (as opposed to authentication failure) => access denied page
Finally show the happy age check pass

Sounds good. Thanks, @HaoK. I'm engaged with a customer this week and next, but I'll update this as described after that.

Awesome thanks for helping with this!

@HaoK, I've updated this sample based on your feedback. Please take another look when you get a chance.

Ran the sample, looks good to me, thanks for putting this together :)

Thanks again @mjrousos I'll take it from here and get it merged into our builds


Possible to skip collecting data in certain regions?

We have created SCPs to restrict use of certain regions in AWS. Is it possible to tell cloudmapper to collect data for a subset of regions rather than all of them? That would eliminate a lot of calls that fail like so:
Making call for account-data/./XXX/ap-northeast-2/ec2-describe-vpn-connections.json
ClientError: An error occurred (UnauthorizedOperation) when calling the DescribeVpnConnections operation: You are not authorized to perform this operation.

That same call works for the three AWS regions we allow to be used.

This is related to #537 (where people have restrictions on their privileges) and also #496 (where a PR was submitted to limit the regions collected from).  As discussed in those, this is currently outside the scope of what I'm able to support as I don't know what all might end up breaking under these circumstances, and they aren't issues I've run into yet myself (although I suspect I will soon, at which point I'll do something about this).  I'm going to close this issue as it duplicates the issue and PR mentioned.  This is more and more becoming a problem I need to tackle.


WIP checkpoint export/import for mutable types

This contains my work in progress on mutable type import/export for checkpoints.  Two things I'm unsure about:

I couldn't figure out how to use the HashedSet literalization correctly
The toLiteral and fromLiteral functions I wrote for the multimap types doesn't handle generic key types and isn't consistent with the literalization pattern used elsewhere (which I'm still learning!)

So I'd love a review.

OK - tests are passing now!
One detail I noticed is that literalize / deliteralize methods were added to MultiMap and ArrayMap, up to now all the literalizable things are acceptable as fields in HashedObjects (they have a _type field that allows the main HashedObject.deliteralizeInContext function to know which deliteralizer to call). Since MultiMap and ArrayMap are not accepted inside HashedObjects ATM, I think we should either change the naming slightly so it doesn't clash (say asArrays instead of literalizeor something along that line) or -if we feel these may be used inside the immutable part of state that is actually literalized) add support for them in HashedObject.deliteralizeInContext). Since this is not an immediate problem and the functions seem to work really well I didn't change anything in the code.


Ignore Korean user specific warning

Describe the bug
There's warning on purchase ui which due to legal reason that only shows on korean account. this makes purchase error whatever reason.
Screenshots or Logs

[2022-05-05 23:32:36.588 +0000] WARN: For online games, the monthly spending limit for user under 19 is set at 70,000 KRW. Monthly spending limits are schedules to reset on the 1st of every month at 9:00 AM KST. View Cash Policy
    user: "<redacted?"
    err: {
      "type": "Error",
      "message": "For online games, the monthly spending limit for user under 19 is set at 70,000 KRW. Monthly spending limits are schedules to reset on the 1st of every month at 9:00 AM KST. View Cash Policy",
      "stack":
          Error: For online games, the monthly spending limit for user under 19 is set at 70,000 KRW. Monthly spending limits are schedules to reset on the 1st of every month at 9:00 AM KST. View Cash Policy
              at initPurchase (/usr/app/src/puppet/purchase.ts:231:17)
              at runMicrotasks (<anonymous>)
              at processTicksAndRejections (node:internal/process/task_queues:96:5)
              at PuppetPurchase.purchaseShort (/usr/app/src/puppet/purchase.ts:235:7)
              at redeemAccount (/usr/app/src/index.ts:46:9)
              at async Promise.all (index 1)
              at main (/usr/app/src/index.ts:67:5)

Additional context
This only happens on korean account. But if you want to test it, do not try to move your account to korea. (I will test that for you.) it will lock to korea and unable to change somewhere else. also after it needs korean phone verification which is hell of shame.
If language is korean:
만 19세 미만 사용자의 온라인 게임 월간 구매 결제 한도는 7만원입니다. 월간 결제 한도는 매월 1일 오전 9시(한국 시간)에 초기화됩니다. 캐시 정책 보기

I don't understand. Isn't this a free product?😂

@QIN2DIM Yep it's very confusable, but this notification shows all of there purchase(In game, game purchase or something elses) screen If account region is korea.

@MPThLee Can you provide the error html file (e.g. error-2022-01-04T05-10-00.284Z.html) that was written to the config folder? Unfortunately creating a Korean account requires some ID verification, so I can't reproduce it easily.

Here: https://gist.github.com/MPThLee/24c38dbf608449af3f1fd1c246930569


[External] Add diagnostic middleware to VSCode.

We'll need to work with the VSCode folks to add a diagnostic middleware that enables us to re-map errors. The VSCode folks were open to this idea but we'll need to foot the feature work to make it possible.
Most of what makes up the cost of this issue is the orchestration with the other team and making sure our solution works across all VSCode platforms.

Closing this out, diagnostics is supported in VS Code.


fix: devnet stuck on block 2 with crash

Issue being fixed or feature implemented
Failure on devnet:

+extra logs haven't got to screenshot:
2024-10-31T13:19:21Z CreateNewBlock(): total size 1000 txs: 0 fees: 0 sigops 100
2024-10-31T13:19:21Z Posix Signal: Aborted

Locally similar error is caught with stacktrace:
    Assertion failure:
      assertion: (tx.nType == T::SPECIALTX_TYPE)
      file: ./evo/specialtx.h, line: 33
      function: std::optional<_Tp> GetTxPayload(const TxType&, bool) [with T = CCbTx; TxType = CTransaction]
       0#: (0x5CE686FB3AB0) stacktraces.cpp:655 - __wrap___assert_fail
       1#: (0x5CE686BB9120) specialtx.h:33      - std::optional<CCbTx> GetTxPayload<CCbTx, CTransaction>(CTransaction const&, bool)
       2#: (0x5CE686BB9120) cbtx.cpp:463        - GetCoinbaseTx(CBlockIndex const*)
       3#: (0x5CE686BB916D) cbtx.cpp:470        - GetNonNullCoinbaseChainlock(CBlockIndex const*)
       4#: (0x5CE686BB92AA) optional:469        - std::_Optional_base_impl<std::pair<CBLSSignature, unsigned int>, std::_Optional_base<std::pair<CBLSSignature, unsigned int>, false, false> >::_M_is_engaged() const
       5#: (0x5CE686BB92AA) optional:986        - std::optional<std::pair<CBLSSignature, unsigned int> >::has_value() const
       6#: (0x5CE686BB92AA) cbtx.cpp:401        - CalcCbTxBestChainlock(llmq::CChainLocksHandler const&, CBlockIndex const*, unsigned int&, CBLSSignature&)
       7#: (0x5CE686D36318) miner.cpp:233       - BlockAssembler::CreateNewBlock(CScript const&)

What was done?
Added check if DIP0003 is indeed activated before retrieving Chainlock of previous block.
How Has This Been Tested?
No crash observed locally
Breaking Changes
N/A
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have made corresponding changes to the documentation
[x] I have assigned this pull request to a milestone

pls drop https://github.com/dashpay/dash/commit/24027f8e0e220d09dce2b1a4b5bfb73b7b1af02c

can you be consistent? https://github.com/dashpay/dash/pull/6336#issuecomment-2429469257 previous review you blocked my PR because you didn't like my negative condition, and here: https://github.com/dashpay/dash/pull/6336#issuecomment-2429444025

Guix Automation has began to build this PR tagged as v22.0.0-devpr6375.dde1edf3. A new comment will be made when the image is pushed.

pls drop 24027f8

can you be consistent? #6336 (comment) previous review you blocked my PR because you didn't like my negative condition, and here: #6336 (comment)

These are 2 completely different cases.
if (A) {
 do_smth_related_to_A
} else {
 do_smth _else
}

vs
if (not A) {
  bail_out
}

btw If you still want to keep 24027f8e0e220d09dce2b1a4b5bfb73b7b1af02c, you should fix its title - it doesn't match the code rn

pls drop https://github.com/dashpay/dash/commit/24027f8e0e220d09dce2b1a4b5bfb73b7b1af02c

I created new PR https://github.com/dashpay/dash/pull/6376
I will give later quick view to src/llmq, src/evo code, maybe there's some more functions can be hidden from global namespace also.

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v22.0.0-devpr6375.dde1edf3. The image should be on dockerhub soon.


✨ Add an IgnoreFields option to select whether to override resource by mw

The option is to disable override resource on the spoke by manifestwork when the resource is changed by another actor on the spoke

Summary
Related issue(s)
Fixes #

LGTM
/assign @elgnay @haoqing0110

/lgtm


add FFT figure

yay thanks; fft ftw

Here you go! if you want to look at the frequency components.


Dev1mo

I fixed the output of the static object in the Demo code.

I can not confirm my own pull requests, even If I am the Admin :-( 👎🏻


Update NOTICE file.

Remove attributions that are now included in the CSS3 Foundation's NOTICE file.

Can you add a note that says something to the effect: "see css3-foundation/NOTICE for additional license information".

Added. Please review.

Looks good. Thanks.


Improve reuse of certain types of cached modules

Cached modules that don't contain expandable require calls can now be reused regardless of whether require list expansion is specified in the request.
Module name exporting in define functions can now be requested for server-expanded layers.  This can be useful for post-deployment, cache-priming requests intended to populate the module cache in order to reduce the overhead of building the initial application layers.

OpenNTF » JavascriptAggregator #613 SUCCESS
This pull request looks good
(what's this?)

LGTM


maxRetries does extra request

From what I see here, if maxRetreis: 1, the maxAttempts = 2 and therefore it enters to the while loop twice instead of once.

This appears to be working; next time, please write a failing test rather than just looking at the source code!

@silesky thanks.
Why did you set the maxRetries to 0?
If this is intentional, IMO, this is very counter intuitive.

Why did you set the maxRetries to 0?
Yep; retries is much more 'idiomatic' as a setting for an SDK than attempts, which is why it was changed.


Update vendored ttyutils and cut a new version

Fix critical bug in status output that prevents booting in some environments.
https://github.com/burke/zeus/issues/567

review @burke? I'm going to roll this out at work quickly before merging to make sure everything works nicely.

LGTM.


Segmentation fault

Hi,
I've been trying to get your code working, and I'm almost there, but I still am getting a seg fault. The system is running, but it's not saving out any results. Here is what I am getting when I run your script.
Thanks for your help!

Sridhar

python ale_run.py --exp_pref data | more
RL-Glue Version 3.04, Build 909
A.L.E: Arcade Learning Environment (version 0.4.4)
[Powered by Stella]
Use -help for help screen.
Warning: couldn't load settings file: ./stellarc
Game console created:
ROM file:  /home/mahadeva/Documents/code/deep_rl/roms/breakout.bin
Cart Name: Breakout - Breakaway IV (1978) (Atari)
Cart MD5:  f34f08e5eb96e500e851a80be3277a56
Display Format:  AUTO-DETECT ==> NTSC
ROM Size:        2048
Bankswitch Type: AUTO-DETECT ==> 2K
Running ROM file...
Random Seed: Time
Game will be controlled through RL-Glue.
RL-Glue Python Experiment Codec Version: 2.02 (Build 738)
Connecting to <IP_ADDRESS> on port 4096...
Initializing ALE RL-Glue ...
Using gpu device 1: GeForce GTX 980
In file included from /usr/include/python2.7/numpy/ndarraytypes.h:1761:0,
from /usr/include/python2.7/numpy/ndarrayobject.h:17,
from /usr/include/python2.7/numpy/arrayobject.h:4,
from /home/mahadeva/.pyxbld/temp.linux-x86_64-2.7/pyrex/shift.c
:239:
/usr/include/python2.7/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "U
sing deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_
1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
In file included from /usr/include/python2.7/numpy/ndarrayobject.h:26:0,
from /usr/include/python2.7/numpy/arrayobject.h:4,
from /home/mahadeva/.pyxbld/temp.linux-x86_64-2.7/pyrex/shift.c
:239:
/usr/include/python2.7/numpy/__multiarray_api.h:1629:1: warning: ‘_import_array’
defined but not used [-Wunused-function]
_import_array(void)
^
In file included from /usr/include/python2.7/numpy/ufuncobject.h:327:0,
from /home/mahadeva/.pyxbld/temp.linux-x86_64-2.7/pyrex/shift.c
--More--Traceback (most recent call last):
File "./rl_glue_ale_agent.py", line 430, in
main()
File "./rl_glue_ale_agent.py", line 426, in main
AgentLoader.loadAgent(NeuralAgent())
File "/usr/local/lib/python2.7/dist-packages/rlglue/agent/AgentLoader.py", line 58, in loadAgent
client.runAgentEventLoop()
File "/usr/local/lib/python2.7/dist-packages/rlglue/agent/ClientAgent.py", line 144, in runAgentEventLoop
switchagentState
File "/usr/local/lib/python2.7/dist-packages/rlglue/agent/ClientAgent.py", line 137, in
Network.kAgentInit: lambda self: self.onAgentInit(),
File "/usr/local/lib/python2.7/dist-packages/rlglue/agent/ClientAgent.py", line 43, in onAgentInit
self.agent.agent_init(taskSpec)
File "./rl_glue_ale_agent.py", line 158, in agent_init
self.network = self._init_network()
File "./rl_glue_ale_agent.py", line 192, in _init_network
approximator='cuda_conv')
File "/home/mahadeva/Documents/code/deep_rl/deep_q_rl/cnn_q_learner.py", line 168, in init
target = theano.gradient.consider_constant(target)
AttributeError: 'module' object has no attribute 'consider_constant'
Segmentation fault (core dumped)
:240:
/usr/include/python2.7/numpy/__ufunc_api.h:241:1: warning: ‘_import_umath’ defin
ed but not used [-Wunused-function]
_import_umath(void)
^
RL-Glue Python Agent Codec Version: 2.02 (Build 738)
Connecting to <IP_ADDRESS> on port 4096...
Agent Codec Connected
(32, 4, 80, 80)
(4, 80, 80, 32)
(16, 19.0, 19.0, 32)
(32, 9.0, 9.0, 32)
(32, 32, 9.0, 9.0)
(32, 256)
(32, 18)
training epoch:  1 steps_left:  50000
training epoch:  1 steps_left:  49995
training epoch:  1 steps_left:  49993
training epoch:  1 steps_left:  49991
training epoch:  1 steps_left:  49989
training epoch:  1 steps_left:  49987
training epoch:  1 steps_left:  49985
training epoch:  1 steps_left:  49983
training epoch:  1 steps_left:  49981
training epoch:  1 steps_left:  49979
training epoch:  1 steps_left:  49977
training epoch:  1 steps_left:  49975
training epoch:  1 steps_left:  49973
training epoch:  1 steps_left:  49971
training epoch:  1 steps_left:  49969
training epoch:  1 steps_left:  49967
training epoch:  1 steps_left:  49965
training epoch:  1 steps_left:  49963
training epoch:  1 steps_left:  49961
training epoch:  1 steps_left:  49959
training epoch:  1 steps_left:  49957
training epoch:  1 steps_left:  49955
training epoch:  1 steps_left:  49953
training epoch:  1 steps_left:  49951
training epoch:  1 steps_left:  49949
training epoch:  1 steps_left:  49947
training epoch:  1 steps_left:  49945
training epoch:  1 steps_left:  49943
training epoch:  1 steps_left:  49941
training epoch:  1 steps_left:  49939

I think this is duplicate of Issue #3.   When I get a few minutes I will update the Readme to emphasize that this package requires recent github versions of Theano, Pylearn2 and ALE.   I've considered forking those packages to provide a set of known-working dependencies, but I would rather keep up-to-date by fixing issues as they arise.

Yes, I just saw that and rebuilt Theano. I've started another run
now...looks like it is finally working!
Thanks for your response!

Sridhar

python ale_run.py --exp_pref data
RL-Glue Version 3.04, Build 909
RL-Glue is listening for connections on port=4096
A.L.E: Arcade Learning Environment (version 0.4.4)
[Powered by Stella]
Use -help for help screen.
Warning: couldn't load settings file: ./stellarc
Game console created:
ROM file:  /home/mahadeva/Documents/code/deep_rl/roms/breakout.bin
Cart Name: Breakout - Breakaway IV (1978) (Atari)
Cart MD5:  f34f08e5eb96e500e851a80be3277a56
Display Format:  AUTO-DETECT ==> NTSC
ROM Size:        2048
Bankswitch Type: AUTO-DETECT ==> 2K
Running ROM file...
Random Seed: Time
Game will be controlled through RL-Glue.
RL-Glue Python Experiment Codec Version: 2.02 (Build 738)
Connecting to <IP_ADDRESS> on port 4096...
RL-Glue :: Experiment connected.
Initializing ALE RL-Glue ...
RL-Glue :: Environment connected.
Using gpu device 1: GeForce GTX 980
RL-Glue Python Agent Codec Version: 2.02 (Build 738)
Connecting to <IP_ADDRESS> on port 4096...
Agent Codec Connected
RL-Glue :: Agent connected.
(32, 4, 80, 80)
(4, 80, 80, 32)
(16, 19.0, 19.0, 32)
(32, 9.0, 9.0, 32)
(32, 32, 9.0, 9.0)
(32, 256)
(32, 18)
/home/mahadeva/Downloads/Theano/theano/gof/cmodule.py:289:
RuntimeWarning: numpy.ndarray size changed, may indicate binary
incompatibility
rval = import(module_name, {}, {}, [module_name])
OPENING  data_01-14-15-14_0p0001_0p9/results.csv
training epoch:  1 steps_left:  50000
Simulated at a rate of 55.4920442312/s
Average loss: 0.100790430055
training epoch:  1 steps_left:  49780
Simulated at a rate of 58.814803058/s
Average loss: 0.0572934835375
training epoch:  1 steps_left:  49597
Simulated at a rate of 60.2730953073/s
Average loss: 0.0623961077461
training epoch:  1 steps_left:  49271
Simulated at a rate of 53.5896811515/s
Average loss: 0.0776437076656
training epoch:  1 steps_left:  49144
On 01/14/2015 10:03 AM, Nathan Sprague wrote:

I think this is duplicate of Issue #3
https://github.com/spragunr/deep_q_rl/issues/3. When I get a few
minutes I will update the Readme to emphasize that this package
requires recent github versions of Theano, Pylearn2 and ALE. I've
considered forking those packages to provide a set of known-working
dependencies, but I would rather keep up-to-date by fixing issues as
they arise.
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-69928497.

I ran into a bit of difficulty doing a plot with the results.csv file.
Here is the output. Any suggestions?
Thanks,

Sridhar

ls -l data_01-14-15-14_0p0001_0p9/
total 17168
-rw-rw-r-- 1 mahadeva mahadeva    15754 Jan 14 10:44 learning.csv
-rw-rw-r-- 1 mahadeva mahadeva 17558418 Jan 14 10:29 network_file_1.pkl
-rw-rw-r-- 1 mahadeva mahadeva       95 Jan 14 10:31 results.csv
mahadeva@manifold:~/Documents/code/deep_rl/deep_q_rl$ python
plot_results.py data_01-14-15-14_0p0001_0p9/results.csv
Traceback (most recent call last):
File "plot_results.py", line 22, in
plt.plot(results[:, 0], np.convolve(results[:, 3], kernel,
mode='same'), '-*')
IndexError: too many indices
On 01/14/2015 10:03 AM, Nathan Sprague wrote:

I think this is duplicate of Issue #3
https://github.com/spragunr/deep_q_rl/issues/3. When I get a few
minutes I will update the Readme to emphasize that this package
requires recent github versions of Theano, Pylearn2 and ALE. I've
considered forking those packages to provide a set of known-working
dependencies, but I would rather keep up-to-date by fixing issues as
they arise.
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-69928497.

I haven't seen that before.  If you post the contents of results.csv (should be at most a few lines long), I can take a look at it.

Never mind, it works fine. I think I was trying to plot the results.csv
file when it only had two data points. That causes the error I sent you.
Now, it has 4 data points and it plots fine (see attached).

Sridhar

On 01/14/2015 11:09 AM, Nathan Sprague wrote:

I haven't seen that before. If you post the contents of results.csv
(should be at most a few lines long), I can take a look at it.
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-69940381.

Great!  The README has been updated.

Two additional questions: I noticed it is somewhat low on cpu usage. I'm using a beefy 16 processor machine. I've set Theano to use all 16 threads. Anything else I can do to speed it up?
Also, I have two GPUs. Any way to use both? Theano has a flag that tells it which GPU to use. I wonder if it can be made to use both.

Sridhar

....Sent from my iPhone

On Jan 14, 2015, at 12:13 PM, Nathan Sprague<EMAIL_ADDRESS>wrote:
Closed #6.
—
Reply to this email directly or view it on GitHub.

I haven't done any benchmarking for quite a while, but my recollection is that most of the bottlneck is on the GPU in Theano, and most of that time is spent computing the convolutions. This is followed by ALE (single thread), and overhead associated with RLGlue.   There isn't much for Theano to parallelize that isn't already running on the GPU.
I don't have any experience trying to get multiple GPUs working with Theano.  I'm skeptical that there would be a huge speedup.  I've run this code on several different GPUs with widely varying numbers of cores.  The performance seems to track the frequency of the GPU more than the number of available cores.
You might get some speedup by trying out some of the more recent convolution implementations that are being integrated into Theano -- in particular cuDNN.   Let me know if you have any luck.
-Nathan

OK, I realized I had not downloaded cuDnn, so it's possible that Theano
will go faster with that.
I just downloaded and installed it from nVidia.
My latest problem is that I can't get the SDL display to work. I've
compiled and installed the SDL libraries, but it doesn't find the header
files SDL.h (I've put the necessary include file -I/place/where/SDL/is
in the makefile, but nada so far.

Sridhar

On 01/14/2015 01:39 PM, Nathan Sprague wrote:

I haven't done any benchmarking for quite a while, but my recollection
is that most of the bottlneck is on the GPU in Theano, and most of
that time is spent computing the convolutions. This is followed by ALE
(single thread), and overhead associated with RLGlue. There isn't much
for Theano to parallelize that isn't already running on the GPU.
I don't have any experience trying to get multiple GPUs working with
Theano. I'm skeptical that there would be a huge speedup. I've run
this code on several different GPUs with widely varying numbers of
cores. The performance seems to track the frequency of the GPU more
than the number of available cores.
You might get some speedup by trying out some of the more recent
convolution implementations
http://deeplearning.net/software/theano/library/tensor/nnet/conv.html that
are being integrated into Theano -- in particular cuDNN. Let me know
if you have any luck.
-Nathan
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-69967163.

When you make Arcade Learning Environment, did you set the flag in makefile.unix ?
If you see page 11 of the manual that is enclosed with the ALE code it says,
To compile with SDL support, you should set USE_SDL=1 in the ALE makefile.
Hope that helps?

Yes, that's the problem. I can compile Ale with the USE_SDL flag set to 0. If I set this flag to 1, compilation fails because it can't find SDL.h (whose location I have set in the INCLUDES directive in the Makefile).

Sridhar

On Jan 14, 2015, at 7:57 PM, Ajay Talati<EMAIL_ADDRESS>wrote:
When you make Arcade Learning Environment, did you set the flag in makefile.unix ?
If you see page 11 of the manual that is enclosed with the ALE code it says,
To compile with SDL support, you should set USE_SDL=1 in the ALE makefile.
Hope that helps?
—
Reply to this email directly or view it on GitHub.

OK, everything works fine now! I had to install some missing SDL
packages, and also add some INCLUDE links.
The program's been running for a day now, and it does not seem to have
learned a very good policy for breakout. I'll give it another day and
see.  The learning definitely needs to be accelerated, perhaps with some
parameter tuning.
Thanks for all  your help!

Sridhar

On 01/14/2015 07:57 PM, Ajay Talati wrote:

When you make Arcade Learning Environment, did you set the flag in
|makefile.unix| ?
If you see page 11 of the manual that is enclosed with the ALE code it
says,
|To compile with SDL support, you should set USE_SDL=1 in the ALE
makefile.|
Hope that helps?
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-70022932.

In my synaptic package manager, it shows I have the dev libraries installed for
• libsdl2
• libsdl2-gfx
• libsdl2-image
Was it those libraries which were missing?

Yes, except  I installed the SDL versions of those, not SDL2. The code
is set up for SDL,
otherwise you have to go and change all the includes from "SDL/SDL.h" to
"SDL2/SDL.h".

Sridhar

On 01/15/2015 08:10 AM, Ajay Talati wrote:

In my synaptic package manager, it shows I have the dev libraries
installed for
• libsdl2
• libsdl2-gfx
• libsdl2-image
Was it those libraries which were missing?
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-70083166.

So, just to clear things up, I think/guess you need to have the following installed,
• libsdl1.2-dev
• libsdl-gfx1.2-dev
• libsdl-image1.2-dev
Hopefully that will help someone in the future?
====
I'd be really interested in your parameter tunings if you did manage to find a set which gave you faster learning.
Thanks,

Ajay

Discount rate of 0.95 helps quite a bit.
(Need a forum or something. An issue tracker on github doesn't seem like the right place for these conversations)

I started another run since I now have cuDNN installed. It makes a
difference since the game is now being simulated at a rate of around 65
steps/second (which is quite a bit faster than before). I also increased
the discount factor to 0.95. Will check on it in the evening to see how
it's progressing.

Sridhar

On 01/14/2015 01:39 PM, Nathan Sprague wrote:

I haven't done any benchmarking for quite a while, but my recollection
is that most of the bottlneck is on the GPU in Theano, and most of
that time is spent computing the convolutions. This is followed by ALE
(single thread), and overhead associated with RLGlue. There isn't much
for Theano to parallelize that isn't already running on the GPU.
I don't have any experience trying to get multiple GPUs working with
Theano. I'm skeptical that there would be a huge speedup. I've run
this code on several different GPUs with widely varying numbers of
cores. The performance seems to track the frequency of the GPU more
than the number of available cores.
You might get some speedup by trying out some of the more recent
convolution implementations
http://deeplearning.net/software/theano/library/tensor/nnet/conv.html that
are being integrated into Theano -- in particular cuDNN. Let me know
if you have any luck.
-Nathan
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-69967163.

I setup a forum, its WWW is,
http://deep-learning.boards.net/
If anyone wants to takeover/share the admin, that would be great?

@AjayTalati Thanks for taking the initiative to set that up.  I'd prefer to use a google web forum, if only because that's the mechanism used by other projects related to this one.  I've set something up at:
https://groups.google.com/forum/#!forum/deep-q-learning

The results that I am getting seem quite a bit worse than the published
NIPS paper.
Mean Q after 30 episodes on breakout as shown in the paper is around 2.
Mine are 10 times
lower, around 0.2. Similarly, reward per epoch should be around 50 and
stable.
Mine is very unstable, hovering between 3 and 10.
Clearly, something is amiss. Anyone get better results than this?

Sridhar

On 01/15/2015 08:50 AM, Alejandro Dubrovsky wrote:

Discount rate of 0.95 helps quite a bit.
(Need a forum or something. An issue tracker on github doesn't seem
like the right place for these conversations)
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-70087606.

30 epochs is rather too short a run, to say anything conclusive?
If you carry on to 100 epochs, your reward per episode score should get to around 60. Thats the 4th column in the results csv file.
Maybe Nathan can have a look at the headers in the csv file? I think they might be a labelling issue? The 4th column might be relabelled as reward_per_episode instead of the current reward_per_epoch?
As for the mean_Q value I'm still unsure of how exactly to calculate that? So if you know how to do it, I'd like to understand?

Sridhar, perhaps we should transfer this conversation over to the forum Nathan has setup?
https://groups.google.com/forum/#!forum/deep-q-learning

Yes, good idea. I posted my question there. After 80 episodes, my
results are quite poor. It has not learned much, if anything.

Sridhar

On 01/15/2015 08:00 PM, Ajay Talati wrote:

Sridhar, perhaps we should transfer this conversation over to the
forum Nathan has setup?
https://groups.google.com/forum/#!forum/deep-q-learning
https://groups.google.com/forum/#!forum/deep-q-learning
—
Reply to this email directly or view it on GitHub
https://github.com/spragunr/deep_q_rl/issues/6#issuecomment-70192143.


Compile against java6

Unsure if this is something that you care about.

ok, we definitely start cobolizing in the java community ;). Its probably safest to create a dedicated java6 branch .. thanks for your contribution

Would be wonderful to get java 6 compatible jars published to maven! I'm happy to help if there's anything you'd like from my end.
Thanks for the quick reply!

i merged this into a new branch also backported the tests (on fails: i70.java). I haven't run tests against a real jdk 1.6 (there might be missing methods used).
it's available on maven as 2.48-jdk1.6 or so (within some hours)

Wonderful, I can't thank you enough!


Packages for 0.4

Would it be possible to get the same set of packages set up for 0.3 to work for 0.4, now that it has been released?

:+1:

The pre-installed packages has created a lot of problems for maintenance. The earlier architecture did not allow for users to install their own packages. That has now been fixed, and the plan going forward is for users to maintain their own packages.
We have been going through a lot of package issues on JuliaBox in the last few weeks. Do see the recent issues.
Open to new ideas to help making this better.

@ViralBShah, for tutorials it's a huge boon to have a lot of the common packages already there and ready to use. Especially the optimization packages, which have large binary dependencies. We can't ask people to run Pkg.add() in a tutorial and wait 15 minutes for compilation to finish.

I'm also getting a lot of precompilation errors: e.g. I can't get either PyPlot, Winston or Gadlfy to work.

Yes, doing Pkg.build("Cbc") on a clean JuliaBox session is broken: https://github.com/JuliaLang/julia/issues/12508#issuecomment-149375414

Not to mention that the first using Gadfly takes minutes to run. I'm preparing a tutorial for this week and I can't say that Julia 0.4 on JuliaBox is in a presentable state, I'll be directing users to 0.3.

JuliaBox (with some modifications) can support multiple "package bundles". Package bundles are basically tar-gz of .julia folder, something like what is created by https://github.com/JuliaLang/JuliaBox/blob/master/container/interactive/setup_julia.sh. We can have anyone create and publish them on JuliaBox. Users can select the package bundle they need for their session.
This model can probably be tried out externally first, by building and putting up such bundles for download. Users can wget them and add them to the LOAD_PATH.

@tanmaykm, will that work with precompilation also?

I think precompilation uses Pkg.dir() only for the cache. So it will probably compile packages loaded from LOAD_PATH again on first use.

Can we try this out and confirm back to everyone? I think it is important to have a good experience for folks doing tutorials and such, and if package bundles work, that could be a good solution.
In the meanwhile, @mlubin it would be best to stay with 0.3.

This is exactly how packages are being loaded for 0.3 now.

The crux of the problem seems to be the Compat already loaded issue.
As it stands, JuliaBox is essentially unusable with 0.4.

created #319 to discuss on this topic further, please put up your ideas.


SceneTimeRange: Implement onZoom behavior

Zoom-out button in SceneTimePicker has an effect on the time range.
This implementation only handles zooming out,
I'm not sure what to do with the refresh and setting of the URL that happen on zoom-out in core: https://github.com/grafana/grafana/blob/main/public/app/features/dashboard/services/TimeSrv.ts#L290.
Fixes https://github.com/grafana/scenes/issues/299

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


[ALLUXIO-1945] Log an error when Swift output stream does not successfully close.

https://alluxio.atlassian.net/browse/ALLUXIO-1945

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9724/
Test PASSed.

LGTM

+1 LGTM.
thanks for the improvement!


Feature request: add react-native support

This library looks great, but is obviously designed to work in browsers.
Could you add support to load an image from an uri (including a file uris crucially) for use in react-native that bypasses any code that invokes in-browser classes (like Image and HTMLImageElement)?

+1 Here. Cannot find a good react native exif parser.

For react native, you can use this lib: https://github.com/mattiasw/ExifReader


making more pythonic - using Paths and list comprehension

used lib Paths + methods on it to simplify working with paths, added encoding,
simplified bookmark file not found exception with another,
used list comprehension instead of loop to get the target
tested script and bookmark file import

I don't mind making it more pythonic at all. Thank you!


How to detect the pose of multiple people？

I tested your model in pictures of multiple people and found that it seems that it is not possible to detect multiple people at the same time. Then I found a annotation in your program 'Originally, we try to find all the local maximums. To simplify a sample we just find a global one. However, only a single pose at the same time can be detected this way.' So is this model suitable for multi-person pose detection?If it can, how can I improve it?

Hi,
The main purpose of this repo is to show how to use MobileNet model in OpenCV. Actually, there are already some repos that do the multi-person pose detection. You can search it on github. I will try to implement that when I have time.

Thank you very much for your work, because the calculation of the multi-person attitude recognition method I know at present is very huge and time-consuming, so I hope to have a relatively fast and accurate method, and look forward to your updates in the future 👍


Add zoom capability

modify the CELL_SIZE constant

Now it looks awesome:

To zoom in or out press - and + keys. To resett zoom, press 0


fix(windows): bump window's WindowsTargetPlatformMinVersion

In RNW .72, we bump WinUI from 2.7 to 2.8 which targets a higher TargetPlatformMinVersion. This PR bumps the WindowsTargetPlatformMinVersion to the correct version for RNW .72

@dcvz Would you mind looking at this PR when you have the chance? This will block RNW apps from using version .72


DO NOT MERGE: coverage test

Coverage increased (+76.2%) to 76.453% when pulling 2990d900fc35371e45d8ddcfa93af960d3d4a1af on arcondello:coverage_test into aa1f91bbba666cdaf41bd039ceba333402f6eb60 on dwavesystems:master.


A JavaScript object is rendered in card pop-out

In the pop-out for cards, [object Object] is displayed instead of whatever should be there, e.g.:

Fixed by 89797282a655dcbf28d0b2a61ad301f60fc4f1ad


Fix Style/BlockDelimiters for blocks with numbered arguments

With EnforcedStyle of line_count_based, the default, the following code will issue an offense, and will be auto-corrected:
[1, 2, 3].map { |n| # [1, 2, 3].map do |n|
  n + 1             #   n + 1
}                   # end

While the code below won't be converted to a multiline do ... end block:
[1, 2, 3].map {
  _1 + 1
}

This is yet another case of missing on_numblock implementation. I see a dozen of those in the codebase and I think whenever we handle block AST nodes we should also handle numblock nodes. I can go over the codebase and fix those problems on a per-cop basis, or I can try to fix it generally.
Currently, my best idea is to write an InternalAffairs cop that warns when we define on_block handlers, but we miss a on_block implementation. For the majority of the cases, an on_numblock alias of the on_block method would be enough to handle blocks with numbered arguments. I can then use the internal co and systematically go over the cases and add aliases or custom numblock handlers where required. I think this is better than solutions involving meta-programming or default on_numblock implementations delegating to on_block.

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Highlight Row of a MatTable

Is there a way to highlight a MatTableRow based on conditional values in the row?
i.e. where @context.Prediction = @context.Result

@context.RowID
@context.Name
...
...
@context.Result
@context.Prediction

No, it's not possible. Internally in MatTable the TableRows (which is the class that holds the Selected property) are created by enumerating the items of the MatTable and rendering them according to the razor you put inside the MatTableRow parameter. The Selected property is only modified by the toggle from the onClick handler
@foreach (var item in ItemList)
{
    <TableRow Class="@RowClass" AllowSelection="@AllowSelection">@MatTableRow(item)</TableRow>
}

@markiemarkus ,
Can this be closed?

Below work-around worked for me.
Add a custom component and capture the Cascading Parameter Table Row and set Selected property via a parameter binding.
Eg Container component:

@ChildContent

@code{
    [Parameter]
    public RenderFragment ChildContent { get; set; }

    [Parameter]
    public bool IsSelected
    {
        get => Row == null ? false : Row.Selected;
        set
        {
            if (Row == null) return;
            Row.Selected = value;
        }
    }

    [CascadingParameter]
    public TableRow Row { get; set; }
}


DHT support

Suppoert for BEP5 would be awesome.

I can't see the DHT protocol implementation. Just some "pieceLength" adds ...

Can you consider using openchord ?

@cjmalloy Can you recall the state of your merge? Is DHT functional?

@Jotschi I highly doubt it. I mostly did the merge to try and isolate the dht code for inspection. Who knows it the branch AnDyXX was working on was finished.

I tried openchord and it is working very well and is very generic. You'll nedd few modifications to bind it to ttorrent.

I've also used tomp2p, which I'm a fan of. It would make sense to label this a feature request. I'd love DHT features in this.

@icemagno It seems code base of open chord is no longer maintained by anyone for several years...

anyone for https://github.com/the8472/mldht ?

I am working on this now. Will push to my fork for feedback in the coming 2 weeks and then submit a PR

Any updates?


Add create_unique_workdir option to the Dask and Local executors

Note: This PR should not be merged or reviewed until #1641 is merged, as this branch is itself a branch of @madhur-tandon's PR.
Addresses #1628 for the Dask and Local executors, mimicking the approach used in the Slurm executor for consistency.

[x] I have added the tests to cover my changes.
[x] I have updated the documentation and CHANGELOG accordingly.
[x] I have read the CONTRIBUTING document.

Hi @arosen93
Thanks for extending my PR 😄
I skimmed through and added very minor comments....syntactic sugar basically.
But, when https://github.com/AgnostiqHQ/covalent/pull/1641 gets reviewed and/or merged, you can perhaps rebase on top of it then.
Thanks again!

I kind of screwed up the branch merging here (oops...) so I'll close and start fresh when #1641 is merged :)

@arosen93 Let me know if you want me to extend this perhaps?

While I'd certainly by all means appreciate it, you've already done a lot so do whatever you wish! I don't want to burden you with more work. Sadly, I kind of screwed up with git here and I don't think commits aren't visible in this PR anymore :( Luckily, I still had the files locally. I've put the relevant info below both for you and myself.
dask.py

# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
#      https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

"""
Module for defining a Dask executor that submits the input python function in a dask cluster
and waits for execution to finish then returns the result.

This is a plugin executor module; it is loaded if found and properly structured.
"""

import os
from pathlib import Path
from typing import Callable, Dict, List, Literal, Optional

from dask.distributed import CancelledError, Client, Future

from covalent._shared_files import TaskRuntimeError, logger

# Relative imports are not allowed in executor plugins
from covalent._shared_files.config import get_config, set_config
from covalent._shared_files.exceptions import TaskCancelledError
from covalent._shared_files.utils import _address_client_mapper
from covalent.executor.base import AsyncBaseExecutor
from covalent.executor.utils.wrappers import io_wrapper as dask_wrapper

# The plugin class name must be given by the executor_plugin_name attribute:
EXECUTOR_PLUGIN_NAME = "DaskExecutor"

app_log = logger.app_log
log_stack_info = logger.log_stack_info

_EXECUTOR_PLUGIN_DEFAULTS = {
    "log_stdout": "stdout.log",
    "log_stderr": "stderr.log",
    "cache_dir": os.path.join(
        os.environ.get("XDG_CACHE_HOME") or os.path.join(os.environ["HOME"], ".cache"), "covalent"
    ),
    "workdir": os.path.join(os.environ["HOME"], "covalent", "workdir"),
    "create_unique_workdir": False,
}

class DaskExecutor(AsyncBaseExecutor):
    """
    Dask executor class that submits the input function to a running dask cluster.
    """

    def __init__(
        self,
        scheduler_address: str = "",
        log_stdout: str = "stdout.log",
        log_stderr: str = "stderr.log",
        conda_env: str = "",
        cache_dir: str = "",
        workdir: str = "",
        create_unique_workdir: Optional[bool] = None,
        current_env_on_conda_fail: bool = False,
    ) -> None:
        if not cache_dir:
            cache_dir = _EXECUTOR_PLUGIN_DEFAULTS["cache_dir"]

        if not workdir:
            try:
                workdir = get_config("executors.dask.workdir")
            except KeyError:
                workdir = _EXECUTOR_PLUGIN_DEFAULTS["workdir"]
                info_msg = f"Couldn't find `executors.dask.workdir` in config, creating a default one at {workdir}"
                app_log.info(info_msg)
                print(info_msg)

        if create_unique_workdir is None:
            try:
                create_unique_workdir = get_config("executors.dask.create_unique_workdir")
            except KeyError:
                create_unique_workdir = _EXECUTOR_PLUGIN_DEFAULTS["create_unique_workdir"]

        if not scheduler_address:
            try:
                scheduler_address = get_config("dask.scheduler_address")
            except KeyError:
                app_log.debug(
                    "No dask scheduler address found in config. Address must be set manually."
                )

        super().__init__(log_stdout, log_stderr, conda_env, cache_dir, current_env_on_conda_fail)

        self.scheduler_address = scheduler_address
        self.workdir = workdir
        set_config("executors.dask.workdir", self.workdir)
        self.create_unique_workdir = create_unique_workdir

    async def run(self, function: Callable, args: List, kwargs: Dict, task_metadata: Dict):
        """Submit the function and inputs to the dask cluster"""

        if await self.get_cancel_requested():
            app_log.debug("Task has cancelled")
            raise TaskCancelledError

        dispatch_id = task_metadata["dispatch_id"]
        node_id = task_metadata["node_id"]

        if self.create_unique_workdir:
            current_workdir = os.path.join(self.workdir, dispatch_id, "node_" + str(node_id))
        else:
            current_workdir = self.workdir
        Path(current_workdir).mkdir(parents=True, exist_ok=True)

        dask_client = _address_client_mapper.get(self.scheduler_address)

        if not dask_client:
            dask_client = Client(address=self.scheduler_address, asynchronous=True)
            _address_client_mapper[self.scheduler_address] = dask_client
            await dask_client

        future = dask_client.submit(dask_wrapper, function, args, kwargs, current_workdir)
        await self.set_job_handle(future.key)
        app_log.debug(f"Submitted task {node_id} to dask with key {future.key}")

        try:
            result, worker_stdout, worker_stderr, tb = await future
        except CancelledError:
            raise TaskCancelledError()

        print(worker_stdout, end="", file=self.task_stdout)
        print(worker_stderr, end="", file=self.task_stderr)

        if tb:
            print(tb, end="", file=self.task_stderr)
            raise TaskRuntimeError(tb)

        # FIX: need to get stdout and stderr from dask worker and print them
        return result

    async def cancel(self, task_metadata: Dict, job_handle) -> Literal[True]:
        """
        Cancel the task being executed by the dask executor currently

        Arg(s)
            task_metadata: Metadata associated with the task
            job_handle: Key assigned to the job by Dask

        Return(s)
            True by default
        """
        dask_client = _address_client_mapper.get(self.scheduler_address)

        if not dask_client:
            dask_client = Client(address=self.scheduler_address, asynchronous=True)
            _address_client_mapper[self.scheduler_address] = dask_client
            await dask_client

        fut: Future = Future(key=job_handle, client=dask_client)
        await fut.cancel()
        app_log.debug(f"Cancelled future with key {job_handle}")
        return True

local.py

# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
#      https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

"""
Module for defining a local executor that directly invokes the input python function.

This is a plugin executor module; it is loaded if found and properly structured.
"""

import os
from concurrent.futures import ProcessPoolExecutor
from pathlib import Path
from typing import Any, Callable, Dict, List, Optional

# Relative imports are not allowed in executor plugins
from covalent._shared_files import TaskCancelledError, TaskRuntimeError, logger
from covalent._shared_files.config import get_config, set_config
from covalent.executor import BaseExecutor

# Store the wrapper function in an external module to avoid module
# import errors during pickling
from covalent.executor.utils.wrappers import io_wrapper

# The plugin class name must be given by the executor_plugin_name attribute:
EXECUTOR_PLUGIN_NAME = "LocalExecutor"

app_log = logger.app_log
log_stack_info = logger.log_stack_info

_EXECUTOR_PLUGIN_DEFAULTS = {
    "log_stdout": "stdout.log",
    "log_stderr": "stderr.log",
    "cache_dir": os.path.join(
        os.environ.get("XDG_CACHE_HOME") or os.path.join(os.environ["HOME"], ".cache"), "covalent"
    ),
    "workdir": os.path.join(os.environ["HOME"], "covalent", "workdir"),
    "create_unique_workdir": False,
}

proc_pool = ProcessPoolExecutor()

class LocalExecutor(BaseExecutor):
    """
    Local executor class that directly invokes the input function.
    """

    def __init__(
        self, workdir: str = "", create_unique_workdir: Optional[bool] = None, *args, **kwargs
    ) -> None:
        if not workdir:
            try:
                workdir = get_config("executors.local.workdir")
            except KeyError:
                workdir = _EXECUTOR_PLUGIN_DEFAULTS["workdir"]
                info_msg = f"Couldn't find `executors.local.workdir` in config, creating a default one at {workdir}"
                app_log.info(info_msg)
                print(info_msg)

        if create_unique_workdir is None:
            try:
                create_unique_workdir = get_config("executors.dask.create_unique_workdir")
            except KeyError:
                create_unique_workdir = _EXECUTOR_PLUGIN_DEFAULTS["create_unique_workdir"]

        super().__init__(*args, **kwargs)
        self.workdir = workdir
        self.create_unique_workdir = create_unique_workdir
        set_config("executors.local.workdir", self.workdir)

    def run(self, function: Callable, args: List, kwargs: Dict, task_metadata: Dict) -> Any:
        """
        Execute the function locally

        Arg(s)
            function: Function to be executed
            args: Arguments passed to the function
            kwargs: Keyword arguments passed to the function
            task_metadata: Metadata of the task to be executed

        Return(s)
            Task output
        """
        app_log.debug(f"Running function {function} locally")

        self.set_job_handle(42)

        if self.get_cancel_requested():
            app_log.debug("Task has been cancelled don't proceed")
            raise TaskCancelledError

        dispatch_id = task_metadata["dispatch_id"]
        node_id = task_metadata["node_id"]

        if self.create_unique_workdir:
            current_workdir = os.path.join(self.workdir, dispatch_id, "node_" + str(node_id))
        else:
            current_workdir = self.workdir
        Path(current_workdir).mkdir(parents=True, exist_ok=True)

        # Run the target function in a separate process
        fut = proc_pool.submit(io_wrapper, function, args, kwargs, current_workdir)

        output, worker_stdout, worker_stderr, tb = fut.result()

        print(worker_stdout, end="", file=self.task_stdout)
        print(worker_stderr, end="", file=self.task_stderr)

        if tb:
            print(tb, end="", file=self.task_stderr)
            raise TaskRuntimeError(tb)

        return output

dask test

def test_dask_executor_with_unique_workdir(mocker):
    from dask.distributed import LocalCluster

    with tempfile.TemporaryDirectory() as tmp_dir:
        lc = LocalCluster()
        de = ct.executor.DaskExecutor(
            lc.scheduler_address, workdir=tmp_dir, create_unique_workdir=True
        )

        mock_get_cancel_requested = mocker.patch.object(
            de, "get_cancel_requested", AsyncMock(return_value=False)
        )
        mock_set_job_handle = mocker.patch.object(de, "set_job_handle", AsyncMock())

        def simple_task(x, y):
            with open("job.txt", "w") as w:
                w.write(str(x + y))
            return "Done!"

        args = [1, 2]
        kwargs = {}
        task_metadata = {"dispatch_id": "asdf", "node_id": 1}
        result = asyncio.run(de.run(simple_task, args, kwargs, task_metadata))
        w = os.path.join(
            tmp_dir, task_metadata["dispatch_id"], "node_" + str(task_metadata["node_id"])
        )
        assert result == "Done!"
        assert os.listdir(w) == ["job.txt"]
        assert open(os.path.join(w, "job.txt")).read() == "3"

        mock_get_cancel_requested.assert_awaited()
        mock_set_job_handle.assert_awaited()

local test

def test_local_executor_with_unique_workir(mocker):
    with tempfile.TemporaryDirectory() as tmp_dir:
        le = ct.executor.LocalExecutor(workdir=tmp_dir, create_unique_workdir=True)

        mock_set_job_handle = mocker.patch.object(le, "set_job_handle", MagicMock(return_value=42))
        mock_get_cancel_requested = mocker.patch.object(
            le, "get_cancel_requested", MagicMock(return_value=False)
        )

        args = [1, 2]
        kwargs = {}
        task_metadata = {"dispatch_id": "asdf", "node_id": 1}
        assert le.run(simple_task, args, kwargs, task_metadata)
        w = os.path.join(
            tmp_dir, task_metadata["dispatch_id"], "node_" + str(task_metadata["node_id"])
        )
        assert os.listdir(w) == ["job.txt"]
        assert open(os.path.join(w, "job.txt")).read() == "3"

        mock_set_job_handle.assert_called_once()
        mock_get_cancel_requested.assert_called_once()

@kessler-frost / @santoshkumarradha Do you guys recommend to extend the existing PR i.e. https://github.com/AgnostiqHQ/covalent/pull/1641 or perhaps make a new PR just like @arosen93 did with this.

I have accommodated changes for create_unique_workdir within https://github.com/AgnostiqHQ/covalent/pull/1641 itself.
CC: @kessler-frost @santoshkumarradha @arosen93

Greatly, greatly appreciated!!!


Format errors from ethjs-rpc libraries correctly

ethjs-query
Hi,
Every time metamask gets an RPC error, it provides this incorrect error message and a convoluted JSON.

The problem is not an error in formatting the RPC output (this [ethjs-query] while formatting outputs from RPC log was copied from the code above it which does handle formatting errors and I think was not changed by accident).
The actual problem is that the ethjs-rpc library throws an error when it receives an error response from the RPC. This Is a normal javascript Error object with the RPC error object attached as a value parameter (see: https://github.com/MetaMask/ethjs-rpc/blob/6dcd6d298f5041f14dc8fa90e2f63fc185f3e886/src/index.js#L52). The RPC error object is to spec (i.e. {code: <code>, message: <msg>}). This error is currently caught, but it isn't parsed correctly, leading to the strange message in metamask.
This PR adds code which parses the RPC error into a more friendly human-readable string, which can then be used by metamask to more gracefully display RPC errors. It should not break anything as it is just changing the Error string.

[x] You have followed our contributing guidelines
[x] Pull request has tests (we are going for 100% coverage!)
[x] Code is well-commented, linted and follows project conventions
[x] Documentation is updated (if necessary)
[x] Internal code generators and templates are updated (if necessary)
[x] Description explains the issue/use-case resolved and auto-closes related issues

Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)
IMPORTANT: By submitting a patch, you agree to allow the project
owners to license your work under the terms of the MIT License.

@pangolin1 I think we're going to want this work but I'm not sure if the changes to package-lock.json is necessary for your work? I had very similar changes locally that will solve a problem for the MetaMask team that results in a wide variety of RPC errors being bucketed into the same sentry report due to the errors being re-thrown at the code line you've changed in this PR.
We ideally will want to land #5 first and then put this into a new release soon.

sorry I don't know why the package,json file changed - possibly when i ran tests? I can roll this back


完善节点组功能

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


refactor:support cose signature format

What
Refactor notation-go to support cose envelope
Background can be checked out in https://github.com/notaryproject/notation/discussions/278
Currently it uses dependencies from cose branch
Major Changes

Use package github.com/notaryproject/notation-core-go/signature to sign and verify
Combine runner and signer to a provider for pluginSigner to sign and remove pluginSigProvider
Add builtinProvider to support local signing and externalProvider to support signing by plugin
Move VerificationPlugin and VerificationPluginMinVersion to ExtendedAttributes
Retrieve VerificationPlugin and VerificationPluginMinVersion by calling signerInfo.ExtendedAttribute
Add SignatureMediaType to PutSignatureManifest to support different types of signatures
Support new keySpec
Add GuessSignatureEnvelopeFormat to inspect signature (This function may change later to better inspect a signature)
Add sign/verify from file test cases
Remove unused code
Update go.mod dependency
Some minor clean up

Suggested review order

signature/plugin.go and signature/provider.go
signature/signer.go
signature/algorithm.go
All files except tests
signature/plugin_test.go and signature/provider_test.go
All test files left

Signed-off-by: zaihaoyin<EMAIL_ADDRESS>

Codecov Report

Merging #127 (4b812a5) into main (a9fb055) will increase coverage by 2.53%.
The diff coverage is 87.33%.

@@            Coverage Diff             @@
##             main     #127      +/-   ##
==========================================
+ Coverage   72.66%   75.19%   +2.53%
==========================================
  Files          36       39       +3
  Lines        2491     2633     +142
==========================================
+ Hits         1810     1980     +170
+ Misses        544      510      -34
- Partials      137      143       +6

Impacted Files
Coverage Δ

config/config.go
82.35% <ø> (ø)

plugin/plugin.go
0.00% <ø> (ø)

signature/provider.go
74.46% <74.46%> (ø)

signature/verifier.go
58.62% <75.00%> (+20.68%)
:arrow_up:

signature/signer.go
38.23% <80.00%> (-13.58%)
:arrow_down:

verification/verifier_helpers.go
72.40% <81.08%> (-1.25%)
:arrow_down:

signature/plugin.go
83.05% <87.87%> (+14.55%)
:arrow_up:

registry/repository.go
91.53% <100.00%> (ø)

signature/algorithm.go
100.00% <100.00%> (ø)

signature/envelope.go
100.00% <100.00%> (ø)

... and 6 more

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


calc_streak() doesn't actually take a data.frame

The Help for calc_streak() says:
x A data frame or character vector of hits ("H") and misses ("M").

But it won't actually work with a data frame argument.
kobe_basket %>% select(shot) %>% calc_streak()
Error in calc_streak(.) :
  Input should only contain hits ("H") and misses ("M")

Could it?

It could, but actually in the lab we have it use the $ operator, so it doesn't need to. Since it's a one off function just used in this lab, I am not sure if it's worth it to update, but let me know if you disagree.


Question: Force a commentstring for filetype?

Is there any way to force a filetype to use a certain commentstring, even though there are different TS languages inside the file?
An example is a twig file, like this:
{% for item in items %}
  <div>
    {{ item.title }}
  </div>
{% endfor %}

In this case I would always want a twig style comment ({# %s #}), even if commenting the html parts.

First of all, please use discussions for user questions next time.
Adding the commentstring to lang with ft shoyld wok


feat(window-list): allow customization of window list position

Allow customization of the window list position with @catppuccin_status_justify

Duplicate of #145


Consider making the repo auto imports use the v3 GitHub REST API

This would potentially allow us to support GitHub repo auto imports without a token (need to validate this). It would only work for public repos, but it could enable an interesting onboarding path for someone trying out MergeStat without needing to setup a token (and still see data for a lot of repos)

We managed to make  the feature with Rest API approach . The only  downside  is that this Syncs wont work withour proper validation

PR Commits
Pr Reviews
Repo Issues
Repo metadata
Pull Requests
Repo Stars


os: add OCI release job

Adds a seperate release job specifically for OCI. This is a temporary
workaround until the new OCI SDK launches and we're able to build out
the plume command for the OCI platform.
Currently only the alpha channel will be released.

Update pushed addressing comments

Added file mode change to drop the WARNING's from the oci tool.


Spelling improvements, Removal of Linq usage, Code styling

PR Details
Improved spelling, improved coding style, removal of Linq usage
Motivation and Context
Feedback from community
Types of changes

[x] Docs change / refactoring / dependency upgrade

Checklist

[x] My change requires a change to the documentation.

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


Added how to launch a channel

Closes https://github.com/JuliaLang/juliaup/issues/185.
Adds information about how to launch a specific channel. Originally only in the README.md.
The information should also be added to the output from juliaup help. I am however unable to parse the code/locate the right file enough to figure out where to add it. I am envisioning something like the second line I have added under USAGE blow:
PS C:\Users\username> juliaup
Juliaup 1.4.1

The Julia Version Manager

USAGE:
    juliaup.exe <SUBCOMMAND>
    julia +<channel>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    add        Add a specific Julia version or channel to your system
    default    Set the default Julia version
    gc         Garbage collect uninstalled Julia versions
    help       Print this message or the help of the given subcommand(s)
    link       Link an existing Julia binary to a custom channel name
    remove     Remove a Julia version from your system
    status     Show all installed Julia versions
    update     Update all or a specific channel to the latest Julia version

Yeah, good idea. I'm also not entirely sure how to add that help text, though :) That is somehow auto generated by clap from something.


Nice project, poor choice of license

...

Why? Is it stopping you from doing something with it?

That would be because most node modules are apache/mit/bsd/isc licenses, all of which having no side effects as gpl3 does.


Incompatable with carpet

https://gist.githubusercontent.com/natanfudge/b855b13c1974d14e2ba6bd8dfad611c2/raw/45df721f4625a48cac747d24b7f40cf1f94ac418/crash.txt

Thanks!
I checked the Carpet mod's source, and I see why they are incompatible... I don't know how to fix Blast Rod for better compatibility, though. Any suggestion is welcome.


MultipleStringLiteralsChecker confused by interpolated strings

Consider the following:
def someFunc(): Unit = {
  val x = 1
  val y = 2
  val a = s"$x" // <-- MulipleStringLiteralsChecker rejects with: The string literal " appears 2 times in the file.
  val b = s"$y"
  // ...

The MultipleStringLiteralsChecker seems to think that s"$x" and s"$y" are identical string literals.
Even the error message is a little odd, since the offending literal is usually displayed within a pair of double quotes (e.g. The string literal "multiple" appears 5 times in the file.). In this case, there is just a single double quote.
I'm using Scalastyle 0.9.0.

Whoops. Looks like this is a duplicate of Issue #100. Closing.


Port.empty() refactor

Resolves #103 , forcing Port.empty() to be used for intermediate ports, and refactors existing code to push this through. Defines Port.empty() in infrastructure (structured as clearing all initializers)
Also:

Refactor the port initializer code to be centralized in Port, in preparation for IO arrays.
Clean up a bunch of cruft
Get rid of the ignore_* in the creation of proto - this silently drops data
Internally, initializers are treated as mutable (in infrastructure only) and copied on a clone operation. Previously, all state must have been captured in the init arguments, which is too limiting for heterogeneous IO (eg, a SPI port consisting of micro pins with different digital characteristics). This enables that.
Refactor the Ground() not-a-port port so it can also support Ground.empty()
Refactor this through all the examples and libraries

This is blocking the array IO refactor and is frontend only, so I'm just going ahead and merging this. @rohit507 feel free to do a post-merge audit if you'd like.
I'm not completely happy with the syntax: I think eg. DigitalBidir() should be empty, and we should have DigitalBidir.ideal() or something for the ideal case, not the other way around as currently implemented, but this is difficult in Python. But because the semantics are split now, static analysis tooling can help us change that if desired in the future.


Change the Screen Size

i test select device mobile,chrome.
and this the screenshot view in my computer.
How can i change the screen, with normal size or custom size view in computer ?.

await plugin.useFingerprint(await readFile(fingerprint, 'utf8'), {
emulateDeviceScaleFactor: false
});

await plugin.useFingerprint(await readFile(fingerprint, 'utf8'), {
    emulateDeviceScaleFactor: false
  });

thanks, it's perfect


Bump uWebSockets to v20.51.0 to add support for Node.js v23

https://github.com/kartikk221/hyper-express/pull/323

This has been pushed in the latest v6.17.3 update.


v3 breaking change: recursive file/folder traversal

Hi @cesarParra it's been some time since I haven't revisited your work so congrats for the v3 releases.
I'm trying to upgrade Apex Recipes to the latest version of apexdocs and I realize that there's an undocumented change of behavior likely introduced in v3.
In v2, I would run:
apexdocs-generate -p global public private protected namespaceaccessible -s force-app/main/default/classes

Based on the v3 docs, I assume that I now need to run this command for the same results (new bin file name, markdown param, required quotes for scopes):
apexdocs markdown -p "global public private protected namespaceaccessible" -s force-app/main/default/classes

This command executes without error but it doesn't cover any apex files (I only get an empty index.md). I assume that it has to do with the recursive behavior change introduced in v3 and the specific structure of Apex Recipes with some intermediate "recipe group" folders likes this:
force-app/main/default/classes/
  Async Apex Recipes/
    file1.cls
    file2.cls
    ...
  Collection Recipes/
    file1.cls
    file2.cls
    ...
  ...

Does this qualify as a bug or is it the new expected behavior?

Additional investigations:

running the above v3 command takes some time so I think that the tool is indeed parsing the Apex files but it doesn't output anything
if I change the above command to point to a specific folder that contains Apex files directly such as force-app/main/default/classes/Async Apex Recipes it doesn't output anything as well.

Thanks @pozil
Yeah, I would say that is a bug. Ideally all .cls files are found no matter where they are. The only "breaking" change expected is that now the accompanying meta.xml file should be present, whereas that wasn't a requirement before

Actually, the issue seems to be because of the quotes " in the scopes (-p) argument. Without those you should get the desired output:
apexdocs markdown -p global public private protected namespaceaccessible -s force-app/main/default/classes

Damn, sorry, and thanks for the quick reply.
I added the quotes because the command was complaining about the "public" value. I initially thought that it was because of the missing quotes but in fact, it was because I hadn't added the markdown parameter in my first attempt.


doc: systemd-dev should be systemd-devel

I tried on Fedora and Centos, I believe it should be systemd-devel

Thanks! I've created a fix this issue.


Support Metrics Report June 2021

Support Metrics Report June 2021
This report looks at the trends around support to help us better understand areas we need to improve and highlight key topics for the month.
Tickets received

The number of tickets received increased by 24% from 1,172 in May to 1,452 in June. During April we linked all the OC emails to go through FreshDesks. This meant that notifications of new applications received and expenses notifications are now coming through FreshDesk and impacting the number of tickets received. By removing blank tickets, expenses notifications where no action was required, the rise during June was 27% with 590 tickets compared to 461 in May. You can find the detailed listings here.

Trends and Recommendations
After removing irrelevant tickets, we had 590 that required support attention. It is worth noting the following areas:
Expenses
There is quite a significant increase in expense related enquiries and comments related both to OCF and OSC.
OSC saw an increase due to the big payouts resulting from Season of Docs and the FundOSS 1st round coming to a close, which resulted in the obvious increase of volumes we processed through the month as well as having a big wave of new submitters coming through who are less familiar with the process of submitting expenses, which naturally resulted in an increase in questions raised.
The contributors to the increase with OCF vary - the main contributors are follow-ups as part of cash assistance requests (though it looks like these volumes, in general, seem to come down), enquiries related to process around documentation required to support payment and general increase related to new initiatives joining in and getting more familiar with the process of raising and approving claims.
Given the variety of expenses processed and the different nature of operations we support through OCF, this month it became clear how, in some instances, it can be really useful to have more than one host admin to review expenses before getting them paid out. We identified that one collective was engaging in some lobbying activity (which is in breach of OCF terms) where the expense in question was not flagged in time and so we are now looking into determining internal guidelines to approach the process of authorizing payments.
Onboarding
Similar to expenses, any new applications notifications received now are going through FreshDesks. This is the reason for the spike in the number of hosting application tickets.
Onboarding related questions are still some of the common ones we receive, however, there seems to be a little drop in new collectives onboarded with OCF, there is a 35% increase in the number of new groups joining OSC. Here is how it was distributed:
We approved 27 new applications for OCF  compared with 25 in May.
For OSC -  89 new collectives were approved this month compared to 128 in May.
[Note - now that we can run queries through Metabase with more ease these numbers are more accurate as we can easily picked the applications we approved during the month rather than those created during the month so the May numbers are updated in comparison with the previous month]_
In the OCF space, we are looking into our onboarding process and moving into a place of building more focus on what our strategic direction should be as we are expanding our focus on the communities we serve. We expect the next few months to be an exciting phase as new groups join in with a wider focus on impact.
There is also more work to be done in the OSC space around how we improve the onboarding of new groups and this is a space to watch.
Virtual Cards
Virtual cards pilot continues to be a strong focus this month and the requests keep coming through. We currently have 63 active cards for collectives hosted under OSC and 11 for collectives under OCF.
One thing noted through support tickets received for requests made for OSC is that very often there is not sufficient information included in the initial request - missing the vendor name and more frequently the monthly limit of the spend. Would be good if these elements would be more visible on the application form to ensure we gather all the information we need without the need to follow up with the collective admin. It seems we already are incorporating restrictions on new collectives making requests even before they were approved for hosting and it would be good to determine clear specifications on the minimum time the collective is active before they can make a request to receive a new card. It seems like we considered a minimum period of 3 months and if this is the decision we make it should be clearer in the application process.
Other things worth noting:

This month Ember joined as a lead person on the support function and this has been such a welcomed addition! Super exciting to have the support team growing!
Nathan and @alanna are leading the research work into getting the option of grants integrated for initiatives looking to issuing those. We paused that offering initially and now ensure we tick all the IRS compliance boxes before moving ahead in that space. If we are able to figure this out, it will help us in making the expenses processing a lot easier on a few of our initiatives and we are hoping to integrate the projects feature to monitor the reporting and associated budgets. Watch this space!

closing this out so we only have the most recent report 'open'


Allow 100 chars per source line and check for non-allowed tabs etc.?

Linux just changed the 80char hard limit to a soft limit and made the hard limit 100chars.  See slashdot or go to the source: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bdc48fa11e46f867ea4d75fa59ee87a7f48be144
Between that, @ddvo's indent rewrite, etc., should there be a patch-check?  Even as simple as grepping for tabs in other than makefile templates. :)

Linux just changed the 80char hard limit to a soft limit

I'd be glad if more than 80 chars would be allowed per line.
Display space isn't that scarce any more these days :smile:
100 chars sounds reasonable to me.

Between that, @DDvO's indent rewrite, etc.,

The check-format.pl tool just checks indentation etc. but does not rewrite anything.

BTW, we still have the open issue #10725 on updating the coding guidelines.

yes, it's a check

Marking as inactive, to be closed at the end of 3.4 dev, barring further input

The questions remain: shall we allow 100 chars per line, and automatically check for tabs, etc.?

yes, but given that the question was asked, and received no concrete response, the implicit answer is no.
If you disagree, would you be willing to open PRs to update the coding style guidelines and adjust the check-patch.pl script accordingly?

There is no checkpatch.pl in OpenSSL.
Yet I am willing to adapt the coding guidelines and check-format.pl if @openssl/otc decides to allow 100 chars per line.

Made the issue title to the point.

@DDvO Thank you, marking this as a community issue then and assigning you, will bring up on the next OTC meeting

**OTC: 80 characters is a soft limit. At the moment there are too many places where we exceed even the 100 characters limit. It would be nice to have CI check for this but without fixing (or somehow waiving) these existing places we cannot enforce such check.
The other possible coding style CI checks that could be enforced should include non-allowed tabs and trailing spaces, EOLs and missing EOLs at EOF.**

check-format.pl already checks for non-printable chars like TAB.
Extending the allowed line length to 100 is done by #24841 (which is to be merged tomorrow).


Adding merge_default_fields function to handle permission errors on sample objects

[x] I incremented the version in the VERSION file
[x] I updated CHANGELOG.md
[x] I added test coverage for any changes

Looking bueno

To get the tests passing, go into the settings tab, then Secrets, then add the WORKSPACE_TOKEN env var


Mining before sync.

https://github.com/dashpay/dash/commit/ac488d70b96c9de9f8ff615468d99aeb1180702a

now this also get's reverted. https://github.com/dashpay/dash/commit/7bef018c2253d99f0b6b9e390916e3389342428e
so something to look into

@Infernoman could you close this now we have switched to PoS?

Bump


refactor(prune-types/prune): move PruneLimiter to reth-prune

Closes https://github.com/paradigmxyz/reth/issues/13149.
I tried to limit the changes @mattsse.

ty!


Error "Missing attendee email" when trying to create an event in google calendar

Discussed in https://github.com/calcom/docker/discussions/190

Originally posted by SuperKa3a December 20, 2022
Hi!
I installed cal.com via docker.
Then I set up the Google Calendar integration as written here: https://github.com/calcom/cal.com#obtaining-the-google-api-credentials
After that, the application appeared in the list of all applications and I added it.
Now when I try to book an appointment, I get an error in the logs: "There was an error contacting google calendar service:  GaxiosError: Missing attendee email."
I took the request being sent to the google api, compared it with what is expected and realized that when sending, an extra "rest" nesting is generated in the "attendees" block:
https://pastebin.com/raw/5TESLGnh
When i repeated the given request in postman i got the same error, but when i removed the "rest" block, the request became successful and the event was successfully added to the calendar.
Tell me, has anyone experienced this? What can be done in this case?

In the .env that you provide for docker, you may need to remove any quotation marks that wrap the variable value.
Otherwise, this is likely an issue that needs to be opened in the cal.com repository

@krumware do you mean the GOOGLE_API_CREDENTIALS parameter? It exactly matches the contents of the client_secret.json file from the Google application, there are no extra quotes. At the same time, the integration itself was successful, that is, the request and granting of rights

Yes, along with other variables. Env config issues is a common cause, so it's helpful to start there. If those are correct (it sounds like they are) then that error should not be specific to docker, but to the cal.com core project.
I haven't heard of that issue otherwise. Have you searched in the /calcom/cal.com issues?

Yes, I searched but didn't find

@SuperKa3a were you able to resolve this? I'm curious if updating the image you are using helps this issue

Is this maybe related to #5796 on calcom/cal.com?


Enable prefer-const

Enable the prefer-const rule.
First make it a warning and later (the next major) turn it into an error.

Decided to make it an error in the next 3.0 release.


Why is that includes node_modules as well? and Would love to style the email template

Why is that includes node_modules as well?
I would love to configure them and I would love to style the email template

@Amoghtech Go for it 👍


New enabler-editor component

It enables/disables the right editor component. Already tested with Number, String, and Select components.

Select:

String:

Number:

Way to use it, when schema is set:
…
   enabler: {
      type: 'EnablerEditor',
      title: '', // Needed in order to "hide" that part
      label: 'whatever', // label instead of title
      editor: {
         type: 'Select',
         options: ['wadus', 'harr', 'aliño'],
         editorAttrs: {
            showLabel: false
         }
      }
   },
…

Fixes #8794.
CR: @javierarce

Sooo sweeet

Could you take a look @javierarce please?

Looking at it…

👍 💃 💃 💃