Invalid extend call when overriding with dynamic javascript 'eval'

Hello,
When using eval to build an activity, it seems impossible to override a class:
var source='android.app.Activity.extend("com.tns.NativeScriptActivity",\
        {\
                onCreate: function (savedState) {\
                        this.super.onCreate(savedState);\
\
                        var MyButton = android.widget.Button.extend({\
                                setEnabled: function (enabled) {\
                                        this.super.setText("Hello from enabled");\
                                }\
                        });\
                        var button=new MyButton(this);\
                        button.setText("regular");\
                        button.setEnabled(true);\
                        this.setContentView(button);\
                }\
        }\
)';
eval('('+source+')')

If I run the same code without eval or using eval but without overriding the button class, then there is no problem: the activity is launched correctly.
But as soon as I try to override I'm getting some errors or the original super class is returned instead of the override one.
Thanks in advance for your help.

HI @Alphapage
Thanks for reporting this issue. Firstly I would like to provide some details about the extend syntax, more specifically about the format of the string. The current implementation is based on this proposal. The important detail in this case is the usage of . symbol. At present, such extended classes are generated during the build process and the static binding generator does not understand eval usage. So, for eval scenario we rely on runtime binding generator and I provided a fix for it.
Can you provide more details about the goal you want to achieve?

Thank you for your interest and I will try your fix as soon as @next will be published to npm.
 Then I wanted to know if it was possible to run dynamic code from v8 engine to generate a runtime. I was getting those errors because I was trying to override a class.

Works great with @next.
Thank you. +1


Include Rarity Levels

[ ] Completion / Platinum - only one
[ ] Other

Rare / Gold
Uncommon / Silver
Common / Bronze

The steam api adapter won't obviously support Platinum, nor would any non-local adapter actually need to trigger it.

Icons idea:
https://docs.google.com/drawings/d/1Km4ON3w94Ej1gL68u2Ie2jBNL-GlWw8EerBqTc86VqQ/edit?usp=drivesdk


Widget memory leak when removed

After removing widgets, memory does not appear to be reclaimed (tested on iOS)
from kivy.app import App
from kivy.lang import Builder

class TestApp(App):
    def on_pause(self, *l):
        return True

    def build(self):
        return Builder.load_string('''
#:import Button kivy.uix.button.Button

BoxLayout:
    orientation: 'vertical'
    FloatLayout:
        id: container
    BoxLayout:
        size_hint_y: None
        height: 100
        orientation: 'horizontal'
        Button:
            text: 'add'
            on_press: container.add_widget(Button())
        Button:
            text: 'remove'
            on_press: container.clear_widgets()
''')

TestApp().run()

Click add several times (memory consumption will increase). Click remove and wait, no memory seems to be reclaimed.

This issue is 6 years old, but I do not think it has been properly resolved. The same is happening with iOS builds today. Infinite memory growth caused by widgets, even when deleted with clear_widgets(). Calling gc.collect() does not seem to do anything.

I believe we had a discord discussion about this?
The way to test if memory is not reclaimed is creating a weakref to the widget and seeing if it's not released when the widgets are cleared. Anything beyond that is related to how the system/python handles memory and is not something kivy can control.


chore: prep 0.11.0 release

Description
Preps 0.11.0 release and adds a note RE: the breaking Padding change to the 0.10.0 release notes.
Type of Change

[ ] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 Code refactor
[ ] ✅ Build configuration change
[x] 📝 Documentation
[x] 🗑 Chore

/no-platform

domain lgtm
(Been a while since I said that, haha)

Maybe we should add a "warning" again for the breaking changes?

Maybe we should add a "warning" again for the breaking changes?

Oh, good call. I was so caught up with 0.10.0 that I forgot to consider 0.11.0. Doing that now.

@jeroen-meijer mind one more review?

domain lgtm :)


Sanitize nicks, replace invalid chars with dash

Hi,
I'm running 0.22.1-dev and still see problems with nicks with spaces in them.  I do have this commit (I built from master and HEAD is c738ee71d89d82c73d58f2767c0db276fb60c58f) and yet I saw this in my IRC client:
GARBAGE: Travis CI!Travis CI@Travis CI PRIVMSG #github :> Build ...
Because "Travis CI" has a space in it, the IRC client got very confused.
Regards,
Dianne.

Hi,
I'm running 0.22.1-dev and still see problems with nicks with spaces in them.  I do have this commit (I built from master and HEAD is c738ee71d89d82c73d58f2767c0db276fb60c58f) and yet I saw this in my IRC client:
GARBAGE: Travis CI!Travis CI@Travis CI PRIVMSG #github :> Build ...
Because "Travis CI" has a space in it, the IRC client got very confused.
Regards,
Dianne.

Completely untested patch attached.  I'll let you know if it works next time a nick with a space PRIVMSGs me. :)
nick-space-fix.txt

Completely untested patch attached.  I'll let you know if it works next time a nick with a space PRIVMSGs me. :)
nick-space-fix.txt

The patch worked.  I will go through the code to see if any more spots have been missed and then try creating a pull request.  (I have never programmed in Go before, but it seems pretty straightforward.)

The patch worked.  I will go through the code to see if any more spots have been missed and then try creating a pull request.  (I have never programmed in Go before, but it seems pretty straightforward.)


Character counter for counting characters

This would make one sick ractive component.

:+1:

:+1:


Add IP handling to ceph monitor lookup. Closes #772

Return IP address and avoid hostname lookup when ceph monitors are given as IP addresses.
Closes #772

I think https://github.com/kubernetes-incubator/external-storage/pull/962 fixed it? Can you check?

Yes that fixes it. Looks like issues #942 #778 #772 are all duplicates!


Error: The file /path/to/BGPalerter/config.yml is not valid yml: unknown tag !<tag

Describe the bug
New  BGPalerter installation on Ubuntu. Configuration done on first run. Crtl to exit and second run of the binary. Exception on second run of the binary.
Provide an example
vagrant@srv:~/BGPalerter$ ./bgpalerter-linux-x64
Impossible to load config.yml. A default configuration file has been generated.
BGPalerter, version: 1.24.0 environment: production
Loaded config: /home/vagrant/BGPalerter/config.yml
? The file prefixes.yml cannot be loaded. Do you want to auto-configure BGPalerter? Yes
? Which Autonomous System(s) you want to monitor? (comma-separated, e.g. 2914,3333) 3333
? Are there sub-prefixes delegated to other ASes? (e.g. sub-prefixes announced by customers) No
? Do you want to be notified when your AS is announcing a new prefix? Yes
Generating monitoring rule for <IP_ADDRESS>/23
Generating monitoring rule for <IP_ADDRESS>/23
Generating monitoring rule for <IP_ADDRESS>/23
Generating monitoring rule for 2001:67c:2e8::/48
Generating monitoring rule for <IP_ADDRESS>/23
Generating monitoring rule for <IP_ADDRESS>/23
Generating monitoring rule for <IP_ADDRESS>/21
Generating generic monitoring rule for AS 3333
Done!
Monitoring <IP_ADDRESS>/21
Monitoring <IP_ADDRESS>/23
Monitoring <IP_ADDRESS>/23
Monitoring <IP_ADDRESS>/23
Monitoring <IP_ADDRESS>/23
Monitoring <IP_ADDRESS>/23
Monitoring 2001:67c:2e8::/48
Monitoring AS 3333
^C

vagrant@srv:~/BGPalerter$ ./bgpalerter-linux-x64
pkg/prelude/bootstrap.js:1248
      throw error;
      ^

Error: The file /home/vagrant/BGPalerter/config.yml is not valid yml: unknown tag !<tag
    at Object.<anonymous> (/snapshot/build/src/env.js:116:11)
    at Module._compile (pkg/prelude/bootstrap.js:1324:22)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:993:10)
    at Module.load (internal/modules/cjs/loader.js:813:32)
    at Function.Module._load (internal/modules/cjs/loader.js:725:14)
    at Module.require (internal/modules/cjs/loader.js:850:19)
    at Module.require (pkg/prelude/bootstrap.js:1229:31)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/snapshot/build/src/consumer.js:8:35)
    at Module._compile (pkg/prelude/bootstrap.js:1324:22)

Expected behavior
bgpalerter should read config.yml and prefixes.yml and continue monitoring prefixes for our ASN. I use your ASN on first try with same results. For this report, I also tried 3333 with same results.
Are you using the binary or the source code?
I'm using binary for Linux
vagrant@srv:~/BGPalerter$ wget https://github.com/nttgin/BGPalerter/releases/download/v1.24.0/bgpalerter-linux-x64

My server is on Ubuntu 19.10
Your information
Alfred
Simula

Hello Alfred,
Thanks for reporting.
The issue doesn't look coming from the auto configuration but from the config.yml file which is instead automatically downloaded from github.
Could you please attach config.yml?

I was able to reproduce it. If the download of the default config file fails, BGPalerter tries to persist a basic config that is shipped with the application. This second step in some cases was not working properly. I fixed this in https://github.com/nttgin/BGPalerter/pull/222
It will go out with the next release. Thanks for reporting.

I forgot to mention. To solve your problem just delete config.yml and download this one


[BUG] - Error Msg: There was no registered handler for "TextboxEntry"

**Frontend Version: **
E.g. UE5.2
lib-pixelstreamingfrontend.esm.js:3370 Level: Error
Msg: There was no registered handler for "TextboxEntry" - try adding one using registerMessageHandler(MessageDirection.ToStreamer, "TextboxEntry", myHandler)
Caller:
at Logger.GetStackTrace (http://localhost/player.js:3550:23)
at http://localhost/player.js:7015:139
at Array.forEach ()
at WebRtcPlayerController.onProtocolMessage (http://localhost/player.js:6991:39)
at http://localhost/player.js:6921:191
at WebRtcPlayerController.handleOnMessage (http://localhost/player.js:6892:75)
at sendrecvDataChannelController.handleOnMessage (http://localhost/player.js:7508:75)
at dataChannel.onmessage (http://localhost/player.js:1293:51)
Any idea for fixing this issue?

I also encountered it, and I think this is indeed a bug, and as far as I know, it's been fixed in 5.3. What I did was creating a handler for this TextboxEntry to avoid this ERROR.

Hey @rahulcs1988,
This issue has been fixed as of: https://github.com/EpicGames/PixelStreamingInfrastructure/commit/1373f41257c718b8b3273e868db008374d490c28
Cheers


Sink trait

I think message subscriber Subscriber<M> should implement futures::Sink trait

I am not sure how to express backpressure

not relevant anymore


MUI visual bug on reload with NextJS, large image of icon briefly flash before dissapearing on a reload for a NextJS website, particularily noticable on FireFox and somewhat noticable on Chrome

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
https://user-images.githubusercontent.com/65511595/175822123-7bf17fa4-b1de-4e9a-b903-fdec71b1fe05.mp4
Expected behavior 🤔
There should be no giant image when the page is reloaded
Steps to reproduce 🕹
Steps:

Follow the steps on implementing material UI in a NextJS application
Add icon components
Refresh the page (even more noticable on a hard reload)

Context 🔦
I believe this will provide a bad user experience to my website, so I hope that this bug can be removed.
The github repo is here for reference
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

System:
OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
Binaries:
Node: 18.3.0 - ~/.nvm/versions/node/v18.3.0/bin/node
Yarn: 1.22.19 - ~/Downloads/Code_Projects/FoodFlation/frontend/node_modules/.bin/yarn
npm: 8.11.0 - ~/.nvm/versions/node/v18.3.0/bin/npm
Browsers:
Chrome: 97.0.4692.99
Firefox: 101.0.1
npmPackages:
@emotion/react: ^11.9.3 => 11.9.3
@emotion/styled: ^11.9.3 => 11.9.3
@mui/base:  5.0.0-alpha.77
@mui/icons-material: ^5.6.2 => 5.6.2
@mui/material: ^5.6.2 => 5.6.2
@mui/private-theming:  5.6.2
@mui/styled-engine:  5.6.1
@mui/system:  5.6.2
@mui/types:  7.1.3
@mui/utils:  5.6.1
@types/react: 18.0.0 => 18.0.0
react: 18.0.0 => 18.0.0
react-dom: 18.0.0 => 18.0.0
typescript: 4.6.3 => 4.6.3

This is a NextJS regression and should be fixed in 12.1.7
https://github.com/vercel/next.js/issues/36675

I fixed this issue by upgrading to 12.2 now that it's out a few hours ago! Thank you for your help @robcaldecott !


St 355 moon theme

Along with Moon color changes I also changed some other things:
Two-Toned cards. Similar to Chain selector cards but now added into the Card component. Examples:

Added a shadow in the back of the actions in the header to help the light colors be ontop of the light of the moon image.

LGTM, the theme preview is still not updated tho.


toDoubleAgent: Help Comment have side effect

Currently the toDoubleAgent --help command will create and modify the __precessed folder.
The help command should have no side effects.

resolved by bbf7c3e


WIP: 1D Signal support

 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.


Markdown merge utility

Use the file import facility (issue #7) to merge external file snippets and write the resulting markdown document. The infostring and importspec of a fenced code block are retained in the output so a file can be refreshed from external sources as often as desired. The big idea is to create living documents using technical resources that are managed and validated elsewhere.

That will be a great feature, providing more flexibility and accuracy/correctness. The source location of the snippets should be included in the versioning/tagging logic, so that we can always say which version of the snippet was included with which version of a specification.


Failing configs in MIOpen

arch: gfx908
Example Configs:
MIOpenDriver conv -V 0 -i 1 --forw 0 --pad_h 0 --out_channels 256 --fil_w 1 --dilation_w 1 --fil_h 1 --in_h 256 --conv_stride_w 1 --group_count 1 --in_channels 256 --in_w 256 --dilation_h 1 --conv_stride_h 1 --pad_w 0 --batchsize 128 --pad_mode default --mode conv --fil_d 1 --in_d 1 --spatial_dim 2 --conv_stride_d 1 --dilation_d 1 --pad_d 0 --trans_output_pad_d 0
terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc

Another example
MIOpenDriver conv -V 0 -i 1 --forw 0 --pad_h 0 --out_channels 12 --fil_w 1 --dilation_w 1 --fil_h 1 --in_h 256 --conv_stride_w 1 --group_count 1 --in_channels 512 --in_w 256 --dilation_h 1 --conv_stride_h 1 --pad_w 0 --batchsize 128 --pad_mode default --mode conv --fil_d 1 --in_d 1 --spatial_dim 2 --conv_stride_d 1 --dilation_d 1 --pad_d 0 --trans_output_pad_d 0
MIOpen Error: /root/dMIOpen/src/ocl/convolutionocl.cpp:739: Buffers cannot be NULL
RunForwardGPU() failed, rc = 0x3
MIOpen Error: /root/dMIOpen/src/ocl/convolutionocl.cpp:2092: Buffers cannot be NULL
MIOpen Error: /root/dMIOpen/src/ocl/convolutionocl.cpp:3338: Buffers cannot be NULL
RunBackwardGPU() failed, rc = 0x30003

a complete list is attached.
gfx908.log
gfx900_56.log
gfx900_64.log
gfx906_60.log
gfx906_64.log

MIOpenDriver needs more memory for tensors that is available on gfx908. The first one needs ~32.5 GiB, the second -- ~32.8 GiB. It is possile to use -F 1, -F 2, -F 4 to run each direction separately.
I've tried the first config on Radeon VII (that has twice less memory) with half-sized tensors and it works as expected (-F 0 fails, but -F 1/2/4 work fine).
However there is less luck with the second config. Obviously, these are some problems in the driver, for example, I've just found some places where int is used instead of size_t, which may lead to UB.

Let me summarize possible reasons of issues with very big tensors:

Address or index computation problems in the driver
Address or index computation problems in the host code of the library
There are known limitation of rocBLAS (buffer addressing is limited by 4 GiB or so?)
Code generation issues in the compiler
OCL/HIP runtime issues.

I also see this is a complicate problem:

do we have limitation for the tensorsize? since tensor(miopen::deref(inputTensor).GetLengths()) maybe run out of memory if length is really huge.
we didn't do any HIP API runtime check while we call any of its func.
eg. GPUMem(uint32_t ctx, size_t psz, size_t pdata_sz) : _ctx(ctx), sz(psz), data_sz(pdata_sz)
{
hipMalloc(static_cast<void**>(&buf), data_sz * sz);
}

I agree, there are issues. But the driver should not crash throwing a std:bad_alloc. The termination should be graceful and a correct error message should be reported.
If allocating memory for all the directions makes it fail, then perhaps we should only allocate memory for one direction at a time, run it and then either reuse or re-allocate memory for the other directions.

@aserio These errors show up everytime we tune, polluting the results with failed configs. Can we set a priority on this and allocate some resources?

I will bring this up in my 1:1 with @daniellowell tomorrow.

@JehandadKhan

These errors show up everytime we tune, polluting the results with failed configs.

Now I understand the reason why this is high priority

If allocating memory for all the directions makes it fail, then perhaps we should only allocate memory for one direction at a time, run it and then either reuse or re-allocate memory for the other directions.

Can you use this strategy during tuning? Run -F 1, then F 2 and then -F 4?

And please let us know how you would like the driver to fail in case of OOGM. Is it enough for the tuning infrastructure if it will return some error code (and an error message of course -- for humans)?

OOGM := Out Of GPU memory ;)

@daniellowell will followup

@JehandadKhan @atamazov
Still failing with the latest develop:
Error copying data to GPU, status = 1
AllocateBuffersAndCopy() FAILED, rc = 1


Redirected login

Issue
Closes #511
Intent
Implement login through new popup window.
Implementation
Added LoginMechanism to SASjsConfig.ts
SASjs.ts changes:

Defined returnType for SASjs.login()
Added optional LoginOptions

AuthManager.ts changes:

Added another login function redirectedLogin
Extracted code from checkSession to new private function fetchUserName to make it DRY

Checks
No PR (that involves a non-trivial code change) should be merged, unless all items below are confirmed!  If an urgent fix is needed - use a tar file.

[ ] All sasjs-cli unit tests are passing (npm test).
[ ] All sasjs-tests are passing (instructions available here).
[ ] Data Controller builds and is functional on both SAS 9 and Viya

Looks mostly good apart from some minor changes I've suggested.
It'd be good to also see some unit tests for the new stuff added to AuthManager.


Error diagnostic span bug megathread

Alright, you've all seen this before:
  |
3 | #[derive(BinWrite { .. })]
  |                   ++++++

rustc thinks some code binrw generates is causing an error due to some type or something incorrect in your attribute code. Very inconvenient! In order to fix this we need to use quote_spanned! a lot, in order to forcefully make rustc point to the right code.
This is, of course, a sisyphean task. In order to better handle this we're going to keep track of it in a checklist here! Just comment to get a new problem added, with any additional details you want to give.
The list:

[ ] pad_size_to incorrect type (see #30)
[ ] BinRead not implemented for a field (see #30)

This thread replaces #30

I think these have been mostly resolved? Nobody has complained in a while at least...


Update edit.html.erb to correctly translate resource name

Usinng resource_name.to_s.humanize doesn't pick up translated resource name from my app's locale file - resource.model_name.human does.

This is copied from devise, see:
https://github.com/plataformatec/devise/blob/master/lib/generators/templates/simple_form_for/registrations/edit.html.erb
https://github.com/plataformatec/devise/blob/master/app/views/devise/registrations/edit.html.erb
so this suggestion should probably go there as well.
I'm not sure what the difference is. What are the values of resource_name.to_s.humanize and resource.model_name.human in your app?

The resource_name is a method in devise_controller.rb returning a Symbol representing a devise_mapping, in my case it's :customer. When you call human on that, then this is an ActiveSupport extension that will just return 'Customer'. It doesn't know it's a model name and it doesn't know that I have a pl.activerecord.models.customer entries in my locale file.
The resource on the other hand is an instance of my model, in my case it's Customer. Calling resource.model_name returns an instance of ActiveModel::Name for my model:
irb(main):003:0> Customer.model_name
=> #<ActiveModel::Name:0x007fa9e1e7b4a8 @name="Customer", @klass=Customer (call 'Customer.connection' to establish a connection), @singular="customer", @plural="customers", @element="customer", @human="Customer", @collection="customers", @param_key="customer", @i18n_key=:customer, @route_key="customers", @singular_route_key="customer">

And then I can call human on that to get a translated version from my locale file:
irb(main):004:0> Customer.model_name.human
=> "Klient"

I think it makes sense to use a translated version of the model when I'm inserting that into a translated version of the page title from devise.registrations.edit.title. Devise itself doesn't care about it, as it's just using English there:

Edit <%= resource_name.to_s.humanize %>

OK, I understand. This is even a problem when you are using the default model name of User - it does not get translated properly and is always "User".
Please edit https://github.com/tigrish/devise-i18n/blob/master/app/views/devise/registrations/edit.html.erb as well.

I did the above myself, thanks!


Support Spot instances

ECS currently supports Spot instance fleets -- to support this feature, we would need Spot instance L2s in ec2 construct lib.

This can actually be achieved by modifying the properties on the AutoScalingGroup construct; however perhaps worth discussing if AWS::EC2::EC2Fleet and AWS:EC2::SpotFleet are resources worth modeling as L2s?


Specify amount per subfolder

This feature probably already exists but for the life of me I can't figure it out. All I want to do is specify when downloading that there be a certain amount downloaded into the subfolder before it creates a new so if I start a download of 40,000 files and I want it to download 1000 per folder, it will have created 40 folders.

Maybe itll be an added feature on a later update


Environment Permissions

I have a Feature Request ... I think it goes in this Git but may go with Chef itself as well.  I imagine this is a hefty change.
In Chef Vault the process as I understand it ... (simplified)
When you add nodes to your environment, they will need to be able to access encrypted data bags.
In order to update a client list for a data bag you must run a knife vault update command.
This will add the node to the data bag's client list and allow the node to decrypt with it's key.

Why not just add the functionality to give Environments permissions to data bags?
This would eliminate the need for manually running a knife vault command.  (Manual to me as I run Chef Provisioning)  Also, this would allow my dynamically adjusting environments (in the cloud) to access encrypted data bags without the need for manual intervention.  The node would tell Chef Manage, "Hey I'm in this Environment" ... Chef Manage would say, "This data bag you're trying to access happens to be only available to nodes in that environment." and then they compare keys.
Because sticking a shared key in an S3 bucket just sounds like I am waiting to get hacked.
If this doesn't go here, please let me know where.

Nodes can already read all data bags.  chef-vault just uses data bags as a place to store an asymmetrically encrypted (with the node's public key) copy of the encrypted data bag shared secret.
The clients array in the _keys data bag is administrative metadata only - it doesn't restrict who can read the data bag contents.
chef-vault security doesn't come from where the asymmetrically stored copy lives - it could easily live in an environment - but rather that only the node has the private key in order to decrypt the shared secret, which it then uses to decrypt the encrypted data bag.
chef-vault isn't a system for putting access controls on data bags, it's a system for enabling select entities to decrypt encrypted data bags that everyone can read.

Unfortunately, nodes can lie about their environments. At least until Chef implements https://github.com/chef/chef-rfc/blob/master/rfc045-node_state_separation.md

Correct, the clients array in the _keys data bag is administrative metadata only - it doesn't restrict who can read the data bag contents but it does restrict which clients can decrypt the data bag. If I am misunderstanding the clients array please set me straight.
I am using the following example knife command ...
knife vault update <environment_name> <environment_name> --json ./<environment_name>\<environment_name>.json --search 'chef_environment:<environment_name>'

... to update the client list array in order to restrict which clients have the ability to decrypt a data bag.  In the Windows world (insert lol here) this is akin to Group Permissions of which computers can be a member.
I am simply suggesting, eliminate the knife vault update command, to update the client array, and let me put an environment there instead.  I understand that clients can potentially lie about the the environment their in but that's going to be an edge case.  If a node is hacked even the current method isn't more secure.  I am suggesting this for users who manage dynamically changing cloud environments such as myself.

Being in the clients array isn't what lets you decrypt the secret.  There's no point where chef or chef-vault says "the user with name x ajeba99 is allowed to decrypt this data bag because clients.key?('ajeba99') is true"
You can try it yourself - remove the entire clients or admins array using knife data bag edit VAULT ITEM_keys and then try to decrypt the vault.  It still works, and in fact this is how chef-keepass (the predecessor to chef-vault) worked - it had no metadata and chef-vault can still decrypt vaults created with it.
What lets you decrypt is if unencrypted data bag ITEMNAME_keys has an entry that matches your node name (hostname for servers, username for people), and the value of that key is an asymmetrically encrypted copy of the shared secret encrypted with that person's public key.
There is a file THEORY.md in the root of the repo that explains exactly what happens during creation and encryption, and it may be helpful to read that to understand the mechanics.
Again, there are no ACLs in chef-vault.  I can see your copy of the shared secret and you can see mine, but I can only decrypt mine and you can only decrypt yours.

Right Thank You for helping me understand the particulars and what is validated by whom in the _keys data bag.  Simply, the clients array is for permissions as the keys beneath the clients array are for decryption.
The request still stands.  A more streamlined solution to decryption management rather than manual intervention by a user to add clients and keys to a data bag.

I think this is a WONTFIX for chef-vault; it's simply not the way the application is designed. I fully appreciate that you'd like a more streamlined approach, but if something like that is built it will likely be a separate product.


feat: Add isMethod for consistent request method checking

Description
To check the request method, we currently use $this->request->getMethod() === 'post'. However, since getMethod() can return the method in both uppercase and lowercase, this can be confusing for users.
This pull request adds the isMethod function, which simplifies method checking by allowing you to use $this->request->isMethod('POST') or $this->request->isMethod('post'), both of which will work consistently.
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

To check the request method, we currently use $this->request->getMethod() === 'post'

You can use $this->request->is('post'); .

since getMethod() can return the method in both uppercase and lowercase,

Prior to v4.5.0, by default, the method was returned as a lowercase string (i.e., 'get', 'post', etc). But it was a bug.


Syntax error generating interface when spec properties is empty

What are the steps to reproduce this issue?

input Schema with an empty type definition
example

{
...
    "PaymentRequestSubmit": {"type": "object", "properties": {}},
...
}

run oval to generate typing and client

What happens?
issue generating typing interface : missed {}
/*
 * Generated by orval v5.1.3 🍺
 * Do not edit manually.
 * API Documentation
 * OpenAPI spec version: v1
 */

// tslint:disable-next-line:no-empty-interface
export interface PaymentRequestSubmit

What were you expecting to happen?
/*
 * Generated by orval v5.1.3 🍺
 * Do not edit manually.
 * API Documentation
 * OpenAPI spec version: v1
 */

// tslint:disable-next-line:no-empty-interface
export interface PaymentRequestSubmit {}

Any other comments?
…
What versions are you using?
Operating System: Mac os
Package Version: 5.1.3

fixed in 5.1.4 🎉


Remove request to be assessed based on current year's income from the Financial Circumstances Page of the Student Application

Remove request to be assessed based on current year's income from the Financial Circumstances Page of the Student Application.  Student is required to submit the application based on the previous year's income and then use the "request a change" process to request to be assessed based on the current year's income.
Acceptance Criteria

[ ] Option and related content removed from Finaicial Circumstances page of application.
[ ] Anything that needs to change in Camunda or the database?

Unknown

[ ] Is there already a request type in "request a change" for asessement using current year's income?

Question for Business

[ ] Selection of this option in the application creates an exception and will require the Ministry to review and approve or deny this exception.    Until it is approved, the application is paused and doesn't trigger anything else, including potential spouse/parent information colleciton, income verification, PIR, etc.  Essentially, it pauses the "submission" of the application.  Do you really need it to be moved to request for change?

Similar to Student Application Updates: Income Appeal re-located exclusively to Request a Change process #2144

Reworked this ticket into adding the part time question back.


add support for multiple scala versions

Add support for multiple Scala versions by using two resolves, one for each Scala version. Scalac plugins are defined per resolve so that the version of the acyclic plugin matches the Scala version used for the resolve.
The resolves are jvm-default with Scala 2.13.8 and scala-2.12 with Scala 2.12.15.

Looks great: thanks. Getting https://github.com/pantsbuild/pants/issues/14493 resolved for the relevant cases will be really important to cut down the boilerplate here.

I've updated this to use parametrize in a few spots, and opened https://github.com/pantsbuild/pants/issues/13882#issuecomment-1042576097 to summarize the TODOs.

While we should maintain this PR (and continue to reduce boilerplate in it whenever possible via new parametrize changes, etc), I don't think that we should merge it.

While we should maintain this PR (and continue to reduce boilerplate in it whenever possible via new parametrize changes, etc), I don't think that we should merge it.

Or maybe maintain a branch on the upstream with this support? (And have some automation to update Scala versions and run CI against it.)


Problem adding images

On the output PDF I have an issue with the images not being loaded.
ERROR   -  Relative URI reference without a base URI:
I'm running version 0.5.8.
This appeared to be solved in the 0.5.1b https://github.com/zhaoterryy/mkdocs-pdf-export-plugin/issues/28#issuecomment-457240296

I am having the same problem. Images are not shown in PDF output.
Here is reproducible demo. It shows in build:
https://ci.appveyor.com/project/majkinetor/mm-docs-template#L61
ERROR: Relative URI reference without a base URI:

Here are the artifacts:

Mkdocs HTML: https://majkinetor.github.io/mm-docs-template/demo/#local-files
PDF: https://majkinetor.github.io/mm-docs-template/demo/demo.pdf

This is the full code for docker image: https://github.com/majkinetor/mm-docs
It worked before, not sure when it stopped. The only suspicious thing in the build output is:
/usr/lib/python3.6/site-packages/weasyprint/document.py:36: UserWarning: There are known rendering problems and missing features with cairo < 1.15.4. WeasyPrint may work with older versions, but please read the note about the needed cairo version on the "Install" page of the documentation before reporting bugs. http://weasyprint.readthedocs.io/en/latest/install.html

I am having the same problem. Images are not shown in PDF output.
Here is reproducible demo. It shows in build:
https://ci.appveyor.com/project/majkinetor/mm-docs-template#L61
ERROR: Relative URI reference without a base URI:

Here are the artifacts:

Mkdocs HTML: https://majkinetor.github.io/mm-docs-template/demo/#local-files
PDF: https://majkinetor.github.io/mm-docs-template/demo/demo.pdf

This is the full code for docker image: https://github.com/majkinetor/mm-docs
It worked before, not sure when it stopped. The only suspicious thing in the build output is:
/usr/lib/python3.6/site-packages/weasyprint/document.py:36: UserWarning: There are known rendering problems and missing features with cairo < 1.15.4. WeasyPrint may work with older versions, but please read the note about the needed cairo version on the "Install" page of the documentation before reporting bugs. http://weasyprint.readthedocs.io/en/latest/install.html

I've found the reason.
The path for the image's while generating the PDF's is relative to the path of the md-file.
If you link the images relative to the md file the PDF generation works
![Pagina aanmaken](../../../images/signage/nl_signage_incident_aanmaak.png)
instead of
![Pagina aanmaken](/images/signage/nl_signage_incident_aanmaak.png)
I hope this helps others with the same issue!

I've found the reason.
The path for the image's while generating the PDF's is relative to the path of the md-file.
If you link the images relative to the md file the PDF generation works
![Pagina aanmaken](../../../images/signage/nl_signage_incident_aanmaak.png)
instead of
![Pagina aanmaken](/images/signage/nl_signage_incident_aanmaak.png)
I hope this helps others with the same issue!


Update node image version. Node 8.x is utterly old.

It seems like root-ca in node-8.8.1 has expired. Related issue: https://github.com/APIs-guru/graphql-faker/issues/117
Update Node image to 14.3.0

@Antiarchitect I think it can be a little bit early for 14 since it's not an LTS yet but let's try.

@Antiarchitect Release rc.20 to test this:
https://hub.docker.com/layers/apisguru/graphql-faker/latest/images/sha256-a9cd8c0da77e6152c53c69572567a9efe6b271493e2544634ac0154dd65ffff2?context=explore
Can you please test it?

@IvanGoncharov Will do on my stages tomorrow first part of the day


YES tool — Adds sidebar content to YES tool

So the site maintains a consistent visual appearance, and the user can easily view other related resources, adds the standard sidebar on the YES transportation tool page.
Additions

Adds sidebar links and styles

Screenshots

@anselmbradford The difference is that our menu is hardcoded, where as the other one you mention is, I think, handled via wagtail. So that will need to get updated separately by a content person.


Adafruit modules (ie MTK3339 ) a poor choice for timing because of the PPS to NMEA offset

Hi,
I'm fairly certain the Adafruit modules (or any Mediatek MTK3339 based modules) are a poor choice for clock applications. The timing of the NMEA output relative to the PPS signal is very unfortunate as it hovers around 500ms. Since it moves around the 500ms mark the applications have trouble determining what second to round to. You might up with a time that has very high accuracy for the rollover to the next second (since PPS drives that), but end up being off by a full second from the correct time.
You can see this issue in your examples with the 512ms offset reported my chrony sources.
To show it's actual effect on the time on your system, run:
watch -n 1 date +"%T.%3N"
I've found some other reports on this issue. Somebody mentioned this being a navigation GPS chip vs a chip that is designed with timing in mind. Timing chips place the NMEA string at a specific offset to the PPS and prefer high in the sky satellites to reduce multipathing.
To take any Linux OS issues out of the mix, I tested this on a microcontroller with a very basic test program to show PPS timing vs NMEA timing, and it confirms the consistent ~ 500ms offset. Interestingly it seems to always be around 500ms, it's not different for every boot

An offset of several hundred milliseconds between PPS signal and serial time is to be expected and not necessarily a problem. Did you follow the instructions at: Synchronizing the offset between serial time information and PPS in order to compensate for that offset?

I'll do some more testing, but I'm pretty sure I had the offset configured correctly and did not see chrony doing what you described. NTP was much closer to the PPS (32ms or so), so that should work.
When you say "nudge" the offset, do you mean the setting in the config file?

'nudge': sorry, yes the offset setting in:
refclock SHM 0 refid GPS precision 1e-1 offset 0.512 delay 0.2 noselect
512 ms (= 0.512) in this example.
I had checked quite a number of different GPS chips, and the only difference that mattered in real life was reception: some chips support multiple GPS systems and thus can receive more satellites. Making sure that reception is good (free view of sky) has (in my experience) much larger impact on time signal quality than chip set optimizations.
There are also variants of GPS chip sets specifically suited for precision time applications (eg NEO-M8T), but it didn't improve the precision for networked clients: the error introduced by network time synchronization always outweighed those optimizations. So optimizing the hardware like that only provides (possibly) an advantage on the time server host itself. You should get good results with any GPS chipset (even the cheapest).

I just redid the full config. Tweaked the offset (0.480) as per the instructions. I don't know if the watch -n 1 date +"%T.%3N" is a good test, but it jumps seconds as before. Comparing against an phone running a millisecond clock. It's also significantly off
chronyc sources shows:
#? GPS                           0   4   377    21    +24ms[  +24ms] +/-  200ms
#* PPS1                          0   4   377    22  +4042ns[  +14us] +/-  329ns
^- s173-183-146-26.ab.hsia.>     2   8   377   102  -4801us[-4772us] +/-   41ms
^- ntp.mtl2.ca.leaseweb.net      2   8   377   159  -6685us[-6659us] +/-  169ms
^- ntp3.torix.ca                 1   8   377    95  -3325us[-3297us] +/-   30ms
^- muug.ca                       2   8   377    97    -12ms[  -12ms] +/-   80ms
Not sure if 'date' pulls time from a local clock that is not synchronized often (rtcsync, every 11 min?). I installed ntpdate and running  watch -n 1 ntpdate -q localhost show the exact same behavior.

So your installation seems to work just fine (you gave PPS lock with deviation < 1uS).
watch is not a good way to determine the precision of the time signal, it just samples the date-output.
Use chronyc tracking instead, this with give actual meaningful statistics on the precision of your clock, sample output:
Reference ID    : 50505330 (PPS0)
Stratum         : 1
Ref time (UTC)  : Fri Feb 09 15:00:40 2024
System time     : 0.000000100 seconds slow of NTP time
Last offset     : -0.000000230 seconds
RMS offset      : 0.000000804 seconds
Frequency       : 2.324 ppm slow
Residual freq   : -0.000 ppm
Skew            : 0.020 ppm
Root delay      : 0.000000001 seconds
Root dispersion : 0.000016292 seconds
Update interval : 16.0 seconds
Leap status     : Normal

The meaning of the fields is explained here.

Hi
Would ntpdate be an ok test? I think that queries the NTP server directly?

ntpdate is a retired tool to set NTP time on a client by querying an NTP once, it is no longer used. It has been replace by ntp (or now chrony) servers on client side too.
What exactly do you want to test?


Revamp IntelliJ extension UI

The UI in the IntelliJ extension looks a bit hacky at the moment, we need to revamp it to make it look more legit.

Is it ok now after my changes?

Hey Jan, it's a step in the right direction, but another thing we wanted to try is to separate the settings to a different button so they don't show up every time mirrord is run.

I think we're okay for now after #849


AfterSave BeforDelete does not update mongodb record on Server but works on Local Machine

AfterSave and BeforeDelete triggers updates records on my mongodb server when I run it locally but when I run the same code in the cloud it fails to update the record.In both cases Mongodb is running on a server. I am also triggering the record change via IOS parse SDK. I also do find that in the IOS terminal that it tries to reconnect to the server a bunch of times before working, however when I run the parse server locally I do not get the reconnect issues.
Steps to reproduce
Create a Cloud Code for beforeSave and aftersave
Run a simple IOS update or delete of a Class
Please include a detailed list of steps that reproduce the issue. Include curl commands when applicable.

ATERSAVE CODE

Parse.Cloud.afterSave("Wallet", function(request, response) {
    var currentUser = request.user; //pointer to user object
    var SyncTable = Parse.Object.extend("SyncTable");

    var query = new Parse.Query(SyncTable);
    query.equalTo("syncTableUser", currentUser);
    query.equalTo("tableName","User");
    query.first({
        useMasterKey: true,
        success: function(object) {
                // Successfully retrieved the object.
                object.increment("version");
                object.set("isDelete", false);
                object.save();
            },
            error: function(error) {
                //error
                console.log("Message Error: "+error);
            }
        });
});

BEFOREDELETE
Parse.Cloud.beforeDelete("Wallet", function(request, response) {
  var currentUser = request.user; //pointer to user object
  var SyncTable = Parse.Object.extend("SyncTable");

  var query = new Parse.Query(SyncTable);
  query.equalTo("tableName","Wallet");
  query.equalTo("syncTableUser", currentUser);
  query.first({
        success: function(object) {
                // Successfully retrieved the object.
                object.increment("version");
                object.set("isDelete", true);
                object.save();
            },
            error: function(error) {
                //error
            }
        });

  response.success();
});

SWIFT IOS CODE
let wallet = Wallet_P()
wallet.uuid = wallet_r.uuid
wallet.walletUser = PFUser.currentUser()
wallet.currency = wallet_r.currency
wallet.type = wallet_r.type
wallet.categoryType = wallet_r.categoryType

//Relation
let bank = Bank_P()
bank.uuid = wallet_r.walletBank?.uuid
bank.BankName = wallet_r.walletBank?.BankName
bank.balance = wallet_r.walletBank?.balance
bank.participants = wallet_r.walletBank?.participants
bank.totalAmount = wallet_r.walletBank?.totalAmount
wallet.walletBank = bank

wallet.saveEventually()

Expected Results
MongoDB For bothe Local and Server Calls
SyncTable Should be AfterSave
version : 1 (incremented by 1)
isDelete : True
SyncTable Should be BeforeDelete
version : 1 (incremented by 1)
isDelete : False
Actual Outcome
MongoDB for Server
SyncTable Should be AfterSave
version : 0
isDelete : False
SyncTable Should be BeforeDelete
version : 0
isDelete : False
MongoDB for Local
SyncTable Should be AfterSave
version : 1
isDelete : True
SyncTable Should be BeforeDelete
version : 1
isDelete : False
Environment Setup

Server

parse-server version: 2.2.17 running on Node version v4.2.6
Operating System:    Ubuntu 14.04.4
Hardware:             512MB Memmory 20GB Hard Drive
Remote Server: Digital Ocean

Local

parse-server version: 2.2.17 running on Node version v4.2.6
Operating System:   OSX EL Capitan version 10.11.6
Hardware:             2.8Ghz Core i7
Localhost: Local Host

Database

MongoDB version: 3.0.11
Storage engine:  MMAPv1
Hardware:        Ubuntu 14.04.4
Remote Server: Digital Ocean

Logs/Trace
2016-09-04T19:35:50.522Z - afterSave triggered for Wallet
Input: {"ACL":{"*":{"read":true},"2lKftPhsKz":{"write":true,"read":true}},"uuid":"ZAi5rZHa1W","walletUser":{"__type":"Pointer","className":"_User","objectId":"2lKftPhsKz"},"type":"Bank","currency":"USD -$","categoryType":"Bank","walletBank":{"__type":"Pointer","className":"Bank","objectId":"6TzvC1JCUV"},"createdAt":"2016-09-04T19:35:50.389Z","updatedAt":"2016-09-04T19:35:50.389Z","objectId":"TfKBK3WCiA"}

BEFORE SAVE CODE
 Parse.Cloud.afterSave("Wallet", function(request, response) {

Not sure if you meant AFTER SAVE or beforeSave.
In anycase, afterSave is async as we don't wait for the result of the afterSave to return unless you return a promise and only when that PR will land (https://github.com/ParsePlatform/parse-server/pull/2499) in 2.2.19.
In your beforeDelete, you should call  response.success();  only after object.save() completes, the call to
object.increment("version");
object.set("isDelete", true);

are completely async in your case and the deletion continue after.

I meant afterSave and beforeDelete, sorry for the Typos. I also did run the code using promises for afterSave and still did not get the expected result of my MongoDb record updated. However since you did mention promises and when I run this code on my actual IOS device, the app gets stuck in a loop for a while and still does not update the record.
I also got similar issues with running this triggers on a Table that has an Image attachment.
So how would I update my code to run promises? I tried using this and still no change. However it runs locally fine and updates MongoDB.
Parse.Cloud.beforeDelete("Wallet", function(request, response) {
var profileFileName = request.object.get("profileImage").name();
Parse.Cloud.aferSave("Wallet", function(request, response) {
var currentUser = request.user; //pointer to user object
var SyncTable = Parse.Object.extend("SyncTable");
var query = new Parse.Query(SyncTable);
query.equalTo("tableName",tableName);
query.equalTo("syncTableUser", currentUser);
Parse.Promise.when(query.first).then(function(res1){
res1.increment("version");
res1.set("isDelete", false);
res1.save();
}, function(e){
response.error();

})
});
Is there a fix before version 2.2.19 or just wait.
Is this normal for the code to run fine locally and not run on server or is my server not set up correctly?

If it works locally that's probably not an issue on parse-server but in your code. We don't provide code level support and this area is extensively tested. I suggest you reach out to a separate channel like stackoverflow for those implementation details.

Ok could you share sample code on how a promise should be done for both afterSave and beforeDelete.


Random string custom charset

reference
Today's Slack thread to enhance the existing randomString() function to support a conversion from JMeter's own ${__RandomString()} function. I have enhanced the documentation to describe the changes. Additionally, Tom mentioned that an inevitable version change to ks-jslib-utils to 1.2.0 would require additional edits to the documentation.
technical explanation
Enhance the existing randomString() function to accept a second string parameter to provide customized charset. Refactor the internal charset to be wrapped in a conditional if statement, for backwards compatibility where a charset was not provided.
Provide a new randomString.js set of tests; leveraging suggestions from Tom and others.
other comments
This is my first PR as a contributor to any open source project. Please forgive any mistakes or missed steps in this process. Thank you.

Thanks for your first contribution @norillsa !
All LGTM, but I'll let someone who really knows what's up with Javascript complete a review 😅...I just wanted to say thanks.

I'd like to have @sniku comment/review before merging if that's OK. He should be back next week.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Tomlinson,Mark:x: norillsaTomlinson,Mark seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I just signed/agreed on the CLA - you should be good to go!

@norillsa, looks like the issue is now that you probably changed your user.name config after your first 2 commits. So CLA is thinking there's 2 different authors. I think you'll need to rewrite history and do a git commit --amend --reset-author for those initial commits.

@javaducky - I'm trying to rebase those 2 commits and get them over to my personal github "norillsa mark@perfbytes" as you suggested. Do I need to git push origin  -f or something to get those to show up here?

Thanks @javaducky for the tips on rebase author on those commits. And thank you git log.

CLA issues and history all appear to be resolved. LGTM, thanks @norillsa and congrats on your first PR! 🍾


[WIP] drop wincompat/getopt, rely on vcpkg to provide getopt

See https://github.com/litespeedtech/lsquic/pull/350

Can please fix the AppVeyor build failure?

Yeah, wanted to fix the lsquic appveyor problems PR first.


Adding RX support

Hello,
I'm using this package on a project but I added RxJS support to the methods of this package to be able to return an observer object instead of passing completionBlock in parameter.
Would you be interested by a pull request to integrate this features in your package or should I create my own package react-native-contacts-rx to add the support of RxJS?
Best,
Jean

Yes, rx is too heavy of a dependency to make it part of the main package. However having a seperate react-native-contacts-rx module would be great.
Let me know if any api changes are needed to make this work. Also after you publish it, we should put a link to it in the readme.

Good. I will create a separate package then! You don't need to change anything to your API. I will tell when it will be released.

After few discussions with colleagues, I wonder if creating another package only to add the support of Rx would be overkill. I only extends the contact package by adding rx_ prefixed methods for each method that takes a completionHandler in parameter. (Gist available here: https://gist.github.com/JeanLebrument/304ba2bd8547a6ed4e7f).
My concern is: Is this a good "guideline" to create another package to add the Rx support to an existing package? Or would it be smarter to add an optional support to the main package? (I created an other Gist for the optional support: https://gist.github.com/JeanLebrument/6dc373647b44fb4def7a)
I would like to have your opinion on this question.

I am all about node style small modules and definitely do not think they are overkill. Along those lines I would love if every package had a [package-name]-rx counterpart, which makes opting in as a consumer dead simple.
Another issue is that not all packaging systems (including I believe the react-native one) respect try/catch since they typically do static analysis to create the bundles.

Thanks for your feedback, I will do this then.

Here we go -> https://github.com/JeanLebrument/react-native-contacts-rx


Return type issues

Solargraph isn't understanding what we send for column return value:
[Trace - 07:22:00 AM] Received response 'textDocument/hover - (35)' in 14ms.
Result: {
  "contents": {
    "value": "OtherModel#created_at\n\nReturns:\n* []\n\nVisibility: public",
    "kind": "markdown"
  }
}

Types are coming back now, but something is going wrong with some types. If I call MyBook.new.author. my editor has no problem giving me string methods if that column is a String, but for most of the other types I'm not getting methods of those types back.

Fixed a bug where additional info in the annotation such as String(255) prevented a pin from being created, in 498ecb6.

Still having a problem with BigDecimal. It seems like Solargraph just doesn't know about BigDecimal and its methods.


no camera preview on android phone

QRScannerStatus
authorized: true
canChangeCamera: true
canEnableLight: true
canOpenSettings: true
currentCamera: 0
denied: false
lightEnabled: false
prepared: true
previewing: true
restricted: false
scanning: true
showing: true

ionic info:
    @ionic/cli-utils : 1.5.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.5.0

local packages:

    @ionic/app-scripts              : 2.0.1
    @ionic/cli-plugin-cordova       : 1.4.1
    @ionic/cli-plugin-ionic-angular : 1.3.2
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.5.0-201707061803

System:

    Node       : v6.10.0
    OS         : Windows 7
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 5.1.0

    qrScannerClick() {
        let self = this;
        // Optionally request the permission early
        this.qrScanner.prepare()
            .then((status: QRScannerStatus) => {
                if (status.authorized) {
                    // camera permission was granted
                    // start scanning
                    let scanSub = this.qrScanner.scan().subscribe((text: string) => {
                        self.alert.showAlert(text);

                        this.qrScanner.hide(); // hide camera preview
                        scanSub.unsubscribe(); // stop scanning
                    });

                    // show camera preview
                    this.qrScanner.show();

                    // wait for user to scan something, then the observable callback will be called

                } else if (status.denied) {
                    self.alert.showAlert('相机权限被禁止，请先设置允许App使用相机');
                    // camera permission was permanently denied
                    // you must use QRScanner.openSettings() method to guide the user to the settings page
                    // then they can grant the permission from there
                } else {
                    // permission was denied, but not permanently. You can ask for permission again at a later time.
                }
            })
            .catch((e: any) => {
                /*tslint:disable*/
                console.log('Error is', e)
            });
    }

I have encountered the same problem, may I ask you to solve the no, if you have to solve whether you can tell, thank you!

@qifanrui not yet

I got the same problem.AnyOne knows?

I got the same problem. Nothing happens after the show method.

I use BarcodeScanner instead of QRScanner. BarcodeScanner works well.

@yanxiaodi me too ,but BarcodeScanner is not beauty

I use Chrome's inspect function to test the code. When the app call the show() method, nothing happens. But indeed, it can scan the QR code correctly, and the camera preview window is just hidden. If I refresh the page by clicking the refresh button on the toolbar of Chrome, the camera preview window shows. I don't know why. It seems like Ionic can't automatically refresh the page.

Same problem here, camera not showing.
This code:
this.qrScanner.show().then(data => {
  console.log('success showing camera');
  console.log(JSON.stringify(data));
}, err => {
  console.log('Error showing camera');
  console.log(JSON.stringify(err));
});

Returns:
console.log: success showing camera
{
   "authorized":true,
   "denied":false,
   "restricted":false,
   "prepared":true,
   "scanning":true,
   "previewing":true,
   "showing":true,
   "lightEnabled":false,
   "canOpenSettings":true,
   "canEnableLight":true,
   "canChangeCamera":true,
   "currentCamera":0
}

Maybe the problem is this "currentCamera" option showing zero.
My style:
page-scanner {
  .content {
    // background: none transparent !important;
    background-image: url('/assets/img/scanner-background.png') !important;
    background-size: 100% 100%;
  }
}

I have an image on the background with a transparent square on the center, but the camera never is shown.

What can I do?

I solve the camera-preview here https://github.com/bitpay/cordova-plugin-qrscanner/issues/108. Hope it can help

@Story5 would you have a print of your screen?
Did you have to set everything transparent?
I would like to have only the "content" transparent.
They way you did does not work for me (yet):
.content {
    background: none transparent;
}

@franzisk Hi, here are my qrscannerdemo and screenshot
Did you set the body and ion-app with style="background: none transparent;"  in src/index.html ?
<body style="background: none transparent;">

  <!-- Ionic's root component and where the app will load -->
  <ion-app style="background: none transparent;"></ion-app>

  <!-- The polyfills js is generated during the build process -->
  <script src="build/polyfills.js"></script>

  <!-- The vendor js is generated during the build process
       It contains all of the dependencies in node_modules -->
  <script src="build/vendor.js"></script>

  <!-- The main bundle js is generated during the build process -->
  <script src="build/main.js"></script>

</body>

Camera preview will not be shown if you dont set.

@Story5 thanks, actually I had not set that, but how about the other pages? They will aso have a transparent background?

@franzisk I tried to push a qrscanner view and open camera perview, it works.
So you only need to set the index.html in src root directory and ***.html you use qrscanner.
See my (qrscannerdemo)[https://github.com/Story5/qrscannerdemo] also.

 Camera light is not stopping, the preview is not showing up even if it's background transparent on body and app. It should be easier solution for this.
Anyway i dug into the android studio beta 1 - it's amazing. You can debug from native apk.
It's very useful for ionic app. (there are some minor bug in it)
You need to attache to a process manually quickly, or the debugger is timing out.
I was able to debug the android part in studio, and the html part in chrome.
I might have some solution for this later on. I also committed a bug, that to call the show twice it's causing memory leak and even if you call hide, the camera light remains up.
I have solved the issue in browser (not call the show, as the prepare is calling it), but on android it does exist.
For me it's not crucial at the moment, as i have another tasks, but i'm glad i can take a look, if any cordova plugin is crappy, and fix right away. (There are tones of crappy plugin, but i'm not familiar on android development, now i think i should learn ios and android also, even if i'm using ionic)

There is a div, with class=“nav-decor”, which has a black background, this needs to be changed to transparent.
My solution was to have a “cameraView” class, which would set the ion-app, ion-content and .nav-decor to have a transparent background.
I used this CSS
ion-app.cameraView, ion-app.cameraView ion-content, ion-app.cameraView .nav-decor {
  background: transparent none !important;
}

And then these functions to show the camera after qrScanner.show() and hide it after I’m finished scanning
  showCamera() {
    (window.document.querySelector('ion-app') as HTMLElement).classList.add('cameraView');
  }
  hideCamera() {
    (window.document.querySelector('ion-app') as HTMLElement).classList.remove('cameraView');
  }

Add the following lines into src/theme/variables.scss:
// Shared Variables
$background-color: transparent;

// App iOS Variables
// --------------------------------------------------
// iOS only Sass variables can go here
$content-ios-transition-background: transparent;

They make background of app transparent.

This seems to be solved. If you're still having trouble, feel free to open a new issue.

I got the same problem using Onsen UI on Cordova, but I managed to solve it thanks to the instructions provided here for Ionic:
TL;DR
div.page__background, div.page__content{
    background: transparent !important;
}

Longer Explanation
Onsen UI implements page navigation through custom elements. There's  that does the navigation part, and there's  elements inside the navigator that contains the pages. Inside a , there's two main  elements with classes "page_background" and "page_content". Both elements can't have a non-transparent background color.


Add grey box showing range of temperatures being fit in goethite_removal

As in the Verwey fit, add a grey box to the first plot showing the range of temperatures being fit with a polynomial.

This has now been implemented through https://github.com/PmagPy/RockmagPy-notebooks/commit/c65e79be8718758d023e4fed8a3332bd6a312d2d


Administration panel

The actual admin panel only allow to configure:

Application Email Settings
User Management
API Key Management
Team Management

But it would be great to be able to configure more:

Import / Export backups #790
Manage report templates #788
Manage custom fields #787
Manage custom sections #789
etc.

unstale


php-simple-html-dom-parser don't work with cURL

php-simple-html-dom-parser don't work with cURL

You Should Explain What Problem You Are Facing.
As I Can See It Working  👀👀

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "example.com");
$output = curl_exec($ch);
curl_close($ch);
$dom = HtmlDomParser::str_get_html($output); // doesnt work
$teamName = $dom->find('div[class="team-header"] > h1', 0)->plaintext; // doesnt work

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$dom = HtmlDomParser::str_get_html($output);
// $teamName = $dom->getElementByTagName("div.team-header h1 ")->plaintext;
$teamName = $dom->getElementByTagName("div.team-header h1[1] ")->plaintext;
echo $teamName;

// Please Check This.  Let Me Know if It working.

Works fine with cURL in localhost but on server doesn't work.
$dom = HtmlDomParser::str_get_html($output);
echo $dom; // on server get a blank page
$scrape_numbers = $dom->find('.table_cell_3 .table_cell_block', 0);
echo $scrape_numbers ;  // on server get this error: Call to a member function find() on bool
my Server Settings are:
cURL support | enabled
cURL Information | 7.76.1

I had the same problem. And then I noticed that in the library simple_html_dom.php defined MAX_FILE_SIZE, which overrides this setting by default php.ini. Once I raised the limit and everything worked.


Clarify ambiguous 'Ring Size' entry in moneropedia

Current version is ambiguous, leading readers to think the ring size had no minimum up to version 0.13: https://www.reddit.com/r/Monero/comments/jtw48a/interesting_article_with_a_financial_slant_about/gc8hcwv

ping @binaryFate


DCR error logs while registering a new app

When trying to register a new app using the sample CURL provided in doc [1], it writes following two errors in the log. But the client registation is done successfully.
[2019-07-16 15:10:36,751] ERROR {org.wso2.carbon.identity.oauth.OAuthUtil} -  Error while retrieving the app information using consumerKey: provided_client_id0001
[2019-07-16 15:10:36,752] ERROR {org.wso2.carbon.identity.oauth.dcr.service.DCRMService} -  Error while retrieving oauth application with client id: provided_client_id0001

This exception is thrown when it is checking for the existance of the client id before registering a new one. IMO, this should not be an error. Possibly a debug log.
[1] https://docs.wso2.com/display/IS580/apidocs/OAuth2-dynamic-client-registration/index.html#!/operations#OAuth2DCR#registerApplication

Update:

Error log produced by DCRMService has been updated to a debug log.
It was decided as necessary to keep the error log produced by OAuthUtil. However the relevant error handler method has been updated to facilitate error logging, only in the places where it's necessary (i.e. an error will be logged in OAuthAdminService and a debug will be logged in relevant DAOs).


[desktop/osx] Music Playlists: Cmd+A not selecting all tracks in playlist

gotta test in windows to see if Ctrl+A selects all there.
This might be happening in other places.

fixed


Cloudflare - Durable Object support

Hi, I'm very much interested in NuxtHub and exploring some of its capabilities. In particular I'm interested in trying out using Durable Objects. The idea would be to take something like this chat demo and create it with NuxtHub. Question at the moment would be, does NuxtHub support this currently, if so could someone point me in the right direction to get started, and if not what path could I take to create something that could?
I noticed this pull request #113 - am I right in thinking that if this is implemented, I will be able to impletement durable objects by extending the wrangler.toml and then create server api endpoints to handle the events (the functions in /src/chat.mjs in the demo). Or is there a way to already do this?

Closing as duplicate of #50
Yes it's planned! But today only Cloudflare Workers are supported for creating DO, right now NuxtHub only support Cloudflare Pages to deploy Nuxt apps to reduce cost (for static assets) but I know static assets are planned. Once it's good, the support for DO will move forward :)


Ideas for reducing heap memory usage

As discussed on Slack, I was debugging a problem that runs into GC performance limits in low-CPU environments with Go's default settings. Go's settings can be tweaked and there will likely always be some patterns of usage that stress allocations and will require tweaking e.g. GOMEMLIMIT, in these cases, but it could still be possible to reduce GC to lower the chance of this happening or possibly enabling applications to perform better in general. These are just ideas, and may not be good ones.
The ideas come from running this test with memory profiler. I do this by loading in GoLand and hitting the green play button, selecting run with memory profiler.
https://github.com/anuraaga/re2-go/blob/main/exec2_test.go#L19
It is instantiating several million regex's, each instantiating and closing a wasm module. The module has about 2K functions and uses 3 wasm pages of memory.
Function table
A huge number of the objects are &function{} and &functionInstance, allocated at these two locations (about 50/50 between the two)
https://github.com/tetratelabs/wazero/blob/main/internal/engine/compiler/engine.go#L543
https://github.com/tetratelabs/wazero/blob/main/internal/wasm/module.go#L609
The instances are always stored into a slice from what I can tell - I wonder if it would be possible to use contiguous slice, e.g. []function instead of pointer slice, e.g. []*function for these. If it is possible, it could dramatically reduce the number of heap objects while still accessing everything through the memory in these slices.
This would definitely make the code more fragile - most likely most logic operations will still need to work on pointer of function, with the goal being for those pointers being into a contiguous slice of memory. It can be easy in such a style to accidentally not use a pointer and break things mysteriously.
Objects:

Module memory
The number of objects for memory was very low while the number of bytes is high - for context, the number of bytes in memory objects is about equal to the number of bytes in function objects (which, to me, was surprising, I didn't expect the function objects to be taking so much space but I guess it adds up). I'm not sure how Go's GC performs with respect to number of objects and bytes of objects, both should matter but I think generally GC's are more affected by the number. So optimizing module memory may not have as big an impact as function table.
But one idea is to use a sync.Pool for memory.Buffer. This would not be as big of a refactoring as the function table change proposed, so I did give it a simple try. Performance went down quite a bit in the general case, I didn't do detailed profiling of it but presume zeroing out the reused buffer on the hot path is not as efficient as letting the GC take care of it. So this may not be practical anyways, but just putting it for the record.
Space:

Call stack
A call stack is allocated every time ExportedFunction is called
https://github.com/tetratelabs/wazero/blob/main/internal/engine/compiler/engine.go#L835
I don't know if it's common, but I tend to call ExportedFunction a lot to cache the call engines for the many functions in a module.
https://github.com/anuraaga/re2-go/blob/main/re2_wazero.go#L31
Because wasm functions cannot be called in parallel, I wonder if it's possible for the allocated stack to be only once for the module instead of per exported function?

@anuraaga to clarify as I'm still intermediate level at go, I think "Function table" section is saying move from heap to stack allocation (assuming these things aren't stateful and safe to copy a lot). Is that right? Is there any limitations you foresee in the same env with stack allocation? ;)

@codefromthecrypt Ah nah don't quite mean that - the slice's backing array is still on the heap, so it means the data of those structs is packed into that contiguous backing array, rather than it being an array of pointers, each to random places in memory. i.e., make(function, 10) has a backing array of size 10*sizeof(function{}) with everything inside, while make(*function, 10) has size 80 bytes (8 byte per pointer), with each function living somewhere else in memory and the pointers being in the slice.
So AFAIK, there wouldn't be any stack allocations or such that could have a performance tradeoff from the scheme as it's still all memory that can have pointers, just the memory happens to be in one contiguous block. But then we have potential for the aforementioned fragility, it becomes much easier to create code that compiles but used a non-pointer (and therefore copied, and therefore doesn't update the real memory on mutation when intended) and then fails at runtime mysteriously. I think so anyways.

Came up with an implementation of the idea for function table that isn't that invasive
https://github.com/tetratelabs/wazero/compare/main...anuraaga:less-function-heap-objects?expand=1
It's not optimal, theoretically you shouldn't need two slices, a storage slice and pointer slice, and instead just make sure all pointers in the program are to the storage slice. But the diff size is small, and more importantly it doesn't seem to have the caveat that I mentioned of accidentally accessing a function as a struct copy instead of through pointer - the non-pointer access is hidden away as a function local variable.
Would need microbenchmarks to track better, but just trying out TestRE2Exhaustive on my mac normally, the runtime went from ~2m20s to ~1m50s. And the memory profiles do show those objects all gone, and a more spread out profile in general without anything dominating on the object-count front.
If the approach seems reasonable, could try to clean up with more benchs and send out.

By the way, edited my first comment with a third idea that came to mind after seeing the cleaned up memory profile after the above. Don't think it's as impactful but intuitively seems like it shouldn't be a hard optimization.

@anuraaga your change looks fine. As we rarely use structs that aren't pointers, in your cleanup add a comment why it isn't, so it isn't "fixed" later. thanks for the help!

but yeah as a temporary change looks fine, so please leave a TODO on making moduleEngine.Functions to []function

@mathetake Haha yeah my first attempt at trying that looked like I would hit my limit quickly :P Ok the TODO sounds good


[Windows] WSL2 VM process be created even though the default shell is PowerShell Core

[Environment]
Windows 10 22H2 x64
extraterm v0.68.0
[Issue]
While extraterm starting, the vmmem process will be created, even though the default shell launched is PowerShell Core. This behavior will introduce a significant lag (~6s) in start up of the program and use a lot of RAM (320 MB). The vmmem process will shut down automatically after minutes of inactive. But I have met the case that the extraterm crashed, and the VM stayed in the background until I terminated it manually.
[Steps to reproduce]

Set the default shell to PowerShell Core by moving it to the top of the list in settings.
Start Extraterm again.
A vmmem process will be created.

[Expeted behavior]
The WSL2 virtual machine process should only be created only if the WSL2 shell is been launched, and exit while there is no active WSL2 shell any more.
[Screenshot]

[Config]

Click me
{
"commandLineActions": [],
"sessions": [
  {
    "uuid": "6f270b82-00c3-442f-9c9f-e002a5a26ed8",
    "name": "PowerShell Core",
    "type": "windows-console",
    "exe": "pwsh.exe",
    "args": "",
    "initialDirectory": null
  },
  {
    "uuid": "bc53e522-f99f-4da6-bfaa-b83efcdca2a0",
    "name": "WSL Default",
    "type": "wsl",
    "useDefaultShell": true,
    "shell": "",
    "args": "",
    "distribution": "",
    "initialDirectory": "",
    "extensions": {}
  },
  {
    "uuid": "4886fb8e-6ceb-4416-b135-48ca6ec86d21",
    "name": "WSL Debian",
    "type": "wsl",
    "useDefaultShell": true,
    "shell": "",
    "args": "",
    "distribution": "Debian",
    "initialDirectory": null
  },
  {
    "uuid": "d0e63509-3abc-4f5d-bef3-ba02e718422c",
    "name": "CMD",
    "type": "windows-console",
    "exe": "cmd.exe",
    "args": "",
    "initialDirectory": "",
    "extensions": {}
  },
  {
    "uuid": "77c248c5-d802-4732-8d02-607148ac4505",
    "name": "PowerShell",
    "type": "windows-console",
    "exe": "powershell.exe",
    "args": "",
    "initialDirectory": null
  }
],
"autoCopySelectionToClipboard": true,
"blinkingCursor": false,
"cursorStyle": "block",
"frameRule": "frame_if_lines",
"frameRuleLines": 10,
"keybindingsName": "pc-style",
"minimizeToTray": false,
"showTrayIcon": false,
"scrollbackMaxFrames": 100,
"scrollbackMaxLines": 10000,
"terminalFont": "DejaVu Sans Mono",
"terminalFontSize": 13,
"terminalDisplayLigatures": true,
"terminalMarginStyle": "normal",
"tipCounter": 0,
"tipTimestamp": 0,
"titleBarStyle": "native",
"uiScalePercent": 100,
"windowBackgroundMode": "opaque",
"windowBackgroundTransparencyPercent": 50,
"closeWindowWhenEmpty": true,
"middleMouseButtonAction": "paste",
"middleMouseButtonShiftAction": "paste",
"middleMouseButtonControlAction": "paste",
"rightMouseButtonAction": "context_menu",
"rightMouseButtonShiftAction": "context_menu",
"rightMouseButtonControlAction": "context_menu",
"activeExtensions": {},
"themeTerminal": "itermcolors-terminal-theme-provider:Two Dark.itermcolors",
"windowConfiguration": {
  "0": {
    "isMaximized": true,
    "x": 0,
    "y": 23,
    "width": 1500,
    "height": 938
  }
}
}

[Log]

Click me
2022-12-15 11:48:05.938 INFO [main #0] Recording logs to  C:\Users\explo\AppData\Roaming\extratermqt\Config\extraterm.log
2022-12-15 11:48:17.368 INFO [main #0] User extension directory is: C:\Users\explo\AppData\Roaming\extratermqt\Config\extensions
2022-12-15 11:48:17.369 INFO [ExtensionManager #0] Scanning 'C:\Program Files\extratermqt\extensions' for extensions.
2022-12-15 11:48:17.375 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\About'.
2022-12-15 11:48:17.378 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autocomplete'.
2022-12-15 11:48:17.380 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autolink'.
2022-12-15 11:48:17.381 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CommunityTerminalThemes'.
2022-12-15 11:48:17.383 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyBlock'.
2022-12-15 11:48:17.385 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyLink'.
2022-12-15 11:48:17.386 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultKeybindings'.
2022-12-15 11:48:17.387 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultTerminalTheme'.
2022-12-15 11:48:17.391 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DirectoryCommands'.
2022-12-15 11:48:17.393 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DownloadBlock'.
2022-12-15 11:48:17.397 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Find'.
2022-12-15 11:48:17.400 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ImageBlock'.
2022-12-15 11:48:17.403 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InjectShellIntegration'.
2022-12-15 11:48:17.405 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InsertEmoji'.
2022-12-15 11:48:17.411 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InternalCommands'.
2022-12-15 11:48:17.412 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ITermColorsTerminalThemeProvider'.
2022-12-15 11:48:17.413 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\OpenLink'.
2022-12-15 11:48:17.415 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionBackend'.
2022-12-15 11:48:17.416 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionEditor'.
2022-12-15 11:48:17.417 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\StyleGuide'.
2022-12-15 11:48:17.420 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TerminalTitle'.
2022-12-15 11:48:17.422 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TLDRPages'.
2022-12-15 11:48:17.423 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionBackend'.
2022-12-15 11:48:17.424 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionEditor'.
2022-12-15 11:48:17.425 INFO [ExtensionManager #0] Starting extension 'about'
2022-12-15 11:48:17.440 INFO [ExtensionManager #0] Starting extension 'autocomplete'
2022-12-15 11:48:17.447 INFO [ExtensionManager #0] Starting extension 'autolink'
2022-12-15 11:48:17.451 INFO [ExtensionManager #0] Starting extension 'community-terminal-themes'
2022-12-15 11:48:17.451 INFO [ExtensionManager #0] Starting extension 'copy-block'
2022-12-15 11:48:17.456 INFO [ExtensionManager #0] Starting extension 'copy-link'
2022-12-15 11:48:17.459 INFO [ExtensionManager #0] Starting extension 'default-keybindings'
2022-12-15 11:48:17.459 INFO [ExtensionManager #0] Starting extension 'default-terminal-theme'
2022-12-15 11:48:17.460 INFO [ExtensionManager #0] Starting extension 'directory-commands'
2022-12-15 11:48:17.462 INFO [ExtensionManager #0] Starting extension 'download-block'
2022-12-15 11:48:17.492 INFO [ExtensionManager #0] Starting extension 'find'
2022-12-15 11:48:17.500 INFO [ExtensionManager #0] Starting extension 'image-block'
2022-12-15 11:48:17.508 INFO [ExtensionManager #0] Starting extension 'inject-shell-integration'
2022-12-15 11:48:17.508 INFO [ExtensionManager #0] Starting extension 'insert-emoji'
2022-12-15 11:48:17.521 INFO [ExtensionManager #0] Starting extension 'internal-commands'
2022-12-15 11:48:17.522 INFO [ExtensionManager #0] Starting extension 'itermcolors-terminal-theme-provider'
2022-12-15 11:48:17.559 DEBUG [itermcolors-terminal-theme-provider] ITermColorTerminalThemeProvider activating
2022-12-15 11:48:17.559 INFO [ExtensionManager #0] Starting extension 'open-link'
2022-12-15 11:48:17.562 INFO [ExtensionManager #0] Starting extension 'proxy-session-backend'
2022-12-15 11:48:17.674 INFO [ExtensionManager #0] Starting extension 'proxy-session-editor'
2022-12-15 11:48:17.681 INFO [proxy-session-editor] ProxySessionEditorExtension activate
2022-12-15 11:48:17.699 INFO [ExtensionManager #0] Starting extension 'styleguide'
2022-12-15 11:48:17.704 WARN [ExtensionManager #0] Unable to load C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs. Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs' imported from C:\Program Files\extratermqt\main\dist\main.cjs
2022-12-15 11:48:17.705 INFO [ExtensionManager #0] Starting extension 'terminal-title'
2022-12-15 11:48:17.737 INFO [ExtensionManager #0] Starting extension 'tldr-pages'
2022-12-15 11:48:17.743 INFO [ExtensionManager #0] Starting extension 'windows-console-session-backend'
2022-12-15 11:48:17.781 INFO [ExtensionManager #0] Starting extension 'windows-console-session-editor'
2022-12-15 11:48:17.819 WARN [ConfigDatabase #0] Unable to find config for key  system
2022-12-15 11:48:17.997 INFO [LocalHttpServer #0] Local HTTP IPC server running on http://<IP_ADDRESS>:4973/4da0e288fb62ec5f4bb7a523ab5f80de
2022-12-15 11:48:56.132 WARN [windows-console-session-backend] WindowsConsolePty.destroy()

Fixed in the 0.71.0 release.


gax: remove deprecated warnings.

@kolea2 If you have a few mins of time, could you please have a look this PR.
Background: This is intended to address the deprecated method(isSameAs() --> isSameInstanceAs()) present in test classes after migrating to truth-1.0.

@igorbernstein2 If you have some spare time, Could you please have a look.

I think this needs to be reviewed by @vam-google.


Typo: Global vs Local Scope in Functions challenge has inconsistent function name

Challenge Global vs Local Scope in Functions has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36.
The instructions refer to the function in the challenge to be submitted as "myOutfit" whereas the pre-populated code refers to it as "myFunction". Challenge will fail unless user updates "myFunction" with "myOutfit" prior to submitting.

My code:
// Setup
var outerWear = "T-Shirt";

function myFunction() {
  // Only change code below this line

  // Only change code above this line
  return outerWear;
}

myFunction();

@gyousuf thanks for the issue. We have recently been updating certain function names and the change is slowly propagating. Clicking the reset button should pre-populate the editor with the correct code. Happy coding!


NormaliseSpace not always sufficient to prevent whitespace making equivalent docs appear different

When using this library within vagrant-libvirt in order to help compare XML domain definition sent to libvirt vs what was actually applied by libvirt I discovered that docs that contain different whitespace will sometimes appear not to be equivalent even when using the option NormaliseSpace set to 2, due to the resulting structure may contain a content element while the other doc that did not have the extraneous whitespace will not contain this field at all.
e.g.
<domain xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' type=''>
  <name/>
  <title/>
  <description/>
  <uuid/>
  <memory/>
  <vcpu>1</vcpu>
  <cpu check="none" mode="host-model">

  </cpu>
  <os>
    <type>hvm</type>
    <kernel/>
    <initrd/>
    <cmdline/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <devices>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input bus='ps2' type='mouse'/>
    <graphics autoport='yes' keymap='en-us' listen='<IP_ADDRESS>' port='-1' type='vnc'/>
    <video>
      <model heads='1' type='cirrus' vram='16384'/>
    </video>
  </devices>
</domain>

vs:
<domain xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' type=''>
  <name/>
  <title/>
  <description/>
  <uuid/>
  <memory/>
  <vcpu>1</vcpu>
  <cpu check="none" mode="host-model"/>
  <os>
    <type>hvm</type>
    <kernel/>
    <initrd/>
    <cmdline/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <devices>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input bus='ps2' type='mouse'/>
    <graphics autoport='yes' keymap='en-us' listen='<IP_ADDRESS>' port='-1' type='vnc'/>
    <video>
      <model heads='1' type='cirrus' vram='16384'/>
    </video>
  </devices>
</domain>

require 'xmlsimple'

doc1 = <<EOF
<domain xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' type=''>
  <name/>
  <title/>
  <description/>
  <uuid/>
  <memory/>
  <vcpu>1</vcpu>
  <cpu check="none" mode="host-model">

  </cpu>
  <os>
    <type>hvm</type>
    <kernel/>
    <initrd/>
    <cmdline/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <devices>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input bus='ps2' type='mouse'/>
    <graphics autoport='yes' keymap='en-us' listen='<IP_ADDRESS>' port='-1' type='vnc'/>
    <video>
      <model heads='1' type='cirrus' vram='16384'/>
    </video>
  </devices>
</domain>
EOF

doc2 = <<EOF
<domain xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' type=''>
  <name/>
  <title/>
  <description/>
  <uuid/>
  <memory/>
  <vcpu>1</vcpu>
  <cpu check="none" mode="host-model"/>
  <os>
    <type>hvm</type>
    <kernel/>
    <initrd/>
    <cmdline/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <devices>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input bus='ps2' type='mouse'/>
    <graphics autoport='yes' keymap='en-us' listen='<IP_ADDRESS>' port='-1' type='vnc'/>
    <video>
      <model heads='1' type='cirrus' vram='16384'/>
    </video>
  </devices>
</domain>
EOF

xml1 = XmlSimple.xml_in(doc1, {'NormalizeSpace' => 2})
xml2 = XmlSimple.xml_in(doc2, {'NormalizeSpace' => 2})
xml1 == xml2

will result in false.
I've added some code to vagrant-libvirt to walk the returned structure and remove the content if it's empty since if the whitespace is not relevant there should be no need for the attribute to be defined.
https://github.com/vagrant-libvirt/vagrant-libvirt/blob/439830b6d42758e2607c84d518f61be4235a8213/lib/vagrant-libvirt/util/xml.rb#L25-L43
If I then output the xml1 and input it again, it will have dropped the content field, so I'm wondering if maybe it should be not set at all in the case NormaliseSpace is 2 and after stripping it is empty?

Thank you very much for reporting this!
I could reproduce the issue and it the library's behavior is inconsistent in this case. Still, I would prefer not to fix it to prevent any incompatibilities with existing code bases.
I could imagine to add a new option to suppress the empty content attribute in such cases.

Does this library need to align with perl XML::Simple? I was wondering if NormaliseSpace could become a binary flag set of options so that if the option to drop empty content attributes was using 4 then it could be 2 | 4 to combine them, but that depends on whether it makes sense to do that for the option.

No, it does not have to be compatible with Perl XML::Simple. Actually, it
never was, because it uses different defaults for some options, for example.
I just do not want to break existing behavior for current Ruby users. That
is, I do not want to change the current behavior when using NormaliseSpace
and I do not want to change the API of NormaliseSpace. Of course, it would
be possible to extend it, but I do not want to change how it works at the
moment. So, the best way to fix this issue would probably be to add a new
option.
On Wed, Aug 31, 2022 at 7:36 PM Darragh Bailey @.***>
wrote:

Does this library need to align with perl XML::Simple? I was wondering if
NormaliseSpace could become a binary flag set of options so that if the
option to drop empty content attributes was using 4 then it could be 2 | 4
to combine them, but that depends on whether it makes sense to do that for
the option.
—
Reply to this email directly, view it on GitHub
https://github.com/maik/xml-simple/issues/34#issuecomment-1233227661,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAFQTYLHV7OQUOIHPEWBOLV36J2ZANCNFSM6AAAAAAQASOKRE
.
You are receiving this because you commented.Message ID:
@.***>


Willing to take a PR to add TypeScript types?

This project looks very interesting, and I'd like to try it out with TypeScript. However, there are currently no official types available.
There are two ways to do this.

Publish types to DefinitelyTyped.
Include types with this package.

Including types with this package would involve adding a types directory and modifying the package.json.
Would you take a PR adding types to this package?

+1

Since it's been over a week, I decided to go ahead and publish to DT. There is an outstanding pull request here.
@danielmhanover Please let me know if there are any issues, or make pull requests yourself.
If it's ever decided to include types with this package directly, we can just add here and remove from DT.

Will do!

+1 to this also

@tansongyang, I added a PR to fix a typo. I got this while testing my reducers with redux-pack. I don't how the process works in the DT repository, but it would be great to fix it and update it in the projects.

DT is the proper place for types for packages not natively authored in TS.


Replicator: add compare timestamps in the tests

Fixes: #31
Description:
This PR adds comparing timestamps of all non-partition & non-clustering columns for all rows.

Setting this PR to draft since cql writetime function used for reading timestamps doesn't support non-frozen collections. Currently replicator doesn't support non-frozen collections, but sooner or later it will.


Remove fixed size buffer when reading lines from the response file.

This PR removes a hardcoded maximum line length and instead, dynamically allocates a string to read lines.
Currently cppwinrt.exe silently fails. @kennykerr thoughts on outputting some kind of error when the response file contains invalid data?

You can report errors using throw_invalid().

Looks like that might be handled already as it hits the same code path as if it was passed in without a response file.

Thanks Johan!


Add functionality to return-from-declaration

[ ] All compiled assets are included (atom packages are git tags and hence the built files need to be a part of the source control)

Thanks, I looked at the code briefly and it's 👍 . Only thing - I think you also need to add the same command as typescript:return-from-declaration to be consistent with how go-to-declaration is defined. A keyboard shortcut would also be nice.
If you want, feel free to add this to the beta branch, too!

Okay, no problem. I'll fix that quickly.
I'll see what I can do on the beta branch as well.

Okay. I added the new type and a keymap to it. I picked F10 because it was near F12 and wasn't already in use as far as my editor was concerned.  symbols-view uses ctrl-t
I'll checkout the beta branch tonight and poke around and see what I can do. I'll make a separate pull request for that.

Great job, thanks! I'll publish it during the weekend.


stylize output

ie add colors and other types of styling

Did it using rainbow, going to open a ticket about all the changes ;)


Mriqc error:  'input_image' path  '[]' does not exist

This is my first time trying to use mriqc with singularity on a cluster. While I have a test subject in BIDS format, this is what the error message look like:
Running MRIQC on participant
2022-03-09 15:42:29,542 mriqc:IMPORTANT
Running MRIQC version 0.15.1:
* BIDS dataset path: /project/cirna_cure/CURE/BIDS.
* Output folder: /project/cirna_cure/CURE/BIDS/derivatives/mriqc/sub-CURE3000.
* Analysis levels: group, participant.
220309-15:42:33,636 nipype.workflow INFO:
Building anatomical MRIQC workflow, datasets list: ['sub-CURE3000/ses-v3/anat/sub-CURE3000_ses-v3_acq-lowres_T1w.nii.gz']
2022-03-09 15:42:33,636 nipype.workflow:INFO Building anatomical MRIQC workflow, datasets list: ['sub-CURE3000/ses-v3/anat/sub-CURE3000_ses-v3_acq-lowres_T1w.nii.gz']
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/bin/mriqc_run.py", line 418, in init_mriqc
wf_list.append(build_workflow(dataset[mod], mod, settings=settings))
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/workflows/core.py", line 27, in build_workflow
workflow = anat_qc_workflow(dataset, mod=mod, settings=settings)
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/workflows/anatomical.py", line 89, in anat_qc_workflow
amw = airmsk_wf()
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/workflows/anatomical.py", line 492, in airmsk_wf
'MNI152NLin2009cAsym', resolution=1, desc='head', suffix='mask'))
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/traits_extension.py", line 112, in validate
self.info_text, value))
traits.trait_errors.TraitError: The trait 'input_image' of an ApplyTransformsInputSpec instance is an existing file name, but the path  '[]' does not exist.
I'm pretty sure I specified the input path in the command and not sure why it couldn't find it. Any help would be appreciated. Thanks

It looks like you are running two processes with the same image and same work directory and a race condition is making the second in the run to fail.

Hi @wencao1224, please update your mriqc version to the current latest version (either 0.16.1, which is stable, or 22.0.0rc1, which is experimental). There have been changes that will probably have fixed your issue. By coming back to your error, I realize the problem might not be a race condition, but a missing template file instead.

We are going to consider this issue abandoned. If the problem still stands, please reopen it.


feat:Added deleting an edit functionality

fixes #167
Added functionality to delete edited changes

Hi @utnim2 just checking in if you are still working on this PR, If yes, that's fine. Please let me know if you need any assistance. If not, please let me know if I can proceed further with this issue.

Hi @utnim2 just checking in if you are still working on this PR, If yes, that's fine. Please let me know if you need any assistance. If not, please let me know if I can proceed further with this issue.

working on it

@Gmin2 - were you still interested in working on this?  If not, no worries!  I think we can accept the work that you have done and can have someone else finish up the remaining parts.  Thanks!

@Gmin2 - were you still interested in working on this? If not, no worries! I think we can accept the work that you have done and can have someone else finish up the remaining parts. Thanks!

@Gmin2 - were you still interested in working on this? If not, no worries! I think we can accept the work that you have done and can have someone else finish up the remaining parts. Tha

Hi @lrasmus as @Gmin2 mentioned that he is no longer working on this issue, can I take this forward?

Not a problem @Gmin2!  I appreciate everything you've done on this.  Because this is in progress, @Gmin2 could you update the PR to use the develop branch?
@Abhijay007 really appreciate you stepping in - I'll assign #167 to you, and if you want to finish this up that'd be amazing.

Superseded by @Abhijay007's PR #207


Added histograms and boxplots for outlier variables

Please test it and let me know the outcome!
One thing to bear in mind is that the rendering of graphs without outliers only works if the correct ID variable is set up in the Setup tab. This is a bit prone to error at the moment. As soon as I will be done with issue #24 this should not be a problem anymore, since the id variable will be enforced globally.

good idea! Will fix.


Test the soft dependencies feature in CI

Use kmm_ci_b which is already built in the kmm-kmod image.
Fixes #477
/cc @yevgeny-shnaidman @ybettan

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

Comparison is base (06f403b) 79.19% compared to head (0d4d725) 79.19%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #594   +/-   ##
=======================================
  Coverage   79.19%   79.19%
=======================================
  Files          49       49
  Lines        4869     4869
=======================================
  Hits         3856     3856
  Misses        837      837
  Partials      176      176

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

/lgtm