docs: fix typo

Status

READY
Description
Currently the word should is misspelt here
Just removing an extra e from the word shouled
Todos

[x] Tests
[x] Documentation
[x] Changelog Entry (unreleased)

Steps to Test or Reproduce

it's pretty straight forward, the diff should explain itself

Thanks @Danny-Duck


remove the fake buffer 3

all existing CONST tests should pass while the underlying UOp representation changes.
Once merged, it completes work item 1 of "CONST in big graph" https://github.com/tinygrad/tinygrad/issues/8275.

I don't understand the point of this. I still can't use the normal logic for CONST folding if I change to this.


ES6 - Understand the Differences Between import and require - correct syntax not passing

test not passing
in this challenge, the final "NOTE" provided suggests using "./" if the file containing functions to import it are in the same folder, however the solution using that hint does not pass.
Add a Link to the page with the problem
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/understand-the-differences-between-import-and-require/
Tell us about your browser and operating system

Browser Name: Chrome
Browser Version: Version 66.0.3359.181 (Official Build) (64-bit)
Operating System: High Sierra 10.13.4

If possible, add a screenshot here (not a screenshot, but this code does not pass) and it should, and is 'more correct' than "string_functions" since many compilers will give an error without the "./"
"use strict";
import { capitalizeString } from "./string_functions"
capitalizeString("hello!");

The test is passing fine without any errors or bugs.
Read carefully, you are calling the file which is located in the same directory as capitalizeString function exists. So you don't need to use relative paths.
Try this code:
import {capitalizeString} from "string_functions";

The note suggests using relative path and my IDE webstorm actually gives a
file not found error if it is not present.
Since the note is there recommending it's used, the test containing it
should also pass.
On Mon, Jun 4, 2018 at 3:45 PM Lenin<EMAIL_ADDRESS>wrote:

The test is passing fine without any errors or bugs.
Read carefully, you are calling the file which is located in the same
directory as capitalizeString function exists. So you don't need to use
relative paths.
Try this code:
import {capitalizeString} from "string_functions";
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/17436#issuecomment-394475181,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG2eTiQsGHTexABLr3auvhMyxIFkQFxkks5t5Y5KgaJpZM4UZnMe
.

--
Suzanne Atkinson, MD
Clinical Instructor of Emergency Medicine
University of Pittsburgh School of Medicine
Emergency Resource Management, Inc.
Head Coach & Founder
Steel City Endurance Coaching
Co-Founder
Fresh Freestyle

Sorry I'm on mobile and can't edit my previous answer.
In node applications no relative path will look in the nice modules folder.
So while this syntax is correct both ways , students may struggle with
their first node/back End apps if ./ is incorrect .
I'm still learning About testing but it seems like a one liner to correct
On Mon, Jun 4, 2018 at 3:51 PM Suzanne Atkinson<EMAIL_ADDRESS>wrote:

The note suggests using relative path and my IDE webstorm actually gives a
file not found error if it is not present.
Since the note is there recommending it's used, the test containing it
should also pass.
On Mon, Jun 4, 2018 at 3:45 PM Lenin<EMAIL_ADDRESS>wrote:

The test is passing fine without any errors or bugs.
Read carefully, you are calling the file which is located in the same
directory as capitalizeString function exists. So you don't need to use
relative paths.
Try this code:
import {capitalizeString} from "string_functions";
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/17436#issuecomment-394475181,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG2eTiQsGHTexABLr3auvhMyxIFkQFxkks5t5Y5KgaJpZM4UZnMe
.

--
Suzanne Atkinson, MD
Clinical Instructor of Emergency Medicine
University of Pittsburgh School of Medicine
Emergency Resource Management, Inc.
Head Coach & Founder
Steel City Endurance Coaching
Co-Founder
Fresh Freestyle

--
Suzanne Atkinson, MD
Clinical Instructor of Emergency Medicine
University of Pittsburgh School of Medicine
Emergency Resource Management, Inc.
Head Coach & Founder
Steel City Endurance Coaching
Co-Founder
Fresh Freestyle

the following statements should pass the test however they do not:
import { capitalizeString } from './string_functions'

even your suggestion of removing ./ which is incorrect, doesn't work
import { capitalizeString } from 'string_functions'

the only one which seems to pass the test is with double quotes, .... what ?!
import { capitalizeString } from "string_functions"

@Thebigbignooby I noticed that as well - it seems like more than one, if not all of the es6 challenges will not pass using the single quotes (') - but will with the double quotes

+1 Please fix these

So what changes should be done specifically?

and tests should allow for import paths begining with ./ if they are suppose to be from the same working directory

This is an issue, I was stuck on it for good couple of minutes, because test cases need to be updated.
"Correct" answer is obviously a node_modules import, and those double quotes, rly? :)

Yeah. The test should pass even if the solution is one of the following.
import { capitalizeString } from "string_functions";

"use strict";
capitalizeString("hello!");

import { capitalizeString } from "./string_functions";

"use strict";
capitalizeString("hello!");
-------------------------------
```-------------------------

import { capitalizeString } from './string_functions';
"use strict";
capitalizeString("hello!");
--------------------------------------------------------Better ways are option 2 and 3 as they are directly referring to the local directory. Otherwise, node will have to them in the node_modules and then look back in the current directory which is unnecessary in this case

I disagree with allowing "string_functions" to pass -- that syntax says that it's a 'standard' library file that exists in node_modules. If you do this in your code, it just won't work. IMO, "./string_functions" should be required across all the import challenges.

Bro, it worked for me and that's the way node works i guess.  Yeah, syntax says it's a standard library but if node couldn't find it in node_modules, then it will look for the file in local directory. And if the file even doesn't exist in the local directory it gives error.

Currently node has experimental support for ES6 modules and according to that, if you don't use ./ the module is looked up in node_modules folder and if that doesnt resolve then it throws an error.  Error: Cannot find module
So the correct solution of this challenge should be:
import { capitalizeString } from "./string_functions";

and
import { capitalizeString } from './string_functions';

Note:
This is still experimental feature in node however I dont think its behavior will change, they are just figuring out how to make AMD and CommonJS modules work together.
I believe updating the regex should resolve this issue.

@ezioda004 I’ll start working on this.

Bro, it worked for me and that's the way node works i guess.  Yeah, syntax says it's a standard library but if node couldn't find it in node_modules, then it will look for the file in local directory. And if the file even doesn't exist in the local directory it gives error.

Are you saying writing the import like that worked for you? In what context? I don't know of any context in which leaving out the relative path works.
create-react-app
Failed to compile.

./src/App.js
Module not found: Can't resolve 'myModule.js' in 'H:\experiments\es6-modules\src'

node 10.16.3
{ Error: Cannot find module myModule
    at search (internal/modules/esm/default_resolve.js:29:12)
    at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:65:11)
    at Loader.resolve (internal/modules/esm/loader.js:58:33)
    at Loader.getModuleJob (internal/modules/esm/loader.js:113:40)
    at ModuleWrap.promises.module.link (internal/modules/esm/module_job.js:32:40)
    at link (internal/modules/esm/module_job.js:31:36) code: 'MODULE_NOT_FOUND' }

Where does it actually work?


staticsite.properties.defaultHostName uses incorrect case

uses defaultHostname
should be defaultHostName to match app service

What is the full resource type and api version of this web resource?

resource web 'Microsoft.Web/staticSites@2021-03-01' = {


The tests failed

The examples ran fine but the tests failed.

Never mind, the tests ran fine on dotnet but failed in JetBrains Rider and Visual Studio with Resharper because the Rider TestRunner is located in a different location.
C:\Users\NOBODY\AppData\Local\JetBrains\Toolbox\apps\Rider\VERSION\lib\ReSharperHost\TestRunner\netcoreapp2.0

Hi @litan1106 , Thanks for reporting the issue & fixing it as well. You're awesome!
I'll review the changes, do some test & make a new release as soon as possible.

Hi @litan1106 , Thanks for reporting the issue & fixing it as well. You're awesome!
I'll review the changes, do some test & make a new release as soon as possible.

Thanks for the great library. Best solution I have seen so far.

Hi @litan1106 , Thanks for reporting the issue & fixing it as well. You're awesome!
I'll review the changes, do some test & make a new release as soon as possible.

@soundaranbu I am waiting for the new release.

Hi @litan1106, I thought this issue is affecting only when working with the source code (running the test cases in Rider)... So I was waiting for any new changes to arrive... If it is an issue when using the library itself in projects, I'm making a new release right away

Published new release. Thanks @litan1106
https://github.com/soundaranbu/RazorTemplating/releases/tag/v1.2.1
https://www.nuget.org/packages/Razor.Templating.Core/1.2.1


en_GB people provider

I've recently found myself using Faker for some test data to provide a demonstration system and found that the names which were being generated in most cases, weren't names which are commonly used in the UK.
I've created a simple Person class for the UK.
Data for forenames came from ONS female names here and male names here - I used the data from 2003 and 2013.
I also used some of the names already in the en_US locale which were relevant to a UK audience.
For surnames, I found a list here which seemed to reflect usage well.
I haven't added any tests as I've only changed the contents of the arrays, but if there's anything else I should be doing let me know. I've not made an open source contribution before, and I wasn't entirely sure if I should be submitting this as none of the other EN locales have specific Person providers (other than the default en_GB).

Thanks!


Added GE Buy limit reset timer

Extended functionality of the Grand Exchange plugin.
Option to track when the buy limit resets by making use of configManager to store event when GE Buy offer completes / Partial buys. Updates whenever GrandExchangeOfferChanged event occurs. Calculates time using minutes.
Screenshot: https://imgur.com/a/qvVTEP7
Tested working for the following scenarios:
No buys (Expected: 'None')
Buys within limit timer of 4h (Expected: Show correct timer to reset)
Timer > 4h (Expected: reset to 'None')
4h < Timer < 5h (Expected: reset to 'None'. No negative numbers.)
Partial buys (E.g. 15k feather, hit limit, timer shows '4:0' and not 'None')
Sell does not affect buy limit timer

Tested working for the following scenarios:
No buys (Expected: 'None')
Buys within limit timer of 4h (Expected: Show correct timer to reset)
Timer > 4h (Expected: reset to 'None')
4h < Timer < 5h (Expected: reset to 'None')

Ready for review

This needs to be ran through our formatter
https://github.com/runelite/runelite/wiki/Code-Conventions

@raiyni done, thanks for pointing that out.

renfc01 is there a way to see timer outside of the grand exchange? will there be a notification once limit has been reset?

renfc01 is there a way to see timer outside of the grand exchange? will there be a notification once limit has been reset?

Currently no, but that can be added in the future (probably linked with the panels)

renfc01 is there a way to see timer outside of the grand exchange? will there be a notification once limit has been reset?

Currently no, but that can be added in the future (probably linked with the panels)

thanks for the reply. do you know when https://imgur.com/a/qvVTEP7 will be in the current build?

renfc01 is there a way to see timer outside of the grand exchange? will there be a notification once limit has been reset?

Currently no, but that can be added in the future (probably linked with the panels)

thanks for the reply. do you know when https://imgur.com/a/qvVTEP7 will be in the current build?

That depends on when the Runelite core dev team approves the PR, hopefully soon.

when will this be released? this is in high demand from the flipping community.

added in aea258fb5cac5a5539fe7294bab57cea61f4dfa6

@Adam- I'm thinking of ways to track the quantity bought as an extension to only tracking when the limit resets (This will allow users to track whether the limit has been hit already or not)
One way I thought of is to add that info into the string key. Something like configManager.setConfiguration(GrandExchangeConfig.CONFIG_GROUP,  BUY_LIMIT_KEY + client.getUsername().toLowerCase() + "." + itemId+ "." + itemQty,  Instant.now().plus(BUY_LIMIT_RESET));
What do you think?

I don't think it would work storing the qty in the key since you wouldn't be able to tell what key to lookup when you wanted to know how many were left to buy in the window?

Maybe i'll store it with the date in a string array or something (["dateTime" , "itemQty"], replacing Instant.now().plus(BUY_LIMIT_RESET))
Figure it out next after the new client drops


Update UI for v1.3

[x] Improve start/end date label visibility.
[x] Add a total duration string (days, hours, minutes).
[x] Update colours to match NUS identity.

Please checkout and take a look at these updates, and feel free to comment any suggestions!
Closes #108, closes #110, and closes #114.

Just took a quick look at the UI, haven't quite looked at the code, looks beautiful! Just some minor points:

Minor, seems like the label for duration is not removed when there's no duration displayed
Adding on to the above, maybe an event with 12/12/2022 - 12/12/2022 for e.g. should be displayed as 1 day instead, an events that are from 12/12/2022 - 13/12/2022 should be labelled 2 days instead, this also ensures that all events will have a duration. What do you think?
Negative days are displayed (but this should be fixed after we validate the start and end dates #106)
Very minor as well, but perhaps we shouldn't use #ffffff as the background? It looks a tad too bright, maybe try #fafafa?

Codecov Report
Base: 72.67% // Head: 72.56% // Decreases project coverage by -0.10% :warning:

Coverage data is based on head (fb334d1) compared to base (47c1668).
Patch coverage: 47.05% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #116      +/-   ##
============================================
- Coverage     72.67%   72.56%   -0.11%
- Complexity      618      622       +4
============================================
  Files            97       97
  Lines          1969     1983      +14
  Branches        235      238       +3
============================================
+ Hits           1431     1439       +8
- Misses          483      486       +3
- Partials         55       58       +3

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/EventCard.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/UiManager.java
0.00% <0.00%> (ø)

.../main/java/seedu/address/model/event/DateTime.java
93.33% <72.72%> (-2.87%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Pass response data into BigCommerceAPIException

Resolves EVIL-625
Closes #23
It's about time someone did this

thank gosh

A good long term goal would be to separate out the API-errors from the non-API errors, maybe using multiple inheritance so you get something like BigCommerce404(BigCommerce4xx, NotFoundError).

✅ r-thomson approved these changes 1 minute ago

GitHub strikes again :godmode:


Explain once and for all how to set python.pythonPath using environment variables or remove this from docs

Environment data

VS Code version: 1.44.0
Extension version (available under the Extensions sidebar): 2020.2.64397
OS and version: Linux x64 5.5.8-arch1-1
Python version: Virtual env python 2.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): Pipenv
Jedi or Language Server?: disabled
Value of the python.languageServer setting: Microsoft

Expected behaviour
From reading the docs, it seems to suggest that one can set python.pythonPath using environment variable.
I have a .env file with the content:
PYTHON_INSTALL_LOC="/home/chigozirim/dev/virtualenvs/XXX/bin/python"

And I have set the value of python.pythonPath using:
"python.pythonPath": "${env:PYTHON_INSTALL_LOC}"

I expect the plugin to pick up the actual path from the environment variable and use that python
Actual behaviour
The plugin fails to see the python I specified and instead picks up the system default python, which means the variable is resolving to an empty string
Steps to reproduce:
Use my setup above, with the .env file.
Directory structure
➜ tree -aL 1
.
├── data
├── .env
├── fig
├── .git
├── .gitignore
├── mnist
├── Pipfile
├── Pipfile.lock
├── .pylintrc
├── README.md
├── run.ps1
├── src
└── .vscode

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
[Info  - 6:41:44 p.m.] Analysis cache path: /home/chigozirim/.cache/Microsoft/Python Language Server
[Info  - 6:41:44 p.m.] Microsoft Python Language Server version <IP_ADDRESS>
[Info  - 6:41:44 p.m.] Workspace root: /home/chigozirim/projects/neural-networks-and-deep-learning-py
[Info  - 6:41:44 p.m.] GetCurrentSearchPaths /usr/bin/python
[Info  - 6:41:44 p.m.] Interpreter search paths:
[Info  - 6:41:44 p.m.]     /usr/lib/python3.8
[Info  - 6:41:44 p.m.]     /usr/lib/python3.8/lib-dynload
[Info  - 6:41:44 p.m.]     /home/chigozirim/.local/lib/python3.8/site-packages
[Info  - 6:41:44 p.m.]     /usr/lib/python3.8/site-packages
[Info  - 6:41:44 p.m.] User search paths:
[Info  - 6:41:44 p.m.]     /home/chigozirim/projects/neural-networks-and-deep-learning-py/src
[Info  - 6:41:47 p.m.] Initializing for /usr/bin/python
[Info  - 6:41:47 p.m.] Analysis caching mode: None.

In case I'm not making myself clear, I am referring to where it states in the docs:

By default, the Python extension looks for and loads a file named .env in the current workspace folder, then applies those definitions. The file is identified by the default entry "python.envFile": "${workspaceFolder}/.env" in your user settings (see General settings). You can change the python.envFile setting at any time to use a different definitions file.

I'm certain this means that the extension is supposed to read the .env file and use the values found there. If that's the case, why does it fail to use the environment variables I set, to fill in python.pythonPath?
I just need to know if this feature is supported or not and what the docs means when it specifies the use of environment variables for setting the python.pythonPath. If this is actually not supported, then I strongly suggest it should be, otherwise it should not be in the docs so that devs are not being misled and end up wasting time on something that wasn't supposed to work.
See also:
https://github.com/microsoft/vscode-python/issues/944#issuecomment-370512814

@smac89, thanks for getting in touch with us about this.  We'll get back to you as soon as possible.

I think I'm facing the same issue.
I want to add sub-folders to the PYTHONPATH, to import python files in the same folder.
I'm using .env file and the Pylint and python-debugger recognize the .env file, but when I try to run the file in python run Current file in python interactive window  or run python file in terminal the python throw ModuleNotFoundError

@smac89, I was able to verify the behavior as described: any setting using an environment variable defined only in a .env file is effectively ignored.  Note that this has always been the case.  Also note that env var substitution works as documented for regular environment variables (not in .env file).
The cause is that the extension code which applies environment variables in settings does not currently use those defined in .env files.  In fact, .env files are currently only used when the extension creates subprocesses or new terminals.
The resolution of the problem you've encountered is one of the following:

apply the .env file when doing variable substitution
update the docs to clarify that env var substitution in settings ignores .env files
do nothing

We'll look into which makes the most sense.

Thank @ericsnowcurrently
Hopefully decision number 1 is taken, because it will prove to be the most useful seeing as support for .env is already popular among virtualenv enthusiasts and already has complete support by pipenv. It is also easy to add support, as you just need to source .env in bash-like environment

Closing in favour of https://github.com/microsoft/vscode-docs/issues/3550 and #11015.


Fix (zero) - (normal) having a wrong sign + Fix no-std incompatibility

Looks good to me. Thank you for fixing these bugs.


[ Fix #146 ] move addonProcessTree to the correct position

so that postprocessTree fires after everything is finished
This fixes #146 and now fingerprinting of public files works again

@tschoartschi 	Seems like this failure you are seeing is present on master branch as well.

@rondale-sc @rwjblue it seems like the following line in @types/babel-traverse/index.d.ts: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/c972d79/types/babel-traverse/index.d.ts#L348 is not compatible with the TypeScript version specified in our package.json. I tried it with TypeScript 2.9.2 (because I have it locally installed in another project) and it worked after adding     "skipLibCheck": true to tsconfig.json. So not sure how to go on from this point. Let me know what your thoughts are.

@tschoartschi Does the test suite pass when you upgrade the typescript version and add the skipLibCheck?
If so, I'd imagine it is relatively safe to bump and release.
/cc @rwjblue

Thank you @tschoartschi and @rondale-sc!


Update POM to use MultiBit Hardware 0.1.0

I've just released MultiBit Hardware 0.1.0 into the staging repository.
We should update MultiBit HD to use the release version in preparation for the 0.0.5 release and run the complete FEST tests.

Added the new 0.1.0 JAR and ran all FEST tests successfully.
Ready for review and close.

Checked POM, built and ran tests.
Closing


Terrain shader bug fix

screenPos is only defined in structure when
#if defined(URHO3D_REFLECTION_MAPPING) && defined(URHO3D_MATERIAL_HAS_PLANAR_ENVIRONMENT)

I think it's not entirely correct because URHO3D_REFLECTION_MAPPING is not defined for PBR. Some other place also had it wrong and I fixed it in editor branch. I'll check later.

This totally fixed the bug!!

@gleblebedev can you try updated version? It's more correct. If it doesn't work, it means your bug is in different place.

@gleblebedev can you try updated version? It's more correct. If it doesn't work, it means your bug is in different place.


Added backgroundcolor for the current line and added the ability to disable the line.

Added backgroundcolor for the current line and added the ability to disable the line.

I'll look into this sometime this week. Thanks 😄


How to we obtain speech text  by aws-sdk

What platform/OS are you using?
What compiler are you using? what version?
What's your CMake arguments?
Can you provide a TRACE level log? (sanitize any sensitive information)

We hope to get the text after voice recognition.
Such as we say "Alexa, what time is it"
We would link to know how to get "what time is it"

Please use this forum to report bugs/features.

Dear Marco Magdy, How to navigate to bugs/features?


docs(components/cdk/scrolling): add note about view recycling with dy…

…namic components
Added a clearer note about the behaviour of view recycling in cdk-virtual-scroll-viewport
containers when rendering dynamic components.
Fixes #15838

Hello, can you clarify that statement a bit, please? Really need it.
What exactly the state preservation means? Does it mens that in this code location binding will never change?
<cdk-virtual-scroll-viewport
        [itemSize]="itemSize"
        [minBufferPx]="itemSize * 2"
        [maxBufferPx]="itemSize * 4"
      >
        <div
          *cdkVirtualFor="let location of locations"
          [style.height]="itemSize + 'px'"
        >
          <app-location-card
            [location]="location"
          >
          </app-location-card>
        </div>
      </cdk-virtual-scroll-viewport>

Hey, please re-open the pull request if still valid. The PR got auto-closed by GitHub when we renamed our primary branch.


The syslog logging target uses an empty certificate and should not be verified successfully.

**What kind of request is this (question/bug/enhancement/feature request):**bug
Rancher version: rancher/rancher:master 02/27
Prerequisites:
Rsyslog server has enabled certificate verification
module(load="imtcp" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="x509/certvalid")

Steps to reproduce (least amount of steps as possible):

Configure the syslog logging target
Endpoint Select TCP and enter the correct syslog ip and port
Enable Use TLS
Click TEST when Client Private Key and Client Certificate are empty.
Result:
Returns Settings validated on the UI. This is wrong because the syslog server has returned a log of certificate validation failures.

rsyslogd: gnutls returned error on handshake: An unexpected TLS packet was received.  [v8.34.0 try http://www.rsyslog.com/e/2083 ]
2019-02-28T06:59:26.343181+00:00 7ee7c56258ff rsyslogd: gnutls returned error on handshake: An unexpected TLS packet was received.  [v8.34.0 try http://www.rsyslog.com/e/2083 ]

Fixed in 2.2

Tested with rancher/rancher version- v2.2.0
Using the empty certificate TEST, the UI will prompt
couldn't read data from syslog michelia.cnrancher.com:60515: couldn't read data from remote server: read tcp <IP_ADDRESS>:59894-><IP_ADDRESS>:60515: Read: connection reset by peer


Package upgrade blocked

Please refer to the command and its output below:
go get -u ./...

# k8s.io/client-go/applyconfigurations/meta/v1
/go/pkg/mod/k8s.io/client-go@v0.23.5/applyconfigurations/meta/v1/unstructured.go:64:37: cannot use doc (type *"github.com/googleapis/gnostic/openapiv2".Document) as type *"github.com/google/gnostic/openapiv2".Document in argument to "k8s.io/kube-openapi/pkg/util/proto".NewOpenAPIData

Same here, but I think it already got resolved in an upcoming version:
Here the correct pkg gets imported: https://github.com/kubernetes/client-go/blob/v0.24.0-alpha.4/discovery/discovery_client.go#L32

Same problem here, updating all deps through go get -u doesn't work.

Same problem here, updating all deps through go get -u doesn't work.

update to v0.24.0-alpha.4, it helped me

It worked @zrks ! Thank you!

did anyone figure out a solution for this one. Looks like issue is on all versions of 0.23

i was able to fix this by replacing the k8s.io/kube-openapi entry in the go.mod in my project with this:
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect

Adding this to my go.mod fixed some of the openapi type errors I was running into:
replace (
    github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.5.5
)

The latest version of kube-openapi is only compatible with v0.24 of kubernetes so a go get -u on a v0.23 repo will pull in an incompatible module. I was under the impression that for a specific k8s release, we have dependencies pinned for a reason. Is it convention to run a go get -u on the client-go repo?
We try to maintain backwards incompatibility as much as possible, but things like module renames will cause version incompatibilities between certain versions.
cc @liggitt

Is it convention to run a go get -u on the client-go repo?

no, upgrading to HEAD of all dependencies of client-go is not expected to work as long as some are on v0... revisions

1

Is it convention to run a go get -u on the client-go repo?

no, upgrading to HEAD of all dependencies of client-go is not expected to work as long as some are on v0... revisions

This does not work either.

https://github.com/kubernetes/kube-openapi/issues/404

I am still facing this issue I am using  k8s.io/client-go v0.27.3

/reopen

go get -u ./... is not likely to work seamlessly with v0 modules, which includes client-go and many of its dependencies (including gnostic, mergo, and others).
client-go is tested with the versions of dependencies referenced from its go.mod file, but newer versions of v0... dependencies may or may not work correctly with client-go
When client-go v0.28.x is released (~August 2023), this specific conflict between gnostic and gnostic-models will be resolved.
/close


High precision and gradient discrepancy in RWKV Triton implementation between chunk and recurrent_fuse

I've noticed a significant discrepancy in precision and gradients in the chunk implementation of the RWKV operator in the Triton implementation. The file in question is flash-linear-attention/fla/ops/rwkv6/chunk_naive.py.
Important observation:
The standard Triton implementation and the PyTorch implementation show no significant precision differences. However, the chunk implementation exhibits extremely high discrepancies.
Details:

About 90% of the outputs show large differences in the chunk implementation.
about 10%-200% of the gradient differences in the chunk implementation.
The maximum differences observed are as follows:

tensor(145., device='cuda:0', dtype=torch.bfloat16, grad_fn=<MaxBackward1>)
tensor(145., device='cuda:0', dtype=torch.bfloat16, grad_fn=<MaxBackward1>)
tensor(202., device='cuda:0', dtype=torch.bfloat16)
tensor(198., device='cuda:0', dtype=torch.bfloat16)
tensor(57.2500, device='cuda:0', dtype=torch.bfloat16)
tensor(163., device='cuda:0', dtype=torch.bfloat16)
tensor(1392., device='cuda:0', dtype=torch.bfloat16)

These discrepancies are concerning as they could lead to significant differences in model performance and training stability, especially when using the chunk implementation.
Questions:

Is this level of difference expected in the chunk implementation, given that the standard Triton and PyTorch implementations align well?
Could there be a specific bug or issue in the chunk implementation causing these large discrepancies?
Are there any known numerical stability issues in the chunking process that could explain these differences?
How does the chunking process differ from the standard implementation, and could this difference account for the observed discrepancies?

Steps to reproduce:
python flash-linear-attention/fla/ops/rwkv6/chunk_naive.py

Environment:

PyTorch version: 2.3

GPU model: NVIDIA 4090

Pytorch 2.4

GPU intel arc a770

Any insights or suggestions for investigating this issue further would be greatly appreciated. In particular, any guidance on debugging the chunk implementation or understanding why it differs so significantly from the other implementations would be very helpful. Thank you for your time and attention to this matter.

solution:
o2, _ = chunk_rwkv6(q, k, v, w.clone(), u, scale=1.0)

if __name__ == "__main__":
    from fla.utils import get_available_device
    device = get_available_device()
    B = 4
    H = 4
    L = 4096
    D = 100
    dtype = torch.bfloat16
    require_grad = True
    q = (torch.randn(B, H, L, D).to(device).to(dtype)).requires_grad_(require_grad)
    k = (torch.randn(B, H, L, D).to(device).to(dtype)).requires_grad_(require_grad)
    v = torch.randn(B, H, L, 2*D).to(device).to(dtype).requires_grad_(require_grad)
    w = torch.nn.functional.logsigmoid(torch.randn(B, H, L, D)).to(device).to(dtype).requires_grad_(require_grad)
    u = (torch.randn(H, D).to(device).to(dtype)).requires_grad_(require_grad)
    h = torch.randn(B, H, D, 2*D, device=device, dtype=dtype, requires_grad=True)
    do = torch.rand_like(v).to(device)
    o2, _ = chunk_rwkv6(q, k, v, w.clone(), u,initial_state=h, scale=1.0)
    o, _ = fused_recurrent_rwkv6(q, k, v, w, u,initial_state=h, scale=1.0)

    o.backward(do) #正确的算法
    dq, q.grad = q.grad.clone(), None
    dk, k.grad = k.grad.clone(), None
    dv, v.grad = v.grad.clone(), None
    dw, w.grad = w.grad.clone(), None
    du, u.grad = u.grad.clone(), None
    dh, h.grad = h.grad.clone(), None
    # print((o - o2).abs().mean())
    o2.backward(do) # 错误的算法
    # print((o-o2).abs().max())
    # print((q.grad - dq).abs().max())
    # print((k.grad - dk).abs().max())
    # print((v.grad - dv).abs().max())
    # print((w.grad - dw).abs().max())
    # print((u.grad - du).abs().max())
    # print((o-o2).abs()/o.abs())
    print((h.grad-dh).abs().max())
    print(((h.grad-dh).abs()/dh.abs()).max())

tensor(0.0312, device='xpu:0', dtype=torch.bfloat16)
tensor(3024., device='xpu:0', dtype=torch.bfloat16)


WFLY-8389: check for "ssl" and "ssl-context" conflict during add/writ…

…e-attribute
Issue: WFLY-8389

Hi @michpetrov. Thanks for this. There are a couple things that need to be changed. First we don't want to do model validation in performRuntime, as that runs in Stage.RUNTIME and we need to know the model is valid when operation execution exits Stage.MODEL.[1]
Second, when validating across attributes or resources we want to do the validation in an added step. Doing that ensures that validation occurs after all steps that the user as part of a composite op get a chance to run; then we validate the final result. For example a write-attribute and a remove in a composite could end up in a correct state but if we validate in the main write-attribute step, the remove hasn't had a chance to run.
The 2nd commit in https://github.com/wildfly/wildfly/compare/master...bstansberry:pullRequest9816 shows how to do the things I've described. Feel free to squash it into your PR. That commit also makes a small optimization to ModClusterConfigResourceDefinition that isn't really related to this but I something I noticed when looking at your fix.
[1] https://docs.jboss.org/author/display/WFLY/Extending+WildFly#ExtendingWildFly-OperationExecutionandthe{{OperationContext}}

I was looking at how other subsystems do it and e.g. AbstractDataSourceAdd does some validation inside performRuntime, so I assumed that's the place to do it.
I guess I'm still not clear on how the composite operation is meant to be handled, does the order of steps not matter?

@michpetrov doing model validation in performRuntime is wrong, so, yes, AbstractDataSourceAdd is wrong there.
Re: order of steps, if it's possible to make it not matter, then that's what we want. It's not intuitively obvious to the user that the write-attribute must come after the remove, and it's possible to not make the order matter, so we should do that.

Actually, AbstractDataSourceAdd isn't wrong. ELYTRON_ENABLED allows expressions, and expressions can't necessarily be resolved correctly until Stage.RUNTIME, so there is no choice but to wait there.


FIX: Eyelink origin discrepancy

After setting up the eyelink I noticed that there was a discrepancy between coordinate systems.
el.get_eye_position() returns location in pixels with the center of the screen being [0, 0]. The eyelink itself claims to output a location where the top left is [0, 0] (but it seems more like it's using the bottom left). ec._convert_units(), however, assumes that the pixel locations use the bottom left of the screen as [0, 0].
Since el.wait_for_fix() uses both el.get_eye_position() and ec._convert_units(), the coordinates never match up.

This is strange. Does this example work properly on your computer with the Eyelink?
https://github.com/LABSN/expyfun/blob/master/examples/experiments/eyetracking_experiment_.py

@Eric89GXL @drammock @rkmaddox
I wonder if this is happening because of using a different version of the eyelink.
Also I'm not familiar with how issues work, do I have to be assigned (by someone with permissions to do so) before I can do stuff?

@Eric89GXL I was using that example and it only started working when I added in [960, 540] to the eye position to get everything to agree

Also I'm not familiar with how issues work, do I have to be assigned (by someone with permissions to do so) before I can do stuff?

No you can open PRs whenever you want. The assigning and such is just helpful if we want to use it (but usually don't need to for a repo this size).

I wonder if this is happening because of using a different version of the eyelink.

Yes it's possible. Which version of pylink (or whatever they call it) are you using, and which Eyelink? I thought I tested that example on our system, but maybe I didn't.
In any case, it's worth making a PR to fix the calculation for your system. Then we can try it back in Seattle. It might take a couple of weeks for us to get to it, though.

This is indeed surprising. Since I'm gone for 2 weeks, maybe we can get @lkishline or @shbaum to test now just to confirm it works as-is?

@Eric89GXL @maddycapp27 what ever happened with this?

Fixed in https://github.com/LABSN/expyfun/pull/318

huh.  somehow I missed that whole thread.  Maybe I accidentally muted it.

Did you get notified about #320? If not, maybe you aren't being notified about PRs anymore

yes I did.  I think I must have muted or archived the #318 thread through my inbox without ever reading it (i.e., user error, not a change in GitHub's behavior toward me).


ComponentReference.vue doesn't correctly support Events and Slots

Describe the bug
ComponentRefrence.vue loops through Properties, Events and Slots and renders them all in the same way.  But events and slots have nearly completely different fields.  The data structures all look like they're correctly defined, we just need the component to correctly interpret them.
bootstra-vue-next

bootrstrap-vue

Reproduction
See screenshots above
System Info
This is not a system specific issue

Used Package Manager
pnpm
Validations

[X] Have tested with the latest version. This is still alpha version and sometime things change rapidly.
[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

fix by https://github.com/bootstrap-vue-next/bootstrap-vue-next/pull/1571

This was resolved by #1571


Enabling python build for Win32

Hey!
Thanks for all the work fixing this up. Would you mind testing these changes on Ubuntu and Mac to make sure it will works?


Update deploy.yaml

change it to persistent storage, updated to latest image, thats about it.
This is done for a better first time user experience, so they won't loose their configurations after a provider reboot.
Have tested that it works and is actually persistent across provider reboots, have not run extensive testing tho.
seems fine and i doubled storage space just to be on the safe side, 512MB seemed a bit low, incase somebody was to add a lot of stuff to it...
the original storage was reduced from 512MB to 128MB, since it is mandatory and thus cannot be completely removed.

please don't use latest image tag and remove the single quotes around it.

please don't use latest image tag and remove the single quotes around it.
akash aggressively caches the images, so ideally use the version tag there.

so lets use uptime kuma as an example here...
you are saying its better to run a version that is 1 year old, rather than a new version that was updated a few weeks ago...
why is that better.... why does it matter that it akash providers cache the latest, can't be worse than running an old version, without fixes for modern security considerations.

okay you win... i fixed it..
let me know if i missed doing something .... merge merge merge :D

This template is working and ready to be merged @arno01


Added OnBeforeStartExternalProcess callback

Added OnBeforeStartExternalProcess callback which to NodeServicesOptions (and OutOfProcessNodeInstance, SocketNodeInstance and HttpNodeInstance) to configure environment of the node.exe process to be started, and the path to the node executable itself. Fixes #20

Hi @thunder7553, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@thunder7553, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Thanks for this! I've now merged it. I hope you don't mind, but I've also changed the API.
I was not keen to expand the set of constructor parameters for all the hosting models (even if it's a new optional parameter, it's still something that everyone calling the constructor has to see and figure out the relevance of).
But since it was a constructor parameter, the only way to make use of it would have been when calling new directly (and not just when receiving an INodeInstance through DI). So if a developer is already doing that, it's hardly any extra work to define a subclass of whatever hosting model they are instantiating. So, this can conveniently be done as a virtual method instead of a constructor parameter.
You can now do this:
public class MyHttpNodeInstance : HttpNodeInstance
{
    protected override ProcessStartInfo PrepareNodeProcessStartInfo(string entryPointFilename, string projectPath, string commandLineArguments)
    {
        var startInfo = base.PrepareNodeProcessStartInfo(entryPointFilename, projectPath, commandLineArguments);
        // Now modify 'startInfo' however you want to here
        return startInfo;
    }
}

I know this is slightly more code than would have been needed with the constructor param, but it has the benefit of not interjecting an extra concept to think about for developers who are just trying to instantiate a node instance without wanting to override the process start info in any way. Hope that's OK - let me know if you disagree!


Remove netbeans casks

See conversation in https://github.com/caskroom/homebrew-cask/issues/30801.
On hold to see if anyone complains.

On hold to see if anyone complains.

Not complaining, since I'm not using NetBeans, but netbeans installed fine, although it did kinda call a GUI:

@reitermarkus That’s a valid datapoint, nevertheless. Which one did you install?

I triednetbeans again and it installs if I switch to master instead of a tag release.

I use netbeans day to day.  I tried a fresh install with HBW & did not face any issue.

Which one did you install?

The “default” one, netbeans.

No strong opinion on removing the cask; however, installation works for me.

Weird that it’s failing for some people, but since this is clearly isn’t widespread, might as well close the issue. Thank you, everyone.


[openlane] Revised cell exclude lists

Made the exclude lists configurable.
Separated the exclusion lists to no_synth.cells and drc_exclude.cells.
The merging of the two lists will be used in synthesis.
Only the drc_exclude.cells will be used in optimizations.
Aggressively reduced the don't-use list.

More documentation will be added to the openlane side to explain the usage of both.

Pulled and merged.


About gomicro performanc

I run example github.com/micro/examples/service
call rpc in gin
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
	grt := greeter.NewGreeterService("greeter", nil)
	_, err := grt.Hello(context.TODO(), &greeter.Request{Name:"caonima"})
	if err != nil {
		//fmt.Println("err:", err)
	}

	//fmt.Println(req.Greeting, req.String())
	c.JSON(200, gin.H{
		"message": "pong",
	})
})
r.Run(":9000") // listen and serve on <IP_ADDRESS>:8080

}
2019/11/29 - 02:03:25 | 200 |  105.531414ms
time  100ms
Remove rpc calls  time 307.097µs
Only rpc calls cost 100ms

maybe the service discovery cost. u can try one more times.

If you're using the default discovery system (mdns) then the first call can cost anywhere up to 100ms depending on what version you're running. This is because mdns doesn't just return all service entries, its a broadcast like system which requires you to wait a period of time and decide that you have enough values.
The second call will be faster because we cache the entries.

I use etcd instead of the default discovery    cost  1ms  thinks

why you close the issue?


STAT-215 ⁃ Remove Block Summary code from P2P

Since we are not using block summaries for STAT, this change removes any code related to these messages from the P2P plug-in

➤ Paul Calabrese commented:
I am cancelling this issue as we don't really want to do this now that the testnet has launched. My previous pull request deleted the block_summary_message and all associated code. Unfortunately, doing this now would break backward-compatibility in the testnet, so we can't apply this change. In addition, the p2p code is being reworked on the noon branch, so there is really no advantage to doing this.


controls broke

After leaving scope running for the night, I came back this morning to find that i could no longer get terminal for my containers. The UI says "Probe X is not connecting right now".
I am running the app on one machine and probes on three other machines. The app had restarted overnight (due to #1117).
Note that reports are still coming in from the probes, e.g. I can look at host details and see pleasingly wiggly lines.
Log from the app:
<app> INFO: 2016/03/04 06:48:26.726301 app starting, version a96c1d3, ID 788a61fb375f6bc5
<app> INFO: 2016/03/04 06:48:26.758671 listening on :4040
<app> ERRO: 2016/03/04 06:48:27.200860 Error updating weaveDNS, backing off 20s: Error running weave expose: exit status 1
<app> ERRO: 2016/03/04 06:48:29.036982 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:29.041362 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:29.806823 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:29.809764 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:31.019821 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:31.027636 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 06:48:47.645415 Error updating weaveDNS, backing off 40s: Error running weave expose: exit status 1
<app> ERRO: 2016/03/04 06:49:28.117090 Error updating weaveDNS, backing off 1m0s: Error running weave expose: exit status 1
<app> ERRO: 2016/03/04 07:47:56.768794 cannot serialize topology diff: websocket: close sent
<app> ERRO: 2016/03/04 08:28:23.217800 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> ERRO: 2016/03/04 08:28:23.224432 Error on websocket: websocket: close 1006 (abnormal closure): unexpected EOF
<app> INFO: 2016/03/04 08:28:37.470905 Creating pipe id pipe-4766845411744385907
<app> INFO: 2016/03/04 08:28:37.471064 Pipe success pipe-4766845411744385907 (1)
<app> ERRO: 2016/03/04 08:28:37.615443 Error upgrading pipe pipe-4766845411744385907 (0) websocket: websocket: version != 13
<app> INFO: 2016/03/04 08:28:37.631574 Pipe success pipe-4766845411744385907 (0)
<app> INFO: 2016/03/04 08:28:39.638951 Closing pipe pipe-4766845411744385907

and one of the probes
<probe> ERRO: 2016/03/04 05:24:08.821952 Error checking version: open /sys/class/dmi/id/product_uuid: no such file or directory
<probe> ERRO: 2016/03/04 06:48:26.640079 Error doing controls for <IP_ADDRESS>:4040, backing off 1s: dial tcp <IP_ADDRESS>:4040: getsockopt: connection refused
<probe> INFO: 2016/03/04 06:48:29.037783 Control connection to <IP_ADDRESS>:4040 starting
<probe> INFO: 2016/03/04 06:48:29.038630 Publish loop for <IP_ADDRESS>:4040 exiting
<probe> INFO: 2016/03/04 06:48:29.041733 Control connection to <IP_ADDRESS>:4040 exiting
<probe> INFO: 2016/03/04 06:48:30.024243 Publish loop for <IP_ADDRESS>:4040 starting

Note that no new log entries appear in either when I try the "bring up container terminal" UI action.

probe stack trace
app stack trace

@rade Have you experienced this since you reported it? I suggest we close it if you haven't.

Have you experienced this since you reported it?

No but I have not been running the above setup since I reported the problem.
OTOH, I have no problem getting controls onto our prod and dev clusters, and since these are long-running there is a reasonable chance the problem has gone away.


Typescript version does not build

After converting to Typescript, the project will not build successfully (neu build) due to multiple Typescript errors in the generated code

Hey @coderguy-21, thanks for submitting this issue!
I was only able to reproduce one error after a fresh conversion on commit 69134fb. Is this what you were encountering?
src/App.tsx:9:19 - error TS7006: Parameter 'err' implicitly has an 'any' type.
9 const logError = (err) => console.log(err);
                    ~~~
Found 1 error in src/App.tsx:9

This is resolved in commit 1c54fed: promise returning function calls to Neutralino are now voided instead of using a catch handler to prevent floating promises.


Fastlane Match hanging on cloning

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I'm on a new computer for a new job and trying to use match to download certificates/profiles and possibly update them. The old developer is no longer working with the company so I don't have access to his old machine and information.
When I try to use match, it gets stuck on cloning the repo due to authenticity not being able to be established. However, there is no prompt to continue anyway...
Command executed
fastlane match --development --verbose
Complete output when running fastlane, including the stack trace and command used
git:(master) fastlane match development --verbose
[✔] 🚀
[08:18:58]: fastlane detected a Gemfile in the current directory
[08:18:58]: However, it seems like you didn't use bundle exec
[08:18:58]: To launch fastlane faster, please use
[08:18:58]:
[08:18:58]: $ bundle exec fastlane match development --verbose
[08:18:58]:
[08:18:58]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
Successfully loaded Appfile at path '/Users/xxx/xxx/xxx/xxx/xxx/fastlane/Appfile'

app_identifier: ‘xxx'
apple_id: 'xxx'
itc_team_id: 'xxx'
team_id: 'xxx'

INFO [2021-05-21 08:18:59.86]: Successfully loaded '/Users/xxx/xxx/xxx/xxx/xxx/fastlane/Matchfile' 📄
+--------------+---------------------------------------+
|     Detected Values from './fastlane/Matchfile'      |
+--------------+---------------------------------------+
| git_url           | git@github.com:xxx/apple-certs.git|
| storage_mode | git                                                |
| type              | development                                   |
+--------------+---------------------------------------+
+--------------------------------+---------------------------------------+
|                       Summary for match 2.183.2                                    |
+--------------------------------+---------------------------------------+
| verbose                                 | true                                                |
| type                          	            | development                                  |
| readonly                                | false                                               |
| generate_apple_certs           | true                                                 |
| skip_provisioning_profiles    | false                                                |
| app_identifier                       | ["xxx"]                                             |
| username                             | xxx                                                  |
| team_id                                | xxx                                                  |
| storage_mode                      | git                                                    |
| git_url                                    | git@github.com:xxx/apple-certs.git |
| git_branch                            | master                                             |
| shallow_clone                      | false                                                 |
| clone_branch_directly          | false                                                 |
| keychain_name                   | login.keychain                                   |
| force                                     | false                                                 |
| force_for_new_devices        | false                                                 |
| skip_confirmation                | false                                                 |
| skip_docs                            | false                                                 |
| platform                               | ios                                                    |
| derive_catalyst_app_identifier | false                                             |
| fail_on_name_taken             | false                                                 |
| skip_certificate_matching      | false                                              |
| skip_set_partition_list            | false                                              |
+--------------------------------+---------------------------------------+
INFO [2021-05-21 08:18:59.87]: Cloning remote git repo...
INFO [2021-05-21 08:18:59.87]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
INFO [2021-05-21 08:18:59.87]: $ git clone git@github.com:xxx/apple-certs.git /var/folders/n5/s4t72jlx1jn14lzmzgxn8kw00000gn/T/d20210521-37232-1mwscar
INFO [2021-05-21 08:18:59.88]: ▸ Cloning into '/var/folders/n5/s4t72jlx1jn14lzmzgxn8kw00000gn/T/d20210521-37232-1mwscar'...
INFO [2021-05-21 08:19:00.31]: ▸ The authenticity of host 'github.com (xxx.xx.xxx.x)' can't be established.
INFO [2021-05-21 08:19:00.31]: ▸ RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
11.2.3

Ruby
2.7.3

Bundler?
false

Git
git version 2.30.1 (Apple Git-130)

Installation Source
/opt/homebrew/Cellar/fastlane/2.183.2/libexec/bin/fastlane

Host
macOS 11.2.3 (20D91)

Ruby Lib Dir
<EMAIL_ADDRESS>

OpenSSL Version
OpenSSL 1.1.1k  25 Mar 2021

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
12.5

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
### KIOSK

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

require 'spaceship'

default_platform(:ios)
xcversion(version: "12.2.0")

platform :ios do

	before_all do
		setup_ci
	end

	def set_build_number
		build_number = latest_testflight_build_number + 1

		increment_build_number(build_number: build_number)

		set_info_plist_value(path: "./xxx/Info.plist", key: "CFBundleVersion",
		value: build_number.to_s)

		set_info_plist_value(path: "./xxx/Info.plist", key: "CFBundleVersion",
		value: build_number.to_s)

	end

	# set version number to either the git tag
	# or the latest approved version + patch.
	def set_version_number
		if (!last_git_tag.nil?)
			increment_version_number(version_number: last_git_tag[1..-1])
		else
			# a call to app_store_build_number generates LATEST_VERSION in lane_context
			app_store_build_number
			version_number = lane_context[SharedValues:: LATEST_VERSION]
			increment_version_number(version_number: version_number)
			increment_version_number(bump_type: "patch")
		end
	end

	def set_deployment_info
		path = String("./VisitU/Info.plist")
		set_info_plist_value(path: path, key: "branch", value: ENV["BRANCH"])
		set_info_plist_value(path: path, key: "number", value: ENV["NUMBER"])
		set_info_plist_value(path: path, key: "hash", value: ENV["HASH"])
		set_info_plist_value(path: path, key: "tag", value: ENV["TAG"])
	end

	lane :build do
		set_build_number
		set_version_number
		build_app(workspace: "xxx.xcworkspace", scheme: 'VisitU')
	end

	lane :beta do

		api_key = app_store_connect_api_key(
			key_id: "xxx",
			issuer_id: "xxx",
			key_filepath: "./AuthKey_xxx.p8",
			duration: 1200, # optional (maximum 1200)
		)

		match(
			readonly: false,
			app_identifier: ["com.xxx.xxx","com.xxx.xxx.xxx"],
			type: "appstore",
			verbose: true,
			api_key: api_key,
			git_basic_authorization: ENV["MATCH_GIT_BASIC_AUTHORIZATION"]
		)

		build

		upload_to_testflight(skip_waiting_for_build_processing: true)

	end

	lane :release do

		# api_key = app_store_connect_api_key(
		# 	key_id: "xxx",
		# 	issuer_id: "xxx1",
		# 	key_filepath: "./AuthKey_xxx.p8",
		# 	duration: 1200, # optional (maximum 1200)
		# )

		match(
			readonly: false,
			app_identifier: ["com.xxx.xxx","com.xxx.xxx.xxx"],
			type: "appstore",
		)

		build

		set_deployment_info

		upload_to_app_store(
			force: true,
			automatic_release: false,
			skip_screenshots: true,
			precheck_include_in_app_purchases: false,
			submit_for_review: true,
			reject_if_possible: true,
			submission_information: {
				add_id_info_uses_idfa: false
			})
	end

	desc "Upload dSYM to Sentry"
	lane :dsym do
		download_dsyms(version: "latest")
		sentry_upload_dsym(
			auth_token: ENV['SENTRY_AUTH_TOKEN'],
			org_slug: "visitu",
			project_slug: "xxx",
			dsym_path: "./xxx.app.dSYM.zip"
		)

	end

	lane :tests do
  		run_tests(workspace: "xxx.xcworkspace",
            		devices: ["iPad (8th generation)"],
            		scheme: "Configurations Debug (Production)",
			configuration: "Debug(Production)")
	end

end

`./fastlane/Appfile`
app_identifier("xxx") # The bundle identifier of your app
apple_id("xxx") # Your Apple email address

itc_team_id("xxx") # App Store Connect Team ID
team_id("xxx") # Developer Portal Team ID

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

fastlane gems

Gem
Version
Update-Status

fastlane
2.183.2
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-sentry
1.8.1
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.4.0

atomos
0.1.3

CFPropertyList
3.0.3

claide
1.0.3

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.19.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
4.0.6

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

excon
0.81.0

faraday-excon
1.1.0

faraday-net_http
1.0.1

faraday-net_http_persistent
1.1.0

ruby2_keywords
0.0.4

faraday
1.4.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.7

faraday_middleware
1.0.0

fastimage
2.2.3

gh_inspector
1.1.3

json
2.3.0

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

bundler
2.2.15

simctl
1.6.8

jwt
2.2.3

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.1

representable
3.1.1

retriable
3.1.2

mini_mime
1.1.0

multi_json
1.15.0

signet
0.15.0

memoist
0.16.2

os
1.1.1

googleauth
0.16.2

httpclient
2.8.3

rexml
<IP_ADDRESS>

webrick
1.6.1

google-apis-core
0.3.0

google-apis-playcustomapp_v1
0.2.0

google-apis-androidpublisher_v3
0.2.0

google-cloud-env
1.5.0

google-cloud-errors
1.1.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.3.0

google-apis-storage_v1
0.3.0

rake
13.0.3

digest-crc
0.6.3

google-cloud-storage
1.31.0

emoji_regex
3.2.2

jmespath
1.4.0

aws-partitions
1.457.0

aws-eventstream
1.1.1

aws-sigv4
1.2.3

aws-sdk-core
3.114.0

aws-sdk-kms
1.43.0

aws-sdk-s3
1.94.1

uri
0.10.0

forwardable
1.3.1

logger
1.4.2

cgi
0.1.0

date
3.0.0

timeout
0.1.0

stringio
0.1.0

zlib
1.1.0

ipaddr
1.2.2

openssl
2.1.2

ostruct
0.2.0

strscan
1.0.3

io-console
0.5.6

delegate
0.1.0

fileutils
1.4.1

singleton
0.1.0

open3
0.1.0

yaml
0.1.0

psych
3.1.0

mutex_m
0.1.0

fastlane-plugin-sentry
1.8.1

generated on: 2021-05-21

I also tried using clone_branch_directly but the same things happens

Hi @thomaskellough
Question: Do you have access to clone the apple-certs git repo?
I request you to perform a git clone directly once to ensure that you have the access to clone this repo, you can use the above command directly, i.e
git clone git@github.com:xxx/apple-certs.git

@crazymanish Thanks for reaching out.
I can't clone if I use ssh, but I can if I use HTTP.
With ssh I get this output.
git clone git@github.com:xxx/apple-certs.git
Cloning into 'apple-certs'...
Warning: Permanently added the RSA host key for IP address 'xxx.xx.xxx.x' to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

This is a private repository not owned by me, but where I have access.

this is it!
This is the confirmation that it's not a Fastlane issue, it's your git-clone issue using ssh...
You can setup your ssh key in your GitHub account with your new MacBook and everything will work after that.
Follow instructions here: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
Please feel free to close this issue! @thomaskellough and Enjoy your weekend! 🚀

@crazymanish Thanks so much! Following those steps then adding the SSH to my GitHub did the trick :)


BUG: stats.levy_stable.rvs: "S0"-parameterization ignored

Describe your issue.
When trying to sample from stats.levy_stable.rvs() with levy_stable.parametrization="S0", the returned samples are not transformed, but in the "S1"-parameterization. Line 850 of stats._levy_stable.init does not get executed.
This is likely due to automatically resolving to the frozen distribution in stats._distn_infrastructure:rv_frozen.rvs() [line 493].
Reproducing Code Example
import numpy as np
from scipy.stats import levy_stable

stable_distribution = levy_stable(alpha=1.9, beta=0.1, loc=0.0, scale=1.0)
stable_distribution.parameterization = "S0" #  we could also set this directly as levy_stable.parameterization, makes no difference
samples_s0 = stable_distribution.rvs(size=(1000,1), random_state=49)

stable_distribution.parameterization = "S1"
samples_s1 = stable_distribution.rvs(size=(1000,1), random_state=49)

# due to the needed transformation between "S0" and "S1" parameterizations, the samples should definitely not be identical, but they are
assert not np.all(np.isclose(samples_s0, samples_s1)) # this should hold!

Error message
No error message

SciPy/NumPy/Python version and system information

{
  "Compilers": {
    "c": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.3.0",
      "commands": "cc"
    },
    "cython": {
      "name": "cython",
      "linker": "cython",
      "version": "3.0.10",
      "commands": "cython"
    },
    "c++": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.3.0",
      "commands": "c++"
    },
    "fortran": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.3.0",
      "commands": "gfortran"
    },
    "pythran": {
      "version": "0.15.0",
      "include directory": "C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pip-build-env-o281jlrt\\overlay\\Lib\\site-packages/pythran"
    }
  },
  "Machine Information": {
    "host": {
      "cpu": "x86_64",
      "family": "x86_64",
      "endian": "little",
      "system": "windows"
    },
    "build": {
      "cpu": "x86_64",
      "family": "x86_64",
      "endian": "little",
      "system": "windows"
    },
    "cross-compiled": false
  },
  "Build Dependencies": {
    "blas": {
      "name": "openblas",
      "found": true,
      "version": "0.3.27",
      "detection method": "pkgconfig",
      "include directory": "/c/opt/64/include",
      "lib directory": "/c/opt/64/lib",
      "openblas configuration": "USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= ZEN MAX_THREADS=24",
      "pc file directory": "c:/opt/64/lib/pkgconfig"
    },
    "lapack": {
      "name": "openblas",
      "found": true,
      "version": "0.3.27",
      "detection method": "pkgconfig",
      "include directory": "/c/opt/64/include",
      "lib directory": "/c/opt/64/lib",
      "openblas configuration": "USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= ZEN MAX_THREADS=24",
      "pc file directory": "c:/opt/64/lib/pkgconfig"
    },
    "pybind11": {
      "name": "pybind11",
      "version": "2.12.0",
      "detection method": "config-tool",
      "include directory": "unknown"
    }
  },
  "Python Information": {
    "path": "C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-622t44xc\\cp39-win_amd64\\build\\venv\\Scripts\\python.exe",
    "version": "3.9"
  }
}

I think I solve the pronlem. In the Scipy doc, it suggests to use levy_stable.parameterization to set the parameterization because  it is class attribute instead of instance attribute. So the code should be like this:
import numpy as np
from scipy.stats import levy_stable

stable_distribution = levy_stable(alpha=1.9, beta=0.1, loc=0.0, scale=1.0)

levy_stable.parameterization = "S0"
samples_s0 = stable_distribution.rvs(size=(1000,1), random_state=49)

levy_stable.parameterization = "S1"
samples_s1 = stable_distribution.rvs(size=(1000,1), random_state=49)

assert not np.all(np.isclose(samples_s0, samples_s1))

In the Scipy source code, it uses wrong self.parameterization in the function so I correct it. And now it works fine.

@Linfye thank you for your repsonse. Unfortunately, this still leads to an AssertionError, even using a fresh setup.
I think the frozen property of scipy distributions leads to this behavior. The scipy.stats framework and the current implementation of using differently parametrized stable distributions are incompatible. As far as I found out, this affects any computation of levy_stable, not just the sampling. So everything is computed in "S1" and trying to set the distribution instance or class to "S0" is ignored all along.
I'm going to restate the issue and try to fix it in the future, but right now, I have no resources to do so.

@bewit In my output, there's no AssertionError:

And the data in samples_s0 and samples_s1 are indeed different.

Could you please tell me more about your steps of running the modified code?

@Linfye Now I'm really puzzled 😄 Your screenshot looks just like I what I would expect the samples to look like, slightly shifted.
I opened up a fresh Google-Colab Notebook and copy-pasted your code. But here it still throws an AssertionError and the samples are identical. But I can try it again on a local machine (maybe using different versions).
Wondering if this might be due to setup differences? I'm not that knowledgeable about the scipy code base, just working a lot with the alpha-stable distribution lately. If anybody with more experience might have a look into this or could give a hint, I'm happy to do what I can.

One way to check is to add the check as a regression test in your PR @Linfye , and see what CI thinks. Mind doing that?

@bewit You should modify the Scipy source code like this:

And then paste my code:
import numpy as np
from scipy.stats import levy_stable

stable_distribution = levy_stable(alpha=1.9, beta=0.1, loc=0.0, scale=1.0)

levy_stable.parameterization = "S0"
samples_s0 = stable_distribution.rvs(size=(1000,1), random_state=49)

levy_stable.parameterization = "S1"
samples_s1 = stable_distribution.rvs(size=(1000,1), random_state=49)

assert not np.all(np.isclose(samples_s0, samples_s1))

In my code, I change your code stable_distribution.parameterization to levy_stable.parameterization.

@lucascolley I will do it later in my spare time.

@Linfye I'm sorry, I just didn't see the PR. That should definitely do the trick for now. Thank you!

From https://github.com/scipy/scipy/pull/21332#issuecomment-2278882307, it seems the documented way to change the parameterization (by setting levy_stable.parameterization = …) only works if you also call the methods via the levy_stable object.
If you call the methods from a “frozen” distribution object, i.e. one fixed with shape, location, and scale parameters, then you’ll have to modify the dist attribute of the frozen object instead. For example, the following code works:
import numpy as np
from scipy.stats import levy_stable

stable_distribution = levy_stable(alpha=1.9, beta=0.1, loc=0.0, scale=1.0)
stable_distribution.dist.parameterization = "S0"
samples_s0 = stable_distribution.rvs(size=(1000,1), random_state=49)

stable_distribution.dist.parameterization = "S1"
samples_s1 = stable_distribution.rvs(size=(1000,1), random_state=49)

assert not np.all(np.isclose(samples_s0, samples_s1)) # passes without error

I could make some additions to the doc to clarify the usage of parameterization (and other attributes that modify the numerical aspects). There are three ways to set the attributes:

By modifying the class attribute  levy_stable_gen.attr. This affects all objects except frozen objects created before who has dist.attr already modified.
By modifying the instance attribute levy_stable.attr. This only affects methods called via this instance; in particular, it has no effect on frozen objects.
By modifying dist.attr of a frozen object. This affects only that frozen object.

On the other hand, I’m not super keen to advertise these (somewhat non-straightforward) behaviors, in light of the upcoming reworked infrastructure which has native support for different parameterizations and algorithm parameters.
@mdhaber Do you think it’s worthwhile to modify the current doc as above? Or do you prefer to supersede it with the new infrastructure instead?

I don't think we need to modify the docs. I think we can just subclass rv_continuous_frozen for levy_stable and give it an @property named parameterization with a setter that modifies self.dist.parameterization. I'll open a PR.

I don't think we need to modify the docs. I think we can just subclass rv_continuous_frozen for levy_stable and give it an @property named parameterization with a setter that modifies self.dist.parameterization. I'll open a PR.

That would work too. But levy_stable has a bunch of other parameters that work in the same fashion as parameterization, so it looks a bit tedious to also support them via rv_frozen…

🤷


[BEAM-469] Do not modify the context in NullableCoder

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

The NullableCoder does not encode any elements after the subcoder
encodes the input value for non-null values. As a result, the subcoder
should see the entire input stream if it is available.

Need to update the backwards-compat checking in NullableCoderTest, e.g.:
This is backwards-incompatible, but we expected that :)
Results :
Failed tests:
  NullableCoderTest.testWireFormatEncode:93 Encoded value does not match expected wire format. Changing the wire format should be avoided, as it is likely to cause breakage. If you truly intend to change the wire format for this Coder  then you must update getEncodingId() to a new value and add any supported prior formats to getAllowedEncodings(). See org.apache.beam.sdk.coders.PrintBase64Encoding for how to generate new test data.
Expected: "AQA"
     but: was "AQ"
Tests in error:
  NullableCoderTest.testSubcoderRecievesEntireStream:158 » Runtime Unable to des...

R: @dhalperi

LGTM, thanks

I messed up in review -- we should also look at all the size-related code.


[sk] Added verbose pipeline argument

Summary
Two major changes are made to the mage_ai package:

All debug, warning, and error message now use Python's logging package in order to have finer control over the amount of debugging output printed. By default, the logging level is WARNING, so debug messages (like timing functions) are no longer printed by default. Contributors can enable them by setting the logging level to DEBUG:
import logging
logging.getLogger('mage_ai').setLevel(logging.DEBUG)

The following functions now have a verbose keyword argument (set to False by default) that when enabled describes the current steps the pipeline is performing:

connect_data
connect_df
clean (supports cleaning with pipeline and without pipeline)

An example output is displayed below when clean(dataframe, verbose=True) is called:
Inferring variable type from dataset...DONE
Converting entries to correct datatype...DONE
Calculating statistics per variable...DONE
Generating visualizations...DONE
Evaluating cleaning rule: CleanColumnNames...DONE
Evaluating cleaning rule: RemoveColumnsWithHighEmptyRate...DONE
Evaluating cleaning rule: RemoveColumnsWithSingleValue...DONE
Evaluating cleaning rule: FixSyntaxErrors...DONE
Evaluating cleaning rule: ReformatValues...DONE
Evaluating cleaning rule: ImputeValues...DONE
Evaluating cleaning rule: RemoveCollinearColumns...DONE
Evaluating cleaning rule: RemoveDuplicateRows...DONE
Evaluating cleaning rule: RemoveOutliers...DONE
Executing cleaning action: Clean dirty column names...DONE
Calculating statistics per variable...DONE
Evaluating cleaning rule: CleanColumnNames...DONE
... (continues)

Tests
Changes were tested locally with different dataset and different options of verbosity, including testing with pre-existing pipelines.
cc:
@wangxiaoyou1993

Force push was to resolve merge conflicts


VoIP token is different from PushNotificationIOS token?

I'm trying to get VoIP notification using RN-VoIP-PN library so I've generated  my VoIP token using following method:
VoipPushNotification.addEventListener('register', token => {
   console.log('VOIP TOKEN: ', token)
})

but my VoIP token was getting rejected by APN server saying that it's an invalid token. After seeing this I've tried using PushNotificationIOS for token and generated a token using the following code:
 PushNotificationIOS.addEventListener('notification', (token)=>{
        console.log('PushNotificationIOS token: ', token)
      })

and surprisingly this token was different from VoipPushNotification generated token and my APN server accepted this token.
There are multiple questions that I want to clarify

Why both tokens are different even VoipPushNotification used PushNotificationIOS to generate there token?
What's the difference between VoIP token and normal token? Can I use a normal token using the second method only?

Thanks in advance

PushKit and PushNotificaiton will generate 2 separate tokens
You have to use each one separately, includes cer files.


fix an error in useReducer

There's no props specified for Demo component in executor.js, so Demo shouldn't use any props, otherwise those props will be undefined.
In useReducer, initialState is just undefined in that way. and when try to use state.count, there will be an Uncaught TypeError: Cannot read property 'count' of undefined.

Nice catch. Thanks for the PR 💯.


Ember 1.13

In 1.13 template triggers a deprecation warning. For checking if it's a block, hasBlock can be used.
However, it looks like the check is not necessary anyway, since bs-datetimepicker component doesn't support blocks anyway, so this should be removed:
{{#if template}}
  {{yield}}
{{else}}

Fixed by #39

I believe that the deprecations aren't gone yet:
DEPRECATION: Using `{{view}}` or any path based on it ('workwise-client/templates/components/bs-datetimepicker.hbs' @ L4:C2) has been deprecated. [deprecation id: view.keyword.view]
See http://emberjs.com/deprecations/v1.x#toc_view-and-controller-template-keywords for more details.

It comes from the {{view in the component's tempate.

That requires a bigger refactor from view to use a component.
It would be nice if we could get that in 0.5.0.

I would like this addon to be free of deprecation warnings. I will start working on this on a separate branch.

Can we reopen this?


This is a 2022 rebase of #3038 with many comments on that PR addressed.
This is still a WIP
Overview
This PR introduces the long-awaited first iteration of the per-doc-access-control feature (_access) for short.
The goal of this feature is to make the db-per-user pattern obsolete and allow mutually untrusting users access to the same database.
To recap, the downsides of the db-per-user pattern are:

additional management is needed to create, secure and remove database(s) corresponding to a user’s lifecycle. the peruser add-on helps with this, but it is not always sufficient.
in order to support the very common requirement of running a query across all per-user databases, all those databases need to be replicating into a central database (or other target). This adds significant CPU and IOPS resource usage to a CouchDB.
in large installations, most per-user databases will be very small (<100kb) leading to an unfavourable file-descriptor to data-accessed ratio.
additional tuning is needed to make compaction behave safely in this scenario.
there’s probably more…

An _access-enabled database has these properties.

each user can only read and write their own documents
each user gets _changes and _all_docs responses scoped to only their own documents
admins can still access all documents, and create views across all documents for analysis

In future iterations, the _access feature could allow documents to be owned by multiple users, and groups, plus differentiation of readonly and rewrite permissions for each, and per-user-views, but that’s TBD for the scope of this initial PR, however provisions have been made to make this possible.
Implementation Notes
The fundamental addition to the CouchDB API is threefold.
First, a database can be access-enabled at creation time. It is not possible to make an existing database access-capable. You can create a an access-enabled database with PUT /db?access=true (final option name to be bikeshet).
Second, the introduction of a new top-level document property _access: ["username"]. The current implementation requires non-admins to write docs that have this property. Docs without it are rejected (unless an admin writes them). The username in the first array element MUST match the user_ctx of any document CRUD request.
Third, for access-enabled databases, both _changes and _all_docs now include a switch:

admin users go straight to the existing by-seq and by-id indexes, just as before.
non-admin users are directed to a new internal view that includes two sections, one corresponding to by-seq and one to by-id, but with the username from the _access property as a prefix. These indexes then are queried with the user property from the request’s user_ctx as hardcoded startkey/endkey.

This new internal view is implemented by way of a new query server that is somewhat modelled after the mango query server (reusing couch_index/couch_mrview as much as possible).
The consequence here is that a non-access-enabled databases should behave no different than before in all aspects API and operational.
Each user also now gets a new internal role _user automatically appended to their list of roles to simplify access control setup. If a databases has this role in its _security object, it means: each authenticated user can access the database.
The replicator has been expanded to create replication checkpoints with an _access property as well. External replication clients like PouchDB will have to be updated accordingly.
I tried to make the PR easy to follow with logical commits to each section of CouchDB + some cleanup at the end. I suggest once satisfactory, this should be squashed into a single commit with an updated version of this PR text as the commit message.
The access feature can be globally disabled by server config.
This feature should work well with partitioned databases (in fact the combination should be a great benefit), but this has not yet been verified.
Implementation State
This PR comes with extensive tests covering all desired behaviour and it works and passes all tests.
There are a few cosmetic things to be discussed (all are already comments to this PR).
There is a performance regression in this PR that still has to be investigated, but it might be addressed by changing the current PR-behaviour in one detail. See this comment for more details about handling conflicted docs.
Future Work
Depending on how hard it is to do this correctly, we may or may not include expanding the _access property. It is designed to hold a list of users and groups that have access to a document. We will have to think through the consequences a bit more, but it might be that the only two things that are needed are:

expand the access query server to index the whole _access property and add a row for the doc for each entry
expand the doc CRUD validation to look at all entries in the whole _access property.

But if this proves to complicated, I’m okay with merging this PR with out multi-user and group support.
We might also want to add readonly and readwrite tags to _access entries for even more fine-grained access control.
This PR does not yet include “users can create views on their share of the database”, but I’d like to add this feature eventually.

There is a corresponding RFC that still needs updating and has comments that have not been addressed yet. My goal is to produce and up-to-date RFC by the time this PR is ready to merge.
Next Steps

I’d like a wieder review of this to see if there are any obvious places that need addressing.
I’d like to nail down the remaining design question about conflicted docs.
I’d like to find the performance regression.

Original comment

This is great, gratz!
One question: it’s not clear to me how /_security response will look for buckets having access restrictions, is there a special field for those restrictions? I mean I want to explicitly mark buckets of the kind in Photon, so how can I detect _access restricted buckets reading /_security endpoint?
RFC states admins can grant individual users and groups access to a database using the database’s _security object, no details.

https://github.com/apache/couchdb/pull/3038#issuecomment-665578748

From the PR description:

Each user also now gets a new internal role _user automatically appended to their list of roles to simplify access control setup. If a databases has this role in its _security object, it means: each authenticated user can access the database.

This needs rethinking/clarifying: We still would want to allow two databases to have a non-overlapping set of users (as per _users) to access one but not the other database

superseded by https://github.com/apache/couchdb/pull/4673 — will port remaining relevant comments over


UnicodeDecodeError while parsing

Hi,
I'm using creosote 2.2.0 and while parsing I get a following error:

Traceback (most recent call last):
File "C:\Users\8008701\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\8008701\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\8008701\PycharmProjects\onesource_idt-intl-tools\venv_test\Scripts\creosote.exe_main.py", line 7, in
File "C:\Users\8008701\PycharmProjects\onesource_idt-intl-tools\venv_test\lib\site-packages\creosote\cli.py", line 77, in main
imports = parsers.get_modules_from_code(args.paths)
File "C:\Users\8008701\PycharmProjects\onesource_idt-intl-tools\venv_test\lib\site-packages\creosote\parsers.py", line 163, in get_modules_from_code
for imp in get_module_info_from_code(resolved_path):
File "C:\Users\8008701\PycharmProjects\onesource_idt-intl-tools\venv_test\lib\site-packages\creosote\parsers.py", line 137, in get_module_info_from_code
root = ast.parse(fh.read(), path)
File "C:\Users\8008701\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 3560: character maps to

All files are in UTF-8

Hi @joszko and thanks for reporting!
Hm, this was a weird one 😅. Let me dig a bit. I'm not sure how to reproduce this one.

@fredrikaverpil you might need to add encoding='utf-8' to all your open calls.
Alternatively, @joszko try setting the envvar PYTHONUTF8=1 and see if that fixes anything.

@BrianPugh adding envar fixed it, all files were parsed. Thanks!

cool! so adding encoding='utf-8' to all open calls should probably solve this.

Oh man, I don't think I've seen encoding issues since the python 2.7 days... how come this happens, do you know @BrianPugh ?
I've opened #136 but I'm a little worried this might cause issues on some systems.

@joszko if you can confirm that this works too on your end, that would be great 😄
# install in-development version from PR #136
pipx install --suffix=@136 --force git+https://github.com/fredrikaverpil/creosote.git@refs/pull/129/head

# run creosote in-development version
creosote@136 -v .venv ... --verbose

# uninstall in-development version
pipx uninstall creosote@136

All I know about encoding is from this recent mcoding video (jump to minute 5) 😄 :
https://www.youtube.com/watch?v=EimoZHDcQMA

@joszko when I'm reading about open, this caught my eye:

if encoding is not specified the encoding used is platform-dependent: locale.getencoding()

What do you get if you run this?
import locale
print(locale.genencoding())

@fredrikaverpil
Just one click further could have given you the answer :) https://docs.python.org/3/library/locale.html#locale.getencoding
On Linux and MacOS, open will almost always default to UTF-8, unless specifically set by your distro or user to something else. On Windows the default is something like cp1252, cp932, etc. @joszko clearly seems to be on Windows.
There is an open PEP that will set the default to UTF-8 across the board but will not be implemented earlier than Python 3.15
https://peps.python.org/pep-0686/#:~:text=The default encoding of Python,use UTF-8 by default.


Add platforms.Only test

This adds a test for platforms.Only (previously untested, as far as I can tell).
(This is the hopefully less-controversial part of #4528? :sweat_smile: :heart:)

(Test failures are unrelated.)


Previous versions of Amy

Would you still have a copy of previous versions of Amy?
I have the version 0.8.7. I can compile it (for Linux), but it crashes before the end of the game. I am trying to find the bug.
Viele Grüße.
Roland

Hi Roland,
I don‘t really keep previous versions of Amy, but you could check out previous commits. Maybe you can also build with debug information and find the reasons for the crashes?
Best,
-Thorsten

Hello Thorsten. Thank you for your answers. Checking out previous versions, yes, this is what I did finally. (I gave up the old 0.8.7 source code, because I thought there is enough to do with the code from this repository.)
I compiled different commits and tested them with cutechess-cli. We can see a nice progression.
Rank Name                 Elo    +    - games score oppo. draws
   1 CT800 1.42           348  215  171    12   83%    66   17%
   2 Amy 349504b          320   83   74    80   86%     3   19%
   3 Amy a3b5d5b          299   83   75    72   83%    13   21%
   4 Small Potato 0.7.0   109  152  143    16   59%    45    6%
   5 Gully 2.16           108  184  185    10   50%   109    0%
   6 Little Wing 0.5.0     26  108  107    32   52%    16    9%
   7 Claudia 0.5.1         15  171  190    10   35%   128   10%
   8 Amy ac967e6          -28   65   67    86   40%    55   13%
   9 Amy 7b88a55          -47   74   76    68   38%    47   15%
  10 Amy 7458643          -62   68   70    86   37%    61    6%
  11 Little Wing 0.3.0    -62  144  158    16   34%    66    6%
  12 Amy 38249f9          -89   74   77    68   33%    54   13%
  13 Needle 0.53.1       -220  150  173    16   25%     7   13%
  14 Stash 10.0          -356  245  508     8    0%   133    0%
  15 Stash 8.0           -363  164  232    16    9%    25    6%

I also extracted the version number of all commits. But, since there are no tags, I don't know which commit can be considered as the official 0.n.n version.
2021-03-16 ./a3b5d5b/configure.ac ---> 0.9.3
2021-03-16 ./349504b/configure.ac ---> 0.9.3
2021-03-16 ./76f0f97/configure.ac ---> 0.9.3
2021-03-14 ./2d65e72/configure.ac ---> 0.9.3
2021-03-14 ./d7f8d5f/configure.ac ---> 0.9.3
2021-03-14 ./5ce11fa/configure.ac ---> 0.9.3
2021-03-14 ./31f256d/configure.in ---> 0.9.2
2021-03-14 ./926a139/configure.in ---> 0.9.2
2021-03-14 ./628ba8e/configure.in ---> 0.9.2
2021-03-14 ./61db5b4/configure.in ---> 0.9.2
2021-03-14 ./a9915d4/configure.in ---> 0.9.2
2021-03-06 ./f89f041/configure.in ---> 0.9.2
2021-03-06 ./312faa6/configure.in ---> 0.9.2
2021-03-04 ./62f2359/configure.in ---> 0.9.2
2021-03-02 ./f495aea/configure.in ---> 0.9.1
2021-03-02 ./4593409/configure.in ---> 0.9.1
2021-03-02 ./ac967e6/configure.in ---> 0.9.1
2016-12-22 ./7458643/configure.in ---> 0.9.1
2016-12-22 ./06212cb/configure.in ---> 0.9
2016-08-29 ./45c2971/configure.in ---> 0.9
2014-12-17 ./38249f9/configure.in ---> 0.9
2014-12-12 ./fe81208/configure.in ---> 0.9
2014-11-24 ./e32ca90/configure.in ---> 0.9
2014-11-24 ./82f359e/configure.in ---> 0.9
2014-11-14 ./491c56b/configure.in ---> 0.9
2014-09-21 ./22b35e4/configure.in ---> 0.9
2014-09-21 ./8e49751/configure.in ---> 0.9
2014-09-21 ./80e3214/configure.in ---> 0.9
2014-09-17 ./6aa04f3/configure.in ---> 0.9
2014-09-17 ./2d82a39/configure.in ---> 0.9
2014-09-16 ./7b88a55/configure.in ---> 0.8.7
2014-09-15 ./812234c/configure.in ---> 0.8.7

By the way, it is possible to add tags to old commits.
At least in the future, it would be good that you use tags (if I may suggest).
See you!
Roland


feat: [indexer][v25.x] added test cases, token liquidity to token_swapped event, clean-up and fly-by fixes

This is the same changes as PR8542 just that this PR applies to v25.x branch vs PR8542 applies to main branch
This PR contains the following changes.

It addresses the requirement that the attribute reserves has to be provided in Dexscreener endpoint, though not mandatory. reservers refer to the pooled amount of each asset after a swap event has occurred. In this commit, pool id in the token_swapped event is retrieved, use GetTotalLiquidity to obtain the pool token liquidity, and then the token liquidity data is stored inside the attribute map of the event. Tested in v25.x and to be tested in sdk v50. Thanks.

It adds test cases to pair functions

It adds test cases to AddTotalLiquidity & AdjustTokenInAmountBySpreadFactor functions in indexer_streaming_service.go

It removes unused struct and functions

Core code already running indexer staging and production. Main purposes of this branch is to add test cases to safeguard our work.

Nice work!
Left some comments but should be non-blocking the merge after addressed. I think that we should separate the fee decorator PR though for historical tracking since it affects core chain flows.
Just confirming - has this also been tested / dry run in the dev environment? If not, let's please do that since the changes are quite involved 🙏

Thanks Roman!
Recommendations well taken! And yes - the tests have been tested in dev.

Finally merging into v25.x !
Will apply the same recommendations in v26 main.


upgrade dependency of  github.com/emicklei/go-restful to fix CVE

<EMAIL_ADDRESS>https://avd.aquasec.com/nvd/2022/cve-2022-1996/

Many Thanks to @wonderflow
go mod why -m  github.com/emicklei/go-restful which introduced by k8s.io/code-generator which is part of kubebuilder .
Try to ```
go mod edit -replace github.com/emicklei/go-restful<EMAIL_ADDRESS>But it complains  `does not contain package`:

github.com/emicklei/go-restful/v3/log: module github.com/emicklei/go-restful@latest found (v2.9.5+incompatible, replaced by github.com/emicklei/go-restful/v3@v3.8.0), but does not contain package github.com/emicklei/go-restful/v3/log

@calvin0327  Can you help a bit ?

@wonderflow thanks

I tried your Pull Request  https://github.com/cloudtty/cloudtty/pull/68
it works well. good job and thank you both!

fixed in https://github.com/cloudtty/cloudtty/pull/68
will be in next  v0.2.1 release


report a bug with fix solution

envy@ub1404:~/os_pri/github/NTM-tensorflow$ python main.py --task copy --is_train True
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
{'checkpoint_dir': 'checkpoint',
'controller_layer_size': 1,
'epoch': 100000,
'input_dim': 10,
'is_train': True,
'max_length': 10,
'min_length': 1,
'output_dim': 10,
'read_head_size': 1,
'task': 'copy',
'test_max_length': 120,
'write_head_size': 1}
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX 950M
major: 5 minor: 0 memoryClockRate (GHz) 1.124
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.55GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I sue the diff like:
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
envy@ub1404:~/os_pri/github/NTM-tensorflow$ git diff
diff --git a/ntm.py b/ntm.py
index 595345d..18d512b 100644
--- a/ntm.py
+++ b/ntm.py
@@ -147,7 +147,7 @@ class NTM(object):
                 grads = []
                 for grad in tf.gradients(loss, self.params):

                   if grad:

                   if grad is not None:
                       grads.append(tf.clip_by_value(grad,
                                                     self.min_grad,
                                                     self.max_grad))

envy@ub1404:~/os_pri/github/NTM-tensorflow$ gi
otherwise it report:
I tensorflow/core/common_runtime/gpu/gpu_device.cc:755] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 950M, pci bus id: 0000:01:00.0)
[] Building a NTM model
Percent: [####################] 100.00% Finished.
[] Building a loss model for seq_length 1
Traceback (most recent call last):
File "main.py", line 48, in
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 30, in run
sys.exit(main(sys.argv))
File "main.py", line 27, in main
cell, ntm = copy_train(FLAGS, sess)
File "/home/envy/os_pri/github/NTM-tensorflow/tasks/copy.py", line 72, in copy_train
ntm = NTM(cell, sess, config.min_length, config.max_length)
File "/home/envy/os_pri/github/NTM-tensorflow/ntm.py", line 82, in init
self.build_model(forward_only)
File "/home/envy/os_pri/github/NTM-tensorflow/ntm.py", line 150, in build_model
if grad:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 475, in nonzero
raise TypeError("Using a tf.Tensor as a Python bool is not allowed. "
TypeError: Using a tf.Tensor as a Python bool is not allowed. Use if t is not None: instead of if t: to test if a tensor is defined, and use the logical TensorFlow ops to test the value of a tensor.
envy@ub1404:~/os_pri/github/NTM-tensorflow$

Same problem here, the if grad is not None fix works for me as well.

@fracting thanks. I fix the code.

Nice, thanks!


Missing mock dependency

StackInABox attempts to import mock, which is not installed as a dependency

Ensure fresh virtualenv
pip install stackinabox
Try an import stackinabox.util.requests_mock

A quick shell session:
$ rm -rf .venv-test/
$ virtualenv .venv-test
Using base prefix '/Users/paul7502/.pyenv/versions/3.5.4'
New python executable in /Users/paul7502/code/openapi3-tools/.venv-test/bin/python3.5
Also creating executable in /Users/paul7502/code/openapi3-tools/.venv-test/bin/python
Installing setuptools, pip, wheel.... .vedone.

$ . .venv-test/bin/activate
(.venv-test) $ pip install stackinabox
Collecting stackinabox
  Using cached stackinabox-0.12-py2.py3-none-any.whl
Collecting six (from stackinabox)
  Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: six, stackinabox
Successfully installed six-1.11.0 stackinabox-0.12

(.venv-test) $ python -c 'import stackinabox.util.requests_mock'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/paul7502/code/openapi3-tools/.venv-test/lib/python3.5/site-packages/stackinabox/util/requests_mock/__init__.py", line 3, in <module>
    from .core import *
  File "/Users/paul7502/code/openapi3-tools/.venv-test/lib/python3.5/site-packages/stackinabox/util/requests_mock/core.py", line 15, in <module>
    import mock
ImportError: No module named 'mock'

Digging into this we seem to have improperly imported mock - https://github.com/TestInABox/stackInABox/blob/master/stackinabox/util/requests_mock/core.py#L15

@pglass please check PR #66 to confirm the issue is resolved; also fixed a couple other things we talked about (optional dependencies).
Curious if you have any ideas on a good means of tox testing the optional dependency mechanism as I'd  like to integrate one if possible, just not sure how to do it here. Somehow I don't think ". [requests-mock]" would be valid (haven't tried it yet).