[FEATURE REQUEST] Add support for middlewares

Hi Ryan,
What do you think about adding support for Navigation Guards in order to allow middleware implementation like authorization.
Vue did it this way:
https://router.vuejs.org/guide/advanced/navigation-guards.html#global-before-guards
While I like all the possible hooks they deliver, having a beforeEnter on the route definition level could be already a life saver, and open tens of door for middlewares. The meta property with router events like willTransition and didTransition will be also a great replacement.

I've used these patterns before and implemented them in my other routers.  I agree there is something missing here even if just documentation as while data functions handle the typical cases I'm sure missing something. The idea here is to be non-blocking. You should probably view the data function as beforeEnter or any component level management. I think we probably could expose a few things for global hooks but I don't see things resembling exactly this.

I'm not sure if I'm missing something but how would I handle route guards that need to be async and wait for a promise to resolve first?
In my case I need to await a function that gets an user asynchronously. The route should wait until the promise is resolved and then either load if there is an user or navigate back to sign-in if not.
Would that be an use-case for such middleware functionality?

I've been thinking about this and I believe we can do something here. I'll lay out my thoughts and see if they make sense.
Expectations
The middleware feature should:

be optional opt-in
be asynchronous (ideally allow synchronous as well)
prevent rendering a route based on response/thowing/rejecting
allow redirecting
not block data functions (the data could be used for middleware logic)
be composable
tie into concurrent transition

Proposal

Add a new property willEnter/onMatch/middleware/? (TBD) to route definitions (ie. <Route />) which accepts a
function. The function will take essentially the same parameters as the data function:

data: value returned from the route's data function
location: current location which is about to be rendered
params: path parameters from location
navigate: function to change the location

The function will allow returning false or a void promise.

When a navigation occurs, the winning match (composed of one or more routes) will be determined. After the data functions have be called as normal, each middleware function will be called starting from the root, working toward the leaf. Note: Unlike data functions, a route's middleware will be called for each navigation where that route is part of the match.

If the function returns false (synchronously), the location will be reverted and no further middleware functions will be called
If the function returns a promise, the promise will be collected and the next middleware function called
If the navigate function is called synchronously no further middleware functions will be called, the navigation will be handled and the process will restart.
Errors thrown synchronously will not be caught (TBD)
All other values returned will be considered acceptance

After all middleware functions are called, any collected promises will be combined via Promise.all and read from a resource so they can trigger or be included in the concurrent transition when the author uses suspense. (This bit might be tricky)

If any middleware rejects, the combined promise will reject and location will be reverted
If the navigate function is called asynchronously, the combined promise will be rejected, the navigation will be handled and the process will restart.

When all active middleware have accepted by either returned something other than false, or their promise has resolved, the new components will be rendered. Note: a bunch of hand-waviness here on how to isolate location-driven changes any already mounted components might see and prevent them from updating until acceptance.

Thoughts
There are a number of technical challenges which will have to be worked out and there are still some things to figure out, but hopefully this provides a good starting point for an implementation plan. I'd like to hear feedback on this design and API, or hear alternative proposals.
Finally, while we consider this feature and potentially implement it, the best place to currently do this sort of work is in a route component which wraps your target routes. Here is an example of a very simplistic protected route implementation. Asynchronous logic could be done in the same way by utilizing resources to determine when to show or redirect while pending state would have to be handled by concurrent transitions/suspense. Maybe I'll try building a more realistic example.

This issue has been really nicely solved in Ember.js in 2013. I think we can really inspire as ever here and then I see those patterns being introduced as "Innovative idea" in many modern frameworks. Vue is one of those, as well as React router (in terms of API capabilities).
The most interesting things from it are transitions, beforeModel and router events.

https://api.emberjs.com/ember/release/classes/Transition
https://api.emberjs.com/ember/4.1/classes/Route/methods/beforeModel?anchor=beforeModel
https://api.emberjs.com/ember/4.1/classes/RouterService/events/routeDidChange?anchor=routeDidChange

Authorization, session load, blocking, data loading, navigation guarding... it's all solved thanks to these concepts.

Yeah the non-blocking transition model is where the challenge comes in. I'm a big fan of Ember Router. The webcomponent router I implemented back in 2014 was a nested router with these same middleware hooks very inspired by Ember router. So I'm super familiar with the patterns there. But this is also a very different world.
We need to consider why people are using these middleware and what patterns that promotes. The biggest thing is that with non-blocking patterns generally speaking you don't guard the page, you guard in the page. You need to consider this due to the lack of data anyway, so like if you hit a route and you can't synchronously determine if they are unauthorized it is no different than not being able to synchronously determine the data the route needs. And can be handled very similar to how one would handle a data error. Of this doesn't need anything special. Mind you it is common to section off a whole section of the app in which case having this logic in a shared parent route makes a lot of sense rather than spreading it around. This is largely why I don't see the need for the beforeEnter hook type things. You add another mechanism to do similar things. Does it really need to be blocking.. no. The beautiful thing about non-blocking is you always have the ability to block. But vice versa that isn't true.
The other thing which was cool was Ember had this will transition idea so that any handler on the page could prevent navigation when it was triggered asynchronously. This was really cool I have to admit and something that I wouldn't mind seeing back. It is interesting mind you because at that point is it routing or not? Maybe it doesn't matter.. Usually you'd use this to show like the, "Work unsaved do you want to continue?" I think this worth considering as that is really powerful feature and is hard to implement other ways.

Is There any update on middlewares? I badly need this feature.

After trying multiple workarounds this one is the only one I got that's working:
create a function in your project like this
export const AuthGuard = () => {
    const navigate = useNavigate();
    onMount(() => {
        const auth = useContext(AuthContext);
        if(auth.auth){
            navigate("/Dashboard", { replace: true})
        }
    });
}

and then called in the first line of the page component you want to apply the middleware to it.
as any other place you try to put the function in like in the component part or the element part of the router, it'll be working but the context won't load.
also trying to wrap the component function itself with it (like HOC in React) will give you the same result with the context not loading any data.
btw we really need the guard or middleware functionality in Solidjs as it's a mandatory functionality for any medium to large project (talking here about authentication and authorization which are essential parts of any project)

Related PR for useBeforeLeave hook

I'm also a fan of Angular's CanActivate / CanLoad route guards that trigger before navigation starts. (CanLoad actually prevents the lazy module loading from triggering at all, something that I don't believe Solid Router is capable of in its current solution)
A benefit to doing this before you wind up on the page and then waiting for async stuff is that it's kind of a bad user experience if someone clicks on a link, they're navigated to a a page full of spinners then bounce to a login page.  Especially with lazy loaded modules where we don't have the "CanLoad" support so now  we have to download the module, let it bootstrap, then let it realise it got no authorisation in its data payload and then bounce them
I'm still very new to Solid, and I skipped React completely so I'm freshly learning a lot of the patterns here both Solid unique and the ones it's inherited from React, so possibly I just haven't gotten used to these ways yet, but I'd say there's still a lot of benefit to having a blocking mechanism for routes before navigation starts, instead of just relying on every protected component path to have to check itself after load.

I make is somehow work with router check my fork at least https://github.com/puneetxp/solid-router
I am still very new to contribute to another code please check if you find any error let me know.
I just create a memo which should deal with the can return true or string.
String mean it have to redirect. true mean OK good to go. That function run on component level can detect login status change that way as i needed that way.
Again I work for solid for just 7 days i know very little hope we can help our-self i submit a feature request. A Maintainer can do till the point only.
We can do some update to router with path of redirect if we want but I lack clarity that time.


Prevent output of erroneous line-continuation before annotation comment

Fixes #1063
Changelog-friendly one-liner: Prevent output of erroneous line-continuation before annotation comment
Contributor checklist

[ ] Provided the tests for the changes.
[ ] Gave a clear one-line description in the PR (that the maintainers can add to CHANGELOG.md on release).
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Whoops, don't know what went wrong here :/  I'll try again.


Consider changing all TIMESTAMPs to time.time()

Currently, the Authserver stores dates/times using two different formats:

TIMESTAMP from sqlalchemy – used for six fields, in the DataTrust, Role, and User models.
time.time() – inherited from the OAuth2ClientMixin

On the Facet side, it would be nice to only worry about transforming one data type.
Also on the Facet side, the Epoch timestamp in UTC seems (a little) easier to deal with in JavaScript. (Basically, it comes down to transforming a string with a non-specific timezone vs. an integer with a precisely known timezone.)
@gregmundy - are you opposed to using an Integer field (time.time()) for all timestamps?

 As a Facet user, I want to see timezone-sensitive timestamps (or at least know the time zone of the timestamp).

@reginafcompton All timestamps are in UTC, wouldn't it be easier to simply have Facet convert the timestamp to whatever timezone you prefer?

@gregmundy - this issue does not concern the timezone per se (though it's related!). I am more concerned with having Facet handle both Epoch timestamps (which come from OauthClient mixin) and the human-readable timestamps from Sqlalchemy. (I am asking if we can change all timestamps to Epoch.)
Facet can mange both. But, I figure I may as well be a greedy front-end dev and ask for timestamps to be consistent across fields.

We might need to refactor some of the API code, e.g., modifying some of the actual queries. (Plus, we do not need Epoch precision for things like last_updated.) It is not worth the effort to make modifications here! Time will be better spent doing the work on the client side.


There was a problem following the installation instructions

My actions before raising this issue

[x] Read/searched the docs

Steps to reproduce
When I followed the installation guide, everything worked fine. But when I get to the create super admin step it fails.

Error
~/cvat$ docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

Traceback (most recent call last):
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection self.connect()
File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs)
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect self.connection = self.get_new_connection(conn_params)
File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs)
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection connection = Database.connect(**conn_params) File "/opt/venv/lib/python3.8/site-packages/psycopg2/init.py", line 127, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not translate host name "cvat_db" to address: Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/django/manage.py", line 21, in execute_from_command_line(sys.argv)
File "/opt/venv/lib/python3.8/site-packages/django/core/management/init.py", line 419, in execute_from_command_line utility.execute() File "/opt/venv/lib/python3.8/site-packages/django/core/management/init.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/venv/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv self.execute(*args, **cmd_options)
File "/opt/venv/lib/python3.8/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 79, in execute return super().execute(*args, **options)
File "/opt/venv/lib/python3.8/site-packages/django/core/management/base.py", line 397, in execute self.check_migrations()
File "/opt/venv/lib/python3.8/site-packages/django/core/management/base.py", line 486, in check_migrations executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "/opt/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in init self.loader = MigrationLoader(self.connection)
File "/opt/venv/lib/python3.8/site-packages/django/db/migrations/loader.py", line 53, in init self.build_graph()
File "/opt/venv/lib/python3.8/site-packages/django/db/migrations/loader.py", line 220, in build_graph self.applied_migrations = recorder.applied_migrations()
File "/opt/venv/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 77, in applied_migrations if self.has_table(): File "/opt/venv/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 55, in has_table with self.connection.cursor() as cursor: File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs)
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 259, in cursor return self._cursor()
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 235, in _cursor self.ensure_connection()
File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs)
File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection self.connect()
File "/opt/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection self.connect() File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs) File "/opt/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect self.connection = self.get_new_connection(conn_params) File "/opt/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 33, in inner return func(*args, **kwargs) File "/opt/venv/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection connection = Database.connect(**conn_params)
File "/opt/venv/lib/python3.8/site-packages/psycopg2/init.py", line 127, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not translate host name "cvat_db" to address: Temporary failure in name resolution

And I checked the service process and found that cvat_db is not enabled properly:
~/cvat$ sudo docker ps -a | grep cvat
f90f8d90ceca postgres:15-alpine "docker-entrypoint.s…" 8 minutes ago Restarting (1) 44 seconds ago
cvat_db
da9845a98192 cvat/ui:dev "/docker-entrypoint.…" 21 minutes ago Up 21 minutes 80/tcp
cvat_ui
cee0024ad7e1 cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_worker_annotation
976b0000ca25 cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_worker_import
303a994102aa cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_server
8c00ce976e21 cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_worker_webhooks
51cb5622695 cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_utils
018373cd6b37 cvat/server:dev "/usr/bin/supervisor…" 21 minutes ago Up 21 minutes 8080/tcp
cvat_worker_export
f7e0030d68ea redis:4.0-alpine "docker-entrypoint.s…" 21 minutes ago Up 21 minutes 6379/tcp
cvat_redis
bc468fc55a0c openpolicyagent/opa:0.45.0-rootless "/opa run --server -…" 21 minutes ago Up 21 minutes
cvat_opa

PS
Ubuntu version: 20.04.4 LTS
I don't know how to solve this problem, I haven't done anything to modify docker-compose.yml file. Along the way, I installed them in strict order.

And when I use the docker logs --details f90f8d90ceca , it prints:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 10, which is not compatible with this version 15.1

I tried to reformulate the cvat version according to the instructions in the documentation.
CVAT_VERSION=(v2.3.0 or v2.2.0) docker compose up -d
It has the same problem, I don't know if it is the version I chose, but currently these are stable versions...

CVAT_VERSION doesn't affect version of PostgreSQL version https://github.com/opencv/cvat/blob/develop/docker-compose.yml#L8, so you need to use latest stable 10.x version of postgres or upgrade your database data as described here
https://opencv.github.io/cvat/docs/administration/advanced/upgrade_guide/#how-to-upgrade-postgresql-database-base-image

When I tried to enter the ip address :8080 on another machine, the browser kept asking me, and then said I could not access the site.

I'm sorry, this is caused by my internal server problem, which I have solved. Thanks again for your reply.

@qinwang1023 I am facing the same problem. Can you provide some insight?

@qinwang1023 I am facing the same problem. Can you provide some insight?
Which the same problem ur facing?
a. Db error? If yes, just upgrade the database version according to the cvat manual or choose a lower stable version.
b. Not an access error? If yes, first make sure that u can access :8080 in the machine where cvat is deployed, and then check the ip set to ensure that it is an accessible LAN ip.

@qinwang1023 I am facing the same problem. Can you provide some insight?

Which the same problem ur facing?
a. Db error? If yes, just upgrade the database version according to the cvat manual or choose a lower stable version.
b. Not an access error? If yes, first make sure that u can access :8080 in the machine where cvat is deployed, and then check the ip set to ensure that it is an accessible LAN ip.


Provide a way to ignore specific errors/warnings

Expected Behavior
Have a way for a user to define specific errors/warnings/infos that they want to ignore and not show in the Problems section of vscode. May be via a plugin setting to list IDs of the messages user wants to disable, for example:
{
...
"arbeditor.supressedWarnings": [3, 7] // Disable no metadata for key and placeholder metadata errors
}

Actual Behavior
There is no way for a user to ignore a specific warning that the plugin generates while it validates the ARB file. For example, not defining metadata for key/placeholder.
Specifications

Version: 0.0.12
Platform: macOS

I agree. Seeing hundreds of such warnings is very annoying.


get traceId and log it

I know I can get traceId and log it in Java.  But with php sdk, how can I do this?
We put all logs in es and get all the call chain logs by searching  traceId.
Thanks.

Use skyAPM WEB UI

Use skyAPM WEB UI

...But I have something more detail  in my own log, WEB UI has less info.


Code functions

I my previous issue you tell me to understand the code , therefore i open this issue for get some idea of functions in code . Ok tell me why are you use tf micro folder and src folder in this code??

why are you use this command "xxd -i converted_model.tflite > model_data.cc"

Have you read the text in the screenshot you posted? It explains what this command is used for :)
Can you tell me which part of the text is unclear?
You need to convert the trained model into C code so that it can be embedded in the firmware and run on the ESP32.
I would like to think carefully on if this project is suitable for you. It is an advanced project that requires you to know python, machine learning and embedded development. I cannot teach you all of these things.
I would recommend that you just try and get the existing firmware working before you try and train a new wakeword.

I would recommend that you just try and get the existing firmware working before you try and train a new wake word

Ok thanks for your comment, I am 14 years old yet, therefore  i think i can not understand the code i have also study therefore mom limited the internet therefore i can't watch the long tutorials but leisure time i try projects using ESP 32.

No problem - I will help where I can. But definitely getting platformio up and running and trying the existing firmware would be a good start.

No problem - I will help where I can. But definitely getting platformio up and running and trying the existing firmware would be a good start.

Where  i start to make a firmware , i haven't a idea.

I use an I2S microphone then am I need to remove analog microphones ADC code from the firmware folder??

I use an I2S microphone then am I need to remove analog microphones ADC code from the firmware folder?? What programming language you used in this audio input file??

This file contains all the configuration you should need - https://github.com/atomic14/diy-alexa/blob/master/firmware/src/config.h
You should not delete any code.

This file contains all the configuration you should need - https://github.com/atomic14/diy-alexa/blob/master/firmware/src/config.h
You should not delete any code.

Ok i understood


05-flex-modal: The solution is wrong

The desired outcome image shows the close-button on the right hand side:

But, when pulling up the solution in my browser, this is what I get:

Either the initial html code is incorrect, or the solution html code is incorrect. I have figured out the correct solution, but wasn't sure if I should open a pull request to fix it. Not sure if it should be fixed in the index.html or solution.html?
The correct code is:

Are you sure you want to do that?

✖

Instead of:

Are you sure you want to do that?

✖

@hmsiegel  Per the README of this exercise:
"You'll need to edit the HTML a bit to get everything where it needs to be."
Therefore this is purposeful, as the user is meant to move the close-button div into the header div. Since there is nothing that needs updating in regards to this issue, I will be closing it. If you feel the instructions for the exercise could use improvement, please submit a new issue explaining any confusion, or you can submit a PR with a suggested change.

@thatblindgeye I understand that the user is meant to move the close-button div. My comment was more geared towards the included solution, which isn't showing the close-button in the correct position.


Task groups: Support for custom conditions

VSTS now doesn't support custom conditions on task groups. When can we expect to have the feature?

We have recently started spec'ing out this feature and will have a better idea about the timelines once it is spec'ed.
For now, I am assuming that you are replicating the conditions on the tasks of the task groups to workaround it.

This issue is stale because it has been open for a year with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days


Xcode 11.4

Cannot build by Xcode 11.4.
Xcode 11.2 - all ok on the same code.

Any updates on this ??

This is an annoying problem happening when using pre-built frameworks, here via Carthage.
What happens is that Carthage frameworks were built with a different version of Xcode (there are so many out there !). A useful command to know is carthage update [LibName] --no-use-binaries, which builds the Carthage dependency with the local version of Xcode :).
In our case we need to do
carthage update Stevia --no-use-binaries
carthage update PryntTrimmerView --no-use-binaries

This should solve the build, let me know if that worked on your side :)

I just pushed the fix with libraries built with latest Xcode (11.5)

The support from stevia has been removed from pod for higher versions of swift.
So just this can be fixed by integrating stevia as a package dependency solution to the project. this fixes it all.

Yep indeed, @Abhishek224 can you confirm that Cocoapods supports embedded Swift Package manager dependencies? If so this is a no-brainer indeed :)

We need to make sure this works with Carthage as well. I am going to experiment and will report back !

@Abhishek224 PryntTrimmerView does not support SPM at the moment, and it has embedded resources, which prevents adding support. On simple solution might be to manually link it.

Agreed to the approach, though once I would to like to play around that as well. Will post here if any updates

Libs have been updated for Xcode 11.6, closing this for now, we'll track the rest in separate issues.


Reduce the build times to fit in Travis limit.

Builds starting from a cold cache are failing to complete in the 50 minutes allowed by Travis CI. We need to figure out a way to reduce the build time, or increase the timeout, or both.

Is this still a problem since a lot of builds were moved to kokoro, or can this issue be closed?

The code coverage build is still on Travis and takes >50 minutes with a clean cache.  Let's close it for now because the workaround (two stage builds, with the first stage just warming up the cache) seems to be working.


Query regarding execution

Is visual studio required to run this project ?
Kindly give an explanation on how to run this project on Qt Creator.

I'm unable to run the project. Guide please


Skip VLAN interfaces for MAC address matching in netconf.findMatch

Fixes #1551 by not matching on MAC address if the interface type is a vlan. This also fixes vlan interfaces being created from vlan interfaces, eg. eth0.100.100.
There is a more pedantic way of doing this based on looking at the Vlans field in netConf, but I can't think of any configuration where this would be better than simply looking for MAC address matching and interface type being vlan. However, since I already did the work I'll include it here:
			if bytes.Compare(haAddr, link.Attrs().HardwareAddr) == 0 {
				if link.Type() == "vlan" && netConf.Vlans != "" {
					vlanDefs, err := ParseVlanDefinitions(netConf.Vlans)
					if err != nil {
						log.Errorf("Failed to parse VLANs definitions for %s: %v", netConf.Match[4:], err)
						continue
					}

					// Search for the link in the VLAN definitions of the netConf. Don't match VLAN interfaces since
					// the mac address is the same as the parent interface.
					for _, vlanDef := range vlanDefs {
						if vlanDef.Name == link.Attrs().Name || strings.HasSuffix(link.Attrs().Name, strconv.Itoa(vlanDef.ID)) {
							foundParent = true
						}
					}
				}

				// Don't match mac address of the bond because it is the same as the slave interfaces
				if link.Attrs().Name == netConf.Bond {
					foundParent = true
				}

				if !foundParent {
					// MAC address match is used over all other matches below
					return netConf, true
				}
			}

LGTM


Visual Studio Build Errors

I'm trying to build OSVR_RenderManager and I've successfully created the solution using CMake, however when I build I get several errors about being unable to find '..\bin\Debug\osvrRenderManagerd.lib'

Up near the top, there are errors finding SDL.h, which is causing it not to be able to build the library, which is causing it not to be able to link to the library.  We tried to configure CMake so it would not try and build things it didn't have, but it looks like the missing SDL2 library snuck through.  You'll need to build and install SDL2 and then point CMake at it to get things compiling.

Ok I installed the SDL2 development library and pointed CMake at it. I should note a few missing items I noticed. When building I still get build errors.

It looks like JsonCPP has been compiled Release and you're trying to compile the RenderManager with debug.  You can try compiling in Release or RelWithDebInfo.  Or you can recompile JsonCpp and install it in Debug.

Yep. That fixed it!

Thanks a lot,It worked.


HMSPROV-195 - UI for uploading new pubkey

[x] Add SSH public key step
[x] Add a new SSH public key form
[x] Add form validations (simple regex validation for public key format)
[x] Add wizard step validation (the next button is disabled until the step is validated)
[x] Add the pubkey name in the review step (with an indicator that it's a new key)
[ ] unit testing

https://user-images.githubusercontent.com/11807069/185220431-e89670ee-5c73-45a8-970d-cd31a6ad0482.mov

According to the mocks, the "Name" and "SSH public key" are supposed to open only after Pressing the "Add and save a new SsH public key"

According to the mocks, the "Name" and "SSH public key" are supposed to open only after Pressing the "Add and save a new SsH public key"

Good catch, but I think that can be done in a PR where we are adding the drop-down

@ezr-ondrej, Thanks for the review
I fixed the ssh validation, fixed console warnings regarding form issues
Tested and works well with #57


Not Much

There's really not much here but I want the latest version upstream if other people are gonna jump on it.

Also the three profiles = my gitconfig got blown up a multitude of times while I did it and I typed the wrong email.... so that's lame. Can rebase if anyone cares.

Yeah, a rebase would be good. Everything else is nice. :+1:


[Bug]: Dataflow Harness hangs after MemoryMonitor attempts to shutdown the VM

What happened?
Logs on a worker show:
Shutting down JVM after 8 consecutive periods of measured GC thrashing. Memory is used/total/max = 21801/23927/24549 MB, GC last/max = 99.96/165.74 %, #pushbacks=647, gc thrashing=true. Heap dump not written.
After logging this the MemoryMonitor class attempts to shutdown the VM with System.exit(1).
In this case the VM process remained running for a long period of time.
https://stackoverflow.com/questions/2614774/what-can-cause-java-to-keep-running-after-system-exit suggests that this could be due to finalizers.  Those might not necessarily be in beam but in loaded libraries due to the pipeline. It suggests a different mechanism for unclean shutdown which I think we should investigate using.
Issue Priority
Priority: 2
Issue Component
Component: runner-dataflow

.take-issue


Fix highlighting of CursorLine (and -Nr)

CursorLine: removed underline from cterm and matched ctermbg to guibg respectively
CursorLineNr: removed underline from cterm

Closes: #7185

Not sure why the freebsd_12 test is failing. Seems unrelated to the patch?

@romainl @habamax any opinion on this here?

@romainl @habamax any opinion on this here?

The bg=light changes seem OK to me with the default xterm palette, in both 8c and 16c:

It actually works better if the terminal's background is white:

The bg=dark change for CursorLine doesn't seem to work as intended on my end in 8c, though:

despite being OK in 16c:

Since there is no dedicated 8c path in the source code I think a different strategy, that works for 8c AND 16c, would be needed.
Additionally, I think that CursorLineNr should look exactly like CursorLine, but that's a very minor nitpick:

Oh, I can confirm the issue with 8 colors in dark bg mode. It seems this also affects CursorColumn (and nobody complained yet). So perhaps it's fine?

The underline that this PR removes is not super pretty but it was used for a very good reason: it works everywhere while the prettier alternative doesn't. Deliberately shipping a non-working feature to 8-colors terminal users seems like a slippery slope to me.

Right, so let's not do this. For anybody who wants to adjust this, it probably makes more sense to do this via a custom color scheme.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-27-main" 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 3363

Questions ?
Please refer to the Backport tool documentation


Normalize address in animal_event_found table

Goal
Normalize address in former_animal_owner table
Description
Suggestion to normalize is into street address and house number while house number is not a necessary field since sometimes it may be hard to determine next which house the animal was found. Current table structure:
CREATE TABLE animal_event_found (
    id SERIAL PRIMARY KEY,
    address VARCHAR(256),
    municipality_id INTEGER REFERENCES municipality(id) NOT NULL,
    date_time TIMESTAMP,
    animal_id INTEGER REFERENCES animal(id) ON DELETE CASCADE NOT NULL,
    comments TEXT
);

I did it! :)

@ieva1919


install and update error message?

hi i got his message when installing and updating Rust
ERROR: ld.so: object '/usr/lib/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
system is debian jessie 64 bit 8gb ram

Please, see this https://github.com/dgibbs64/linuxgsm/issues/915

Closing, see #915 as @UltimateByte said


Adding deleteMessage function

What?
Adds the deleteMessage function.
Why?
It exists in the REST API, and would save having to extend Chatkit.

v1 has this feature


Remove stale information

more up to date information available elsewhere

@shcummin : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@shcummin - You state "more up to date information available elsewhere", could you provide a link to what information you are referring to?
Thanks

#sign-off


Create group provider configuration for product tests

It allows extending with new group providers by mounting different group-provider.properties files.

Please add a test in TestNoOpPlugin too

@findepi If tests are green, could you merge this? I don't have permissions for that.

@MiguelWeezardo sure, can you ping me when green?


Unhandled Runtime Error TypeError: event is undefined

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
/* eslint-disable no-console */
import { useRef } from 'react'
import { Graph } from 'react-d3-graph'

// See also: https://github.com/danielcaldas/react-d3-graph/blob/master/README.md#minimal-usage-example
const PinnedGraph = () => {
  const graphRef = useRef(null)
  const data = {
    nodes: [{ id: 'Harry' }, { id: 'Sally' }, { id: 'Alice' }],
    links: [
      { source: 'Harry', target: 'Sally' },
      { source: 'Harry', target: 'Alice' },
    ],
  }
  const myConfig = {
    nodeHighlightBehavior: true,
    node: {
      color: 'lightgreen',
      size: 120,
      highlightStrokeColor: 'blue',
    },
    link: {
      highlightColor: 'lightblue',
    },
  }
  const onClickNode = (nodeId: string) => {
    // window.alert(`Clicked node ${nodeId}`)
    console.log(nodeId)
  }
  const onClickLink = (source: string, target: string) => {
    // window.alert(`Clicked link between ${source} and ${target}`)
    console.log(source, target)
  }

  return (
    <>
      {typeof window !== 'undefined' && (
        <div style={{ border: '1px solid red', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
          <Graph
            ref={graphRef}
            id="graph-id" // id is mandatory
            data={data}
            config={myConfig}
            onClickNode={onClickNode}
            onClickLink={onClickLink}
          />
        </div>
      )}
    </>
  )
}

export default PinnedGraph

Expected behavior
Click -> console.log()
Screenshots

Environment:

OS: Ubuntu 20.04
Browser ff
Version 87.0
Node version 12.17.0
react-d3-graph version ^2.6.0
d3 version ^5.5.0
react version 16.13.1

Additional context

Hi @pravosleva ,
react-d3-graph is not compatible with d3@6 for now and you should use<EMAIL_ADDRESS>I copied your code to this sandbox and it is indeed failing with d3@6, but workig with<EMAIL_ADDRESS>(you can change the d3 version on the bottom left and see the difference).
Does changing d3 version solve your problem?

Closing this as a duplicate of #434


Add a way to deactivate secured or unsecured endpoints

integrated in master (commit 61ed8cac0dfb1e315af993af81904bc96cf7fa78, d6735a243d9258e6c1a44a75ee1e0144e67c4035, 008f8d40d87217dea43773ddd7c8a63dc43843e6, 3b52d54edcd2675ea5eac1d348f2855e93a1bde7)


added official bitcoin talk link

Description

based on announcement via our Discord Forum From Mr Thomas

@kauffj do you think we should have BCT linked from lbry.io?

@tzarebczan no

@tzarebczan you could post on our forum about it


when build apk, occurred error: Could not create plugin of type 'AndroidMavenPlugin

`Error:(2, 1) A problem occurred evaluating project ':woocommerce'.

Failed to apply plugin [id 'com.github.dcendents.android-maven']
Could not create plugin of type 'AndroidMavenPlugin'.`

The issue has been fixed now. Please check and confirm.
I have also added the documentation for using the library. More docs coming soon.


voluptuous error on or condition list.

Home Assistant release (hass --version):
0.28.2
Python release (python3 --version):
3.4
Component/platform:
rpi jessie
Description of problem:
Voluptuous throws an error on an or condition list.
voluptuous.error.MultipleInvalid: not a valid value for dictionary value @ data['conditions'][0]['condition']

Problem-relevant configuration.yaml entries and steps to reproduce:
automation:
  - alias: switch off lights when lux > 1000
    trigger:
      platform: numeric_state
      entity_id: sensor.light_lux_sensor_2_0
      value_template: '{{ state.attributes.V_LEVEL }}'
      above: 800
    condition:
      condition: or
      conditions:
        - condition: state
          entity_id: group.living
          state: on
        - condition: state
          entity_id: group.dining
          state: on
        - condition: state
          entity_id: group.bar
          state: on
    action:
      - service: light.turn_off
        entity_id:
          - group.living
          - group.dining
          - group.bar
      - service: notify.notify
        data:
          message: lux levels above 1000. Switching lights off downstairs.

Traceback (if applicable):
16-09-26 13:14:40 homeassistant.bootstrap: Error during setup of component automation
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/bootstrap.py", line 102, in _setup_component
    result = component.setup(hass, config)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/automation/__init__.py", line 165, in setup
    success = _process_config(hass, config, component)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/automation/__init__.py", line 287, in _process_config
    cond_func = _process_if(hass, config, config_block)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/automation/__init__.py", line 352, in _process_if
    checks.append(condition.from_config(if_config))
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/condition.py", line 37, in from_config
    return factory(config, config_validation)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/condition.py", line 65, in or_from_config
    config = cv.OR_CONDITION_SCHEMA(config)
  File "/usr/local/lib/python3.4/dist-packages/voluptuous/schema_builder.py", line 192, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.4/dist-packages/voluptuous/schema_builder.py", line 486, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.4/dist-packages/voluptuous/schema_builder.py", line 324, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: not a valid value for dictionary value @ data['conditions'][0]['condition']

Additional info:

Needed to have quotes around 'on'.....


Feature: Allow execution of scripts from a referenced resource

Idea
Instead of providing a script header, I can also provide a scriptSource header that contains a reference towards the actual script, for example:
classpath:scripts/my-script.js, file:/opt/app/resources/my-script.js, https://some-github-raw-url

done with #320


[WIP][SQL] Add DataSourceSuite validating data sources limitations

What changes were proposed in this pull request?
This test suite aims to test if underlying data sources supports Spark data values limits and PPD.
How was this patch tested?
Pass the Jenkins.

Hi, @gatorsmile .
This is the poc on new ORC data source. Please note that old ORC uses different packages and apis.

Test build #81155 has started for PR 19060 at commit 0bf9ad2.

Test build #81155 has finished for PR 19060 at commit 0bf9ad2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81155/
Test FAILed.

Merged build finished. Test FAILed.

Test build #81157 has started for PR 19060 at commit 16031ac.

Test build #81157 has finished for PR 19060 at commit 16031ac.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81157/
Test PASSed.

Does ORC/Parquet have the related test cases? Could we just port them?

For ORC, I was able to find some random-generated float/double tests, but there is no value-limit test. For Parquet, I'm not sure.

For predicate push-down, I ported ORC code already in this PR.

BTW, from the text-based format, I thought we can include JSON at the beginning. But, unfortunatly, I found that currently Spark use BIGINT for all numeric, DOUBLE for float/double, and STRING for DATE/TIMESTAMP/STRING. Simply, checkValue fails. I think we may cover Parquet and ORC only.

The ORC test is very specific to the impl. No end-to-end test cases?

In ORC GitHub, up to my knowledge, this is the highest level.
val reader = new OrcInputFormat[OrcStruct]().createRecordReader(split, attemptContext)
... reader.nextKeyValue()
... reader.getCurrentValue
... row.getFieldValue(0).asInstanceOf[IntWritable].get

Actually, I have one idea. If we support unhandledFilters in data source testing by SQLConf, we can do in Spark level like value limit case. How do you think about that? May I try that way?

How about Parquet and the others?

Parquet is the same. We can use unhandledFilters for PPD.
I think that the others text-based data sources(TEXT/CSV/JSON) doesn't support PPD.

If you agree, I will try to write more code here as POC.

I mean, how about Parquet and the others? Do they have the e2e test cases in their projects?

For Parquet, I can find TestInputOutputFormat.java. Parquet also has a test case which is very specific to the impl, too.
What do you mean by e2e test case not specific to the impl. exactly? Sorry, but could you provide an example?

Test build #81298 has started for PR 19060 at commit 104f24c.

Previous parquet link is broken. The official one is https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java

Test build #81298 has finished for PR 19060 at commit 104f24c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81298/
Test PASSed.

Hi, @gatorsmile .
I make it to use more higher level in test("orc - predicate push down".
How do you think about this approach?

Test build #81318 has started for PR 19060 at commit 4466325.

Test build #81318 has finished for PR 19060 at commit 4466325.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81318/
Test PASSed.

Test build #81365 has started for PR 19060 at commit fb72c89.

Hi, @gatorsmile .
I believe I understand your advice correctly at this time.
Could you take a look at this data source verification PR?

Test build #81365 has finished for PR 19060 at commit fb72c89.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81365/
Test PASSed.

Today, I've re-considered this PR from the bottom and from the beginning.
To sum up, I realized that I've been wasting committer's review time. Especially, sorry for your effort, @gatorsmile !
As you recommended, I had better focus ono individual test suites more.

So far, the coverage of OrcFilterSuite and ParquetFilterSuite are not good.
They only have very basic checks. Could you improve them?

I'll close this PR for now. Thank you for giving me your advice!


Amend Nagios/Ansible Config Role To Create Service Groups Config File

Updated the Nagios_Config playbook to create the Hostgroups.cfg file that contains a service group entry for each of the group types in the inventory
Fixes #2864
signed off by @lumuchris256
cc @steelhead31 @Haroon-Khel @smlambert

This PR will require changes, on a clean run of the playbooks..I get this error..
TASK [Nagios_Config : Run Create Nagios Hostgroups script] *********************
fatal: [localhost]: FAILED! => {"changed": true, "msg": "non-zero return code", "rc": 1, "stderr": "Traceback (most recent call last):\n  File \"/home/vagrant/.ansible/tmp/ansible-tmp-1675167368.6075487-39101-189259814438941/Create_Nagios_Hostgroups.py\", line 20, in <module>\n    Nagios_Service_Types = sys.argv[3]\nIndexError: list index out of range\n", "stderr_lines": ["Traceback (most recent call last):", "  File \"/home/vagrant/.ansible/tmp/ansible-tmp-1675167368.6075487-39101-189259814438941/Create_Nagios_Hostgroups.py\", line 20, in <module>", "    Nagios_Service_Types = sys.argv[3]", "IndexError: list index out of range"], "stdout": "", "stdout_lines": []}
I'll do some investigation and try and find out what isnt working.


Fix Footer Link Padding

Noticed that the thank you sponsors link in the footer had extra padding which makes it sit weirdly in the sentence (looks like it has extra spaces on either side).
This fixes it, in theory, by only adding padding to the list item links (the navigation bar items).
Edited via GitHub, untested. Can verify once I'm on my laptop but this should only impact the "all our sponsors for their generosity" link and fix the extra padding before and after.

Thanks James! I'll test, lint, and merge this later today.

From looking at the snapshots, this actually fixed a very small misalignment with the site title/logo, too!

Ahh that was totally my intention 👀😂
Thanks for picking that up Dave, and sorry for the half ass job finishing/testing.
It just randomly caught my eye this morning and wanted to make a reminder for myself aha


Dependency updates

Update dependencies and things, remove some out-of-date things from readme

The versions spread across package files make me wonder if we should try to find a way to centrally define/manage them - I always end-up forgetting to update them...

The versions spread across package files make me wonder if we should try to find a way to centrally define/manage them - I always end-up forgetting to update them...

Yes it's not ideal. At the least the display in the frontend should not be hard-coded (should take from package, or env)
Whether the "backend" of the Tenant UI and the frontend have independent versions... that probably still makes sense as they are 2 separate node packages


Story Method

There is no method to view the history, so that it is marked as viewed. How I can do this?

make sure update to version 1.1
try! handler.markStoriesAsSeen(items: items, sourceId: nil, completion: { (result) in
    if result {
        //...
    } else {
        // ..
    }
})

You can sample items parameters?

22 июня 2019 г., в 21:35, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
try! handler.markStoriesAsSeen(items: items, sourceId: nil, completion: { (result) in
if result {
//...
} else {
// ..
}
})

try! handler.getUserStory(userId: user.value!.pk!, completion: { (result) in

    let items = result.value!.items!
    try! handler.markStoriesAsSeen(items: items, sourceId: nil, completion: { (result) in
        exp.fulfill()
    })
//....

I have errors

22 июня 2019 г., в 21:40, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
try! handler.getUserStory(userId: user.value!.pk!, completion: { (result) in
let items = result.value!.items!
try! handler.markStoriesAsSeen(items: items, sourceId: nil, completion: { (result) in
    exp.fulfill()
})

Describe what you doing
Describe steps
Attach your code
Attach screenshot

Step one

In first, I’m login in my account, with support Siwa ( Very good work )

I have a button on my storyboard -> Func fetch request ( down )

When a put a button, call func testGetUserStory ( return a user id )

Func mark is called, if result = true, and in func mark ( I put new request ( markAsSeen )

22 июня 2019 г., в 21:57, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
Describe what you doing
Describe steps
Attach your code
Attach screenshot
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TheM4hd1/SwiftyInsta/issues/26?email_source=notifications&email_token=AL5WLBUKXE2CE66ELTH6QB3P3ZY3DA5CNFSM4H2S7SGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYKPOCA#issuecomment-504690440, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5WLBQRIJ47DAWZQVIJZRLP3ZY3DANCNFSM4H2S7SGA.

you didn't attached the info I requested. I can't help you when I don't know what your error is.

try to find userId of the user you want receive stories from.
call handler.getUserStories function
extract Items: [TrayItems] from result you receive in step 2
call handler.markStoriesAsSeen function to mark stories as seen.

If you had any error, please attach the code + screenshots and error.

I do) did you get my screenshots? I sort of described everything

22 июня 2019 г., в 22:17, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
you didn't attached the info I requested. I can't help you when I don't know what your error is.
try to find userId of the user you want receive stories from.
call handler.getUserStories function
extract Items: [TrayItems] from result you receive in step 2
call handler.markStoriesAsSeen function to mark stories as seen.
If you had any error, please attach the code + screenshots and error.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TheM4hd1/SwiftyInsta/issues/26?email_source=notifications&email_token=AL5WLBT7NXQ2S5YCLCWMN2DP3Z3FJA5CNFSM4H2S7SGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYKPXEQ#issuecomment-504691602, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5WLBSOWSGOUYXYOROZSSDP3Z3FJANCNFSM4H2S7SGA.

No, there is no screenshot here.
Send them to my email.

Step one

In first, I’m login in my account, with support Siwa ( Very good work )
I have a button on my storyboard -> Func fetch request ( down )
When a put a button, call func testGetUserStory ( return a user id )
Func mark is called, if result = true, and in func mark ( I put new request ( markAsSeen )

22 июня 2019 г., в 22:39, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
No, there is no screenshot here.
Send them to my email.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TheM4hd1/SwiftyInsta/issues/26?email_source=notifications&email_token=AL5WLBWQEKBQTTUKMAQBV5LP3Z5W5A5CNFSM4H2S7SGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYKQBUI#issuecomment-504692945, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5WLBUK7IVMWOBXPVJ3LGDP3Z5W5ANCNFSM4H2S7SGA.

Did you get?

22 июня 2019 г., в 22:39, Mahdi Makhdumi<EMAIL_ADDRESS>написал(а):
No, there is no screenshot here.
Send them to my email.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TheM4hd1/SwiftyInsta/issues/26?email_source=notifications&email_token=AL5WLBWQEKBQTTUKMAQBV5LP3Z5W5A5CNFSM4H2S7SGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYKQBUI#issuecomment-504692945, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5WLBUK7IVMWOBXPVJ3LGDP3Z5W5ANCNFSM4H2S7SGA.


upgrade to the latest object-keys

https://github.com/ljharb/object-keys
right now, npm logs:
npm WARN deprecated<EMAIL_ADDRESS>Please update to the latest object-keys

This fix was published in 2.2.0. If you upgrade to a newer version of xtend, you should be good.
https://github.com/Raynos/xtend/commit/5c61e0b9dfe6cc9e14bf95829312d3e47adca26a

oh hmm. i guess i opened this without checking the current version. it's a 3rd party module that's using an old version of this module. :(


parler triggers RemovedInDjango18Warning

.../parler/forms.py:163: RemovedInDjango18Warning: Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is deprecated - form EventAdminForm needs updating
  return super(TranslatableModelFormMetaclass, mcs).__new__(mcs, name, bases, attrs)

Closing, parler supports 1.8 / 1.9 for a while now.

@vdboor has the warning been resolved? This was not actually an error but rather a warning generated in the console.

I'm not getting this warning anymore. It's fixed with the Django 1.8 support fixes (as RemovedInDjango18Warning became an error in 1.8)

:+1: awesome, thanks for the feedback @vdboor


Fix OpenAPI TypeScript types

Closes HJ-17
Code Changes

[ ] Brings OpenAPI types back up to date
[ ] Few small changes to resolve TypeScript errors

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
[ ] Issue Requirements are Met
[ ] Update CHANGELOG.md

@gilluminate General regression, the only real manual change aside from adding some fallback []s was changing classifications (in the old classifier flow, not D&D) to rank based on score instead of aggregated_score which no longer exists.


Clarify the behaviour of slicing adverbs

I think we could make it clearer that slicing adverbs on hashes etc. are defined on the operators themselves (see Hash#Subscript_Adverbs, for example); I remember reading through the docs a while back and wondering how :exists interacted with indexing.
Explicitly documenting that these adverbs are just arguments to the postcircumfix:<{ }> multi would probably makes things clearer for beginners.

First pass: cb4a699.

It probably doesn't make sense to replicate adverb documentation on Array, List etc. as they link to Subscripts in their preambles. (List briefly mentions its subscript adverbs under grep.)
Leaving as a small change to Hash, operator clarification on Signatures; closed by cb4a699.


Fixed casting problems in ExecuteUtils breaking EnumerableHelpers

Average, Min, Max and Sum functions in EnumerableHelpers was broken due to casting bug in ExecuteUtils
Improved error messages
Added Tests using these methods

@HenrikHoyer

You can mark the comment comments which are fixed as "resolve conversation", this makes it easier to see which one are resolved or still open.

There is a unit-test error:
Expected result to be 450.6, but found<PHONE_NUMBER>8146973.
Use something like this code:
result.Should().BeApproximately(450.6, 0.0001);


compatibiliy fix: ensure variables are defined

Otherwise this code might break Puppet when configuration option
strict_variables is enabled.

:+1:

Failures on the future parser.
We also use strict variables in production, but I guess we don't exercise the code path that causes that failure.
Can you add STRICT_VARIABLES=true in the .travis.yml so we can be sure to catch failures like this in the future?

Could you cross-check once again?

Great! Thank you.


When launching a client from a cloud deployment, the Launcher chooses the first .exe file in alphabetical order

Issue
When launching a client from a cloud deployment, it chooses the first .exe file in alphabetical order, rather than selecting a particular one.
Workaround
When building your client, an underscore is added to the correct executable name.
Internal Ticket
LAUNCH-341

Fixed: GDK works around this issue.


Add random_connected matching function

Can now create more exciting matching, where each team battles at least N other teams.

Just before merging this: can you remind me in which context this is going to be most useful? I think probably in the context of the BTModel right (@philswatton?)

I think we wanted a sparse alternative to the all-vs-all scenario for performance reasons. Using min spanning tree created a star network every time, and the random spanning tree seemed to create very linear matchups where some teams are very far away from each other and most teams only play two matches. So we through it might be nice to be able to set as a parameter how many matches you want each team to play minimally and add that as random edges on top of a spanning tree. We add edges to the spanning tree to ensure there are no disconnected components.
Not sure if this had a specific application to the BT model @philswatton will know more.

That makes perfect sense -- indeed, it's nice to have something non-exhaustive that plays out most battles.
So if I understand correctly, teams play at least N matches in this paradigm, and at most play every other team. There's maybe some smart way to choose N such that the estimate of fitness stays the same within a certain tolerance (similar to what @eddableheath was exploring), but that could mean that some teams could get away with playing a small number of weak teams and getting a very inflated fitness (plus we'd have to calculate fitness after every battle...)
This is great though -- thank you for coding it up :)

Yes - the idea here is that instead of scaling matches exponentially with the number of teams, we can scale them linearly by setting a minimum number of matches per team (e.g., 10, 20).
The BT model comes in because with a lower number of matches, I'd expect the performance of the win percentages fitness function to start degrading (because it doesn't take into account the difficulty of beating that opponent in particular), whereas the BT model does explicitly take this into account (so facing mainly weak teams wouldn't be that impressive).
I don't think I get the point re calculating fitness after every battle, this shouldn't be necessary? But I think I'm missing something!


Parameters not found

Type: Bug
Component: Parameter Store
Describe the bug
The latest version of class ParameterStorePropertySources does not handle exception properly, for example if the credentials used to request parameter has not suitable policies the message received is that the parameter was not found
Description:

Config data resource '[ParameterStoreConfigDataResource@198c7a4b context = '/config/app', optional = false]' via location 'aws-parameterstore:/config/app' does not exist

Action:

Check that the value 'aws-parameterstore:/config/app' is correct, or prefix it with 'optional:'

Sample
To reproduce this issue please create a user and a parameter on aws console, set suitable policies to user. Create a simple project with dependencies:
spring-cloud-starter-bootstrap
spring-cloud-aws-autoconfigure
spring-cloud-aws-starter
spring-cloud-aws-starter-parameter-store

On application.yml configure spring.config.import and spring.cloud.aws.region.static keys.
Run the application and the message "...does not exist" comes up.
Using localstack this issues does not happen.
I think that could be cool if the exception reflects the main reason for missing key, permissions or whatever other reason.
There are a strange behavior while debugging application on this scenario, if you put a breakpoint at ParameterStorePropertySource.getParameters line 80 sometimes is able to retrieve the parameter, but this behavior is intermittent

@penunes thanks for reporting. I remember we did improve error handling but perhaps there's still space to make it better. Would you like to dig deeper and contribute a PR?

Wow! @maciejwalkowiak It will be an honor to contribute with a PR for the project.

is there any update on this one? This'd be super valuable as it is a bit of a nightmare at the moment when using cloud systems and having to redeploy with a bunch of debug flags to trace through exactly what is going on with this 😅

Sorry guys! I had a lot of problems in the meanwhile. Indeed this is not an issue. In my case I found out what was wrong when creating a class that implements FailureAnalysisReporter interface. The interface FailureAnalysisReporter is responsible for display the infamous message APPLICATION FAILED TO START with a poor description, you can improve the message with more details using FailureAnalysis object, this object contains a Throwable object which I think can put light on issues.
In my case the problem was related to a SecurityGroup configuration that was blocking the communication between my instance with ssm


does not seem to work with dist specified in targets

Hi,
I've a parcel 2.8.3 and parcel-reporter-clean-dist 1.0.4 - its a fresh experimental install with no clutter.
.parcelrc
{
"extends": ["@parcel/config-default"],
(...)
"reporters":  ["...", "parcel-reporter-clean-dist"]
package.json
{
(...)
"targets":{
default:{
distDir:"C:\Users\someuser\OneDrive - Company\Site Assets\dist"
works fine for parcel build  and parcel watch, but does not seem to clear the target distDir. Builds without errors or messages.
Cheers,
M

Hi, sorry for such an instant response⚡😅
I've checked your issue on windows and found no problems on the library side.
Btw. I couldn't test path with backslashes because it causes Invalid escape character in string error (backslashes are escape characters in JSON).
I suggest you to use forward slashes instead. They work fine on both windows and unix-based systems.


[QST]

❓ Binary classification prediction task
Details
Do you have any examples on how to use a binary classification prediction task? I am trying to leverage transformers4rec for a recommender model, but am trying to get the probability score for each item, so that I can recommend the argmax of the probabilities given by the model for all items.
Does this integrate with the Trainer class? Since the output of this type of model is only a tensor, I get errors when using the Trainer class with a binaryClassificationTask prediction task.

Thank you for your questions! Please find below the related answers:
Do you have any examples of how to use a binary classification prediction task?
—> We have some unit tests showing how to train a model with a binary classification task here. Note that the supported task is providing prediction at the session-level. Meaning for each sequence of interacted items we output one probability score.
Does this integrate with the Trainer class?
—> Unfortunately, the current implementation of the Trainer class is only supporting the NextItemPredictionTask use-case. For any other use-case, you can use the base fit method as specified in this test
I am trying to leverage transformers4rec for a recommender model, but am trying to get the probability score for each item so that I can recommend the argmax of the probabilities given by the model for all items.
—> Could you give more details about the objective of your task:  Is it predicting the next item to recommend based on a softmax layer computing the probabilities over all possible item ids?

@maitreya2048 let us know if this was the info you're looking for!


feat: add button to route to pagure for delete

Signed-off-by: Stephen Coady<EMAIL_ADDRESS>

Deferring to @ryanlerch for review since this text is Fedora-specific and there was talk with the theming process of making securitas less Fedora specific.

@relrod yeah, will add the FAS theme PR today, with some guidance on how to add optional items like this to the theme.

The following PR adds a FAS theme, and adds a button for editing group details to it:
https://github.com/fedora-infra/securitas/pull/98
the editing group details is a similar workflow to removing a user (aka filing a ticket), so we could use the same approach here too (if the approach in m,y pending PR is approved :) )


Problem with brewed python

When I try to brew python system libraries mix up with brewed ones which causes crash like this: https://gist.github.com/anonymous/e5473c56b13252e73e3f . Is there a way to make brewed Python "self-contained"?

Python is a mess because it likes to hardcode search paths into /usr/lib. The recently merged #886 may help with this, but I'm not convinced that it's comprehensive. Are you using the Linuxbrew installed gcc? That definitely helps. So in short, no, but pull requests are welcome if you can find a fix.
When posting a massive gist, please quote and link to the interesting line.

Yes, I am using gcc that I also brewed (--with-glibc). Tried again after an update but still the problem persists.
On the side note: a friend of mine who prepares cross-compilation toolchains and distros also had a few bad words about Python ;)
Sorry about the gist.

According to the gist log you provided, you are using system's gcc:
Linuxbrew gcc: N/A

EIther I posted a wrong gist or something funny is happening. Yesterday I tried installing Python I saw ~/.linuxbrew/bin/gcc-5.3 passing by.

I'm afraid I really don't know. I guess you'd have to figure out what Python's library search path is and debug that.

Exactly what I am trying to do :)
BTW: is there an easy way to brew a package with debugging symbols?

Maybe my system was insane (or even I, myself), but after some brew install, brew uninstall cha-cha python seems to be a) working fine b) no trace of strange paths in sys.path. I think the best solution now is a glass of wine.

is there an easy way to brew a package with debugging symbols?

It's the default now. It used to be the default to strip installed executables. I don't know when this changed.

That sounds great, Piotr. =) :wine_glass:
Linuxbrew is still a moving target. It can tricky to determine exactly which previous patch resolved your issue.


Moved 4K Slideshow Maker version 1.8.1 to ID OpenMedia.4KSlideshowMaker.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Per #13374.
Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run


Add finer grain control over MeshDevices mapped onto same MMIO chip

Current Context
Let's suppose we have an 8x4 galaxy grid. User requests 1x4:
2x4 devices are opened because we currently always open devices along both tunnels of an MMIO chip
[39,38,37,40]
[34,35,36,41]

and [39,38,37,40] is assigned back to the user. When a user closes its assigned 1x4 mesh, we close the 2x4 opened devices.
Unsupported
Let's suppose we have an 8x4 galaxy grid. User requests two 1x4 grid of devices:
mesh_device_0 = MeshDevice(MeshShape(1,4)) -> assigned: [39,38,37,40]
mesh_device_1 = MeshDevice(MeshShape(1,4), offset=(1,0)) ->  assigned: [34,35,36,41]
When we create mesh_device_0, we will open 2x4 but only assign 1x4. When we create mesh_device_1, we do not open any devices but just assign the devices. When try to close devices, there are some problems. The closing semantics don't currently allow us to close: [39,38,37,40] and while keeping [34,35,36,41] alive.

fyi @davorchap

We want to reduce granularity of what devices need to be opened/closed. Let's start with with a row because it seems more straightforward and scope out the work for any device.

Recently had a runtime meeting to discuss next steps to cleanup device init/close, slides here: https://docs.google.com/presentation/d/1p0dDCDiOqKfvnMUJ5eW-0X-QmeWp-mmr/edit#slide=id.p1
There were two options to address the issue here:

Open and close one tunnel at a time. This gets us a half-solution (granularity of device close at a "row of 4"), but this would also require a split of the mmio chip dispatch kernels. It will complicate the device init cleanup project and lead to more complexity that isn't really buying us too much.
Virtualize every chip, so that device init and close happen without shutting down dispatch kernels on each chip. This requires a wider discussion on when to shutdown tunnels and has significant device functionality changes. It will be scheduled after the first round of device init cleanup.

The changes required to support closing/reopening any devices in a Galaxy requires a lot more work than I initially thought, and will require buy-in from runtime team. I'm pushing an initial set of clean up changes here to facilitate future work: https://github.com/tenstorrent/tt-metal/pull/13890/files. I will sync with Paul to see where we can get with chip virtualization.


Python tiledbsoma: repr fails when accessing data on a private bucket

This occurs when accessing data on a private bucket.  I have all of the various AWS environment variables set correctly (demonstrated by the successful atlas.exists() expression).
It appears that the repr may not be inheriting the context used to open the original SOMA object?
In [20]: config
Out[20]: {'py.init_buffer_bytes':<PHONE_NUMBER>, 'vfs.s3.region': 'us-west-2'}

In [21]: atlas_uri
Out[21]: 's3://bruce-uswest-tmp/tmp/atlas-20220916/'

In [22]: atlas = soma.SOMACollection(atlas_uri, ctx=tiledb.Ctx(config))

In [23]: atlas.get_uri()
Out[23]: 's3://bruce-uswest-tmp/tmp/atlas-20220916/'

In [24]: atlas.exists()
Out[24]: True

In [25]: atlas
Out[25]: ---------------------------------------------------------------------------
TileDBError                               Traceback (most recent call last)
File ~/projects/TileDB-SingleCell/venv/lib/python3.9/site-packages/IPython/core/formatters.py:707, in PlainTextFormatter.__call__(self, obj)
    700 stream = StringIO()
    701 printer = pretty.RepresentationPrinter(stream, self.verbose,
    702     self.max_width, self.newline,
    703     max_seq_length=self.max_seq_length,
    704     singleton_pprinters=self.singleton_printers,
    705     type_pprinters=self.type_printers,
    706     deferred_pprinters=self.deferred_printers)
--> 707 printer.pretty(obj)
    708 printer.flush()
    709 return stream.getvalue()

File ~/projects/TileDB-SingleCell/venv/lib/python3.9/site-packages/IPython/lib/pretty.py:410, in RepresentationPrinter.pretty(self, obj)
    407                         return meth(obj, self, cycle)
    408                 if cls is not object \
    409                         and callable(cls.__dict__.get('__repr__')):
--> 410                     return _repr_pprint(obj, self, cycle)
    412     return _default_pprint(obj, self, cycle)
    413 finally:

File ~/projects/TileDB-SingleCell/venv/lib/python3.9/site-packages/IPython/lib/pretty.py:778, in _repr_pprint(obj, p, cycle)
    776 """A pprint that just redirects to the normal repr function."""
    777 # Find newlines and replace them with p.break_()
--> 778 output = repr(obj)
    779 lines = output.splitlines()
    780 with p.group():

File ~/projects/TileDB-SingleCell/apis/python/src/tiledbsoma/soma_collection.py:156, in SOMACollection.__repr__(self)
    152 def __repr__(self) -> str:
    153     """
    154     Default display for ``SOMACollection``.
    155     """
--> 156     return "\n".join(self._repr_aux())

File ~/projects/TileDB-SingleCell/apis/python/src/tiledbsoma/soma_collection.py:166, in SOMACollection._repr_aux(self)
    164 lines = [f"{self.get_name()} {self.__class__.__name__}:"]
    165 for key in self.keys():
--> 166     child_lines = self.get(key)._repr_aux()
    167     for line in child_lines:
    168         lines.append("  " + line)

File ~/projects/TileDB-SingleCell/apis/python/src/tiledbsoma/soma_collection.py:82, in SOMACollection.get(self, member_name)
     79     from .factory import _construct_member
     81     member_uri = self._get_child_uri(member_name)
---> 82     self._cached_members[member_name] = _construct_member(
     83         member_name, member_uri, self
     84     )
     86 if member_name in self._cached_members:
     87     return self._cached_members[member_name]

File ~/projects/TileDB-SingleCell/apis/python/src/tiledbsoma/factory.py:41, in _construct_member(member_name, member_uri, parent, ctx)
     38 # Get the class name from TileDB storage. At the TileDB level there are just "arrays" and
     39 # "groups", with separate metadata-getters.
     40 class_name = None
---> 41 object_type = tiledb.object_type(member_uri)
     42 if object_type is None:
     43     raise Exception(f"URI {member_uri} not found")

File tiledb/libtiledb.pyx:5429, in tiledb.libtiledb.object_type()

File tiledb/libtiledb.pyx:579, in tiledb.libtiledb.check_error()

File tiledb/libtiledb.pyx:575, in tiledb.libtiledb._raise_ctx_err()

File tiledb/libtiledb.pyx:560, in tiledb.libtiledb._raise_tiledb_error()

TileDBError: [TileDB::S3] Error: Error while listing with prefix 's3://bruce-uswest-tmp/tmp/atlas-20220916/human/__group/' and delimiter '/'
Exception:  PermanentRedirect
Error message:  Unable to parse ExceptionName: PermanentRedirect Message: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

PR #318 did not resolve this - there is one additional missing place the Ctx needs to be propagated.
$ git diff
diff --git a/apis/python/src/tiledbsoma/factory.py b/apis/python/src/tiledbsoma/factory.py
index 33460bc..a6bf39d 100644
--- a/apis/python/src/tiledbsoma/factory.py
+++ b/apis/python/src/tiledbsoma/factory.py
@@ -38,7 +38,7 @@ def _construct_member(
     # Get the class name from TileDB storage. At the TileDB level there are just "arrays" and
     # "groups", with separate metadata-getters.
     class_name = None
-    object_type = tiledb.object_type(member_uri)
+    object_type = tiledb.object_type(member_uri, ctx=ctx)
     if object_type is None:
         raise Exception(f"URI {member_uri} not found")
     elif object_type == "array":

@johnkerl - I have confirmed this is fixed by #323, so you can close this bug.


AzureML allow filtering dataset by name

Is your feature request related to a problem? Please describe.
I can't find any way of filtering a FileDataset by filename.
Describe the solution you'd like
I'd like to be able to use the filter method to filter a FileDataset by filename and return the filtered data as a new FileDataset object, while still accessing the original data (so no copies). This could then be passed to a new Pipeline step.
Describe alternatives you've considered
The only other options I see are a) manually creating a FileDataset from files by listing the files in the original dataset and specifying each file with its corresponding Datastore. This is really annoying because there is no way to obtain the original Dataset's Datastore (even though it is used internally by str and repr - this method would become viable, if ugly, if this were exposed to the public API); or b) pass the original Dataset to the Pipeline step along with a list of filepaths it should work on... Which seems like a terrible solution but is ultimately what I'm going with currently.
Additional context
Obviously it doesn't specifically have to be the filter method, it's just the one that is most similar to what I want.

Actually, for the second alternative approach I mentioned to be viable, I would also need to know the path of the FileDataset items within the Datastore.

@davystrong We have created a feature request in our backlog for this functionality.

Great, looking forward to that! Thanks!

Just to give some additional context, my aim is to split a dataset (in training/validation or more splits) but the dataset contains both inputs and their labels as separate files so I can't just split randomly.

The ask is added to backlog already. Closing for now.


Fixed #32503 -- Reverted "Fixed #30712 -- Allowed BLOB/TEXT defaults on MySQL 8.0.13+."

This reverts commit 6b16c91157512587017e9178d066ed1a683e7795.
MySQL 8.0.13+ supports defaults on BLOB/TEXT columns but only when adding a new column. Django doesn't use database defaults so they are only useful to set values for existing rows which is not the case here.
Thanks Matt Westcott for the report.
ticket-32503
ticket-30712
See comment.

Closing per comment.


Remove bytes string characters ('b' and quotation marks) (Fix #192)

Remove bytes string characters ('b' and quotation marks) from 'Hosted by' output due to unneeded UTF-8 encoding/decoding.
Example:
Current:
[...]
Selecting best server based on latency...
b'Hosted by Avira B.V. (Doetinchem) [93.28 km]: 13.316 ms'
Testing download speed
[...]

New:
[...]
Selecting best server based on latency...
Hosted by KomMITT Ratingen (Ratingen) [12.97 km]: 11.528 ms
Testing download speed
[...]

I couldn't find any issues with UTF-8 hoster names.

There have been issues in the past. This is not how I would like to handle this.


Turn off background scrolling

Hi, is it possible to turn off the background scrolling ( on body content ), when the lightbox is open.  Seems strange to try and scroll elements within the lightbox, and have the backgroud scroll instead.  Thanks!

You should be able to handle that with CSS. You'll probably have more luck asking this on StackOverflow.


populate board after get button click

Open index.html
There is now a get button
Enter a board id
After pressing get, the board will populate with the board title, and it will create notes with the topic and dateCreated on them.
You need to enter a board id because getBoardByName does not work from what I can tell, it always returns 400 "BoardId is not valid". Once that method has been fixed, we could change line 235 and it will work with getBoardByName

also no styling for the notes, I saw on stream you guys may have done that already? so if we just update the tag attributes the styling may get applied

@toreylittlefield oh okay. Is this when you give an existing board name and press enter. Then it get all the notes associated with that board?

@toreylittlefield oh okay. Is this when you give an existing board name and press enter. Then it get all the notes associated with that board?

Existing board? You mean create a new board?

@toreylittlefield oh okay. Is this when you give an existing board name and press enter. Then it get all the notes associated with that board?

Existing board? You mean create a new board?

Existing board. So, when there is alreay a board saved and the user wants to see it few days later, they enter their board name and click "Get", it will then then the board, it's associated notes for them and populate them on index.html

@toreylittlefield oh okay. Is this when you give an existing board name and press enter. Then it get all the notes associated with that board?

Existing board? You mean create a new board?

Existing board. So, when there is alreay a board saved and the user wants to see it few days later, they enter their board name and click "Get", it will then then the board, it's associated notes for them and populate them on index.html

OK wasn't aware of that I'll check it out and review.

@toreylittlefield did you add a button "Get" too unless i missed seeing it

No actually i don't see one only on the home.html where you create a board so i am confused again. Maybe this is for a new button to get a board on index.html?

What a useful thread and pr :kappa


Update to fsnotify 0.4+

This fixes some issues for me related to saving ~large files (like 100kb) with Emacs, like Vim it seems to have a weird way of writing (first it writes an empty file then fill it up, apparently). The previous hfsnotify's debouncer would only report the first write and the file would appear empty sometimes.

Just a note (so you don't complain about intentation diffs like last time): you can hide whitespace changes in diffs with ?w=1 at the end of the github URL, like so: https://github.com/srid/unionmount/pull/3/commits/2ba9b55a8b72a39bd6f99403f3c9500489f07f42?diff=split&w=1 (or git diff -w locally)

Could you rebase from new master (so CI will run)? Version should be 0.2.1 I think. I'll test this with Emanote latter.

@srid I noticed the debounce I wrote was relying on the fact that the TBQueue had size 1, because to compare the last item with the new item it read from the queue. If the queue had size two, FIFO means the read item would not be the last anymore!
So I think the code should either make it clear the queue has size 1 by using a TMVar or keep using TBQueues but with larger size, as in this branch:
https://github.com/srid/unionmount/compare/master...lucasvreis:unionmount:tbqueue-proper?w=1
In the end I think both are more or less equivalent because watchTreeM (from fsnotify) keeps it's own internal queue of events anyway, so there should be no risk of missing actions due to the size of unionmount queue.

CI is only failing because we probably need Nix overrides (I can do that, no problem):

It'll be a while before I can review the diff. But I'm thinking that it would be good have tests (separate PR merged) so that PRs like this can be confidently reviewed and merged. Right now, I have to manually test this on emanote, and try to understand the code thoroughly (which should always be done anyway; but having automated tests increases the confidence).

I encountered this issue while we are trying to update nixpkgs to LTS 21.
If we can do a quick release of this I we can proceed without pinning fsnotify to an older version.

FWIW, I've been running my ema app using this branch since May with no issues.


fixed the issue that Popen.communicate hangs waiting stdout of a command

A way to work around issue #5 is to go without Popen.stdout.
How do you think?

Interesting, I wonder why xclip doesn't just exit or close its output stream.  But since stdout is ignored anyway, this looks like it's better code regardless, especially if it fixes the issue with this common use case.  Thanks a lot for looking into this and for the PR, much appreciated!


chore(toolchain): bump to 2022-11-21

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
Bump the toolchain to 2022-11-21, which should contain the fix to https://github.com/rust-lang/rust/issues/103423. We're now able to revert some workarounds, as explained in #6103.
This is mainly to fix the excessively slow compilation speed under release profile, like https://buildkite.com/risingwavelabs/docker/builds/13181.
Some newer toolchains will bring some new higher lifetime errors. 😅 I'll bisect to find it out soon.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

#6103

@huangjw806 Could you please help to test whether building the docker image under release profile finishes in a reasonable time, under this branch?

ou please help to test whether building the docker image under release profile finishes in a reasonable time, under this branch?

Sure.

https://github.com/rust-lang/rust/issues/105009 🥵

It seems like it's https://github.com/risingwavelabs/risingwave/pull/6613 that causes the slow compilation before bumping and ICE after bumping.
cc @wenym1 Would you please help to take a look and clean some suspicious sugars or magics in that PR? 🥵

It seems like it's https://github.com/risingwavelabs/risingwave/pull/6613 that causes the slow compilation before bumping and ICE after bumping.

cc @wenym1 Would you please help to take a look and clean some suspicious sugars or magics in that PR? 🥵
In #6613, we only wrap the previous StateStoreIter with a try_stream. I am not sure whether this will cause the slow compilation. Can you provide me a way to reproduce the problem locally?

Can you provide me a way to reproduce the problem locally?

I guess compiling with release profile can reproduce this, just like what we do when building image on CI.
https://github.com/risingwavelabs/risingwave/blob/353837d0029778c8ca06055fc069e8834f9fa65c/docker/Dockerfile#L35

https://github.com/rust-lang/rust/issues/105009 has been fixed and I've successfully bumped the toolchain to 12-12. Seems that everything is working well.
cc @wenym1 There's no need to do anything with #6613 now. :)


Unsubscribe from FreeCEN transcribers list not working

Tried to unsubscribe today and got this error message:
Message not delivered
There was a problem delivering your message to<EMAIL_ADDRESS>Contact the remote server administrator for details.

@PatReynoldsFUG could you please try again?

Tested and I could unsubscribe so closing


Missing spaces in tabline

environment

vim: 8.0 patches 1-1401
vim-airline: current master (9a2ed35ff9f7d38dc7e37b6ddefa2ca4eb02139e)
OS: Debian testing
Have you reproduced with a minimal vimrc: yes (see issue text)
What is your airline configuration: ???
if you are using terminal:
terminal: xfce4-terminal with tmux
$TERM variable: tmux-256color
color configuration (:set t_Co?): no
if you are using Neovim:
does it happen in Vim: ???

Since commits ab49a1c7aea5e775e27e087f8beb71fdf68e5764 and 02816a3cb691e13ebbf46a38613979ac4df499d2 I have noticed missing white space in the tabline. With this minimal vimrc
set nocompatible
set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim
if dein#load_state(expand('~/.vim/dein'))
  call dein#begin(expand('~/.vim/dein'))
  call dein#add('Shougo/dein.vim')
  call dein#add('vim-airline/vim-airline')
  call dein#end()
  call dein#save_state()
endif

let g:airline#extensions#tabline#enabled = 1

filetype plugin indent on
syntax enable
set background=dark

I get the following tabline with a missing space at the beginning of the first buffer name:

If powerline symbols are activated addtionally with
let g:airline_powerline_fonts = 1

each buffer name has a missing white space:

Just setup a new machine, this drove me crazy because I thought there was problem with my powerline fonts.
Thanks for the fix
Since no one has submitted a pull request, I went ahead and made one.

Hello @IngoHeimbach and @erfanio! First, thanks for raising this issue as I was also experiencing this problem on a regular basis. Second, thanks to @erfanio for developing the fix and @chrisbra  for merging it. Finally, I am writing to confirm that I am no longer seeing the problem that was initially reported — the fix is working correctly for me. Thanks everyone!

I'm still seeing this issue, with the default settings with tabline=1 and the minimalist theme. I'm running the latest master as well:

Also furthermore what's the meaning of left_sep/right_sep/left_alt_sep/right_alt_sep? I want to highlight the current buffer with something like buf1 <currentbuffer> buf2, but I can't figure out how they work.

Can confirm the issue still exists. Checked buffers.vim in autoload/airline/extensions/tabline and saw that @erfanio's PR is there, which indicates that vim-airline is already up-to-date. However, first buffer's name is still missing a whitespace. All tabline-related configs are pretty much default:
let g:airline_powerline_fonts = 0
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#tab_min_count = 2
let g:airline#extensions#tabline#buffer_min_count = 2

Should the issue be re-opened?

What I have seen is that with powerline fonts enabled, there is a single space before each buffer, whilst with powerline fonts disabled, there is no space before the first buffer and a single space before each subsequent buffer.
Not sure this is the expected behaviour, but this is what I am reproducing.

IIRC this is expected behaviour.

What a pity... Now I can't unsee it & my OCD is tingling like crazy...
If someone else has a fix for this then it would be awesome.

What a pity... Now I can't unsee it & my OCD is tingling like crazy...

I don't understand what you are talking about. What exactly is the problem?

Lack of leading space I presume.

@khoacao96 in other words you'd like to also have a leading space in front of the first buffer when not using powerline fonts?

I'll have a look.

I think this should be fixed now with the last commit


Should we include any form of analytics?

Site analytics can be extremely useful. Knowing what browsers people are using to view the site can help us clean up broken content. Seeing what countries pages are accessed from can inform decisions about languages for translation. Information about popular pages can tell us what content to expand, and what to keep the same.
All of this obviously comes at a cost of privacy. Our site currently (to the best of my knowledge... maybe we should double check) doesn't include any third party tracking tools. Scripts like Google Analytics are generally invasive.
So the questions: Is this something we can do? Is this something we should do? Can this be done without an invasion of privacy?
I was thinking we might be able to have users explicitly opt-in ("Collect anonymous usage data?") but not sure that would play out. Feedback welcome.

I agree with Miguel’s comment.
It would be useful to include some form of website analytics as long as the metadata collected is non-invasive.

On Sep 20, 2018, at 07:25, Miguel Morales<EMAIL_ADDRESS>wrote:
Hey, I think adding Analytics can be helpful and non-invasive. From my limited understanding of privacy as long as data is aggregated and not being able to be tied to the individual it should be ok.
Google Analytics only collects events such as impressions and non-personal information such city-level location. I don't think you can view personal information such as IP, Device ID, etc.
My view is that it's ok to add analytics, as long as you're not doing things like re-targetting advertising.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yeah I think its fine as there isn't anything too sensitive on the site that can be connected with individuals

Ok, will add an analytics script. If it ends up being invasive, will remove.


Smarter algorithm to distribute intersections of unions.

Remove the special handling of intersections of unions of unit types
because it's no longer needed.  This reverts the code changes of pull
request #24137 (commit 3fc3df3c3a90e318c83c4ef44659def92aa5b42a with
respect to 3fc727b2564d1f03e63a671fbffe56368ea9320f) but keeps the test.
Fixes #24223.

@ahejlsberg can you take a look.

@mattmccutchen Thanks for your contribution. I would be great to have a smarter algorithm that handles unions with non-unit types, and I like the notion of incrementally optimizing the temporary results. However, when I run the regression test in #24137 (tests/cases/compiler/intersectionsOfLargeUnions.ts) on your branch it does about 10X worse than the current algorithm (check time 5.4s and 170K types allocated vs. check time 0.66s and 105K types allocated). Did you consider some hybrid of the two?

Thanks for considering the contribution!  I guess I was too hasty to declare the old fast path no longer needed; I can easily bring it back.  But first I tried adding a simple optimization that benefits unions that contain mostly unit types even if they also contain other types.  Now the check time on my machine for intersectionsOfLargeUnions.ts is down to a factor of 2x the previous (2s compared to 1s).  Is this good enough or shall I additionally bring back the separate fast path for pure unions of unit types?

I went ahead and brought back the old fast path.
If it's of interest, I also prototyped a more complicated algorithm that truly combines the ideas of incremental simplification and efficient handling of units; it checks intersectionsOfLargeUnions2.ts in about the same amount of time that current master checks intersectionsOfLargeUnions.ts.  This algorithm partitions each union into units and non-units, expresses the partial intersections in the form rest | (unit1 & other1) | ... | (unitN & otherN), and updates that representation efficiently.  The one thing it doesn't yet do is recognize unions of the form rest | (unit1 & other1) | ... | (unitN & otherN) in the input and handle them efficiently, but I can add that if you're interested.

@mattmccutchen I decided to improve our existing optimized path to also handle unions containing the string, number and symbol types. See #25859. It is now very fast on both intersectionsOfLargeUnions.ts and intersectionsOfLargeUnions2.ts. In fact, faster than before because more cases are handled by the optimized path.
There may still be room for additional optimization using your algorithm, although it is now much harder to come up with scenarios that have performance issues.

My original scenario had a type variable:
// Compile with --target=es6

interface JSONableArray extends Array<JSONable> {}
interface JSONableDict {
  [key: string]: JSONable;
}
type JSONable = number | string | boolean | JSONableArray | JSONableDict;

const internedBrand = Symbol();
interface Interned<P> {
  [internedBrand]: P;
}

type Reintern<T, P> =
  Pick<T, Exclude<keyof T, typeof internedBrand>> & Interned<P> & JSONable;

class JSONableInternPool<P> {
  intern<T extends JSONable>(x: T): Reintern<T, P> {
    throw new Error("not implemented");
  }
}

function test<T extends JSONable, P>(pool: JSONableInternPool<P>, t: T) {
  let t1 = pool.intern(t);
  let t2 = pool.intern(t1);
  //let t3 = pool.intern(t2);
}

(You can probably see what I was trying to do here and find things wrong with it, but the point stands that I hung the compiler during a good faith effort to solve a real problem.)  I'm getting check time of 3.5s with your PR and 1.3s with mine, so my PR is a little better in this scenario, but if I comment out t3, then both your PR and mine run out of memory.  Somehow I assumed I had solved the problem but I failed to actually test until now. :(  I suppose it doesn't hurt for you to go ahead with your PR; I'll file a new issue for the remaining case, and if I come up with a complete solution, I'll update this PR (or start a new one).

I took another look at my example and it looks like the size of the fully simplified union is growing exponentially.  There's nothing we can do about that by changing the union distribution algorithm.  The only way to really fix the example would be to add new ways of reasoning about conditional types, and that's nothing I want to get involved in.  So from my point of view, the only remaining question (getting a bit afield from this PR, but I can take it to a new issue) is if it's worth doing anything to improve the user experience in Visual Studio Code when the language service hangs, as was my case.  It took me a while to realize the language service was hung, and then I had to minimize my code to figure out what was triggering the problem.


Support incremental changes for non Ballerina source files

Description:
Support incremental changes for non Ballerina source files
Steps to reproduce:
Affected Versions:
2.0.0-SLP9-SNAPSHOT

Fixed with https://github.com/ballerina-platform/ballerina-lang/commit/464f736d2ff349ec75491200a3f45f518dcc333d

Fixed with https://github.com/ballerina-platform/ballerina-lang/commit/464f736d2ff349ec75491200a3f45f518dcc333d