Feature request: 99% smaller global install

Over the last few weeks we at https://angularbootcamp.com/ have assisted dozens of developers with getting up and running on the CLI (and of course Angular 2 itself). The results have been good, but the process of getting up and running has been unnecessarily rough. We have been thinking about what aspects make it so.
The most obvious reason is that the CLI is still under heavy development. That's great, we are not complaining about that at all. Good luck, keep going, please ask for help if needed.
But here is a feature / architecture improvement that would help quite a lot:
Currently the initial set up command "npm install -g angular-cli" brings in an astonishing several hundred megabytes of global node dependencies. Global node dependencies are the worst kind of node dependencies; they are the kind most likely to have issues interacting with other (globally) installed packages. Struggling with these dependencies leads to the need for unpleasant things, such as the current CLI upgrade instructions (as of June 2016) which direct the user to discard their entire NPM cache (!).
The solution for this is relatively well understood among the node development community, and would (IMHO) be a great improvement for the Angular CLI project:
Make the thing that we ask people to install globally, much much smaller. Chop away ruthlessly at its dependencies. Throw away every dependency not absolutely necessary for the "ng new" command. From a cursory look at the functionality necessary outside the context of a project, it appears that the global CLI package could easily be made less than a megabyte, with a handful of small utility dependencies. It could be made in such a way that it almost never needs to be upgraded.
Instead, the global package and global command only needs to understand enough to begin the "ng new ____" process. Having started a project, it can perform an NPM install of a different package, one which contains the hundreds of megabytes of machinery needed, all of the stuff needed to make the rest of the CLI work.
The global "ng" could then redirect commands (I think it actually already does this) to the locally installed ng. That means the global ng doesn't need to even know a list of all those other commands other than "new", it doesn't need to know about their help, it doesn't need to change when they change, etc.
I think the current behavior, of epic global node module bloat, is simply inherited from the (generally excellent) Ember CLI. I don't know if the Angular CLI team considers it "in scope" to solve things that come from that direction, but if so, I think this would be a great one to consider.

+1 @kylecordes
I couldn't agree more. Several hundreds of MBs to type 'Hello world' in a browser, many many packages installed globally, which I won't use, ever. Introducing dependency problems in other, unrelated projects. This steers me clear of angular-cli at the moment.
Don't get me wrong, the idea behind angular-cli is great, and I'm thankful for all the excellent work put in. That's why I care, hope this will be fixed, and keep an eye out how this will be handled in future versions of angular-cli. Keep up the good work :)

This is something we are trying to address. The brunt of that size is ember-cli related dependencies, which aren't optional.

Right - but even sticking with most of the ember-cli implementation under the hood, it would be possible to banish ember-cli from a (new, much smaller) global angular-cli package, and implement the global ng command (which mostly delegates) the locally install ember-cli stuff.
(Related this... it seems likely that angular CLI will eventually need to depend on a fork of ember-cli, rather than the upstream package directly, in order to control our own destiny here and make something ideally suited for Angular use cases. This would make it possible to disable any especially problematic parts of ember-CLI, such as if ember-cli itself complains about not being globally installed.)

Currently a complete npm install and ng build --prod takes 10min without running tests. As we run our builds on VSTS hosted build agent we are not able to use the cached files as the agent is always clean and we won't to commit node_modules. A lot of time for a 1mb artifact :)

Attesting to what @elvirdolic says above, we also run "ng build" on a clean hosted VSTS agent, and this angular project is a "freak" with 250 megs and over 40 000 files worth of dependendencies, to create our 180kb artifact. Loving the tool in every other aspesct, great work.

I think a problem with node/npm dependencies in general. You're creating a 200kb artefact and have to install hundreds of megs of things. We should at least look at which dependencies are the worst offenders and look at alternatives (if any)

Yes this is a general issue with npm packages. But for a similar build with plain webpack2 and karma sass etc, I have around 20k files. With cli it is more than double. I don't have problem in local dev but it is a pain to have it on the CI. I think the biggest burden is ember-cli. This is already a top issue. I am hoping the smart guys of angular-cli team will resolve this soon.

I had opened this issue about global install size, and I think that specifically is a more easily solvable problem, versus the general issue of Node transitive dependencies growing surprisingly large. Sticking with the global install size issue, I noticed a while back that over in the React community (our "cousins"?) the "create react app" CLI tool:
https://github.com/facebookincubator/create-react-app
...operates similarly to how I described. There might be some tips that can be picked up from its implementation and used to achieve the same benefit here.
(About the general issue of sprawling node transitive dependencies, it seems that probably warrants a separate issue here so that it can be separately prioritized etc. by the team.)

Hey,
as a proof of concept that this is totally doable I created https://github.com/niklas-dahl/global-angular-cli.
It's just a small tool that can run the ng new command and after that it just proxies every other command to the locally installed angular-cli (just like the real angular-cli).
It's 0.1% the size of the real angular-cli (with dependencies).
Having a second project/npm package just for the global version isn't very nice but AFAIK the is no way to tell npm that some dependencies are only required when installing locally, so I think having a seperate package is the only way to solve this issue.

That is fantastic proof of concept. I see your todo list in your README, all of those seem doable with this design, alternatively some of them go away if it can "proxy" slightly earlier, running some of the code behind the real ng new command.
I wonder what other obstacles there are?
The existence of more than one package in NPM is a small price to pay for a 99.9% reduction in global install footprint. I'm also happy to have estimated too big, when I wrote this original issue I was thinking about a mere 99% reduction. :-)

Actually didnt thought of this but proxying earlier is a great idea.
something like this:

create the project folder
locally install angular-cli
proxy an ng init to the local angular-cli
pretty much done.

If this approach works it automatically supports all the features currently missing.
This would be even smaller in size :D

I should mention that we moved the ember-cli version we use to inside angular-cli, and are in the process of reducing the install size by removing unused functionality.

@filipesilva I think moving ember-cli to angular-cli still does not address this completely. Will the global angular-cli now install very few dependencies (99% smaller)? POC idea mentioned by @niklas-dahl looks great in that aspect.

We cut our install time greatly. The real fix will need some refactoring of the whole CLI architecture.
Tracking issue for install time: #3199. Closing this.

This is quick:
ng new proj --skip-install
npm update
But to run app is there is need to install this:
npm install --save @angular-devkit/build-angular @angular/compiler-cli
And this install nearly same as npm install (slightly less) - 23749 files, 181 MB (full node_modules 205 MB).
Installing from local zip/7z is not good too, there are so many small (useless) files that creating of them take min. 2 minutes on HDD.

... and why we need install so often? Every update of libraries need test which versions of libraries are functional, and try to find hidden way to get over strange error messages, mess in library cache after updates, and reach succesful compiling  our projects.


[Bounty] Add annotation functionality

This relates to, but intends to be a more in depth discussion of other issues (#67)
The current solution for this is to use chart.subscribeDrawAction, which has a couple of drawbacks.

In order to remove or update annotations drawn with subscribeDrawAction, you must clear the entire chart since there is no way to access the annotations exclusively. This also makes the updateData method useless, since the entire chart must be torn down to remove stale annotations.
This method runs each time a candle is drawn, on a chart with thousands of candles with tens of annotations, this can become highly inefficient and creates redundant looking code.

Suggestions:
chart.drawAnnotations([
  {
    timestamp: 1,
    position: "above",
    style: {...},
    tooltip: {...} // This would be awesome!
  },
  {
    timestamp: 2,
    position: "below",
    style: {...},
  },
]);
chart.updateAnnotations([...]);
chart.clearAnnotations();

I've placed a $50 USD bounty on this issue (#76)
https://www.bountysource.com/issues/96463000-add-annotation-functionality

This is a good suggestion.

@liihuu Are there any significant blockers to implementing this feature? Or is it already being worked on? Just wasn't sure from you're response whether or not something like this would make its way into the project soon.

I need more time outside of work, so the update progress is a bit slow. I hope to understand.
Thanks again for following this library.

Version 7.1.0 has been supported.

@liihuu This looks great!
Small issue:
From instance-api.md
chart.createAnnotation({
..
  styles: { ... }
...
})

should be
chart.createAnnotation({
..
  styles: { symbol: {...} }
...
})

In the actual in the Annotation class (here, here, and here), we look for styles.symbol (which is what is documented in styles.md).  We could just update the docs, but the symbol property seems kind of useless in the first place, since there are no other properties on the object, unless there are plans to add other properties, what do you think @liihuu ?
Thanks for this addition, I know you're busy and I appreciate your effort! Also @liihuu click on the bounty link and click on "SOLVE ISSUE" so that you can claim this bounty when we close this issue :moneybag:

Yes, there are some problems with the documentation, I have updated it. Thank you for your sponsorship.

Thanks a lot @liihuu

Make sure that you claim your bounty on Bountysource!


Use google provided Empty type

I see you are using a custom message type as the request type to:
message HealthCheckRequest {};
rpc HealthCheck (HealthCheckRequest) returns (HealthCheckResponse);
Assuming you never actually a need to add parms to this, you can use the Google Empty message type:
https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto

@curtpm  Thanks for your issues. Yes, it's enough to use Empty for request. But I'd like to be consistent the notation of request/response. Which do you think good?

i dont think either way is better than the other, if you want to keep thing more consistent with type names thats perfectly fine.

@curtpm I see. So I will change to use Empty later. Thanks.


Update containers

Update containers

Supply dockerfiles for building x86 and arm platform images
Supply hooks for docker hub

@YaguangZhang could you rebase and force push? Looks like this is trying to add commits that already exist.

This PR is bad. I submitted another. See #22.


MemoryMonitorService should log

Can put out an info message, say,  once per hour?
Can put out a debug message once per minute?
Can put out a warning message once per minute, if memory usage more than 90% of available?

Especially useful since otherwise this data is lost after restart/crash....

@PeteDarinzo -- let's discuss this one -- really just looking to log what we are already outputting in the admin grid, in as close to the same form.


enhancement turn on stream pre aggregate for nereids

Proposed changes
turn on stream pre aggregate for Nereids. Exactly the same behavior as the legacy optimizer.
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 41.17 seconds
load time: 627 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221021082751_clickbench_pr_32385.html


[framework] partial removal of forced compositing from opacity

A simplified version of the previous removal attempt - this only removes forced compositing at fully opaque to match the behavior of the animated opacity layer.
https://github.com/flutter/flutter/issues/102179

We can make this change now that it won't cause subpixel diffs...


Proposal to add serverless-go-build

Full disclosure: This is a plugin I just recently made.
Also not sure where it should go in the list of plugins, doesn't see to be any particular order even though I see the guidelines say to put in alphabetical order
I do believe it's a large improvement for building go projects with the serverless framework! Feedback on the Readme in the project is also welcome. Thanks!

Thanks for the suggestion and the merge! Just created the PR on the other repo

Thanks for the suggestion and the merge! Just created the PR on the other repo

Nice! Thanks for opening :+1:


Allow reloading config without restarting the daemon

Closes #13. There are two supported ways to do it:

Run the command kanshictl reload
Send the process a SIGHUP

The varlink protocol is used, so that should make it easy to add more commands to kanshictl.

This is broken in CI because varlink is not in the AUR. It can be added as a subproject if we want to fix that in the meantime.

Added libvarlink to the AUR.

Looks good on CI, ready for review

This is updated, can squash/reorganize commits when everything is ready.

What's the status of this?
This blocks https://github.com/cyclopsian/wdisplays/issues/4, from what I can tell.

Planning to finish this soon, due to current events I've been away from the main multi-monitor setup I have but I think I can find another way to test it.

Now that kanshi is in debian unstable, I'm trying to get libvarlink into debian before I finish this up https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960434

Just trying to get a sense if I should look into checking this branch out locally or if there's any chance @cyclopsian would be picking up the PR any time soon? And thanks for the work so far!

OK, so this user has left GitHub, and is now replaced with the ghost account. 👻
I'm able to checkout this branch at varlink, but I don't code in C and it will take me another year to push this through. As the OP has left the GitHub, this is basically an open call for anyone to jump in, merge this with the mainline branch and address the rather minor PR comments, so - any takers?

Yes, anyone's welcome to jump it and adopt this work, keeping the attribution if applicable. I'd prefer to have two separate pull requests though (one for signal handling, another one for IPC).

Assuming no one's started work on this yet, I will try my hand on finishing up the PR.

Superseded by https://github.com/emersion/kanshi/pull/107


Shape mismatch

System Info / 系統信息
H100 python 3.11.
Running the openai demo with other various images. Not sure exactly which image I sent to hit this.
 / 谁可以帮助到您？
@zRzRzRzRzRzRzR
Information / 问题信息

[X] The official example scripts / 官方的示例脚本
[X] My own modified scripts / 我自己修改的脚本和任务

Reproduction / 复现过程
Unsure which image, but used these modified openai scripts:
https://github.com/h2oai/h2ogpt/blob/main/openai_server/cogvlm2_server/cogvlm2.py
which just handles case of no images as well as file lock in case multiple requests.
Expected behavior / 期待表现
no failure.


Creating executors/launchers for CLI-based schedulers: Slurm, PBS, Torque, etc

On the ☎ call today, we discuss how best to proceed with including executors for CLI-based interfaces provided by most schedulers.  The three main interfaces of these schedulers appears to be (with example CLIs from Slurm):

The batch script and the associated batch submission command (e.g., sbatch)
The job status command (e.g., squeue)
The parallel launcher (e.g., srun)

The first two interfaces being encapsulated as an executor and the latter being encapsulated as a launcher.

Random various notes/observations from the discussion today:

Previous efforts at this sort of thing suffered from huge performance cost to polling of the job status (e.g., qstat/squeue), if we implement it generically, we can do it “right”/performantly/etc once and then it will apply to all CLI-based adaptors
One lesson learned is that submit scripts should be based on templates rather than buried/generated deep inside the python code.  This makes it easier for external collaborators to contribute and maintain executors.  Templates cannot handle every corner case, but their ease-of-development/maintenance is probably worth it.
We need some way to handle multiple versions of the same backend for an executor.  For example, the output from squeue changes between Slurm versions, and trying to handle every version discrepancy in a single file/class results in a rats nest of ifs.
It might be beneficial to develop two executors in parallel so that we can see what is common between the two and abstract as much as possible to higher levels/classes.

During last week's ☎ call, there was a discussion on the job status parsing.  For many of the job status CLIs, there are options to control the format to make it more readily parsable (e.g., Slurm's -o command).  Some even include options to print as xml/json/csv directly.  For these schedulers, it probably makes sense to have a sort of "Structured Parsing" class that they can inherit from.
For other schedulers, there are no such arguments and a more flexible parser is required.  For these, an "Unstructured Parsing" parent class may be better.  In particular, parsing expression grammars were mentioned as a good option here.
Finally, the general advice against premature optimization/abstraction was given.  We should think to start small with a single target executor (i.e., Slurm) and then add abstractions as we add more executors.

Finally, the general advice against premature optimization/abstraction was given. We should think to start small with a single target executor (i.e., Slurm) and then add abstractions as we add more executors.

I'm not sure that's good design advice. If we know we'll have multiple executors, it is not premature to plan accordingly.

If we know we'll have multiple executors, it is not premature to plan accordingly.

Ack that we should plan our code for ultimately having multiple executors.  I believe that comment was in regards to prematurely implementing a whole class hierarchy of parsers before we have a use for them (i.e., implementing both the parsing expression grammar along with the structured parser when all we have is the slurm executor).

I believe that comment was in regards to prematurely implementing a whole class hierarchy of parsers before we have a use for them (i.e., implementing both the parsing expression grammar along with the structured parser when all we have is the slurm executor).

My bad. Yes, I agree. We should have a simple parser ABC and the relevant implementing class for the given executor. When we want our release to feature "tools to make it easy for users to implement random qstat parsers", then we maybe have a publicly documented parser/generator.


Feedback for: engine/reference/commandline/stats.md

File: engine/reference/commandline/stats.md
I don't understand the correspondence between the headers NET I/O BLOCK I/O and the stats listed here: https://docs.docker.com/engine/admin/runmetrics/

The NET I/O and BLOCK I/O refer to the amount of data moved in and out of the container on block devices and the network.


HTTP GET Request is too big

Hello,
I got a problem with batched insert on a large table with long column names.
It seems that the generated HTTP header is too long and is rejected by clickhouse server, leading in a 1002 exception on the JDBC client. This is because the column names of the insert query are embedded in the request URL (which is embedded in a GET request, and so is limited in size, apparently 16000 bytes) and not in the subsequent POST request (that can be the case using TabSeparatedWithNames for example).
It results in a limitation of the number of columns supported by the driver.
There is a minimal reproducible example here : Main.java.gz
I used the version 0.2.6 of the JDBC server and I'm running ClickHouse server <IP_ADDRESS>
There is the exception I got :
Exception in thread "main" ru.yandex.clickhouse.except.ClickHouseUnknownException: ClickHouse exception, code: 1002, host: <IP_ADDRESS>, port: 8123;
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.getException(ClickHouseExceptionSpecifier.java:91)
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:55)
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:28)
	at ru.yandex.clickhouse.ClickHouseStatementImpl.checkForErrorAndThrow(ClickHouseStatementImpl.java:1046)
	at ru.yandex.clickhouse.ClickHouseStatementImpl.sendStream(ClickHouseStatementImpl.java:1016)
	at ru.yandex.clickhouse.ClickHouseStatementImpl.sendStream(ClickHouseStatementImpl.java:985)
	at ru.yandex.clickhouse.ClickHouseStatementImpl.sendStream(ClickHouseStatementImpl.java:978)
	at ru.yandex.clickhouse.ClickHousePreparedStatementImpl.executeBatch(ClickHousePreparedStatementImpl.java:372)
	at ru.yandex.clickhouse.ClickHousePreparedStatementImpl.executeBatch(ClickHousePreparedStatementImpl.java:349)
	at com.zaxxer.hikari.proxy.StatementProxy.executeBatch(StatementProxy.java:116)
	at com.zaxxer.hikari.proxy.PreparedStatementJavassistProxy.executeBatch(PreparedStatementJavassistProxy.java)
	at com.k3rnl.test.Main.main(Main.java:83)
Caused by: java.lang.Throwable:
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:53)
	... 10 more

I think the method ClickHousePreparedStatementImpl.executeBatch(Map<ClickHouseQueryParam, String> additionalDBParams) must extract the column names and put it as first data line. And of course transform the original request by adding FORMAT TabSeparatedWithNames

Thanks for reporting the issue with detailed inputs. I was able to reproduce at my end using your code. According to ClickHouse/ClickHouse#15571, we can move query from URL to request body. I just tried and it seems working.
Apart from this issue, the error message is not very helpful. When error code/message is unavailable, we'd better return server response status instead(400 bad request in this case).
Will submit a PR to fix this later this week.

@k3rnL, PR #611 is a quick workaround to address the issue you ran into.


Speed up _mapping_repr

Creating a ordered list for filtering purposes using .items() turns out being rather slow. Use .keys() instead as that doesn't trigger a bunch of dataarray initializations.

[x] Passes pre-commit run --all-files

Test case:
import numpy as np
import xarray as xr

a = np.arange(0, 2000)
data_vars = dict()
for i in a:
    data_vars[f"long_variable_name_{i}"] = xr.DataArray(
        name=f"long_variable_name_{i}",
        data=np.arange(0, 20),
        dims=[f"long_coord_name_{i}_x"],
        coords={f"long_coord_name_{i}_x": np.arange(0, 20) * 2},
    )
ds0 = xr.Dataset(data_vars)
ds0.attrs = {f"attr_{k}": 2 for k in a}

Before:
%timeit print(ds0)
14.6 s ± 215 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

After:
%timeit print(ds0)
120 ms ± 2.06 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Wow, that's quite the speed up! I haven't had time to understand why it's so dramatic, but let's merge unless there are any objections. Feel free to add a whatsnew @Illviljan

I haven't had time to understand why it's so dramatic

The old way creates all dataarrays (2000 in this case). This version creates first_rows+last_rows dataarrays. Very nice idea @Illviljan !

I pushed a benchmark...
this branch:
[ 31.25%] ··· repr.Repr.time_repr 14.8±0.3ms
[ 37.50%] ··· repr.Repr.time_repr_html 164±1ms
main:
[ 31.25%] ··· repr.Repr.time_repr 41.6±0.5ms
[ 37.50%] ··· repr.Repr.time_repr_html 188±1ms

The benchmark uses (only) 100 arrays so I suppose there isn't as big of difference at that point. Did you get similar values as me with 2000, @dcherian ?

3x is good! I reduced the size so it would run faster, we can't run a 15s benchmark every time we benchmark an older commit...
Can you add a whats-new note please?

Ok, if you got 15 seconds as well I'm satisfied. I was just worried I had done something else affecting my results.

Another great one @Illviljan ! Thank you!


index: use batched odb.add in save()

Codecov Report
Base: 54.45% // Head: 56.42% // Increases project coverage by +1.97% :tada:

Coverage data is based on head (d08ec5e) compared to base (09202c4).
Patch coverage: 57.14% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #270      +/-   ##
==========================================
+ Coverage   54.45%   56.42%   +1.97%
==========================================
  Files          49       50       +1
  Lines        3043     3105      +62
  Branches      532      459      -73
==========================================
+ Hits         1657     1752      +95
+ Misses       1298     1270      -28
+ Partials       88       83       -5

Impacted Files
Coverage Δ

src/dvc_data/hashfile/gc.py
0.00% <0.00%> (ø)

src/dvc_data/hashfile/status.py
0.00% <0.00%> (ø)

src/dvc_data/hashfile/db/reference.py
44.44% <14.28%> (-7.73%)
:arrow_down:

src/dvc_data/hashfile/transfer.py
17.77% <16.66%> (ø)

src/dvc_data/hashfile/db/__init__.py
57.28% <52.63%> (+1.61%)
:arrow_up:

src/dvc_data/index/save.py
74.19% <86.95%> (-5.60%)
:arrow_down:

tests/hashfile/test_db.py
100.00% <100.00%> (ø)

tests/hashfile/test_db_index.py
100.00% <100.00%> (ø)

tests/hashfile/test_utils.py
100.00% <100.00%> (ø)

src/dvc_data/index/checkout.py
54.87% <0.00%> (-8.62%)
:arrow_down:

... and 2 more

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

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


NPM install doesn't work

[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

What is the current behavior?
npm install doesn't do anything, it just hands, current work around is to do sudo npm -g install yarn and then install the packages via yarn

Please tell us about your environment:

Angular version: 2.0.0 - ng version: @angular/cli: 1.0.4
Ubuntu 16.04 64 bit
Node: v6.10.3 and NPM: v3.10.10

If you have any questions let me know.

Update Node and NPM.
Make sure your firewall is not preventing any Incoming connections or there is no limit on TCP connections.


network-instance on host in Reconnecting state gets picked up for performing healtchesk

Steps to reproduce:

have 2 hosts in the system.
bring down host2. Start instance with healtcheck enabled on host1. Bug: network agent on host2 gets pickeup as a healtchecker for the instance, even though host2 is currently reconnecting.

Related issues:
https://github.com/rancher/rancher/issues/1173
https://github.com/rancher/rancher/issues/2516

Tested with build from master:
Scenario 1:

Had 2 hosts in the system - host1 and host2.
Bring down host2 so that host is in "reconnecting" state.
Start instance with healtcheck enabled with scale 2.
Both the instances get marked as being healthy.
Health check is assigned to  host1 ( not host2 which is in "reconnecting" state.

mysql> select id,state,name,agent_state from host;
+----+--------+-------------------------------------------+--------------+
| id | state  | name                                      | agent_state  |
+----+--------+-------------------------------------------+--------------+
|  1 | purged | sangeemaster-10acre-1                     | purged       |
|  2 | active | sangeemaster-10acre-3                     | NULL         |
|  3 | active | sangeemaster-10acre-2                     | reconnecting |
|  4 | purged | ip-172-31-9-39.us-west-1.compute.internal | purged       |
+----+--------+-------------------------------------------+--------------+
4 rows in set (0.01 sec)

mysql> select health_state, host_id from healthcheck_instance_host_map where healthcheck_instance_id=(select id from healthcheck_instance where instance_id=206);
+--------------+---------+
| health_state | host_id |
+--------------+---------+
| healthy      |       2 |
+--------------+---------+
1 row in set (0.00 sec)

mysql> select health_state, host_id from healthcheck_instance_host_map where healthcheck_instance_id=(select id from healthcheck_instance where instance_id=207);
+--------------+---------+
| health_state | host_id |
+--------------+---------+
| healthy      |       2 |
+--------------+---------+
1 row in set (0.00 sec)

Scenario 2:

Had 2 hosts in the system - host1 and host2.
Bring down host2 so that host is in "reconnecting" state.
Start a service with global flag enabled .
Only 1 instances in spawned in host1 and service gets to "Active" state.

In the following use case , I see that host that is in "reconnecting" state is being picked for monitoring health check:
Had a service with scale 2 and health check enabled. Both instances were running on host id - 3
Shutdown host 3 , so that it gets to "Reconnecting" state.
Health check marked both instance as "unhealthy".
1 of the instances gets deployed in the same host id - 3 which is in "reconnecting" state which is the bug tracked in #1173.
Another instance - 222 gets deployed in an host id - 2 which is active. But the host id -3 gets picked for monitoring this instance health and so the health_state of this instance is stuck in "Initializing".
mysql> select host_id,instance_id from instance_host_map where instance_id in (218,219,222,223);
+---------+-------------+
| host_id | instance_id |
+---------+-------------+
|       3 |         218 |
|       3 |         219 |
|       2 |         222 |
|       3 |         223 |
+---------+-------------+
4 rows in set (0.00 sec)

mysql> select id, name, state, agent_state from host;
+----+-------------------------------------------+--------+--------------+
| id | name                                      | state  | agent_state  |
+----+-------------------------------------------+--------+--------------+
|  1 | sangeemaster-10acre-1                     | purged | purged       |
|  2 | sangeemaster-10acre-3                     | active | active       |
|  3 | sangeemaster-10acre-2                     | active | reconnecting |
|  4 | ip-172-31-9-39.us-west-1.compute.internal | purged | purged       |
+----+-------------------------------------------+--------+--------------+
4 rows in set (0.00 sec)

mysql>  select health_state, host_id from healthcheck_instance_host_map where healthcheck_instance_id=(select id from healthcheck_instance where instance_id=222);
+--------------+---------+
| health_state | host_id |
+--------------+---------+
| healthy      |       3 |
+--------------+---------+
1 row in set (0.00 sec)

mysql> select id,name,state,health_state from instance where id in (218,219,222,223);
+-----+-----------------------------+----------+--------------+
| id  | name                        | state    | health_state |
+-----+-----------------------------+----------+--------------+
| 218 | test494388_newhealthcheck_1 | running  | unhealthy    |
| 219 | test494388_newhealthcheck_2 | stopping | unhealthy    |
| 222 | test494388_newhealthcheck_3 | running  | initializing |
| 223 | test494388_newhealthcheck_2 | starting | initializing |
+-----+-----------------------------+----------+--------------+

Tested with latest build from master:
Host that is in "reconnecting" state is not being picked for monitoring health checks anymore. If there are existing instances that were monitored by host , once the host gets to "reconnecting" state , they get removed from healthcheck_instance_host_map  and new host gets assigned for monitoring.


New version: goreleaser.goreleaser 1.20.0

[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] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

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

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

Automated with GoReleaser
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/116077&drop=dogfoodAlpha

Hi @caarlos0,
Windows Defender detected a virus:

This might be a false positive, and we can rescan tomorrow.

Hi @caarlos0,
Windows Defender detected a virus:
This might be a false positive, and we can rescan tomorrow.

false positive yes


programmatic not working in Firefox

Hi, thanks for providing this code it's really useful. I'm using the following on my squarespace site:
in the header:
var lightbox = lity();
on each link:
javascript:lightbox('VIMEO URL HERE');
it's working fine in Safari and Chrome but in Firefox I get the following error message:
function popup(event) { "use strict"; // If not an event, act as alias of popup.open if (!event.preventDefault) { return popup.open(event); } var el = $(this); var target = el.data('lity-target') || el.attr('href') || el.attr('src'); if (!target) { return; } var options = el.data('lity-options') || el.data('lity'); if (open(target, options, el)) { el.blur(); event.preventDefault(); } }
I'm not sure what the problem is, can anyone help?
the site is www.treetop.tv
many thanks
Dave

Try using the onclick instead of the href attribute.

thanks for the quick reply. Unfortunately I'm limited in Squarespace as to how I can add links to images. It only lets me use a regular href or the javascript code above.

What about using normal href's and delegated events?
<a class="image-slide-anchor content-fill" href="https://vimeo.com/161936072">

$(document).on('click', '[href*=vimeo.com]', lity());

thanks again for the quick response. So if I understand correctly do I just put a regular href in the link box in Squarespace and then the second line of code
$(document).on('click', '[href*=vimeo.com]', lity());
in the footer or header?

I've got it to work by putting the following code in the footer
 $('a[href^="https://vimeo.com"]').on('click', lity());
thanks again for your help 👍

Yes, that's similar and should work 👍


ipfs-unixfs: walker API has unnecessary unwraps

When walking on a nested directory, the ContinuedWalk::Directory can appear multiple times for the same path. It is a bit tricky to see how it's communicated whether or not this is the first time we are walking on this path. The "knowledge" is currently encoded such that Entry::metadata will be Some on the root of the directory (first time the path is seen) and None for successive times. For example, see ipfs-http/src/v0/root_files.rs.
This needs to be encoded in a better way. Perhaps in a way which would allow better matching overall:
visit = match walker.continue_walk(&data, &mut cache)? {
    ContinuedWalk::File(segment, file_item) => {
        let total_size = file_item.total_size(); // no unwrap
        let metadata = file_item.metadata(); // no unwrap
        ...
    }
    ContinuedWalk::Directory(DirectoryItem::Root(item)) => {
        let metadata = item.metadata(); // no unwrap
        ...
    }
    ContinuedWalk::Directory(DirectoryItem::Continuation(item)) => item.into_inner(),
    ContinuedWalk::Symlink(bytes, item) => {
        ...
    }
};

The 0.0.1 version would allow similar unwrap-less processing though matching item.as_entry() but with enum ContinuedWalk {} it requires double matching.
Best case scenario would be to find a way which requires only a single match to access either the Entry variant values without unwrapping in ipfs-unixfs or user code. The reason why the initial version did not have a better version of this was that it seemed all options would be self-referential structs or similar, but I am confident there's at least a better way.

Once the final PR related to this lands, I think we are good releasing the 0.1.0 unless objected, added the needs changelog tag so that I might remember this. Also much appreciated if @c410-f3r would add a one liner for this ergonomics work when we feel like this is done. I try to get the add for plain directories hammered out in the meantime.


Just started pcf dev iso no services in marketplace, nor Apps Manager available

Hi,
I started cf dev and received an error but seems like there are no services in marketplace and Apps Manager is not available neither. I also tried to push a sample app but cannot access it, even if it says it's running.
What am I missing?
Following the error and some outputs
This is the error I received when starting cf dev:
cf dev start -f "C:\pcfdevHome\pcfdev-pas.v.<IP_ADDRESS>-build.0.82.0.iso" -m 8192
Setting up IP aliases for the BOSH Director & CF Router (requires administrator privileges)
Downloading Resources...
Creating the VM...=============>| 100.0%
Starting VPNKit...
Starting the VM...
Waiting for Garden...
Deploying the BOSH Director...
Deploying CF...
Uploading ReleasesFAILED
cf dev start: Failed to deploy services: unable to parse bosh config: yaml: line 2: mapping values are not allowed in this context
cf login -a https://api.dev.cfdev.sh --skip-ssl-validation
API endpoint: https://api.dev.cfdev.sh
Email> admin
Password>
Authenticating...
OK
Select an org (or press enter to skip):

cfdev-org
system

Org> cfdev-org
Targeted org cfdev-org
Targeted space cfdev-space
API endpoint:   https://api.dev.cfdev.sh (API version: 2.98.0)
User:           admin
Org:            cfdev-org
Space:          cfdev-space
cf marketplace
Getting services from marketplace in org cfdev-org / space cfdev-space as admin...
OK
No service offerings found
cf dev version
CLI: 0.0.10
cf apps
Getting apps in org cfdev-org / space cfdev-space as user...
OK
name    requested state   instances   memory   disk   urls
cloud   started           1/1         256M     1G     cloud.dev.cfdev.sh

It looks like the start procedure failed for you midway, due to a bug that has already been resolved.


R2 reads not synchronized to timavo

The R2 reads from the last sequencing run (170921) were not synchronized to timavo (with SampleSheet2openBIS.sh).
The backup2nc.sh script worked fine.

Maybe because there was no Index 2 read and the script stopped?


[global] Expose EnableController in the datastore

This allows to perform programmatic switches between controllers:

By calling datastore().call("Global::EnableController", "NextControllerName") from your code
By using the mc_control::fsm::EnableControllerState in your FSM

@gergondet What are we missing to get this merged? Mohamed and Ahmed would like to use it to switch between their controllers (teleoperated grasping and tossing).

@arntanguy Formatting is off and I was planning to add a test but I started a long overdue rework of the tests for this. This can be merged as-is otherwise and I'll push the tests' rework on a separate PR including a test for this functionality

Ok, then I'll fix formatting and merge as-is once the pipeline passes and we can add the tests rework in a separate PR :)


Command Palette keybindings rendering odd when selected

VS Code Version: 1.84
OS Version: Windows 11

Steps to Reproduce:

Open the Command Palette and review the available keybindings.

The rendering is nice and tight without extra space between keystrokes and plus character.

Cursor down and notice that highlighting on keystrokes is gone and extra space between keystrokes and plus character.

I don't think we need to have the extra space and it would be nice if there was still some background highlight for the keystrokes to differentiate from the plus character. A user might think they needed to also use the '+' keystroke.
Not a recent regression as also see this in 1.83.1

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.83.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Talked this over with Greg and this is by design.


PhantomJS 1.9.8  segfault

Which version of PhantomJS are you using? Tip: run phantomjs --version.

1.9.8

What steps will reproduce the problem?
Can't reliably reproduce the problem

Which operating system are you using?
0.0.0 Linux 3.13.0-35-generic #62~precise1-Ubuntu SMP Mon Aug 18 14:52:04 UTC 2014 x86_64

Did you use binary PhantomJS or did you compile it from source?
Binary

Please provide any additional information below.

dump.txt

Please upgrade to PhantomJS 2. 1.9.x is no longer supported, and known to have many crasher bugs that are fixed in 2 version.


Remove the managed SCIP layer

In the recent rewrite of https://github.com/jump-dev/HiGHS.jl, @odow removed the managed layer which I had written mimicking the SCIP one, using a pointer to the solver instance directly in the Optimizer struct.
I wonder if we should do the same in SCIP -> implement the logic in managed SCIP at the Optimizer level? We have more going on at this level than there was in HiGHS

I have no problem with this kind of change. I don't believe anyone is using SCIP.jl without going through MOI.
The initial motivation was to keep the MOI layer light, I guess, but the complexity is just moved, not removed.
Dropping the intermediate layer would also simplify the overall code, because there are currently two separate types of variable and constraint indices.

perfect, I'll try to work on it


Linked to more Python examples

Adding this link is useful for e.g. https://pypi.org/project/zxing-cpp/

What examples did you have in mind here?

I have amended the commit. Please review that one. The demo files have been improved and their code was added to the README.

Thanks for your offer to help improve the code. I agree with adding a writing sample to the README and I also agree that the new string interpolation syntax is nicer to read. I don't like the additional line breaks and the removal of the explicit zxingcpp. qualification of the function names, though. Also the change from cv2 to PIL makes some sense, I would like to see a comment showing the cv2.imread(...) alternative as a lot of people seem to be using cv2.
Would you mind updating that PR once more?

Yes, no problem

Yes, no worries. Will rework your feedback.
For the rest good to know Python linters such as flake are steering more and more in direction of using 4 spaces instead of tabs. See also https://www.google.com/search?hl=en&q=python tabs spaces

Yes, no worries. Will rework your feedback.

Just wondering: are you waiting on input from me here?

Sorry for the delay, it is on my list and will contribute next week.

I hope all your feedback has not been resolved. The documentation and Python scripts are very dummy proof. Let me know if this is what you expected.

Note: if you should give it a last try, please merge with HEAD first as some test.py lines have changed.

Will do. Thanks for the feedback.

I will make a new PR for this as there are too many git conflicts and resolve attempts on feedback that I also lost track of all the details.

Thanks for looking into this once more. I decided to do these trivial changes directly because communicating my preferences would have taken about as much of my time plus yours to implement them...


the matching of dynamic objects

Hi, thanks for all your works. I'm very glad to do your experiment again. However, I have encountered some problems when reading your paper, How do you solve the matching of dynamic objects, such as moving cars, in urban scenes? For example, when the robot comes back to the same place, the car parked next to the road may have gone.At this point, the segments of source clouds and target clouds may be different.

Hi @lyk666, at this point, we do not explicitly deal with dynamic objects. One can adjust the minimum_point_number_per_voxel parameter to filter out fast changing dynamics by requiring a certain number of detection before considering a voxel grid as active.
For slower dynamics, eg. in the case of parked vehicles as you mentioned, the present method can still work in many cases as it does not require all segments to be re-observable but only a subset (eg. 4 to 6) are sufficient to recognize a place. In the KITTI examples one can note that not only cars are used for localizing and that the number of matches is generally well above the current threshold (4).
Fyi, we are currently working on an upgrade where we try to estimate whether a segment is potentially dynamic in order to avoid using it for localization.
I hope this answers your question!

Hi @rdube ,Thank you very much for your reply. I noticed that the segments that are normally used for matching are parked vehicle instead of other objects,such as tree and wall, and if we remove all these parked vehicle, will the matching fail?

Yes there are currently a lot of cars used for matching as they are very distinctive and highly present in the environment. We will soon show a demonstration where we can localize without relying on the cars. In the meantime you can have a look at the following demonstration where a region growing segmentation is used: https://www.youtube.com/watch?v=JJhEkIA1xSE&t=3s

Hi, I am really looking forward to seeing this demo. Can we remove parked cars by semantic segmentation in your recent demonstration?

This is not implemented but yes that should be possible. Let us know if you plan to give it a shot!

Oh, I'm going to do it. I tried to delete some of the points, and then got a new PCD file. But the loading point cloud fails, it suggests as follows:
[pcl::PCDReader::read] Number of points read (3300701) is different than expected (4722247)
F1107 20:08:27.094525  1259 common.hpp:136] Check failed: pcl::io::loadPCDFile(filename, cloud) != -1 (-1 vs. -1) Failed to load cloud: /home/exbot/ros_catkin_ws/src/segmatch/laser_mapper/demonstration_files/kitti/project_inliers.pcd.
*** Check failure stack trace: ***
[laser_mapper-3] process has died [pid 1259, exit code -6, cmd /home/exbot/ros_catkin_ws/devel/lib/laser_mapper/laser_mapper_node __name:=laser_mapper __log:=/home/exbot/.ros/log/6d5291ee-c3b3-11e7-a536-b8975ac33022/laser_mapper-3.log].
log file: /home/exbot/.ros/log/6d5291ee-c3b3-11e7-a536-b8975ac33022/laser_mapper-3.log

As a hint, we might also be looking into this!
Concerning the error, make sure that you properly set the height and the width of the cloud. See: https://github.com/ethz-asl/laser_slam/blob/master/laser_slam_ros/include/laser_slam_ros/common.hpp#L219

So it is. thank you very much for your reply. I look forward to your new progress, and I will keep trying. I also want to know where is the PCD map we created with laser_mapper? (Where does the map save when we launch laser_mapper kitti_loop_closure.launch?)

@lyk666 @yongkaili this is very preliminary example of how it might look like. Avoiding the use of dynamic objects (here in pink) for place recognition.
@yongkaili as for saving the map, one can use the /save_map rosservice such as:
$ rosservice call /laser_mapper/save_map "filename: data: '/tmp/test.pcd'"
You can use the PCL tool pcd2vtk to convert it for visualization.
This solution might change though to be able to produce a map which is fully loop closed. If you have further issue regarding map saving I would encourage you to open a dedicated issue.

Can we close the present issue?

Certainly. Thank you for your help.


Migrate neon to napi-rs

Started at https://github.com/napi-rs/node-rs/pull/34
Benefits

Minimal overhead
Stable native API, easy to release Releases

First benchmark in my local machine
swc (es3) x 695 ops/sec ±1.92% (82 runs sampled)
swc (es5) x 699 ops/sec ±1.14% (83 runs sampled)
swc (es2015) x 667 ops/sec ±1.70% (85 runs sampled)
swc (es2016) x 1,654 ops/sec ±1.62% (84 runs sampled)
swc (es2017) x 1,630 ops/sec ±2.06% (85 runs sampled)
swc (es2018) x 2,177 ops/sec ±1.63% (88 runs sampled)
@node-rs/swc (es2018) x 5,538 ops/sec ±1.04% (86 runs sampled)
swc-optimize (es3) x 1,555 ops/sec ±1.31% (85 runs sampled)
babel (es5) x 32.78 ops/sec ±4.99% (52 runs sampled)

@Brooooooklyn Does it support invoking javascript function from rust (in a thread created by rayon) and awaiting promise from rust (again, within any thread)?
I was considering switching to node-bindegen, but I'm open with other options, if the features above are implemented in a easy-to-use manner.

Does it support invoking javascript function from rust

ThreadSafeFunction has not been implemented yet, I'm planning to finish it in this month.
But you can spawn task to libuv thread via napi_create_async_work, see https://github.com/napi-rs/node-rs/pull/34/files#diff-ec133f03d8eaec6d1f6e2e0bffee7e50R64
node-bindegen is a great library, but the overhead is still too large if you are considering about performance: https://github.com/jdsaund/rust-node-perf

@Brooooooklyn I think the benchmark does not fit for swc. The benchmark is about adding two numbers, but swc does lots of things in the background task.
I didn't update the README.md because I'm too lazy to do it, swc is 20+ faster than babel even with neon. Clearly, ffi overhead is a bottleneck in swc, but I'm not sure if it worths migration.

I didn't update the README.md because I'm too lazy to do it

The benchmark I mentioned above is produced in my machine right now... and it's over two times faster @node-rs/swc (es2018) x 5,538 ops/sec ±1.04% (86 runs sampled) vs swc (es2018) x 2,177 ops/sec ±1.63% (88 runs sampled) if my implement is not wrong. I think this gain of performance is really worth to consider about. Especially napi-rs won't bring more effort in native side.

The benchmark is about adding two numbers, but swc does lots of things in the background task

I agree with this point, and I'm planning to setup more benchmark suites in napi-rs project.

@Brooooooklyn Wow, it's cool. I'll see how much performance differs in the case of almost all work being done on native.

Does it support invoking javascript function from rust

<EMAIL_ADDRESS>support it now

@Brooooooklyn Is there any documentation?
I want to improve swc and spack.

I will write a simple guide in this week, and you can also find the api use cases in this project: https://github.com/napi-rs/node-rs

@Brooooooklyn Can you help migration?
How can I expose a class from rust code?

@Brooooooklyn Also, do you have a plan to provide an alternative neon_serde? swc requires passing object from each side to the other side

How can I expose a class from rust code

I will write an example tonight.
BTW. I don't think we need define class in rust side. OnceCell is enough for swc like this: https://github.com/Brooooooklyn/swc-node/blob/master/src/lib.rs#L63

Do you have a plan to provide an alternative neon_serde

Yes. I will implement it in next week.

https://github.com/napi-rs/napi-rs/blob/master/test_module/src/class.rs
here is an minimal example that show how to implement JsClass in Rust. The API is verbose than neon now, but I will reduce the noise in napi-derive crate soon.

BTW. I don't think we need define class in rust side. OnceCell is enough for swc like this:

It's right, but I want to reduce semantic changes.

Yes. I will implement it in next week.

Good to hear. Thanks!

Yes. I will implement it in next week.

I may not have time in this month. I'm busy to push @swc-node/jest landing in my company projects and community projects. There are a lot of codes could not work as ts-jest (test failed or syntax error), I will continue to fix them in next period of time.

Thanks for the notice. And it's okay, I can do it.
Currently I'm working on a jsdoc parser and jsx pragma support, and I'll implement css support quickly after it.
Then, I'll switch to napi. If I manage to start working on it before you do it, I'll implement napi-serde.
Btw, I'm really happy to see swc used in company projects :)
If migration is successful, may I list your company on the swc user list?

If migration is successful, may I list your company on the swc user list?

Sure, and you can do it now, we have tons of code repos, and some of it has migrated successfully yet.
Site: https://www.bytedance.com

Thanks! I updated the site :)

@Brooooooklyn How can I send JsFunction to another thread?
I want js function to return Promise<string> | string and rust thread to wait for it.

There is Task trait: https://github.com/Brooooooklyn/swc-node/blob/master/src/lib.rs#L70
And the Env.spawn take a Task and return Promise object.
napi-rs spawn the task to libuv thread pool under the hood.
See https://github.com/Brooooooklyn/swc-node/blob/master/src/lib.rs#L124 for example

Thanks but I want to call javascript functions from rust and wait for it if it returns a promise.
Can I do it?

TheadsafeFunction can let you call javascript functions in any thread. But the exposed API is callback not Promise because you can call the javascript  function any times.
See rust and javascript for example

@Brooooooklyn
How can I cast JsObject / JsUnknown to other js types? I looked at the tests, but I failed to find one. I'm currently trying to write deserializer

Nevermind, I'll go with JsBuffer + serde_json

Nevermind, I'll go with JsBuffer + serde_json

haha,accord to my test, the performance is close between (Buffer + serde) and (serde serialize)

Sounds great! Thank you very much for a good library.

Maybe you should rerun benchmark and update the result on README. I see great improvement after upgrading to<EMAIL_ADDRESS>

TheadsafeFunction can let you call javascript functions in any thread. But the exposed API is callback not Promise because you can call the javascript function any times.
See rust and javascript for example

The links you posted are broken and it would be awesome for future people which come here if you could update them!

@m1212e updated


Wrong type of details() method

It says that pantryClient.details() returns a Promise<string> , however when I use it it returns an object.

Good find! I'll fix this for the next version


logging: Add metadata to hexdump

Extended hexdump API with a raw string attached to the data.
As requested by @jhe and @pizi-nordic  in discussion in #9090. Extending hexdump API with a string parameter (metadata for hexdump data).
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

recheck

Codecov Report

Merging #9165 into master will decrease coverage by <.01%.
The diff coverage is 70.21%.

@@            Coverage Diff             @@
##           master    #9165      +/-   ##
==========================================
- Coverage   52.61%   52.61%   -0.01%
==========================================
  Files         201      201
  Lines       25249    25254       +5
  Branches     5276     5277       +1
==========================================
+ Hits        13285    13287       +2
- Misses       9838     9841       +3
  Partials     2126     2126

Impacted Files
Coverage Δ

include/logging/log_core.h
80% <ø> (ø)
:arrow_up:

subsys/logging/log_output.c
2.72% <0%> (ø)
:arrow_up:

subsys/logging/log_core.c
69.75% <100%> (ø)
:arrow_up:

include/logging/log_msg.h
81.81% <100%> (ø)
:arrow_up:

subsys/logging/log_msg.c
80.43% <68.96%> (-1.53%)
:arrow_down:

Continue to review full report at Codecov.

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

Any progress with this? I'm waiting for a positive result from Shippable before reviewing.

@jhedberg shippable should be in better shape soon.

@nashif: Could you please merge?


Directive broken in ng-repeat with updating list

I'm working on a simple app that has a chat feature. My original goal was to add emoticons, for which the filter feature of ng-embed works great! However, since it's here, I was hoping to include all the other advanced features from this project.
Unfortunately when I use the directive and update the chat list to include previous days' chats, it act strangely. It's hard to explain, so I'm including screenshots, but it seems that the first items in the updated list are overwritten by the items in the original list.
This screenshot shows the original list:

Updating the list adds 4 new messages, to a total of 6.  Because of the odd behavior, the list becomes
(5, 6), 3, 4, 5, 6 <-- previous list in ( )
1, 2, 3, 4, 5, 6 <-- Expected list
The original list is overwriting the first two messages of the new list:

Hopefully this isn't overkill, but to reinforce my findings, after updating the list again and adding 1 more message, the list becomes
(5, 6, 3, 4, 5, 6), 6 <-- previous list in ( )
0, 1, 2, 3, 4, 5, 6 <-- Expected list

This is very cool module, and I would love to get the most out of it! The filter is already a huge help, and having the advanced embedding features would be amazing.
Thanks!

Could you post an example of the code you used to generate the list?

Sorry, of course!

            {{message.userName}}

        <ng-embed embed-data="message.message" embed-options="{code:{highlight: fasle},tweetEmbed: false, image: {embed: true}, gdevAuth: 'AIzaSyDCTysHFlNjqaEA3RlpHa4UGqMXHtMoSHY', video: {embed: true, autoPlay: false, details: false}, linkTarget:'_blank'}"></ng-embed>

The chat.list variable is set from a socket event, initially it's simply:
chat.list = data;
Then upon retrieving the previous day's messages:
chat.list = data.concat(chat.list);
Thank you for your assistance!

It is better to use "track by" with a property that is unique among the objects in the array. $index depends entirely on the position of the item in the array and it changes when you mutate the array. As a first step try the code without "track by" or use message.some_unique_id.

Wow, that was embarrassingly simple! I don't even usually use track by, and can't remember why I added it to begin with. It's interesting that it didn't cause any problems with the original basic div output.
Anyway, thank you for taking the time to help! I really do appreciate it!

Glad to help :)
Track by improves performance since angular will reuse the existing tracked items in the DOM.
It's a good idea to use it, specially with directives that are heavy to render, just make sure to use a unique id.
Did this solve your issue or are there more problems?

I see, that makes sense. I'll go back and put the track by back with a unique ID. Thank you for the explanation. I'm still learning some of the finer details in Angular, and it helps a great deal to have a concept explained in the context of something I'm working on!
Yes, this issue is resolved now! Thank you again for your help and your patience!


chef-server-ctl reconfigure should fetch trusted certs if mtls is enabled.

If a user has enabled mtls on Chef Infra Server. They will need to fetch the certs using
# export PATH=/opt/opscode/embedded/bin:$PATH
# /opt/opscode/embedded/bin/knife ssl fetch -c /etc/opscode/pivotal.rb

Reconfigure should auto fetch these for the user if mtls is enabled.
Notes:
https://github.com/chef/umbrella/blob/main/chef-server/scenarios/aws/mtls/main.tf#L175-L176
in the umbrella scenario perform these manual steps.
The way to find if mtls is enabled:
is if https://github.com/chef/chef-server/blob/main/omnibus/files/server-ctl-cookbooks/infra-server/attributes/default.rb#L526-L528 have a value other than false
It might be worth adding the check to see of the above attributes are false at https://github.com/chef/chef-server/blob/main/omnibus/files/server-ctl-cookbooks/infra-server/recipes/default.rb#L177
If they are false => mtls not enable and do nothing
if they are not false => mtls enabled and we should fetch the certs (https://github.com/chef/umbrella/blob/main/chef-server/scenarios/aws/mtls/main.tf#L176)
Acceptance criteria:

[x] chef-server-ctl user-list command should work out of the box when mtls is enabled on Chef Infra Server.
[x] chef-server-ctl commands should all work after the reconfigure.
[x] we should not require https://github.com/chef/umbrella/blob/main/chef-server/scenarios/aws/mtls/main.tf#L175-L176 after the fix is in place.

Aha! Link: https://chef.aha.io/features/SH-3025

null_resource.mutual_tls_config (remote-exec): BEGIN USER LIST TEST
null_resource.mutual_tls_config (remote-exec): sudo chef-server-ctl user-list
null_resource.mutual_tls_config (remote-exec): + sudo chef-server-ctl user-list
null_resource.mutual_tls_config (remote-exec): pivotal
null_resource.mutual_tls_config (remote-exec): echo -e '
null_resource.mutual_tls_config (remote-exec): END USER LIST TEST


env_logger::Builder example does not compile

The code in https://rust-lang-nursery.github.io/log/env_logger/struct.Builder.html does not compile:
Compiling playground v0.0.1 (file:///playground)
error[E0432]: unresolved import `log::Record`
 --> src/main.rs:6:11
  |
6 | use log::{Record, LevelFilter};
  |           ^^^^^^ no `Record` in the root

error[E0432]: unresolved import `log::LevelFilter`
 --> src/main.rs:6:19
  |
6 | use log::{Record, LevelFilter};
  |                   ^^^^^^^^^^^ no `LevelFilter` in the root. Did you mean to use `LogLevelFilter`?

error[E0432]: unresolved import `env_logger::Builder`
 --> src/main.rs:7:5
  |
7 | use env_logger::Builder;
  |     ^^^^^^^^^^^^^^^^^^^ no `Builder` in the root

I get the same error when trying to use the builder in my own project locally.

Hi @kahing,
You're looking at the very latest env_logger docs, which include major changes to the naming of structs in log and env_logger. Look here for docs that match your env_logger version: https://docs.rs/env_logger/0.4.3/env_logger/struct.LogBuilder.html
The naming changes happened in #162, if you're curious.
Sorry about that!

ok


support connection close header

fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/2647

/azp run cpp - storage

/azp run cpp - core


Update CONTRIBUTING.md

Shortened my goofy pseudonym.  Thanks for the mention!

Codecov Report

Merging #23 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #23   +/-   ##
=======================================
  Coverage   96.93%   96.93%
=======================================
  Files           5        5
  Lines        1175     1175
=======================================
  Hits         1139     1139
  Misses         25       25
  Partials       11       11

Continue to review full report at Codecov.

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

Thanks as well for mentioning me! :-)


Feature Request: Custom Configs

Hello, I am wanting to create a PR for a small addition and wanted to make sure that it is something that is needed.
Currently the config/index.js only has a configurable ENV variable.  This isn't ideal for running tests while having a dev server running b/c the ports collide.
Proposal:  I would like to create a PR to update the cli to generate a config that merges the entire test/dev in config/index.js for the dev key.  Also webpack will need to be updated to use the exports  correctly.
Please let me know if this is wanted and i'll knock it out.
Thanks!

Hey, thanks for your interest in vue-cli!
If I understood well, you should open this in the relevant template repository. I suppose it's the webpack one (https://github.com/vuejs-templates/webpack).
The port thing could be useful 🙂


large_image_changer_perf_ios failed, Invalid argument(s): durations is empty!

[large_image_changer_perf_ios] [STDOUT] stdout: [+20172 ms] 00:20 +0 -1: Animate for 20 seconds [E]
[large_image_changer_perf_ios] [STDOUT] stdout: [        ]   Invalid argument(s): durations is empty!
[large_image_changer_perf_ios] [STDOUT] stdout: [  +23 ms]   package:flutter_driver/src/driver/timeline_summary.dart 296:7   TimelineSummary._averageInMillis

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8851925213039219712/+/steps/run_large_image_changer_perf_ios/0/stdout
The test failed while the app was sitting on a white screen:

Another one https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8851906938469331872/+/steps/run_large_image_changer_perf_ios/0/stdout

xreffed with the umbrella bug https://github.com/flutter/flutter/issues/79097


[Broken] Youtube

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dlc version 2020.10.26
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar issues including closed ones

Verbose log

 youtube-dlc -x --audio-format mp3 https://www.youtube.com/watch?v=0Qd_k0hv3Nw -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-x', '--audio-format', 'mp3', 'https://www.youtube.com/watch?v=0Qd_k0hv3Nw', '-v']
[debug] Loading archive file None
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dlc version 2020.10.26
[debug] Python version 3.9.0 (CPython) - macOS-10.13.6-x86_64-i386-64bit
[debug] exe versions: avconv 12.3, avprobe 12.3, ffmpeg present, ffprobe present, rtmpdump Reason
[debug] Proxy map: {}
[youtube] 0Qd_k0hv3Nw: Downloading webpage
[youtube] 0Qd_k0hv3Nw: Downloading embed webpage
ERROR: Unable to extract JS player URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dlc with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/youtube_dlc/YoutubeDL.py", line 830, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python3.9/site-packages/youtube_dlc/extractor/common.py", line 532, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.9/site-packages/youtube_dlc/extractor/youtube.py", line 2065, in _real_extract
    jsplayer_url_json = self._search_regex(
  File "/usr/local/lib/python3.9/site-packages/youtube_dlc/extractor/common.py", line 1010, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dlc.utils.RegexNotFoundError: Unable to extract JS player URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dlc with the --verbose flag and include its complete output.

Description

As of yesterday downloading anything from Youtube seems to fail.

search before posting.

fixed in #35


Reflected new tags of Zeo and RoKi for ZTK.

@n-wakisaka
Following the renaming of tags for ZTK, I modified .ztk files in example/model.

Thank you for the contribution! Everything looks good, and I'll go ahead with the merge.


improve code coverage & test codecov/travis on PRs

Codecov Report

Merging #1 into master will increase coverage by 10.35%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master       #1       +/-   ##
===========================================
+ Coverage   88.69%   99.04%   +10.35%
===========================================
  Files           1        1
  Lines         115      105       -10
===========================================
+ Hits          102      104        +2
+ Misses         13        1       -12

Impacted Files
Coverage Δ

index.js
99.04% <100%> (+10.35%)
:arrow_up:

Continue to review full report at Codecov.

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


handle windows platform

I believe this might solve https://github.com/dblock/guard-rack/issues/22
Instead of using process, I can just send a shell command to do the job.
Althought its not async like Process but it is a workaround.

The only thing would be: the version of windows it runs on need to support the command taskkill

It's promising. I cannot believe there's no gem that handles processes cross-platform though?
Start by fixing the *nix build either way.

@dblock spoon does handle windows. But the unfortunate problem is how cmd.exe handles .bat files. It won't let you interrupt it without the user input "Terminate batch job (Y/N)?"
Which is the root of the problem.
There might be another way to interrupt the process...I'll look into it as well

An alternative i was trying that wouldn't need such a big change in the runner was to run rackup not from a batch but straight off the .rb file (taken from this blog)
Unfortunately that didn't work or i couldn't get it to work. Still ended up with this:
Maximum connections set to 1024
Listening on <IP_ADDRESS>:9292, CTRL+C to stop
[1] guard(main)> change server.rb
[2] guard(main)>
21:07:52 - INFO - Restarting Rack...

^C^CTerminate batch job (Y/N)? Terminate batch job (Y/N)? Y
Y
C:\>

So this still looks to be the best way I've found.

I am cool with merging this. It needs an entry in CHANGELOG, please.
If you have time though, and want to make things cleaner, refactor the nix/win parts into a Process class or something like that, and instantiate Process::Nix vs. Process::Windows, which will simplify the tests as well quite a bit since you can write a single test for the runner and separate tests per platform for terminating processes.

Squash your commits, too.

    # ./lib/guard/rack/custom_process.rb:27:in `kill'
     # ./lib/guard/rack/custom_process.rb:27:in `kill'
     # ./lib/guard/rack/runner.rb:41:in `kill'

For some reason its not stubbing the custom process and running through.
Seems to pass on my windows box.

I like it!

Looks good, merging.

I've cut a release, 2.2.0.


Unsourced JS libraries and missing license

I noticed that there are some compiled javascript files that don't list an upstream source. I was able to find some in public/assets/librejs/librejs.html, but seem to be missing the following:
dropzone-4.2.0
jquery.datetimepicker-2.4.5
jquery.are-you-sure
pdfjs-1.4.20
codemirror-5.17.0
autolink.js
gitgraph
draw
font-awesome-4.6.3
octicons-4.3.0
public/less/?
public/../github-min.js?
public/themes/fonts?
Could we get librejs.html updated with this information, please? Also, if there have been any modifications of these files, have they been documented anywhere?
While I was looking through public/img/, I saw images such as slack.png, openid-x.png, and github.png that I would assume are proprietary and don't provide sources. The emoji/ directory also seems to have a large number of images that probably have sources that I missed.
I would like to locate a license grant for any proprietary images or see documentation pointing at the upstream source and license. Ideally, I'd like some script that could be used without requiring network access that can reproduce the images in public/img/.
In a perfect would, the packaging process would strip public/ and rebuild everything in it, but the above is a bare minimum if I have any hope of getting this into Debian.
Thanks!!

Beyond just complete documentation, this actually represents a license violation in it's current state... as do many vendor/ dependencies, but the latter has been resolved in downstreams.

Clicked the wrong comment button...

Report from LibreJS (Firefox extension) on try.gitea.io running v1.1.0:
List of accepted JavaScript in https://try.gitea.io/
This script is detected as free
https://try.gitea.io/js/libs/jquery.are-you-sure.js
This script is detected as free
https://try.gitea.io/js/libs/emojify-1.1.0.min.js
This script is detected as free
https://try.gitea.io/js/libs/clipboard-1.5.9.min.js

List of blocked JavaScript in https://try.gitea.io/
This script is detected as nonfree, external, and as defining functions or methods
https://try.gitea.io/js/libs/autolink.js
NONTRIVIAL: eval has been found in code
https://try.gitea.io/js/index.js?v=1ed9cef4e7846494bd7df1cc16ae65fc
NONTRIVIAL: Creates an xhr object
https://try.gitea.io/js/jquery-1.11.3.min.js
NONTRIVIAL: Creates an xhr object
https://try.gitea.io/js/semantic-2.2.1.min.js

Web Labels pages being used for this session
https://try.gitea.io/assets/librejs/librejs.html

@MTecknology Sorry for the late response 🙂
WRT Logos
Slack: https://slack.com/brand-guidelines

You're entitled to say that your website or application is integrated with Slack (we like people integrating with Slack!), but please don't use the Slack marks as part of the name of your company, application, product, or service, or in any logo you create.

OpenID: http://openid.net/add-openid/logos/

for use in presentations, articles, blog posts, etc.

(It'd say this falls under "etc.")
GitHub: https://github.com/logos

Do these awesome things:
Use the Octocat or GitHub logo to advertise that your product has built-in GitHub integration

WRT sources

Ideally, I'd like some script that could be used without requiring network access that can reproduce the images in public/img/.

Not really possible without polluting the repo with providers tar-balls (not always available either...)
We can however add public/img/gitlab.png.LICENSE and friends if that would make it better.

The emoji/ directory also seems to have a large number of images that probably have sources that I missed.

EmojiOne, we move it to public/plugins/emojione-{{ .Version }} and add their LICENSE-file in there...

the packaging process would strip public/ and rebuild everything in it

This would requires internet-access and is not an option. There's a reason why we have vendor/ 😉

It seems some PR fix this issue?

@lunny No, #1728 is something completely different.

I'm only just now hopping back into this issue (Debian 9 released)
The problem I see with the slack logo's Brand Guidelines is this:

By using the Slack marks you agree to follow these guidelines as well as our Terms of Service and all our rules and policies.

This seems pretty unambiguous to me... by using the logo, you agree to their Brand Guidelines, their Terms of Service, and whatever "rules and policies" means. I'd prefer see the logo swapped out for '#' until that wording is changed. The rest of their guidelines seem perfectly reasonable, but this seems to be very clearly crossing a line of what we should consider acceptable.
As for the javascript stuff, I get the impression @kwill is more capable than me at digging into how we can correctly get only foss javascript libraries in place and correctly documented. Digging through js stuff like this is quite difficult. However, I do have a few thoughts...

Stick all javascript in the public/js/ directory
Drop the public/js/libs/ sub-directory
Drop the version number from the filenames (big deal for off-line rebuild)
Build a "proper" file documenting sources and version numbers
[proper] don't know what that looks like, but machine/human readable would be excellent
Remove everything that can't be attributed (git logs show some stuff is original... let's say what is)
Same thing with assets, css, ... -pretty much- everything under public/

Not really possible without polluting the repo with providers tar-balls (not always available either...)
This would requires internet-access and is not an option. There's a reason why we have vendor/

I recall discussing w/ @bkcsoft, on IRC, what it means to build gitea without a network connection and without having vendor/ available. (Everything needs to come from a package already available in Debian.) At first, it meant ~100 golang libs needed to be added to the Debian repos (in the correct reverse dependency order...), now it means about 20 more javascript packages.
I'd like to get what's best and most correct figured out so I can beg someone to work on that while I learn how to package javascript libraries and then learn how correctly utilize those packages.

I don't actually know how, I just installed LibreJS in Firefox and recorded the results when visiting https://try.gitea.io :) I'll check if the listed libraries/files are already known to be free (I'm guessing they are).

At first, it meant ~100 golang libs needed to be added to the Debian repos (in the correct reverse dependency order...), now it means about 20 more javascript packages.

Unless these have a separate package for each version that don't conflict with eachother you're gonna have a bad time.

Drop the version number from the filenames (big deal for off-line rebuild)
Build a "proper" file documenting sources and version numbers

machine/human readable
Remove everything that can't be attributed (git logs show some stuff is original... let's say what is)
Same thing with assets, css, ... -pretty much- everything under public/

This can mostly be addressed by using npm/yarn (just like we use govendor for go deps). The only thing we might have issues with is figuring out what we're actually using, and which version of it we're using.
As for the Slack-logo, I think we can just replace all mentions of "Slack" with "Mattermost" TBH, since the API for Mattermost is a superset of Slacks API.

Drop the public/js/libs/ sub-directory

This is generally a bad idea, since now you have to manually figure out what is vendored and what is original content. From a PMs point-of-view I'd prefer to have js/libs since then I could just rm -rf public/js/libs and go with that.
Packaging JS-libs separately is going to break though unless you create symlinks all over the place...

On Jul 4, 2017 12:45, "bkcsoft"<EMAIL_ADDRESS>wrote:
Drop the public/js/libs/ sub-directory
This is generally a bad idea, since now you have to manually figure out
what is vendored and what is original content. From a PMs point-of-view I'd
prefer to have js/libs since then I could just rm -rf public/js/libs and go
with that.
If vendored libs are kept underneath of js/libs and original work is kept
outside, that makes sense to me. However, this does not reflect the current
reality.
Packaging JS-libs separately is going to break though unless you create
symlinks all over the place...
I have discussed this process with you previously. You should be aware
symlinks are not involved.

On Jul 4, 2017 12:43, "bkcsoft"<EMAIL_ADDRESS>wrote:
At first, it meant ~100 golang libs needed to be added to the Debian repos
(in the correct reverse dependency order...), now it means about 20 more
javascript packages.
Unless these have a separate package for each version that don't conflict
with eachother you're gonna have a bad time.
This has been discussed.
Drop the version number from the filenames (big deal for off-line rebuild)
Build a "proper" file documenting sources and version numbers

machine/human readable
Remove everything that can't be attributed (git logs show some stuff is
original... let's say what is)
Same thing with assets, css, ... -pretty much- everything under public/

This can mostly be addressed by using npm/yarn (just like we use govendor
for go deps). The only thing we might have issues with is figuring out what
we're actually using, and which version of it we're using.
And the license and the source... basically what this bug is about.
As for the Slack-logo, I think we can just replace all mentions of "Slack"
with "Mattermost" TBH, since the API for Mattermost is a superset of Slacks
API.
My stated concern was about the logo use, but s/slack/Mattermost/
(including logo) would be a great solution that covers more than what I was
thinking about.

How about
public/
  css/
  js/
  img/
  ^-- custom stuff covered under
vendor/
  vendor.json
  ^- upstream location, packaged version (or date + git tag)
  less/
  img/
    emoji/
  js/
    autolink.js
    clipboard.min.js
    emojify.min.js
    semantic.min.js
    ^- no version numbers in file names
  plugins/

Then I get to exclude only public/vendor/ and rebuild it during the build process, which lets me make sure the package meets DFSG. If I can check off that box, then #1524 can get a push in the right direction, and we'd be that much closer to closing #31 and #122.

@kwill I did a bit of a rework, as earlier described. I'm struggling to figure out why librejs isn't detecting some scripts like highlight.pack.js and gitgraph aren't being detected as free despite being in librejs.html. Beyond that, it seems like the new structure and update of public/ manages to resolve this issue as well as C0.0 of #1534.

Still to be ported to 1.2 branch (before it is finalized)

After PR #2374, if there are no other issues from PR #2375, I will create a PR to cherry-pick these changes.

Long overdue test results running LibreJS on Gitea Version d545e32 try.gitea.io. Success:
List of accepted JavaScript in https://try.gitea.io/

    This script is detected as free
    https://try.gitea.io/vendor/plugins/cssrelpreload/loadCSS.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/cssrelpreload/cssrelpreload.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/jquery/jquery.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/autolink/autolink.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/emojify/emojify.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/clipboard/clipboard.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/vue/vue.min.js
    This script is detected as free
    https://try.gitea.io/vendor/plugins/semantic/semantic.min.js

    Script appears to be free under the following license: Expat License (sometimes called MIT Licensed)

    	/*
    	@licstart  The following is the entire license notice for the
            JavaScript code in this page.

    	Copyright (c) 2016 The Gitea Authors
    	Copyright (c) 2015 The Gogs Authors

    	Permission is hereby granted, free of charge, to any person obtaining a copy
    	of this software and associated documentation files (the "Software"), to deal
    	in the Software without restriction, including without limitation the rights
    	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    	copies of the Software, and to permit persons to whom the Software is
    	furnished to do so, subject to the following conditions:

    	The above copyright notice and this permission notice shall be included in
    	all copies or substantial portions of the Software.

    	 IN NO EVENT SHALL THE
    	AUTHORS OR COPYRIGH…

    Script appears to be free under the following license: Expat License (sometimes called MIT Licensed) -- This script is trivial
    [{"attribute":"onload","value":"this.rel='stylesheet'"}]

    This script is free according to a JS Web Labels page visited recently (at https://try.gitea.io/vendor/librejs.html# )
    https://try.gitea.io/js/index.js?v=d3c4579ed0a3d20038d5e2ff5d1251c2

List of blocked JavaScript in https://try.gitea.io/

    LibreJS did not block any scripts on this page:
        There may be no scripts on this page (check source, C-u).
        All the scripts on this page may be trivial and/or free.
         This policy is effective for the entire duration of a Firefox session.
        If for any reason you think LibreJS should have blocked JavaScript code on this page, please report this issue to<EMAIL_ADDRESS>
Web Labels pages being used for this session

    https://try.gitea.io/vendor/librejs.html


Id.Me Implementation

Feature
Adding Id.Me Military Authentication to our user profiles
Why is this feature being added?

This authentication will vet applicants seeking scholarships.
What should your feature do?
Add a button in the user profile section linking to the Id.Me authentication system. After the user is successfully authenticated, update the user's profile in both the UI and the backend with some form of a flag to indicate success or failure.
Implementation
API Link => https://developer.id.me/documentation
To get started with an integration we need to do the following.

Sign up for an ID.me developer account.
Register one organization for your company.
Register an application for each web site property that will need access to verification data.
Contact<EMAIL_ADDRESS>to setup the appropriate policies associated with the affinity groups you want to verify.
Place one or more ID.me verification buttons on your site for each group you wish to target.
Once users complete the verification flow at ID.me, send requests to ID.me's API to retrieve their group affiliation data.

Screenshots

For implementation, @rickr, we'll need to consider a design that associates scholarship application with the id.me verification. Right now, scholarship applications simply link to an Airtable form.

I think for now saving state in the DB and manually checking will have to be the way we go about things. In the near future we have an events endpoint on the way. Once that lands we can have have applications check for status.

@alexspence how does #203 affect this?

Closed in #203


feat: add CLI/proto bindings for rolling out deployments

$ fal fn serve registry/image/fast_sdxl/exports.py FastSDXL --alias fast-sdxl --auth shared --rollout
[deploys a revision]
[blocks till at least min_concurrency replicas are available]
[changes alias to point the new revision]

https://github.com/fal-ai/fal/pull/293


Switch to keep alive interval and add unsaved changes warning

I added these two little features, it felt like this warning is a necessity.
Thank you for this project!

Hey there - thanks for this. I'll test the warning, but the terminate functionality is intentional, in response to security concerns, so that stays.

Oh, I did leave the termination logic, just changed it up a bit. The window unload event may be skipped in certain cases, so the server should now close after a timeout of 10 seconds if the frontend stops sending keep alives. Also, another unload handler may interfere with the added warning if the event order is incorrect, that's why I cared in the first place.

It may still be better to do it your way to prevent unintentional server shutdowns. If the server keeps running, it shouldn't be that of an issue, since it's just reachable from localhost, not from <IP_ADDRESS>.


Need Write access

Need to deploy Commands site, going to need write access to the repository

On it
On Mon, 4 Apr 2022, 1:26 pm Anuj Parihar, @.***> wrote:

Need to deploy Commands site, going to need write access to the repository
—
Reply to this email directly, view it on GitHub
https://github.com/maisans-maid/Mai-cmd-site/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANRSJ6H3H7BZYAI65A5XSTDVDJ4QZANCNFSM5SOLOTIA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Nice!


Material You color palette with MonetCompat

I would love to see the Material You color palette in this app.
I found the repository from Kieron Quinn, it's looks like an easy way to implement the monet colors:
https://github.com/KieronQuinn/MonetCompat
It's written in Kotlin, sadly I don't know how difficult it is to implement it in Java.
It also supports older Android versions below 12.

There are many things to improve, unfortunately I don't have much knowledge about it, I hope someone can solve it with some PR

Done


Make stage tests less sensitive to timeouts

Previously, staging tests used the number of failed token dequeues (with 50 ms timeouts) on
a signalling queue to indicate blocked puts. This was probably too sensitive on highly contended testing systems. Basically, there's no good way to distinguish between a put that took too long and a blocking put.
Staging tests now simply count the number of iterations before a timeout of 1s occurs on the signalling queue. This should mean that:

The test case is less brittle around what is considered a block vs  the putting thread not being able to keep up.
Both stage_op_test and map_stage_op_test take slightly longer, ~2.5s vs ~1s, to run on an uncontended system..

Also simplified the tests cases in general.
/cc @ekelsen @jhseu I saw #10516 and the duration of test runs (~30s on your test systems vs ~1s on my laptop) made me reconsider the duration on the blocking timeout. I've upped it 20X from 50ms to 1s.
In an ideal world, the test cases wouldn't depend on a timeout when running -- if you can suggest a different method of testing blocking puts and gets, please let me know.
I also relooked at the multi-threaded code in the StagingArea, but I think the standard producer/consumer queue has been implemented correctly.
I hope this helps.

Can one of the admins verify this patch?

Jenkins, test this please.

Jenkins, test this please

Simon - thanks for looking into this.  I know it's annoying to deal with test failures that only happen on the test machines and not locally.
We had disabled the tests, so to be able to test them on the test server you'll need to re-enable them.

Simon - thanks for looking into this. I know it's annoying to deal with test failures that only happen on the test machines and not locally.

Likewise, thanks for your patience with this. I've re-enabled the tests.

Jenkins, test this please.

Test failures look unrelated. Note that stage_op_test.py never managed to run on the Linux CPU Test, while both map_stage_op_test.py and stage_op_test.py completed successfully on the Windows Cmake Tests

I agree, this looks good.  It would be nice to get that api compatibility test fixed so we can get a run on linux.

I misread the logs -- stage_op_test.py passed successfully in both of the failed test suites.

Could you fix the conflicts?

@jhseu does this change address http://b/62429636? If so, we can re-enable the tests (they don't run right now, so this is an untested change, and I don't want to merge it like this).

Removed all tags in stage_op_test.py and map_stage_op_test.py. The noguitar and notap tags aren't documented so I'm not sure what their removal implies...

@martinwicke I'm not certain, but it seems likely to fix that bug.

Jenkins, test this please

Staging Tests look good. The Windows Cmake Tests failed on an unrelated test case.

Confirming that windows cmake issues are unrelated. Should be fixed at master in the last hour.


fix link flag to -mcpu=cortex-a9

PR checklist

[x] Updated function header with a short description and version number
[x] Added test case for bug fix or new feature
[x] Validated on real hardware

@microsoft-github-policy-service agree


Launch » Windows pane enhancements

Parent: #409
Legend
⬜ - Hasn't started
📝 - In Progress
✅ - Complete
TODOS

Issue
PR
Feature
Progress

????
????
Offline/online toggles
⬜

????
????
Network throttler
⬜

????
????
Inject JavaScript
⬜

Won't fix because these are debugging tools. Tandem is now specific to creating UIs.


Interchange difference times in Identity-SSPRfollowedbyRiskySignin.kql

I believe the current version is looking for SSPR events that happen until 2 hours after the risk event, instead of what is stated in the first line comment (risk event until 2 hours after the SSPR event).

Also, without a "between" the events can be more that 2 hours within each other.


Bump r-vegan to 2.5-4

Checklist

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

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Using toolchain directly in this manner is deprecated.  Consider using the compilers outlined here.

Hey @conda-forge/r-vegan ! What may be going on here? Is there any problem with the CI of this recipe?

@conda-forge-admin, please rerender

@conda-forge/r-vegan Can you guys take a look at this PR?

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.


Fix number of classes in indic_glue sna.bn dataset

As read in the paper, Table 11.

@lhoestq there are many things missing in the README.md file, but this correction is right despite not passing the validation tests...

Yes indeed. We run the validation in all modified readme because we think that it is the time when contributors are the most likely to fix a dataset card - or it will never be done


Makefile: drop istioctl dependency: envoy, ztunnel

Please provide a description of this PR:
Continuing almost whole-workday storyline from #48990: updating Arch package for istioctl. (..and cutting usage from the part my previous PR fixed :upside_down_face:)
Just building ctl does seemingly not need the dependencies marked as dependants for pretty much all targets in Makefiles. Let's cut down on waste. AFAIK, the component is rather decoupled from the others, and I couldn't find anything breaking.
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[x] Test and Release

Please check any characteristics that apply to this pull request.

[x] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

tested:

docker istioctl-all
non-docker istioctl-all
manual search in istioctl/ for any embeds + glaze through mentions of the deps

tried to test:

go test istioctl/cmd → fuzz fail
make test → credential errors

Seems fine, CI tests might work™
/shrug

Hi @jtagcat. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test


newer coursier SHA with JDK 11 support

references https://github.com/coursier/coursier/pull/954
fyi @alexarchambault

sigh, I had to revert this for now because it broke some downstream projects in the JDK 8 build (coursier-small, classpath-shrinker)


fix: cannot resolve localePath  correctly

🔗 Linked issue
resolve #2523
resolve #2525

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This issues is fixed via vue-i18n-routing

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

@BobbieGoede
Can you add tests for cases #2523 and #2525 for regression? 🙏

You can push fix/bump-deps branch.

@BobbieGoede Can you add tests for cases #2523 and #2525 for regression? 🙏

Added the regression tests.
For #2523 I had to guess the intended usage as there was no minimal reproduction.. The example given in the issue description would not have worked, so I made the assumption that the following changes would have been the intended usage.
const { localePath } = useLocalePath();
-const url = localePath('path/as a test')`
+const url = localePath(`/path/${encodeURI('as a test')}`)

Let me know if this should be different!

@BobbieGoede
Thanks for your testing!


Support Windows

Currently, the project can only support core Apple platforms due to variations between the open and closed-source versions of the core frameworks. Once these issues are resolved, Linux (#10) and Windows (#41) can then be officially supported.
This will either involve us waiting for Apple to reach feature parity between the two versions or will require us to implement the missing methods ourselves (and then ideally merge upstream if possible).

Given that we now have support for Linux in Swift 6 (#10), it seems likely that these fixes will also work on Windows. All that remains to officially support this is to test it in the CI. Currently, this is blocked on https://github.com/swift-actions/setup-swift/pull/676.