high level simulator

Is your feature request related to a problem? Please describe.
grSim is a very slow and time based low level simulator. This makes it very slow to test play decision making and would make machine learning very difficult.
Describe the solution you'd like
A high level simulator would enable us to make it frame based and also way faster. This will in turn enable us to do easy machine learning.
Describe alternatives you've considered
The ideal way would be to just use the Tigers simulator, but given their definition of open source, this will also be very difficult.

@JAndringa Why is it difficult to use the Tigers simulator? I believe they literally open sourced their code of previous years, including their simulator, on their webpage?
Regardless, it may be easier/better to simply write your own (in C++ rather than Java), as this will be a lot faster. Feel free to ask for help with the physics if you need it.

as far as I know (and could find) Tigers has only open sourced their auto referee. Their simulator is built into their framework so that we can only use it with their AI and not ours.

Yeah, their simulator is built into their framework indeed, but the source code of their framework can be found here;
https://github.com/TIGERs-Mannheim/Sumatra/tree/master/modules/moduli-vision-simulation. Although it is Java, this might help a bit with making some decisions about how to simulate things.


Can't get the icon name from the network request and display it?

I'm sorry if you don't understand something, because my English is not very good, I translated it using google translate.
I get the icon names from the network request, but when I use the icons via dynamic binding, it just shows the icon names, but doesn't render, is it because it's not supported?
Here is my request:

icon is not rendered

UnoCSS generate CSS at build time. See https://github.com/unocss/unocss#scanning, you may safe listing them, or use the runtime build.

How fix this https://stackblitz.com/edit/nuxt-starter-xgbti7?file=app.vue  ?
When use an input for typing class name of icon


bugfix: readDelegation

Symptom:
Integration test STAKE_POOLS_JOIN_02 fails consistently when run in isolation from other tests in the suite.
Reason:
The integration test cluster increases epoch number every 32 seconds or so while the test suite is running, and when running in isolation the test always sees epoch 0 only. However, when run as a part of the test suite it manages to start later, by the time the epoch is already > 0.
There is a special case in the Wallet’s code that treats delegation in epoch 0 differently: it always returns status NotDelegating, but it also assumes there are no next delegations, whereas its possible that in the epoch 0 a new delegation certificate is registered.
Solution:
Even in epoch 0 wallet needs to look ahead to determine upcoming delegations.
Issue Number
ADP-2724

bors r+


Ingress Gateway Pod Not Ready

istio version 1.6.9
I found some ingress gateway pods not ready
kubectl get pod -n istio-system
NAME                                       READY   STATUS    RESTARTS   AGE
debug                                      1/1     Running   0          169d
istio-ingressgateway-7c4977d74-29q8h       1/1     Running   0          3d7h
istio-ingressgateway-7c4977d74-2br9d       1/1     Running   0          4d19h
istio-ingressgateway-7c4977d74-bw5lz       0/1     Running   0          5d7h
istio-ingressgateway-7c4977d74-kl2k5       1/1     Running   0          2d4h
istio-ingressgateway-7c4977d74-v4tq9       1/1     Running   0          29h

and logs
2021-04-28T04:53:16.312780Z	warn	Envoy proxy is NOT ready: failed to get readiness stats: Get "http://<IP_ADDRESS>:15000/stats?usedonly&filter=^(server\\.state|listener_manager\\.workers_started)": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

envoy admin thread cpu ~100%

15000 port not work include curl http://localhost:15000/ready and curl http://localhost:15000/server_info

I think it maybe related to we use Envoyfilter  add url_path label to prometheus metrics
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: envoy.http_connection_manager
            subFilter:
              name: envoy.router
      proxy:
        proxyVersion: ^1\.6.*
    patch:
      operation: INSERT_BEFORE
      value:
        name: istio.stats
        typed_config:
          '@type': type.googleapis.com/udpa.type.v1.TypedStruct
          type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
          value:
            config:
              configuration: |
                {
                  "debug": "false",
                  "stat_prefix": "istio",
                  "disable_host_header_fallback": true,
                  "metrics": [
                      {
                        "name": "requests_total",
                        "dimensions": {
                          "destination_port": "string(destination.port)",
                          "request_host": "request.host",
                          "request_url_path": "request.url_path"
                        }
                      },
                      {
                        "name": "request_duration_milliseconds",
                        "dimensions": {
                          "destination_port": "string(destination.port)",
                          "request_host": "request.host",
                          "request_url_path": "request.url_path"
                        }
                      },
                      {
                        "name": "request_bytes",
                        "dimensions": {
                          "destination_port": "string(destination.port)",
                          "request_host": "request.host",
                          "request_url_path": "request.url_path"
                        }
                      },
                      {
                        "name": "response_bytes",
                        "dimensions": {
                          "destination_port": "string(destination.port)",
                          "request_host": "request.host",
                          "request_url_path": "request.url_path"
                        }
                      }
                    ]
                }
              root_id: stats_outbound
              vm_config:
                code:
                  local:
                    inline_string: envoy.wasm.stats
                runtime: envoy.wasm.runtime.null
                vm_id: stats_outbound

@ramaraochavali @ramaraochavali
Could we use http://localhost:15000/ready instead of http://<IP_ADDRESS>:15000/stats?usedonly&filter=^(server\\.state|listener_manager\\.workers_started)?
Maybe too heavy use stats to check the health status of envoy.
And if we have too much metrics, stats will be slow.

https://istio.io/latest/news/support/announcing-1.6-eol/
Please upgrade, this is already fixed in 1.9. We now cache the initial response so the stats call is trivial.
Thanks!

https://istio.io/latest/news/support/announcing-1.6-eol/
Please upgrade, this is already fixed in 1.9. We now cache the initial response so the stats call is trivial.
Thanks!

I found https://github.com/istio/istio/pull/26820 thank you.


New release on crates.io

The last few weeks got us some amazing new features, especially network support. When can we expect a new release on crates.io?

Sry for the delay. I'll try put together a release this weekend

Sorry to bother, but any updates?

done!


Ultrasonic Sensor Support

Need Controller and Helper class

It has 2 pins TRIG and ECHO where TRIG triggers the ultrasonic wave towards the object and ECHO grabs the same wave after reflecting from the object. Calculate the distance based on signal sent time and received time.

[x] Should return the distance measured from the object with units

Added support for ultra sonic sensor


Resource forecast - Finding second phase - Issue fix

#1792

Changed the way second phase of the work is identified

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (develop@30a5c75). Click here to learn what that means.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #1833   +/-   ##
==========================================
  Coverage           ?   68.12%
==========================================
  Files              ?      253
  Lines              ?     8622
  Branches           ?        0
==========================================
  Hits               ?     5874
  Misses             ?     2748
  Partials           ?        0

Flag
Coverage Δ

epictrack-api
68.12% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update variable names for tajriba

Updates nickname to be saved as nickname instead of name for data analysis purposes

Do we also need to update where the name is passed into the Jitsi object? We don't run tests that the jistsi behaves as we expect, so that error wouldn't come up, unfortunately.

Yes, this is fixed now and tested manually!


Layout suggested tweaks

Okay @andrewxhill, tried to summarize what we chatted about:

On the grid, 1px spacing looks neat, i think now we're 2px? (same for the thread 3, I guess margin as well?)
On thread previews:

maybe even smaller thread title text
less margin-bottom on thread title (even 50% less)
date below, so that the title can use the full width, avoiding multi-lines being used

On single photo feed items:

move date to bottom
put avatar next to name above photo, small and circle shaped
possibly use words to write out things like "peers" and "swarm", dunno
use username text (not avatar) next to photo caption / comment

Some IG screenshots for reference:

These are done


Support VAVAILABILITY

Fix https://github.com/fruux/sabre-vobject/issues/109.
RFC Calendar Availability draft-daboo-calendar-availability-05.

[ ] create the new component VAVAILABILITY:

[x] create the class,
[x] declare the component,
[x] create the validation rules,
[ ] create a useful API,

[ ] create the new component AVAILABLE:

[ ] create the class,
[ ] declare the component,
[ ] create the validation rules,

[ ] create tests for each items above,
[ ] test with jCal,
[ ] test with xCal.

Hi @Hywan ,
I am wondering if this patch would easily be applicable on the 3.3 branch, without BC breaks. That would potentially allow us to release it with sabre/dav 2.2, whereas the vobject master branch will likely be sabre/dav 2.3 (due to the PHP 5.5 dependency).

@evert Humm, I will try today.

Closed in favor of https://github.com/fruux/sabre-vobject/pull/202 (on 3.3, not master).


Add filePublic flag for media

Fix #293
Adds a new boolean field public to media, with the following definition:

false if the media file is not publicly accessible (e.g. to protect the privacy of people).

To my knowledge, there is no equivalent in Audubon Core or Darwin Core.
The field is required and inserted after filePath
mediaID*
deploymentID*
eventID*
captureMethod*
timestamp*
filePath*
public* <--
fileName
fileMediatype
exifData
favorite
comments

To keep in line with the fields starting with file, the field could also be named filePathPublic or fileAccessible. Would this be preferred over public?

The PR also updates the template to show the example dataset, so that private media files get a placeholder image rather than a broken link:

Term name now updated to filePublic


TxInstructionError#code can contain values bigger than int

Hi team,
while trying to deserialize Meteora transactions, I came across some txs whose error code seems to be bigger than int and the deserialization breaks with a JsonException. In the below given tx, the error code is 3_735_928_559 while int max is 2_147_483_647. The following code snippet might help to reproduce the exception:
try (final var httpClient = HttpClient.newHttpClient()) {
    final var rpcClient = SolanaRpcClient.createClient(SolanaNetwork.MAIN_NET.getEndpoint(), httpClient);
    String txSig = "4oYrNJcgMDEKWdH7goybDjfoDEQ9ubE6gmF5dyG7eWkJQ5rUSkwqyNNjLYbt4ggunn7KmbfMHVC6Gd3Yg1CLVsYG";
    CompletableFuture<Tx> txFuture = rpcClient.getTransaction(Commitment.FINALIZED, txSig, 0, RpcEncoding.base64.name());
    Tx tx = txFuture.join();
}

Or am I doing sth wrong here when using the framework?
Cheers!

Awesome error report, thank you!
Fixed in 1.9.4 with 0fc08ea
Should get this if you print that tx to the console now.
Tx[slot=293506042, blockTime=OptionalLong[1727980637], meta=TxMeta[error=TxInstructionError[instructionIndex=2, type=Custom, code=3735928559], computeUnitsConsumed=115170, fee=10341, ....


[5.1 04-24-2019] Opaque result types, SE-244

@swift-ci Please test

@swift-ci Please test source compatibility

The compatibility suite failures look like a configuration issue with the bot, since everything is failing with things like:
/Users/buildnode/jenkins/workspace-private/swift-PR-source-compat-suite-debug/project_cache/Deferred/Sources/Task/ResultRecovery.swift:50:6: error: '@_inlineable' has been renamed to '@inlinable'
    @_inlineable
     ^~~~~~~~~~~
     inlinable


Make tcnative version dependency more clear

Now that we are updating tcnative more frequently we should consider having a version compatibility check explicitly run to ensure the correct version is being loaded. Perhaps this would make sense to have when we load openssl in OpenSsl.java.

@normanmaurer @trustin @nmittler - FYI.

@Scottmitch SGTM

@Scottmitch sounds good. I can take care.

thanks @normanmaurer !

This was done by adding the netty bom


refactor(project edit dialog): remove dialog and replace in component

resolves DEV-2628

I think you may have forgotten to add a route to create a project as this happens when I click on the "Create New Project" button.

The width should be expanded to match how it's currently implemented

Included routing.


CMake: Move resolve dependency macros under velox_ prefix

It is best practice in CMake to use a project prefix for project specific macros, functions and variables. This makes it easier to compose projects in larger builds as well as differentiate general functions from project specific functions.
This moves several macros and it will require some simple migration of any CMake code reusing the resolve dependency macros:

build_dependency -> velox_build_dependency
list_subdirs -> removed after reviewer suggestion
resolve_dependency -> velox_resolve_dependency
resolve_dependency_url -> velox_resolve_dependency_url
set_source -> velox_set_source
set_with_default -> velox_set_with_default

This should be a simple change as the other changes are just to adapt to the changed macro names.

@cryos CI is red. Would you rebase to see if CI passes. If not, please, investigate the failures.

@cryos CI is red. Would you rebase to see if CI passes. If not, please, investigate the failures.

Rebasing didn't help, I don't see anything related to this change in the test that is failing. The same test appears to be failing on other unrelated PRs that are active right now too. Anything related to this PR should fail early as it is all related to finding/building dependencies and linking to them.
Maybe @assignUser will have a better overview, it would appear that it is seeing an empty file.

It's been fixed on main now: https://github.com/facebookincubator/velox/pull/11436

Everything looks green now.

@kevinwilfong Kevin, would you help merge this PR?


[Feature]global parameters can support adding configuration based on the project

The current variable parameters can only be added in DAG tasks. If I have multiple DAG sequences in a project, all of them need to be configured.
If I have multiple production machines, I have a lot of tasks, and I don't want to concentrate all tasks on one IP. For example: now our system does not seem to know HTTP load balancing.
Expectation: At this time, I hope I can configure an ip for the project, so that when I switch from the development environment to the production environment, I can greatly reduce the number of modifications I have, and if someone goes offline, I can quickly change the ip . Of course, if you support dynamic IP replacement later, it is of course the best to download the broken machine.
现在的全局参数只在DAG任务中可以添加，如果我一个项目有多个DAG序列，这样都需要配置。
举个例子：现在咱们这个系统好像也不知道HTTP的负载均衡。如果我有多台生产机器，我任务也蛮多的，我不想把所有的任务都集中到一个ip上。
期望：这个时候我希望我可以针对项目可以配置一个全局ip，这样我后面可以从开发环境切换到生产环境的时候可以大大减少我修改的次数，而且如果某台机器下线，我可以快速的更换ip.当然如果后面支持动态更换ip,下掉坏掉的机器当然是最好的。

For better communication, please use English, thx

hope this feature+1


[SPARK-20609][CORE]Run the SortShuffleSuite unit tests have residual spark_* system directory

What changes were proposed in this pull request?
This PR solution to run the SortShuffleSuite unit tests have residual spark_* system directory
For example:
OS:Windows 7
After the running SortShuffleSuite unit tests,
the system of TMP directory have '..\AppData\Local\Temp\spark-f64121f9-11b4-4ffd-a4f0-cfca66643503' not deleted
How was this patch tested?
Run SortShuffleSuite unit test.

Can one of the admins verify this patch?

I guess these were unable to be deleted on Windows as some files are not closed. Shouldn't we find where the resources are not being closed rather leaving them undeleted?

Build started: [CORE] org.apache.spark.SortShuffleSuite
Diff: https://github.com/apache/spark/compare/master...spark-test:1E2C6759-E0C7-40D4-AAA2-9FFC1934AC62

@heary-cao, it seems AppVeyor tests were fine before/after this PR. Is this a flaky test fix or did I misunderstand what this PR targets?

@HyukjinKwon
Run the ShuffleNettySuite unit tests, no residual Temp directory.
Run the SortShuffleSuite unit tests ,Will remain a temp directory not deleted.
thanks.

I think I ran SortShuffleSuite correctly.
Before
[00:16:24] [info] SortShuffleSuite:
...
[00:18:53] [info] - SortShuffleManager properly cleans up files for shuffles that use the serialized path (297 milliseconds)
[00:18:53] [info] - SortShuffleManager properly cleans up files for shuffles that use the deserialized path (94 milliseconds)
...

After
[00:15:49] [info] SortShuffleSuite:
...
[00:18:18] [info] - SortShuffleManager properly cleans up files for shuffles that use the serialized path (500 milliseconds)
[00:18:18] [info] - SortShuffleManager properly cleans up files for shuffles that use the deserialized path (359 milliseconds)
...

Also, even if it fails, we should at least find the reason and fix if possible. Probably, there should be somewhere the resources are not being closed.

@heary-cao to make sure, are few test cases in SortShuffleSuite being failed in your local environment because these were unable to be deleted, right?

@HyukjinKwon
I agree with your point of view. So I again tested.
When running the first unit test, will set the spark. Local. Dir. At the end, this directory will be deleted.
Delete ..\spark-dd832eb6-0c82-4354-b48e-917d82b7f3be\spark-3487446f-0d8d-46cc-8ff5-b3115ded595d\userFiles-cc48f5f4-b6a3-4e31-a6ff-a0175df1d2c0 file at the same time.
but Run the second unit tests, the reset will set the spark. Local. Dir. At the end, this directory will be deleted again. at the same time delete ..\spark-dd832eb6-0c82-4354-b48e-917d82b7f3be\spark-3487446f-0d8d-46cc-8ff5-b3115ded595d\userFiles-d07214c1-f04c-4e08-a256-c1f2f6f9b529 file.
The file directory is created the first unit test run time.
So the residual directory is  ..\spark-dd832eb6-0c82-4354-b48e-917d82b7f3be\spark-3487446f-0d8d-46cc-8ff5-b3115ded595d.
I modify the code again. please review it again.
thanks.

@HyukjinKwon
this changes before and after deleting files log information:
Before changes

Run the unit test: SortShuffleManager properly cleans up files for shuffles that use the serialized path

remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\blockmgr-9c553fa3-dfc9-435d-8624-ab48961c8248\0c
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\blockmgr-9c553fa3-dfc9-435d-8624-ab48961c8248\0d
...
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\blockmgr-9c553fa3-dfc9-435d-8624-ab48961c8248
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf\userFiles-d8906c18-17ab-41e7-917e-11cd7c71243e
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a

Run the unit test: SortShuffleManager properly cleans up files for shuffles that use the deserialized path

remove:C:\Users\Default\AppData\Local\Temp\spark-371eb96b-738f-4f6f-97c9-7a694afc34cc\blockmgr-0691abbf-61b8-41eb-9476-92479d9209d2\0c
remove:C:\Users\Default\AppData\Local\Temp\spark-371eb96b-738f-4f6f-97c9-7a694afc34cc\blockmgr-0691abbf-61b8-41eb-9476-92479d9209d2\0d
...
remove:C:\Users\Default\AppData\Local\Temp\spark-371eb96b-738f-4f6f-97c9-7a694afc34cc\blockmgr-0691abbf-61b8-41eb-9476-92479d9209d2
remove:C:\Users\Default\AppData\Local\Temp\spark-371eb96b-738f-4f6f-97c9-7a694afc34cc
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf\userFiles-76f038fe-4e25-4622-b8c1-74481ffb6eb9

residual system directory is C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf
After changes

Run the unit test: SortShuffleManager properly cleans up files for shuffles that use the serialized path

remove:C:\Users\Default\AppData\Local\Temp\spark-c2a131f1-08a5-428c-bed4-e29cfcacbbb9
remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\spark-3a7708e1-56fb-40ed-890f-6a8cc80d7473\userFiles-68974f6c-d4fc-4f8a-b66f-01a25ed12c44

Run the unit test: SortShuffleManager properly cleans up files for shuffles that use the deserialized path

remove:C:\Users\Default\AppData\Local\Temp\spark-07ef44ee-c165-4637-a52d-daf2f8780a50
remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\spark-3a7708e1-56fb-40ed-890f-6a8cc80d7473\userFiles-19e1cd23-077d-4d05-a676-6d3f8f2cfa39

remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\spark-3a7708e1-56fb-40ed-890f-6a8cc80d7473
remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\blockmgr-73e600e1-0ff7-4d79-8da0-ffac572be0d3\0c
...
remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\blockmgr-73e600e1-0ff7-4d79-8da0-ffac572be0d3

remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\blockmgr-815208b6-c080-4707-8553-a5cec9709e1e\0c
...
remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b\blockmgr-815208b6-c080-4707-8553-a5cec9709e1e

remove:C:\Users\Default\AppData\Local\Temp\spark-bda0e806-6394-4180-8579-05a14c9aa83b

So, after changes, remove file sequence has also changed.
thanks.

Test results are fine. I think my question is why this happens and how the current change solves the issue above. Another question is, does second run of the test cases fail due to this?

@HyukjinKwon
does second run of the test cases not fail,
all test cases is ok.
Different is all use cases after the operation, will recusively a spark_ TMP directory is not delete.
Here actually I also not understand, why to perform after the first test case, we remove the spark_ directory,
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a

but after the second run test cases, continue to delete the directory
remove:C:\Users\Default\AppData\Local\Temp\spark-6d46f183-bb26-4f98-a50a-e19b2068c15a\spark-c0db2905-02f1-4bbb-811b-3cf910dee7cf\userFiles-76f038fe-4e25-4622-b8c1-74481ffb6eb9
Because the caused by  userFiles-76f038fe-4e25-4622-b8c1-74481ffb6eb9  directory ?
thanks!

I think this does not look too urgent to merge it without investigating the reason and it is inappropriate to submit a PR without knowing/explaining how it fixes.
I suspect this is related with local dir cache and my guts say this is not a proper way to deal with it.
If you are unable to explain why it happens and how the current change fixes it, I would rather suggest to close this.
I can take a look maybe within tonight or tomorrow instead (I have been on holiday and don't have an access to a computer).

@HyukjinKwon
ok
thanks.
I wish you the best
A happy holiday.

@heary-cao, could you try to add Utils.clearLocalRootDirs() in the first of beforeEach and in the last of afterEach and check out the results?
It looks initial local directory is cached in Utils.localRootDirs and then it keeps returning this directory set before even after setting conf.set("spark.local.dir", tempDir.getAbsolutePath).
Also, I quickly skimmed after running grep -r "spark.local.dir" . | grep Suite | grep ".scala" and I see two suspicious instances as below:
./mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala:      conf.set("spark.local.dir", localDir.getAbsolutePath)
./mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala:      conf.set("spark.local.dir", localDir.getAbsolutePath)

Could you check out both if you have some time?

@HyukjinKwon
You are right,
add Utils.clearLocalRootDirs() in the first of beforeEach or in the last of afterEach, The results are correct.
I choose to add Utils.clearLocalRootDirs() in the last of afterEach. It looks much more logical.
In addition, ALSCleanerSuite test set of the same problems.
so modify it.
please review again.
thanks.

@HyukjinKwon
I suggest to add to the beforeAll。
If the added beforeEach, Most of the unit tests will run twice.
What do you think?

@HyukjinKwon
I suggest to add to the beforeAll。
If the added beforeEach, Most of the unit tests will run the  Utils.clearLocalRootDirs() twice.
What do you think?

I think that's fine. It should be safe.

Hi @srowen, this looks reasonable to me and I remember my similar PR was reviewed by you. Please let me cc you.

Hi @heary-cao, I sent a PR to your branch - https://github.com/heary-cao/spark/pull/1 for minor cleanup. Please review that one and merge it so that the commits are pushed into this PR.

Test build #3705 has started for PR 17869 at commit 11e7f21.

Test build #3705 has finished for PR 17869 at commit 11e7f21.

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

(it looks the test failure is unrelated to me)

To run again?

@HyukjinKwon
I would like to suggest that
modify ALSCleanerSuite with another PR.

@srowen ,
I commit to modify the PR.
Can you help me to run test build again.
thanks.

Test build #3726 has started for PR 17869 at commit e901625.

Test build #3736 has started for PR 17869 at commit e901625.

Test build #3736 has finished for PR 17869 at commit e901625.

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

Test build #3740 has started for PR 17869 at commit e901625.

Test build #3740 has finished for PR 17869 at commit e901625.

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

Test build #3744 has started for PR 17869 at commit e901625.

Test build #3744 has finished for PR 17869 at commit e901625.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Test build #3747 has started for PR 17869 at commit e901625.

Test build #3747 has finished for PR 17869 at commit e901625.

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

Merged to master


Figma Wireframes

https://www.figma.com/file/47YJ1KtmES10TIdGPuF6EZ/OSU-Fitness-App?type=design&node-id=0-1&mode=design&t=IlUC3w1QrocB6UqA-0
In progress, feel free to leave message and your ideas : )

There are two initial tasks for this:

#1
#2

Make sure each has one item assigned! :)


Generate Password (Password Length, Save, Title, Export  )

Describe the solution you'd like

Password length 1-255 and 1-512 bytes.
Save Generate Password Add Description of title
Backup Export Generate Password  list

@Zig-Rust-Odin
Please write each point in description and examples, it would be easy to understand.

Describe the solution you'd like

Password length 1-255 and 1-512 bytes.

Password length supports 6-512

Save Generate Password Add Description of title

Add a button to save to KeyPass after Generate Password.
Add title text to tell me where I use this password

example
Title text : Github
password: !1j1EX7=-I5%Mh#y6#S0xq?yNd62$B

Backup Export Generate Password  list

Backup to .keypass


merge for v1.3

We'll ignore the Codacy check here; the default policy is not useful/practical for PRs of this size (I've changed the policy but it will only apply from the next PR onward)


Add exit buttons in switch box

Hi~~Emoacht
What do you think about adding a few buttons to the switch box?
Present vs Wish

Oh~You have considered it in advance.
Yes. Okay.


Update JSON package collection models

According to https://forums.swift.org/t/package-collection-format/42071

Rename summary and title to description and name, respectively
Add keywords to PackageCollection.Package
Add minimumPlatformVersions to PackageCollection.Package.Version
Add createdBy to PackageCollection

API models and tests are updated as well.

looks good from a quick glance. lets get  #3068 and  #3069 merged first as there is tiny overlap
note: need to add new files to CMakeLists in PackageCollections directory

@yim-lee please rebase

@swift-ci please smoke test

What's the driver for using description? I always find it a bit overloaded, because of CustomStringConvertible and think using summary was preferable.

because of CustomStringConvertible

Yeah that was the reason I used package.summary and collection.overview instead of description at the beginning, but then these are descriptions, and calling them differently feels a little superficial. Also since we name them description in parts of the collections code I figured we should be consistent.

Also since we name them description in parts of the collections code I figured we should be consistent.

Personally, I'd prefer using something like summary throughout.

@swift-ci please smoke test


Adding OR filters to status

Last change needed to resolve #23

Reviewed 2 of 3 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

LovefieldService.js, line 337 [r2] (raw file):
Why "implicit"?

LovefieldService.js, line 339 [r2] (raw file):
Not sure this is a great variable name, and it should be camelCase.

Comments from the review on Reviewable.io

Reviewed 2 of 3 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

LovefieldService.js, line 337 [r2] (raw file):
Why "implicit"?

LovefieldService.js, line 339 [r2] (raw file):
Not sure this is a great variable name, and it should be camelCase.

Comments from the review on Reviewable.io

Reviewed 3 of 3 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io

Reviewed 3 of 3 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


fix uploader #389

fix #389

Coverage remained the same at 73.85% when pulling 59cc0d687e3bf98f1d5e3c35ab78dde81308976e on itowtips:fix-uploader into d0367cd2b0199c7efb61321ff7f12ce871243cfa on shirasagi:master.


Fix for new security vulnerabilities? CVE-2019-11002, CVE-2019-11003, CVE-2019-11004

Github is alerting us that materialize-css 1.0.0 has vulnerabilities.  Are you aware of this and do you know when a fix will be released?

https://github.com/Dogfalo/materialize/issues/6286

v0.x is not developed. Only 1.x will get updates. There are no patches (yet) as this would break many things.
In general the whole situation was badly handled - no responsible disclosure or coordination, a missing understanding that all of them are no real XSS vulns (it's possible but only if the user / developer uses user input without sanitization).
So far you can ignore the security warning if you do not directly output and use user input in tooltip, toast and autocomplete.

I can ignore it, but my clients who see these in their Github repo are NOT happy about it.  😳
Not sure about the 0.x comment since we use 1.0.0.

Also these 3 are low severity.
Often not all vulns are patched or can be patched (so easily).
See https://www.npmjs.com/advisories for example.

Also to make this right. These are no real XSS. Only if you use this the wrong way.
It is improper input validation in MaterializeCSS (CWE 20), not XSS (CWE 79). Only if you directly handle any user controllable data in there. This should not be mixed.
See http://cwe.mitre.org/data/definitions/20.html

These are no real XSS.

I'm not sure why you're still going with this narrative. Autocomplete vulnerability is almost text book example of XSS, see DOM based XSS. Autocomplete tries to strip HTML out before rendering, but fails to do it properly. It never supported having html as input, so it's very big stretch to call it a "feature".
It's also a bit alarming how you think that it's ok or normal to have open vulnerabilities. Sure, there are lots of packages with unpatched vulnerabilities, but pretty much all of those packages are packages that no one uses and therefore no one probably even maintains them. I agree that changing tooltip behavior would be breaking change. Fixing autocomplete, however wouldn't really be breaking change as it doesn't really support HTML in the first place as explained here. And as also explained there, to "sanitize" your input, you must double escape your user input, which will prevent XSS, but will break autocompletion. It's in no way reasonable to expect for developers to know that you're supposed to double escape your input. I'm also willing to bet this isn't intended feature like you claim it is.
Even in the very unlikely case that it was intended, it would still be a vulnerability, as it's completely undocumented. With libraries as popular as this, you should take security very seriously.

@kiere, you need just be careful if you use Tooltip, Autocomplete and Toast. If you didn't use this JavaScript feature, you can ignore warnings. The problem is MaterializeCss does not sanitize your HTML content and it's possible to inject a XSS.

v0.x is not developed. Only 1.x will get updates. There are no patches (yet) as this would break many things.

0.x is vulnerable too, I hope to see a v0.100.3.

I've read everything in both issues now. And it is really annoying to read everytime the same argument from @FINDarkside. DOM based XSS example is about <option> tags that don't support html by default. It would not make sense to allow html there.
Anyway: the website writes you should not output url input (an attacker could send this link to a victim). When using materializecss autocomplete the code (not manipulated; you have to write it on your website):
$('input.autocomplete').autocomplete({
  data: {
    document.location.href.substring(document.location.href.indexOf("default=")+8): null,
    'English': null,
  }
});

I agree to @DanielRuf that this is not a vulnerability coming from materializecss. The vulnerability comes from your code when it allows such input to be unsanitized hand over to materializecss..
But on the other hand: it is really supposed to only contain text (html is possible but will be searched and the highlighting is broken) - so it should just be escaped in the output. Sounds like a bug not a vulnerability.

Of my point of view, MaterializeCSS is a popular framework and it can offer more securities by default. I found many vulnerables developments who can to be avoid with a better security policy about the render.
https://infomedialtd.github.io/angular2-materialize/#/ModelBindings

Insert your lastname or your script as feature

With this usage, you break Angular security just because a developper make a mistake. It's just one example. Developpers are responsables but MaterializeCSS can protect this bad usage.
The simple first action, update the Toast documentation to replace all examples with
M.toast({html: 'I am a toast!'}) to M.toast('I am a toast!') and keep the Custom HTML part.
https://materializecss.com/toasts.html
The second point more difficult but necessary.
Allow HTML it's a good idea but you can do many things with it, like inject javascript. I'll explain again Angular example. It manage HTML and all datas are sanitazed by default.
Bootstrap sanitize all HTML content with DOMPurify and you can disable it with a configuration.
https://getbootstrap.com/docs/4.3/getting-started/javascript/#sanitizer
HTML is a risk, as a popular framework, MaterializeCSS can reduce this risk and use with the initial usage and more security.
I reviewed the code source and security problems are datas as HTML when the basic funtionality are a simple text. I found again more "bugs" because the code use innerHtml (example: i18n) or images allow a string/url/html.

@lucianot54  You are absolutely right. It can protect you from writing bad code. But it is not a security vulnerability but a feature. And now we have a CVE because of a feature request and that is sad because the people not having a security issue on their page get a warning from their package management system. And maybe they step back from using materializecss because they are afraid the library is unsecure.
Some developers make a great library and others destroy the reputation because they can't distinguish between a vulnerability they created and a vulnerability of the library itself. That makes me sad, sorry.

Dogfalo already confirmed autocomplete rendering html is not a feature, so no point in continuing the argument over this.

That makes me sad, sorry.

 I'll just point out that Snyk has classified this as XSS vulnerability.  Having a vulnerability does not "destroy the reputation", not taking them seriously does.  Having vulnerabilities is nothing out of ordinary, even the most popular packages have vulnerabilities at some point. What comes to this being "just a bug", if a bug exposes users to security threat, it is by definition a vulnerability.

Having a vulnerability does not "destroy the reputation"

That's wrong. Of course your installation rate drops when you have a vulnerability.

Snyk has classified this as XSS vulnerability

And the code example shows a code that I have to execute in developer tools to be a victim. Can you send me a link to a page not under your control that executes javascript in my browser? That is the definition of a xss as you can read in the link you sent.
But I have to admit it is wasting of time to discuss if it is xss or not. Now there is an open ticket and it has to be fixed.

So you're really going the route that Snyk doesn't know what a vulnerability and xss is? They've literally made a business of knowing these things.

Can you send me a link to a page not under your control that executes javascript in my browser?

Technically, of course, but that'd be unethical and possibly illegal. We can't use random people's sites to demonstrate security vulnerabilities.

And the code example shows a code that I have to execute in developer tools to be a victim.

I'll try one more time as other PoCs are already public. I'll hope you'll read this with open mind, forget your initial opinion on this topic and just read trough this. Let's assume there's a website which lets you search other users with autocomplete.  Notice that there is really nothing wrong with those few lines of code in the fiddle. It's using autocomplete as it's supposed to be used according to the documentation. Now, try what happens when you type typethis.
Now you argue that users should sanitize their inputs. There's nothing inherently wrong with the username, so it should be stored as it is. As Dogfalo said, autocomplete is not supposed to render HTML, so there's also no reason to sanitize it before passing it to materialize, right? Materialize is expected to handle the input as text instead of html as shown in the examples. If materialize was handling those usernames as text, sanitizing them would not make sense. If you'd sanitize <Username> to <Username>, materialize should render it as <Username> which is obviously not what you'd want.
But fine, there's another site which actually sanitizes the input. You can confirm that it's now safe to type "typethis". But actually, by sanitizing your input now you've turned the previously safe user still not safe to another issue. Try typing still not safe and see the results.
How about double escaping all html characters? That would probably solve the issue, but it'd make autocompletion pretty unusable. So yes, it is completely user preventable, by double sanitizing the input. That however does not mean that this isn't a vulnerability. Autocompletion is not working as it's documented, and if it's used in a way it's documented you'll expose yourself to xss if you autocomplete any user given content. It's absolutely not reasonable to expect developers to somehow know to double escape their inputs, when even the project maintainers didn't know it was necessary.
Now if you still don't agree that this is a vulnerability, that's fine, I doubt there's much that will change you mind. But how many people do you think know that they need to double sanitize their inputs? Probably not many, as this issue was brought up just now. So I think we can agree that majority of people using this do not know it, which means their site is possibly vulnerable. And you're saying that you feel bad because @lucianot54 requested a couple CVE ids? You should instead be happy he found this issue and that people were alerted, so they can fix their site if needed.

i'm having a hardtime in understanding these xss attacks. yes there are many articles online to read about it but i'm trying to reproduce the very basic ones like this
Having a textField in a website and allowing user to enter text in the textField.
this is my code for textField  <input type="text" id="firstname" value="" />
user in my website enters below value into my textField
 firstname" >
When an user enters data like this in my textField, then usually we do this to handle the form information

either getValue from textField using javascript and trigger ajax request to server
or submit form

in both cases, firstname data in the textField will be received by the server and validated for xss vulnerabilities in the server side code and then stored into the database .
If this validation is not done, then while the user via the same website tries to view the stored firstname information, the script which was stored along with firstname would definitely run in the browser.
i'm not able to reproduce any xss attacks other than this. i tried hard and i'm tired now. kindly help me out

Text field is not one of the vulnerable components. If you render user input as html on server side, it's obviously your fault and doesn't really have much to do with materialize. The thing is, that some components in materialize do client side rendering, autocomplete for example. Have you read the comment above your comment, it has 2 PoCs for the autocomplete vulnerability. Here's one of them, type typethis to the autocomplete component.

@FINDarkside Thank you for your response, i understand it now. But, there is still some consfusion.
when it comes to autocomplete,we have the data object that is fed into autocomplete.
let's say i'm getting the content for data from my server via ajax, then i wouldn't need to worry about the  XSS injection scenario which you've simulated , right!!?

let's say i'm getting the content for data json object from my server via ajax, then i wouldn't need to worry about the XSS injection scenario which you've simulated , right!!? because data that is sent from my server will be 100% sanitized.

No, you're not safe. It's not wrong for your api to return <img src=/ onerror="alert(\'xss\')">typethis. Everything is good and safe until you pass it to autocomplete component, which will first turn it to typethis and then add it to document as html.

i'm still confused on, when this autocomplete feature of materialize will actually give raise to XSS problem.!!

Look at both of the PoCs. The first one is probably how it'd usually go, as there's really no point in escaping html entities on server side if you're just returning text. The second one is a case when you do escape html entities client side but you'll still be vulnerable to xss attack. You can think these PoCs as if getUsers is the function fetching data from your ajax api and returning array of strings.

@FINDarkside i understand your point.
i was trying to simulate the xss attack say, i recieve data via ajax and i'm trying to render it in browser.
Incase of both innerText and innerHTML the script doesnot execute but it only prints in browser.
How to make the script show the alert message?

Now you're on right tracks. innerText is indeed safe, you won't be able to execute any scripts using it, but autocomplete uses innerHTML equivalent. If you do
content.innerHTML='';

It should run immediately. If you want to run it trough autocomplete, it needs to be <img src=/ onerror="alert(\'xss\')"> because autocomplete does equivalent to this:
var content = document.getElementById("content");
content.innerHTML = '<img src=/ onerror="alert(\'xss\')">';
// content.textContent is now
content.innerHTML = content.textContent;

To understand the problem with autocomplete, you can check here
https://github.com/Dogfalo/materialize/blob/v1-dev/js/autocomplete.js#L384
${entry.data} and {entry.key} is used without control. If you have a script in the array, you inject it in tags span/img .
I created an exemple to bugfix this point, I hope it will help you understand.
Without XSS
https://jsfiddle.net/lucianot54/x8w4ejgf/1
With XSS
https://jsfiddle.net/lucianot54/x8w4ejgf/3
After if you want allow HTML, with my exemple isn't possible.
I proposed to add news parameters like that
$('input.autocomplete').autocomplete({
    html: true, // (default false)
    sanitaze: true, // (default true)
    data: {
        "Apple": null,
        "Microsoft": null,
        "Google": 'https://placehold.it/250x250'
    }
});

Use text type by default (In my exemple,  you can easier replace text by html with the config)
Sanitaze HTML by default

If you need more helps for others bugs vulnerabilities, you can contact me.

@FINDarkside i have a new perspective on certain things now because of you :). Please read my below comment
@lucianot54
i went through your js fiddles.
i have to fix these 3 cve's.
incase of autocomplete to fix this vulnerability, i thought of modifying inside materialize.js library itself.
in my project we download the materialize library and host it from our server.
So to fix the vulnerability, i thought of doing this
In this file https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.js line 6817 i have planned to introduce below code
var span = document.createElement("SPAN");
span.innerText=_entry.key;
$autocompleteOption.append(span);

innerText interprets js as text. so this would fix the XSS problem.
i tried below jQuery approach, but it doesnot seems to work, so i used plain js
$autocompleteOption.append($("",{
text : _entry.key
});

Good to hear @Divine1. About your solution to fix it, I don't think it's enough, as the element is then passed to _highlight function which will rewrite the element innerHTML. In the end, line 6718 is the problem. Lines 6713 are also problem if you want autocomplete to work correctly, as currently it's doing $el.text() which will change
User
 to just User. It might be easier to just remove the highlight function completely and write it yourself.

@FINDarkside i agree with you.
Personally , i don't prefer css library for simple features like  tooltips & autocomplete. Also, i'm not sure even if people are using this tooltip autocomplete toast in the project which i've been assigned to fix the vulnerabilities, mostly they aren't using it i think.
Since tooltip autocomplete toast are packed within the external library people are concerned about the vulnerability. Just because this materialize library is present in the project codebase, some developer might use the tooltip or autocomplete or toast for implementing something. This shouldn't happen, thats why i want to fix these issues in the library itself.

@FINDarkside @lucianot54 Among autocomplete tooltip toast , i think only autocomplete has XSS vulnerability.
i tried to reproduce the vulnerability for autocomplete tooltip toast. But i was able to see the vulnerability inaction only for autocomplete , that is because the code tor reproduce the vulnerability for posted in this thread.
i have added the code snippet to check the vulnerability for autocomplete tooltip toast in this codepen link . Kindly let me know how to reproduce vulnerability for tooltip toast. i feel like tooltip toast doesnot have any vulnerability but i know iam missing something.

@Divine1
If you want mores XSS example:
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
If you want use 1, I recommend you this one:

M.toast({html: `<IFRAME SRC="javascript:alert('XSS3');"></IFRAME>`});

$('.tooltipped').tooltip({
    html : `<IFRAME SRC="javascript:alert('XSS2');"></IFRAME>`
});

And MaterializeCSS doesn't use Jquery but cash
https://github.com/kenwheeler/cash

Only via iframe XSS attack is possible for tooltip and toast ?

Only via iframe XSS attack is possible for tooltip and toast ?

No, anything works there. It should be quite obvious though, since you're passing a field named html. If you're putting any user input there it should be obvious that you need to sanitize it. Also, it's not that syntax that was considered vulnerability by Snyk and npm, it's this:
<a class="btn tooltipped" data-tooltip="</script>">Hover me!`

because it's not obvious that data-tooltip will be handled as html. If it was named something like tooltip-html, autocomplete would probably be the only vulnerability here.

@lucianot54 @FINDarkside
Are there any plans to fix these vulnerabilities and release a new version of the materialize-css ?
Initially i was planning to fix in this library code  itself, but its not a proper approach.
i'm available to contribute to this activity if additional people are required.

Well, I wanted to know why Github tells me there are vulnerabilities on this package, I decided to see the "reproducers" and I found they were "not that harmful" with the usage I have, but was still hoping to find a fix, and I see this big discussion without any fix coming :confused:
Is there anyone that plans to put an end to the warning, or at least some bits of a fix, at least for people that have a CI that blocks whenever there's a vulnerability?

You can't as there is no patched version. So your package manager will warn until npm inc gets a patched version and marks this as resolved.

I noticed there's no patch version. As @kiere said, some clients don't really like the fact that we use a library with vulnerabilities, and even if I may not care (for a personal project for example), and I don't like enterprises' protocols, well, a project that's blocked because some QA says that "a package is vulnerable" is an issue anyway.
That's also a message of worry about the fact that the maintainers are "taking a break" but did not delegate the maintenance to anyone, therefore "abandoning the project" for a while. This has been the case a long time ago for some other projects and most of them delegated the maintenance to one trustworthy person at least "for a while", and eventually came back (this was the case for LeafletJS for instance)

Could this issue be resolved, and could a patch version be created? Thank you!

Could this issue be resolved, and could a patch version be created? Thank you!

Note that this project has been abandoned. A fork has been created at https://github.com/materializecss/materialize which is being actively maintained.

I've seen it, I am working on implementing that into my project, thanks!


Awkward to recover after manually deleting workspace dir

See original issue on GitLab
In GitLab by [Gitlab user @aevri] on Aug 31, 2017, 10:51
If I do this:
bst workspace open myelement.bst ../myelement
rm -rf ../myelement

I can't use bst to close the workspace:
bst workspace close myelement.bst
Loading:   020
Resolving: 020/020
Error loading pipeline: Failed loading workspace. Did you remove the workspace directory? [Errno 2] No such file or directory: '/src/myelement'

To recover, I can mkdir ../myelement, and then close the workspace. It feels a bit awkward to have to do so though, I simply want to remove it :)

In GitLab by [Gitlab user @tristanvb] on Sep 4, 2017, 20:03
closed via commit fe9a88a01347b729e0a928ea188f6cfc51f00d02

In GitLab by [Gitlab user @tristanvb] on Sep 5, 2017, 22:31
mentioned in commit fe9a88a01347b729e0a928ea188f6cfc51f00d02


Comment labels and comment thread fixes

[x] OP labels
[x] Dev labels - saved in blob
[x] Doesn't post whitespace-only comments
[x] Adds button to comment anonymously, on a per-comment basis
[x] styling for anon button
[ ] Else?

Were the emojis supposed to change or do we continue with these same emojis?

 (5/5)[story] [comment view] As a user, I can disable my username from a comment when sending, so that I can comment anonymously even if I have input a name Tobias

 (1/1)[task] Commenting doesn't allow whitespace only comments

 (15/15) [story] [threading] As a user, I can comment on earlier comments, so that discussion is limited but possible. THREADS Tobias


[SPARK-7207] [ml] [build] Added ml.recommendation, ml.regression to SparkBuild

Added ml.recommendation, ml.regression to SparkBuild
CC: @mengxr

Merged build triggered.

Merged build started.

Test build #31180 has started for   PR 5758 at commit a28158a.

Test build #31180 has finished for   PR 5758 at commit a28158a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

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

Merged build finished. Test FAILed.

Seems unrelated.  I'll restart the tests.

Test build #729 has started for   PR 5758 at commit a28158a.

Test build #729 has finished for   PR 5758 at commit a28158a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

test this please

Merged build triggered.

Merged build started.

Test build #31216 has started for   PR 5758 at commit a28158a.

Test build #31216 has finished for   PR 5758 at commit a28158a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

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

Merged build finished. Test PASSed.

LGTM. Merged into master. Thanks!


Copy path to clipboard

I think it's more efficient if I could right click on a file and have an option in the small menu to copy path to clipboard.

Great Idea!

There is an extension that do almost similar thing
https://github.com/mseiler025/insert-file-url

Thanks, roicos for the link!
Though I second ZakherM for the right click file menue option - that would be be neat.


Add locate mrt on google maps

Add locate mrt on google maps

Coverage decreased (-1.1%) to 85.63% when pulling d940ebf4a91740315795baabb5a6e6440c2fcf04 on KhawYewOnn:Add_Locate_Mrt_on_Google_Maps into 966b54f36e2a7319aaa9fc6d757c14f4856e9449 on CS2103AUG2017-F10-B2:master.


should chainer matmul have an equal behavior as numpy matmul?

Currently chainer has matmul and batch_matmul, but both have a different behavior as numpy:
Here some shapes:
matmul: (2, 3),	(3, 4)	-> (2, 4)
matmul: (2,),	(1, 4)	-> (2, 4)  # different from numpy
matmul: (2, 3),	(3,)	-> (2, 1)  # different from numpy
np.matmul: (2, 3), (3, 4) -> (2, 4)
np.matmul: (2,),   (2, 4) -> (4,)
np.matmul: (2, 3), (3,)	  -> (2,)

batch_matmul: (5, 2, 3), (5, 3, 4) -> (5, 2, 4)
batch_matmul: (5, 2, 3), (5, 3)	   -> (5, 2, 1)  # different from numpy
batch_matmul: (5, 3),	 (5, 1, 3) -> (5, 3, 3)  # different from numpy
np.matmul: (5, 2, 3),	(5, 3, 4) -> (5, 2, 4)
np.matmul: (5, 2, 3),	(3, 4)	  -> (5, 2, 4)
np.matmul: (5, 3),	(5, 3, 4) -> (5, 5, 4)

In my opinion, the behavior of chainer matmul should be equal to numpy matmul or raise an Exception.
In #1901 @okuta has started to rewrite matmul's internal code and I asked to also rewrite the interface.
Therefore I want to start a discussion, if the interface should be changed.
A possible starting point for a new matmul is the following code:
def xp_hermitian(x):
    xp = cuda.get_array_module(x)
    return xp.swapaxes(x.conj(), -1, -2)

class MatMul(function.Function):
    def check_type_forward(self, in_types):
        type_check.expect(in_types.size() == 2)
        if not in_types[0].value.dtype in (
                numpy.float32, numpy.complex64, numpy.complex128):
            raise TypeError(in_types[0].value.dtype)
        assert in_types[1].value.dtype in (
            numpy.float32, numpy.complex64, numpy.complex128)
        type_check.expect(
            in_types[0].ndim >= 2,
            in_types[1].ndim >= 2,
            in_types[0].shape[:-2] == in_types[1].shape[:-2],
            in_types[0].shape[-1] == in_types[1].shape[-2],
        )
    def forward(self, x):
        xp = cuda.get_array_module(*x)
        result = utils.force_array(x[0] @ x[1])
        return result,

    def backward(self, x, gy):
        grad_x_0_star = utils.force_array(gy[0] @ xp_hermitian(x[1]))
        grad_x_1_star = utils.force_array(xp_hermitian(x[0]) @ gy[0])
        return grad_x_0_star, grad_x_1_star

I agree that matmul should have the same interface as that of numpy. We want to keep the interface during v1, so it is good to make this change for v2. It would be better to leave the current matmul with a different name to make the migration to v2 easy.
The above implementation looks good as a starting point, except the use of @ operator that is not supported by Python<3.5.

If I understand it correctlly, the behavior of the new matmul (#2426) is as below:
new matmul: (2, 3), (3, 4) -> (2, 4)
new matmul: (2,),   (1, 4) -> error  # different from numpy
new matmul: (2, 3), (3,)   -> error  # different from numpy
new matmul: (5, 2, 3), (5, 3, 4) -> (5, 2, 4)
new matmul: (5, 2, 3), (5, 3)    -> error  # different from numpy
new matmul: (5, 3),    (5, 1, 3) -> error  # different from numpy

So, it reduces functionality and starts to raise more errors than before?

I would call it consistent with numpy. It droppes some operations and adds others.
Here all your examples executed with numpy:

>>> def test(shape1, shape2):
...     return (np.zeros(shape1) @ np.zeros(shape2)).shape
>>> test([2, 3], [3, 4])
(2, 4)
>>> test([2], [1, 4])
Traceback (most recent call last):
...
ValueError: shapes (2,) and (1,4) not aligned: 2 (dim 0) != 1 (dim 0)
>>> test([2, 3], [3])  # this does not work in the new version
(2,)
>>> test([5, 2, 3], [5, 3])
Traceback (most recent call last):
...
ValueError: shapes (5,2,3) and (5,3) not aligned: 3 (dim 2) != 5 (dim 0)
>>> test([5, 3], [5, 1, 3])
Traceback (most recent call last):
...
ValueError: shapes (5,3) and (5,1,3) not aligned: 3 (dim 1) != 1 (dim 1)

Oh, sorry. I didn't notice input shapes are different between numpy.matmul and chainer functions in your original post. You're right.


edit setting

hi,
how can i edit the ' hide very common' by myself?

Wondering the same

"hide very common" option is not implemented yet #3
for configuration see #18

Now the functionality is working. Next func i want to add is custom pokemon hidden list.

Honestly props to you man , all I did to hide my unwanted Pokemon was locate the app via ifile and deleted the unwanted Pokemons sprites lol loving the tap and hold feature is there any chance we could get multiple area scans ? Or is that just too Farfetch'd lol


[FEATURE REQ] AzureOpenAI support json_schema in response_format

API Spec link
https://github.com/Azure/azure-rest-api-specs/blob/ba268c5654f002bc17914e0bc157f19529f1fec1/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-07-01-preview/inference.json#L3726
API Spec version
new
Please describe the feature.
as OpenAI release the json_schema support in https://openai.com/index/introducing-structured-outputs-in-the-api/ , it would be greate if Azure API can support this feature.

@yuanzhuangyuanzhuang Please help take a look, thanks.

https://azure.microsoft.com/en-us/blog/announcing-a-new-openai-feature-for-developers-on-azure/
is this working?

Any ETA on this? Documentation says its active but it is not....


Catch exceptions in main()?

I expect that exception handling is usually supported by a C++ program. I wonder why your function "main" does not contain corresponding try and catch instructions so far.
How do you think about recommendations by Matthew Wilson in an article?
Would you like to adjust the implementation if you consider effects for uncaught/unhandled exceptions like they are described by Bruce Eckel?

Performance is not an issue with C++11, C++14. We use exceptions only in the parts of the code related to filesystem, so we do not plan to put catch in main.
At the same time everyone who want to protect their code and want to use exceptions can put try / catch in GameMain, and enclose the whole game into try / catch.

Would you like to reconsider consequences from implementation-defined behaviour?

Engine itself it very stable, we have more than 99% crash-free users on all platforms (including Android with more than 10k different devices) in quite big MMO game that is developed on the engine.
Could you explain why do you think it's so important?

How do you think about to look at the referenced information sources once more?
On which implementation-defined behaviour would you like to depend on in your software applications?

I went through all of them.
Catching of the exceptions on top level, leads to catching all problems and missing them. In our case it means that we should capture everything, and do something with those exceptions.
Either we should develop own method of sending crashes and faults to us, or we should rely on services like Fabric.io(Crashlytics) or Hocker.app. Those services catch all crashes and send them to us.
We do not see reasons why we should catch everything in main, avoiding crashes and problems, instead of getting the crashes in Crashlytics and fixing them. For the user there is no difference, exception is failure and crash is the same type of failure.
So we believe that exceptions should be handled manually by the game developer. If you want to use Crashlytics, or Hockey.app you'll be able to use them, because engine is not forcing you to something. At the same time you can do that yourself.


Snowflake scripting/queries with semicolon

Which version and edition of Flyway are you using?
Flyway Community Edition 9.1.2
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
I cannot see any release notes about Snowflake in 9.2.0
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line via docker.
Which database are you using? (Type & version)
Snowflake 6.29.0
Which operating system are you using?
alpine docker image
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
I am using Flyway to execute repeatable migration containing Snowflake scripting (introduced with version 6. Example:
DECLARE
    number_proj := 10;
    env_que := 'TEST';
BEGIN
    EXECUTE IMMEDIATE ('
    INSERT INTO TEST_FLYWAY_SYS_2."${table_pro}"
        VALUES
        (' || :number_proj || '}, ''https://${url_pro}/blank''),(11,''${cert_pro}''),(12,''${serial_pro}'')
END;

It is just the simple one, where it is easy to get rid off the DECLARE block, but we want, for example, to use it as well for procedurs to declare variables with thert types.
What did you expect to see?
Successful query execution.
What did you see instead?
It fails after finding first semicolon character.
DECLARE
    number_proj := 10
Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error:
syntax error line 2 at position 21 unexpected '<EOF>'.

Do you know, when v6 and SF scripting will be supported or you have any trick to solve this issue/force Flyway to treat it as a single SF query?

Ok, I was able so far to make it working with below workaround, but if you will have something more elegant, please let me know.
ALTER SESSION SET AUTOCOMMIT = TRUE;

EXECUTE IMMEDIATE $$
DECLARE
    number_proj := 10;
    env_que := 'TEST';
BEGIN
    EXECUTE IMMEDIATE ('
    INSERT INTO TEST_FLYWAY_SYS_2."${table_pro}"
        VALUES
        (' || :number_proj || '}, ''https://${url_pro}/blank''),(11,''${cert_pro}''),(12,''${serial_pro}'')
END;
$$
;

Closed by https://github.com/flyway/flyway/commit/ca90c2edeb523119415e187ac46f6a1e2f5248a8

many thanks!


Improve type definitions

This pull request addresses a few issues I stumbled upon while trying to move from my hand-written types to the types in this repo.    It's by no means complete (there were more issues), but I'm stuck in the process due to some other issues (see #10), so I figured I'd open a merge request with what I already got.
Recommended review is commit by commit, as every commit addresses one problem.

I've turned this into a draft as now that I've overcome #10 I'll a few more fixes ready.

I think I've fixed all errors I've hit in my extension, see https://github.com/swsnr/gnome-shell-extension-picture-of-the-day/pull/38

@schnz Happy new year as well 🎆
I've addressed your remarks 🙂

Thank you ❤
Would you be so kind as to push this change to npm with a new version? 😇

Thank you for the PR!
I had some trouble with figuring out the a working ~/.yarnrc.yml config file.
The new version is available now<EMAIL_ADDRESS>or @latest)

Thanks 🙏🏿


ctor patterns

I'm seeing this pattern all around in samples:
ctor() {
   dialogs.Add(/* bunch of code */);
   dialogs.Add(/* bunch of code */);
}

In samples, the objects that you use for adding to dialogs are simple. Now I'm working in a real prototype, using DI, and having so much code in the ctor can cause lot of problems. I'd rather have another pattern for initializing the dialogs. I assume this is for "simplistic" reasons, but I feel having so much work done in the ctor is not right ...
In the IBot classes, I moved the initialization code to the OnTurn (for the moment, I checked a new class is created in each turn anyway). But in the DialogContainer classes there is no room for extension, so applying same mechanism is not possible, unless I create my own DialogContainer from scratch.

can you send me an email to frankjperez|at|yahoo|dot|es ?? I can share my sample with you

@franperezlopez , I'm probably not understanding your issue entirely. There are two options that come to mind.
public class MyDialog : DialogSet
{
    public MyDialog1()
    {
        Add(/* id, IDialog */);
        Add(/* id, IDialog */);
        Add(/* id, IDialog */);
        Add("main", new WaterfallStep[]
        {
            // define you mail dialog here.
        });
    }
}

Those IDialogs can be simple prompts, or they can be another dialog defined as a DialogContainer.

This has shipped now and the surface area is fixed other than additive changes.
One interesting area is that we have started looking at how interruption can be integrated in the dialogs e.g. Help and Cancel. This has switched the focus to ComponentDialogs which have their own internal stack. In terms of dependency injection patterns this might be a productive place to start.


Only arrow functions & prefer-arrow-callback are not the same thing

I think only-arrow-functions and prefer-arrow-callback are different things.
The ESLint prefer-arrow-callback doesn't turn all functions into arrow functions, just those used as callbacks.
var foo = function foo(a) { return a; }; would be valid in the ESLint one but invalid in the TSLint one.

I think all the rules will vary slightly. The table is there mainly to try to give an option as to what we can use for the eslint rule. The only-arrow-functions rule has the option "allow-declarations" but I think this would only allow:
function foo(a) { return a; }

and not what you mentioned.
Haven't tried it yet. Either way, the rule doesn't seem that complicated. I'll see if I can get it done this weekend.

Cool, thanks for the response.
On Wed, Nov 23, 2016 at 10:58 PM Manuel Lopez<EMAIL_ADDRESS>wrote:

I think all the rules will vary slightly. The table is there mainly to try
to give an option as to what we can use for the eslint rule. The
only-arrow-functions rule has the option "allow-declarations" but I think
this would only allow:
function foo(a) { return a; }
and not what you mentioned.
Haven't tried it yet. Either way, the rule doesn't seem that complicated.
I'll see if I can get it done this weekend.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/buzinas/tslint-eslint-rules/issues/139#issuecomment-262685165,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB34tJFe3Y6dnE9i180pUEpxKtVuAE1oks5rBQuBgaJpZM4K7LK0
.

@emp823 v3.1.0 has been released, you can use https://github.com/buzinas/tslint-eslint-rules/blob/master/src/docs/rules/terPreferArrowCallbackRule.md

awesome, nice work @jmlopez-rod


Update ru_ru.lang

Now without conflict

Guys, it would be nicer of you discuss in English so I can follow along.

@raoulvdberge If you have some questions, feel free to ask

If you would speak in English, I wouldn't have any questions, that's why I'm asking ;)
It's to avoid me asking "is it fine now" before I can merge.

@raoulvdberge Thanks to @Bytegm this translation is done. It contains much better formulation and it is more accurate than it was before.
Now it can be merged.

Thx to both of you!


Issue BHA-87

Closes BHA-87. Involves creating a preliminary test setup for this repo. At the moment, Jira is not integrated with either this Git repo or with the CircleCI test server. See here for the CI server.

Sorry, this was meant to go elsewhere.


Add the timezone in the now, if span_date has a timezone

Refers to #54

I wanted to a test like that:
    def test_aware_datetime(self):         doc = AnnoDoc(" trade Date: Fri 29 Sep 2018 13:31 BST Source: Express")         doc.add_tier(self.annotator)         self.assertEqual(             doc.tiers['dates'].spans[0].datetime_range,             [datetime.datetime(2018, 9, 29, 13, 31, tzinfo=<StaticTzInfo 'BST'>),               datetime.datetime(2018, 9, 30, 13, 31, tzinfo=<StaticTzInfo 'BST'>)])
But, the tzinfo doesn't work and it seems that if I want to add a timezone to a datetime there is an obligation to use another package (pytz. It seems not the best thing to add a new package just for a test. So I'll see what I can do to avoid that.

Thanks!


Document even more things!

This PR adds Doxygen documentation to a whole lot of things. How many things? I can't quite say, but the current CI Doxygen log is 5052 lines long while the CI Doxygen log for this PR is only 2991 lines long - so quite a few warnings have been taken care of. Plenty still remain (651, by my count of just the STDERR log), but this is still a pretty big step forward.

@kring pointed out that the ideal here is that we get Doxygen warnings to zero, so we can then start treating them as errors which will help make sure we keep the docs up to date going forward. I think that's an achievable goal, so I'm making this PR a draft for the moment while I work on that.

And with that, every remaining warning has been resolved!


Commands do not work

Command do not work, here is console errors:
Level command:
[LOG] ERROR: song does not exist - Server Response: undefined
/app/commands/level.js:156
songTrim = body.split('#')[2] //Credits to Colon and a few members from GDP for explaining what i need to do for this
^
TypeError: Cannot read property 'split' of undefined
at Request.callback [as _callback] (/app/commands/level.js:156:17)
at self.callback (/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:400:28)
at Request.onRequestError (/app/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:400:28)
at Socket.socketErrorListener (_http_client.js:475:9)
at Socket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
Profile command:
/app/commands/profile.js:119
} else if(data['youTube'].length < 15){
^
TypeError: Cannot read property 'length' of undefined
at Request.callback [as _callback] (/app/commands/profile.js:119:27)
at self.callback (/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:400:28)
at Request.onRequestError (/app/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:400:28)
at Socket.socketErrorListener (_http_client.js:475:9)
at Socket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
Leaderboard command:
/app/commands/leaderboard.js:93
split = body.split('|')
^
TypeError: Cannot read property 'split' of undefined
at Request.callback [as _callback] (/app/commands/leaderboard.js:93:14)
at self.callback (/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:400:28)
at Request.onRequestError (/app/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:400:28)
at Socket.socketErrorListener (_http_client.js:475:9)
at Socket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21

Sorry, just a typo.


Registry tool: registry apply should infer the --parent from values set in configuration

Created a registry configuration using

    --registry.address=apigeeregistry.googleapis.com:443 \
    --registry.insecure=0 \
    --registry.project=<gcp-project-name> \
    --registry.location=global

Tried to run registry apply command

/tmp % registry apply -f openapi-sample.yaml
  INFO[0000] Applying openapi-sample.yaml uid=92b5f12e
 FATAL[0000] Task failed: apply file openapi-sample.yaml error=invalid project name "": must match "^projects/([A-Za-z0-9-.]+)/locations/global$" uid=92b5f12e

Expected:
registry apply should use the current active configuration and the parent parameter should be optional.

Fixed by #783

Verified with a test change in #784.


Allow custom clients to be created

This simply allows the following
class MyClient extends Client {}

class MyServer extends Server
{
    protected static function createClient($socket)
    {
        return new MyClient($socket);
    }
}

Had to be static because the onReadable callback is static.

Yep, either $this or static ;-)
I'm fine with this, but maybe @rdlowrey can comment too…?

Personally I would prefer ´$this` over a static call, lets see what others say ;)

Why do you want to extend those classes? I don't think they should be extended.

They're not final!
Adding an encryption layer to the clients and I just felt like proxying everything was a bit overkill.
If you feel it's not a good fit, you're under no obligation to merge, obviously.

Encryption is a good point, but I think you should just inject the client instead of extending it. Maybe a common interface would be of use then?

Maybe we should make them final. ;-)

I don't think an interface would help me personally, but you're right I probably shouldn't be extending these classes.


pty.js errors with recent build of nodejs?

I've been running a legacy virtual machine for some time and rebuilt it today with presumably a new version of nodejs that is causing the following error when trying to run tty.js:
Error: Execution of '/usr/local/bin/npm install --global tty.js' returned 1: ><EMAIL_ADDRESS>install /usr/local/lib/node_modules/tty.js/node_modules/pty.js
==> tm351lts: > node-gyp rebuild
==> tm351lts:
==> tm351lts: gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/vagrant/.node-gyp/0.12.0"
==> tm351lts: gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/tty.js/node_modules/pty.js/.node-gyp"
==> tm351lts: child_process: customFds option is deprecated, use stdio instead.
==> tm351lts: make: Entering directory `/usr/local/lib/node_modules/tty.js/node_modules/pty.js/build'
==> tm351lts:   CXX(target) Release/obj.target/pty/src/unix/pty.o

Any pointers for a workaround much appreciated.

That's an odd error message, but tty.js was using an old pty.js version. I quickly updated it just now. Try again.

This is most probably because you're trying to install a global package but you don't have write permissions.
To solve it I recommend configuring NPM not require sudo. However, you can still do it with root access.

Thanks @IonicaBizau. Closing for now.


Update GC TTL info in Storage Layer docs

Fixes #6505.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/8f104365ae26f6d118e21437de8bbc3f2b5929f9/
Edited pages:

v19.1/architecture/storage-layer.md
v19.2/architecture/storage-layer.md
v20.1/architecture/storage-layer.md

@mattcrdb take a look - FWIW I removed the hardcoded value, so this page should never be wrong (about this) again.

Looks great!
Thank you


Document VPN onboarding

Migrated from GitLab: https://gitlab.com/meltano/handbook/-/issues/67
Originally created by @kgpayne on 2022-03-02 10:53:19

With the new Data VPN set up, it would be good to add onboarding documentation to the handbook.

View 13 previous comments from the original issue on GitLab


Table component

Demo:
https://user-images.githubusercontent.com/31896377/223609087-2349c8a9-b133-4b69-9a20-08fbccca3618.mov
Tanstack has a lot of other features we can implement for the table as evidenced by their examples in their docs (see screenshot), but we can add support for those as we go. This is a good base table for now

Task linked: CU-2q4pwuv Table Atom


Add dependency to mixture

This is for #5. @mfp do you want to test it, so that it is double-checked?

Just verified opam does install it correctly (after the mixture 0.2.0 dependency).
BTW, I'm using a git pin (opam pin -k git add rashell local/path#branch), so I had to patch opam/opam to add the ["autoconf"] line. I can see you closed #2 by documenting the need to run autoconf manually before the local pin, but that applies neither to git pins nor to installs via the regular OPAM repository (you'd still need to make sure the configure script is included in the tarball).

Thanks!


ci: release 0.2.1

:robot: I have created a release beep boop
0.2.1 (2024-07-10)
Bug Fixes

drop internal ingress integrations (fd4b5ed)
drop offer (6d220b6)
drop usage of data.juju_offer due to how it creates map (e95946c)
flatten down juju integrations (a3fb82b)
introduce outputs for the offers (2f8b2a4)
pass config to applications via var (3e88585)
remove obsolete juju provider def (a0eecd7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/canonical/iam-bundle-integration/releases/tag/v0.2.1 :sunflower:


Optimize _approve and add test

Saves 20 gas.
Push back test coverage back up to 100%.

Can you wait for code reviews before merging in?

Ok


Pyth PER testnet integration

Need to deploy this on a supported testnet and generate a liquidation.
https://pyth-network.notion.site/Protocol-Explainer-PER-for-liquidations-98dc536e2c734c5ea6206b32f809e6ee
https://pyth-network.notion.site/Express-Relay-Integration-Docs-for-Protocols-v1-9b5072a0965442f8a3c95371fa7110f2

Getting familiar with Pyth Express Relay Docs, Had a sync with Pyth Devs to clarify a few things about the permissioning mechanism.

Strategized implementation of PER in the context of Ionic Contracts, became familiar with liquidators

Created a new branch and started implementation of PER into the code, Need to decide where relay fees will be received

On testnet can be any random wallet.

Yesterday: Pushed branch for PER Integration, decided on IonicLiquidator for accepting Relay Fees. Today: Will begin process of deploying contracts on Optimism Sepolia in order to test out the express relay

Yesterday: Withdrawal function created and began familiarizing with deploy scripts, today will begin testnet deployments

Working out a few issues with getting monorepo set up, will consult with the team on how to move forward

Resolved a few of the monorepo issues, requested .env file from team to proceed with deployments

Figured out most of configuration for sepolia deployment, will consult with team today for a few more details and then run the deployment

Consulted with Pyth team to clear up testing methodology, tried to run deploy scripts within monorepo

Contracts are now on optimism sepolia testnet, Need to set up individual markets and open a few positions

Deployed markets to optimism.

Supplied assets on sepolia deployment and initiated a borrow position.

Began to review examples of liquidation opportunity monitor by pyth and began development of the script for ionic liquidations

Continuing development of liquidation bot

Completed development of new bot, having a few issues using pyth sdk for broadcasting opportunities

Continued debugging issues with PER endpoint

Was able to submit opportunities via the pyth sdk, deployed new testnet markets as per pyth team's recommendations.


ENH: Add discourse activity to metrices

It would be nice to include activity in our Discourse forum as well.

Originally posted by @cbrnr in https://github.com/mne-tools/mne-python/issues/11975#issuecomment-1715635797

+1, @cbrnr from a very brief look you could start here: https://github.com/graydenshand/fluent_discourse
I think I have admin permissions on Discourse so if you need me to create and send you an API key to play around let me know

Thanks @larsoner, I'll take a look soonish (need to finish some things).


Added syntax highlighting for angular component templates

This PR resolves this issue: Code highlight for Angular inline template and styles
Example:
Before:

After:

NOTE:
I had to convert all Angular templates to use `` (backticks) in order to grab them easily with regex and do the replacements.

The logic behind this is:

Check if the code has "from "@angular/core"" and "selector:" - if yes treat it as angular component otherwise do the default code formatting
Separate template code from component
Highlight template code separately as html
Highlight component code as typescript
Replace template code from highlighted component code with the highlighted template code (I also remove the wrapper that shiki.js adds to template highlighted code in order for it to not add unnecessary tags to it.)
Return formatted angular component

Regex explainer: https://regex101.com/r/dzDZi8/1

Hello @matschik
I pushed what you suggested.
Can you take another look please?
Thanks

Thanks for your contribution 🙏


Update webpack

Asana task: ad-hoc
The main goal of this PR is to update Node and webpack. Node is being bumped from 14.17.3 to v18.20.1 and webpack v4.41.5 to v5.91.0. Lots of other dependencies needed to be updated to make this happen. I only updated packages that threw errors or warnings after upgrading Node and webpack.
Some notable changes (besides Node and webpack):

node-sass has been deprecated. Will now use sass as per package's recommendation.
optimize-css-assets-webpack-plugin is incompatible with webpack 5. Replaced it with css-minimizer-webpack-plugin
webpack cli no longer uses arg --watch-stdin. Now use a combo of --watch and --watch-options-stdin.

Local installation should just need a fresh asdf install and npm install. I recommend removing your node_modules and package-lock.json before installing.

This diff is huge, but 99% of the diff is the lock file.


Possibly inverted heatmaps for Score-CAM for YOLOv5

Hi @jacobgil , I'm working on applying Score-CAM on YOLOv5 by implementing the YOLOBoxScoreTarget class (so this issue is closely related with #242). There are several issues I want to iron out before making a PR (e.g. YOLOv5 returns parseable Detection objects only when the input is not a Torch tensor - see https://github.com/ultralytics/yolov5/issues/6726 - and my workaround is ad-hoc atm), but in my current implementation I find that the resulting heatmaps are inverted, e.g.:
Outputs for dog & cat example, unnormalized (L)/normalized (R):

Also observed similar trends with other images like the 5-dogs example. My YOLOBoxScoreTarget is as follows, it is essentially identical to FasterRCNNBoxScoreTarget, except it leverages parse_detections from the YOLOv5 notebook:
class YOLOBoxScoreTarget:
    """ For every original detected bounding box specified in "bounding boxes",
        assign a score on how the current bounding boxes match it,
            1. In IOU
            2. In the classification score.
        If there is not a large enough overlap, or the category changed,
        assign a score of 0.

        The total score is the sum of all the box scores.
    """

    def __init__(self, labels, bounding_boxes, iou_threshold=0.5):
        self.labels = labels
        self.bounding_boxes = bounding_boxes
        self.iou_threshold = iou_threshold

    def __call__(self, model_outputs):
        boxes, colors, categories, names, confidences = parse_detections(model_outputs)
        boxes = torch.Tensor(boxes)
        output = torch.Tensor([0])
        if torch.cuda.is_available():
            output = output.cuda()
            boxes = boxes.cuda()

        if len(boxes) == 0:
            return output

        for box, label in zip(self.bounding_boxes, self.labels):
            box = torch.Tensor(box[None, :])
            if torch.cuda.is_available():
                box = box.cuda()

            ious = torchvision.ops.box_iou(box, boxes)
            index = ious.argmax()
            if ious[0, index] > self.iou_threshold and categories[index] == label:
                score = ious[0, index] + confidences[index]
                output = output + score
        return output

I also slightly altered get_cam_weights in score_cam.py to make it play nice with numpy inputs instead of torch tensors.
import torch
import tqdm
from .base_cam import BaseCAM
import numpy as np

class ScoreCAM(BaseCAM):
    def __init__(
            self,
            model,
            target_layers,
            use_cuda=False,
            reshape_transform=None):
        super(ScoreCAM, self).__init__(model,
                                       target_layers,
                                       use_cuda,
                                       reshape_transform=reshape_transform,
                                       uses_gradients=False)

        if len(target_layers) > 0:
            print("Warning: You are using ScoreCAM with target layers, "
                  "however ScoreCAM will ignore them.")

    def get_cam_weights(self,
                        input_tensor,
                        target_layer,
                        targets,
                        activations,
                        grads):
        with torch.no_grad():
            upsample = torch.nn.UpsamplingBilinear2d(
                size=input_tensor.shape[-2:])
            activation_tensor = torch.from_numpy(activations)
            if self.cuda:
                activation_tensor = activation_tensor.cuda()

            upsampled = upsample(activation_tensor)

            maxs = upsampled.view(upsampled.size(0),
                                  upsampled.size(1), -1).max(dim=-1)[0]
            mins = upsampled.view(upsampled.size(0),
                                  upsampled.size(1), -1).min(dim=-1)[0]
            maxs, mins = maxs[:, :, None, None], mins[:, :, None, None]
            upsampled = (upsampled - mins) / (maxs - mins)

            input_tensors = input_tensor[:, None,
                                         :, :] * upsampled[:, :, None, :, :]

            if hasattr(self, "batch_size"):
                BATCH_SIZE = self.batch_size
            else:
                BATCH_SIZE = 16

            scores = []
            for target, tensor in zip(targets, input_tensors):
                for i in tqdm.tqdm(range(0, tensor.size(0), BATCH_SIZE)):
                    batch = tensor[i: i + BATCH_SIZE, :]

                    # TODO: current solution to handle the issues with torch inputs, improve
                    batch = list(batch.numpy())
                    batch = [np.swapaxes((elt * 255).astype(np.uint8), 0, -1) for elt in batch]
                    outs = [self.model(b) for b in batch]
                    outputs = [target(o).cpu().item() for o in outs]

                    scores.extend(outputs)
            scores = torch.Tensor(scores)
            scores = scores.view(activations.shape[0], activations.shape[1])

            weights = torch.nn.Softmax(dim=-1)(scores).numpy()
            return weights

To me the implementations seem correct, and therefore I am not able to address why the resulting heatmaps seem inverted. Any ideas? I'd be happy to make a branch with a reproducible example to debug and potentially extend it to a PR. Please let me know.

Hi @semihcanturk , Any progress on this issue so far?

@mahendra-gehlot unfortunately I haven't dug deep into the code to figure out what's the underlying issue, but have noticed something interesting. It seems the heatmaps are correct for yolov5s, but inverted for yolov5n/m/l. Furthermore, this exclusively affects EigenCAM, ScoreCAM does not suffer from this for any model I've tried. Here are the outputs for n/s/m + ScoreCAM (n) for  for example:

YOLOv5n
YOLOv5s
YOLOv5m
YOLOv5n (ScoreCAM)

This also relates with @syncsyncsync 's solution, which doesn't really explain why it works for yolov5s and ScoreCAM which uses the same image load/save pipeline. I have no intuition yet into why this is happening, but it may prove a good starting point for debugging (for which I may not find sufficient time in the near future I'm afraid).

I don't know exact reason. But when I used Scipy SVD function, I solved this.
You should change SVD in get_2d_projection function.


CSS no longer returns compressed

I'm using a v99 self-hosted setup
(our Dockerfile https://git.archive.org/www/esm/-/blob/main/Dockerfile )
Our prior v77 version was doing brotli compression for CSS and JS files.
v99 still does this for JS files (yay) but not CSS files anymore, eg:
https://esm.archive.org/<EMAIL_ADDRESS>Thanks for any help restoring this!

thanks I will look into it

thanks!   And FWIW my devops mate says same for imagery, too (eg: svg, gif..)

do you run the server behind a reverse proxy like Nginx？

Please try to use https://github.com/ije/esm.sh/commit/254319ff35c6e90b4d43c4215b6a57c015b964e9, i just fixed compression of static content. Thanks!

Thanks so much for the crazy fast reply and work!
Giving it a try now -- will report back and push to live if looks good...

Verified getting CSS & JS replies w/ brotli again, thanks!
Pushed it live to our self-hosted system.
I haven't seen compression for imagery (png, svg) in various testing so far.

the server only compresses text file(js/css/svg/eg.) and the file size must larger than 1024 bytes
the gzip/br can not reduce size too much of compressed file like image and mainly it costs lot of cpu both in server and client

a perfect, that makes sense.  verified a > 1k .svg is brotli compresses when asked via headers now, too, for our live self-hosted system.
thanks so much!

ok, that makes sense, thanks.  i added a CI/CD test to check brotli for a larger svg we had.  thanks for the speedy work and replies!


Debug tasks section lacks example for launching a remote debug session

I couldn't find any documentation on how to create a lunch task to start a process on remote server (Linux) & immediately attach a debugger.
I can start a process on remote server using custom task and I can attach debugger to running process on such server using GUI but I'd like to see documentation on how to create a task / lunch task to do both of these things at once.

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

ID: 19f6ef2c-e616-bf4c-6de4-1448814e4f73
Version Independent ID: b223e86b-b0d8-3a78-3fe5-0938e6641042
Content: Customize build and debug tasks in Visual Studio using tasks.vs.json and launch.vs.json - Visual Studio
Content Source: docs/ide/customize-build-and-debug-tasks-in-visual-studio.md
Product: visual-studio-dev15
GitHub Login: @gewarren
Microsoft Alias: gewarren

I'll ask about this.

@petrroll:
What kind of debugger do you want to use? (ex: C/C++, node, etc)
To make sure I understand, you want to launch the process under a debugger and immediately start debugging the code, right?
Assuming I have that right - what you want to do is configure launch.vs.json to launch the process you want to debug under a debugger on the remote Linux box. But the exact details of how that works will depend on what kind of code you want to debug.

Ok, my use-case is following. I have a local Windows box with Visual Studio 2017, a remote Linux VM, and a Linux C app (compiled with GCC) with source code both on my local Windows box & the Linux VM (I keep the sources synchronized, but that's not relevant).
I want to be able to launch and debug (not necessarily copy sources & build) my app on the Linux VM using Visual Studio debugger from within the Windows box.
Visual Studio supports attaching debugger (some gdb adapter) to a remote (native) process via ssh. I know how to do that but for it to work I need to SSH to the Linux VM first, start the process, and then through VS GUI attach its debugger to the process (VS is then able to download all required header files, … and it works flawlessly). I'd link documentation for this feature but TBH I can't find it anywhere (1).
Visual Studio (for projects opened as folder) also supports creating custom tasks for projects opened as folders via launch.vs.json and tasks.vs.json. Both of these also support remote tasks. I know how to copy my source files from my local Windows machine to the remote one, I also know how to run arbitrary shell command on the remote machine. I know how to theoretically start the process on the remote machine through custom task. The issue is twofold.
First, creating a task that starts the process works but since the task only redirects output but doesn't give me full terminal I have no easy way to kill the process.
Second, which is way more important, I can't attach the Visual studio debugger using a (shell or otherwise) command on the remote machine. And I don't know how to create a task that would instruct Visual studio to do the attach to remote process it just started on the remote machine.
I know it's a bit longer but I wanted to be clear. If something isn't clear yet feel free to ping me at t-pehous or we can grab a lunch sometime (I'm at Redmond campus ATM).
(1) On that note, when my team investigated debugging Linux apps from Windows we actually almost went for the VisualGDB extension. I stumbled on the fact that VS can do that natively only by accident and even though it might be documented somewhere it's definitely not advertised.

Finishing my internship this week so ping me here instead of my alias in case of any questions.

@petroll BTW, since you mentioned you couldn't find any docs on Linux debugging from VS, there's an article on remote debugging C++ on Linux here:
https://docs.microsoft.com/en-us/cpp/linux/deploy-run-and-debug-your-linux-project?view=vs-2017
That doesn't help with creating a custom launch task, though.

I've seen this article but it's about debugging a project based solution not a folder based solution. Generally it seems to me that there's a bit of confusion in regards what's possible on what types of "solutions" (project based, folder based, Linux, windows, …). Fortunately it seems that more than documented is usually possible.

@Mikejo5000 I'm reassigning this to you since you've been more involved in this one.

I'm coming back to MS as intern in three weeks, so I'm happy to chat about it again. That said, I think most of aforementioned issues could be "solved" (or rather avoided) with the new VSCode remote stuff.

VSCode remote is great and definitely cleaner (it is what I do on my workstation for debugging) But it shouldn't be the case that we have to use it simply because the documentation for features that the VS developers spent time on is insufficient.
I've linked to this issue from another related issue on which I've given an example of what I feel is missing from the docs for remote debug using open folder instead of CMake, which seems to be the issue described here.

My original request would've been 98 % solved by VSCode's remote capabilities (or its equivalent for VS if/when it comes).

This topic has been updated for launch configurations for open folder:
https://docs.microsoft.com/en-us/cpp/build/open-folder-projects-cpp?view=vs-2017
Per MicrosoftDocs/cpp-docs#836, is that enough info to configure for the remote scenario?

Seems ok, thanks!

OK, thanks. I'm adding a link to the C++ topic from this open folder topic in VS.


[Backport] Snapshot Status API changes

Description
Cherry-pick following commits from 2.x

#15595
#15642

Check List

[x] Functionality includes testing.
[ ] ~API changes companion pull request created, if applicable.~
[ ] ~Public documentation issue/PR created, if applicable.~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Conflicts in following files while cherry-picking #15595 :
CHANGELOG.md
server/src/internalClusterTest/java/org/opensearch/snapshots/SnapshotStatusApisIT.java


Auto resize on height 100%

Can you implement automatic render to change the screen height? The container remains the same as the height of the browser window is changed.

https://github.com/DDroll/ng2-slimscroll