Linked List Matrix - POTD | 9 Oct 2024

Linked List Matrix
Link
Difficulty: Easy
Given a Matrix mat of n*n size. Your task is constructing a 2D linked list representation of the given matrix.
Input: mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Output:

Input: mat = [[23, 28], [23, 28]]
Output:

Expected Time Complexity: O(n2)
Expected Space Complexity: O(n2)
Constraints:

1 <= mat.size() <=15
1 <= mat[i][j] <=104

Solved
class Solution:
    def constructLinkedMatrix(self, mat):
        #your code goes here
        nodes = [[Node(x) for x in row] for row in mat]
        for i in range(len(mat)):
            for j in range(len(mat) - 1):
                nodes[i][j].right = nodes[i][j + 1]
                nodes[j][i].down = nodes[j + 1][i]
        return nodes[0][0]


grid-col with repeat.for seems to lose $item

Hi, using master branch.
This works:
<grid-col heading="name" field="name" class="col-md-6">${ $item.name }</grid-col>

But this...
<grid-col repeat.for="name of fields" heading="name" field="name" class="col-md-6">${ $item.name }</grid-col>

...doesn't. Debugging shows that $item is undefined when grid-col is used with repeat.for.

@aivins unfortunately due to the way the grid pulls column data, this is not possible (yet).
The plan is to move the column data into aurelia custom elements that are tracked using the @sync decorator which will enable this scenario


[bug]:

Is there an existing issue for this?

[X] I have searched the existing issues

OS
macOS
GPU
cpu
VRAM
4GB
What happened?
Hi, I did all the installation with no problem but when running the browser version I get this error: Any idea how to fix it? Thanks
ImportError: dlopen(/Users/winter/invokeai/.venv/lib/python3.10/site-packages/cv2/cv2.abi3.so, 2): Symbol not found: _VTRegisterSupplementalVideoDecoderIfAvailable
Referenced from: /Users/winter/invokeai/.venv/lib/python3.10/site-packages/cv2/.dylibs/libavcodec.59.37.100.dylib (which was built for Mac OS X 11.0)
Expected in: /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
in /Users/winter/invokeai/.venv/lib/python3.10/site-packages/cv2/.dylibs/libavcodec.59.37.100.dylib
Screenshots
No response
Additional context
No response
Contact Details
No response

I have MAC osx 10.15 catalina so that for sure can be the problem, but how do I fix it? I don't want to upgrade

I have the same problem. I assume the issue is that we don't meet the minimum requirements:
An NVIDIA-based graphics card with 4 GB or more VRAM memory.

try this: the macos system seems too old for the new opencv package
pip3 install opencv-python==<IP_ADDRESS>

Thanks @schspa. I already had that version of opencv-python installed.

try this: the macos system seems too old for the new opencv package pip3 install opencv-python==<IP_ADDRESS>

This works ok for me in MAC OSX 10.15.7 Catalina

This is how I solved it on Catalina 10.15.7 with Python 3.10
I had opencv <IP_ADDRESS> installed in /usr/local/lib/python3.10/site-packages/cv2/
And invokeAI was using version 4.7 located in /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/cv2/
So I removed that version and copied the folder to invokeAI location
$ rm -rf /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/cv2 $ cp -r /usr/local/lib/python3.10/site-packages/cv2 /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/
And Voilà, works like a charm
Of course replace "myUser" with your user folder

@cris-spreng you are a legend!
That works perfectly for me. Thank you!

This is how I solved it on Catalina 10.15.7 with Python 3.10
I had opencv <IP_ADDRESS> installed in /usr/local/lib/python3.10/site-packages/cv2/ And invokeAI was using version 4.7 located in /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/cv2/ So I removed that version and copied the folder to invokeAI location
$ rm -rf /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/cv2 $ cp -r /usr/local/lib/python3.10/site-packages/cv2 /Users/myUser/invokeai/.venv/lib/python3.10/site-packages/
And Voilà, works like a charm Of course replace "myUser" with your user folder

thank you, its workd!

@cxpreng thanks so much. I can't believe it. I spent two weeks trying to figure out. and took 3 days on your post ..... as a totally none-IT girl.
I did it. you rock!


Code Simplification Issues

I'd recommend using my phin module to vastly simplify your code. :)
Also, you MUST check out this dope tune. https://www.youtube.com/watch?v=PQ88q7HJW60 💯

cough This was (hopefully) clearly just a prank. ;)

But... what about the lit tunes? 🎵


Token permission check fails on legitimate release jobs in GitHub Actions workflows

A release job in a GitHub Actions workflow may require contents: write permission to push a release commit. Scorecard currently allows contents: write permission for "packaging" workflows, which allows pypa/gh-action-pypi-publish only for Python. In other words, Scorecard does not recognize other release Actions, such as relekang/python-semantic-release. This limitation results in false positives.
What is the best way to resolve this issue in the current version of Scorecard?
Ideally users should be able to add such GitHub Actions to an allow list in the configuration file.

Thanks for reporting this. Could you point us to an example repo where this is happening?

You're saying relekang/python-semantic-release is not recognized as a publishing workflow. Is that correct?

Thanks for reporting this. Could you point us to an example repo where this is happening?

Here is the repo and this is the branch where Scorecard is enabled and is reporting the contents: write permission in the release job as a violation.

You're saying relekang/python-semantic-release action is not recognized as a publishing workflow. Is that correct?

Yes, that's correct. In particular it is not considered as a trusted publishing workflow.

@di any objection to adding this action for python projects?

My thoughts are that this should probably be user-configurable as @behnazh-w suggested. I'm not sure we want to get in the business of determining which Actions are trusted or not (aside from the assumption that ecosystem-provided Actions like pypa/gh-action-pypi-publish should be trusted).

I don't think we have a notion of "trusted" actions today. I think it's more "actions we know of". I'm fine adding this action to the list of acton we look for. When we get to the point of having policies, we can give users more flexibility about what they want to filter our or not.
@azeemshaikh38 @naveensrinivasan thoughts?

The Packaging check is simply trying to determine whether a GitHub workflow is a packaging workflow or not (see here). So IIUC, we are not too concerned with whether we "trust" the action, but rather about classifying the action. So I'm ok to add relekang/python-semantic-release.

Looks like there is consensus we can add the new action to our list.
behnazh-w would you be interested in sending a PR?
The lines to update are in https://github.com/ossf/scorecard/blob/2b206dc3654ab96b88310625c5f0a1a3902723e7/checks/packaging.go#L95; and you can add a unit test in https://github.com/ossf/scorecard/blob/2b206dc3654ab96b88310625c5f0a1a3902723e7/checks/packaging_test.go
If you don't have the time, nw

Looks like there is consensus we can add the new action to our list.
behnazh-w would you be interested in sending a PR?

Sure, I'm happy to send the PR. As I have mentioned above I would prefer to control the list of such Actions via the configuration, but for now I can document that in a comment.


Object.assign() is not supported in IE

I am unable to use Ziggy in IE, due to the lack of support for Object.assign(). When I attempt to use route() I get this:

This can be solved with a polyfill, when necessary.
Object.assign() is used twice:

https://github.com/tightenco/ziggy/blob/master/src/js/route.js#L23
https://github.com/tightenco/ziggy/blob/master/src/js/route.js#L50

I would suggest setting up babel with babel-plugin-transform-object-assign.
No need to setup webpack though, a npm script would be enough that will utilise babel click.
This we can leverage ES6 syntax in source.

I am currently working on an ES6 translation and implementing babel. Once I do this I'll implement these polyfills.


Add a time variable in NetCDF output file

Together with the time variable we also want to include the lat and lon variables in the NetCDF output.
We want to do this as much ad possible following the cf-conventions.
We prefer have one dimensional lat/lon variables like the standard way:
see chapter 5.1: http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#coordinate-system
however chapter 5.2 is also possible but less used and also less supported by our analysis software packages.
What is your opinion about this?

Yes, we want to be able to include the x (lon) and y (lat) coordinates in the output file.  We do however, need to be able to support 1 and 2 dimensional coordinates.  So the answer I think is both.

the standard one dimensional way is:
double lon(lon) ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
lon:standard_name = "longitude" ;
double lat(lat) ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
lat:standard_name = "latitude" ;
the 2-dim ways is:
float xc(xc) ;
xc:axis = "X" ;
xc:long_name = "x-coordinate in Cartesian system" ;
xc:units = "m" ;
float yc(yc) ;
yc:axis = "Y" ;
yc:long_name = "y-coordinate in Cartesian system" ;
float lon(yc,xc) ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
float lat(yc,xc) ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
this means that if we want to follow the protocol we only can choice between one of the two options the same time (naming conflict). In order to solve this we have three options:

rename the lon and lat var names in something else
user can choose in vic param file (or somewhere else?) which one to use.
VIC detects if the grid is rectangular or not (in first case it outputs the 1D ways, else it write the 2D way)

An other thing (FYI): we need the lat lons of the full domain (no NANs because of the mask).
Thats why I includes the following lines in get_global_domain.c
// if MASTER_PROC
global_domain->locations_grid = (location_grid_struct *)
                           malloc(global_domain->n_ny * global_domain->n_nx *
                                  sizeof(location_grid_struct));
if (global_domain->locations_grid == NULL) {
    log_err("Memory allocation error in get_global_domain().");
}
for (i = 0; i < global_domain->n_ny * global_domain->n_nx; i++) {
    initialize_location_grid(&(global_domain->locations_grid[i]));
}

I think it is fine to have the user choose the type of grid they are using.
I'm not sure I'm following your last comment...?

Okay we let the user decide (any suggestion about there to add a flag (global config file/a header file?)?

in  get_global_domain.c VIC reads the lats and lons from the domain file (currently Stehekin_image_test.domain.nc). it stores only the lats and lons of the cells which are runned by vic (in this case 16 lat/lons). We need all lat/lons (x*y=20).
This is why I store all the lat/lons in an extra struct (location_grid_struct).

Global configuration file.  We want to add the following options (names were chosen off the top of my head and @bartnijssen may suggest something different):
# Domain file info
COORD_DIMS 2
X_VAR_NAME lon
Y_VAR_NAME lat
MASK_VAR_NAME mask
AREA_VAR_NAME area

perfect,
I will add the first (maybe also the rest) of the variables in de global config file.

@wietsefranssen : Why do you need the lat - lots for the whole domain (including the grid cells for which VIC is not run)? To define the output grid?

1: For the standard software we use to analyse VIC results we need all lat/lons of the gridcells.
2: In case you use 1D lat/lon variables (regulair grid) it is also needed to get the starting and ending positions of the lat/lons. In case many gridcells are masked out, this information is not always available.

can be closed (see #303).


[BUG] syntaxerror: Unexpected token 'F', Failed is not valid JSON

Describe the bug
Thank you so much for this very inspired resource!
I am encountering the following error with the flow below:

SyntaxError: Unexpected token 'F', "Failed to "... is not valid JSON
at JSON.parse ()
at parseJSONFromBytes (node:internal/deps/undici/undici:6613:19)
at successSteps (node:internal/deps/undici/undici:6587:27)
at node:internal/deps/undici/undici:1236:60
at node:internal/process/task_queues:140:7
at AsyncResource.runInAsyncScope (node:async_hooks:206:9)
at AsyncResource.runMicrotask (node:internal/process/task_queues:137:8)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
attemptNumber: 7,
retriesLeft: 0
}

To Reproduce
Steps to reproduce the behavior:

Copy Conversational Retrieval QA Chain flow from Marketplace
Replace Text File component with PDF File component
Replace OpenAI components with HuggingFace component
Enter API Keys
Save flow
Select PDF
Enter Prompt in Chat panel

Expected behavior
A clear and concise description of what you expected to happen.
Expected the flow to execute allowing inspection of PDF file entries.
Screenshots
If applicable, add screenshots to help explain your problem.

Flow
If applicable, add exported flow in order to help replicating the problem.
PDF-Explorer Chatflow.zip
Setup

Installation: npx flowise start
Flowise Version: 1.2.11
OS: macOS (Sonoma)
Browser: Arc/chrome

Additional context
Add any other context about the problem here.

hey @simsherpa do you face same problem when using ChatOpenAI and OpenAIEmbedding nodes?

Hi @HenryHengZJ, thanks for the follow-up. I'm exploring strictly open source LLMs -- so I do not have an OpenAI account and therefore have not tried those OpenAI components. Any other suggestions?

hey @simsherpa do you face same problem when using ChatOpenAI and OpenAIEmbedding nodes?

Hey, @HenryHengZJ, it was functioning properly when utilizing the ChatOpenAI and OpenAIEmbedding nodes. However, we are currently seeking an open-source language model like LLM-Falcon. Could you please investigate this matter?

I have this same problem in two different flows. Both uing ChatOpenAi. The common characteristic is that it is a LLM Chain feeding an OutPut prediction into an Prompt Template, and the LLM Chain outputs predictions that contains "
Seems like the " character is not being escaped, and thus it is breaking the json.

good news we have a PR addressing this issue - https://github.com/FlowiseAI/Flowise/pull/558

Update: The former PR got closed, now on #612


libaacs: 0.11.0 -> 0.11.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libaacs/versions.
meta.description for libaacs is: "Library to access AACS protected Blu-Ray disks"
meta.homepage for libaacs is: "https://www.videolan.org/developers/libaacs.html"
meta.changelog for libaacs is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1/bin/aacs_info had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.11.1 with grep in /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1
found 0.11.1 in filename of file in /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1

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

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
libaacs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1
ls -la /nix/store/5mydhq8r4g5fbmqxm6fnhk8dqz4jl4f7-libaacs-0.11.1/bin

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

1 package built:

libaacs

Maintainer pings
cc @abbradar for testing.

Changes LGTM https://code.videolan.org/videolan/libaacs/-/compare/0.11.0...0.11.1
2022-02-27: Version 0.11.1

Faster start with MacOS when disc does not use bus encryption.
Improve error logging.
Improve error resilience.


[QUESTION] Angle error computation?

Hello,
The following is the angle error calculation function in the code. Is this method of calculating angle error reasonable?
Three true (expected) Euler angles (true_theta1, true_theta2, true_theta3), are known, and three estimated Euler angles (estimated_theta1, estimated_theta2, estimated_theta3) can be computed through the estimated Rotation Matrix. Why is the total angle error not calculated by the error of three Euler angles? That is,
Angle_error = sqrt[(estimated_theta1-true_theta1)^2+(estimated_theta2-true_theta2)^2+(estimated_theta3-true_theta3)^2]
def get_angular_error(R_exp, R_est):
"""
Calculate angular error
"""
return abs(np.arccos(min(max(((np.matmul(R_exp.T, R_est)).trace() - 1) / 2, -1.0), 1.0)));

@adrian11655 Thank you for your interest. What you said, while is a rough estimate, is typically not used, because there are different definitions of Euler angles, and it is not clear which definition you are using. The angular error we are using follows directly from the definition of geodesic distance in SO(3). Geometrically, it is equivalent to the angle of rotation around some axis in 3D. See this paper for more info: https://www.cs.cmu.edu/~cga/dynopt/readings/Rmetric.pdf

Thank you very much.


Make sure chosen interface has address

Fixes #3336

Was this a real problem?  What interface was up but has no address?

Tests failed.
--- FAIL: TestTCPProxy (0.00s)
panic: runtime error: index out of range [recovered]
panic: runtime error: index out of range

Yeah, it's a problem on my local machine, eth0 is up but has no address.  See #3336
The 'index out of range' error is exactly what I'm trying to fix. Tests succeeded locally (failed without the fix).  I'll try to investigate more.

friendly ping!  This keeps failing on my machine...


Add "emergency telephone"

We have artwork for this symbol, but it hasn't been fully integrated into the library. It's the same symbol as the standard "telephone" symbol, but has a blue color applied to it (akin to the blue "H" for hospital).
Not sure if this should be added, as-is, to Builder, since its color is problematic when placed over a colored placemarker.

[ ] add to npmap-symbol-library.json file in the standalone symbol directory
[ ] run render.sh to create updated png and sprite files.

There are currently three other symbols in the symbol library that have a color other than black, white, or gray applied to them. This is okay for standalone symbols, but problematic in Builder, where symbols are placed over a range of colors. Our approach has varied according to the symbol:

Visitor Center: we maintained the green in this symbol by applying it to the "i" rather than the "building"
Hospital: we simply made the "H" black or white; in hindsight this is perhaps sub-optimal, particularly as we have since made a complete set of capital letters for use in Builder.
Waterfall: as with Hospital, we have black and white versions of this typically blue symbol. I'm interested in adopting HFC's waterfall symbol from their extended set, but that's a separate issue.

Back to Emergency Telephone: it is a preset in Places, and it would be good to have this fully integrated in the library. For use in Builder, I'm proposing a color-independent variant on the telephone:

12
18
24

Let me know what you think.

I like it!    ...!

Just to cover all the bases, is it okay to support the symbols above in Builder, and continue with the blue phone symbols for standalone applications?

16
24
32

It's definitely okay, although I'd lobby for making the standalone symbol the same. For the sake of getting these ready for the vector overlay though, the builder icon is all that matters in the immediate future.

okay, pushed these to the repo; we'll address the blue phone/exclamation point phone in a future release.


[4.x] Add PHPStan analysis to the build

PHPStan is a PHP Static Analysis Tool.
I've fixed the errors it can find up to level 2 (it has 7 levels of checks), but this PR is already big enough, so I will create another one later on.

Usualy

/** @var Uuid $uuid */ comment is necessary anywhere, where the result of Uuid::fromString() is treated like the instance of  Uuid. (::fromString() returns UuidInterface which lacks some of the methods available in Uuid)

PHPStan works by analyzing the types in the code and in the phpdocs and then it uses it to report potentially incorrect code. (It knows, that if the method accepts some type, you cannot pass other type there.) The analysis is possible by having proper types in the code (which also helps the PHPStorm and other IDEs).
If there is anything else I can explain, you can comment directly at the specific line of the diff.

After considering this some more, I've decided to accept it. Thanks for all your hard work!

:white_check_mark: SemVer Sentry Result
This PR will not change anything and can be merged freely without breaking backwards compatibility.
If you decide to create a release after merging this PR, you should know that the changes in this PR warrants at least a PATCH version release.
SemVer Sentry is in beta, take it's recommendations with a grain of salt and if in doubt, double check. If you want to get in touch with us, use the contact form on our homepage.
See here for more information on semantic versioning (semver).


What is this?

I'm intrigued.

Hahahaha just found this comment and I was like "Who's opening issues?"  I'm demo-ing how to customize your Jupyter notebook with a serverextension (same style package underlies JupyterLab and nbgrader).  I'm hoping to get it picked up as a talk at JupyterCon in New York this August :)

The install instructions don't work yet, but they will soon...

Sick, we'll hang.


Working example with NextJS

Do you have an example for a site that supports SSR?  I am using NextJS and I am not able to limit importing the vendor/GoogleAnalytics.js class to only client side rendering.  How do I replace the GoogleAnalyticsStub below to get this working?
metrics.config.js
// @FIXME: Replace stub with functioning GA class.
const GoogleAnalytics = function GoogleAnalyticsStub(config) {
  return console.log("Stub Google Analytics API", config)
}

const MetricsConfig = {
  vendors: [{
    name: 'Google Analytics',
    api: new GoogleAnalytics({
      trackingId: 'UA-######-1'
    })
  }],
  pageViewEvent: 'pageLoad',
  pageDefaults: () => {
    return {
      siteName: 'Site'
    }
  }
}

export default MetricsConfig

Layout.js
import { metrics } from 'react-metrics'
import MetricsConfig from './metrics.config.js'
const Layout = ({ children }) => (
  <main>
    {children}
  </main>
)

export default metrics(MetricsConfig)(Layout)

package.json
  "dependencies": {
    "above-the-fold-only-server-render": "^1.0.3",
    "analytics.js": "^2.9.1",
    "config": "^1.25.1",
    "express": "^4.15.2",
    "js-yaml": "^3.8.3",
    "mkdirp": "^0.5.1",
    "next": "^2.0.1",
    "next-routes": "^1.0.24",
    "react": "^15.4.2",
    "react-apollo": "^1.0.0",
    "react-dom": "^15.4.2",
    "react-gpt": "^0.2.4",
    "react-metrics": "^2.3.0",
    "react-no-ssr": "^1.1.0"
  },
  "devDependencies": {
    "babel-plugin-module-resolver": "^2.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "babel-register": "^6.24.1",
    "chai": "^3.5.0",
    "enzyme": "^2.8.2",
    "ignore-styles": "^5.0.1",
    "jsdom": "^9.12.0",
    "lighthouse": "^1.6.3",
    "mocha": "^3.2.0",
    "nightwatch": "^0.9.14",
    "phantomjs-prebuilt": "^2.1.14",
    "react-addons-test-utils": "^15.5.1",
    "selenium-server": "^3.3.1",
    "sinon": "^2.1.0",
    "standard": "^10.0.1"
  },

@jdwinall-tm Importing the library on the server side shouldn't cause an issue, as long as you make sure it's not firing any events on the server side.
I think this might solve your issue: https://github.com/nfl/react-metrics#override-default-page-view-tracking specifically this chunk of code:
    componentDidMount() {
        const {value1, value2} = this.props;
        this.context.metrics.pageView({value1, value2});
    }

Placing the logic in componentDidMount will force react to run it on the client side instead of the server side. Let me know if you need any more info!

@jamsea Is there a way to implement this on a component that is not a "route handling" component?

@jamsea I updated the issue description to include my GoogleAnalytics.js file.  Adding the following lines addressed my client errors on the server issue.
let analytics
if (process.browser) {
  analytics = require('analytics.js') // eslint-disable-line global-require
}

My only remaining issue is related to sending updated paths when navigating between links with NextJS.  The page title updates but the path stays the same (whatever the entry point to the application was).


fix: improve logging & safety of statefulSetReady

What this PR does / why we need it:
This isn't necessarily a fix, but the additional logging may help us in
determining what the underlying issue is and it seems sensible to
confirm that the current and updated revision numbers also match as part
of the readiness check.
Contributes-to: #10163

@mattfarina / @bacongobbler any thoughts on this? It appears to have solved the issue for the OP and also ourselves

FY II closed and re-opened this as #10622 in January to try and get the PR at the top of the incoming queue, but still haven't had a review sadly


Class Drupal\Core\Field\FieldItemList implements generic interface Drupal\Core\Field\FieldItemListInterface but does not specify its types: T

We just updated to phpstan-drupal : 1.1.28. We are running into below set of errors:
`------ -----------------------------------------------------------------------------------------------------------------
[2023-02-02T11:09:24.380Z]   Line   ../../../vendor/mglaman/phpstan-drupal/src/Drupal/../../stubs/Drupal/Core/Field/FieldItemList.stub
[2023-02-02T11:09:24.380Z]  ------ -----------------------------------------------------------------------------------------------------------------
[2023-02-02T11:09:24.380Z]   7      Class Drupal\Core\Field\FieldItemList extends unknown class Drupal\Core\TypedData\Plugin\DataType\ItemList.
[2023-02-02T11:09:24.380Z]   7      Class Drupal\Core\Field\FieldItemList implements generic interface Drupal\Core\Field\FieldItemListInterface but
[2023-02-02T11:09:24.380Z]          does not specify its types: T
[2023-02-02T11:09:24.380Z]   12     Method Drupal\Core\Field\FieldItemList::createItem() has parameter $offset with no type specified.
[2023-02-02T11:09:24.380Z]   12     Method Drupal\Core\Field\FieldItemList::createItem() has parameter $value with no type specified.
[2023-02-02T11:09:24.380Z]  ------ ----------------------------------------------------------------------------------------------------------------- `

Same in Graphql module when I try to test on PHP 8.2 https://github.com/drupal-graphql/graphql/actions/runs/4076491036/jobs/7024295853
Workaround: remove the stub class:
if [[ ${{ matrix.phpstan }} == "1" ]]; then rm vendor/mglaman/phpstan-drupal/stubs/Drupal/Core/Field/FieldItemList.stub && cd modules/graphql && ../../vendor/bin/phpstan analyse; fi

I Have same errors. As I see, it's related to this PR https://github.com/mglaman/phpstan-drupal/pull/505/files
For now, I've downgraded to 1.1.27 and these errors are gone.

Merged PR fixing the stub files, and now we have a test to validate them to prevent this from happening again. I'll be tagging a new release with this fix shortly.


Bug Fix: command !hny metrics now displays accurate information

paired with: @Boring877
Description:
Updated the !hny metrics bot command so it now returns accurate metrics.
Changes:

src/handlers/getMetrics.js: changed query to search values by dates and updated code.
src/embed.js: updated embed so it now shows volume and fees for the current day and the day before instead of the last 24 hours.

Change preview:

Before:

After the change (run locally):

LGTM!


Thoughts on data storage size

I've been using Spectator Sport on one website. These are the numbers:
> SpectatorSport::Session.count
=> 20308
> SpectatorSport::SessionWindow.count
=> 44050
> SpectatorSport::Event.count
=> 5662868

Which looks like this in the database:
Relation Size
spectator_sport_events 14.2GB
index_spectator_sport_events_on_session_id_and_created_at UNUSED 265MB
spectator_sport_events_pkey 121MB
index_spectator_sport_events_on_session_id 53.9MB
index_spectator_sport_events_on_session_window_id 52.3MB
spectator_sport_session_windows 5.26MB
spectator_sport_sessions 2.2MB
index_spectator_sport_sessions_on_secure_id_and_created_at 2MB
spectator_sport_session_windows_pkey 984KB
index_spectator_sport_session_windows_on_session_id 776KB
spectator_sport_sessions_pkey 464KB

Hi @bensheldon !
What an incredible library. Thanks for bringing it over to the Rails world.
FWIW: I'm handling this over in my application by conditionally dialing back the amount of event information being reported. There are a lot of options here, but for starters:
# events_controller.rb
def index
  @config_object = if current_user.watch_like_a_hawk?
    {}
  else
    {
      blockSelector: "html *",
      sampling: {
        mousemove: false,
        mouseInteraction: false,
        scroll: 10000,
        media: 10000,
        input: false
      }
    }
  end
end

And then in my index.js.erb:
if (!this.stopRrwebCallback) {
  const functionObj = {
    emit: this.events.add.bind(this.events)
  }
  const configObj = <%= @config_object.to_json.html_safe %>;
  const combinedObj = {
    ...functionObj,
    ...configObj,
  };
  this.stopRrwebCallback = rrwebRecord(combinedObj);
}

And the typical event_data payload goes down to:
{"data": {"x": 0, "y": 0, "id": 1, "source": 3}, "type": 3, "timestamp":<PHONE_NUMBER>322}

Which, if you conditionally increase POST_INTERVAL_SECONDS as well really cuts down on the data storage size.


Can't install via pip

This fails:
$ pip install git+https://github.com/capitalone/cloud-custodian.git

Although your package is not on PyPI, we should be able to install it via pip.

there was already an unrelated custodian package on so we're using a different package name, per our install instructions,
$ pip install c7n

If you want to install it straight from git, this should do it.
$ pip install  git+https://github.com/capitalone/cloud-custodian.git#egg=c7n

@kapilt Thank you!

also updated readme with pip install instructions, cheers.


The date is not saved if I immediately click on another form input component.

I am using two components one for start and one for end date.
When selecting the start date and immediately click on the end date select, the selected date from start date is not saved in the input.
It only saves the date if I click on the page.
Is this a bug????
`< datepicker :typeable="dateTypeable" :format="customDateFormat" input-class="form-control" >< /datepicker>
dateTypeable: true
customDateFormat(date) {
return moment(date).format('DD.MM.YYYY');
}
`

I am facing the same issue !

Any update ? :)


response.json()

I think that response.json() should works with a empty string returning a null

No, sorry! Blank response is not valid JSON. This is how native implementation in Chrome also handles it: by raising a SyntaxError. And the spec says:

JSON
Return the result of invoking the initial value of the parse property of the JSON object with the result of running utf-8 decode on bytes as argument. Rethrow any exceptions.

Basically, it says that the implementation should invoke JSON.parse(response_body) and re-raise any exceptions. That's what we do right now.


Update contract verification docs

:clipboard: Add associated issues, tickets, docs URL here.
Overview
Describe what your Pull Request is about in a few sentences.
Update the contract verification docs.
Changes
Describe your changes and implementation choices. More details make PRs easier to review.

Add docs of using the hardhat-etherscan plug to verify contracts

Testing
Describe how to test your new feature/bug fix and if possible, a step by step guide on how to demo this.

Look great!


net_device : No device connected when starting pipeline

Required Info

Camera Model
D435I

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 20.04.2 LTS

Kernel Version (Linux Only)
5.8.0-59-generic

Platform
PC

SDK Version
2.48.0

Language
C++

Segment
others

Issue Description
Following this tutorial, I created a simple program to get frames from another PC.
I compiled librealsenses from master (2.48.0) with the flags -DBUILD_NETWORK_DEVICE=ON
-DFORCE_RSUSB_BACKEND=ON on two pc.
I start rs-server on one of the pc.
The realsense-viewer is able to connect and display the image from the other pc.
The program works when run on the same pc as rs-server.
But when the program is run on the other pc, it is only able to retrieve metadata about the camera (serial number, name...).
I get the following error message when calling start on the pipeline :
terminate called after throwing an instance of 'rs2::error'
  what():  No device connected

The two pc were at first just part of the same wifi, but connecting them using an ethernet cable did not change the behavior.
What could be the cause of the problem ?
Here is the program
#include <librealsense2/rs.hpp>
#include <librealsense2-net/rs_net.hpp>
#include <librealsense2/h/rs_pipeline.h>
#include <iostream>

using namespace std;

int main()
{
	rs2::net_device dev("ip");
	rs2::context ctx;
	dev.add_to(ctx);

	/* Metadata from context */
	auto g = ctx.query_devices();
	string serial_number;

	for (auto t : g)
	{
		auto name = rs2_camera_info::RS2_CAMERA_INFO_NAME;
		auto info = t.get_info(name);
		auto info_descriptor = rs2_camera_info_to_string(name);

		cout << info_descriptor << " : " << info << endl;

		name = rs2_camera_info::RS2_CAMERA_INFO_SERIAL_NUMBER;
		info = t.get_info(name);
		info_descriptor = rs2_camera_info_to_string(name);

		cout << info_descriptor << " : " << info << endl;

		serial_number= info;
	}

	/* Starting pipeline */
	rs2::pipeline p(ctx);

	rs2::config cfg;
	cfg.enable_device(serial_number);
	cfg.enable_stream(RS2_STREAM_COLOR, 0);

	p.start(cfg);

	while(true) {
		p.wait_for_frames();
	}
}

Hi @Lblenner  There is a past rs-server C++ case in the link below that also had problems with starting the pipeline when a cfg custom configuration was used (the script worked when 'cfg' was removed from the brackets of the pipe start instruction).  The problem in that case was found to be with the cfg definition for the color stream.
https://github.com/IntelRealSense/librealsense/issues/8423
The cfg instruction below worked for the RealSense user in that particular case:
cfg.enable_stream(RS2_STREAM_COLOR, 640, 480, RS2_FORMAT_RGB8 , 30);
https://github.com/IntelRealSense/librealsense/issues/8423#issuecomment-795557815

I did not find this issue while searching for solutions.
Using this format for the configurations solved the issue.
Thanks.

Excellent news @Lblenner that the suggested solution worked for you - thanks for the update!


C interface for the rust core

I am exploring feasibility to use your library on an embedded arm platform (aarch64).
-Cross compile the rust core with the correct toolchain
-Use the C interface to invoke the core APIs
Could you please let me know if this is possible at all?

I don't have a lot of knowledge about embedded platforms, but aarch64 is listed as a rustc supported platform.
You can use this page for info on how to set the toolchain.
We do provide a C interface via the opendp-ffi crate. I'm curious how much space you have on the embedded device. It might make sense to add some feature flags to the ffi crate to cut down the binary size.

Hello, Thanks for the info. Is there any example on how to use the opendp-ffi?

I don't have a lot of knowledge about embedded platforms, but aarch64 is listed as a rustc supported platform.
You can use this page for info on how to set the toolchain.

Cross compilation is failing with below error:
error: failed to run custom build command for gmp-mpfr-sys v1.2.4
Caused by:
process didn't exit successfully: /home/sgw/opendp/opendp/rust/target/release/build/gmp-mpfr-sys-08e966bab8b9263e/build-script-build (exit status: 101)
--- stdout
cargo:warning=Cross compilation not supported! Use the force-cross feature to cross compile anyway. (This warning will become an error in version 1.3.)
cargo:rerun-if-env-changed=GMP_MPFR_SYS_CACHE

Try adding the --no-default-features flag to help you get things bootstrapped. This drops the gmp/mpfr dependency, and along with it the continuous distribution mechanisms. The geometric mechanism should remain accessible.
What kinds of mechanisms are you wanting to use? For example, I have a randomized response algorithm in a PR that you might be useful for embedded systems.
There are a couple different routes you could take with ffi:
The more general approach is the FFI crate, which does dispatch and monomorphization over a collection of relevant types for each generic argument, as well as type erasure on many of the inputs and outputs. This is really useful for general purpose bindings like in python, but may (or may not) be too heavy for your embedded is case. The python bindings are relevant as they use the FFI crate. I could talk more about the core api.
If you only have a few specific data types and computation chains you need to work with, then you could write a thin ffi crate that exposes just the functionality you need. I think we should have an example crate that demonstrates how this would be done anyways. I'll open a PR with this tomorrow.

I had to take out openssl as well as that was causing issues with finding "limits.h".
Now I have libopendp_ffi.so loading on my target chip (ARM64 based). I tried that by linking the library to a simple C program but I am not sure if any of the functionalities are available through C like APIs.
I could run python on  my platform as well. Is there any example I can try with python and libopendp_ffi?

Here is an example of the python bindings (which uses the FFI crate).
When it comes to using the FFI crate directly from C, I'll point you to a few links to demonstrate usage of the Laplace mechanism.
Any function that starts with extern "C" should be callable on libopendp_ffi.so. This is the function for creating a laplace measurement..
You can call it from C by passing a void pointer to a 32-bit or 64-bit scale float, and a c_char pointer like "AllDomain" (for a 64-bit laplace mechanism on scalars) or "VectorDomain<AllDomain>" (for a 32-bit laplace mechanism on vectors).
You'll notice that constructor returns an FfiResult. We've configured FfiResult to have a C representation. You can see the layout of this C data structure based on how we interpret it in python here.. Once you unwrap this in C you've got a pointer to a measurement.
At this point there are quite a few useful extern functions in /rust/opendp-ffi/src/core/mod.rs.
Free errors
Evaluate the privacy relation
Invoke measurement
Free measurement
Etc.
You'll notice that you need to pass an AnyObject when invoking the measurement, and you get an AnyObject back.
You can load data up into an AnyObject with this.
You can unload data from an AnyObject with this.
Notice that these translate between an FfiSlice and and AnyObject.
In summary, the steps to invoke the function of a laplace measurement over vectors:

Create an FfiSlice, where you pack your array behind the pointer and include the length of the array.
Call out to opendp_data_slice_as_object to convert the FfiSlice into an AnyObject.
Invoke the measurement by passing the measurement pointer and AnyObject pointer into opendp_core__measurement_invoke.
Unpack the AnyObject into an FfiSlice via opendp_data__object_as_slice.

About approach 2, here's an example crate for wiring your own ffi up directly, on your own:
https://github.com/opendp/opendp/commit/8561d7e57e960eb72fffa9f24e2dbe54bb6084bb

Hi , Thanks for the suggestions. I was able to load libopendp.so and run the inbuilt rust tests on my platform. So I think first approach should be OK for the evaluation on my arm platform in terms of memory and performance.
I am trying to run libopendp_ffi.so now. Can you put together a simple C example on how to use the APIs? A real world use case would be good. Something like  The farmer/rabbit example from google DP library? Not sure if that's possible with opendp core

I wasn't familiar with the farmer example from Google's DP library but here it is (and it's pretty fun!): https://github.com/google/differential-privacy/blob/main/examples/cc/README.md

There are around 200 animals at Farmer Fred's zoo. Every day, Farmer Fred feeds
the animals as many carrots as they desire. The animals record how many carrots
they have eaten per day. For this particular day, the number of carrots eaten
can be seen in animals_and_carrots.csv.
At the end of each day, Farmer Fred often asks aggregate question about how many
carrots everyone ate. For example, he wants to know how many carrots are eaten
each day, so he knows how many to order the next day. The animals are fearful
that Fred will use the data against their best interest. For example, Fred could
get rid of the animals who eat the most carrots!
To protect themselves, the animals decide to use the C++ Differential Privacy
library to aggregate their data before reporting it to Fred. This way, the
animals can control the risk that Fred will identify individuals' data while
maintaining an adequate level of accuracy so that Fred can continue to run the
zoo effectively.

yes thats the one :-)

2/29/24 - keep open to revisit in the future

Note: this functionality exists but not documented; e.g. extending Rust into C or vice versa


supporting: Update Newtonsoft.Json to 11.0.2, Newtonsoft.Json.Schema to 3.0.10

Update supporting\validator\bin\Newtonsoft.Json to 11.0.2

HIGHLIGHT: support for regex operator in JSON Paths
Latest Newtonsoft.Json version is 12.0.1, which has some compatibility issues with Json.Schema 3.0.10 and PowerShell Core 6.1.12 (On my PC)

Update supporting\validator\bin\Newtonsoft.Json.Schema to 3.0.10
Use .NET 4.5 instead of .NET 4.0, since Scoop's requirements is .NET Framework 4.5+
Modify json_path() to escape $version substitutions when $jsonpath has regex

EXAMPLE OF JPATH REGEX
"checkver": {
    "url": "https://dist.nuget.org/index.json",
    "jp"<EMAIL_ADDRESS>=~ /.*recommended.*/)].version"
}

BTW, should supporting\shimexe\shim.csproj and supporting\validator\validator.csproj be deleted? build.ps1 is enough...

@r15ch13 Should this be merged or be closed and wait for your updating? Current ones are outdated for two years…


fix add and config ssh key into user home dir

The problem is that the user directory of the solvers image is not the same as where the ssh key was added and configured to install dependencies from private repositories.
Now we have to use as reference in airflow Dockerfile the ${HOME}/.ssh directory and not $AIRFLOW_HOME/.ssh directory

This PR can be closed without merge because solution is not valid.


i found the folder in which i hav to put the files in but i cant move any file in it says access denied, btw m using windows wsl version of ubuntu if thats the case

This issue is not related to Clipface. I don't use Windows or WSL, so I'm unable to help you with this in any case. I can recommend Superuser for general Windows and Linux support.


Query not bootstrapped when using named arguments

Executing queries using named parameters consistently throws "Query Not Bootstrapped" exceptions, see below snippet.
CancellationTokenSource cts = new();

var result = await gClient.Query(cancellationToken: cts.Token, query: static q => q.Fruits(static f => new { f.Fruit_name }));

I've also attached a reproduction below.
ZeroQLtest.zip

Checkout 3.3.4-preview.1 It should work fine.

Yep, I can confirm that with the preview version the issue has gone.
Thanks for the quick turnaround


Text Overlap on Users > Permissions page

The table headers for Access and Delete overlap, regardless of the size of the viewport.

This has been fixed on master and will be deployed within the week. Thank you!


Change enum SettingFields to ExpandableStringEnum

In order to be able to expand enums dynamically,

What is the use case for requiring this?

We enable it so service team to be able to add enum when they have new enums. We can talk about it more with Alan.


Fix click handling for AnkiMobile

AnkiMobile moves to the card's back when an element is clicked unless the element has an onclick listener or the tappable class.
Adds the tappable class to Match Pairs horizontal words and Click Word words.

Sorry, didn't realize that the code here wasn't up to date.


[CSL-223] Servant API stub for wallet

@gromak
We need to add servant API for wallet which will be implemented under CSL-214.
It should contain endpoints that provide basic cryptocurrency use cases — sending txs, picking scripts (WILL NOT BE COMPLETE UNTIL ARTYOM IS DONE WITH PLUTUS INTEGRATION).

@gromak
Currently we have this very simple API which does something very stupid:
type WalletApi =
    "addresses" :> Get '[JSON] [Address]
  :<|>
    "send" :> Capture "from" Word :> Capture "to" Address :> Capture "amount" Coin :> Post '[JSON] ()

One can launch it:
gromak ~  % curl -i -X POST -H 'Content-Type: application/json' -d '' localhost:8090/send/5/++m1E81EcTMBW8FjzDcXPQg3qHMbxTKGuYCkPaR2n0s=/5                                                                                0 :)
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Thu, 01 Dec 2016 22:50:50 GMT
Server: Warp/3.2.9
Content-Type: application/json

[]%                                                                                gromak ~  % curl -i -X POST -H 'Content-Type: application/json' -d '' localhost:8090/send/55/++m1E81EcTMBW8FjzDcXPQg3qHMbxTKGuYCkPaR2n0s=/5                                                                                0 :)
HTTP/1.1 404 Not Found
Transfer-Encoding: chunked
Date: Thu, 01 Dec 2016 22:50:53 GMT
Server: Warp/3.2.9

There are only 42 addresses in wallet%

Probably I will add few more not implemented endpoints and postpone this issue, because we don't have actual wallet and writing API to non-existent thing is hard.

@gromak
Now we have this stupid API which responds with dummy data.
type WalletApi =
    "addresses" :> Get '[JSON] [Address]
  :<|>
    "balances" :> Get '[JSON] [(Address, Coin)]
  :<|>
    "send" :> Capture "from" Word :> Capture "to" Address :> Capture "amount" Coin :> Post '[JSON] ()

I assume it's enough for preliminary API. Eventually it should be integrate with wallet's state and other stuff necessary for wallet, but now I can't even predict what this stuff will be.
Task is postponed until some wallet functionality is implemented (see CSL-214).


Improved installation instructions

Installation instructions should work regardless of compiler version and preserve git revision in exe --version.

This PR supersedes https://github.com/input-output-hk/cardano-node/pull/2619

bors merge


Features broken on new issues (beta)

Description
I'm sure every isConversationList feature is currently broken on that page.
How to replicate the issue + URL
Test URLs:

https://github.com/download-directory/download-directory.github.io/issues/141
https://github.com/eslint/eslint/issues
https://github.com/tc39/proposal-await.ops/issues

The beta is enabled by organization. These three have it. You can spam issues on https://github.com/download-directory/download-directory.github.io/issues if necessary, I'll delete them once we're done. Or leave comments in https://github.com/download-directory/download-directory.github.io/issues/141, better.

By the way, finally we have an autocomplete!

More features are broken, like the label alignment

Bye quick-comment-hiding

These are features running on isIssueList and isSingleIssue
I'll check these off after verifying them, or with 👋 if they're no longer needed

[ ] archive-forks-link
[ ] avoid-accidental-submissions
[x] bugs-tab
[x] ci-link
[ ] clean-conversation-headers 👋
[ ] clean-conversation-sidebar
[x] clean-repo-tabs
[x] clean-rich-text-editor
[ ] close-as-unplanned
[x] close-out-of-view-modals
[ ] collapsible-content-button
[x] command-palette-navigation-shortcuts
[ ] comment-excess
[ ] comments-time-machine-links
[ ] conversation-activity-filter
[x] copy-on-y
[ ] embed-gist-inline
[ ] emphasize-draft-pr-label
[ ] esc-to-cancel 👋
[x] esc-to-deselect-line
[ ] expand-all-hidden-comments
[x] fit-textareas
[x] hide-diff-signs
[ ] hide-low-quality-comments
[ ] hide-navigation-hover-highlight
[x] hide-user-forks
[x] improve-shortcut-help
[ ] keyboard-navigation
[x] linkify-branch-references
[x] linkify-code
[x] linkify-line-numbers
[ ] linkify-user-edit-history-popup
[ ] linkify-user-labels
[ ] linkify-user-location
[x] more-dropdown-links
[ ] netiquette
[x] one-key-formatting
[x] parse-backticks
[ ] prevent-comment-loss 👋
[ ] prevent-link-loss
[ ] preview-hidden-comments
[x] profile-hotkey
[x] quick-comment-edit
[ ] quick-comment-hiding👋
[ ] quick-mention
[x] quick-new-issue
[ ] reactions-avatars
[x] releases-tab
[x] reload-failed-proxied-images
[x] repo-avatars
[x] repo-header-info
[x] repo-wide-file-finder
[ ] scrollable-areas
[ ] selection-in-new-tab
[ ] shorten-links
[ ] show-names
[x] show-whitespace
[ ] small-user-avatars
[x] sort-conversations-by-update-time
[ ] status-subscription
[ ] sticky-sidebar
[x] tab-to-indent
[ ] table-input
[ ] toggle-everything-with-alt
[x] unfinished-comments
[x] user-local-time

feature
test url
screenshort
note

avoid-accidental-submissions
https://github.com/eslint/eslint/issues/new?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen&template=bug-report.yml

It doesn't need in isNewIssue

The list above has already been verified. Unless you see that the feature is no longer needed, you can assume they're not working. That would save time from having to build that table

Here has two avatar.
https://github.com/download-directory/download-directory.github.io/issues?q=is%3Apr

cc @ToBinio https://github.com/refined-github/refined-github/pull/7924

@fregante could it be that GitHub is rolling out that feature?
cause for is:pr it also renders images without refined Github
should I open a PR and just fix it for is:pr or do you think it will come for normal issues too and the feature should just be disabled for the new view

Uh, they did 😅

preview-hidden-comments

We should hold off on implementing this one, their header layout is messy on mobile and I expect them to change it completely. Only fix it if it's a simple class change

For advanced features like close-as-unplanned, we have to use the UI on behalf of the user because we no longer have the good ol' form element 😒
For example in https://github.com/refined-github/refined-github/pull/7893 this meant opening the dropdown menu and simulating a click on the Edit item.
Here I'd expect the dropdown arrow to be hidden and a new custom button to be added. When the button is clicked, we show the arrow, open it, click "close as not planned", then click the new "close" button.

I wonder if it's just easier to do it via API and call triggerConversationUpdate (which is also likely broken on the new issue view), but I think that as long as every part here is selectable, it's actually not too difficult:
https://github.com/refined-github/refined-github/blob/60217e812c4bac4707d1f1b6caea6fd10a0d672e/source/features/quick-comment-edit.tsx#L25-L33


MI - PERFORMANCE TUNING (JMS scenarios)

Complete the docs on tuning JMS scenarios [1].
[1] https://github.com/wso2/docs-ei/blob/master/en/micro-integrator/docs/setup/performance_tuning/jms_scenarios.md

This content [1] is incorporated to the JMS Example docs [2][3].
[1] https://docs.wso2.com/display/EI650/JMS+Scenarios
[2] https://ei.docs.wso2.com/en/next/micro-integrator/use-cases/examples/jms_examples/esb-as-a-jms-consumer/
[3] https://ei.docs.wso2.com/en/next/micro-integrator/use-cases/examples/jms_examples/esb-as-a-jms-producer/


Remove deprecated author field in pubspec.yml templates

Fix https://github.com/flutter/flutter/issues/76476
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I signed the CLA.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@francisceioseph @jonahwilliams @darshankawar Could you merge it?


Olemagnusnorum/search suggestions fix frontend

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

👍


default ordinal time axis

This applies the nice multi-line time axis to ordinal scales that have time intervals. For example:

Plot.plot({
  x: {interval: "month"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

Still to-do:

Figure out if the time interval is UTC or local time?
Make sure we don’t choose a time interval for ticks that isn’t compatible with the domain?

I’m excited about this usability improvements since people often want to represent time ordinally.
Fixes #1789.

Here’s an example where it breaks and I’m not sure yet what to do:

Plot.plot({
  x: {interval: "4 weeks", ticks: "months"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

It breaks because the 4 weeks interval doesn’t align with the months interval (because weeks by default start on Sunday, and months start on whatever day they start at). Perhaps, for example, we have to floor the generated tick values according to the other interval?

Okay, I’ve done what I suggested above.

Plot.plot({
  x: {interval: "4 weeks", ticks: "year"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

It’s a little surprising, perhaps, since that 2013 actually corresponds to December 29, 2013.

Plot.plot({
  x: {interval: "4 weeks", ticks: "year", tickFormat: Plot.formatIsoDate},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

That’s because January 1, 2014 rounds down to December 29, 2013 when using the 4 weeks interval, but the default time format sees the ticks about a year apart, and hence only shows the year. It might be better therefore to round up rather than down, but technically our RangeImplementation interface only guarantees that interval.floor is available. But I think we could reasonably introduce a requirement that you implement interval.ceil, too, or at the very least use it if available.

With interval.ceil, it’s more consistent with the default behavior.

Plot.plot({
  x: {interval: "4 weeks", ticks: "year"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

Although now I notice that the default ticks are broken with the 4 weeks interval… 😬

Plot.plot({
  x: {interval: "4 weeks"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

A nice property would be if e.g. “2018” always meant the same thing in the default time axis, i.e. 2018-01-01. So perhaps a better strategy here would be:

Compute the positive integer n such that taking every nth value from the domain produces as close as possible to the desired number of ticks. For example, if the domain has 100 values and 5 ticks are desired, n = 20.
Compute the median step s between adjacent values from the scale’s sorted domain, and use this to determine the standard time interval i that is closest to the median step s times n (per 1). For example, if the scale’s interval is day and n = 20, then i = month; if the scale’s interval is day and n = 7, then i = week.
If the standard interval i (per 2) is subsumed by the scale’s interval, i.e. if the ticks generated by i are not altered by the scale’s interval, then use the standard interval i to generate ticks with the default multi-line conditional format. For example, if the scale’s interval is day and i = week, use week ticks.
Otherwise, use n (per 1) to select every nth value from the scale’s domain, and apply the default ISO date format. For example, if the scale’s interval is week and i = month and n = 3, use every third week as YYYY-MM-DD.

Got some pieces working here: https://observablehq.com/d/61f1586d16d3ec0c

Now also addresses part of #74 when a numeric interval is specified.

I went through several iterations on this and I feel this is now ready.
I explored dropping tick labels instead of dropping ticks. There are a number of cases where I feel this produces a better result:

However, I decided against it because it feels in consistent. For example, if you specify ticks as an array of values, we only draw those, but if you specify ticks as an interval or a number, or you use tickSpacing, you get ticks for every value in the domain but only some of them are labeled. And if you specify the tickFormat option, suddenly all the ticks appear regardless of the interval option? I could see there being a version of this approach that works in the future, but I think we need more options, or to redesign the existing options, to make it work.
I also explored how we handled “misaligned” intervals. For example, what do we do if the scale interval is 4 weeks, but the tick interval is year? These two intervals are not aligned (there are 365 or 366 days in a year, which is not a multiple of 28). One strategy that worked fairly well is to draw the first tick in each interval. So, the first 4 week interval within each year interval has a tick, like so:

The logic for this is:
data.filter((d, i) => (i === 0 || ticks.floor(d) > ticks.floor(data[i - 1]));

However, I think computing the intersection of the intervals is simpler and easier to understand:
data.filter((d) => ticks.floor(d) >= d);

And perhaps more importantly, it avoids the problem of the first and second tick being likely to overlap.
But I also realized that there’s a more general problem: even if the intervals are aligned, the tick interval could be much farther apart than a “standard” time interval, making the default multi-line time format inappropriate. For example, if you have the 52 week tick interval on top of a 4 week scale interval, and you try to display that using the default multi-line format for 4 week (which is day, %-d %b), you get this:

I attempted to avoid this problem by checking if most of the ticks were dropped by applying the tick interval, and switching to the default ISO format. But writing this up, I realize we have the same problem even if you don’t specify the tick interval at all and you just specify a scale interval of 52 weeks:

So… I’ll put this back in draft mode. 🤔 I’m guessing maybe the multi-line format has to be smarter about comparing with the previous tick value; it can’t rely solely on whether the partial format is the same (because e.g. “Nov” could refer to Nov 2014 or Nov 2015).
And there’s still an outstanding problem that we don’t have a way of indicating whether intervals associated with an ordinal scale are in local or UTC time, so for the most part we default to UTC time. This means if you have an ordinal time axis with hourly data, there’s no easy way to get the multi-line format to show local time. I think this will require a new option, or perhaps exposing the multi-line format.

Okay! Ready to go! 🚀

There’s still some room for improvement here, but I wonder if it’s a blocker. In the example in the top post, we no longer generate yearly ticks, but instead generate monthly ticks every 8 months:

Plot.plot({
  x: {interval: "month"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

It would be nicer in this case if we could use aligned 6 months ticks instead:

Plot.plot({
  x: {interval: "month", ticks: "6 months"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

Or, if you prefer, year ticks:

Plot.plot({
  x: {interval: "month", ticks: "year"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

The challenge is that it can be hard to know which interval is specified, and therefore how to generalize it. It seems obvious in the case that the interval option is month (the string), but you could set it to d3.utcMonth, or d3.utcMonth.every(3), or some such, and we’d have a harder time detecting that this is a “standard” interval and therefore know how to generalize it automatically to reduce the number of ticks. That’s the appeal of simply showing every nth tick. But we could perhaps treat named intervals specially.

Okay! The latest commit detects and generalizes standard time intervals, so we get the best possible result for the common case where the scale’s interval is something common like month or day.

Plot.plot({
  x: {interval: "month"},
  marks: [Plot.barY(aapl, Plot.groupX({y: "median", title: "min"}, {title: "Date", x: "Date", y: "Close"}))]
})

I believe I’m done polishing this now. I feel like even though this was a long journey, the resulting logic isn’t too complicated. Let me know if I can clarify anything, @Fil.

None of the above comments is blocking.
I poked at the downloadsOrdinal example a bit and maliciously tried x: {interval: 1} instead of "day". My browser didn't let me create an ordinal scale of a bazillion instants (one per ms), which is fortunate. I wonder though if there should be more of a control on this, beyond the browser balking with a RangeError: Invalid array length. Maybe not, but the error message is not super friendly.

Using temporal intervals & tickSpacing on the horizontal scale is really flowing. I'm adding a test that uses it on the fy facet scale.


Scatter/gather for pointers

Also provides a solution for #286

Also provides a solution for #286

not really, you still can't do:
v.gather_or(mask, Simd::<MaybeUninit<u32>, 4>::uninit())
or:
#[repr(C, align(16))]
struct S {
    x: f32,
    y: f32,
    z: f32,
}

fn simd_add(a: S, b: S) -> S {
    // this is safe
    let a: Simd<MaybeUninit<f32>, 4> = unsafe { mem::transmute(a) };
    let b: Simd<MaybeUninit<f32>, 4> = unsafe { mem::transmute(b) };
    let v: Simd<MaybeUninit<f32>, 4> = a + b;
    unsafe { mem::transmute(v) }
}

Whoops, I referenced the wrong MaybeUninit issue.  I meant #205


update make file

Coverage increased (+0.05%) to 55.042% when pulling 40ae3694f66c95df86e74d67894b4449a7d6e72f on wy65701436:dev into 7137e0c26c730dd854eebadb0b5b18d967b7a9b5 on vmware:dev.


Add Rule to Flag Creation of New ObjectMappers

Create a new Checkstyle rule that will flag new ObjectMapper(), and potentially similar code snippets, and trigger a Checkstyle warning. For the case of ObjectMapper, they are expensive to instantiate and doing so in a hot path could result in a large performance regression, additionally ObjectMapper is a very complex topic as the configuration in the mapper can greatly affect runtime behavior. Therefore, all instantiations of ObjectMapper should be reviewed, so flagging with a Checkstyle warning will make it clearer that its use should be reviewed.

I don't know checkstyle much, but I'm wondering if it supports check on this scenario:
Since at the core of spring it is a IoC container, usually create new instance manually is not considered a best practice, so I'm wondering if we can create a checkstyle rule and raise warn when it sees a new keyword from a non-configuration class (since configuration class is considered as a bean factory) -- class doesn't have @AutoConfiguration nor @Configuration
@alzimmermsft  any idea if this is doable?

Just to clarify the question in my own words. Is the request to also flag properties with @AutoConfiguration and @Configuration that are ObjectMappers?


DependencyRunner.Get() is not capable to get all .NET internal namespaces

Target
2.7.0 (not released)

Summary
Currently, there is a internal class in MelonRuntime.Core called DependencyRunner, this class is used to "pre-load" some dependencies used by the core. The objective was populate this class, but this is very weird, anti-pattern and would cause problems - mainly in the initialization.

Warning
Currently, Melon can't load a lot of internal namespaces because that problem, affecting the main usage and quality of Melon.dotnet internal javascript module.

Problem Solution
Remove the DependencyRunner class and call Assembly.Load if the assembly is not previously loaded in the cache, this will work for all .NET internal ones and external (nuget) installed ones too.
Solution Tests
After solving the probem, the following tests are required:

Should be capable of load new .NET internal assemblies and access its namespaces properly
Should be capable of store the new loaded assemblies in the cache and use it properly

Update: DependencyRunner will be kept and now will call Assembly.Load internally for common assemblies

Solved in #230


Abstract away Any in the generated types

Complex Msgs in cosmos-sdk usually have an Any field in them. It might be a good Idea to abstract this away from the users by recursively following implements_interface & accepts_interface.
For example:

allowance is Any In MsgGrantAllowance: https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/proto/cosmos/feegrant/v1beta1/tx.proto#L33
Then you need to look at the accepts_interface and see that it's FeeAllowanceI
Then lookup anything that is implements_interface for FeeAllowanceI and find all of these:

BasicAllowance: https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/proto/cosmos/feegrant/v1beta1/feegrant.proto#L14-L27
PeriodicAllowance: https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/proto/cosmos/feegrant/v1beta1/feegrant.proto#L29-L54
AllowedMsgAllowance: https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/proto/cosmos/feegrant/v1beta1/feegrant.proto#L56-L66

Then the Typescript output should probably look like this:
/**
 * MsgGrantAllowance adds permission for Grantee to spend up to Allowance
 * of fees from the account of Granter.
 */
interface MsgGrantAllowance {
  granter: string;
  grantee: string;
  allowance: BasicAllowance | PeriodicAllowance | AllowedMsgAllowance;
}

/**
 * BasicAllowance implements Allowance with a one-time grant of tokens
 * that optionally expires. The grantee can use up to SpendLimit to cover fees.
 */
interface BasicAllowance {
  /**
   * spend_limit specifies the maximum amount of tokens that can be spent
   * by this allowance and will be updated as tokens are spent. If it is
   * empty, there is no spend limit and any amount of coins can be spent.
   */
  spendLimit: Coin[];
  /** expiration specifies an optional time when this allowance expires */
  expiration?: Timestamp;
}

/**
 * PeriodicAllowance extends Allowance to allow for both a maximum cap,
 * as well as a limit per time period.
 */
interface PeriodicAllowance {
  /** basic specifies a struct of `BasicAllowance` */
  basic?: BasicAllowance;
  /**
   * period specifies the time duration in which period_spend_limit coins can
   * be spent before that allowance is reset
   */
  period?: Duration;
  /**
   * period_spend_limit specifies the maximum number of coins that can be spent
   * in the period
   */
  periodSpendLimit: Coin[];
  /** period_can_spend is the number of coins left to be spent before the period_reset time */
  periodCanSpend: Coin[];
  /**
   * period_reset is the time at which this period resets and a new one begins,
   * it is calculated from the start time of the first transaction after the
   * last period ended
   */
  periodReset?: Timestamp;
}

/** AllowedMsgAllowance creates allowance only for specified message types. */
export interface AllowedMsgAllowance {
  /** allowance can be any of basic and filtered fee allowance. */
  allowance?: BasicAllowance | PeriodicAllowance | AllowedMsgAllowance;
  /** allowed_messages are the messages for which the grantee has the access. */
  allowedMessages: string[];
}

(BTW I'm still not sure how to handle optional fields, as some of them are definitely not optional)

For reference, here's how it looks when generated with ts-proto:
/**
 * MsgGrantAllowance adds permission for Grantee to spend up to Allowance
 * of fees from the account of Granter.
 */
interface MsgGrantAllowance {
  granter: string;
  grantee: string;
-  allowance: BasicAllowance | PeriodicAllowance | AllowedMsgAllowance;
+  allowance?: Any;
}

/**
 * BasicAllowance implements Allowance with a one-time grant of tokens
 * that optionally expires. The grantee can use up to SpendLimit to cover fees.
 */
interface BasicAllowance {
  /**
   * spend_limit specifies the maximum amount of tokens that can be spent
   * by this allowance and will be updated as tokens are spent. If it is
   * empty, there is no spend limit and any amount of coins can be spent.
   */
  spendLimit: Coin[];
  /** expiration specifies an optional time when this allowance expires */
  expiration?: Timestamp;
}

/**
 * PeriodicAllowance extends Allowance to allow for both a maximum cap,
 * as well as a limit per time period.
 */
interface PeriodicAllowance {
  /** basic specifies a struct of `BasicAllowance` */
  basic?: BasicAllowance;
  /**
   * period specifies the time duration in which period_spend_limit coins can
   * be spent before that allowance is reset
   */
  period?: Duration;
  /**
   * period_spend_limit specifies the maximum number of coins that can be spent
   * in the period
   */
  periodSpendLimit: Coin[];
  /** period_can_spend is the number of coins left to be spent before the period_reset time */
  periodCanSpend: Coin[];
  /**
   * period_reset is the time at which this period resets and a new one begins,
   * it is calculated from the start time of the first transaction after the
   * last period ended
   */
  periodReset?: Timestamp;
}

/** AllowedMsgAllowance creates allowance only for specified message types. */
export interface AllowedMsgAllowance {
  /** allowance can be any of basic and filtered fee allowance. */
-  allowance: BasicAllowance | PeriodicAllowance | AllowedMsgAllowance;
+  allowance?: Any;
  /** allowed_messages are the messages for which the grantee has the access. */
  allowedMessages: string[];
}

From looking in the cosmos-sdk code there aren't a lot of these, but by abstracting this away from devs Telescope will make it easy for them to use complex Msgs and will empower blockchain devs to create complex Msgs in the future knowing that it'll not be hard for devs to use them.

https://github.com/cosmos/cosmos-proto/issues/5

In bank.proto there is an URL for implements:

option (cosmos_proto.implements_interface) = "*github.com/cosmos/cosmos-sdk/x/bank/migrations/v040.SupplyI";

cosmos_proto.accepts_interface
https://github.com/regen-network/cosmos-proto#accepts_interface

An informational extension to be added to google.protobuf.Any fields to indicate which interface that field accepts. The interface name should be independent of any programming language and either be unqualified to indicate the current package of fully-qualified to indicate another protobuf package.

message SomeContainer {
    google.protobuf.Any some_interface = 1 [(cosmos_proto.accepts_interface) = "SomeInterface"];
}

message AnotherContainer {
    google.protobuf.Any another_interface = 1 [(cosmos_proto.accepts_interface) = "another.package.AnotherInterface"];
}

implements_interface
https://github.com/regen-network/cosmos-proto#implements_interface

An informational extension to be added to messages to indicate which interface that message implements. The interface name should be independent of any programming language and either be unqualified to indicate the current package of fully-qualified to indicate another protobuf package.

message A {
    option (cosmos_proto.implements_interface) = "SomeInterface";
    int64 x = 1;
}

message B {
    option (cosmos_proto.implements_interface) = "another.package.AnotherInterface";
    double x = 1;
}

So things just became more complicated. Reposting from Discord:
Hi all, I have a question about the protobuf definitions of MsgSubmitProposal. 👋
In MsgSubmitProposal content is (cosmos_proto.accepts_interface) = "Content", but only TextProposal is (cosmos_proto.implements_interface) = "Content".
In practice there are at least 7 proposal types that I manged to find by hand, so my question is how can client library effectively find them?

SoftwareUpgradeProposal
CancelSoftwareUpgradeProposal
TextProposal
ParameterChangeProposal
CommunityPoolSpendProposal

And two more in ibc-go:
6. ClientUpdateProposal
7. UpgradeProposal
Seems to me that they're all manually implementing the Content interface in Go after being derived from protobuf, and that's what ultimately decides if it's a valid proposal type or not.
Also seems like CommunityPoolSpendProposalWithDeposit is defined but doesn't implement the Content interface.
Would love to get some feedback and more info on this. 🙏

@ValarDragon one question I have — would it be a breaking change to add the (cosmos_proto.implements_interface) = "Content" to any proposal message?
It seems that there was a convention, but perhaps it didn't get followed. If this would be a non-breaking change, adding this option would allow us to automate all the proposal serialization logic.

we also need to figure out where in exported .proto files the Content and Authorization message are.

Content https://github.com/cosmos/cosmos-sdk/blob/main/x/gov/types/v1beta1/content.go#L9-L16
Authorization https://github.com/cosmos/cosmos-sdk/blob/main/x/authz/authorizations.go#L11-L25

@faddat @nghuyenthevinh2000 do you know if the cosmos-sdk protos export these two objects to .proto files?

(cosmos_proto.implements_interface) = "Content"

This should be possible and not a breaking change to do, as far as I understand! I'd test it on a node before releasing, but that should be easy to do

some examples I've found in the wild:

export const createSubmitProposalMsg = (
    typeUrl,
    title,
    description,
    proposer,
    deposit,
    denom,
) => {
    const msgSubmitProposal = {
        content: {
            typeUrl: typeUrl,
            value: gov_1.TextProposal.encode(gov_1.TextProposal.fromPartial({
                title: title,
                description: description,
            })).finish(),
        },
        initialDeposit: coins(deposit, denom),
        proposer: proposer
    }

    const msg = {
        typeUrl: "/cosmos.gov.v1beta1.MsgSubmitProposal",
        value: msgSubmitProposal,
    }

    return msg
}

Really glad to see this... this is the kind of annoying stuff we have to do to encode nest proto messages in JS right now: https://github.com/DA0-DA0/dao-dao-ui/blob/940462a5210c507a731289b3dc2cdcc36299c33d/packages/utils/messages.ts#L205

due to infinite recursion of the authz messages types — pretty certain we need to re-write how amino types are encoded: this will be more maintainable as well: https://github.com/osmosis-labs/telescope/issues/49

related https://github.com/osmosis-labs/osmojs/issues/5

[ ] ARRAYS

[(cosmos_proto.accepts_interface) = "sdk.Msg, authz.Authorization"];

[ ] URIs

(cosmos_proto.implements_interface) = "*github.com/cosmos/cosmos-sdk/x/bank/migrations/v040.SupplyI";
``

tracking https://github.com/osmosis-labs/telescope/pull/272

@assafmo making some progress, these are auto-generated decoders:
import { DepositDeploymentAuthorization as DepositDeploymentAuthorization1 } from "../../../akash/deployment/v1beta1/authz";
import { DepositDeploymentAuthorization as DepositDeploymentAuthorization2 } from "../../../akash/deployment/v1beta2/authz";
import { SendAuthorization } from "../../bank/v1beta1/authz";
import { StakeAuthorization } from "../../staking/v1beta1/authz";

export const Authorization_InterfaceDecoder = (input: _m0.Reader | Uint8Array): DepositDeploymentAuthorization1 | DepositDeploymentAuthorization2 | GenericAuthorization | SendAuthorization | StakeAuthorization | Any => {
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
  const data = Any.decode(reader, reader.uint32());

  switch (data.typeUrl) {
    case "/akash.deployment.v1beta1.DepositDeploymentAuthorization":
      return DepositDeploymentAuthorization1.decode(data.value);

    case "/akash.deployment.v1beta2.DepositDeploymentAuthorization":
      return DepositDeploymentAuthorization2.decode(data.value);

    case "/cosmos.authz.v1beta1.GenericAuthorization":
      return GenericAuthorization.decode(data.value);

    case "/cosmos.bank.v1beta1.SendAuthorization":
      return SendAuthorization.decode(data.value);

    case "/cosmos.staking.v1beta1.StakeAuthorization":
      return StakeAuthorization.decode(data.value);

    default:
      return data;
  }
};


Update links in README.md

The shortened link https://bit.ly/3KrrxF5 redirects to the wallet xt in chrome extension store

@ohager Links are updated!


Prep data for Case/Search/Details API test

Prep data for Case/Search/Details API - with atleast a few fully detailed out cases with all sorts of data added to it like proper NIA details, multiple orders, applications, evidences etc

details added to #1771 hence closing this


[CXF-8151] Upgrade to Bean Validation 2.x and Hibernate Validator 6.1.0

along with Swagger Core 2.1.2

@deki Why not moving Apache BVal instead (latest version: 2.0.3)?

@ilgrosso CXF is not using BVal, is it?

@deki exactly: I was thinking why we don't switch to BVal rather than upgrading Hibernate Validator, as in its latest version BVal is implementing Bean Validation 2.x anyway.

Ok got it. Well I like the idea but it's not just drop-in replacement, for example I see references to org.hibernate.validator classes in samples

It should be only in a class even though AFAICT there should never be need to explicitly call a given impl.
Anyway, I understand such a change might not be completely on-scope here.

I'd suggest we try to finish this one and try the BVal changes afterwards.

@deki @amarkevich I think we could merge it like that guys, and keep Swagger Core 1.6.x on the radar, thoughts?


Improve forms types

As discussed today, I implemented some small improvements to the forms types. This is all still an "experiment", so it might happen that you experience some issues with that. The most notably things:

FormControl now accepts booleans
Our forms now use .value instead of .getRawValue() when storing the data in Ionic Storage

Also, I have added 2 "TODOs" to the application upload component file. We should try to fix/implement them soon.

Sorry for this small force-pushing. I accidentally committed a line that was only used for dev purposes.


cloud_functions plugin - undefined parameter

I'm using   cloud_functions: ^0.0.4
when the below code executes cloud function does not receive values provided. The log from the cloud functions displays the paramerters passed as undefined for all of them. I made sure with debugging that the values are indeed being populated in the code and i have also used static data before i made a call to cloud function.  the regular http call with parameters works fine but it does not work with the cloud_functions plugin.
Any ideas what i am doing wrong here ?
resp = await CloudFunctions.instance.call(
        functionName: 'createFirebaseToken',
        parameters: <String, dynamic>{
          'uid': usr.id,
          'name': usr.displayName,
          'email': usr.mail,
        },
      );

this is what i see in the cloud function log in the firebase UI

parameters Received:  undefined, undefined, undefined

flutter doctor -v

[√] Flutter (Channel beta, v0.7.3, on Microsoft Windows [Version 10.0.17134.228], locale en-US)
• Flutter version 0.7.3 at C:\Users\ravit\source\flutter
• Framework revision 3b309bda07 (9 days ago), 2018-08-28 12:39:24 -0700
• Engine revision af42b6dc95
• Dart version 2.1.0-dev.1.0.flutter-ccb16f7282
[√] Android toolchain - develop for Android devices (Android SDK 28.0.0)
• Android SDK at C:\Users\ravit\AppData\Local\Android\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.0
• ANDROID_HOME = C:\Users\ravit\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.
[√] Android Studio (version 3.1)
• Android Studio at C:\Program Files\Android\Android Studio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[√] VS Code, 64-bit edition (version 1.26.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 2.18.0

i'm a flutter newbie, and i want to learn.. but i have same problem like that.
this my flutter on button code
CloudFunctions.instance.call(
functionName: "createUser",
parameters: <String, dynamic>{
"password": _pass,
"email": _email,
"phoneNumber": _noTelp,
"displayName": _namaPemagang,
});
this is my function log
Function execution took 664 ms, finished with status code: 500
Unhandled error TypeError: Cannot read property 'email' of undefined
at exports.createUser.functions.https.onCall (/user_code/index.js:35:18)
at /user_code/node_modules/firebase-functions/lib/providers/https.js:330:32
at next (native)
at fulfilled (/user_code/node_modules/firebase-functions/lib/providers/https.js:25:58)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)

createUser
undefined

this my flutter doctor -v
[√] Flutter (Channel beta, v1.0.0, on Microsoft Windows [Version 10.0.17134.472], locale en-US)
• Flutter version 1.0.0 at E:\FlutterProject\flutter
• Framework revision 5391447fae (4 weeks ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at C:\Users\AlfinMuhammadNurulFi\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: E:\apps\A Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.
[√] Android Studio (version 3.1)
• Android Studio at E:\apps\A Studio
• Flutter plugin version 28.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[√] VS Code, 64-bit edition (version 1.30.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 2.21.1
big thanks 👍

We have integration testing for this plugin, and also the API has changed. Are you still experiencing the issue?

Yes, I am still experiencing the issue

@raviteja1982
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/668. Any further collaboration will be done there.


suggestion: change LimitedBytesTransformStream behavior

In writing the migration documentation for LimitedReader (#6058), I realised that LimitedBytesTransformStream doesn't behave as I'd expect it. This is my example snippet:
import { LimitedBytesTransformStream } from "@std/streams/limited-bytes-transform-stream";
import { toText } from "@std/streams/to-text";

using file = await Deno.open("README.md");

const stream = file.readable.pipeThrough(new LimitedBytesTransformStream(10));

console.log(await toText(stream));

When running from the root of this codebase, I expected the first 10 bytes of README.md to be printed. However, await toText(stream) returned an empty string. This is because LimitedBytesTransformStream drops the entire last chunk, even if it only exceeds size by 1 byte. I expected it to at least partially enqueue the last chunk until size bytes was reached, which is more in-line with how LimitedReader worked.
These are my expectations, and I'd like to know if others feel the same. I suggest simplifying how LimitedBytesTransformStream works by simply having it enqueue up to size bytes, including the last chunk (partially, if needed), and removing the error option.

Actually, we can just use ByteSliceStream.


Feature Request: faster way to switch to Original (none)

There are many cases where Midnight Lizard is less optimal than the existing styles, but to disable it you have to

open the extension
click the theme dropdown
choose original
click apply

It would be nice if you could do it with fewer clicks or a keyboard shortcut

There are already keyboard shortcuts exactly for that:
Current website: Alt+Shift+L
Global: Alt+Shift+M
Also you can do the same just by clicking on the current website title in the Midnight Lizard settings popup


Installable package

Make the package pip-installable directly from the repository.
Add all the optional dependencies to the pyproject.toml file, rather than in the requirements.txt file, to allow installation by e.g.
pip install -e hyperiax[dev]

Sure about removing tqdm?
It is used in
https://github.com/ComputationalEvolutionaryMorphometry/hyperiax/blob/main/hyperiax/mcmc/metropolis_hastings.py#L15
and imported (but unused) in
https://github.com/ComputationalEvolutionaryMorphometry/hyperiax/blob/main/hyperiax/execution/executor.py#L6

Good point, its definitely a mistake its imported in the executor, however I wasn't aware that its included in MH. I generally like the idea of the library not printing or displaying anything, unless it is very explicitly requested (eg. plotting) - what do you think?

I think let's keep tqdm as a dependency for now, get this PR merged, and then remove tqdm once we've refactored the MH code. I haven't thought sufficiently much about the MCMC part of the code so far

Hmm, I'm not sure what just happened here... Hopefully nothing problematic. I'll check :thinking:

I believe this is alright again. Turns out you can sync individual branches between origin and forks -- I was not aware of that difference


Update crun to 1.10

What type of PR is this?
/kind feature
What this PR does / why we need it:
Update crun to the latest release.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/lgtm


Remove probability assertion, relabel p->frequency

An old assertion that required the frequency parameter to be in the range [0, 1] is obsolete because it's actually a frequency defined on the range [0, Infinity]. This PR fixes the behavior and changes the name of the parameter to "frequency".
For users that are using named parameters for SimpleLoss, note that the name change could break your code, please update the parameter name as noted above.

Please link to Issue # 9


Update ourToken-unit.test.js

Getting rid of unnecessary ourToken1 and moving comment to proper place.

Thanks!


Bug: AI extension is not showing the PR writing message

Describe the bug
While doing a coding live stream, I noticed that the PR AI description feature is not working.
Plugin version: 1.14.1
Steps to reproduce

open a PR and check the plugin

Browsers
No response
Additional context (Is this in dev or production?)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

It would be great if someone could test and confirm this to make sure it's not only me.

@open-sauced/triage if you have time could anyone check this?

I can confirm it is not showing for me. Not sure if it is the JWT update or when it broke but seems related to the auth tier.run api updates

Definitely failing to load

Thank you for confirming and the suggestion, I will investigate this on the live stream,
I checked the console and found different errors 😅

I think the issue with selectors, the selectors are returning an empty object.
https://github.com/open-sauced/ai/blob/39fb06d3bb6ef3d2e83246b25fa65e38f1662df9/src/constants.ts#L33-L37
I will update it and check the result.

The font not loading is an error, but probably doesn't break things.
For commentFormatRow.insertBefore(addGeneratorButton, commentFormatRow.firstChild); it looks like the commentFormatRow is null.
If it's not always expected to be there, this should fix it.
commentFormatRow?.insertBefore(addGeneratorButton, commentFormatRow.firstChild);


Setup

Highlights

React app setup
Readme file added
Errors fixed using linters

@Omar-Muhamad , Thanks a lot


The extension blocks Emmet from working

It changes the settings and prevents emmet snippets from working at all.

am sorry, I said I was going to disable the plugin until i am able to spare some time to fix it and improve it and got swamped with work.
I will try do this this weekend.


Fix to dumps fomula args in same order

Fix to dumps args in same order when a formula installed with args specified in different order on different machines.
In current implementation, as I present below, there is the case that has difference about its order.
-brew 'gcc', args: ['with-jit', 'with-nls', 'with-all-languages']
+brew 'gcc', args: ['with-all-languages', 'with-jit', 'with-nls']

👍 great PR.

Fix to dumps args in same order when a formula installed with args specified in different order on different machines.

Can you elaborate a bit on this? I'm interested in hearing more about it, thanks.

Thanks ☺
I reinstalled gcc with some args on two OS X machines.
Following commands are these executed on each machines.
# on machine 1
brew reinstall gcc --with-all-languages --with-jit --with-nls
# on machine 2
brew reinstall gcc --with-jit --with-nls --with-all-languages

Then 'brew bundle dump' on two, I found diff in Brewfiles as I wrote to #.
(Diff is one checked on machine2.)

Seems reasonable 👍


Guidebook entry for Cyborgs

About the PR

Adds an entry under Robotics; Cyborgs.
Why / Balance

Robotics in the guidebook discusses bots and mechs, but no mention of cyborgs anywhere. This addition seeks to amend that by providing information regarding cyborgs, along with a small correction in the robotics entry for added clarity. This addition should allow players to be able to reference the guidebook for information regarding their silicon friends, instead of having to use intuition and trying to figure it out themselves.
Technical details

Addition of Cyborgs.xml to the serverinfo guidebook, and modification of science.yml guidebook prototype to display in the guidebook as a child of the robotics entry. Small correction in robotics guidebook entry to ensure consistency. The locale file for the guidebook, guide.ftl, has had the cyborg entry's name added for formatting.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: M3739

add: An entry regarding cyborgs has been added to the guidebook.

Small thing for modules: There are generic modules that are not Science modules/colored like Science modules like the Anomaly Module, whereas the text seems to imply only Science modules are generic. The default Tool module is one example of this, and the Fire Extinguisher module being another example of one.
Minor grammar error is that there is a missing "the" before "only exception being..." in the Modules section

Small thing for modules: There are generic modules that are not Science modules/colored like Science modules like the Anomaly Module, whereas the text seems to imply only Science modules are generic. The default Tool module is one example of this, and the Fire Extinguisher module being another example of one.
Minor grammar errors are that there is a missing "the" before "only exception being..." in the Modules section, and that there's an extra comma at the end of the parenthesis in the 2nd paragraph of the Chassis section

I'll correct, proofread, and clarify what "generic" modules are. Probably also apply additional examples of generic modules like the fire extinguisher and GPS.

Cyborgs.xml has been corrected and edited for clarification. Some additional formatting also done to engage more.

I recommend adding a GuideHelpComponent to the base cyborg chassis. You can look at other entities like machine parts or anomaly machines that already implement this.
Overall, extremely solid work. Well written and very informative. I eagerly await any future guides you choose to write.

Suggestions committed, I will work on adding the GuideHelpComponent to the cyborg chassis, along with the link in Robotics.
Thank you for the proofread of the entry, I'll admit, I was dead tired whenever I started work on this, and several times I looked back and saw some things could have been written better. I was unsure at first if the GuideHelpComponent should be a separate PR or all together.

tiredness or not, it's well-written and informative.
For adding guidehelp components, it's fine to do it in the same pr.

Done. Prototypes related primarily to cyborgs has had the GuideHelpComponent added onto them, and the text link added to robotics guidebook entry.


392 welcome modal

Create and style welcome modal.
To Do:
• style close button
• style "No thanks"
• add close functionality
• hook up google and facebook buttons
• actions, reducers for adding use
• move "keep me updated" and "public display" checkboxes?
• "keep me updated" and "public display" checkbox functionality (reducers/actions)
• add x and arrow icons from font icon
• TESTING

@jdursema Where is this welcome modal going? On Campaign page or on Landing Page? Depending on which. I have one mostly built out, needs lots of styling love, in src>components>ViewCampaign in the firebase! branch. Maybe it will be helpful?

Sorry @jdursema. I answered a lot of these questions by looking at your PR :)


Form.valid seems to be initially true even if config implies it's not valid

Hello
it seems that form is initially created with the field valid equals to true, even if the model has no valid values.
I reproduced with the introduction example : https://formly.dev/examples/introduction
Using the stackblitz provided (see https://stackblitz.com/edit/angular-s2dueu?file=src/app/app.component.html),
I just added at the beginning of the html:
<app-essai [valid]="form.valid">

...
where EssaiComponent just displays: {{ valid}}
When I run the sample, it then displays in the console:
ERROR
Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'valid: true'. Current value: 'valid: false'.
(see screenshot in the attached file)
[![form_valid_is_initially_true](https://user-images.githubusercontent.com/9139910/95660316-50abd280-0b27-11eb-90d1-d5a408fcac5f.png]
)
I think because form.valid is initially true, but becomes false because of the model (but too late), it's normal that this error occurs in development mode.
Is it possible at least to force the initial value to the right value (false) ?
Thanks

Related to the rendering order and not Formly itself, if you move the app-essai after the form the error will be gone.
-- <app-essai [valid]="form.valid"></app-essai>
<form [formGroup]="form" (ngSubmit)="submit()">...</form>
++ <app-essai [valid]="form.valid"></app-essai>

You may use one of the following proposals to fix the issue in your side:

build the form using FormlyFormBuilder:

import { FormlyFormBuilder } from '@ngx-formly/core';

export class AppComponent {
  constructor(private builder: FormlyFormBuilder) {}

  ngOnInit() {
    this.builder.buildForm(this.form, this.fields, this.model, this.options);
  }
}

use delay to trigger change detection:

@Component({
  selector: 'formly-app-example',
  template: `
    <formly-field-custom-input [valid]="valid$|async"></formly-field-custom-input>
    ...
  `,
})
export class AppComponent {
  valid$ = this.form.statusChanges.pipe(
    delay(100),
    map(() => this.form.valid),
  );
}


Last release 2 years ago?

It looks like the last release was in 2015? Any plans for a new release?

https://github.com/swagger-api/swagger-node/releases
https://www.npmjs.com/package/swagger

That's a really good question. On top of that there is OAS 3.0 already out :/
This tool is really good, but it's getting really outdated I think... :(

Sorry for the delayed response. Please see #514 for more information, but the short answer is that we do plan on new releases.


Solved issue #198 : Fixed multiple toast display

Hi @AKD-01 . As mentioned in comment
The application runs without any bugs. Thankyou.

I am not giving lables again as already given in the previous pr. Thank you!


docs: How to download the artifacts of opendal-java

Download the artifacts from https://repository.apache.org/content/repositories/orgapacheopendal-${maven_artifact_number}/.

We need more detailed steps here

cc @tisonkun, would you like to take a look?

No. This is the release step and exactly the URL. For end-user usage, refer to the README.

I guess you don't read this section: https://opendal.apache.org/docs/contributing/release#release-maven-artifacts

Now it's avialable - https://repository.apache.org/content/repositories/orgapacheopendal-1014/
We should close the candidate first. I'll prepare a update for the release process.