fix install_k9s script

What this PR does / why we need it:
This PR adapts the install_k9s script to the current naming scheme for the k9s tarball as it has changed with v0.27.0.
Which issue(s) this PR fixes:
Fixes #89
Special notes for your reviewer:
Release note:

Fixed `install_k9s` script

/lgtm

/hold
Actually, should we still keep the old naming scheme if the version is specified and it is v0.26.0 or lower? Or perhaps we could add a check and forbid downloading such older versions

In the past the naming scheme for the build results was changed several times and we haven't supported it there either.
The main reason that I added the option to specify a different version than latest was that sometimes in the past it happened that the latest k9s release had severe issues where you would want to switch to one of the previous releases where the issues did not occur.
As of now I'm not aware of a use case where you would want to install an arbitrary old version of k9s.


Update README.md

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Just as experiment

@ritesh1601 Close this PR respect the reviewers time and effort.


Memory Info Not Displaying

I'm Running SysMonTask on Kubuntu 22.04.2 LTS. I'm running sysmontask under sudo root privileges. The memory tab isn't showing the Speed of my memory, and next to "Slots Used" is 0 of 2 which it should be 2 of 2. I attached a picture of what it looks like.
Here is what sudo dmidecode --type 17 Looks like:

And Here is The Screenshot of the memory tab

I think I found a solution to this. In mem.py on line 40 where is says grep -E -i "memory speed" change it to speed instead of memory speed


[FLINK-8914][CEP]Fix wrong semantic when greedy pattern is the head of the pattern

What is the purpose of the change
As described in the jira FLINK-8914
There is something wrong with greedy when it is the head of the pattern. Because the NFA process each ComputationState and will produce a new Start ComputationState. So when it runs into the greedy match, other start runs can also be set up
Brief change log
(for example:)

Add a new StateType Greedy for convenience of distinguishing the greedy in computations
Remove the redundant start state during process

Verifying this change
Add two UT in GreedyITCase

@dawidwys please help review this pr when you free,thx

Hi @Aitozi , thanks for your contribution.
FYI. We had some discussions offline with @kl0u about how to approach this issue. We plan to adjust the behaviour of AfterMatchSkip clause a bit and it will also affect the greedy in the beginning. Therefore it might take a while to comment on this PR.

Got it. Thanks for your response @dawidwys and waiting for you further comment on this PR.  I am glad to contribute to the cep library and really hope to get more ideas or share from you guys discussion about CEP, thanks.

Hi @Aitozi. As I described previously, this case should be handled with greedy and proper AfterMatchSkip strategy. Would you be ok with closing this PR?

Sure, closing.

@dawidwys The proper AfterMatchSkip strategy can only work on some situations, such as `List strings = Arrays.asList("1,3,5,5,5,5,1,6,".split(","));
    DataStream<String> input = env.fromCollection(strings);

    Pattern<String, ?> pattern = Pattern.<String>
            begin("start", AfterMatchSkipStrategy.skipPastLastEvent()).where(new SimpleCondition<String>() {
        @Override
        public boolean filter(String value) {
            return value.equals("5");
        }
    }).oneOrMore()
            .followedBy("end").where(new SimpleCondition<String>() {

                @Override
                public boolean filter(String value) {
                    return value.equals("6");
                }
            });`

The output is :
**=======
5
5
5
5
6
=======**
While ,when I have only one pattern，it doesn't work fine.
` List strings = Arrays.asList("1,3,5,5,5,5,1,6,".split(","));
    DataStream<String> input = env.fromCollection(strings);

    Pattern<String, ?> pattern = Pattern.<String>
            begin("start", AfterMatchSkipStrategy.skipPastLastEvent()).where(new SimpleCondition<String>() {
        @Override
        public boolean filter(String value) {
            return value.equals("5");
        }
    }).oneOrMore().greedy()`

The output is :
**=======
5
=======
5
=======
5
=======
5
======**

@dawidwys  If I can just try to reopen this topic. AfterMatchSkipStrategy does really work for cases in which greedy is used, problem with AfterMatch is that we have really long states which can generate millions of partial matches which are only discarded after the full matching is done. Of course this never gets done because before that, we run out of resources


prop-types fixes

Closes #3

@younanjo  Thanks for spotting this and submitting the pull request 👍


auto-generate mixin class for Subplot to hold all the add_<graphic> methods

This will solve our issues with doc generation for all these methods like Plot.add_image().

@clewis7 For Sunday?

I think after this we can also organize the docs such that it's one method per page with examples, kinda like numpy docs?


simple support http1.1 keep-alive

Just want to use persistent connection, any idea?

There's a ticket about it here: https://code.djangoproject.com/ticket/25619
Claude offered https://github.com/django/django/pull/5524, but the selenium tests didn't work. Did you test them with your patch?

selenium tests currently fail with AttributeError: 'ServerHandler' object has no attribute 'has_length'. Do you want to try to develop a complete patch with tests, etc?

I'm testing with selenium, yes it stuck :(
python runtests.py --selenium chrome

I don't know why it stuck on this request, any idea?
 It pass the tests after stripping tail newline of response content.

Use tornado or gevent are fine too.
#!/usr/bin/env python
import os
import sys

# http1.1 patch
from django.core.servers import basehttp

def run_tornado(addr, port, wsgi_handler, ipv6=False, threading=False):
    import tornado.wsgi, tornado.httpserver, tornado.ioloop

    container = tornado.wsgi.WSGIContainer(wsgi_handler)
    server = tornado.httpserver.HTTPServer(container)
    server.listen(port=port, address=addr)
    tornado.ioloop.IOLoop.instance().start()

def run_gevent(addr, port, wsgi_handler, ipv6=False, threading=False):
    from gevent import monkey; monkey.patch_all(thread=False)
    from gevent.pywsgi import WSGIServer

    WSGIServer((addr, port), wsgi_handler).serve_forever()

basehttp.run = run_gevent

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

I've reopened my PR in #8043. If you think the additions in your patch are adding value or fixing things, please tell us why (and ideally show that by tests).


Add leielandscholen.be to list of schools

thanks.

Can this one please be added?

I'm very sorry for the delay - i'm adding the domain.


Add optionSelectedPath

We need the text to be configurable for nested items.

Working through the PRs I found this one, but I'm really not sure, which problem is solved by this change. If this is still relevant to you, please explain what you tried to achieve.

This allows you to have a different displayed label than what you selected in the list. As an example, we show a complicated tree structure in our select2 like this:
Thing 1
-- Thing 2
---- Thing 3

..but we want to display "Thing 2" in the select2 when you pick "-- Thing 2".
Does that make sense?

Ok, thanks for the clarification, I now understand what you're trying to do and I can see the need for this. However, there are a few things:

This needs to be tested
The option should be renamed to optionLabelSelectedPath to make it clearer what this is doing. The new name would be longer and more typing, but I would always choose clarity over brevity.
The implementation could be a little more elegant (but really only a little, thats not a big deal)

How about I take care of this and merge/edit this as soon as possible?


Fixed clippy warnings

Fixed all clippy warnings and tested all the changes.

I was thinking the same, finally I could find the culprit but nada

Maybe you can try comparing the 2 prs


windows: Python 3 conda install is still on 0.4.x

Conda install for Python 2.7 is on 1.0.x, but Python 3 is still on 0.4
using conda install -c cvxgrp cvxpy
(base) C:\>conda search -c cvxgrp cvxpy
WARNING: The conda.compat module is deprecated and will be removed in a future release.
Loading channels: done
# Name                       Version         Build         Channel
cvxpy                          0.4.2            py_0           cvxgrp
cvxpy                         0.4.10  py36hff9b014_0  cvxgrp
cvxpy                          1.0.1  py27hf9d7886_0  cvxgrp

This is only true for Windows
riley@elephantmk2:~$ conda search -c cvxgrp cvxpy --platform win-64
Loading channels: done
# Name                       Version           Build  Channel
cvxpy                          0.4.2            py_0  cvxgrp
cvxpy                         0.4.10  py36hff9b014_0  cvxgrp
cvxpy                          1.0.1  py27hf9d7886_0  cvxgrp

Renaming the issue. We will get this fixed, but for now please use pip install cvxpy on Windows. Note that you can run "pip install" within a given conda environment; just make sure to install pip to that conda environment first. You will also need to have an appropriate C++ compiler installed (the Microsoft Visual Studio compilers will do the job).

Per
https://anaconda.org/cvxgrp/cvxpy/files?sort=basename&sort_order=desc
It looks like up-to-date (1.0.24) cvxpy is available for Windows (python 3.5 and 3.6). With my most recent pull request, that should also include python 3.7.


Update SettingUp.md

Codecov Report

Merging #217 (8081b0a) into master (312cac5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #217   +/-   ##
=========================================
  Coverage     80.15%   80.15%
  Complexity      836      836
=========================================
  Files            99       99
  Lines          2167     2167
  Branches        305      305
=========================================
  Hits           1737     1737
  Misses          343      343
  Partials         87       87

Continue to review full report at Codecov.

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


[enhancement]shasum error. Because is not compatible with cnpmjs.

problem
It occurs "shasum check failed" error.
the whole sentence is
npm ERR! shasum check failed for /var/folders/cc/n1t9n30s45509jsbws5v723h0000gn/T/npm-61661-e421db3b/<IP_ADDRESS>_5080/tarballs/koa-static/1.5.2.tgz

and the cat ....koa-static/1.5.2.tgz is
{"error":"not_found","reason":"document not found"}%

why
This error comes by setting a cnpmjs repository as a "--remote" fullfatdb.
It may be because of the different strategy of the url for downloading.
fix
I think this is a lack function more than a bug.
And have no idea because have not look into the code.
But a fix for this will greatly helpful. (https://registry.npmjs.org here is slow)

@wusisu does this issue still persist?

I think that may be my wrong expectation about how to use local-npm with --remote and --remote-skim.
A fast npm registry mirror here in China is https://registry.npm.taobao.org/ , which is built by cnpmjs.
And It provide no skim-db, so I try to run local-npm by
local-npm --url-base http://<IP_ADDRESS>:5080 --remote https://registry.npm.taobao.org/

I run npm install 1grids with this registry and it return errors:
npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/Cellar/node/7.4.0/bin/node" "/usr/local/bin/npm" "install" "1grids"
npm ERR! node v7.4.0
npm ERR! npm  v4.0.5

npm ERR! shasum check failed for /var/folders/bl/749wcppx5c1724jwyd00t8xh0000gq/T/npm-25864-825d51d8/<IP_ADDRESS>_5080/tarballs/1grids/4.0.6.tgz
npm ERR! Expected: d01bb78a00d88fcc1f9100042b98dd2671111abe
npm ERR! Actual:   8d065612f683d9f8df207e665ab24398309c912e
npm ERR! From:     http://<IP_ADDRESS>:5080/tarballs/1grids/4.0.6.tgz
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /private/tmp/aaaa/npm-debug.log

while
>curl http://<IP_ADDRESS>:5080/tarballs/1grids/4.0.6.tgz
{"error":"not_found","reason":"document not found"}%

I try npm show 1grids using https://registry.npm.taobao.org/, and I get tarball:
dist:
   { shasum: 'd01bb78a00d88fcc1f9100042b98dd2671111abe',
     size: 4639,
     noattachment: false,
     tarball: 'http://registry.npm.taobao.org/1grids/download/1grids-4.0.6.tgz' }

other than using https://registry.npmjs.org
dist:
   { shasum: 'd01bb78a00d88fcc1f9100042b98dd2671111abe',
     tarball: 'https://registry.npmjs.org/1grids/-/1grids-4.0.6.tgz' }

I think this could be a reason why comes error.

This is not so boring me, because using registry.npmjs.org seems acceptable.

When I curl http://<IP_ADDRESS>:5080/tarballs/1grids/4.0.6.tgz
console on local-npm prints as follows:
hashes don't match, not returning
not cached 1grids at version 4.0.6, downloading...
GET /tarballs/1grids/4.0.6.tgz 200 109.462 ms - 51
downloaded 1grids at version 4.0.6 and saved it locally

Thanks for help.

@wusisu okay this seems like a valid bug because the tar never gets downloaded because the forwarded url is https://registry.npm.taobao.org/tarballs/1grids/4.0.6.tgz which returns {"error":"not_found","reason":"document not found"} looking at a possible solve for this.

@wusisu okay the issue was here (https://github.com/local-npm/local-npm/blob/master/lib/index.js#L109) because it makes assumptions of where the tarball should be here (https://github.com/local-npm/local-npm/blob/master/lib/index.js#L222).
So I made a change that if it reaches line 222 meaning that it needs to go get the tar from the source repository it will go and fetch the info so now it looks like this;

npm

Gabriels-MacBook-Pro-2:temp gabrielcsapo$ npm get registry
http://<IP_ADDRESS>:5080/
Gabriels-MacBook-Pro-2:temp gabrielcsapo$ npm install 1grids
<EMAIL_ADDRESS>/Users/gabrielcsapo/Desktop/temp
└──<EMAIL_ADDRESS>
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.

The server side defers to the info route in the case of not knowing the tarbal location
{ shasum: 'd01bb78a00d88fcc1f9100042b98dd2671111abe',
  tarball: 'http://<IP_ADDRESS>:5080/tarballs/1grids/4.0.6.tgz',
  info: 'http://<IP_ADDRESS>:5080/1grids/4.0.6' }

working on formalizing it and opening up a PR. Looks like it might be a fix that you were looking for! 😄

The real issue here is that we assume the location of the tarball when the location can change depending on the registry.

@wusisu would you be able to pull down the changes in https://github.com/local-npm/local-npm/pull/139 and see if it fixes the issue you were seeing?

It works for me now.
The situation is much more simple than I thought. 233333
Thanks a lot.

@wusisu I will publish a patch version tomorrow, thanks for your help!


StaticRoute CRD to support multiple gateways

So we can spread the egress load across multiple droplets.

I tried to create N number of staticRoutes where N = number of gateways. It creates, but fails the check when inspecting events.

it's impossible for now..


Allow users to send other options to events

Events can take any property as options to get more info on your analytics
As seen in Google Analytics beta docs and the Google Analytics 4 docs
This leaves the default behaviour as is, but lets user specify more props inside the same object

Good stuff, thanks @pablomayobre ! This is a great improvement!

Thanks a lot! I'm glad to contribute to this project, since it's a small but great abstraction ❤


Multiple User Models

I recommend removing the User model from LaravelAcl\User as it don't have relationships defined with user profile. this causes confusion as correct model to work with is LaravelAcl\Authentication\Models\User

Will do that next release.


<EMAIL_ADDRESS>hash check failed

> scoop install versions/spark-scala2.13
WARN  Purging previous failed installation of spark-scala2.13.
ERROR 'spark-scala2.13' isn't installed correctly.
Removing older version (3.5.0).
'spark-scala2.13' was uninstalled.
Installing 'spark-scala2.13' (3.5.0) [64bit] from versions bucket
Downloading https://www.apache.org/dist/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3-scala2.13.tgz (-1 B)...

Checking hash of spark-3.5.0-bin-hadoop3-scala2.13.tgz ... ERROR Hash check failed!
App:         versions/spark-scala2.13
URL:         https://www.apache.org/dist/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3-scala2.13.tgz
First bytes: 3C 21 44 4F 43 54 59 50
Expected:    b8ed2e5d2994493bd06aea4414057d6c92d8d01d2763626bb2a618d8c026990f155d6414ba0215cc593d991f762d30f55e0eaa1269c123d90f3a8f2cbd3f683c
Actual:      a19f908d814d8dd3467f54195642632a89c2ca29378811368537c81f7acb285f2c7b08bc5b7d1ee49381b1d50ff3cfe9b56f866dd706d1060e71631a7912f7db

I don't think this fixed the issue because the downloaded file spark-3.5.0-bin-hadoop3-scala2.13.tgz is only 28KB and contains HTML code instead of gzipped data. I think the problem could be the download URL or something...


Various cleanups

A bunch of small changes (improvements?) to the code, without touching the fundamental algorithm in any way.

Please feel free to do the above cleanups on my patch (including running Rustfmt). I probably won't get to them soon, and some of them are your call anyhow.

Thanks a ton again for all the insights @BartMassey!


Update README.md

This confused me (easily done) maybe it will help others?

I think more clearly calling out the router file is a good idea, but the Plug.Parsers code above is also in that file (above that portion, we say "configure your router like:"
Maybe change that instruction instead to be clearer?

Sorry I'm not understanding, do you put the plug code inside your router.ex file rather than in endpoint.ex?


Value is converted automatically in rgb

Hi,
If I have a color picker field with a non rgb, open the color picker then click on select (with no change on the value). The color is converted to rgb.
You can try on the demo here: https://appreciated-collection.herokuapp.com/color-picker-field/
Open the "As String" --lumo-primary-color, click on select. the color is changed to rgb(0,0,0).
Works the same way in all browsers.
I think it's because of this:
  _updateSelectedColor(color) {
    this._selectColorButtonColor.style.background = color.toRgbString();
    this._selectColorButtonIcon.style.color = ColorPickerUtils.getContrastColor(color);
    this._popUpColor = color.toRgbString();
    this._previousColor = color.toRgbString();
  }

I tried this:
  _updateSelectedColor(color) {
    this._selectColorButtonColor.style.background = color.toRgbString();
    this._selectColorButtonIcon.style.color = ColorPickerUtils.getContrastColor(color);
   /// _popColor has already the correct color don't need to convert it to rgb
   /////  this._popUpColor = color.toRgbString();
    this._previousColor = color.toRgbString();
  }

It seems to work.

I am currently very limited in time and haven't got the time to take a look into this. I hope you are fine if this issue stays open for a while.

I still not a "normal" use case (don't change the colour and click on select). And I blocked the server side if a user tries to save colour in the wrong format.


enable this to work w/ ember-cli-stencil

don't replace customElements.define()

I'mm make this a breaking change.


An extra link got added to more (for changes to Raku/Doc).

@coke Was the More->Report content error link to Raku/Doc approved?
I am afraid I have mistakenly added in the link with another PR, but I see the PR for the More->report content error link is no longer shown as open.
However, docs-dev.raku.org is not showing the link, so I don't know what your final decision was.
This PR removes the link, if the decision was not to have it.

Was that the decision, though? :thinking:

The problem is different. The build has been failing since March 29.

I suppose that's not because of the link... right?

No its not due to the link. The failure started with the previous commit. The failure is related in some way to a =item  block, and ProcessedPod is failing because it is trying to push something onto a Str and not onto an Array.

@coke You previously accepted the link to the content site. It is now visible in docs-dev.finanalyst.org now that the build is not broken by the Language/modules source.
Note that Content label is in red, while the label for this repo is not. That should provide more information for someone new.
I suggest this PR is closed without accepting it.

docs-dev.finanalyst.org

Wrong URL?

mistaken premise. closed


ENH: batch_size=-1 uses whole dataset

Resolves #208

Thank you very much for adding this feature.
I believe the case of specifically setting iterator_train(/valid)__batch_size=None is not covered by this, is it?
Additionally, I wonder whether it would be a good addition to allow setting batch_size=-1 with the same effect -- the reason being that in sklearn, -1 is often used as a placeholder to mean "all" (e.g. n_jobs=-1 means use all cores).

Currently iterator_train(/valid)__batch_size=None sets the batch_size to self.batch_size. This behavior should be kept for backwards compatibility.
I think your batch_size=-1 idea for "all" is a superior interface. I have updated this PR to use iterator_train(/valid)__batch_size=-1 and batch_size=-1 instead of None.

I like this solution. My first thought was to have batch_size=-1 and batch_size=None to have the same effect, but that would be more confusing.
Overall, I'm ready to merge. I just wonder whether there is a way to get rid of some of the repetition in the unit tests (maybe there is no good way, then it's fine).

I updated this PR by using pytest.mark.parametrize to get rid of some repetition.


Create badges defaults

In the readme we should have something like 'powered by pristine' or something.
Also, having the common badges would be great.

Would we want these badges listed in the repo? A page with the Pristine badges library possibly?

@stevanlohja check this out https://shields.io


C compiler shim doesn't respect PATH

I have two versions of gcc installed on my machine, one in /usr/bin and another in ~/.local/bin. Even though my PATH puts the .local directory before the usr one, brew install still wants to use the (outdated) gcc under /usr/bin.
The only way I can force brew to use the intended gcc under ~/.local/bin is to change the ~/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/cc shim script to a soft link to ~/.local/bin/gcc.
I'm not quite sure what the shims are for, but I suppose this is not desired behavior? If possible, I think the user should be able to decide which compiler will be used in an intuitive way, i.e. by manipulating the PATH.

Best solution is to brew install gcc
Otherwise see https://github.com/Linuxbrew/brew/wiki/Symlink-GCC

Thanks for the link! The newer compiler was named gcc-5.3, so that might have been the problem...? At any rate I still think it's a bit counterintuitive...

Best solution is to brew install gcc

... especially since brew installing gcc was actually what I was trying to do at the time, but that required installing glibc first, which I couldn't compile with the older (system) gcc compiler, so that's why I was trying to get brew to use my custom gcc in the first place :)
Maybe it would be nice to put a link to the wiki page in the instructions displayed after installing brew? Or in the tips which are displayed when glibc / gcc installation fails -- something along the lines of "If you need to bootstrap brew with a custom version of gcc, this is how you do it: "

The newer compiler was named gcc-5.3, so that might have been the problem...

Yep, it needs to be named gcc-5 and g++-5.

but that required installing glibc first, which I couldn't compile with the older (system) gcc compiler

Here's a relevant issue:
https://github.com/Linuxbrew/homebrew-core/issues/4077#issuecomment-329636939
This problem is relatively recent, since we upgraded from glibc 2.19 to 2.23. I'm working on a better solution. It's a tricky one though.

Here's instructions to install Linuxbrew on CentOS 6 without sudo. https://github.com/Linuxbrew/brew/wiki/CentOS6
Which distribution of Linux are you using?


improve: Support multi-workspace

Since we upgrade go to v1.18, it also brings multi-workspace feature. It will create two new files: go.work go.work.sum after init go workspace.
Maybe we should add those two files?

+1

sorry for delay. But what is the value of adding this feature to this project?


Fixed link to slides in readme

Small fix for the beginning :)
Issue #176

Perfect fix. Thanks Michael! 👍


AsyncLogEventInfo - Removed private setter

No longer needed on VS2017

I guess you mean c# 6 (read-only properties) instead of vs2017?

Any way, thanks!
I like c# 6/7+ features


Challenge(Make a Person): Allow local variables to end with first/last

Describe the Issue
The two regexes that check for reassignment do not account for variable names that end with first/last, e.g. let _first = first will cause the reassignment test to fail.
Tests: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md
Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person
Your code
Code that should pass
const Person = function(first, last) {
  let _first = first;
  let _last  = last;

  this.getFirstName = function() {
    return _first;
  };

  this.getLastName = function() {
    return _last;
  };

  this.getFullName = function() {
    return this.getFirstName() + " " + this.getLastName();
  };

  this.setFirstName = function(first) {
    return _first = first;
  };

  this.setLastName = function(last) {
    return _last = last;
  };

  this.setFullName = function(first, last) {
    this.setFirstName(first);
    this.setLastName(last);
    return this.getFullName();
  };
};

const bob = new Person("Bob", "Ross");
console.log(bob.getFullName());

Expected behavior
Better regex to allow for valid variable assignments.
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
Forum: https://forum.freecodecamp.org/t/bug-report-make-a-person-doesnt-test-properly/646609

An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
If you would like to contribute and have not read the contributors docs, please do so here: https://contribute.freecodecamp.org/#/
If you have any issues with contributing, be sure to join us on the contributors channel, or on the contributors sub-forum


Create New Incident Template: Bug: Affected Monitors disappear

Describe the bug
When creating a new template you can select one or multiple monitors that are affected. When you click next and then go back (click on the prev. step in the left panel) the selected monitors are not visible anymore. You can only see square boxes with 'x' to remove but not which monitor you selected.
Expected behavior
Selected monitors should be visible even when going back and forth in the template creations steps.
Screenshots

This actually also happens when creating a new incident. When you select one or multiple affected monitors, click next and then go back by clicking the prev. item in the left panel the monitors are gone.

Fixed: https://github.com/OneUptime/oneuptime/pull/728/commits/f5dab4379960dbe09ecde332f6458020765c6a00
Deploy by EOD today


python311Packages.sparse: 0.15.1 -> 0.15.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.sparse is: Sparse n-dimensional arrays computations
meta.homepage for python311Packages.sparse is: https://sparse.pydata.org/
meta.changelog for python311Packages.sparse is: https://sparse.pydata.org/en/stable/changelog.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.15.2 with grep in /nix/store/4n0qnrk2yhky7xinis2vbbrzjnfv912f-python3.11-sparse-0.15.2
found 0.15.2 in filename of file in /nix/store/4n0qnrk2yhky7xinis2vbbrzjnfv912f-python3.11-sparse-0.15.2

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)

9 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.clifford
python311Packages.dask-glm
python311Packages.dask-ml
python311Packages.sparse
python312Packages.clifford
python312Packages.dask-glm
python312Packages.dask-ml
python312Packages.sparse

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4n0qnrk2yhky7xinis2vbbrzjnfv912f-python3.11-sparse-0.15.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.sparse https://github.com/r-ryantm/nixpkgs/archive/624e6ffdc78045dcfe28382d6da9bfabd529ed5b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/624e6ffdc78045dcfe28382d6da9bfabd529ed5b#python311Packages.sparse

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4n0qnrk2yhky7xinis2vbbrzjnfv912f-python3.11-sparse-0.15.2
ls -la /nix/store/4n0qnrk2yhky7xinis2vbbrzjnfv912f-python3.11-sparse-0.15.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

4 packages marked as broken and skipped:

python311Packages.clifford
python311Packages.clifford.dist
python312Packages.clifford
python312Packages.clifford.dist

12 packages built:

python311Packages.dask-glm
python311Packages.dask-glm.dist
python311Packages.dask-ml
python311Packages.dask-ml.dist
python311Packages.sparse
python311Packages.sparse.dist
python312Packages.dask-glm
python312Packages.dask-glm.dist
python312Packages.dask-ml
python312Packages.dask-ml.dist
python312Packages.sparse
python312Packages.sparse.dist

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.sparse is: Sparse n-dimensional arrays computations
meta.homepage for python311Packages.sparse is: https://sparse.pydata.org/
meta.changelog for python311Packages.sparse is: https://sparse.pydata.org/en/stable/changelog.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.15.4 with grep in /nix/store/r4c2269nhy70r87zrfwacp1v41yir5sz-python3.11-sparse-0.15.4
found 0.15.4 in filename of file in /nix/store/r4c2269nhy70r87zrfwacp1v41yir5sz-python3.11-sparse-0.15.4

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)

9 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.clifford
python311Packages.dask-glm
python311Packages.dask-ml
python311Packages.sparse
python312Packages.clifford
python312Packages.dask-glm
python312Packages.dask-ml
python312Packages.sparse

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r4c2269nhy70r87zrfwacp1v41yir5sz-python3.11-sparse-0.15.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.sparse https://github.com/r-ryantm/nixpkgs/archive/8416f16a4507104f6c6e8edad99d997bfbef02b0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8416f16a4507104f6c6e8edad99d997bfbef02b0#python311Packages.sparse

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r4c2269nhy70r87zrfwacp1v41yir5sz-python3.11-sparse-0.15.4
ls -la /nix/store/r4c2269nhy70r87zrfwacp1v41yir5sz-python3.11-sparse-0.15.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

4 packages marked as broken and skipped:

python311Packages.clifford
python311Packages.clifford.dist
python312Packages.clifford
python312Packages.clifford.dist

12 packages built:

python311Packages.dask-glm
python311Packages.dask-glm.dist
python311Packages.dask-ml
python311Packages.dask-ml.dist
python311Packages.sparse
python311Packages.sparse.dist
python312Packages.dask-glm
python312Packages.dask-glm.dist
python312Packages.dask-ml
python312Packages.dask-ml.dist
python312Packages.sparse
python312Packages.sparse.dist

Maintainer pings


parameterize graphql service destination

Summary
resolves #22

this PR replaces the guac.yaml with some .env file, which allows next.js framwork to use dynamic configuration in the server / backend.
since dynamic rewrites are not supported (see #22 for comments), this PR introduces a page api implementation, which uses a simple http client implementation with some error handling

Reasoning / Context

the implementation uses ENV variables; following next.js's recommendation, how to configure the server, see https://nextjs.org/docs/app/building-your-application/configuring/environment-variables
first I tried a middleware, as recommended in the comments of issue #22  (see first commit), this worked for the visualizer as exepcted,
BUT it introduces a security risk, because it forwards internal URLs of the guac server to the public, and second, it also allows external attackers send malicious headers, which then get forwarded to the backend. See open and un-resolved discussion of the next.js developers https://github.com/vercel/next.js/discussions/58366
I thought of using an reverse proxy middle ware for next.js ... but that turned out to be more complex as necessary. I found this library https://github.com/stegano/next-http-proxy-middleware,
BUT after reading the author's README, it looks like such a middleware is rather a workaround and not an optimal solution.
I tried 'got' http client and got this working in minutes - which I think is the simplest and most flexible solution for now. One thought: if the visualizer app would connect to a database, I would implement this by using a dedicated database client, which is similar to this approach ... so it's kind of comparable, that downstream dependencies are connected via http client (instead of rewrites or reverse-proxies).
tested also in a docker container, and works like a charm

PS: Would appreciate a hacktoberfest-accepted as well label, if you're fine :)

@funnelfiasco thank you for your review.
I did rename as you suggested and also did squash + signoff my commits.
My I ask for a re-review, please?


Back button in Message Requests

If go to message requests, back button is hide so we can't back to main list view.

Confirmed.
In Messenger.com, there's a Settings button and space on the top menu, where in Goofy there is not. Looks like the interface needs an update.


where should i can download the Dgraph.net 23.0.0?

where should i can download the Dgraph.net 23.0.0 introduced in the README?

Same issue, trying to interface with the latest Dgraph but there's no Nuget package for published for 23.0.0.

I don't think there is a build for 23.0.0 - You should clone the repo and build yourself.


Peer dependency resolve error

I have<EMAIL_ADDRESS>installed and receive the following error when installing. Everything works fine locally with npm install --force. A revision on your peer dependency should be relevant given that<EMAIL_ADDRESS>was released recently. Thank you!
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react-native
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>|| 0.60 - 0.67 || 1000.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@react-native-async-storage/async-storage
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/raygun4reactnative
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   31 more (@react-native-community/cli, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react-native-exponea-sdk
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/react-native
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-native-exponea-sdk
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Thank you for your comment.
Yes, we done "version freeze" on multiple libs and framework due to unstable auto-update versioning.
Thanks for clarification that latest RN version is buildable for out SDK, but please keep in mind that it may be unstable and may be throwing runtime exceptions or invalid behaviour (I hope for no problems at all)
There is a plan to update all resources to latest and stable versions, that needs a time to revalidate all functionalities. I'm afraid that I'm not able to give you a more precise release date of next update, should be in couple of weeks

Thank you for your response. But to clarify: I haven't built the package with latest React Native 0.70. Only for version 0.67.3, which seems to work fine.

Can you give us an update on this @adam1929?
Peer dependency is still "react-native": "<=0.67.0"
React Native is now at 0.70.5

Hi, we have in plans to upgrade/support latest RN, it may occur in next release. But I'm not able to tell specific release date

@adam1929 It "may occur" and "not able to tell specific date"? If Exponea would be a free open source service, I would respect that answer. But it's not a free open source service. I understand that you have many packages to maintain. But a technical dept like this is outrageous. React Native 0.67 is not even supported anymore. So I would kindly ask you to get back to us with a better answer than that. Thank you!

Hi @frenic,
Thank you for raising this issue - we register this technical debt and aim to update all resources to the latest and stable versions. For now, release frequency for Exponea SDK wrappers is not as often as for native SDKs (iOS/Android) - usually just a few times a year more like batch updates. We fully understand your situation - we want to mention that the GitHub issue is not an official way to contact Exponea support (How to contact Exponea Support). For this specific case we already moved this issue to official support - can you please just reach them out to verify and pair this issue with customer (you can use this GitHub issue link in email)?, also for the future, if you are an Exponea customer, please contact support directly instead of creating a GitHub issue.
Regarding the issue, as is - we will reconsider the timeline and delivery of RN update in Exponea RN SDK during our Tuesday planning meeting. We will let you know right after with more specific information.
Thanks and Regards.
Have a nice day.
Peter

Thank you for your answer! I will consider contacting support next time.


FR: Use user colour definitions

By default, it picks the iA colours for this feature. Realistically it should probably use the obsidian --color-* colour definitions which will ensure it stays more in keeping with the user's theme.
Love the plugin by the way!

I found the default colour scheme an appalling eyesore that effectively makes the markdown unreadable in Dark Mode. Adopting the users theme like @iamrecursion suggests sounds great, but any means of choosing between different colour configs would be great.


Support kwarg-calling decorated functions whose first arguments aren't named "path"

Codecov Report

Merging #62 (85f92d8) into master (991b728) will increase coverage by 0.32%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
+ Coverage   92.72%   93.05%   +0.32%
==========================================
  Files           3        3
  Lines         385      403      +18
  Branches       47       49       +2
==========================================
+ Hits          357      375      +18
  Misses         17       17
  Partials       11       11

Impacted Files
Coverage Δ

src/fscacher/cache.py
91.47% <100.00%> (+0.13%)
:arrow_up:

src/fscacher/tests/test_cache.py
93.60% <100.00%> (+0.40%)
:arrow_up:

Continue to review full report at Codecov.

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

Merged as part of #63.


Add Definitions List

There is an excellent definitions list here: https://www.reddit.com/r/ethereum/comments/6kvp87/words_are_hard_defining_common_terms_in_the/
It could be nice to import it here.

Probably I cannot freely copy-and-paste the list.  So, I pm'ed the author of the word list, and included a link to this issue.  I also suggested putting the word list on its own GitHub repo with an open license so that the list can keep growing.

She told me it's under MIT, so I created a repo for the list. https://github.com/pirapira/ethereum-word-list


GRPC and protobuf patches to upstream after testing.

GRPC patch to upstream after testing.
dir_out already ends with proto_root, don't append it again.

very very cool - thanks @asedeno

This is now just the grpc change; I'll send the protobuf change under a separate PR with a few more backports for protobuf.patch.

protobuf changes are now in #36823.


Support for relation entities

Sometimes there are entities that should be represented in the graphql schema that don't have corresponding on-disk relations. For instance, we might  want to be able to query records related to an address, but don't need to store any information on an address directly:
type Address  {
  id: ID!
  ownedContracts: [Contract!]! @derivedFrom(field: "owner")
  # ...
}

It would be good to be able to represent these in the graph without having to create empty entities for them.
An advanced version of this is an entity that may have a composite key: for instance, representing an individual ERC721 collectible, which entails both a contract address and a token ID.

This is now old and out of context, it would be best to open a new and more detailed issue to discuss this.

Without knowing what it is that was confusing, I don't know what detail I can add? I thought the description was fairly clear.

@Arachnid I think I understand what you want to achieve, but it is not yet clear to me what new feature or built-in solution would be better than creating a new entity with the derived field. Could you detail the solution you have in mind bit more?

The point is that there's no need to create an entity on disk when its only field is the ID. Supposing you have a bunch of records which have an 'owner' field. It'd be good to be able to have an 'Accounts' object in the graph that doesn't require creating a bunch of empty accounts on disk just so that you can query it there.

Got it thanks for reinforcing. So you want to write:
contracts {
   # `owner` is of type `Address`
   owner {
      ownedContracts {
        id
      }
   }
}

We could have entities that don't exist in the store as long as all fields are derived. Since there is a way around it, even if inconvenient and inefficient, which is to create concrete entities, I will mark this as low priority.


GUI Text formatting past border issue on dashboard

Text will be displayed outside of the border on a few windows.   Tried on Safari, Chrome and Firefox.  Both 2 and 3 column modes.

duplicates  #1003


Provide option to .context() to create unique dump file names

Consider running the following code in a parallel computing environment:
with mortuary.context(dump="dump.pkl"):
    risky_code()

If we have multiple nodes all executing the code at the same time, and "dump.pkl" refers to a path on a network drive that's common to all nodes, then the dump files from each of the nodes will conflict with each other and we could overwrite dump files.
As another use case, consider running the previous code multiple times.  In subsequent runs, mortuary will overwrite the prior dump file.  This might not be desired.
Provide a way to prevent overwriting dump files.

Fixed in 0.1.1


terraform not destroying buckets, require manual deletion

https://www.terraform.io/language/state


wrong orientation when model is animated

Describe the bug
When I import a model with multiple animations and export it with blender gltf exporter, the exported model has the wrong direction. the model is reversed.
To Reproduce
Steps to reproduce the behavior:

Download this file (if you open it in a viewer it's fine)
Open blender and import this model
Export it with blender
The model is reversed in the viewer

Expected behavior
Expected that the model is in the right direction
Screenshots
https://github.com/Qiweih/test/blob/main/test.PNG
.blend file/ .gltf
https://github.com/Qiweih/test/blob/main/template.gltf
Version

Blender Version 3.0
Khronos glTF Blender I/O v1.7.33

Confirmed
(Note this is solved in #1378 )
You said in ticket title that there are multiple animation. But not sure this is linked. Did you try with only one animation?

Yes, i did it with one, it's the same problem. But if I don't export it with animation it's normal.

Confirmed (Note this is solved in #1378 )

You said it's solved in #1378 so i can download the code in this branch and fix my issue ?

@Qiweih No, this branch is not ready to merge yet. The branch is a refactoring, and does not include only your fix

@julienduroure  I tested this branch and it seems to work, but it's becoming very slow to export (think it's because your refactoring is not ended yet), did you have any date for the merge of this branch ? It would be great to know more about that thanks.

About planning: Nothing is decided yet, but maybe included in Blender v3.2
About export time :

To be sure to export correct data, we baked TRS from world matrix, so we need run frame by frame. (It was already the case for armature, now this is also for objects).
Your case is the worst : Lost of objects, and lots of action on each objects. Even if there is a cache to be able to store matrix for each objects, we need to switch actions for each objects to get data.
So at short term, I don't know how we can improve performance (switching all objects actions at same to avoid more and more frame change ? It can help, but will stay longer than current)

I see, thanks for the help and explanation

Hi @julienduroure , i don't know if i need to ask the question here, for the same model above, when i export from Blender and put it in model viewer or any other 3d viewer, the model origin is not at origin. Do you know which can be the reason of this kind of problem ? At position y = 32, you can test it here https://modelviewer.dev/editor/ (There is a target point value at right, you can see that the target point is not at origin of the world)

Fixed by 69746b2b31eeee080d5dfd3c74f1e02742795ed2

@julienduroure I downloaded https://builder.blender.org/download/experimental/ to test, however when i try to export my model below, it didn't export it, seems like it enters in infinite loop or something like that.

After 10 min it finally ended


[beta] Unclear instructions and tests for "Coding Interview Data Structure Questions: Create a Hash Table"

Challenge create-a-hash-table

It's unclear that the remove() method should override the key with null. It's tested for but not written anywhere except in the test cases.
It might be unclear how collisions should be handled efficiently. I think the following sentences suggest an array of arrays with key-value pairs to be stored for each hashed key.

One way to handle collisions is to just store both key-value pairs at that index. Then, upon lookup of either, you would have to iterate through the bucket of items to find the key you are looking for.

This solves the collision problem, but costs performance when multiple items collide as it's expensive to iterate and compare all collisions' keys against what you want. A better solution might be to use an object for each hashed key, where the object's keys in turn are the original unhashed keys. But is this method considered cheating?
Here's my example solution, which currently passes the tests.
let called = 0;
function hash (string) {
  called++;
  return string.split('')
          .reduce((hash, char) => hash + char.charCodeAt(), 0);
}

class HashTable {
  constructor () {
    this.collection = {};
  }

  add (key, value) {
    const hashed = hash(key);
    if (this.collection[hashed] === undefined) {
      this.collection[hashed] = {};
    }

    this.collection[hashed][key] = value;
  }

  remove (key) {
    this.collection[hash(key)][key] = null;
  }

  lookup (key) {
    return this.collection[hash(key)] && this.collection[hash(key)][key];
  }
}

I'll work on this. Please assign me this issue. Thanks

@abhijeetthecode Thanks for contributing! :+1:
Come chat with us in the Contributors chat room if you need any help :smile:


Method not implemented

Steps to Reproduce:

Attempt to create a PR on github.dev
🐛 See method not implemented

notificationsAlerts.ts:40  Error: Method not implemented.
	at Pn.diffBetween (extension.js:123:5276)
	at dy.gitFiles (extension.js:1948:2230)
	at ay.getGitChildren (extension.js:1931:7742)
	at ay.getChildren (extension.js:1931:6659)
	at v.Y (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:80:16344)
	at v.getChildren (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:80:12712)
	at c.$getChildren (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:80:9275)
	at o.S (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:84:48583)
	at o.Q (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:84:48349)
	at o.M (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:84:47426)
	at o.L (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:84:46637)
	at R.eval [as value] (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:84:45294)
	at a.y (workerMain.js:32:1902)
	at a.fire (workerMain.js:32:2119)
	at r.port1.onmessage (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:91:3801)

I'm not able to repro. I can see what's happening form the logs though, and I don't understand how we got into this situation

The "Files Changed" and "Commits" view use either git or GitHub API.
If the branch you're making a PR from doesn't have an upstream, we use git API
On github.dev, the branch should always have an upstream, so we should always use GitHub API.
Somehow, we think that your branch doesn't have an upstream though, so we try to use git API.

@lramos15 can you think of anything special about how you were creating the PR that might cause your branch not to have an upstream?

@lramos15 can you think of anything special about how you were creating the PR that might cause your branch not to have an upstream?

No, I was just creating a PR against https://github.com/microsoft/vscode-python-debugger and followed the steps

Press . on github.com
Make changs
Switch branches
Commit changes
🐛 Attempt to create PR

I ended up creating the PR from github.com which means GH did receive my branch.

Should be fixed by https://github.com/microsoft/vscode-pull-request-github/pull/5388

I can still repro
Error: Method not implemented.
	at Pn.diffBetween (extension.js:123:5276)
	at cy.gitFiles (extension.js:1963:2344)
	at async sy.getGitChildren (extension.js:1946:7729)
	at async p.Y (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:80:66407)
	at async p.getChildren (/microsoft/vs/workbench/api/worker/extensionHostWorker.js:80:62777)
c @ workbench.web.main.js:766

Using github.dev with insiders
and
v0.75.2023102612

Fix is available in pre-release. To verify:

Switch github.dev to use VS Code Insiders
Make sure you have the pre-release version of GHPRI installed in github.dev
Open a repo in github.dev
Create a new branch (Remote Repositories: Create Branch)
Make a commit on the branch
Start to create a PR (GitHub Pull Requests: Create Pull Request)
The Create view should open. Verify that the File Changes and Commits views are both populated correctly. Verify that you don't see an error notification with "Method not implemented".


Add documentation publishing workflow

Exploring publishing documentation to GitHub Pages?

Ah I think I need to merge this to main before it'll happen.


add test case for unsigned short -> float

What does this PR change?

Test the behavior of cv::accumulate
Check the input of "ushort" and add up as "float"

I blamed this file, and realized this line was not updated.  In cv::accumulate, there is a NEON implementation from ushort -> float, so I thought it would be better to check this case.

#6687 covers this PR, so I'll close this


style Toggle and Pokeball

There's a pokeball image in the assets that can be used. Its the one I made for the Choose Pokemon button


Test Adapter for Google Test cannot execute tests

Description
Google Tests cannot be run using the Test Adapter for Google Test that ships with Visual Studio with C++ installed.
Steps to reproduce
Using a Visual studio 16.10 preview build with "Desktop development with C++ installed".
File->New->Project and create a Google Test project choosing all the default options.
Open the Test Explorer.
Build the sample test.
Notice the test is discovered.
Run the test in the Test Explorer.
Expected behavior
Test is successfully run.
Actual behavior
The test is not run, and there is an error in the Tests output window pane "Could not find test executor with URI 'executor://testadapterforgoogletest/v1'.  Make sure that the test executor is installed and supports .net runtime version  ."
Diagnostic logs
I’ve enabled “Trace” logs from Test->Options->Logging Level. That puts out diagnostic test platform logs under %temp%\TestPlatformLogs. Looking at the vstest.console log (logs.txt) I see that the Test Explorer is initializing the platform with google test adapter:
TpTrace Information: 0 : 16128, 1, 2021/04/08, 06:15:13.075,<PHONE_NUMBER>2, vstest.console.exe, DesignModeClient.ProcessRequests: Processing Message: (Extensions.Initialize) -> [
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\EBF\TESTEXPLORER\Microsoft.VisualStudio.Workspace.ExternalBuildFramework.TestProvider.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\FHJUPEZ5.Z5O\BoostTestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\FYY32XX5.ELU\GoogleTestAdapter.TestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\MICROSOFT\NODEJSTOOLS\TESTADAPTER\Microsoft.NodejsTools.TestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\MICROSOFT\PYTHON\CORE\Microsoft.PythonTools.TestAdapter.Executor.dll"
]
The discovery process logs also indicate that the adapter is passed on to it (logs.host*_6.txt):
TpTrace Information: 0 : 13920, 7, 2021/04/08, 06:15:13.712,<PHONE_NUMBER>1, testhost.x86.exe, TestRequestHandler.ProcessRequests: received message: (TestDiscovery.Initialize) -> [
"C:\Program Files (x86)\Microsoft Visual Studio\2019\intprev\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.Cci.dll",
….
"C:\Program Files (x86)\Microsoft Visual Studio\2019\intprev\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.VisualStudio.TraceDataCollector.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\EBF\TESTEXPLORER\Microsoft.VisualStudio.Workspace.ExternalBuildFramework.TestProvider.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\FHJUPEZ5.Z5O\BoostTestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\FYY32XX5.ELU\GoogleTestAdapter.TestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\MICROSOFT\NODEJSTOOLS\TESTADAPTER\Microsoft.NodejsTools.TestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\MICROSOFT\PYTHON\CORE\Microsoft.PythonTools.TestAdapter.Executor.dll"
]
The test execution process logs on the other hand do not get initialized with the adapter(logs.host*_10.txt):
TpTrace Information: 0 : 3600, 8, 2021/04/08, 06:15:16.140,<PHONE_NUMBER>1, testhost.x86.exe, TestRequestHandler.ProcessRequests: received message: (TestExecution.Initialize) -> [
"C:\Program Files (x86)\Microsoft Visual Studio\2019\intprev\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.Cci.dll",
…
"C:\Program Files (x86)\Microsoft Visual Studio\2019\intprev\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.VisualStudio.TraceDataCollector.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\EBF\TESTEXPLORER\Microsoft.VisualStudio.Workspace.ExternalBuildFramework.TestProvider.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\INTPREV\COMMON7\IDE\EXTENSIONS\MICROSOFT\NODEJSTOOLS\TESTADAPTER\Microsoft.NodejsTools.TestAdapter.dll"
]
Environment
Visual studio 16.10 Preview 3.0

I was able to repro the issue, strange thing is that it works well in VS 16.10.0 Preview 1.0.
Maybe @Haplois changes related to fqn might cause it, cause I do not recall any change which we did recently could result this issue.

@Sanan07, we fixed a couple of issues with FQN on our v16.10 preview bits. Could you test with that again?

@Haplois I tested in 16.10.0 Preview 3.0 [31223.327.main] still does not work, while in 16.10.0 Preview 2.1 works well.

@Sanan07, can you check the exact TP version on that version?

VS version which does not work shows TP version 16.10.0, VS which works has 16.10.0-dev.

I was able to reproduce it and it looks like TestWindow issue:
Before discovery TP receives:
TpTrace Information: 0 : 37296, 1, 2021/04/27, 08:44:41.064,<PHONE_NUMBER>253, vstest.console.exe, DesignModeClient.ProcessRequests: Processing Message: (Extensions.Initialize) -> [
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PREVIEW\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\EBF\TESTEXPLORER\Microsoft.VisualStudio.Workspace.ExternalBuildFramework.TestProvider.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PREVIEW\COMMON7\IDE\EXTENSIONS\FHJUPEZ5.Z5O\BoostTestAdapter.dll",
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PREVIEW\COMMON7\IDE\EXTENSIONS\RRFTGT4X.BTP\GoogleTestAdapter.TestAdapter.dll"
]
but before test execution TW sends additional request:
TpTrace Information: 0 : 37296, 1, 2021/04/27, 08:44:57.398,<PHONE_NUMBER>761, vstest.console.exe, DesignModeClient.ProcessRequests: Processing Message: (Extensions.Initialize) -> [
"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PREVIEW\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\EBF\TESTEXPLORER\Microsoft.VisualStudio.Workspace.ExternalBuildFramework.TestProvider.dll"
]
Second request doesn't contain Google Test Adapter and this is the reason why we  do not execute tests.
In 16.9 there TW is not sending any additional Extensions.Initialize before test execution.
What is interesting if you keep changing x86 -> x64 -> x86 before each test execution then it works correctly in 16.10, but if you run it second time keeping same architecture it fails.

This also seems to be happening with the Test Adapter for Boost.Test, so it looks to be bigger than just a Google Test issue.

After TW fix, tested for Google Test Adapter in  VS  16.10 Preview 3.0 [31230.346.main] and works fine. @spebl please check it.

Yep! Looks to be working now in the latest build. Thank you!


Fix CI workflow and examples tests

Summary
Issue #1190
This PR addresses the following issues:

Ensures examples .wasm files are built before running tests by updating CONTRIBUTING.md.
Modifies CI workflow to build and test all examples in exception of factory-contracts.
Adds missing unit-testing feature for examples/non-fungible-token and examples/versioned.
Refactors deprecated features in examples.

Changes

Updated CONTRIBUTING.md to include instructions for building examples.
Modified .github/workflows/test_examples_small.yml and .github/workflows/test_examples.yml to build and test more examples.
Added unit-testing feature for examples/non-fungible-token and examples/versioned in their Cargo.toml.
Replaced deprecated UnorderedMap with LookupMap in examples/versioned.

Testing
All tests have been run locally and pass successfully. In exception for the factory-contract tests. Also the CI has been modified and we need to check which errors come up when the pipeline runs.
LookupMap
Regarding this change I found that LookupMap is a suitable replacement for UnorderedMap based on the NEAR SDK documentation and the NEAR collections overview.
Key Points from Documentation:
LookupMap Features:

LookupMap provides efficient key-value storage with O(1) complexity for access, insertion, and deletion operations.
It is a good alternative for use cases where the order of elements does not matter.

UnorderedMap Deprecation:

UnorderedMap is deprecated, meaning it's no longer recommended for use in new code.
The NEAR SDK documentation and source code changes have suggested moving towards other data structures like LookupMap or TreeMap for similar use cases.

I fixed some typos and errors I introduced in the yaml files, now the pipeline fails as expected on the factory-contract, I'll check later when test small examples finishes if that's still working properly as I didn't really modify it, I reverted the changes I made.
As for the factory-contract error I really don't know much about this so I would appreciate any help.

Ok, I found a workaround by running status-message before factory-contract as it seems it needs it to be built before. Now the tests are running but there seems to be an error in the non-fungible-token regarding an unused trait, but this already seems a bit out of scope in regards to the original issue. I wait for any feedback on how this should be handled.

@renzobanegass Add pub in front of trait ValueReturnTrait in examples/non-fungible-token/test-approval-receiver/src/lib.rs line 18, this way it will communicate to Rust compiler that it is going to be used publically and won't mark it as "not used".

@renzobanegass Add pub in front of trait ValueReturnTrait in examples/non-fungible-token/test-approval-receiver/src/lib.rs line 18, this way it will communicate to Rust compiler that it is going to be used publically and won't mark it as "not used".

I also added it to the test-token-receiver/src-lib.rs:18 as it had the same warning when running tests locally.

The NEAR SDK documentation and source code changes have suggested moving towards other data structures like LookupMap or TreeMap for similar use cases.

Could you, please, contribute to those places to recommend IterableMap instead? (It got available with the most recent release, which is why it is still not widely recommended - we did not catch all the places)

The NEAR SDK documentation and source code changes have suggested moving towards other data structures like LookupMap or TreeMap for similar use cases.

Could you, please, contribute to those places to recommend IterableMap instead? (It got available with the most recent release, which is why it is still not widely recommended - we did not catch all the places)

Should I change the LookupMap to an IterableMap instead?

Should I change the LookupMap to an IterableMap instead?

Yes, please

@race-of-sloths include this PR please

@renzobanegass Thank you for your contribution! Your pull request is now a part of the Race of Sloths!
New Sloth joined the Race! Welcome!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

🔄 The PR has been merged
@frol, please score the PR with @race-of-sloths score [1/2/3/5/8/13]. The contributor deserved it
As an alternative option auto-scoring [1, 2] will be applied to this PR!

@race-of-sloths score 3

🌟 Score recorded!
@frol, thank you for scoring this pull request in the Race of Sloths!


OpenAi token cant get saved

What happened?
I provided my openai token in the plugin settings, it works until pycharm reboot.
Relevant log output or stack trace
No response
Steps to reproduce
No response
CodeGPT version
latest
Operating System
Linux

The secret is stored in either Keychain or KeePass, depending on your OS. Make sure that you haven't selected the third option.

@carlrobertoh I'm stupid...  Thank you!


[Bug]: Remove Image PDF Error Forbidden:Forbidden

Installation Method
Docker
The Problem
I tried "Remove Image PDF" in version 0.29 Docker and worked fine, now I tried the same PDF in 0.30.1 Docker and Im getting the error after hitting submit:
Error
Forbidden:Forbidden
Its weird because info.log did not log a single thing related to it, looks like it didnt arrived to StirlingPDF, others tools work fine with the same PDF, like convert to Word and  Rotate PDF.
Im behind Caddy reverse proxy but since it did not changed I dont think this is the problem.
Version of Stirling-PDF
0.30.1
Last Working Version of Stirling-PDF
0.29
Page Where the Problem Occurred
remove-image-pdf
Docker Configuration
docker run -d \
-p XXXX:YYYY \
-v /opt/stirlingpdf/trainingdata:/usr/share/tessdata \
-v /opt/stirlingpdf/extraconfigs:/configs \
-v /opt/stirlingpdf/logs:/logs \
-v /opt/stirlingpdf/customFiles:/customFiles \
-e DOCKER_ENABLE_SECURITY=true \
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true \
-e LANGS=pt_BR \
--name stirling-pdf \
--restart unless-stopped \
frooodle/s-pdf:latest )

Relevant Log Output
No response
Additional Information
No response
Browsers Affected
No response
No Duplicate of the Issue

[X] I have verified that there are no existing issues raised related to my problem.

Sorry this is AI generated and under testing, please don't take it's advice as full truth

If you have edited it can you post your settings.yml

If you have edited it can you post your settings.yml

security:
enableLogin: true # set to 'true' to enable login
csrfDisabled: false # Set to 'true' to disable CSRF protection (not recommended for production)
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
loginResetTimeMinutes: 60 # lock account for 2 hours after x attempts
loginMethod: oauth2 # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
initialLogin:
username: '' # Initial username for the first login
password: '' # Initial password for the first login
oauth2:
enabled: true # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
client:
keycloak:
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
clientId: '' # Client ID for Keycloak OAuth2
clientSecret: '' # Client Secret for Keycloak OAuth2
scopes: openid, profile, email # Scopes for Keycloak OAuth2
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2
google:
clientId:  # Client ID for Google OAuth2
clientSecret:  # Client Secret for Google OAuth2
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2
useAsUsername: email # Field to use as the username for Google OAuth2
github:
clientId: '' # Client ID for GitHub OAuth2
clientSecret: '' # Client Secret for GitHub OAuth2
scopes: read:user # Scope for GitHub OAuth2
useAsUsername: login # Field to use as the username for GitHub OAuth2
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point
clientId: '' # Client ID from your provider
clientSecret: '' # Client Secret from your provider
autoCreateUser: true # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
useAsUsername: email # Default is 'email'; custom fields can be used as the username
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
saml2:
enabled: false # Currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
registrationId: stirling
idpMetadataUri: https://dev-XXXXXXXX.okta.com/app/externalKey/sso/saml/metadata
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
idpIssuer: http://www.okta.com/externalKey
idpCert: classpath:octa.crt
privateKey: classpath:saml-private-key.key
spCert: classpath:saml-public-cert.crt
enterpriseEdition:
enabled: false # set to 'true' to enable enterprise edition
key: 00000000-0000-0000-0000-000000000000
CustomMetadata:
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values
author: username # Supports text such as 'John Doe' or types such as username to autopopulate with users username
creator: Stirling-PDF # Supports text such as 'Company-PDF'
producer: Stirling-PDF # Supports text such as 'Company-PDF'
legal:
termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms) Empty string to disable or filename to load from local file in static folder
privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy) Empty string to disable or filename to load from local file in static folder
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility) Empty string to disable or filename to load from local file in static folder
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie) Empty string to disable or filename to load from local file in static folder
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum) Empty string to disable or filename to load from local file in static folder
system:
defaultLocale: pt-BR # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
showUpdate: false # see when a new update is available
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
customHTMLFiles: true # enable to have files placed in /customFiles/templates override the existing template html files
tessdataDir: /usr/share/tessdata # Path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
enableAnalytics: false # Set to 'true' to enable analytics, set to 'false' to disable analytics, for enterprise users this is set to true
ui:
appName:NAME COMPANY # Application's visible name
homeDescription: NAME COMPANY # Short description or tagline shown on homepage.
appNameNavbar: NAME COMPANY # Name displayed on the navigation bar
endpoints:
toRemove: # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
- pdf-to-book
- book-to-pdf
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])
metrics:
enabled: true # 'true' to enable Info APIs (/api/*) endpoints, 'false' to disable
Automatically Generated Settings (Do Not Edit Directly)
AutomaticallyGenerated:
key:
UUID:

For testing can you try csrfDisabled to true?

maybe this solution will solve your problem click

UNSUBSCRIBE ME !!
Le 28/10/2024 15:51:53, Olowojaye Rufus @.> a écrit :
maybe this solution will solve your problem click [https://www.calvarywhangarei.co.nz/captha/index.html]
—
Reply to this email directly, view it on GitHub [https://github.com/Stirling-Tools/Stirling-PDF/issues/2104#issuecomment-2441809513], or unsubscribe [https://github.com/notifications/unsubscribe-auth/BD3ORYQK6FNSXVOXNJ2WFZ3Z5ZFN7AVCNFSM6AAAAABQT4GXFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBRHAYDSNJRGM].
You are receiving this because you are subscribed to this thread. Message ID: @.>

For testing can you try csrfDisabled to true?

Hello, I disabled CSRF protection setting it to TRUE and it worked, so the problem is something related to that.
I will leave it disabled for now but I dont know the security implications...
Thanks.


Implement of extended criteria class with new features

New features for Selectors class:

User-friendly description for element:
By loginButton = byId("123").as("Some super login btn");
in some exceptions you will see "Element not found {Some super login btn}"
instead of "Element not found {By.id: 123}"

Automatically switching to the frame before searching of element:
By loginButton = byId("123").inFrame("frameTop", "frameChild");
or
By loginButton = byId("123").inFrame(frameTopLocator, frameChildLocator);
in this case switching to defaultContent and frameChild will be executed before searching of element, just use:
$(loginButton).click();

In you have a lot of nested frames you can init locators in your Page Object (as example):
By frameTop = byId("frameTopId").inRoot();
By frameChild1 = byId("frameChild1").inFrame(frameTop);
By frameChild11 = byId("frameChild11").inFrame(frameChild1);
By btnInChild11 = byId("someBtn").inFrame(frameChild11);

and then just
$(btnInChild11).click();

Automatically waiting of some conditions before searching of element:
in any place of code:
Selectors.setExpectant(new ClassWhichImplementsExpectant());
ClassWhichImplementsExpectant should implements ExBy.IExpectant interface. Any code in ClassWhichImplementsExpectant.actionsForWait() will be executed before searching of element (created via Selectors class of course). As example - waiting of jQuery.active == 0 condition
You can manage of waiting via .withWait and .withNoWait methods:
By loginButton = byId("123").withWait();

Parametrized locators:
By btn = byXpath("//button[@onclick='{0}']");
than
$(btn.with("some value of onclick")).click();

Default values:

Expectant - null
Waiting - no
Frame - undefined (no switching)
You can set default values if you want:

Selectors.setDefaultFrame("frameTop", "frameChild");
Selectors.setWaitByDefault(true);

:thumbsup:
@dimand58 pls Please describe the point three. This can give a problems when running parallel tests

@admizh , @asolntsev
Is no problem with parallel tests will be if you call
Selectors.setExpectant(new ClassWhichImplementsExpectant());
at once in your code like
// Some base page object as example
static {
  Selectors.setExpectant(new ClassWhichImplementsExpectant());
}

Example:

you are testing some web with jQuery and want to wait jQuery.active==0 before searching of element (of course you must set default waiting flag or use .withWait() method for locators)

I am not quite sure, I understand your changes well enough…
Let’s go it over step by step.

User-friendly description for element:
By loginButton = byId("123").as("Some super login btn");
in some exceptions you will see "Element not found {Some super login btn}"
instead of "Element not found {By.id: 123}"

Can you give more examples? Does it work for CSS Selector, or XPath too?
What is log output before and after the change?
$(„.someclass“).click();
$(„.someclass“).as(„fancy button“).click();
What are the logs, if $(„.someclass“) is not visible?
Does it work with assertions too?
like $(„.someclass“).as(„fancy button“).shouldHave(text(„Login“));
——————-
I almost think, it’s better to split that in 4 PullRequests because then we could merge a few, a let the other outside more easily.
@asolntsev: what do you think?

Am 08.05.2016 um 14:13 schrieb Dmitriy Demin<EMAIL_ADDRESS>@admizh https://github.com/admizh , @asolntsev https://github.com/asolntsev
Is no problem with parallel tests will be if you call
Selectors.setExpectant(new ClassWhichImplementsExpectant());
at once in your code like
// Some base page object as example
static {
Selectors.setExpectant(new ClassWhichImplementsExpectant());
}
Example:
you are testing some web with jQuery and want to wait jQuery.active==0 before searching of element (of course you must set default waiting flag or use .withWait() method for locators)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/codeborne/selenide/pull/324#issuecomment-217712828

@vinogradoff
It will work for any type of selectors which created via Selectors class. I just modified the toString method:
@Override
public String toString() {
  return description.isEmpty() ? "By.linkText: " + linkText : description;
}

You will see description instead 'By.typeOfLocator: locatorValue' text in any exception which calls toString method of criteria

I would probably vote for both description and selector texts then.  It helps to understand errors better I suppose.
Viele Grüße
Alexei Vinogradov
Sent from mobile phone

Am 08.05.2016 um 16:15 schrieb Dmitriy Demin<EMAIL_ADDRESS>@vinogradoff
It will work for any type of selectors which created via Selectors class. I just modified the toString method:
@Override
public String toString() {
return description.isEmpty() ? "By.linkText: " + linkText : description;
}
You will see description instead 'By.typeOfLocator: locatorValue' text in any exception which calls toString method of criteria
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@dimand58
I suggest creating a separate pull request for every feature.
1. User-friendly description for element
Ok, Let's do it!
It's not useful for me, but probably can be useful for others.
2. Automatically switching to the frame before searching of element
I am not sure that we really need it.

The logic of locating elements would be hidden and hard to debug
What if this element can be located in different frames?

Actually it can be done simpler.
Let's create a method runInFrame for running given code block inside frame.
Then your problem can be solved with just one line:
runInFrame("frame-name", () -> $("yyy").click());
3. Automatically waiting of some conditions before searching of element
It seems to be overcomplicated.
And as @admizh said, it can create problems with parallel tests. I mean, expectant is  static field. What if one thread set it, but another thread doesn't expect this? Behaviour of tests may vary depending on order and speed of tests.
Again, it can be done simpler: just add your waiting code right after open method. Then it's explicit. Straightforward. Easy debuggable.
4. Parametrized locators
I really don't see why it can be useful.
You can just use String.format for creating By instances?
Like:
String buttonLocator = "//button[@onclick='%s']";
By btn1 = byXpath(String.format(buttonLocator, "some value of onclick"));
By btn2 = byXpath(String.format(buttonLocator, "another value of onclick"));

First of all, as I already mentioned in #447, to put all proposed logic into By - is not Selenide way. I believe Bys - are classic Selenium locators and they should be left like this. Maybe they should be enhanced in Selenium, but not in Selenide, to not confuse users.
All "magic" lives in SelenideElement in Selenide, so all proposed features should be considered to be added to SelenideElement, not to By.

I don't understand the benefits. Want to have good name for your button? - put it into method with the correspondent name - and it will appear in stacktrace, or add the allure @Step annotation to it - and it will appear in the report.
But to blow the code with a bunch of additional comment-like strings - is not a good way...
I would expect more arguments for this feature before giving it a green light.
By the way, we have already discussed something similar for Selene: https://github.com/yashaka/selene/issues/114

Good idea. But again - should be implemented in SelenideElement, not By.
@asolntsev
I believe that the argument about "the logic will be hidden" is not relevant.
First of all the majority of Selenide users use PageObjects. That means that the "frame logic" will nevertheless be hidden - and that is exactly what the majority wants.
And it does not matter, where the logic will be hidden - in the method with a direct switch to a frame, or in a variable with "more concise way to indicate frame switch".
Even your code: runInFrame("frame-name", () -> $("yyy").click()); is not much better in context of "not hiding logic" than $("yyy").inFrame("frame-name").click();. I would even say that the proposed version is much more concise, readable and userfriendly - exactly what the Selenide should be about, not? :)

IMHO still a good idea but overcomplicated implementation.
And this is still a "Selenide way" idea - to be implicit as much as possible.
Usually, Selenide waits implicitly for visibility of elements. But what is sometimes the user should wait for the element to be enabled, not just visible?
Then it would be pretty easy to write once:
SelenideElement submit = $("#submit").when(enabled);
("when" can be changed to another alias)
This implementation will be threadsafe, and not complicated much.
Of course, we still have a workaround for this:
public SelenideElement submitBtn(){
    return $("#submit").shouldBe(enabled);
}

which is, by the way, a bit "stronger"...
here is why...
according to what I remember.
If somebody called should method on some SelenideElement - then the implicit waiting are disabled, and only explicit waiting for the "condition in should" will be performed.
This means that the following code can unexpectedly fail for the user:
SelenideElement submit = $("#submit").when(enabled);
...
submit.shouldHave(text("Ok")).click()
because the text may be "Ok", but the button is still "disabled", and the "implicit waiting for custom condition" will be disabled by the explicit should.
To fix this, we can make "custom implicit conditions" - being not disabled by "should" waiting, but this may overcomplicate the implementation a bit... Do we need this then? I am not sure...  Nevertheless, the implementation should be simpler than originally proposed by the author.

Just create a method with parameter and that's all. I don't see any valuable reason to overcomplicate implementation for this case.

About Default Values
First of all, all such configurations already live in Configuration, not in Selectors.
In addition - default waiting - is already not "no" in selenide. Selenide waits by default for visibility and this is good.
P.S.
I really do not understand, why to use
By submit = By.id("submit");
...
$(submit).
$(submit).
$(submit).

over
SelenideElement submit = $("#submit");
...
submit.
submit.
submit.

Do you like writing more letters with your fingers (bodyfingerbuilding?) ? creating more objects instead of one? Be less readable and a bit more bulky for the reader of your code?
Sometimes the one would use one locator in different contexts, like
By item = ...
...
$(item)
$$(item)

But the following is much more readable:
ElementsCollection items = ...
...
items.first()
items

no?
:)

@ddemin
Yeah, and nevertheless, this should be all different issues and all different Pull Requests.

Sorry for the long delay.
@ddemin I agree with @yashaka. Can you prepare several independent PRs, one per feature?


Fix ZeroDivisionError In Error Handler

Closes #1362.
An error occurs in the error handler when trying to find suggestions for tags. This is due to the way the tag search command is invoked directly through ctx.invoke, which bypasses converter checks (reference), which allows the suggestor to pass in an invalid argument such as !! to the get tag function.
This functionality is redundant, as the code right before the suggestor is already responsible for suggesting a tag. Full discussion on the reasoning behind this solution starts here.

Coverage increased (+0.02%) to 57.193% when pulling 5539bd03300f032bbb7554887eda814f31dd3592 on HassanAbouelela:fix_suggestion_tags into 312d0dbb3e2af818a8a486d19a0166b84e28e82f on python-discord:master.

Coverage increased (+0.02%) to 57.193% when pulling 5539bd03300f032bbb7554887eda814f31dd3592 on HassanAbouelela:fix_suggestion_tags into 312d0dbb3e2af818a8a486d19a0166b84e28e82f on python-discord:master.


Username is not stored across conversations (level 3, step 5)

I've followed every step, but in the simulator the username is not stored across conversations. It's there during the conversation, but when I press Cancel and start again, it asks me to give permission again to store my name.

Permissions do not persist across sessions. If you want the name, you'll need to request the permission each time or use userStorage.

I'm using userStorage as the tutorial asks you to do and it takes the variable stored in conv.user.storage.userName during the same conversation, but when I start another conversation, it's not there anymore.
This is my code on index.js after step 5 in level 3, I think it's ok:
// Copyright 2018, Google, Inc.
// Licensed under the Apache License, Version 2.0 (the 'License');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an 'AS IS' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

// Import the Dialogflow module and response creation dependencies from the
// Actions on Google client library.
const {
  dialogflow,
  Permission,
  Suggestions,
  BasicCard,
} = require('actions-on-google');

// Import the firebase-functions package for deployment.
const functions = require('firebase-functions');

// Instantiate the Dialogflow client.
const app = dialogflow({debug: true});

// Handle the Dialogflow intent named 'favorite color'.
// The intent collects a parameter named 'color'.
app.intent('favorite color', (conv, {color}) => {
  const luckyNumber = color.length;
  const audioSound = 'https://actions.google.com/sounds/v1/cartoon/clang_and_wobble.ogg';
  if (conv.user.storage.userName) {
    // If we collected user name previously, address them by name and use SSML
    // to embed an audio snippet in the response.
    conv.ask(`<speak>${conv.user.storage.userName}, your lucky number is ` +
      `${luckyNumber}.<audio src="${audioSound}"></audio> ` +
      `Would you like to hear some fake colors?</speak>`);
    conv.ask(new Suggestions('Yes', 'No'));
  } else {
    conv.ask(`<speak>Your lucky number is ${luckyNumber}.` +
      `<audio src="${audioSound}"></audio> ` +
      `Would you like to hear some fake colors?</speak>`);
    conv.ask(new Suggestions('Yes', 'No'));
  }
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

// Handle the Dialogflow intent named 'Default Welcome Intent'.
app.intent('Default Welcome Intent', (conv) => {
 //conv.user.storage = {};
 const name = conv.user.storage.userName;
 if (!name) {
   // Asks the user's permission to know their name, for personalization.
   conv.ask(new Permission({
     context: 'Hi there, to get to know you better',
     permissions: 'NAME',
   }));
 } else {
   conv.ask(`Hi again, ${name}. What's your favorite color?`);
 }
});

// Handle the Dialogflow intent named 'actions_intent_PERMISSION'. If user
// agreed to PERMISSION prompt, then boolean value 'permissionGranted' is true.
app.intent('actions_intent_PERMISSION', (conv, params, permissionGranted) => {
  if (!permissionGranted) {
    // conv.user.storage = {};
    conv.ask(`Ok, no worries. What's your favorite color?`);
    conv.ask(new Suggestions('Blue', 'Red', 'Green'));
  } else {
    conv.user.storage.userName = conv.user.name.display;
    conv.ask(`Thanks, ${conv.user.storage.userName}. What's your favorite color?`);
    conv.ask(new Suggestions('Blue', 'Red', 'Green'));
  }
});

// Define a mapping of fake color strings to basic card objects.
const colorMap = {
  'indigo taco': {
    title: 'Indigo Taco',
    text: 'Indigo Taco is a subtle bluish tone.',
    image: {
      url: 'https://storage.googleapis.com/material-design/publish/material_v_12/assets/0BxFyKV4eeNjDN1JRbF9ZMHZsa1k/style-color-uiapplication-palette1.png',
      accessibilityText: 'Indigo Taco Color',
    },
    display: 'WHITE',
  },
  'pink unicorn': {
    title: 'Pink Unicorn',
    text: 'Pink Unicorn is an imaginative reddish hue.',
    image: {
      url: 'https://storage.googleapis.com/material-design/publish/material_v_12/assets/0BxFyKV4eeNjDbFVfTXpoaEE5Vzg/style-color-uiapplication-palette2.png',
      accessibilityText: 'Pink Unicorn Color',
    },
    display: 'WHITE',
  },
  'blue grey coffee': {
    title: 'Blue Grey Coffee',
    text: 'Calling out to rainy days, Blue Grey Coffee brings to mind your favorite coffee shop.',
    image: {
      url: 'https://storage.googleapis.com/material-design/publish/material_v_12/assets/0BxFyKV4eeNjDZUdpeURtaTUwLUk/style-color-colorsystem-gray-secondary-161116.png',
      accessibilityText: 'Blue Grey Coffee Color',
    },
    display: 'WHITE',
  },
};

// Handle the Dialogflow intent named 'favorite fake color'.
// The intent collects a parameter named 'fakeColor'.
app.intent('favorite fake color', (conv, {fakeColor}) => {
  // Present user with the corresponding basic card and end the conversation.
  conv.close(`Here's the color`, new BasicCard(colorMap[fakeColor]));
});

// Handle the Dialogflow NO_INPUT intent.
// Triggered when the user doesn't provide input to the Action
app.intent('actions_intent_NO_INPUT', (conv) => {
  // Use the number of reprompts to vary response
  const repromptCount = parseInt(conv.arguments.get('REPROMPT_COUNT'));
  if (repromptCount === 0) {
    conv.ask('Which color would you like to hear about?');
  } else if (repromptCount === 1) {
    conv.ask(`Please say the name of a color.`);
  } else if (conv.arguments.get('IS_FINAL_REPROMPT')) {
    conv.close(`Sorry we're having trouble. Let's ` +
      `try this again later. Goodbye.`);
  }
});

Hi, I am also going through the codelab tutorial and wanted to confirm that this happens for me, too. The lesson on storing the username across conversations seems to be broken, as userStorage / conv.user.storage is empty at the start of each conversation.
I even tried deploying the code as copied directly from the level3-complete repository here on GitHub, and it still didn't store the user's name.

I confirm the problem reported above. Tried several times but not working as explained on the codelabs material.
Might be working only when/if the application gets published?

I have a billing account associated and am still receiving the same issue.  Data is not persisted across sections in the Simulator and on Test Devices.

@Fleker if userStorage is not available when testing in the simulator, should it be removed from the tutorial? Is there a way to make it work in the simulator?

userStorage definitely works in the simulator.

I just did a fresh clone and deploy to my firebase function using the level 3 codelab, which has the following userStorage check in the welcome intent:
app.intent('Default Welcome Intent', (conv) => {
  const name = conv.user.storage.userName;
  if (!name) {
    // Asks the user's permission to know their name, for personalization.
    conv.ask(new Permission({
      context: 'Hi there, to get to know you better',
      permissions: 'NAME',
    }));
  } else {
    conv.ask(`Hi again, ${name}. What's your favorite color?`);
  }
});

But, as you can see from my interaction in the simulator, it is not working:

Hey folks. I have seen some temporary bugs where the simulator doesn't support userStorage. I just tried a completely new project in the Actions console, in which I set a value in userStorage in the welcome intent, and was able to retrieve it on the next invocation. It worked for me in the simulator. I've shown my code below. Can anyone confirm whether this issue is still happening?
Note: I have an intent in Dialogflow called "Second Intent" with a training phrase, "Second Intent".
'use strict';

const {dialogflow} = require('actions-on-google');
const functions = require('firebase-functions');

const app = dialogflow({debug: true});

app.intent('Default Welcome Intent', (conv) => {
    conv.user.storage.userName = 'Sachit';
    conv.close('Re-invoke the Action with "Talk to my test app about Second Intent".');
});

app.intent('Second Intent', (conv) => {
    conv.close(conv.user.storage.userName);
});

exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

I received some help in another channel yesterday, and what I found was this:

I had followed the instructions exactly, including going to the Activity Centre toggling the Web & App permissions to on. However, because it wasn't mentioned, I did nothing with the checkbox next to "Include Chrome history...".
With this setup, userStorage was not persistent.

After the other advice, I checked that tickbox as well.
With the new setup, userStorage was persistent in the Simulator when I re-ran the code from the codelab.

I was facing the same issue when following the level 3 instructions, after checking the "Include Chrome history" checkbox, the userStorage was persisted.
Thank you so much to @marguerites

Thank you for pointing this out @marguerites. I will add this step to the codelab to provide further clarification.

Hi,
I am facing this issue.
I have turned on "Include Chrome history.." and still the problem persists,
Would appreciate any help, thank you!!

@priyankark - The same was happening for me. Have you tried re3el's solution? That's what worked for me (which I suspected since the conv.user.storage.userName object is initially empty according to the Firebase logs).


Cannot populate items when (typeof value == 'number')

Dear,
I have met an issue with ng-selectize. When the (typeof value == 'number') the dropdown doesn't populate items and selected item(s). I have to manually convert my model value and list values to string.
I guess the issue is in the same place of code with this PR: https://github.com/NicholasAzar/ng-selectize/pull/61
Please help me to check it.
Thank you

I've submitted a PR for this, check #64

Included in 1.1.1


Metadata doesn't accept datetime

The documentation and error messages indicate that a metadata key can be a datetime value. But both Set-Secret and Set-SecretInfo fail.

If I make the datetime a string, it works.

Or should we assume that all metadata values are strings?

SecretStore code needs to be updated to handle DateTime wrapped in PSObject.