Is there a way to test if a route exists?

Is there a way to test if a URL matches an existing route?  Instead of using the <Link> component, I want to be able to use regular anchor elements and only cancel the default behavior and transitionTo if a given URL matches a route.

You should be able to use router.match(path). You can get the router instance from context (like Link does) or as the return value of Router.run or Router.create and then pass it via props or globals.

Thanks!

It seems like the router object no longer has a match() method with react-router 2.0. Is there a new way to do this? I would like to do a similar thing - show a specific piece of UI only if the current route matches a certain route pattern.

You're looking for this.context.router.isActive()

Thanks @timdorr for the quick reply, but isActive doesn't work the way I had thought, and doesn't seem to work for my purpose. In fact, I submitted a patch yesterday assuming isActive was broken, but apparently I was just misunderstanding its API.
I'm trying to match based on a pattern that may or may not include route params, like /items/:itemId. On the other hand, isActive assumes you're passing in a path rather than a path pattern, i.e. /items/1.
I'm trying to determine if a route pattern is currently active, not whether a particular URL is active (which I can already determine with location.pathname).
Am I approaching this incorrectly?

To reiterate the original question for the new release, is there a way to test if an arbitrary route exists in react-router 2 now? My use case is pretty much the same as @jackmoore 's - I am passed a link in a component that I can assume is valid, and I would like to determine whether the link is a route within react-router or not, so I can either render it as a  or .
Complicating this might be the new way to declare a not found page, which is to match all routes. This might mean a function for testing match may always return true with the not found route.

Thanks @taion. I tried match and indeed I had to pass a callback in to get the result, which complicates rendering a bit. It also matched external URLs with the not found page I set up in routes (currently the index page.) So I would have to test whether the matched URL and its components is the same as the one I passed in to determine whether the route exists.
I'm not too familiar with react-router and the async routes stuff, so just wondering could there be a simpler and synchronous way, perhaps a builtin function on props.router given by withRouter? I guess this is more of a feature request now!

@taion won't matching using the server-side rendering API cause any Component that should be lazy loaded via code splitting to be loaded at match time?
That would mean that by just rendering a link to a route you would end up fetching the components even though they're not needed yet...

match is async only when the routes are async. If the routes are all sync, then it will return synchronously. It should be straightforward to wrap this in a synchronous function if those conditions are satisfied in your app, but this is specific enough that we don't want to include it in React Router. You can also add a property on your "not found" route and test against that to determine whether you matched it.
match will indeed do all the async loading if there is any, but it has to – otherwise how would it know if the match succeeds or not?

I understand that match need to async load all the routes in order to test if the routes match. The issue is that match will load both the routes and the components (via getComponents()) ideally there would be an api to be able to match without loading the components to be able to test if a path is a valid route.

I agree with @tikotzky– I would also like to see such a feature.  My use-case is to use the setRouteLeaveHook() to check if the next route is "valid" (e.g., per some authentication).  But to do that I need to lookup which route the user is trying to go to.


new app icon

@mah-qurashy
LargeTile.scale-150.png is kind of blurry, can you take a look?
Same for SmallTile.scale-100, SmallTile.scale-125, SmallTile.scale-150, Square44x44Logo.scale-125, Square150x150Logo.scale-150, StoreLogo.scale-125, StoreLogo.scale-150, Wide310x150Logo.scale-150.

@mah-qurashy Check how it looks at real scaling, don't scale it up.

@mah-qurashy Check how it looks at real scaling, don't scale it up. Just use windows photo viewer.

yeah it looks blurry on the photos app, but it's not, i think the photos app is just acting weird, does it look fine in the browser?

LargeTile scale-150.png

SmallTile.scale-100

@mah-qurashy Check how it looks at real scaling, don't scale it up. Just use windows photo viewer.

yeah it looks blurry on the photos app, but it's not, i think the photos app is just acting weird, does it look fine in the browser?

LargeTile scale-150.png

SmallTile.scale-100

You are right, something is wrong with windows photo viewer, I tried another software and it looks good to me. Ready to check-in?

I am going to change the readme as below, let me know if this looks ok to you or let me know if you have better idea:

Yi Zhou - App icon designer, Notepads App Icon (old) is greatly inspired by the new icon for Windows Terminal.
Mahmoud Qurashy - App icon and file icon(s) designer,  creator of the new Notepads App Icon.

@mah-qurashy
I am going to change the README as below, let me know if this looks ok to you or let me know if you have better idea:

Yi Zhou - App icon designer, Notepads App Icon (old) is greatly inspired by the new icon for Windows Terminal.
Mahmoud Qurashy - App icon and file icon(s) designer,  creator of the new Notepads App Icon.

thank you, I don't have any suggestions on that, it looks good to me.
looking forward to seeeing how the new icons look on the next release

@mah-qurashy
I am going to change the README as below, let me know if this looks ok to you or let me know if you have better idea:

Yi Zhou - App icon designer, Notepads App Icon (old) is greatly inspired by the new icon for Windows Terminal.
Mahmoud Qurashy - App icon and file icon(s) designer,  creator of the new Notepads App Icon.

thank you, I don't have any suggestions on that, it looks good to me.
looking forward to seeeing how the new icons look on the next release

@mah-qurashy I think the white icons are little bit too grayish (looks quite dirty). What do you think? Do you mind brighten it a little bit and send out another PR?

Make this color a little bit brighten and whiter.

Make this color a little bit brighten and whiter?

it does look so on a white background, i tried to achieve a balance between looking good on dark and light backgrounds since this icon is used for both light/dark windows themes and would rarely appear on a purely white backgrounds (mostly taskbar and start tiles), i didn't want it to look too bright on dark theme
that being said i think it could use some more brightness, maybe i could make it the same color as the old icon and do some testing

as further thoughts, could we have the app icon change for global windows light/dark themes
it seems to be done in this screenshot for the windows store icon and older metro-style icons have that currently

having the icon appear on either a dark or light background only could make it easier to decide whether to go more/less agressive with the brightness/contrast
also i noticed that the way notepads implements this (for the areas in which it's implemented) is reversed meaning the light icon w/ light theme and dark icon w/ dark theme, if this is the way to go then it would make sense to make the light icon brighter

as further thoughts, could we have the app icon change for global windows light/dark themes
it seems to be done in this screenshot for the windows store icon and older metro-style icons have that currently

having the icon appear on either a dark or light background only could make it easier to decide whether to go more/less agressive with the brightness/contrast
also i noticed that the way notepads implements this (for the areas in which it's implemented) is reversed meaning the light icon w/ light theme and dark icon w/ dark theme, if this is the way to go then it would make sense to make the light icon brighter

Let me investigate a little bit on how to align it with the new design for the tile background here. But we should just follow the store icon here: white on dark and dark on white background. I am fine with existing color scheme when it is actually used in the app for the icons, but maybe we can make it whiter for the ones that is been used on the website and README?
I am talking about these three for now:

Here you go:

https://github.com/JasonStein/Notepads/commit/7f9ee8f761d48381fea65e45c3acdd5063060972

I am talking about these three for now:

will do it

Here you go:

are we unable to change the icon with the windows theme
it seems to be done on some apps but these are rather symbolic icons that windows could be simply auto masking to a dark color

however the windows store icon in the new start menu is not, so it could be something that microsoft is yet to add with the new tile style
if that is the case then fixing tile color should keep us good for the time being

@mah-qurashy Yes, it is all fake at this moment. We need to wait until Windows supports it. I am not seeing it coming anytime soon.

could we have the app icon change for global windows light/dark themes

following on this, windows recently got the tiles update, then microsoft store icon was updated last week to have dark icon on the light tile, so maybe we can do this now

following on this, windows recently got the tiles update, then microsoft store icon was updated last week to have dark icon on the light tile, so maybe we can do this now

Is it not done automatically?? Right now taskbar icons are automatically chosen from themes, I guess same mechanism is going to be used for start too.

Is it not done automatically?? Right now taskbar icons are automatically chosen from themes, I guess same mechanism is going to be used for start too.

no, i got that windows build and it does not do it automatically for notepads icon
i checked the assets folder of windows store and it has a new images provided that has altform-colorful_theme-light qualifier

Is it not done automatically?? Right now taskbar icons are automatically chosen from themes, I guess same mechanism is going to be used for start too.

no, i got that windows build and it does not do it automatically for notepads icon
i checked the assets folder of windows store and it has new images that has altform-colorful_theme-light qualifier

Feel free to add it.


Update nightly

Will open again when  rust-lang/rust#87258 gets fixed. No point in keeping this around, it bitrots fast because it touches all files.

Reopening for visibility. Fixes #318


Use consistent branche names

They shouldn't have been there in the first place. We've cleaned up the already merged and closed branches 👍


Passing Express Receiver to App makes app refuse connection

Description
When I pass the ExpressReceiver to the App and then make a HTTP request, the app returns an error saying the connection was refused. If I remove the instance of receiver passed to the app, it starts working fine again.
import { App, ExpressReceiver } from "@slack/bolt";

const receiver = new ExpressReceiver({
  signingSecret: process.env.SLACK_SIGNING_SECRET || "",
});

const slackApp = new App({
  appToken: process.env.SLACK_APP_TOKEN || "",
  token: process.env.SLACK_BOT_USER_OAUTH_TOKEN,
  port: Number(process.env.PORT),
  receiver,
});

What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
The app starts fine after passing the instance of the receiver, then when you curl the url: curl localhost:3000 it returns this error: Failed to connect to localhost port 3000: Connection refused
It does not allow any connection to any routes in the app
Reproducible in:
package version: 3.8.1
node version: 17.4.0
OS version(s): 12.1.0
Steps to reproduce:

Define the ExpressReceiver and pass it to the app
Start the app
Run curl localhost:{PORT}

Expected result:
The app should be reachable. If there's a get route for the / path it should return the expected response
Actual result:
What actually happened
Error: curl: (7) Failed to connect to localhost port 3000: Connection refused

Hey @chialuka, how are you starting the app? Are you calling await app.start()? If so, don't forget to pass the port number into the start method. I myself sometimes get tripped up by this; passing the port into the App constructor is not sufficient when using ExpressReceiver.
Let me know if that helps or not!

it's working now! Thanks a lot @filmaj.
It would be nice to have this in the custom routes section of the documentation 🙂. Would be glad to help if the team wants a PR for it!

@chialuka Thanks for the suggestion! Instead of making the document complex, the port parameter ignorance should be informed as warning log message. I just created a new issue for the task and I will work on it shortly: https://github.com/slackapi/bolt-js/issues/1357


Release 2.3.0

New features

Cloud9 IDE integration (#48)
Platform.sh CLI (#54)
Custom startup script (#55)
Cron jobs (#64)

Changes and improvements

Refactored supervisord configuration
Fixed chmod in startup.sh

Use 1000:1000 by default if HOST_UID/HOST_GID are not set (e.g. in PWD environments)

Made sure the latest release and stable tags match (#56)
Refactored PHP tools installation

Switched to using consolidation/cgr instead of composer global require
Switched to installing mg2-codegen via Composer. See:

staempfli/magento2-code-generator#11
staempfli/magento2-code-generator#15

Added a function to remote the SECRET_ prefix for secrets at startup (SECRET_VAR1 => VAR1)

The prefix is used by Docksal to namespace and protect secrets set via ENV variables.

Switched to using bash login sessions (bash -l) to have ~/.profile automatically sourced.

Dropped .docksalrc, since it's no longer necessary.
All user level variables and runtime scripts should be included in ~/.profile only.
Simplified command mode command in startup.sh

Refactor and updated tests

Removed global SKIP=1 in tests to make sure it's not committed accidentally
Updated tests to use Makefile commands where possible
Switched to bash login sessions (bash -lc / bash -ilc) in tests

Yay!


New templates are not fetched automatically

If you don't symlink boiler to this repository then you won't get template updates. It would be cool if boiler would auto update templates once a day or so. It should work completely offline, however, so this should only happen when a connection is available. Maybe there should be a separate bin for it that boiler could fire off in a thread when it's finished showing a template. Maybe it should have an update command like --update to do that work. Maybe that update would be the thread it fires off.

If I use git for this it won't work unless git is already installed. I think I'd rather not add that requirement. There are a couple options. I could download a zip file from the repo (of the entire repo) and only extract the templates folder. I could also put templates into it's own repository.

If we're going to fetch a repository anyway, maybe it would make sense to have a list of repositories. By default only the official repository would be listed, but if you added your own it would also be used. When we do the --update we could walk through the list and do all the related repositories.
In that case, it might make more sense to separate the official templates folder from this repository. Then a template repository, which anyone could create, could just list files (they wouldn't have to be nested inside the template folder). This applies only this the repository itself. Boiler would probably still download all the templates to it's template folder.


GeoTiff export additions

The experimental geotiff export does not support circular coordinates: https://github.com/SciTools/iris/pull/383#discussion_r3376149
_gdal_write_array should be extended to write tiff image data with data types other than float32.
The current implementation does not support cubes that go from east to west. Either use the same check as you do for top/bottom, or use the first bound (coord_x.bounds[0, 0 if coord_x.points[0] < coord_x.points[-1] else 1]) and add appropriate test.

Follows on from: https://github.com/SciTools/iris/issues/224

Closing due to inactivity.


Alec/landing layout

Description
Various updates to the IO marketplace.

Refactor search/filtering to reduce LoC and some complexity
Move the Grid/List view to its own component
Allow for instantaneous searching with tessen events on a debounce

@rudouglas This is finally updated if you want to take a look!


Adjustment needed: DIV class page elements are aways stylized as "display=block".

DIV class page elements are aways stylized as "display=block"
(even when using CSS predefined style rules)

Cause: display assignment was hard coded ("block").
Solution: assign display style settings according to original element value.
https://github.com/samereberlin/WebApp/commit/83be931bda5d003c4e1a51da738ac05cc266efca


Dynamic settings for providers

Create provider settings at build time and update the settings list dynamically.
The JSON schema is created from the typescript interface of the chat provider.

It needs https://github.com/jupyterlab/jupyterlab/pull/16907 to works properly (live update).
It works for Mistral AI, not sure yet about other providers.

Nice, thanks @brichet!

It needs jupyterlab/jupyterlab#16907 to works properly (live update).

Looks like this PR will go be available in 4.4.0, so there will likely be some delay before it is available in JupyterLite.


Rename essential file.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Fix error in build config.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


fix(getQueryParam): Fixed a bug in getQueryParam when a partial matching key was found.

Fixes #1084

Thank you for the quick fix! Looks good. I'll merge it.


add todo mascot in svg and png variants

Signed-off-by: Ana Jimenez Santamaria<EMAIL_ADDRESS>

I think this is adorable!
I suspect that this needs to be approved by the LF branding folks to make sure it's consistent with how they want to manage the TODO Group brand.


Failed to import bot with json error

Repro
Import and older bot (R12) that used to be a skill
Hit error during conversion

Exported bot is available here: https://microsoft-my.sharepoint-df.com/:u:/p/eyals/ERYTUo0HNShNtFLcxgmP-fcBgJD7kQSKuj2k8hoIV_ZcKw?e=bKcwpn

Shiproom - let's understand the root cause and then evaluate risk

@scheyal Trying to get more info for repro here

At what point in the migration process do you get this error. It looks like the migration to the new runtime was complete and you got this error when you entered the Design Page for the first time.
Is this the converted bot? If so, could you share the <= 1.4.* bot that you used for conversion for me to repro the error?
For this converted bot did it not generate a parent folder with sln file?

Shiproom - we're not able to get a repro.  moving out to R14

@srinaath  - Exported bot link is available with all details in the original post below the visual.

@boydc2014 assigning for platform discussion and using this scenario as a way to expose a deeper serialization issue


Travis

Build core and examples in Travis. Auto docs upload will come at a later date.

@therealprof Only the basics right now. I'd like to add format checking (I tried just now but my Windows line endings seem to be screwing things up - will try from Mac later) and doc publish at some point, but this a good start :)


Can you show toasts from loaders using a Link

I have noticed the toasts do not show if you navigate to a page with a Link component because it does not seem like the root loader re-runs. Is this correct?
Example repo: https://github.com/MattyBalaam/remix-toast-loader-test
My use case is to show a toast message if some low-priority api data resources do not load.

Hmm, so I can do this by passing in reloadDocument but I don’t really want to do it that way because it loads everything, not just loader data.

I wondered if single-fetch might be the answer, here - but it seems to be even odder…
It now seems to call the root on every load, but now it appears to call the last toast, not the current one 🤯
https://github.com/user-attachments/assets/8cddd0fd-eebf-4205-ab92-0bf3fad87fa4

Root re-runs under certain conditions, not all of em, page navigations do not always trigger it, I think if you DON'T have a loader on the page you're navigating to it doesn't re-trigger

In this case (see example) all routes have a loader… but the root loader does not run in classic mode with client-side navigation, and in single fetch it seems like the root loader runs first so it gets the previous toast!
I’m struggling to think how this could work and it feels like reading the loaderData in each route component and triggering the notification that way is the only solution to this problem.

well another thing you could do is add an onClick handler to the Link component, eg:
<Link to="/somewhere" onClick={() =>showToast()} />

In our case we want to show toasts based on responses to APIs called in the loader, e.g. a 404 error calling a resource.


Composite Smart Contract IDE Grant Application

Grant Application
This application is (select one):

[ ] Part of a defined programme
[x] Speculative

This application is (select one):

[x] Public (fully)
[ ] Public with private finances

Abstract
Software Development -> Development and deployment tooling -> IDEs
Composite is a smart contract IDE built from the ground up for blockchain. Unlike general purpose editors, Composite includes blockchain specific features like one-click toolchain install and update and an ABI interaction interface.
Checklist

[x] The grants document has been read and understood.
[x] The Google Form has been completed accurately.
[x] Abstract (above) is succinct and complete.
[x] The application is being included into the correct directory: either 'programmes' or 'speculative'.
[x] The application includes a project description.
[x] The application includes all names of team members.
[x] The application includes a description of the team's experience.
[x] The application includes all necessary GitHub and LinkedIn links.
[x] The application specifies the development language and the reason for choosing it.
[x] The "Development Roadmap" section in the application has a timeline of development.
[x] The "Development Roadmap" section in the application has an estimate of funds required.
[x] The "Development Roadmap" section gives an indication of the team's long term plans.

This idea is on-hold.


Change null fields to be strictly compared when logging dirty fields

When using $logOnlyDirty = true and an attribute is changing from null to false or 0 the change isn't currently logged as the spaceship operator just does a loose comparison.
I've added in code to check if either the new or old value is null and if so it will do a strict comparison check to allow that change to be logged.
Potentially this could be a optionally turned on per model by setting a property on the model.

Thanks for your PR - it looks good. The only thing I think about if null is the only value that will fail because of this weak-comparison?
(null <=> false); // 0
('' <=> false); // 0
(0 <=> false); // 0
('0' <=> false); // 0
(1 <=> true); // 0
('1' <=> true); // 0
('hello world' <=> true); // 0
('1' <=> 1); // 0
('1.0' <=> 1); // 0
('1,1' <=> 1); // 0

http://sandbox.onlinephpfunctions.com/code/8f4a4741cee4ca556c6ce8f2bf81f03667c0936d
I bet that there are some more. So there are some examples that aren't good real-world ones but primary the last one shows how bad PHP is in weak-comparison. 😕
The ones before could be argumented that they are the same if the attribute has a type-cast. But the last one is some kind of real-world example but definitely another value.
My major problem with this is that this will be, in every case, some kind of BC. So  would like to pass the decision part to @freekmurze how to handle this problem/bug.

Yeah, originally I was just going to do strict checking for everything, however the tests were failing when I did that because $this->fresh() in method attributeValuesToBeLogged would return user_id as a string instead of an integer. So it would then log that user_id had been updated with a new value '3' and an old value 3.
However when implementing strict checking in my own project, it solves the problems I was having and doesn't have any issues with integers being returned as strings. I haven't really dug into why $this->fresh() is returning integers as strings in the tests but doesn't in my project. In my project they are just unsigned integers without any casting.

A bit of digging and I believe it has to do with SQLite being used for the test database of this package. SQLite and MySQL where the MySQL Native Driver isn't enabled will return integers as strings by default. For my project I am using MySQL with the MySQL Native Driver enabled for both tests and the application.
If you dd($article) after first creating an article in the tests it will show all integers as integers but if you dd($article->fresh()) it will show the integers as strings (except for auto-incrementing integers).

The difference between DB engines and the corresponding driver is enormous - our problem is that we have to support all of them.
Personal I define all types different from string in $casts. With this I have everytime a typesecure setup independent of DB.
I will also take a look in fresh() and if it could get replaced by anything else.
An idea could be to use the retrieved model event which is thrown after querying. This way we could store all attributes with the original value including the overloaded ones. My problem with this is that it will probably produce several useless queries if overloaded attributes do some.
So I will try to find a way to cast the old/fresh attributes the same way the current ones are casted to do typesafe comparison.

Doing something like this works and all tests pass, although I'm not sure if it's the most elegant solution: https://gist.github.com/adamlehmann/8e8051386c4783748037022ee1090689/revisions

Merging this one for now, feel free to open a new PR with the replacement/changes for the fresh() method if still relevant. Thanks!

Also, I'm considering a bug fix for the use case as seen in the tests. Will be tagged together with the feature version for Laravel 6 tho


Hyperparameter Optimization for NN Models

Is your feature request related to a problem?
Add Hyperparameter Optimization for Neural Networks, specifically Layer Sizes.
Desired solution
See the steps of #264. Implement a similar solution but for Neural Network Models
Possible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response

:tada: This issue has been resolved in version 0.27.0 :tada:
The release is available on:

v0.27.0
GitHub release

Your semantic-release bot :package::rocket:


[$250] Migrate DetailsPage.js to function component

Class Component Migration
Filenames

[ ] src/pages/DetailsPage.js

type: React.PureComponent
has state values: false
has refs: false
has context: false
lifecycle methods: componentDidMount

Task

We currently have some class components in our codebase that we would like to refactor to a function component.
Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
If you need additional guidance, please ask in #expensify-open-source
Test for any regressions and verify that there are no breaking changes

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01572a9c6f68e57013
Upwork Job ID:<PHONE_NUMBER>274601984
Last Price Increase: 2023-06-08

Heads up, I'm taking this issue off HOLD and making it a Daily. If you are unable to work on it please remove your assignment and add the External + Help Wanted labels as per this update.

Hi, just wanted to say I'm available to work on this if this goes external!

I'll decide by tomorrow if I'm going to take internal or release this one @esh-g :)

I can work on this issue if it goes to external.

I'd like to work on this issue

I'd love to work on this.

@esh-g Please let me know if you are no longer able to take this one. Otherwise, all yours! Just a gentle reminder, please only work on one React Class Component Migration issue at a time. Once you've merged this one, you're welcome to take on another.

@grgia Thanks for assigning me! Will be sure not to pick other migration issues until this one is merged 👍

I would be happy to help you with this conversation.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/r01c39559rjsebk4129vr5i6gshy54

@grgia PR is here! 🚀

Technical Solution Explanation for this issue
Here's an explanation of how to convert the given React class component into a functional component:
Remove the import React from 'react' statement since it's not needed in functional components.
Import the required dependencies and libraries used in the original class component, such as useState, useEffect, and other dependencies mentioned in the original code.
Define the prop types for the functional component by creating a propTypes object. Copy the prop types from the propTypes variable in the original class component and include any additional prop types used.
Define the functional component itself. Replace the class declaration with a function declaration, and pass the necessary props as parameters. Remove the render() method from the original class component.
Inside the functional component, use const to declare any variables that were previously declared with let or const within the class component. Make sure to update the references to props by removing the this keyword. Update any other references or function calls accordingly.
Replace lifecycle methods (such as componentDidMount, componentDidUpdate, etc.) with the appropriate useEffect hooks. Move the logic from the lifecycle methods into the corresponding useEffect hooks.
Update the return statement of the functional component to return the JSX elements. Remove the references to this.props and use the destructured props directly.
At the end of the functional component, export it as the default export.
If there are any higher-order components (HOCs) used in the original class component, such as withLocalize, withOnyx, or any custom HOCs, you can use the compose function from the lodash library to compose these HOCs. Wrap the functional component with the composed HOCs and export the result as the default export.
Include comments or additional documentation as needed to explain the changes and any other relevant details.
Once you've made these changes, the functional component should have the same behavior as the original class component. Remember to test the component thoroughly after making the conversion to ensure it functions correctly.

@grgia let me know when you have reviewed the PR from this comment, please! https://github.com/Expensify/App/issues/16230#issuecomment-1582480218

Will work on the payment for this one!

@0xmiroslav deleted my comment and your reply as they are off topic, my bad there! I will work on the payment for this one now!x

@zanyrenney bump for this issue 😇

@esh-g have sent offer on Upwork.
same for you @0xmiroslav

@zanyrenney I'm sorry I didn't receive the offer... This is my profile: https://www.upwork.com/freelancers/~0186b1d7cc69656f22
Also, I have sent a proposal for this

@esh-g - paid.

Closing the issue as there is no reporting bonus due here. and there is no bonus due as per - https://github.com/Expensify/App/issues/16230#issuecomment-1594370968


MDX Levels and Descendants Updates

New MdxLevelExpression class and associated methods. Integrated level expression support and flag support into descendants. Updated tests.

Nice one @rclapp. Very useful contribution!
I will test and merge this week.


Release 0.4.0

This is the preview of the 0.4.0 release
Changelog

FIXED (#31) Now handling children as numbers
FIXED (#51) Adding proper JSX support
REFACTORED The reconciliation algorithm, in order to use keys
ADDED The k property that can be used for hinting the reconciliation key
SWITCHED to brotli instead of gzip to maintain the 512 byte contractual limit

Regarding this bit...
https://github.com/wavesoft/dot-dom/blob/ddd6d50f9609b97f79ee9af10387598cfa19e7a5/src/dotdom.js#L235-L241
First of all, if this expression is running, don't we already know that the key didn't match, and thus the DOM node must be new?
Secondly, it looks like _prevnode isn't the "previous node", as I first thought - it looks like this is actually the "previous vnode", so if _prevnode did evaluate as truthy, you would actually end up passing a vnode object, rather than a DOM node, to insertBefore, which wouldn't work.
My suspicious is that _vnode always evaluates as falsy and the second expression after the || operator always executes - so I think you can actually just delete the _prevnode || part of the expression.
Am I wrong??

Not true.

_prevnode is the previous DOM element. It will be falsy in any of the following conditions:

This is the first time this element appears on this path or
The element has changed key (eg. changed it's type)

Note that a few properties from the VDom element are copied onto the DOM element in order to save some space by not carrying around the state variables. These are assigned here and defined here. That's why some time it's confusing to find out which is a DOM and which is a VDom element.

This particular branch does the following:

If this is the first time this VDom element appears:

It creates a new DOM Element (or a Text node accordingly)
It appends it on the DOM, at the expected order
It returns the new element in order for the parent function (updateDom) to reconcile the props

If the VDom element has changed type, it's key will be different and therefore a new node will be created. The same things as above will happen, however the replacement will happen in two steps:

It will place the new DOM element right before the previous DOM element
During the reaping phase the old DOM element will be deleted

If the DOM element exists and it's of the same type as the VDom element, the old instance is maintained and it's properties is being reconciled

Oh man, unpacking this code is really tricky... I wish like hell there was a tool that would automate these spooky compression patterns so no one would need to write code like this. 😐
Anyway, thanks for the explanation. 🙂

Oh, one thought about keyed updates: I noticed you use the user-supplied key and then fall back to a generated key, e.g.:
key = userKey || " " + elementType + nextIndexFor(elementType)

In my own experiments, the element type is always part of the key - something like:
key = elementType + " " + (userKey || nextIndexFor(elementType))

Otherwise, if we were to diff between, say,
 and , these would be seen as the same element, wouldn't they?

Any reason this got stranded here?
I think the only issue was the element-type missing from the key?
Other than that, it looks good to go?


Optimize csv parsing further

These are various performance experiments sitting on top of the patch for #452, and a test driver for the whole stack.  By using a custom hash table and some custom parsers to avoid allocations during csv parsing we reduce parsing time significantly without increasing memory use.  The complexity cost is moderate-ish -- hash tables are fickle beasts, and more can be done to tune this one, it uses too much memory now (10% occupancy) and the hash function is home-grown.
I'm making this a PR mostly to surface it and to have a place to keep comments and ideas.

This is obsolete now.


lane arrow tool detection of bidirectional lane connections has a bug.

Lane arrow tool does not reset lane arrows for lanes that have lane connections.
but the code to detect lane connections has  a bug if the lane is bidirectional:
        /// <summary>
        /// determines whether or not the input lane is heading toward a start node.
        /// </summary>
        /// <returns>true if heading toward and start node.</returns>
        private bool IsHeadingTowardsStartNode(uint sourceLaneId) {
            NetLane[] laneBuffer = NetManager.instance.m_lanes.m_buffer;
            ushort segmentId = laneBuffer[sourceLaneId].m_segment;
            NetSegment segment = GetSeg(segmentId);
            uint laneId = segment.m_lanes;
            bool inverted = (segment.m_flags & NetSegment.Flags.Invert) != 0;

            foreach (var laneInfo in segment.Info.m_lanes) {
                if (laneId == sourceLaneId) {
///////////////////////////////
// what if laneInfo.m_direction is both
///////////////////////////////
                    return (laneInfo.m_direction == NetInfo.Direction.Forward) ^ !inverted;
                }
                laneId = laneBuffer[laneId].m_nextLane;
            }
            throw new Exception($"Unreachable code. sourceLaneId:{sourceLaneId}, segmentId:{segmentId} ");
        }

This means if the there is a segment with junctions at both ends, and one side of it has lane connections, it can confuse lane arrow tool.

I imagine this is particularly problematic when it comes to things like single train tracks that allow bidirectional traffic with the Single Train Track AI?

Lane arrow tool does not support tracks

Network extension 2 has some roads with turning lane. the turning lane is bidirectional. For a small segment I have seen cars moving on it in both directions going through each other! I don't know if mass transit DLC would fix this.

No, Mass Transit doesn't resolve those issues. Maybe we need a "Single Road Track AI" 😄
From vague memory there are a few other workshop road assets that use 'both' for their "turning lanes", although many use a different trick: Two directional lanes (one forward, one backward) on top of each other lol.

Lane arrow tool does not support tracks

True, although once #734 is done we could potentially add lane arrow suport as a "direction-based alternative" to lane connectors?

Silly me! I should have tested things before speculating.
I tested my code is working fine. NExt2 does not use bidirectional lanes but rather two single directional lanes on the top of each other.
If any road does use bidirectional road lanes (i don't even know if that is possible) then TMPE will be unable to store the flags for both ends (because there is only memory allocated for one lane).

the NExt2 turning lane only has left turn prop but cars do go straight:

but that is an issue for NExt2

I found a new issue though. I cannot reset lane arrows after I remove the lane connection.

Is that only for NExt2 roads or all roads?


Underglow RGB LEDs not working on both sides

LEDS are off when I plug the keyboard and don't turn on on the RGB Toggle key press.
 They seem fine.
Here is the photo of the left (master) half of the keyboard:

Hi,
guess I had the same or a similar issue. In my case it was the bus controlling the WS2812 LEDs. Check the connection between each output and input if the solder joints are ok. Measuring between output and corresponding next input of the WS2812 LEDs (on top of the connectors) helps verifying if the LEDs are connected properly.
Good luck, I hope you get it to work soon!

Solved!  Now I figured out how to properly turn my json file from Configurator to keymap.c with json2c command in QMK SYS and compiled a normal firmware my underflow works normally.
It was pretty unintuitive, though - that if RGB_Enable is set to 'no' underflow not just disabled by default, but whole RGB functionality is disabled.


show delete button only on edit mode(playlist and groups section)

removed  condition from ng-if. public/app/partials/groups.jade , public/app/partials/players.jade , public/app/partials/playlists.jade


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 800

Questions ?
Please refer to the Backport tool documentation


fix(converter): normalize url

closes #4

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature: Improve Suggested prompts for StarSearch for Workspaces

Improve the suggested prompts for StarSearch for Workspaces. The question about React Server components currently in the list is very niche as a general suggested prompt.

@open-sauced/engineering @isabensusan @BekahHW, suggestions welcome for replacing the React question or any others, but mainly the React one.


fix: Issue where records are dropped because of set behavior

@falvarez1 that should fix your deadlock in #22

Perfect. I did the same in the other branch but I'll just merge this into it.

Perfect. I did the same in the other branch but I'll just merge this into it.

If you already have them - I'll drop this.


Bidi support

Hi, please if it is possible for you to add bidirectional language support in st. For now, it shows separate alphabet in wrong direction (LTR).
Maybe below links can help
Bidi in Terminal
Fribidi
Bidi Patch for DWM
BIDI Patch for Dmenu

It is duplicate #144  but if new material can help please solve this problem

It is duplicate #144  but if new material can help please solve this problem


X timer(s) still in the queue._ error when mat-sidenav 'opened' input is true

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Testing component with mat-sidenav and [opened]=true should run without X timer(s) still in the queue._ error.
What is the current behavior?
Running a spec for a component that has mat-sidenav and [opened]=true produces X timer(s) still in the queue._ error.
What are the steps to reproduce?
I have the following component:

  <mat-sidenav-container>
    <mat-sidenav [opened]="true" role="navigation">
      <mat-nav-list>
        Register
      </mat-nav-list>
    </mat-sidenav>

    <mat-sidenav-content>
      <router-outlet></router-outlet>
    </mat-sidenav-content>
  </mat-sidenav-container>

And the following spec:
import { fakeAsync, ComponentFixture, TestBed } from '@angular/core/testing';
import { NavbarComponent } from './navbar.component';
import { RouterTestingModule } from '@angular/router/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { MatSidenavModule, MatListModule } from '@angular/material';

describe('NavbarComponent', () => {
  let component: NavbarComponent;
  let fixture: ComponentFixture<NavbarComponent>;

  beforeEach(fakeAsync(() => {
    TestBed.configureTestingModule({
      imports: [NoopAnimationsModule, MatSidenavModule, MatListModule, RouterTestingModule],
      declarations: [NavbarComponent]
    }).compileComponents();

    fixture = TestBed.createComponent(NavbarComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  }));

  it('should compile', () => {
    expect(component).toBeTruthy();
  });
});

I am using jest as the test framework. When I run ng test I get the following error on the above spec:
NavbarComponent › should compile

    3 timer(s) still in the queue.

      at ../../node_modules/zone.js/dist/fake-async-test.js:604:27
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:388:26)
      at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (../../node_modules/zone.js/dist/proxy.js:128:39)
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:387:32)
      at Zone.Object.<anonymous>.Zone.run (../../node_modules/zone.js/dist/zone.js:138:43)
      at Object.testBody.length (../../node_modules/jest-zone-patch/index.js:50:27)

However if I change the opened input of mat-sidenav from true to false, the test runs fine. I thought that importing the NoopAnimationsModule in the test would solve the issue, as I guess the timers are for the animation of opening the sidenav, but that doesn't solve the issue.
I can workaround the issue by binding the opened input to a variable and setting it to false from the test, but I'd like to know what exactly is causing the issue and if there is a better way to solve it.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I'm using 6.1.0 for Angular, 6.4.7 for Material, and 2.9.2 for Typescript.
Thanks

It's due to the animations and importing the NoopAnimationsModule won't help because it only makes the animations instant, but the timers are still added. Closing the issue since we can't do much about it.


add more collator tests for null-aware semi join

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tiflash/issues/7079
Problem Summary:
The bug is fixed in https://github.com/pingcap/tidb/pull/42304.
Add more tests.
What is changed and how it works?
Check List
Tests

[ ] Unit test
[x] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/merge


linkt to performance guide is behind password request

This link is behind a authorization request.
Can you upload it to the repo on github or is it copyright-protected?

Fixed (the https is broken there for some reason)


Add global.json to templates

Closes #4138
Fixes dynamic compilation failing in templates due to MSBuild selecting the wrong .NET SDK version in RoslynTypeReferenceBuilder when user has newer versions installed.
Files are the same as those present in osu-framework and osu.
As mentioned in https://github.com/ppy/osu-framework/issues/4138#issuecomment-755862428, it would be nice to see these files as well as the templates as a whole addressed upon migration to .NET 5

Holding off on this pending potentially merging (and fixing the issue) via #4012.

Holding off on this pending potentially merging (and fixing the issue) via #4012.

Closing in favour of #4012.

Closing in favour of #4012.


InstagramService and Instagram objects do not implement Serializable (but are added to session anyway)

Hey Sachin,
Great product here. It's really been an enjoyment using it.
I am currently building a spring application which makes use of the jInstagram library. Session management is very important for a secure application.
In your example project you add two objects to the session.
org.jinstagram.Instagram
org.jinstagram.auth.oauth.InstagramService
However, this is in error. It's actually insecure, and prone to null pointer exception errors when retrieving objects from the session. Try running findbugs on code that adds an unserialized object to the session. Although it may work in your application, there is no session management built in. Things get finicky once using spring-session and redis session server.
Is there anyway you could have those two classes implement the java.io.Serializable interface? They would only need a generated serialVersionUID. Or if you could provide an interface for those two classes, then I could implement my own serializable objects. I'd be happy to contribute to the project if I could get that tested and pushed to maven.
I have tried to make some wrapper classes to handle this, but it's looking hacky. I could just pull out the classes from the jar and re-implement them, but I thought I would ask first, because technically that's another hack.
Thanks,
Borys H.N.

I've been playing around with pulling out the classes, and It's not just a simple matter of updating two classes to implement the Serializable interface. I apologize for that. All classes which are recursive dependencies of org.jinstagram.Instagram and org.jinstagram.auth.oauth.InstagramService must implement Serializable. This would require a larger update to the project. Please let me know if you'd like to collaborate on this, I think it would be a great addition to the project, otherwise I will just decompile the jar and make all necessary changes.

I think this will be difficult. As an example The java.net.Proxy does not implement Serializable and is used by org.jinstagram.Instagram, probably more classes has the same issue.
the Instagram class on the other hand does not seem heavy to recreate so can't you just create a new instance when one is needed and then just save the user key etc. in the session?

That is a nice and quick solution, thank you for bringing simplicity to my attention. I could also use a spring bean with a singleton scope to hold the Instagram and InstagramService objects, didn't think of that earlier either. However, I'm still concerned about the core functionality of the library. Don't get me wrong here though, your work is really nice, and I'm so happy to have found your library.
I've found out some more information though...
After testing decompiling the jInstagram-1.0.10.jar, the only classes that need to implement java.io.Serializable are...

org.jinstagram.Instagram
org.jinstagram.InstagramConfig
org.jinstagram.auth.InstagramApi
org.jinstagram.auth.model.OAuthConfig
org.jinstagram.oauth.InstagramService

The code base for the jInstagram-1.0.10.jar seems to be a little different than what's on github, so that's the only reason I decompiled the jar.
This is assuming you only want to keep track of Instagram and InstagramService in your session (as in your example project), which I think is a reasonable implementation.

The only thing a have against Serializable is that you're making a kind of binding contract which can be counter-productive for future changes.
We have been using it the way I described above for years in a multi user enviroment, and it works great.
As you mention yourself you can ofcause just use a Spring bean if you only need to configure it once.
PS. I didn't write the library, I'm just a user as yourself :-)

@slumx I gotcha, thank you for the reassurance. I'm happy to hear a testimony. I'm probably being too apprehensive, but I've got it working and feel confident in the established codebase still. I'd be happy with an extensible interface approach to the library, it's good protocol for future design too, but that's still me being apprehensive.

@BorysHN I'am sure that there is no reason to store org.jinstagram.Instagram instance in session scope. It's better to store Token (which implements Serializable) in session or maybe some of your class wrap over Token.
So i think it's no an issue.
P.S Maybe that example confuse you but it was changed a year ago - so i think it's just outdated.

@alatushkin most certainly. Simplicity flew over my head. It's a non-issue.


Suggested Vite-Processed Assets path is potentially outdated

Describe the bug
Hey, hope all is good,
https://nystudio107.com/docs/vite/#vite-processed-assets suggests we need:
vite.config.js:
server: {
   origin: 'http://localhost:3000/src/',
   host: '<IP_ADDRESS>',
}

Though with vite 2.6.14 where we have the following bg image set:
background-image:url(/src/images/marker.svg);

It gives us:
background-image<EMAIL_ADDRESS>
Looking at your docs I presume vite has changed the resulting path the dev server gives you instead with a new file-system based absolute path now.
Instead it looks like we need in vite.config.js:
origin: "https://localhost:3000",

which gives me:
background-image: url(https://localhost:3000/@fs/var/www/html/src/images/marker.svg);

(and a visible asset on the frontend)
Versions

Plugin version:  "nystudio107/craft-vite": "1.0.16",
Vite version: 2.6.14
Craft version:  "craftcms/cms": "3.7.13",

Addressed in: https://github.com/nystudio107/craft-vite/commit/62e3cd0e001b60c585d94e560129c9cc6be09e36

Might be worth updating the article too https://nystudio107.com/blog/using-vite-js-next-generation-frontend-tooling-with-craft-cms#vite-processed-assets

Just did thx @darylknight


[Improvement]: Equality field id are different in a RewriteFilesInput

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
tm_id=optimizer-kubed-bts-0-fo26ux-taskmanager-1-2
application_id=/default
java.lang.IllegalArgumentException: Equality delete files have different delete fields
	at org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument(Preconditions.java:143)
	at com.netease.arctic.io.reader.CombinedDeleteFilter.<init>(CombinedDeleteFilter.java:130)
	at com.netease.arctic.io.reader.GenericCombinedIcebergDataReader$GenericDeleteFilter.<init>(GenericCombinedIcebergDataReader.java:305)
	at com.netease.arctic.io.reader.GenericCombinedIcebergDataReader.<init>(GenericCombinedIcebergDataReader.java:97)
	at com.netease.arctic.optimizing.IcebergRewriteExecutor.dataReader(IcebergRewriteExecutor.java:68)
	at com.netease.arctic.optimizing.AbstractRewriteFilesExecutor.<init>(AbstractRewriteFilesExecutor.java:84)
	at com.netease.arctic.optimizing.IcebergRewriteExecutor.<init>(IcebergRewriteExecutor.java:46)
	at com.netease.arctic.optimizing.IcebergRewriteExecutorFactory.createExecutor(IcebergRewriteExecutorFactory.java:38)
	at com.netease.arctic.optimizing.IcebergRewriteExecutorFactory.createExecutor(IcebergRewriteExecutorFactory.java:25)
	at com.netease.arctic.optimizer.common.OptimizerExecutor.executeTask(OptimizerExecutor.java:148)
	at com.netease.arctic.optimizer.flink.FlinkOptimizerExecutor.executeTask(FlinkOptimizerExecutor.java:70)
	at com.netease.arctic.optimizer.common.OptimizerExecutor.start(OptimizerExecutor.java:52)
	at com.netease.arctic.optimizer.flink.FlinkExecutor.lambda$open$0(FlinkExecutor.java:59)
	at java.lang.Thread.run(Thread.java:750)

The process that have different equality field ids cannot be executed
How should we improve?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Subtasks
No response
Code of Conduct

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

Depending on the actual production scenario, idenetifier fields may change, resulting in constant failure of the optimisation task.
When filtering eq-delete records, can we do splitting based on different eq-delete ids in the optimizing task?
In Iceberg, it is possible to add different eq-delete predicates for all records with different eq-delete field ids.
cc @zhoujinsong @zhongqishang

Depending on the actual production scenario, idenetifier fields may change, resulting in constant failure of the optimisation task.

Yes, this is a common scenario, I think we need to support this feature.

When filtering eq-delete records, can we do splitting based on different eq-delete ids in the optimizing task? In Iceberg, it is possible to add different eq-delete predicates for all records with different eq-delete field ids. cc @zhoujinsong @zhongqishang

I think as you said, we can group by eq-delete ids and generate multiple predicates to filter the data.


Fix multi input

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest


cmd: Add auto-config URI's

This allows users to set custom auto-config URI's so that centralized
configuration can be employed. It also adds the plumbing and tools to
enable you to bake in the auto config URI into a self-built binary so
that a single executable will download the configuration from your
server.

Discussed offline. Let's move forward with this PR to unblock the new features.
Our plan is to focus on deliver Lite MVP, and we will perform a design review once the product definition is complete.
@amznpurple please complete the merge, since I don't have write access.
Thanks,
Oscar


Allow forking from existing loggers

Closes #13.
To avoid confusion with the semantics of Arc::clone, I have named the new methods as fork_xxx.
Unsolved Questions

[ ] Not sure if fn fork(self: &Arc<Self>) -> Result<Arc<Self>> (no modifier, just fork as is) is also necessary to add.

Not sure if fn fork(self: &Arc<Self>) -> Result<Arc<Self>> (no modifier, just fork as is) is also necessary to add.

I can't imagine a use case for this function. Is it necessary? What's the use case?


Start playing with camera modules

ESP32-CAM working, can only connect to 2.4GHz networks. The video quality is ok not too smooth, the frame rate is very low, but the image quality can be adjusted on the server.


invalid character '<' looking for beginning of value

2015/11/14 11:21:02 Panic recovery -> invalid character '<' looking for beginning of value
/usr/local/Cellar/go/1.5.1/libexec/src/runtime/panic.go:423 (0x42a9e9)
/Users/etcinit/go/src/github.com/etcinit/phabulous/app/controllers/feed.go:34 (0x5110dc)
/Users/etcinit/go/src/github.com/etcinit/phabulous/app/controllers/feed.go:26 (0x51265a)
/Users/etcinit/go/src/github.com/gin-gonic/gin/context.go:95 (0x512b2a)
/Users/etcinit/go/src/github.com/gin-gonic/gin/logger.go:56 (0x523fd1)
/Users/etcinit/go/src/github.com/gin-gonic/gin/context.go:95 (0x512b2a)
/Users/etcinit/go/src/github.com/gin-gonic/gin/recovery.go:43 (0x524b31)
/Users/etcinit/go/src/github.com/gin-gonic/gin/context.go:95 (0x512b2a)
/Users/etcinit/go/src/github.com/gin-gonic/gin/gin.go:294 (0x519582)
/Users/etcinit/go/src/github.com/gin-gonic/gin/gin.go:275 (0x5191b7)
/usr/local/Cellar/go/1.5.1/libexec/src/net/http/server.go:1862 (0x5d05be)
/usr/local/Cellar/go/1.5.1/libexec/src/net/http/server.go:1361 (0x5cdbfe)
/usr/local/Cellar/go/1.5.1/libexec/src/runtime/asm_amd64.s:1696 (0x45bf01)

Is you Phabricator instance returning HTML somehow while connecting through conduit?

I ran into this problem as well.  A simple update to the config file fixed it for me.  In the legacy branch, the api setting looked like this: https://phab.domain.com/api/, in the new Go version, the api setting looks like https://phab.domain.com.  If you're upgrading from the old version, be sure to take the /api off the end of your URL.

:+1:

Sorry how can I solved this problem?

I would make sure I'm using a recent version of Phabricator and Phabulous 2.3

Thanks, Its work now. But I also want to ask. I'm setup notice to other channel. But just channels: feed can be work?
channels:
The feed channel is where Phabulous will post every feed event to this
channel. Leave it blank to disable this feature.
feed: '#phabricator'
You can map repositories to a channel. This will send feed events regarding
commits and revisions to the specified channel.
repositories:
CALLSIGN: '#channel'
OTHERCALLSIGN: '#otherchannel'

In my case, this invalid character '<' looking for beginning of value was because Phabricator was returning 401 Unauthorized errors (with HTML in them). FYI.
Might wanna be more explicit about non-200 responses like this from Phab.


Security fix

Please read and mark the following check list before creating a pull request (check one with "x"):

[ ] I read and followed the CONTRIBUTING.md guide.
[ ] I read and followed the New Feature Checklist guide.

Short description of what this resolves:
Fixes #1

When merging to master is recommended to also merge: https://github.com/gpe-mw-training/bxms_decision_mgmt_foundations_lab/pull/3


Add german translation

This branch has merge conflicts, can you resolve those and commit the fix?

Is probably is because of the spanish remove-and-readd stuff but I don't know how to resolve this. I tried it via git clone and edit it, but it replaced the spanish characters with the question mark characters. Then I copied just the german translation and pasted it into the online editor and thats whats in the commit here...

Need to make sure not to mess up the encoding of the file when editing it.

And how do I do that? :smiley:

try not to use any weird encoding, since this stuff is rendered in HTML the safest way to do this is using HTML escape caracters. In spanish I removed all possible encoded characters and replaced them:
e.g.
á -> HTML(á)


How to do dropdown filed validation mandatory?

Hi Team,
I need drop down field mandatory. Now 1st value showing. instead of "Select" needed and required mandatory validation.
I added "Select" in database Module Fields and set ID ='0' but not reflecting.
Select
Please help.

Hi,
Module Field Type "Dropdown" Not showing Validation


pip install of 0.9.15 = No $GRAPHITE_ROOT/webapp/graphite exists

I'm at a loss as to what is going on here. I'm expecting /opt/graphite/webapp/graphite to exist but it does not.
Here's a fresh virtualenv + pip install of 0.9.15:
etc-metrics:etc-metrics# virtualenv /opt/graphite
New python executable in /opt/graphite/bin/python
Installing setuptools, pip, wheel...done.
etc-metrics:etc-metrics# cd /opt/graphite
graphite:etc-metrics# ls
bin  include  lib  lib64  pip-selfcheck.json
graphite:etc-metrics# source bin/activate
(graphite) graphite:etc-metrics# pip install whisper==0.9.15
Collecting whisper==0.9.15
Installing collected packages: whisper
Successfully installed whisper-0.9.15
(graphite) graphite:etc-metrics# pip install carbon==0.9.15
Collecting carbon==0.9.15
Collecting txamqp (from carbon==0.9.15)
Collecting twisted (from carbon==0.9.15)
Collecting zope.interface>=3.6.0 (from twisted->carbon==0.9.15)
Requirement already satisfied (use --upgrade to upgrade): setuptools in ./lib/python2.7/site-packages (from zope.interface>=3.6.0->twisted->carbon==0.9.15)
Installing collected packages: zope.interface, twisted, txamqp, carbon
Successfully installed carbon-0.9.15 twisted-16.1.1 txamqp-0.6.2 zope.interface-4.1.3
(graphite) graphite:etc-metrics# pip install graphite-web==0.9.15
Collecting graphite-web==0.9.15
Installing collected packages: graphite-web
Successfully installed graphite-web-0.9.15
(graphite) graphite:etc-metrics# pwd
/opt/graphite
(graphite) graphite:etc-metrics# ls webapp/
content
(graphite) graphite:etc-metrics#

As additional info, everything is correct when not using pip and instead building from source.

@jblaine,
I saw similar issue before, I suspect it's because of last changes in pip.
Could you please test is adding location options helps, like in https://graphite.readthedocs.org/en/0.9.15/install-pip.html#installing-carbon-in-a-custom-location but for /opt/graphite instead of /srv/graphite, e.g.
pip install whisper --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/opt/graphite/lib"
pip install carbon --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/opt/graphite/lib"
pip install graphite-web --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/opt/graphite/webapp"
If yes - then we need to update docs.

That works.
(graphite) webapp:etc-metrics# pwd
/opt/graphite/webapp
(graphite) webapp:etc-metrics# rm -rf graphite
(graphite) webapp:etc-metrics# pip install graphite-web --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/opt/graphite/webapp"
/opt/graphite/lib/python2.7/site-packages/pip/commands/install.py:180: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
  cmdoptions.check_install_build_global(options)
Collecting graphite-web
  Downloading graphite-web-0.9.15.tar.gz (2.3MB)
    100% |████████████████████████████████| 2.3MB 540kB/s
Skipping bdist_wheel for graphite-web, due to binaries being disabled for it.
Installing collected packages: graphite-web
  Running setup.py install for graphite-web ... done
Successfully installed graphite-web
(graphite) webapp:etc-metrics# ls graphite
account           composer      local_settings.py.example  metrics             settings.pyc  url_shortener  version
app_settings.py   dashboard     logger.py                  remote_storage.py   storage.py    urls.py        views.py
app_settings.pyc  events        logger.pyc                 remote_storage.pyc  storage.pyc   urls.pyc       views.pyc
browser           __init__.py   manage.py                  render              templates     util.py        whitelist
cli               __init__.pyc  manage.pyc                 settings.py         thirdparty    util.pyc
(graphite) webapp:etc-metrics#

FWIW
(graphite) webapp:etc-metrics# pip --version
pip 8.1.1 from /opt/graphite/lib/python2.7/site-packages (python 2.7)
(graphite) webapp:etc-metrics#

Cool! Thanks a lot for testing!
We have another pip install issue, it looks like pip didn't follow any deps and requirements automatically. Will try to find out what's going on.

I just encountered a similar problem trying to install graphite with pip and solved it by downgrading pip the following way, then retrying pip install pip==1.2.1

Have just encountered the same problem.
Looks like the problem has been known for at least 4 months now but the installation documentation under http://graphite.readthedocs.io/en/latest/install-pip.html still hasn't been fixed.
I use pip-8.1.2 and it doesn't install graphite under /opt/graphite, using /usr/local/lib/python2.7/dist-packages/opt/graphite/ instead.
What are my options here? Would using --install-option pip option solve this problem?

I can confirm this behavior, and it started with pip version 7.0.0. This can be worked around with the --no-binary=:all: pip argument (to disable wheels).
Related, from the pip version 7.0.0 release notes:

Support --install-option and --global-option per requirement in requirement files (PR #2537)
The use of --install-option, --global-option or --build-option disable the use of wheels, and the autobuilding of wheels. (PR #2711) Fixes #2677

At the very least we should mention this issue in our install docs.

@jblaine So we can't "fix" the docs for 0.9.15 since they're associated with the tag, which is associated with the pypi package, etc. Yay for python packaging once again. For the time being please make sure to use --no-binary=:all: when installing 0.9.15 and pip >= 7.0.0.
I will look at patching our setup.cfg in master to use that argument.

Note: installing from the master branch behaves as expected regardless of pip version.

It seems that installing from GitHub behaves as expected regardless of pip version even not on the master branch. E.g.:
pip install https://github.com/graphite-project/graphite-web/tarball/0.9.15

Any idea why this is?

It seems the problem isn't just related to where you got the tarball from (as in, the install mechanism used). The tarball on GitHub is actually different from the one hosted on PyPi! Compare the contents of https://github.com/graphite-project/graphite-web/tarball/0.9.15 with that of https://pypi.python.org/packages/b6/f3/7e4bae02f1a21cc29e9e9205bbc01aa29cdc6c696a996d41c1143e8935e3/graphite-web-0.9.15.tar.gz#md5=f4e80ba810fa83f57a62a2b8dd4e3545
Even if both packages are moved to a different web server and installed with pip install <url>, the one from GitHub gets installed to /opt/graphite/webapp/graphite_web-0.9.15-py2.7.egg-info/ while the one from PyPi ends up in /usr/local/lib/python2.7/dist-packages/graphite_web-0.9.15.dist-info/.
It's still unclear as to what specific difference between the two files is causing this.

Yep, pypi version (sic!) has following in setup.cfg
[install]
prefix = /opt/graphite
install-lib = %(prefix)s/webapp

Not sure how that section can do exactly opposite thing and bring package to /usr/local...

Actually, it looks like the contents don't really matter after all. While those two packages do have slightly different contents, whether they get installed to  /opt/graphite/webapp/graphite_web-0.9.15-py2.7.egg-info/ or /opt/graphite/webapp/graphite_web-0.9.15-py2.7.egg-info/ seems to depend entirely on the filename of the package when it gets installed by pip! :scream:
I conducted 4 tests, each with a freshly-built, identically configured VM, using pip 8.1.1 from the official Ubuntu Xenial apt repository. In both cases where I named the file graphite-web-0.9.15.tar.gz and installed with pip install ./graphite-web-0.9.15.tar.gz (regardless of whether I used the file from GitHub or the file from PyPI), Graphite was installed to /usr/local/lib/python2.7/dist-packages/graphite_web-0.9.15.dist-info/ and I got this output:
Processing ./graphite-web-0.9.15.tar.gz
Building wheels for collected packages: graphite-web
  Running setup.py bdist_wheel for graphite-web ... done
  Stored in directory: /root/.cache/pip/wheels/4c/f2/34/33e2da2971584766ab6c6f9d7cb2b7167b00d3ce9d9ef85104
Successfully built graphite-web
Installing collected packages: graphite-web
Successfully installed graphite-web-0.9.15
You are using pip version 8.1.1, however version 9.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

In both cases where I named the file test.tar.gz and installed with pip install ./test.tar.gz (regardless of whether I used the file from GitHub or the file from PyPI), Graphite was installed to /opt/graphite/webapp/graphite_web-0.9.15-py2.7.egg-info/ and I got the following output:
Installing collected packages: graphite-web
  Running setup.py install for graphite-web ... done
Successfully installed graphite-web
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

So... yeah. WTF, pip?!?! :frowning:

After running a few more experiments, it looks like it only installs under /opt if I don't include the string "graphite-web", "graphite_web", "graphite web" (or graphite<any separator here>web, presumably) in the name of the file:

File Name
Installs to
Other notes

graphite-web.tar.gz
/user/local/lib/...

graphite-web
N/A
Fails with: "Invalid requirement: './graphite-web'\nIt looks like a path. Does it exist ?" (Even though the file does, in fact, exist at that location. Maybe it was expecting a directory?)

graphite_web.tar.gz
/user/local/lib/...

"graphite web-0.9.15.tar.gz"
/user/local/lib/...

graphitexweb.tar.gz
/opt/...

graphite.asdf
N/A
Fails with: "Invalid requirement: './graphite.asdf'\nIt looks like a path[...]"

graphite.gz
N/A
Fails with: "Invalid requirement[...]"

graphite.tar
/opt/...

I'm wondering what's result has '--no-binary' flag on pip.

@Ajedi32 - I mean, it's known issue, see previous comment - https://github.com/graphite-project/graphite-web/issues/1508#issuecomment-244383013

@deniszh I'm dealing with some rather unique circumstances which make using the --no-binary flag especially difficult (see https://github.com/echocat/puppet-graphite/pull/309#issuecomment-262036477), so I'm exploring alternative options.

This still seems to be happening with the most recent version of Graphite. Running Python 3.8.2, pip 20.0.2 inside a virtualenv. These are the commands I'm using to install, taken straight from docs:
mkdir -p /opt/graphite
cd /opt/graphite
virtualenv .
source bin/activate

export PYTHONPATH="/opt/graphite/lib/:/opt/graphite/webapp/"
pip install --no-binary=:all: https://github.com/graphite-project/whisper/tarball/master
pip install --no-binary=:all: https://github.com/graphite-project/carbon/tarball/master
pip install --no-binary=:all: https://github.com/graphite-project/graphite-web/tarball/master

After the install, webapp/ only contains the content directory. If I instead use the commands from this comment, the install works as expected.

@snctfd : I'm suspecting that's because of virtualenv, it should be 16.x and not 20.x


Fix albumentations versions >= 1.4.11

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
I want to fix #11770 and allow more up-to-date versions of the albumentations library to be used in my transform pipeline.
Modification
This PR introduces very basic version parsing for albumentations in order to know whether the strict parameter for albu.Compose is supported, and passes strict=False if it is. If it isn't supported, fall back to not passing the strict parameter, which only works on albu <= 1.4.6.
BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
No.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMPreTrain.
The documentation has been modified accordingly, like docstring or example tutorials.

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

I'm wondering if it might be time for a fork????
No merges for 5 months @hhaAndroid any updates?


New builders

This PR migrates this repository from the standalone VBuilders to the new API in the generated message builders.

@alexander-yevsyukov, PTAL.


Remove final to allow overriding behavior in SimpleChannelPool

Netty version 4.0.33
I don't know if there is a reason to put final the class whereas there is some interesting behavior to override in the class io.netty.channel.pool.SimpleChannelPool and still using nice features offered by FixedChannelPool

@PierreCoquentin - Can provide some motivation for this change? Can you explain what you want to override?

I need to override io.netty.channel.pool.SimpleChannelPool.connectChannel(Bootstrap) to specify the remote address in the bootstrap before trying to connect. This remote address can change during the execution and thus cannot be provided at startup.
If this is a problem to change FixedChannelPool, in this case, instead of inheriting from SimpleChannelPool, perhaps using composition would be better ?

If the address changes, wouldn't you want to use another pool? Would AbstractChannelPoolMap be useful for you?

I already checked AbstractChannelPoolMap and I will probably use it in some of our projects which manage a pool of connection to several services. But for this one, it wouldn't be as easy and seamless integrated than simply overriding connectChannel in SimpleChannelPool.
But is there a reason that this class is declared final ? Perhaps I'm missing something

@PierreCoquentin - In general we try to restrict API access to the lowest level that makes sense. There were no apparent use cases where it would necessary to extend this class, but that doesn't mean we couldn't make it non-final if it makes sense to do so.  However can you describe why AbstractChannelPoolMap is not sufficient for your current use case?

I didn't say it wouldn't be possible, I say it would be less easy.
I would have to do more codes to integrate an AbstractChannelPoolMap. Furthermore, imho, this class is good where you have to manage during the execution of a service multiple pool of connections. That's not my case because, I have no more than 1 pool of connection opened at a time but with a remote address which can change during the lifetime of the service. So I will have to manage manually the pool which is no longer available and using a ConcurrentHashMap to access each time a connection introduces an overhead which can be unnecessary and avoidable just be overriding the SimpleChannelPool.
As I understand you pov, using composition solves the problem. Because you allow to override SimpleChannelPool as it's written in the javadoc, and then you can keep FixedChannelPool final. The user will just have to provide a modified SimpleChannelPool to its convenience and adding a default constructor which build a basic SimpleChannelPool for those who are satisfied with the default behavior.

@trustin WDYT ?

It seems to me that connectChannel(Bootstrap) being final is too restrictive. A user might want to perform some additional tasks before finishing the promise returned by connectChannel() instead of just returning the future returned by Bootstrap.connect(). e.g. TLS negotiation and WebSocket upgrade.
Perhaps we should not use Bootstrap at all?  That is, how about just defining a new interface for channel creation and initialization?
public interface SomebodyPleaseNameThisInterface {
    ChannelFuture connect();
}

public class Bootstrap implements ChannelConnector {
    ...
}

Then, we don't really need to have the connectChannel() method at all.

@trustin I was trying to do this at some point but had some problems because of how handlers are added to the Channel as there is no way to basically add them when the Channel is registered but only after it is already connected which may be too late.

@normanmaurer Why should you add a handler? Could you perhaps just add a listener to the Future returned by connectChannel()?

Because you may want to init the pipeline just like you do in the Bootstrap ?

@normanmaurer and I discussed about this in a chat, and what he said is that a user is expected to initialize a channel in a ChannelPoolHandler, and my proposal will make it impossible to guarantee that ChannelPoolHandler.channelCreated() is invoked right after registration (and not before channelActive).
However, a user can move the initialization logic to the interface I proposed, and then the problem will be solved. ChannelPoolHandler would be still useful as an event monitor.
For example, a user could implement the interface like this:
() -> {
    Bootstrap b = new Bootstrap(...);
    b.handler(new ChannelInitializer<>() { ... });
    return b.connect(myRemoteAddress);
}

@normanmaurer WDYT?

Closed by recent master branch rename. We should continue the discussion.

Filed a new issue for further discussion about SimpleChannelHandler API design - #4625
@PierreCoquentin Until this issue is resolved properly, you can always fork Simple/FixedChannelPoolinto your codebase and make the necessary changes.

We will keep our current own implementation of channel pool and I will wait the rework of SimpleChannelPool  to see if it's fit our need.
Merry Christmas


Top level syntax: .% not recognized as end token

Item#34

Half a fix

?- dif(X,1).%.
   dif:dif(X,1).
   ^^^^ new, intended?

Not wrong in any case


HDDS-10900. Add some health state metrics for EC container

What changes were proposed in this pull request?
This PR aims to add some health state metrics for EC container.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10900
How was this patch tested?
Unit Test.

In my project, CI succeeded. https://github.com/YuanbenWang/ozone/actions/runs/9204946948

@xichen01 @whbing Hello~! Would you plz help review this pr ? Thank you!

@sodonnel can you please review this?

@slfan1989 this is adding metrics, would you like to review?

@slfan1989 this is adding metrics, would you like to review?

@adoroszlai Thank you for inviting me to review this pr! I will provide my feedback as soon as possible.


Automatic Advantage Calculation

I've been running a game of WFRP in Foundry for about two months. I have all of the premium modules. At one point, a few games ago, I noticed that when a player succeeded in an opposed test in combat, advantage was automatically granted to them. While it wasn't consistent (no advantage was granted on successful range tests), it was a welcome feature as it reduced some of the manual work I have to do as a GM.
Sometime after that game, it stopped working. I no longer see advantage automatically granted under any conditions. My question is: Was this an actual feature? And was it removed? Because I'm beginning to think I was crazy and that it didn't exist at all. But my players and I definitely saw advantage being automatically granted, unless it was some kind of weird glitch.
Thank you.

This was never a feature, no, I know of someone who was toying with adding it with some success, but it's never been a thing in the system.

This was never a feature, no, I know of someone who was toying with adding it with some success, but it's never been a thing in the system.

So I am crazy? Man, I wish I knew what was happening. At the time l, I thought “oh, cool, he added this”. Oh well, thanks for confirming.

Yeah dunno, maybe it was a module that stopped working, no idea what it might be though.


Change Beta label to Experimental for relationships

What does this PR do?
Clarify the terminology since Appwrite Cloud is in Beta and the relationships feature is Experimental. This also matches the terminology used in the docs.
Test Plan
Create relationship attribute:

Edit relationship attribute:

Mobile:

Related PRs and Issues
None
Have you read the Contributing Guidelines on issues?
Yes

@sara-k-48, it is too big for phones as small as iPhone SE:

Perhaps we should hide on mobile?

Updated to hide the tag on mobile:


CyberChef.vm

What's the problem?
While installing Flare-VM, I kept running into installation failure (only 30 something packages installed) due to version dependency of cyberchef that requires Google Chrome version 114.0.5735.199 while the latest version is 115.x.x.x.
I had to manually edit cyberchef.vm.nupkg and update the cyberchef.vm.nuspec file and edit the installed version of Google Chrome
Steps to Reproduce
installing flare-vm using the installation script (install.ps1)
Environment
Dependency version mismatch, stops and refuse to install anything (even unrelated packages) due to CyberChef Requires Google Chrome 114.0.5735.199 (an outdated version) when the latest version is 115.x.x.x.
Detected by test suite
I don't know

This should have been fixed in #626.


SCB-565 Register instance with the same id will create redundant endpoint index data

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
 A more thorough check will be performed on your pull request automatically.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #346 into master will decrease coverage by 0.45%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master     #346      +/-   ##
==========================================
- Coverage   69.92%   69.47%   -0.46%
==========================================
  Files          17       17
  Lines        3412     3420       +8
==========================================
- Hits         2386     2376      -10
- Misses        861      880      +19
+ Partials      165      164       -1

Impacted Files
Coverage Δ

server/service/instances.go
71.13% <100%> (ø)
:arrow_up:

server/service/util/instance_util.go
48.92% <77.77%> (+1.17%)
:arrow_up:

server/service/util/dependency.go
53.92% <0%> (-2.62%)
:arrow_down:

server/service/rule.go
77.25% <0%> (+0.42%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage decreased (-0.4%) to 73.053% when pulling 743c850f64d210272d7a38ed17fe7b82624a19c5 on little-cui:master into f55a89ceacb4bebf79c33c917402076b2aeaed2d on apache:master.


Issues getting the web3modal to open up

Not sure, what i'm doing wrong here, i'm looked through both the vanilla js and ts examples to get it to work but to no avail. I'm trying to use it through a simple react hook, here's my code. Any help would be much appreciated, thank you
import React, {useState, useEffect} from 'react';
import Web3 from "web3";
import Web3Modal from "web3modal";
import WalletConnectProvider from "@walletconnect/web3-provider";
import Fortmatic from "fortmatic";
import Authereum from "authereum";
function App(props) {
  const [state, setState] = useState(props)
  async function init () {
    console.log('starting up');
    console.log("WalletConnectProvider is", WalletConnectProvider);
    console.log("Fortmatic is", Fortmatic);
    const providerOptions = {
      /* See Provider Options Section */
      walletconnect: {
        package: WalletConnectProvider, // required
        options: {
          infuraId: "3fd4907115b84c7eb48e95514768a4e8" // required
        }
      }
      authereum: {
        package: Authereum
      },
    };

    const web3Modal = new Web3Modal({
      // network: "rinkeby", // optional
      cacheProvider: false, // optional
      disableInjectedProvider: false,
      providerOptions // required
    });

    const provider = await web3Modal.connect();
    console.log(provider)
    const modal = await web3Modal.toggleModal()
    const web3 = new Web3(provider);
    const accounts = await web3.eth.getAccounts();
    const address = accounts[0];
    const networkId = await web3.eth.net.getId();
    console.log(address)
    setState({
      web3,
      provider,
      connected: true,
      address,
      web3Modal,
      networkId
    });
    await subscribeProvider(provider)
  }

  const subscribeProvider = async (provider) => {
    if (!provider.on) {
      return;
    }
    // provider.on("close", () => this.resetApp());
    provider.on("accountsChanged", async (accounts) => {
      setState({ address: accounts[0] });
    });
    provider.on("chainChanged", async (chainId) => {
      const { web3 } = this.state;
      const networkId = await web3.eth.net.getId();
      setState({ chainId, networkId });
    });
    provider.on("networkChanged", async (networkId) => {
      const { web3 } = this.state;
      const chainId = await web3.eth.chainId();
      await this.setState({ chainId, networkId });
    });
  };
  const onConnect = async () => {
    const provider = await state.web3Modal.connect();
    await subscribeProvider(provider);
    const web3 = new Web3(provider)
    const accounts = await web3.eth.getAccounts();
    const address = accounts[0];
    const networkId = await web3.eth.net.getId();
    setState({
      web3,
      provider,
      connected: true,
      address,
      networkId
    });
  };

  return (
    <div style={{zIndex: -2, position: "absolute"}}>
      <button onClick={init}>Check Out</button>
    </div>
  );
}
export default App;

I figured out that it defaults to metamask in my browser, I had to go to incognito to show the modal

This happens even if disableInjectedProvider is set to true.

did anyone find out the solution to this issue? i'm having the same issue. it is automatically accepting the injected provider (metamask), even when thedisableInjectedProvider is set to true. no modal is opening up.

It ended up fixing itself for me

I had the same problem because I was using the default localhost url and for some reason the browser automatically was detecting metamask instead of opening web3Modal window. The solution was to change the url of the localhost with my IP and the problem was gone.

anyone solved this? I have all the providerOptions properly set but it still automatically connects to metamask

anyone solved this? I have all the providerOptions properly set but it still automatically connects to metamask

Add this provider and see it work.
https://github.com/web3modal/web3modal/blob/HEAD/docs/providers/authereum.md

This worked for me. If on any chrome-browser, you can click the Application tab (if hidden, you can find this by clicking the arrow) and click "Clear site data"

This worked for me. If on any chrome-based browser, get on your developer console. Then you can click the Application tab (if hidden, you can find this by clicking the arrow at the top) and click "Clear site data"

^ This worked for me.
However I noted that if invoked web3Modal.clearCachedProvider() to disconnect from the app itself, it will prompt again the modal to select the different wallet providers configured, without need to manually "clear site data" from Application tab in the developer console.
@ShayanJa Did you have a disconnect button on your app? What was the code that it triggers?

This worked for me. If on any chrome-based browser, get on your developer console. Then you can click the Application tab (if hidden, you can find this by clicking the arrow at the top) and click "Clear site data"

^ This worked for me.
However I noted that if invoked web3Modal.clearCachedProvider() to disconnect from the app itself, it will prompt again the modal to select the different wallet providers configured, without need to manually "clear site data" from Application tab in the developer console.
@ShayanJa Did you have a disconnect button on your app? What was the code that it triggers?

Normally I think the cache is useful for recalling already connected wallet so no need to try to create a new connection each time you try to connect the wallet I think that’s why it probably auto connects itself. An ideal solution would be to add a provider that is not automatically injected like the one I mentioned, this will force the web3modal to pop up each time you call the connect function.

anyone solved this? I have all the providerOptions properly set but it still automatically connects to metamask

use  => await web3Modal.clearCachedProvider();
before await web3Modal.connect() and it will work fine.

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.

this is the first hit on google for web3modal no popup - if ur having this issue make sure you dont remove the infuraid key from provideroptions or web3modal doesnt fckin work
export const providerOptions = {
  walletconnect: {
    package: WalletConnect,
    options: {
      infuraId: "why is this required lmao"  //REQUIRED or no popup
    }
  }
};


chore: minor revisions to #3630 (throw on send failure)

Follow ups to #3630

@ggreif I'm seeing non-det behaviour from cancel-timer.mo. Maybe just suppress the output?

@ggreif I'm seeing non-det behaviour from cancel-timer.mo. Maybe just suppress the output?

Yeah, cancel-timer.mo needs another bump to the initial timer. I have seen the test failing too. But now it is rather rare.


ListLocationResponse Address definition does not correspond to result value

under the docs the ListLocationResponse should return a location with an Address that holds the property:
'address_line_1' as such:
{
  "locations": [
    {
      "address": {
        "address_line_1": "123 Main St",
....

The actual Address definition shows a property of :
addressLine1?: string;
However, this property is empty in real time and 'address_line_1' holds the data,
other camel case properties are mapped incorrectly as well

In the SDK, it should be the camelCase properties (see here: https://github.com/square/square-nodejs-sdk/blob/master/doc/models/address.md). The docs that show "address_line_1" say "(In JSON)" (so not the SDK model).
Basically, the actual API returns the data in under_score_notation (like "address_line_1"), but the Node JS SDK uses camelCasing in the models as it's more typical of Javascript.
Can you clarify what you mean that the camelCase "addressLine1" property is empty, and the other holds the data? If you're using the SDK model, there shouldn't be one or the other, there should be only one.

@StephenJosey thank you for taking the time to respond,
What is the pattern you suggest using if the SDK is in camelCase and the actual API result is in under_score_notation ?
What I've been expecting is that if I see in the SDK:
ApiResponse that contains camelCase properties, these properties would be populated.
And in this instance it is not the case as you mentioned above the API returns populated under_score_notation properties, and so I need to map them ?

I think maybe I'm misunderstanding here. The actual SDK model is always camelCase (it's an object, and the fields are camelCased). If you're solely using the SDK and not looking at the raw response, you shouldn't need to worry about the under_score_notation. If the API doesn't have a populated result for a field, I assume the camelCase field would be null. Can you share a concrete example?

Solely using the SDK, but the SDK calls the API, what am I missing here?
To give you a concrete example tried running the simple example, however I've encoutnered another issue,
`import { ApiError, Client, Environment } from 'square'
// Create an instance of the API Client
// and initialize it with the credentials
// for the Square account whose assets you want to manage
const client = new Client({
timeout:3000,
environment: Environment.Sandbox,
accessToken: process.env.SQUARE_ACCESS_TOKEN,
})
// Get an instance of the Square API you want call
const { locationsApi } = client
// Create wrapper async function
const getLocations = async () => {
// The try/catch statement needs to be called from within an asynchronous function
try {
// Call listLocations method to get all locations in this Square account
let listLocationsResponse = await locationsApi.listLocations()
// Get first location from list
let firstLocation = listLocationsResponse.result.locations[0]

console.log("Here is your first location: ", firstLocation)

} catch (error) {
if (error instanceof ApiError) {
console.log("There was an error in your request: ", error.errors)
} else {
console.log("Unexpected Error: ", error)
}
}
}
// Invokes the async function
getLocations()`
and I'm getting: Error:
Could not parse body as JSON.
 I copied/pasted the code as is, with my own access token, and it works correctly on my end.
What version of Node are you using? Are you doing anything extra to compensate for converting BigInts (extra libraries or anything)? I know there is this open issue as well: https://github.com/square/square-nodejs-sdk/issues/24 just wondering if this is something you implemented.

Node - v12.18.1
Nothing additional to convert bigint, and I'm not doing anything with the value it's just as in the example.
location_id: CF69ZFKDKYQS3
sanbox app id: sandbox-sq0idb-InQP_pPUsVWjbrQXm93ktA


v0.3.0: cgroup invalid file format

Here's another instance of "invalid file format":
below[707]: Nov 04 08:52:11.414 ERRO Invalid file format: "/proc/1880/cgroup"

# cat /proc/1880/cgroup
0::/user.slice/user-500.slice/user<EMAIL_ADDRESS>
I'm not sure if this may be fixed by https://github.com/facebookincubator/below/commit/80fb95e06ddc5f311e0c9dc20b19d00058ca39af because my distribution did not bump to 0.4.0 yet.

I've cherry picked 80fb95e and it seems to work. Closing.


intellisense Support for NodeJS 12.7+ package exports for js-require()

as discussed in #33079 the system does not support package.json export statements.
apparently, this started working for typescript but it's not supported at all in javascript based on my tests
I tried out this and IntelliSense just stopped working altogether:

Please provide concrete repro steps. A screenshot plus "it doesn't work" is not a repro.


Toggle Calendar Events

Not all agencies want calendar events. Create ability/setting to turn off calendar events.

We can just do this in "Triggers"


CRYPTO-68: Enable common code quality reports.

This adds the following reports to the site build:

findbugs (findbugs profile has been removed)
checkstyle (checkstyle configuration copied from commons-lang)
pmd
taglist
JavaNCSS

Furthermore the RAT configuration has been moved to the reporting
section of pom.xml

Thank @britter  for your contribution, I found the profile of findbugs have been removed at https://github.com/apache/commons-crypto/pull/48 , may I know how can we highlight the issues which are found by plugin? how about block something when the plugin found issues?

@sundapeng I didn't know about the Jenkins job which uses the Findbugs. I can restore the profile. But I think we should add checkstyle and pmd as well and call the profile jenkins.

Thank @britter for your contribution , I can find the result on mvn site, I think we can improve to block mvn site when the plugins found issues in future.

@sundapeng I think this has already been merged, right?
Do you want me to restore the findbugs profil for using it in CI?

Closing this for now. We can discuss the findbugs profile on the ML.