Add Formatter\Utility to aid debugging.

So far I only created message builder for two of the formatter assertion types. If you like the idea, I will add the rest.

Coverage remained the same at 100.0% when pulling b980dbf0ac2e12e7dd5772bb42de59ebf12eaac2 on jeremiahsmall:feature/better-assertion-formatter-failure-messages into 49ef20ceda6a3e60e2310accf21a9d5f728624a2 on DASPRiD:master.

Coverage remained the same at 100.0% when pulling 99ec9efa336c40c425b57656365a0effb1473983 on jeremiahsmall:feature/better-assertion-formatter-failure-messages into 49ef20ceda6a3e60e2310accf21a9d5f728624a2 on DASPRiD:master.

Coverage remained the same at 100.0% when pulling 6a493d9a295c243edb9c99b6368bd832819da5d1 on jeremiahsmall:feature/better-assertion-formatter-failure-messages into 49ef20ceda6a3e60e2310accf21a9d5f728624a2 on DASPRiD:master.

This has been resolved in a nicer way through the recent Exception update.


Jobanalyzer v2 architecture

(Evolving)
What we have is a useful prototype and the high-level architecture is right but let's rethink the implementation / lower-level architecture:

there may be multiple types of observations being made on the nodes, in addition to sampling we have systems configuration monitoring (maybe once every 24h), slurm sampling (really log slurping, #66), observations of system health, and monitoring of loaded modules (#20) that are orthogonal to process sampling.  Right now, all of these that we do do are mapped onto sonar records (eg the heartbeat record reports system health but is not a sonar record per se; the numcores fields is a too-primitive systems config monitoring) and we can't do everything we want to do (eg slurm log slurping)
we want to send sampling data over the network, not via shared disk, because shared disk depends on shared uid/gid, shared mounts that have to be maintained, and so on, while network transport does not require centralized management of any kind
we want to move the data ingest and analysis to a central location in the cloud and not have analysis running on multiple hosts (again a problem stemming from shared disk / shared uid)

Classically this is a case for a messaging service such as MQTT.  With MQTT, each sonar node publishes data to various topics at a message broker, for example, sonar/fox/c1-12.fox might be a topic for sonar data from fox for the given node name; sysmon/fox/c1-12.fox might be the ditto topic for system configuration data.  The broker typically runs on the analysis host.  Other agents subscribe to these topics (frequently wildcarded) with the broker and receive and process the data.  These agents can also run on the analysis host.  Typical agents would receive data and store them in some type of efficient time series database.  Data are json or binary, depending on volume.  MQTT runs over TLS with authentication.  There are many brokers available.  There are other options than MQTT but for our volumes (a few thousand nodes, so less than 10 msgs/sec on average, if we can spread messaging out) it seems a good fit.
         Sonar  ---- mqtt ----------> broker
                                      ^  ^
         Sonar  ---- mqtt ------------+  |
         Sonar  ---- mqtt ---------------+

On the receiving end, typical agents would listen to the various messages and store perhaps both the raw data for safekeeping and up-to-date summaries useful for queries and alerts.  At the moment, to generate a report about a policy violation we have to re-read a month's worth of data and recompute the job data for every job, then look up the job to see if it is new and needs to be reported.  This is expensive both because the data are poorly represented and because there's a lot of redundant work.  With an agent that processes data on ingest, only a little work needs to be done to integrate new data into the existing state, and reports can be geneated asynchronously.
                                                       +--------------------- web server
                                                       v
         Sonar  ---- mqtt ----------> broker  <----> agent <----> database
                                      ^  ^ ^
         Sonar  ---- mqtt ------------+  | +-------> agent <----> database
         Sonar  ---- mqtt ---------------+             |
                                                       +---> report

In practice the broker and all the agents would be running on our VM which could be running anywhere (commercial provider, private provider).  In principle an application platform such as S3 might be just as appropriate as the thing we're currently running.
At the same time, "running sonar locally" is an important use case for when the sonar parameters are wrong or the user is on (say) a VM without sonar installed, and we need to not forget that.

An important question is whether we're tied particularly to sonar or whether we could instead change to use something like Remora, which does much the same thing as sonar.  With a message-based interface and data-source-specific ingestors, we are free to experiment quite a bit.

The change to network-based exfiltration is complete, so I'm going to remove this bug from M3.

Specifically on the topic of MQTT, this is an analysis of MQTT vs HTTP by an MQTT vendor.  Right now we use HTTPS which fits in nicely with our architecture and if we decide to stick with HTTPS we could even proxy the traffic through nginx to further reduce the attack surface of the server, and just rely on the UiO-issued CA cert on the client side, no more homebrew CA.
For our volumes and our messaging patterns and the fact that we're on wired networks it's not completely clear that MQTT is a winner - it seems that it is more of a winner when a connection stays open and is reused quite a few times, but for the most part we're trying to avoid that, we don't want 1300 open connections for Sonar to persist to the central server on behalf of Betzy, say.
MQTT might be a winner if we had an mqtt broker per cluster, with all cluster members messaging it over (say) UDP or other lightweight messaging protocol that works well within that confined environment, and it having a mostly persistent connection to naic-monitor, speaking MQTT.
Another aspect of MQTT is bidirectional messaging, which we don't currently need.  Sonar is one-shot and driven by cron, and we probably like it that way.  If it were a daemon, always running, it might be useful to control it remotely to control reporting frequency, say (not sure what else is interesting).


Loading Parquet through curl

I realize this is a new feature and perhaps loading through clickhouse-client is the only supported way. None-the-less...
Describe the bug
Errors are returned when trying to load parquet data with curl.
How to reproduce

Which ClickHouse server version to use
<IP_ADDRESS>

CREATE TABLE statements for all tables involved

echo "CREATE TABLE IF NOT EXISTS test(col1 Int32) ENGINE = MergeTree PARTITION BY col1 ORDER BY col1" | curl -s localhost:8123 -d @-

Sample data for all these tables

echo "INSERT INTO test VALUES (1)" | curl -s localhost:8123 -d @-

Queries to run that lead to unexpected result

# create a parquet file:
echo "SELECT * FROM test FORMAT Parquet" | curl -s localhost:8123 -d @- > out.pq
# try load it back:
cat out.pq | curl -s 'localhost:8123?query=INSERT%20INTO%20test%20FORMAT%20Parquet' -d @-
# yields
std::exception. Code: 1001, type: parquet::ParquetException, e.what() = Invalid parquet file. Corrupt footer., version = <IP_ADDRESS> (official build)

Expected behavior
Expect that the data is loaded same as clickhouse-client
cat out.pq | clickhouse-client --query="INSERT INTO test FORMAT Parquet"

Error message and/or stacktrace
From /var/log/clickhouse-server/clickhouse-server.err.log
2019.05.28 20:10:32.258740 [ 25 ] {73656d24-f854-4737-b888-4626a677865a} <Error> executeQuery: std::exception. Code: 1001, type: parquet::ParquetException, e.what() = Invalid parquet file. Corrupt footer., version = <IP_ADDRESS> (official build) (from <IP_ADDRESS>:36012) (in query: INSERT INTO test FORMAT Parquet )
2019.05.28 20:10:32.259987 [ 25 ] {73656d24-f854-4737-b888-4626a677865a} <Error> HTTPHandler: std::exception. Code: 1001, type: parquet::ParquetException, e.what() = Invalid parquet file. Corrupt footer., version = <IP_ADDRESS> (official build)

Additional context
Tested and reproduced in docker.

You have to use --data-binary instead of -d for curl.
Otherwise curl will mangle binary data.

My mistake. I thought -d was the proper alias. Thanks for the fast response!


Added a note to ImmediateGeometry(/3D) regarding it's buffer limit

Fixes #23444 if cherrypicked.
Note that this change is in ImmediateGeometry3D docs in master branch and that is not implemented yet on it.
I'm not sure if cherry-pick works if filename is changed. If not, I can make a PR to 3.2 branch.

This setting doesn't exist in the master branch, so it's not really a correct advice for that version.

This setting doesn't exist in the master branch, so it's not really a correct advice for that version.

Based on https://github.com/godotengine/godot/issues/23444#issuecomment-658064612 here, I assumed it would be implemented at some point. Should I make PR request for 3.2 then?

I'll close this pull request as the other one is merged and the issue is makes on 3.2 only.


SASS documentation

So... today I've been at the FITC Web Unleashed 2016 conference, where I've met amazing @bpainter (Those who don't know of him, shame on you! jk)... and this rockstar of a guy thinks he may get us in touch with the SASS people so we can improve their documentation, and maybe reshape it a bit more newbie friendly. This would help us teach campers so much better, and in the process help us shape our own sass contents. Right? no? Comment!
Thus, I humbly bequest this community with the task of helping me figure out what needs to be changed or added. Maybe we could ask the general population for hints and requests?
Any and all —constructive— input shall be welcome and considered. Let's make it happen!
@QuincyLarson @FreeCodeCamp/issue-moderators Thoughts on how to lead this?

Sass shouldn't be all caps. Which parts of the Sass documentation do you not find newbie friendly?
It's been a while but I recall the documentation for Sass was intuitive and reasonably easy to use pretty much across the board.

Hmm I take it there's no interest in pursuing this issue. closing


[Storage] az storage blob query: Support Azure Storage Query Acceleration

Description

Fix issue #14323
Add data plane support for Query Acceleration feature (https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-query-acceleration) into CLI.
Testing Guide

Prepare blob named quick_query.csv

Show result directly
az storage blob query -c test -n quick_query.csv --query-expression "SELECT _2 FROM BlobStorage"  --account-name zuhdefault --account-key xxxxxx
Save result in file
az storage blob query -c test -n quick_query.csv --query-expression "SELECT _2 FROM BlobStorage"  --account-name zuhdefault --account-key xxxxxx --result-file xxx.csv

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

Storage


Fatal Error

When trying to compile the solution with the latest Microsoft visual studio on windows 10, I am getting this outputted
Build started...
1>------ Build started: Project: Akatsuki, Configuration: Release x64 ------
2>------ Build started: Project: Yuubari, Configuration: Release x64 ------
3>------ Build started: Project: Naka, Configuration: Release x64 ------
4>------ Build started: Project: Fubuki, Configuration: Release x64 ------
1>u64tohex.c
3>strtoul.c
2>cmdline.c
2>hde64.c
2>strtoi.c
2>ultostr.c
4>cmdline.c
4>u64tostr.c
4>ultohex.c
4>ultostr.c
3>_filename.c
1>u64tostr.c
1>ultohex.c
1>ultostr.c
1>util.c
3>_strcat.c
3>_strcmpi.c
3>_strcpy.c
3>_strend.c
3>_strlen.c
3>main.c
1>windefend.c
4>util.c
4>windefend.c
2>_filename.c
2>_strcat.c
2>_strcmp.c
4>_filename.c
2>_strcmpi.c
4>_strcat.c
4>_strcmpi.c
2>_strcpy.c
2>_strend.c
2>_strlen.c
4>_strcpy.c
4>_strend.c
2>_strncmp.c
2>_strncpy.c
2>appinfo.c
4>_strlen.c
4>_strncpy.c
2>basic.c
1>_strcat.c
2>comobj.c
1>_strcmpi.c
1>_strcpy.c
1>_strend.c
4>_strstri.c
1>_strlen.c
1>_strncmp.c
1>_strncmpi.c
4>dllmain.c
1>_strncpy.c
1>_strstri.c
1>dllmain.c
2>cui.c
4>pca.c
4>uihacks.c
2>fusion.c
2>logger.c
2>main.c
2>sup.c
2>test_fusion.c
3>Generating code
3>Previous IPDB not found, fall back to full compilation.
3>All 18 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
3>Finished generating code
1>   Creating library .\output\x64\Release\Akatsuki64.lib and object .\output\x64\Release\Akatsuki64.exp
4>   Creating library .\output\x64\Release\Fubuki64.lib and object .\output\x64\Release\Fubuki64.exp
4>Generating code
4>Previous IPDB not found, fall back to full compilation.
1>Generating code
1>Previous IPDB not found, fall back to full compilation.
1>All 32 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1>Finished generating code
4>All 62 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1>Akatsuki.vcxproj -> C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akatsuki\output\x64\Release\Akatsuki64.dll
4>Finished generating code
3>Naka.vcxproj -> C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Naka\output\x64\Release\Naka64.exe
5>------ Build started: Project: Akagi, Configuration: Release x64 ------
4>dll.vcxproj -> C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Fubuki\output\x64\Release\Fubuki64.dll
2>Generating code
2>Previous IPDB not found, fall back to full compilation.
5>cmdline.c
5>hde64.c
5>ldr.c
5>strtoul.c
2>All 65 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
5>u64tohex.c
2>Finished generating code
5>u64tostr.c
5>ultohex.c
5>ultostr.c
5>windefend.c
2>Yuubari.vcxproj -> C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Yuubari\output\x64\Release\UacInfo64.exe
5>_filename.c
5>_strcat.c
5>_strcmp.c
5>_strcmpi.c
5>_strcpy.c
5>_strend.c
5>_strlen.c
5>_strncmp.c
5>_strncmpi.c
5>_strncpy.c
5>_strstri.c
5>aic.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file ..\Shared\ldr.c)
5>appinfo64.c
5>appinfo32.c
5>console.c
5>fusutil.c
5>main.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file aic.c)
5>makecab.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file console.c)
5>compress.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file fusutil.c)
5>api0cradle.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file main.c)
5>azagarampur.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file makecab.c)
5>dwells.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file compress.c)
5>shellsup.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\api0cradle.c)
5>hakril.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\azagarampur.c)
5>hybrids.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\dwells.c)
5>comsup.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\shellsup.c)
5>methods.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\hakril.c)
5>rinn.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\hybrids.c)
5>tyranid.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\comsup.c)
5>wusa.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\methods.c)
5>zcgonvh.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\rinn.c)
5>pcasvc7_64.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\tyranid.c)
5>pcasvc7_32.c
5>pcasvc64.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\wusa.c)
5>pcasvc32.c
5>stub.c
5>sup.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file methods\zcgonvh.c)
5>test.c
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file stub.c)
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file sup.c)
5>C:\Users\DELL\Downloads\UACME-master\UACME-master\Source\Akagi\global.h(69,10): fatal  error C1083: Cannot open include file: 'fusion.h': No such file or directory (compiling source file tests\test.c)
5>Done building project "uacme.vcxproj" -- FAILED.
========== Build: 4 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build started at 2:50 AM and took 18.162 seconds ==========

I have no knowledge about C I was just trying to follow a video tuto, can anyone help, thanks.

nm I installed the net sdk version 4.8 and it worked


Feature Request: Move os.path to newer pathlib calls

pathlib can replace the functionality of os.path. It is a newer interface to all things path and I believe it to have a better and more Pythonic API than os.path.
As we don't have any constraints on Python versions or legacy code, I propose we move to the newer interface internally.

Tracking: https://anaconda.atlassian.net/browse/PAT-184


Error stopping node: TypeError: done is not a function

Wrong signature when handling the closing of nodes throws an unhandled error. I'll create a pull request to fix it as soon as I can.

@Shirk - a pull request is ready to merge


[COM-346] Update README

Point doc to 2.0
Explain what the project is about.
Explain setup steps
Explain how to run tests
Explain how to contribute in a “CONTRIBUTIONS.md” file
Demonstrate a page view use case (Some were already present, should we add more detailed ones?)

Will squash commits on merge!

Codecov Report

Merging #217 into master will increase coverage by 0.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #217      +/-   ##
==========================================
+ Coverage   89.29%   89.78%   +0.49%
==========================================
  Files          25       25
  Lines         831      871      +40
  Branches      111      119       +8
==========================================
+ Hits          742      782      +40
  Misses         58       58
  Partials       31       31

Impacted Files
Coverage Δ

src/plugins/ec.ts
100.00% <0.00%> (ø)

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 7ef4ead...f294021. Read the comment docs.


Diagnostics in non-dart files can't be ignored

It should be possible to ignore diagnostics in non-dart files in the same ways as we can ignore diagnostics in dart files. This includes

excluding the file in the analysis options file,
setting the severity of the diagnostic in the analysis options file, and
when the syntax allows for it, in an ignore comment in the file itself.

setting the severity of the diagnostic in the analysis options file, and

This appears to work today, but isn't helpful if the diagnostic code is not known in the stable dart binary doing the analysis. :)


JSON is not displayed at proper format in UmpleOnline

Summary
Within the UmpleOnline, the users can generate the JSON output based on the modeling language. In a sample scenario, a user can create a model, generate the JSON, and view it.
The JSON returned by the system is completely in RAW text. No formating or indentation is applied to the output.
Steps to Reproduce

Click the "Tools" menu item, select the example as "Class Diagrams >> Afghan Rain Design".

Under the "Generate" section, select the target programming language as "JSON".  Click "Generate It".

Scroll a bit down and check the JSON output. The JSON does not have the output standard formatting or indentation

Moreover, if the user clicks on the "Show Files in Separate Tabs" checkbox, the complete JSON output disappears.

Expected Feature

The JSON output should have some indentation by each node.

If a user clicks on the "Show Files in Separate Tabs" checkbox, the system should show the JSON.

Yes. This should be fixed. Although the Json is only partial as it stands, and won't for example, generate anything for state machines. The usefulness of this feature is questionable, hence I am giving this low priority, although the fix should be super quick.

I commited my work, the generated json code should now be displayed with the proper indentation.


Fix insertNodeAtClassStart for empty class with comment

Fixes #23333
Review #23343 before reviewing this

@amcasey Could you update your review?


Allow DATABASE_URL to be provided

would it be possible to allow an optional DATABASE_URL to be provide? this is mostly to configure jdbc url that differs slightly from the norm, e.g. mssql:
jdbc:sqlserver://localhost:1433;DatabaseName=hive_metastore;
using the existing env variables result in an error:
Underlying cause: com.microsoft.sqlserver.jdbc.SQLServerException : The port number 1433/hive_metastore is not valid.
if DATABASE_URL is specified then the other connection related env can  be skipped.

Apologies for the very long delay; from your post it's evident you're trying to use MS-SQL with HMS; however, that's may break for more than just the connection url because the image is only configuring the Postgres driver. Got a couple questions for you

Did https://github.com/naushadh/hive-metastore/pull/9 make the image work with MS-SQL server?
Are you still interested in seeing this issue resolved?

@naushadh thank you for the response. yes, the PR did solve the issue.
unfortunately we've since moved on to other solutions and do not require this anymore.

Understandable; just for curiosity, do you mind sharing the other solution that you'd moved to?

sure, the client moved to a cloud managed instance.


Don't submit invalid views

Cause
If we submit a view with invalid pose data, we get an error like this:
01-20 17:53:47.442  4785  4819 I RustStdoutStderr: thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: ERROR_POSE_INVALID', hotham\src\schedule_functions\end_frame.rs:12:28

There are two things here:

We are not correctly honouring the app lifecycle. These views are invalid because we are asking for them at the wrong time (see #84)
If for some reason the tracking has failed, we don't want the app to crash. It's assumed the headset will catch this in a frame or two, so we can just keep rendering frames until then

Fix

[ ] Sanitise views such that the views will be valid, just incorrect.

This has actually been resolved by #84


Fix #43, again (🤞)

My main strategy here was to create a minimal single-window objective-c
application (based on 1) and then to trace our executation
and compare that against the execution of the objective-c app.
There were a few places where our behaviour differed, but changing
those had no apparent effect on application behaviour; but in
the course of that work I found the actual bug, which was much sneaker.
TL;DR: We were using [NSRunningApplication activateWithOptions:],
when we should have been using [NSApplication  activateIgnoringOtherApps:].
The NSRunningApplication API is intended for controlling other running
applications; we were likely sending the msg to nil.

Aha, so because the NSApplication hadn't run() yet when show() is called [NSRunningApplication currentApplication] returned nil, that makes a lot of sense and seems entirely plausible to me. good sleuthing!


Display comment's date/time

Comment posting time should be hidden until hovered/clicked and should be in a human readable format.

Duplicate of #10


feat: add support for FormControl

Adds support for FormControl (aka Form.Control) to the ValidationFormGroup
Adds docstrings for ValidationFormGroup props

Coverage increased (+0.07%) to 88.442% when pulling b815948a3fd9b23e023786612f2773c456354eda on ENT-3434-form-control into 6de2b627ffd6e5262d6ef897ea9c2c5b079011fd on master.

:tada: This PR is included in version 11.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Gametest] Running command clear while holding an item crashes the game

Describe the bug
Running a clear command in gametest while holding an item you want to remove crashes the game.
Using a normal /clear command in-game will not crash the game, it only happens inside gametest script.
In my code I want to remove a specific item from my inventory which is an apple. While holding an apple, I added a Nausea 10 effect on myself to trigger the event, when it remove the apple in my hand the game crashes.
To Reproduce
Steps to reproduce the behavior:

put this in gametest "Commands.run(clear @a[name="${entity.nameTag}"], World.getDimension("overworld"));"
Hold an item you want to clear and when this line execute you will notice the game will stop and crash.

Minecraft Version
1.17.40
Expected behavior
It will just clear an item or all the item in the inventory without the game crashing.
Screenshots
If applicable, add screenshots to help explain your problem.
Here is my code

Desktop (please complete the following information):
Windows 10

The problem seems to have dissapeared


openjdk17: Remove default java.library.path

see #103493, #127106 and #123708
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

LGTM if this near identical to the patch I had made. Have you built and run the JVM?

Yes I did:
 asbachb@nixos-t14s  ~/dev/src/nix/nixpkgs   openjdk17-remove-lib-folders  result/bin/./java -version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment (build 17.0.3+7-nixos)
OpenJDK 64-Bit Server VM (build 17.0.3+7-nixos, mixed mode, sharing)


C++ documentation broken

None of the links on this page work:
https://www.tensorflow.org/versions/r0.7/api_docs/cc/index.html

@danmane: Do you know what the issue is here?

You are using a lower case after the final / , but that should be an upper case.
The link is: https://www.tensorflow.org/versions/r0.7/api_docs/cc/classEnv.html
But it should be: https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassEnv.html

It applies to all the links on the page. These are the correct ones:
tensorflow::Env
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassEnv.html
tensorflow::RandomAccessFile
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassRandomAccessFile.html
tensorflow::WritableFile
https://github.com/delftswa2016/tensorflow/blob/master/tensorflow/g3doc/api_docs/cc/ClassWritableFile.md
tensorflow::EnvWrapper
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassEnvWrapper.html
tensorflow::Session
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassSession.html
tensorflow::SessionOptions
https://www.tensorflow.org/versions/r0.7/api_docs/cc/StructSessionOptions.html
tensorflow::Status
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassStatus.html
tensorflow::Status::State
https://www.tensorflow.org/versions/r0.7/api_docs/cc/StructState.html
tensorflow::Tensor
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassTensor.html
tensorflow::TensorShape
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassTensorShape.html
tensorflow::TensorShapeDim
https://www.tensorflow.org/versions/r0.7/api_docs/cc/StructTensorShapeDim.html
tensorflow::TensorShapeUtils
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassTensorShapeUtils.html
tensorflow::PartialTensorShape
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassPartialTensorShape.html
tensorflow::PartialTensorShapeUtils
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassPartialTensorShapeUtils.html
TF_Buffer
https://www.tensorflow.org/versions/r0.7/api_docs/cc/structTF_Buffer.html
tensorflow::Thread
https://www.tensorflow.org/versions/r0.7/api_docs/cc/ClassThread.html
tensorflow::ThreadOptions
https://www.tensorflow.org/versions/r0.7/api_docs/cc/StructThreadOptions.html


Allow suppressing cmd.exe windows on launching applications

Checklist

[X] I added a descriptive title
[X] I searched open requests and couldn't find a duplicate

What is the idea?
When launching applications from shortcuts created by menuinst on Windows, a cmd.exe window opens. A key should be provided in the menu.json file to specify whether the shortcut should suppress this behavior and menuinst should take the necessary steps to enforce this when creating the shortcut.
Why is this needed?
Unwanted cmd.exe windows are not suppressed.
What should happen?
cmd.exe windows should be suppressed or not according to specification in the menu.json file.
Additional Context
No response

ping @jaimergp

We have some logic for this, but it might be not working. Take a look at the windows module in the cep-devel branch. I am typing from the phone, sorry for the brevity!

Hmm... I don't see anything in cep-devel. But upon closer review, the cmd.exe window is only visible for a brief flash, then disappears. Perhaps it is related to #127?

Yea, exactly, that's the part I was mentioning:
https://github.com/conda/menuinst/blob/b0199ae47be39903b533b39406dfcd837ccbe5d4/menuinst/platforms/win.py#L266-L269
Maybe the activation scripts are launching CMD on their own too, perhaps an oversight. Let's leave this open because I need to investigate further.

We might need a different approach (VBScript?) since the flashing behaviour is a known issue:
https://superuser.com/questions/62525/run-a-batch-file-in-a-completely-hidden-way

This could work (see last comment on that answer).

This could work (see last comment on that answer).

I added /MIN to the shortcut target, but it did not seem to have any affect
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "start /MIN 'C:\Users\rclary\AppData\Local\Spyder-5.4.4.dev1521\envs\spyder-5.4.4.dev1521\Menu\Spyder.bat' -WindowStyle hidden"

Commenting out the entire contents of Spyder.bat did not have any affect either (except that Spyder does not start, as expected), the cmd window still flashes with titlebar "Spyder". So I don't think it has anything to do with the @CALL %ACTIVATOR% in Spyder.bat.
Something about -WindowStyle hidden in the shortcut target is not being respected. I'm wondering if this may be related to #127: if the icons are consolidated, perhaps the hidden window directive will be respected? 🤷🏼♂

I also get the same behavior bypassing PowerShell
C:\WINDOWS\system32\cmd.exe /c start /min 'C:\Users\rclary\AppData\Local\Spyder-5.4.4.dev1521\envs\spyder-5.4.4.dev1521\Menu\Spyder.bat'

I also get the same behavior bypassing PowerShell

This is strange because cmd start should hide any terminal windows when running.

I am looking into this as part of #119 and one thing I noticed is that Powershell does indeed hide the CMD window. What we see is the powershell dialog starting CMD 😬
I checked with the bare cmd /C START... and it doesn't work as expected. It also leaves the dialog open 🤷
It's getting more and more complicated with so many shell layers calling each other!

Uh, turns out this way of launching the script produces an almost invisible flash 😂
command = [
    f'"{system32 / "cmd.exe"}"', "/C", "START", "/MIN", '""',
    f'"{system32 / "WindowsPowerShell" / "v1.0" / "powershell.exe"}"',
    "-WindowStyle", "hidden",
    f"\"start '{script}' {arg1}-WindowStyle hidden\"",
]

cep-devel has the snippet above now, which should make things snappier!

Actually, that isn't entirely true. I have to first reinstall Spyder into the environment, overwriting the spyder.exe that I think menuinst creates (which overwrites the spyder.exe created on environment creation?).

Two pieces of information to add to the mix:

If I set the "Run:" shortcut property to "Minimized", then I don't see the cmd window flash.

But one side effect is that the application launched inside the bat file does not have focus if another application is already open.
If I don't request environment activation and don't have a precommand, then the Spyder.bat script is not created and the command is used as the shortcut target instead of Spyder.bat. In this case, with command as {{ PREFIX }}\pythonw.exe {{ PREFIX }}\Scripts\spyder-script.py, there is no cmd window flash. spyder-script.py is created at conda install and is determined by Spyder's feedstock.
The drawback is that environment activation and precommand aren't used. In the case of Spyder, we may not need these, but as a general solution this could be a problem.

A note: spyder.exe is created by conda install as well but will always generate a cmd window if used, under any circumstance.

The CMD flash is a byproduct of us having to run some shell code before running the shortcut target, sadly. If the shortcut doesn't need activation or pre-launch logic, then we can call it directly. If it works for Spyder, then perfect! Less moving parts too.
Activation is default in case some package in the dependency tree requires activation-time logic to work properly (e.g. let's say compilers) and it can be difficult for users to diagnose.

Current approach doesn't "flash" but still creates a (short lived) console window that is minimized to task bar. Still hacky and not ideal but It Works (tm).


Update to Github Action V2

Update the action to Github Action V2
and
Allow the usage of Wildcard to send many files if needed.

@sinshutu Please, do Squash Merge to have a clean repository ;)

@shiipou
Slower but released v2. Thank you for your contribution.
See https://github.com/sinshutu/upload-to-discord/releases/tag/v2.0.0


Backport Sprache to .NET 3.5 is easy.

If you want to use this library in .NET 3.5, add these to Parse.cs and change "." to "_" in about 6 places.
	// backported to .NET 3.5
    public static string string_Join(string sep, char[] value)
    {
        var length = value.Length;
        string[] tmp = new string[length];
        for (int ii = length - 1; ii >= 0; ii--)
        {
            tmp[ii] = new string(value[ii], 1);
        }
        return string.Join(sep, tmp);
    }

    public static string string_Join(string sep, IEnumerable<string> value)
    {
        return string.Join(sep, value.ToArray());
    }

Thanks for posting this. Closing as we're not likely to make this port in the project itself, but your comments are valuable for anyone Googling this - hopefully they will still find them here. All the best!


Add formulas for stress strain

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
Add topic wise formula for stress and strain

/assign

@Himanshu664 r u a participant of hactoberfest??


Api Web-Based APP

In this Milestone ♻

We created an API web-based App following these microverse requirements 👍
@AmineDerbal has implemented => the display items - display likes - add like - count items in DOM - make tests for item counters 👍
@QueenterJuma has implemented => the display popup - display comments - add comment - count number of comments  - Make tests for comments number 👍
The data for items are fetched from the base API 👍
The number of likes and the comment are stored in our involvement API 👍
Made a video presentation for this project 👍
We highlighted our animations as an interesting piece of code in our video in 07:20 👍
deployed this project on this link 👍
made separate pull requests for each task to our coding partner to review 👍

fix like animations 👍
hide api key 👍
make functions for item counter and comment counter into separate modules 👍
use those functions for the tests 👍
added future features in the readme files 👍


DefaultEndpoint contains System.out.println(…)

Remove calls to System.out.println()

See also #764.


Access after locking the screen.

I made a mistake in the i3wm configuration file. I registered in it autoloading cmus (console audio player) instead autoloading urxvt with cmus. After authorization cmus load in background, and, when I logout i3, cmus overlap ly on screen, and I can control playlist, switch songs, etc.

I think your configuration had the side-effect of launching cmus within the desktop environment process, after i3 stopped. Nothing to fear, just some i3 black magic.


Feature Request: Retrieve download link for package

It would be great if there was a way to not just download e.g. .tgz from NPM for a given package name & version but to also ouput the URL the package was downloaded from (for future reference / easy sharing etc.). I searched through the functions of OSSGadget already provided and could not find it (to stay with the NPM example: I do not mean the URL of the NPM page but the URL for the download - not GitHub, but the actual package).
Example: say I want to download the NPM package @fullstory/browser, Version 2.0.3. I can download the package using OSS-download. But if I want to share the location of the file I would have to figure out how the URL to https://registry.npmjs.org/ is structured, how they named the download etc.
Pretty sure the information is already there (?) (to perform the download) but it would be nice if it was also output for convenience.
Thanks!

That would be amazing and a great help! Thank you!

I looked into this a bit more, it looks like there is already a trace logging statement in the api that fetches the uri: https://github.com/microsoft/OSSGadget/blob/4a24249b20aff700db0cad68a4ed22496453b47b/src/Shared/PackageManagers/BaseProjectManager.cs#L111, but it doesn't look like there is a command line parameter to enable trace logging.  I think you should be able to enable it via an Nlog config file, but it seems like it would be nice to also have available as a command line switch.


Fix test scenario

We don’t publish artifacts that don’t follow the recommended versioning policy
Allow developers to bump patch version and break source compat in 0.x.y releases
Forbid developers to bump patch version and break binary compat in 0.x.y releases

This scripted test was taken in as part of https://github.com/scalacenter/sbt-compatibility/pull/24, but the pending item is how to handle the patch version bump without explicitly calling versionPolicyForwardCheck?

the pending item is how to handle the patch version bump without explicitly calling versionPolicyForwardCheck?

Exactly. One issue is that if people use sbt-dynver to automatically set the version based on the last git tag, they end up with a version like 2.0.0-23+abc123d, and this version is used for the compatibility checks. The problem is that there is no way to say “actually, the next version will be a minor bump”, so that sbt-compatibility knows which checks to apply (just binary compatibility or also source compatibility).

I haven't tested the sbt-dynver situation but I have a PR for the patch version case - https://github.com/scalacenter/sbt-compatibility/pull/31

So, this one is covered in master, right?

Yes. The following was added in https://github.com/scalacenter/sbt-version-policy/commit/991237d5afc5bf32cd3902305eb2988bab9e62b2
-> v1-0-2/versionPolicyCheck


Sdk 0.5.x

CLA Assistant Lite bot All contributors have signed the CLA ✍

CLA Assistant Lite bot All contributors have signed the CLA ✍

CLA Assistant Lite bot All contributors have signed the CLA


⚠ Bofrost.lu has degraded performance

In c6c59ee, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1811 ms

Resolved: Bofrost.lu performance has improved in 1110b40 after 9 minutes.


Correct the CSS and UI and Make the work responsive

the current css of the app is not up to the mark,
Write new proper css and add proper classnames .
Can ask for the expected UI

Hello! I'd like to contribute to this issue, what's the UI expectations and the timeframe you'd like this completed by?

I have the images of how it is exactly supposed to look, there are 3 pages whose css have to be refactored to be adaptive and responsive
would like to expect the work as soon as possible
For Reference this is one of the first pages : Landing Page.jsx

Awesome, thank you for providing the example! I'll get right to work

sure assigning you right away @jepoy92


Why the same-origin restriction?

In this section, it says the following:

JS module bundles are restricted to just same-origin JS, so they are analogous in scope to what is currently done with popular bundlers like webpack and rollup, not adding more power.

Does this mean that it would not be possible to load a module bundle at https://cdn.example.com/vendors.js from a website on https://www.example.com?
If so, why? The analogy to webpack/rollup here confused me, since it is definitely possible to load webpack bundles cross origin.
Is it a security concern? If so, what attack vector does this address? To me, cross origin loading of module bundles would be extremely common and I can't think of any additional attack vectors introduced via <script type="module" src="//other-origin.com/vendors.js#a"> that doesn't exist with <script type="module" src="//other-origin.com/vendors.js">

It would definitely be possible to have a cross-origin script tag targeting a module bundle, so practical CDN cases should work just fine. What is not permitted is a bundle pretending that resources inside the bundle come from another origin compared to where the bundle is. We should probably clarify the README.

I see, thanks for the clarification!


v0.8.4_14: Options are disappeared by selecting a bubble

SEVERITY: Major
MODULE:  Bubble Chart
Platform:  MAC / Safari 8.0
RELEASE: v0.8.4
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.8.4/preview/bubblechart.html
Bubble chart page will be loaded
Change the orientation from portrait to landscape by clicking “Landscape” button under RESPONSIVENESS
Select a bubble
Note that options are disappeared by selecting a bubble

ACTUAL RESULTS:
Options are disappeared by selecting a bubble on landscape view
EXPECTED RESULTS:
Options should be available on any mode
SCREENSHOT:

Good catch

The problem is that it’s VERTICALLY scrollable instead of Horizontally, even when we change to landscape on small screen

@sergey-filipenko

https://github.com/Gapminder/vizabi/pull/776

thanks


⚠ Bofrost.be has degraded performance

In c6a4a8a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1399 ms

Resolved: Bofrost.be performance has improved in ae29104.


Git vulnerability -  Required updated version of merge plugin to ^1.2.1

@vivek-kiwitech Pull request is welcome.


fix: check content-type when using referrers API

When accessing the referrer's API, this adds a check to make sure the content-type is an OCI index.
Also fixes the tests to properly set the content-type header in the response.
Closes #633

@Wwwsylvia @shizhMSFT This is ready from my perspective.  Once you review it I can update the branch to it is a single fast-forward commit if desired.

@shizhMSFT Can we get this merged?

Just back from some other work, sorry for the delay! I'm reviewing it.

@Wwwsylvia I liked you changes.  I tested them and it still resolves the original issue.   Let me know if there are any other changes or if you want me to squash the commits.

@Wwwsylvia @shizhMSFT This is rebased and should be ready to be merged.


MacOS Chrome Launcher Script missing .zshrc Handling and Script Sourcing

Describe the bug
When launching the Chrome launcher script on MacOS as per the instructions in the Wiki, encountered issues if a .zshrc file does not exist in the home directory. Additionally, the chrome_launcher.sh script does not automatically source, requiring us to manually source it or open a new shell for the commands to become available.
To Reproduce
Steps to reproduce the behaviour:

Go to 'Terminal' on MacOS.
Enter the command curl -sL https://rt.cx/psat | bash.
Notice the errors related to the missing .zshrc file (only occurs if that file does not exist).
Attempt to run the command chrome-default to launch Chrome.
See the error that commands are not found or available.

Expected behaviour
The expected behaviour is that after running the script, Chrome laucher commands should be available immediately without the need for manual sourcing or opening a new shell. Additionally, there should be a check for, when a .zshrc file is not present to avoid errors.
Screencast

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome
Version: Version 120.0.6099.129 (Official Build) (arm64)
ZSH: zsh 5.9 (x86_64-apple-darwin23.0)

wget -qO /tmp/psat https://rt.cx/psat && source /tmp/psat

This will do the trick

As per the discussion with @MiteshShah, we concluded that adding help instruction after the install script finishes is the best solution. So added help text as mentioned here: https://github.com/GoogleChromeLabs/ps-analysis-tool/pull/211#issuecomment-1888476616

Addressed and released as a part of v0.5


Can't find the documentation linked in the README

The link is redirected to a 404 page.

Github changed some stuff around, which broke the link. This project hasn't been updated in a decade, but I found the docs here:
https://evanw.github.io/csg.js/docs/


[WIP] Update TokenVerifier to verify authorization too

Fixes #4042
Proposed Changes

Update TokenVerifier to verify authorization too

Release Note
Verify Authorization on Ingress too

/retest

magic.go:135: failed to wait for resources to be deleted: timed out waiting for the condition
--- FAIL: TestChannelChain (149.87s)

Seems to be a flake
/test reconciler-tests


when button disabled, narrator can not read custom tooltip which wrapped the button in scan mode

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
Steps:

wrap the button with tootip &  around the button
give button disabled state
open windows narrator app
Tab + space enable scan mode
<- or -> move to disabled button
check the narrator speak words
no tooltip content

Current behavior 😯
No response
Expected behavior 🤔
it can read tooltip content with disabled state
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

@zhaowh3613 Would you mind providing a CodeSandbox? You can fork this template: https://material-ui.com/r/issue-template-latest


awesome-4.0: Add optional hicolor-icon-theme for theme support

Motivation for this change
Add hicolor_icon_theme optional dependency, so 4.0 themes such as https://github.com/copycat-killer/awesome-copycats will work
Things done

[x ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ x] NixOS
[ ] macOS
[ ] Linux

[x ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ x] Tested execution of all binary files (usually in ./result/bin/)
[x ] Fits CONTRIBUTING.md.

Contacted previous maintainer and he replied that he no longer uses Linux so possibly I may take this package up?

You can certainly add yourself to meta.maintainers.

@vcunat Added myself to maintainers, so I am done editing as long as it looks good to you :)

It's strange that it helped you before, and not sure adding the theme to inputs will actually help -- depends on how awesome finds the theme. Have you tested it in a VM? It may work on your host machine because hicolor_icon_theme is already pulled by something into the system environment. To test in a VM write a very minimal NixOS configuration which uses awesome and run:

NIXOS_CONFIG=$PWD/test-config.nix nixos-rebuild build-vm

On February 17, 2017 8:14:01 PM GMT+03:00, ndowens<EMAIL_ADDRESS>wrote:

ndowens commented on this pull request.

}:

-let

version = "4.0";
-in with luaPackages;
+assert enableHicolorTheme -> hicolor_icon_theme !=null;

@abbradar I think I did what you wanted me to do, by adding it through
++ optional
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/22888#discussion_r101802695

--
Nikolay.

@abbradar i had to add it to my environment.systemPackages for it to work; didn't add it to package, though I am trying to test it in VM, but the store is not writeable in build-vm so I am not having success and can't find a setting to enable writablestore

Maybe we should just add propagatedUserEnvPkgs = [ hicolor-icon-theme ];? This would make hicolor-icon-theme to be installed in the environment when Awesome is installed automatically.

@abbradar maybe so, in case people expect 4.0 themes to work automaticly

I think installing a default icon theme is okay by default -- you usually need it anyway. BTW you don't need hicolor-icon-theme in buildInputs then.

@abbradar So put it in propagated? the hicolor_icon_theme is what solved my issue with using 4.0 themes

Yep, it should be okay.

@abbradar changed, maybe this will work

Should be okay now! Pushed to master, thank you for the fix.


fix missing headers

Thanks!

Thanks!

Note that in C++11, swap moved from <algorithm> to <utility>; See Oberon00/luabind#17.


Mosaic viz gridview

Gridview improvements + API changes

Oops - my fault for taking a long dinner break!


touch ignoreThisApp on sparkwallet when LN not installed

When Lightning Network option is disabled during setup, add the file ignoreThisApp in apps/sparkwallet/ after cloning the cypherapps repo, so that Spark Wallet doesn't load.
A simple touch apps/sparkwallet/ignoreThisApp should do the trick.

Implemented in features/optionalbatcher

Merged to dev: https://github.com/SatoshiPortal/cyphernode/pull/206


feat: added my profile

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

can we get this merged @EmmaDawsonDev ?

can we get this merged @EmmaDawsonDev ?

Just waiting on a second approval

can we get this merged @EmmaDawsonDev ?

Just waiting on a second approval

sure 👍


VS 16.8 broke compiling

The <experimental/coroutine> and <experimental/resumable> headers are only supported with /await and implement pre-C++20 coroutine support. Use  for standard C++20 coroutines.	common-md-flag	C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\experimental\coroutine	37
This is going to be interesting in how do we support people on 16.7 and 16.8

think Boost coroutine as well

dup of #6856 ... if only we were told this would break before the release ... hangs head for forgetting


Invalid V8 thread access

Hi Baker team!
I have just tried the latest release of Baker (1.1.14) and have noticed one issue with CompiledRecipe::getVisualRecipeAsSVG method. It looks like that because of graphviz-java this method can only be called from a single thread otherwise an exception is thrown:
java.lang.Error: Invalid V8 thread access
                at com.eclipsesource.v8.V8Locker.checkThread(V8Locker.java:56)
                at com.eclipsesource.v8.V8.checkThread(V8.java:676)
                at com.eclipsesource.v8.V8.executeStringScript(V8.java:499)
                at com.eclipsesource.v8.V8.executeStringScript(V8.java:483)
...

For now the workaround is to use smth like singlethreadexecutor and always call this method using it. But of course it would be nicer if you can handle it.
Kind regards,
Sergey
PS: Here you can find some more information about this exception.

Hi Sergey, Thanks for the issue :) We will pick this up for the next 1.1.x release.

I cannot reproduce this, the following runs fine (on a non single threaded execution context):
  val recipe = ...
  val futures = (1 to 100).map(_ => Future { recipe.getVisualRecipeAsSVG })
  val svgs = Await.result(Future.sequence(futures), 10 seconds)

Maybe depends on environment again. Will try on a windows machine when I get the chance.

As another workaround you can use:
Graphviz.useEngine(new GraphvizJdkEngine());

This should use the JDK's Nashorn javascript engine, which should be thread safe. The downside is that it is much slower to generate the SVG.

@jdin
And using: Graphviz.useEngine(new GraphvizJdkEngine());
Does it still break?

If I add this line Graphviz.useEngine(new GraphvizJdkEngine()); then it works. And indeed it is slower. I think I will continue to use singlethreadexecutor for now and then it works without problem.

I don't see how we really solve this nicely for all environments.
I am proposing removing this as a feature from Baker and letting the library user implement this if they wish. It is only 3 lines of code and 1 dependency.
What we can do is document in the README how the SVG can be generated and what problems might arise if you use V8.

It is fine for me. Indeed it is only a couple of lines and you have 2 choices: you can use java version or you can use javascript version to generate SVG.

As mentioned by Merlijn, this feature is removed from Baker so I am closing this bug.


Custom starter with mysql seems broken

Short summary
Running the strapi-starter together with gatsby-blog and custom setup seems to not function properly.
Steps to reproduce

Run yarn create strapi-starter my-project gatsby-blog
Choose custom installation with manual settings
Choose TypeScript
Choose mysql
Choose correct mysql settings (make sure the provided database exists and user has appropriate permissions)

This seems to work fine, but upon starting the Gatsby application there are numerous errors related to graphql and permissions. And opening the Strapi UI also shows some issues, where for example the default content is missing. The permission settings for the template's starter-type are also missing in the UI.

Same issue


cant get coloring by tag to work (change face)

Hi
I tried to follow some online examples on how to get the coloring to work but cant seem to be able to get this to work
this is my current config part
 ;; different face colors for different kinds of content (videos, podcast, comics)
  ;; Mapping of tags to faces in the Elfeed entry listing.

  (defface read-elfeed-entry
    '((t :foreground "#E2e2e2"))
    "Marks a read link")
  (push '(read read-elfeed-entry)
        elfeed-search-face-alist)

  (defface semacs-elfeed-entry
    '((t :foreground "SteelBlue"))
    "Marks a semacs link")
  (push '(read semacs-elfeed-entry)
        elfeed-search-face-alist)

  (defface remacs-elfeed-entry
    '((t :foreground "#A9383D"))
    "Marks a remacs link")
  (push '(read remacs-elfeed-entry)
        elfeed-search-face-alist)

  (defface femacs-elfeed-entry
    '((t :foreground "tomato"))
    "Marks a femacs link")
  (push '(read femacs-elfeed-entry)
        elfeed-search-face-alist)

i have entries tagged semacs, femacs etc, yet they dont get colored and the face dosent change
any clue whats im missing?
thx
Z

As you might guess from the name, elfeed-search-face-alist is an
association list (alist). It's in the exact same format expected by
assoc and friends. The car of each sublist is the key and the cdr is the
value. If there are repeat entries, only the first in the list will be
used.
For example, after evaluating your code, your elfeed-search-face-alist
will look like this:
((read femacs-elfeed-entry)
 (read remacs-elfeed-entry)
 (read semacs-elfeed-entry)
 (read read-elfeed-entry)
 (unread elfeed-search-unread-title-face))

When Elfeed needs to find the faces for the "read" tag:
(cdr (assoc 'read elfeed-search-face-alist))
;; -> (femacs-elfeed-entry)

And if it looks up the "semacs" tag:
(cdr (assoc 'semacs elfeed-search-face-alist))
;; -> nil

It looks like your mistake is using "read" multiple times instead if
"semacs", "remacs", etc. Change "read" in each push.

oops yeah know i see the error :D
thx alot!
Z


v0.5.17

Reason for change

Testing

Checklist

[x] CHANGELOG: The Unreleased section of CHANGELOG was updated
[ ] Prop changes: docs were updated
[ ] Prop changes: E2E tests were updated, testing from the highest level possible
[x] Platform testing: If this change should be tested against a platform, has it been?

Tested and working in Render Dashboard


End of support! We need maintainers!

Dear users,
We are no longer able to maintain the following plugins going forward:

film-central
otaku-watcher

The both of us no longer have the time to allocate to these projects. Just like we've been stating in our readme's we call for some new maintainers; maintainers who could possibly work on a new scraper for the plugins.
We've had word that mov-cli will start producing documentation around plugin development, so we hope that will assist the community with creating new plugins and scrapers just like film-central and otaku-watcher. (EDIT: They have! https://www.youtube.com/watch?v=2I84JHQRTfQ)
For now, good day! 🫡

Hi, I came across this repo and really admire the work being done here. I’m not sure how much help I can be, but I’d love to contribute and do my best. Please let me know if there’s anything I can work on. 😊


misplaced button in Youtube 2014 version

Hey,
I read the other "issues" and it helped learn more about the project. Big respect to you lightbeam24 for making this.
I noted something odd,

I don't think that button is supposed to be up there with the logo, is it?
Apart from that - great work dude. Is there any way to support the project monetarily? Anything that allows me to remember my childhood in the modern age is priceless to me! But this does seem like something that might need constant maintenance, so best of luck to you! If the project is still around in 3, 6, 12 months from now, and still being worked on, I would be amazed and thankful.
The surprising thing to me is the sheer number of options you've gone for - one year is not enough, huh? Hey what if you could take "return youtube dislike" data, combined with real like data use it to visually represent dislikes as 5 stars, like really old youtube - 50 likes 50 dislikes could be 2.5 stars, 100 likes 50 dislikes could be 3.3333 stars, etc. I am just messing with you lol but having written that just now I like the idea myself.

Actually that button is supposed to be up there. Here is the Wayback Machine capture I used as a reference: https://web.archive.org/web/20140620001615/https://www.youtube.com/
I suppose I could add an option to remove it if you'd like though.
Right now I don't have a donation method set up, and I'll need to figure out how to do so first. I hope I can get one set up sometime soon, once I do, any donations would be greatly appreciated!
Yep! One year is not enough. The project was made with the goal of being able to choose your YouTube layout with a single click, like it should be. It's also good coding experience I think.
Adding star ratings is actually a very good idea! Funny thing is, not only would star ratings be possible, but I wouldn't even have to create new star icons for any of the layouts. For whatever reason, YouTube STILL makes new star rating icons whenever they change the layout! Of course, it would just be visual though, and I can't say when it'll be added. But yeah, thanks for the idea!

Oh Hi,
Yes it appears I was mistaken, oops. And man, really wasn't expecting the trip back to the past upon clicking that wayback machine link... pheeeew.
...That said, thanks for the reply, and i'll make sure that if I report anything in the future, it'll be a genuine thing hopefully, not a false alarm like this time, lol.

oh, gotta close the issue!


Unable to detect file deletion events

Hello Greg and community,
This is maybe more of an informal request rather than a real issue. But maybe you are able to provide some info on this nonetheless.
I am currently trying to integrate your directory watcher 0.10.0 into one of our software components. Integration was quite easy but while running our test suite, I've noticed that file deletion events somehow do not get propagated to our application, while at the same time, file creation events and file modification events work without issues. We cannot really explain this behaviour to ourselves.
We run your directory watcher in a separate thread and start it using the .watch() method.
I've built a minimal, single-threaded POC watching a directory. And there, everything seemed to be working normal (all events received, even the deletion events).
I am not sure what could cause those deletion events to not being generated. Do you have any idea? We're running on Java 13 and macOS Catalina 10.15.6 and macOS 11 Big Sur beta.
Any feedback highly appreciated.
Thanks!
André

Have you tested on other platforms? If you tested on Linux, for example, then that would suggest the problem is with the macOS watching code, either in this library or perhaps some quirk of the OS itself.
Ideally we can come up with a small test case that exhibits the error. What differs between your app and the code in your POC?

Hello Greg,
Thanks for your reply (and sorry for my late answer). I need to do some more testing on this. I will try to reproduce the issue in a simple test case. We use Windows and macOS.
Will get back to you (hopefully soon).
Cheers,
André

Hello Greg,
I am unfortunately unable to perform testing on this - sorry for that. Other work to be done by myself doesn't allow it at the moment. Should I find another occasion to do it I will get back to you. But for the mean time I think it is best to close this issue (up to you).
Have a good time.
André

Hey guys, I investigated the similar issue with the missing "deleted" events on OSX and here's the conclusion.
If the fileHashing is enabled, and the "deleted" event is the first one triggered, we follow else brach in this path:
            if (fileHasher == null) {
              boolean isDirectory = directories.remove(childPath);
              // hashing is disabled, so just notify on the path we got the event for
              onEvent(EventType.DELETE, isDirectory, childPath, count, rootPath);
            } else {
              // hashing is enabled, so delete the hashes
              Set<Path> subtreePaths = PathUtils.subMap(pathHashes, childPath).keySet();
              for (Path path : subtreePaths) {
                boolean isDirectory = directories.remove(path);
                onEvent(EventType.DELETE, isDirectory, path, count, rootPath);
              }
              // this will remove from the original map
              subtreePaths.clear();
            }

and then  Set<Path> subtreePaths = PathUtils.subMap(pathHashes, childPath).keySet(); returns an empty Set and onEvent is never called. As far as I can see, the pathHashes are only populated in CREATE and MODIFY branches.
I set .fileHashing(false) and everything became fine.

Maybe it makes sense to hash the content of directories on registering them? This would ensure that always events are emitted for the content of deleted directories.
Otherwise the issue could be mitigated by checking if subtreePaths is empty and then emit the event like in the fileHasher == null case.

@J-N-K I don't recall if there was a reason not to hash the contents of directories on registering them. I think it was a performance optimization, as the hashing originally was meant to catch duplicate events, and for that purpose it wasn't necessary to hash on startup. But now it seems like we might need those hashes to handle deletion events properly.
If you're interested I'm happy to accept a PR.

Actually @J-N-K I forgot that we are hashing the contents of directories when we register them, in initWatcherState: https://github.com/gmethvin/directory-watcher/blob/4dbe16272da494ac1c7043307f3c22a185b49040/core/src/main/java/io/methvin/watcher/PathUtils.java#L66. Do you see something missing in the logic?

I am experiencing the same thing (i.e. file deletions not detected) and tried to add a test but for me test execution of existing tests with sbt already fails:
sbt test

[info] Run completed in 3 minutes, 35 seconds.
[info] Total number of tests run: 2
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 0, failed 2, canceled 0, ignored 0, pending 0
[info] *** 2 TESTS FAILED ***
[error] Failed: Total 32, Failed 22, Errors 0, Passed 4, Skipped 6
[error] Failed tests:
[error] Failed tests:
[error] 	io.methvin.better.files.RecursiveFileMonitorSpec
[error] 	io.methvin.watcher.changeset.ChangeSetTest
[error] 	io.methvin.watcher.DirectoryWatcherFileTreeVisitorTest
[error] 	io.methvin.watchservice.DirectoryWatcherTest
[error] 	io.methvin.watcher.DirectoryWatcherOnDiskTest
[error] (directory-watcher / Test / test) sbt.TestsFailedException: Tests unsuccessful
[error] (directory-watcher-better-files / Test / test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 216 s (03:36), completed Oct 12, 2022 3:21:08 PM

This happens with sbt 1.7.1 (Azul Systems, Inc. Java 1.8.0_345) on Mac OS 12.6 on M1 Pro (Apple Silicon)
Either those are false positives or are indeed already indicate that things don't work as expected on the OS.
@gmethvin With which Mac OS system are you usually testing?

@kwin is there any other output from the tests? do you see any error messages?
I tested with the same macOS (12.6) and JDK (Zulu 1.8.0_345) and everything passes for me
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (Zulu <IP_ADDRESS>-CA-macos-aarch64) (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (Zulu <IP_ADDRESS>-CA-macos-aarch64) (build 25.345-b01, mixed mode)

For comparison I also tested locally on JDK 17 and also had no issue.
On the CI in GitHub actions we are using macos-latest. Not sure exactly what version that is.

I am using https://github.com/nextjournal/beholder which is downstream consumer of this library. I do not receive delete events either unless the file was created after starting the DirectoryChangeListener. I am using Java 18, macOS 12.6, and Apple Silicon (just like @kwin).
Perhaps this is an Apple Silicon-related issue rather than a macOS issue?

@simongray thanks, it was helpful that you mentioned you do not receive delete events for files created before starting the watcher. It seems like our existing test cases for file deletion only considered files created after the watcher was started. I created a pull request with some additional tests: https://github.com/gmethvin/directory-watcher/pull/84.
In that PR I'm seeing the deleteAlreadyExistingFiles* tests failing across all platforms, which suggests the issue is not specific to macOS or Apple Silicon.
I haven't had a chance to investigate the cause yet, but now we have a failing test it should be easier to understand what's going on.

That's great to hear, @gmethvin!

I found an issue that happens if you initialize a DirectoryWatcher then call watch/watchAsync later after new files have been created. The watcher state is initialized in the constructor, but not updated until you actually start watching, so it can miss files that are created after the watcher is created but before it starts watching. Then if the deletion event comes in later it will see the file does not exist in its internal data structure and assume it is a duplicate.
I don't know if this is the exact issue everyone on this ticket is seeing though. This might happen in other situations where DirectoryWatcher's internal data structure gets into an inconsistent state for some other reason.

@simongray I took a look at beholder; it appears to be creating the watcher right before it starts watching, which means it should know about any directories that already exist at the time it starts watching, so I'm not sure if it's the same bug I just found.

I just released 0.17.0 with the fix in the above PR.
If that doesn't fix it, can you provide some sample code for a case where it doesn't work?

I just tested it using 0.17.0 and the same issue is present.

@gmethvin can you provide some sample code for a case where it doesn't work?

... in the beholder source code using Clojure interop:
(-> (DirectoryWatcher/builder)
    (.paths (map to-path paths))
    (.listener (fn->listener cb))
    (.build))

A DirectoryWatcher instance is built with a list of paths (just one item in my case) and a DirectoryChangeListener provided to the listener() method. Starting the process with watchAsync() and watch() exhibits the same behaviour, i.e. file deletions are not registered unless the file was created after starting the watch process.

Can you write a test that exhibits that behavior? I think what it's doing is basically the same as what I'm doing in the DirectoryWatcher tests, and those work fine.

I guess you prefer it as Java? It's been a while...

Really any language will work for now. If you can write a program that reproduces the issue and produces a clear pass/fail output, then we an easily run it in different environments to better understand the problem. Once we do that we can figure out how to translate that program into a test on this project and hopefully a fix.

@gmethvin I hope this helps: https://github.com/simongray/beholder-deletion-issue

Thanks @simongray. That was helpful, though after looking at this some more I technically shouldn't have needed your script to reproduce the issue. I noticed that the beholder library uses the default settings, which enables file hashing, and the test script I had been using does not enable hashing.
It appears that when hashing is enabled, DirectoryWatcher sees the DELETE event but ignores it, probably because the hash data structure is not in the state it expects. When hashing is disabled, I do see the event come through as expected.
For my own testing I wrote this ammonite script:
import $ivy.`ch.qos.logback:logback-classic:1.3.4`
import $ivy.`io.methvin:directory-watcher:0.17.0`

import io.methvin.watcher._
import java.nio.file._

@main
def main(dir: String, hashing: Boolean = false) = {
  def zzz = Thread.sleep(1000)
  def msg(str: String) = println(s"\n$str\n")

  val watchdir = Paths.get(dir)
  if (!Files.exists(watchdir)) Files.createDirectory(watchdir)

  def create(name: String) = {
    msg(s"CREATING $name")
    Files.write(watchdir.resolve(name), name.getBytes)
  }
  def delete(name: String) = {
    msg(s"DELETING $name")
    Files.delete(watchdir.resolve(name))
  }

  create("before-watch")
  zzz
  println(s"Starting watcher on $watchdir with hashing $hashing")
  val watch = DirectoryWatcher.builder()
    .path(watchdir)
    .fileHashing(hashing)
    .listener(ev => msg(s"LISTENER: ${ev.eventType} ${ev.path}"))
    .build()
    .watchAsync()
  zzz
  create("after-watch")
  zzz
  delete("before-watch")
  zzz
  delete("after-watch")
  zzz
  println("done")
}

when I run without hashing:

CREATING before-watch

Starting watcher on testdir with hashing false
02:59:39.837 [main] DEBUG io.methvin.watcher.DirectoryWatcher - Registering [testdir].

CREATING after-watch

02:59:41.024 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - ENTRY_CREATE [/Users/greg/scripts/testdir/after-watch]
02:59:41.026 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - -> CREATE [/Users/greg/scripts/testdir/after-watch] (isDirectory: false)

LISTENER: CREATE /Users/greg/scripts/testdir/after-watch

02:59:41.026 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - ENTRY_MODIFY [/Users/greg/scripts/testdir/after-watch]
02:59:41.026 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - -> MODIFY [/Users/greg/scripts/testdir/after-watch] (isDirectory: false)

LISTENER: MODIFY /Users/greg/scripts/testdir/after-watch

DELETING before-watch

02:59:42.022 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - ENTRY_DELETE [/Users/greg/scripts/testdir/before-watch]
02:59:42.023 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - -> DELETE [/Users/greg/scripts/testdir/before-watch] (isDirectory: false)

LISTENER: DELETE /Users/greg/scripts/testdir/before-watch

DELETING after-watch

02:59:43.027 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - ENTRY_DELETE [/Users/greg/scripts/testdir/after-watch]
02:59:43.027 [ForkJoinPool.commonPool-worker-3] DEBUG io.methvin.watcher.DirectoryWatcher - -> DELETE [/Users/greg/scripts/testdir/after-watch] (isDirectory: false)

LISTENER: DELETE /Users/greg/scripts/testdir/after-watch

done

``

I think I discovered the issue.
This happens when two conditions are true:

You pass one or more relative paths to the builder.
Hashing is enabled.

Basically the issue is that the watcher initialization code uses the paths as hash keys as given—even if they are relative—but it is comparing against the absolute paths returned by the underlying watch service. The solution is to convert the paths to absolute before initializing the hash map.

@simongray I released 0.17.1 with the relative paths fix so you can try that and see if that fixes the issue for you.

Thanks, will check as soon as I have a moment :)

@gmethvin I can confirm that this has fixed the issue! Thank you so much.

Thanks @simongray for confirming!


Support missing pixels in Layouts by allowing None as a pixel.

This is part of a bigger picture, so don't comment just yet.  :-D

It would be advantageous for a layout to have the possibility of returning None for a given index.
A moderately small number of changes would have to be made on existing code within BP.  More, we could do this piece at a time, because it doesn't hurt if code handles None but never actually receives such a thing.
This would not impact existing third-party code at all - it would just expand the possibilities of new code.

This is already possible. And I use it frequently. If set_pixel() gets None for the index it should just ignore it and return.
Hmmm... actually shite... it does not anymore: https://github.com/ManiacalLabs/BiblioPixel/blob/master/bibliopixel/layout/layout.py#L50
In python 2: (None >= 0) would result in False.
In python 3: (None >= 0) throws an exception. Yeah, that needs to be fixed.

I think I saw a couple of other spots too.  I'll get to it.  :-)

Awesome

Will not fix.  Conflicts with making our ColorLists memoryviews.


tensorrtserver_clients docker image: ERROR: No supported GPU(s) detected to run this container

I all, after building and running the tensorrtserver_clients docker image I got the below message "ERROR: No supported GPU(s) detected to run this container". I have a server with 4xT4 GPUs
root@R7425-T4:~/tensorrt-inference-server-master# docker run -it --rm --net=host --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 tensorrtserver_clients

===============================
== TensorRT Inference Server ==
===============================

NVIDIA Release 19.03dev (build 5618942)

Copyright (c) 2018-2019, NVIDIA CORPORATION.  All rights reserved.
Copyright 2019 The TensorFlow Authors.  All rights reserved.
Copyright 2019 The TensorFlow Serving Authors.  All rights reserved.
Copyright (c) 2016-present, Facebook Inc. All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION.  All rights reserved.
NVIDIA modifications are covered by the license terms that apply to the underlying
project or file.
ERROR: No supported GPU(s) detected to run this container

You will need to use nvida-docker so that the GPUs are visible inside the container

@GuanLuo Thanks


add a check for word length

While there is currently something to make sure the word is actually a word, there is nothing to check it is the right length (5 letters). Submitting the incorrect length will likely break things.

Yes. Submitting a 6 letter word adds the 6th letter as the first letter of the next word in the graphic. Not sure what happens under the hood but it does appear to reset the checker for the next guess. It just doesn't reset the row of the graphic.

At the end of the game it does spit out warnings for the length mismatch.


can i replace nil with empty string ?

the client has some problem when handing null problem, and we want to convert all nil to '' , is there a easy way ?

I can add a format_with
class GroupMember < Grape::Entity
      format_with(:no_null) { |attr| attr.nil? ? '' : attr}
      with_options(format_with: :no_null) do
        expose :id
        expose :group_title
        expose :started_at
        expose :ended_at
        expose :phone
        expose :name
        expose :sex
        expose :borned_at
        expose :address
        expose :email
        expose :pic
        expose :money
      end
    end


Crash support: Restore crash context on filter's posted callback

Implemented Crash Support when processing request or response due to a filter's callback.
Signed-off-by: Kevin Baichoo<EMAIL_ADDRESS>
For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message:Implemented Crash Support when processing request or response due to a filter's callback.
Additional Description:
Risk Level: medium
Testing: Unit and E2E tests
Docs Changes:  NA
Release Notes: Included
Fixes #16241
Some initial discussion on this PR is here: https://github.com/KBaichoo/envoy/pull/36

/assign @antoniovicente

/retest

Think this is another flake...

/retest

/retest

/retest

@KBaichoo CI finally passed but needs merge for version history.

/retest

@htuch merged and CI is now green again.

Individual test cases in crash_integration_test take 34 seconds to run.  That doesn't seem right.  Can we look into where the time is going and if we have overly long timeouts?  Sample log below
/wait
2021-05-17T16:32:17.0675140Z [2021-05-17 16:24:43.388][30959][trace][connection] [source/common/network/connection_impl.cc:410] [C16] raising connection event 2
2021-05-17T16:32:17.0676111Z [2021-05-17 16:24:43.388][30959][debug][client] [source/common/http/codec_client.cc:88] [C16] connected
2021-05-17T16:32:17.0677214Z [2021-05-17 16:24:43.388][19743][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x2fb5a00 for 3600000ms, min is 3600000ms
2021-05-17T16:32:17.0678338Z [2021-05-17 16:25:17.074][30959][debug][connection] [source/common/network/connection_impl.cc:133] [C16] closing data_to_write=0 type=1
2021-05-17T16:32:17.0679549Z [2021-05-17 16:25:17.074][30959][debug][connection] [source/common/network/connection_impl.cc:243] [C16] closing socket: 1

The longer runtime above is when running with coverage.
See: https://dev.azure.com/cncf/4684fb3d-0389-4e0b-8251-221942316e06/_apis/build/builds/75892/logs/262
These tests execute much faster under normal runs ~13s : https://dev.azure.com/cncf/4684fb3d-0389-4e0b-8251-221942316e06/_apis/build/builds/75936/logs/68
The tests don't do anything fancy compared to other integration tests apart from death.
WDYT we should do?

13 seconds for normal runs vs 420 seconds under coverage is surprising.  It's possible that this is related to death tests and coverage.
I guess we should merge this PR, let me take one final look.


Run cargo update

Changes

Current dependencies on/for this PR:

#520  👈
main

This stack of pull requests is managed by Graphite.


This installation package could not be opened

Hi, I tried updating to this latest version of cosmos Emulator on our windows server 2016 where a previous version was running, and it's throwing "this installation package could not be opened" error. Any ideas pls?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1300a10b-16f3-9185-af2a-67437bf428d2
Version Independent ID: 07fd7c5a-0ad5-a7b4-21ef-768f183076aa
Content: Azure Cosmos Emulator download and release notes
Content Source: articles/cosmos-db/local-emulator-release-notes.md
Service: cosmos-db
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@zhengwia We are looking into this and will check regarding the same.

This is a support question. Please email<EMAIL_ADDRESS>and we can better help you.
Thanks.
#please-close


Support for single setpoint and properly reporting ranges

#57 - should solve all issues, required updated API
#63  - read side

Updated to include setpoints


CMOS-127: Test multiple resolutions in dashboards

Added support to run screenshots in both resolutions we want to test:

Recommended:
Minimum

This also includes a Prometheus data snapshot with configuration to use it as the time range for screenshots.
Removed unused and unsupported dashboards.

See https://github.com/couchbaselabs/observability/actions/runs/1435073449

Running https://github.com/couchbaselabs/observability/runs/4139963846?check_suite_focus=true with the specific commit hash which seems to be using it now.

Right so this is working now but unfortunately still seems to need a bit of a delay to load data: https://github.com/couchbaselabs/observability/actions/runs/1435553719

Seems much happier by preventing timeout (defaults to 30s which was likely the issue) and a bit of idle time post network completion: https://github.com/couchbaselabs/observability/actions/runs/1435799396


How to do conditional validation based on other state values?

Here's a use cases I have that I'm wondering how to implement via ngrx-forms:
Let's say you have a user profile information page where they can update their phone number, email address, etc.
There's certain validations that only need to run conditionally, both based on state from the original user model (stored elsewhere in the state, not in the form state as it isn't a form).
For eg:

Confirmation field for email is not required unless the email address has been changed. This means that when the email address field is updated, the value needs to be compared to the original email address (sitting elsewhere in the state on the user model returned from the server) to determine whether the confirmation field should be marked as required or not.

The phone number field is required -- but only if the user already had a phone number set. This means that the required validator for this field should only be enabled if the user model returned from the server to begin with has a phone number present.

I think you want to use ngrx/effects for that. You can listen on something in your whole state tree, and on change you just dispatch action with data that would be required by your form reducer. In this reducer you just react on that action using ngrx/form helpers (like validate, setValue, disable, updateGroup etc...).

@nihique I was trying to avoid putting the data in the form reducer that doesn't represent the value of a form control. The app doesn't need to have form control state associated with those values.

@nathanmarks I agree, you should not put these data to the form state. But what I am talking about is that you can design custom form reducer's actions that would have data from external states as an payload of these actions and reducer would just process them as usual with ngrx in reducers switch block in additon to the FormGroupReducer...
Let's wait if @MrWolfZ has different opinion/workaround.

@nihique
Since your edit my reply makes no sense 😂
It would work... but I want to see if @MrWolfZ has any thoughts regarding doing this in a less involved manner. It doesn't feel 100% "right".

@nathanmarks haha, sorry about that ;)
For me it actually makes quite lot of sense. If I want to react to something which is outside of my current reducer, I am will create Effect that will do the "heavy lifting" to pull data from different parts of application together and dispatching custom Action specific to the current reducer. Just regular @ngrx stuff ;)

@nihique The part that doesn't feel 100% right is where we would be setting some field's validation status when the action passes through updating the value, but then setting the validation status of other fields in a 2nd pass through the reducer via a side effect that dispatches another action containing additional data (what would you call it, form.UpdateValidationForFieldsThatNeedExtraData?).

@nathanmarks
The way I do it in my apps is not via custom actions and effects but by simply parameterizing the form reducer. So for your example with the phone number and mail address it would look like this:
import { Action } from '@ngrx/store';
import { FormGroupState, createFormGroupState, groupUpdateReducer, updateGroup, StateUpdateFns, validate } from 'ngrx-forms';

interface UserProfileFormValue {
  emailAddress: string;
  emailAddressConfirmation: string;
  phoneNumber: string;
}

const intialFormValue: UserProfileFormValue = {
  emailAddress: '',
  emailAddressConfirmation: '',
  phoneNumber: '',
};

const PROFILE_FORM_ID = 'PROFILE/PROFILE_UPDATE_FORM';

interface ProfileState {
  emailAddressFromProfile: string;
  phoneNumberFromProfile: string;
  formState: FormGroupState<UserProfileFormValue>;
}

const initialState: ProfileState = {
  emailAddressFromProfile: '',
  phoneNumberFromProfile: '',
  formState: createFormGroupState(PROFILE_FORM_ID, intialFormValue),
};

class SetProfileDataAction implements Action {
  static TYPE = 'PROFILE/SET_PROFILE_DATA';
  type = SetProfileDataAction.TYPE;

  constructor(
    public emailAddress: string,
    public phoneNumber: string,
  ) { }
}

type ProfileActions =
  | SetProfileDataAction
  ;

function required<T>(value: T) {
  return !!value ? {} : { required: true };
}

// we parameterize the form state update functions with the required auxiliary data
const createFormStateUpdateFunctions = (
  emailAddressFromProfile: string,
  phoneNumberFromProfile: string,
): StateUpdateFns<UserProfileFormValue> => ({
  emailAddressConfirmation: (emailAddressConfirmation, formState) => {
    const emailAddressHasChanged = formState.value.emailAddress !== emailAddressFromProfile;
    const validateEmailConfirmation = emailAddressHasChanged ? required : () => ({});
    return validate(validateEmailConfirmation, emailAddressConfirmation);
  },
  phoneNumber: validate(!!phoneNumberFromProfile ? required : () => ({})),
});

function profileReducer(state = initialState, action: ProfileActions): ProfileState {
  // we simply create a form reducer with the current data every time the `profileReducer` is called
  let formStateUpdateFunctions = createFormStateUpdateFunctions(state.emailAddressFromProfile, state.phoneNumberFromProfile);
  const formStateReducer = groupUpdateReducer(formStateUpdateFunctions);
  let formState = formStateReducer(state.formState, action);
  if (formState !== state.formState) {
    state = { ...state, formState };
  }

  switch (action.type) {
    case SetProfileDataAction.TYPE:
      // if the data is updated, we have to re-run the form state reducer (note that it's
      // of course possible to remove the redundancy in code by organizing the reducer
      // a bit smarter but for the purpose of this example this is clearer)
      formStateUpdateFunctions = createFormStateUpdateFunctions(action.emailAddress, action.phoneNumber);
      formState = updateGroup(formStateUpdateFunctions)(state.formState);
      return {
        ...state,
        emailAddressFromProfile: action.emailAddress,
        phoneNumberFromProfile: action.phoneNumber,
        formState,
      };

    default: {
      return state;
    }
  }
}

If you need data from somewhere else in the state tree you either have to keep it redundant where you keep the form state or you need to parameterize the profileReducer as well to take the required data. I hope this example helps.

I think we are misunderstanding each other ;) I would create an action and process it in reducer specifically, not in groupUpdateReducer() helper from ngrx/form.
export interface OrganizationForm {
    name: string,
    phone: string,
}

export const initialState: State = undefined;

export function reducer(
    state = initialState,
    action: actions.Actions,
): State {
    const newState = formGroupReducer(state, action);
    state = newState === state
        ? state
        : { ...newState };

    switch (action.type) {

        case otherReducerActions.USER_EMAIL_CHANGED: {
            const { origEmail, newEmail } = action.payload;
            return updateGroup<OrganizationForm>({
                name: validate(/*... custom function to validate based on origEmail and newEmail ...*/),
            });
        }

        default: {
            return state;
        }
    }
}

@MrWolfZ That makes sense, thanks for the detailed response!

@MrWolfZ that is clever, thx.

@MrWolfZ
Do you still agree with your statement from 2017?

If you need data from somewhere else in the state tree you either have to keep it redundant where you keep the form state or you need to parameterize the profileReducer as well to take the required data. I hope this example helps.

We have this case now, and I wonder if it would be better to move the validation to an Async Validation, where the effect could select the data from the other branch of the tree to avoid duplication.
What do you think?
Thanks

@MrWolfZ I ("ngrx-forms": "^6.3.5" on "@ngrx": "^12.5.1") need:
<T>(_: T) => ({})
instead of
() => ({})
Else it won't compile. Is this expected, or am I getting something wrong here?


How to change the python issue

Hello, I installed my python in another path, not in the default user path, so it occur the exception
"DEBUG - Commands... : [python, C:\Users\LINJIA~1\AppData\Local\Temp\1605064137269-0\exec.py]
java.io.IOException: Cannot run program "python": CreateProcess error=2,"

Hi @linjiaqin . It's not on README, but direct path to python binary is supported as below on Plot instance creation. Please refer to the code here.
Plot plt = Plot.create(PythonConfig.pythonBinPathConfig("path/to/python"));

As someone who spent hours trying to figure out a solution to the above issue, it would be very much helpful if you could put this in the README. Thanks in advance.

As someone who spent hours trying to figure out a solution to the above issue, it would be very much helpful if you could put this in the README. Thanks in advance.


Closes #610 | Add Dataloader Multsipider

Title: Add Dataloader Multsipider
First line PR Message: Closes https://github.com/SEACrowd/seacrowd-datahub/issues/610
Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script seacrowd/sea_datasets/{my_dataset}/{my_dataset}.py (please use only lowercase and underscore for dataset folder naming, as mentioned in dataset issue) and its __init__.py within {my_dataset} folder.
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _LOCAL, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _SEACROWD_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one SEACrowdConfig for the source schema and one for a seacrowd schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py or python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py --subset_id {subset_name_without_source_or_seacrowd_suffix}.
[ ] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

@muhammadravi251001 Checked, LGTM. Thank you for implementation this dataloader

Thanks for the review, Sir!

Reviewed and tested. LGTM, thanks @muhammadravi251001 !

Thanks for the approval, Sir!


Delete acc of the girl named IRINA_here

Why not

I have no idea what you want, what is the meaning of this pull?


Undercloud post install fails if flavors already exist

In undercloud-install-post.sh, we attempt to avoid failures by deleting flavors before (re-)creating them, like this:
openstack flavor delete oooq_{{ name }} > /dev/null 2>&1 || true
openstack flavor create --id auto ... oooq_{{ name }}

But what actually happens is that the post-install script fails with:
+ openstack flavor create --id auto --ram 4096 --disk 49 --vcpus 1 oooq_control
Flavor with name oooq_control already exists. (HTTP 409) (Request-ID: req-55b34a97-f21d-41fd-b69d-e46829811e6c)

Because:
$ openstack flavor delete oooq_control
public endpoint for messaging service not found

This looks like it's due to a bug in python-zaqarclient.

This is due to https://bugzilla.redhat.com/show_bug.cgi?id=1317567

resolved by https://github.com/redhat-openstack/tripleo-quickstart/commit/1328bd7b0daf2b7d31f76364e174b657a64fec75


Ignore ExcludeOtherFs if Stdin is true

Closes: #1807
What is the purpose of this change? What does it change?
Ignore one-file-system flag if stdin is used, as described on the issue:

--one-file-system, which used to be (and should be) a no-op with --stdin

Seems that there wasn't any test for the ExcludeOtherFs option, and as this is a one line patch I'm not sure if it's needed to add tests for that.
As this is a minor regression fix, I didn't added new documentation nor updated the changelog either.
Was the change discussed in an issue or in the forum before?
Yes, issue #1807
Checklist

[x] I have read the Contribution Guidelines
[ ] I have added tests for all changes in this PR
[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

Codecov Report

Merging #1856 into master will decrease coverage by 4.45%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1856      +/-   ##
==========================================
- Coverage   51.22%   46.77%   -4.46%
==========================================
  Files         169      169
  Lines       13026    13026
==========================================
- Hits         6673     6093     -580
- Misses       5355     5983     +628
+ Partials      998      950      -48

Impacted Files
Coverage Δ

cmd/restic/cmd_backup.go
44.88% <0%> (ø)
:arrow_up:

internal/backend/b2/b2.go
0% <0%> (-78.54%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-78.45%)
:arrow_down:

internal/backend/gs/gs.go
0% <0%> (-73.61%)
:arrow_down:

internal/backend/azure/azure.go
0% <0%> (-69.46%)
:arrow_down:

internal/backend/swift/config.go
36.95% <0%> (-54.35%)
:arrow_down:

internal/archiver/file_saver.go
85.96% <0%> (-2.64%)
:arrow_down:

internal/backend/s3/s3.go
59.39% <0%> (-0.76%)
:arrow_down:

internal/checker/checker.go
67.64% <0%> (+3.82%)
: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 bb2ad76...2384c1c. Read the comment docs.