Wine 9.0 flatpak not working with flatpaked dxvk

Since the wine flatpak was updated to 9.0 the flatpaked version of dxvk no longer works (https://github.com/flathub/org.winehq.Wine/issues/119).
The flatpak version works by marking the dlls as builtin using winebuild --builtin and using the WINEDLLPATH env var to have wine preferentially load them if the org.winehq.Wine.DLLs.dxvk package is installed.
Fiddling around with WINEPATH and WINEDLLOVERRIDES it seems that I can get it working so long as all the following are true:

The dll overrides are set to native: WINEDLLOVERRIDES='d3d9,d3d10core,dxgi,d3d11=n'
The dxvk dll locations are in wines PATH: WINEPATH='/app/dlls/lib32;/app/dlls/lib'
The dlls are not flagged as builtin
The the original dlls don't already exist in windows/system32 etc.

My question is firstly what changed between wine 8 and 9 that caused loading dxvk as builtin to not work.
And secondly whether there is a more appropriate way to package DXVK.
Personally I'd prefer being able to enable/disable them by editing only WINEDLLOVERRIDES rather than having them used whenever they're installed.

Just for clarity. None of the devs maintain the flatpak nor use it.
Builtin in the case of Wine usually means to use the DLLs shipped with Wine it self which for Direct3D would be wined3d not dxvk

Understand it's not maintained by the devs I just thought that posting here would have the highest likelihood of a insightful response.
The wine flatpak defines the env variable WINEDLLPATH and the dxvk extension places the dxvk dlls in that path.
So if the extension is installed wine loads dxvk as builtin and ignores wined3d.
Since Wine 9.0 this fails. Does dxvk depend on being builtin wined3d in some way?

Gotcha. Didn't know about those.
I tried locally (not flatpak) to play with both winebuild --builtin and WINEDLLPATH but couldn't get Wine to load the dxvk DLLs as builtin with either Wine 7, 8 or 9.

@ColinKinloch Are you still having this issue to this day?

I'll need to check.
The wine flatpak has been updated to the 24.08 version of the platform. Whereas the dxvk extension is still on 23.08, so isn't loaded.
If it doesn't work I guess it won't get updated to 24.08 which solves the issue :)

I checked and it's still an issue.


Add bitcoinjs-lib test comment

azle/examples/bitcoinjs-lib/test/pretest.ts does an unexpected npm install on a sibling project. Please add a descriptive comment for newcomers to the codebase, as this is not an obvious thing.

We were able to fix this in https://github.com/demergent-labs/azle/pull/1782 by adding the sibling project as a dependency in the package.json and by preserving symlinks in the azle build process, the tsconfig and ts-node


Add reason to show underage participants of activity

Currently, showing underage participants at an activity requires no statement of reason. However, since you are using personal details it is likely that this is in fact required - considering that more often than not other personal details are shown based on this filter.

I assume you mean adding a reason for usage similar to the reason for export? I personally think this filter should be restricted to board only (which do not require to enter a reason for viewing registrations, only export).
Active members have no regular access to birth dates other than those on the home page (opt in), thus granted them access to the filter gives more data than before. Since there are only few specific activities where this filter is used, active members should request a filtered export at the board.

The board agrees with @WKobes here and I've made a pull request which changes this


Pending collective

All data is mocked right now
group.settings.pending must be true in order to see the pending collective view rendered.

@asood123 @xdamman @sedubois

Your build ran 84 tests in junit with 0 failures

False negative, please review

It timed out and didn't run e2e tests. I restarted it.

@asood123 Could you take another look, it looks like somethings wrong with the Expenses List test
 ✖ expenses_page
   - Expenses list
     Testing if element <div[class=TransactionItem]:first-child> contains text: "Expense 2". Element could not be located. - Expected "Expense 2" but got: "null"

that's related to the expense refactor we have been working on. I'll take care of this PR after that's checked in.

@carlosascari

Your build ran 84 tests in junit with 0 failures

False negative

That report at top of circleCi only shows mocha tests, not e2e tests (so it's not a false negative, CircleCi correctly showed that an e2e test failed).


[ArmSME][test] Enable TransposeMatmulPass and peeling for e2e matmuls

ci-extra: build_test_all_arm64

Could someone land this for me? I don't have write access.
Thanks :pray:


Code fixes with additional files not working

It looks like code fixes from a roslyn analyzer aren't actually being applied.
Minimal repro project: Archive.zip. Open in VS Code with analyzers enabled ("omnisharp.enableRoslynAnalyzers": true)
This project is using Roslyn's PublicAPI analyzer. Among other things, it adds some custom code fixes to the quick-fix drop down. This is populating correctly in the UI.
But, when I execute the code fixes, nothing happens.

The log (log.txt) shows
[info]: OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.RunCodeActionService
        Applying code action: Add Class1 to public API

This should have made a change to the PublicAPI.Unshipped.txt file, but it didn't.

This code fix works correctly in Visual Studio 2019.
Details
Omnisharp version: 1.34.3-beta.22
VS Code: 1.37.1
C# extension: 1.21.1
OS: macOS Mojave
Mono: 5.18.1
dotnet: 2.2.105

Thanks for the report and the repro.
The problem here is two-fold:
a) OmniSharp doesn't apply changes to additional documents (non core source documents) when running code actions.
b) changes to additional documents are not reflected in Workspace state, which means even when a) is handled, an invoked code fix which modifies the API surface document wouldn't be picked up by analyzer engine and the diagnostic wouldn't go away
Both seem reasonably easy to fix, I think - in fact I put together a quick PoC on my machine and it seems to work fine. I will PR this in the coming days.
Thanks again for reporting.

Any update on this? Still having the same issue today. Thanks!

The branch is here https://github.com/OmniSharp/omnisharp-roslyn/tree/feature/respect-additional-files
it has to be updated to latest master, and we need to add some tests.
It hasn't been the highest priority to be honest due to other work.

any update on this? my entire dept is suffering a lack of ability to generate api documentation without using a windows machine and visual studio IDE as we've switched to Macs for developers

any update on this? my entire dept is suffering a lack of ability to generate api documentation without using a windows machine and visual studio IDE as we've switched to Macs for developers

no update

no update

I'm also running into this issue with the Roslyn release-tracking analysers.

The branch is here https://github.com/OmniSharp/omnisharp-roslyn/tree/feature/respect-additional-files
it has to be updated to latest master, and we need to add some tests.
It hasn't been the highest priority to be honest due to other work.

I've updated the branch to the latest master in #2146. If you tell me what tests are needed I can also at least attempt to add them.
I can't have this feature fast enough! :sweat_smile:

For anyone interested, we ended up executing the analyzer through dotnet format, which has actually worked out better for us overall:
dotnet format --fix-analyzers warn --diagnostics RS0016


Log Error: AttributeError: 'list' object has no attribute 'object_key'

The problem
I just updated from b4 to b7 and started receiving the error in the logs 10 minutes after triggering the first occupancy.
Observations:

The occupancy status failed to clear after the first 10m but did eventually clear after an addition 10min (20min total).
The error continues to be logged each time the occupancy status changes
The error delays occupancy status changes
Same issue occurs with the b5 version
Issue goes away and the occupancy status is once again responsive after reverting back to the b4 version

What version of this integration (ha-nest-protect) has the issue?
0.4.0b7
What version of Home Assistant Core has the issue?
2024.11.3
Device / Model
Nest Protect Smoke and CO Detector Topaz-2.33 Firmware: 3.5rc3
Diagnostics information
No response
Home Assistant log
Logs
This error originated from a custom integration.

Logger: custom_components.nest_protect
Source: custom_components/nest_protect/__init__.py:208
integration: Nest Protect (documentation, issues)
First occurred: 6:43:03 AM (2 occurrences)
Last logged: 6:48:03 AM

Unknown exception. Please create an issue on GitHub with your logfile. Updates paused for 5 minutes.
Traceback (most recent call last):
  File "/config/custom_components/nest_protect/__init__.py", line 208, in _async_subscribe_for_data
    dict(b, **buckets.get(b.object_key, {})) for b in [data.updated_buckets]
                          ^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'object_key'

The error continues to make log entries:
This error originated from a custom integration.

Logger: custom_components.nest_protect
Source: custom_components/nest_protect/__init__.py:208
integration: Nest Protect (documentation, issues)
First occurred: 6:43:03 AM (6 occurrences)
Last logged: 7:08:04 AM

Unknown exception. Please create an issue on GitHub with your logfile. Updates paused for 5 minutes.
Traceback (most recent call last):
  File "/config/custom_components/nest_protect/__init__.py", line 208, in _async_subscribe_for_data
    dict(b, **buckets.get(b.object_key, {})) for b in [data.updated_buckets]
                          ^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'object_key'

Additional information
No response

I think this is a duplicate of #338


Create a menu bar.

[ ] Home
[ ] About
[ ] Terms of service
[ ] About information
[ ] Repository on GitHub

For the time being, a side bar is not needed because the number of links which should be placed on the page is not so large.


Use of evaluate function

i am using evaluate function in robot framework to evaluate 6 * 0.05 it is giving me an output of 0.30000000000000004 , can someone explain why this is happening?
I need an output of 0.3 but not 0.30000000000000004

You need to round it, as you have a operand with 2 decimals, probably you
should round to 2 representative decimals:
In [6]: 6*.05
Out[6]: 0.30000000000000004
In [7]: round(6*.05,2)
Out[7]: 0.3
Regards
Julio
El mié., 24 de abr. de 2019 a la(s) 10:11, mruds1101 (
<EMAIL_ADDRESS>escribió:

i am using evaluate function in robot framework to evaluate 6 * 0.05 it is
giving me an output of 0.30000000000000004 , can someone explain why this
is happening?
I need an output of 0.3 but not 0.30000000000000004
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/robotframework/robotframework/issues/3161, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFDU4HJSXSTG42NFULS2VDPSBTBZANCNFSM4HIEKFVA
.

This in not issue of RF but python itself - even more - floating point operations just works like this on computers

Yes, floating point math is hard:
https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/

If you want to avoid the problems of floating point math, you can use decimal module in Python. You probably can use it via Evaluate, but if you need anything more complicated I'd recommend you to create a custom library instead.


Enums without type set, don't display even though valid

Enhancement
As a user/developer, when I try to display an enum field that doesn't have the "type" set
Expected behaviour
I expected the enum to display, even without the type set to something like "string"
Actual behaviour
It actually doesn't appear, and I don't see any error that the field is not understandable / not being displayed
json schema validators like ajv seem to not think the type is required on enums. Also on this doc https://spacetelescope.github.io/understanding-json-schema/reference/generic.html, it says "You can use enum even without a type, to accept values of different types..."
@json-schema-form/angular-schema-form-lead

@mark007 What would you expect to see displayed, I assume you are meaning without defining something in the form schema by using "*"?
Say for their example: "enum": ["red", "amber", "green", null, 42]?

Hi Anthropic. Heres a gist example (I'm getting good at this ;) ) http://schemaform.io/examples/bootstrap-example.html#/bf745ed6e106ab3343bc3b9d291c4806
Would you have hoped the field to appear in this case, or is it by design that it doesn't show up in these cases.

Thanks @mark007, the problem is knowing what and how to display it, json-schema is not a spec with any form structure in mind at all, quite the opposite in fact, I am working with the people behind it to try and formalise some rules around that, but for now it really only considers data model and validation which makes things hard for frameworks generating a ui.
The reason I asked about "enum": ["red", "amber", "green", null, 42] is that without a type, I can't know what form element the user intends to display, maybe a drop down, maybe a text field, radios, an enum can contain any type, what if there are objects in it, it can get very tricky very quickly...
If you are only going to have string, numeric and null values, you can add in a type attribute coercion function with minimal effort, check out
setting-up-schema-defaults which should work, but I ahven't tried it so no promises, in fact if you try it and it doesn't work that is something I would definitely look at adding. In fact I could add it as an option to turn on and off I suppose, but you may have to use the workaround for now.

Ah yes now I see, thanks for the explanation. I will try out the defaults at some point. My only concern in general is there many be understandably many of these cases where the form may perhaps not show a field and the user may receive no hint or error as to why the model of the data is not validating later against say an ajv validator. Thats the only place I could see a possible improvement, ie a general way to inform that the form couldn't be displayed to completely allow them to generate the required data.
I guess those validators would show the fields that were missing I guess the user could use that to tell them what the form wasn't able to help them generate I suppose.
Thanks for the explanation.

I agree it should probably be triggering a warning at least that there are fields not rendered, not sure about showing the end user that though, although a flag could conceivably allow that to be a developer choice.


[RFC] consider logging all raw sensor data at a minimal rate

For better understanding a system from logs alone it would be extremely helpful to see all sensor topics by default even at a minimal rate (1 Hz). This is also relevant for preflight failures (eg https://github.com/PX4/Firmware/issues/13378#issuecomment-552558546).
Let's see what this would actually cost.

Comparison to current master.
default logging rate (fmu-v3 with 3 IMUs)
[logger] Wrote 1.44 MiB (avg 35.55 KiB/s)   <-- master
[logger] Wrote 0.90 MiB (avg 36.61 KiB/s)   <-- PR

PID COMMAND                   CPU(ms) CPU(%)  USED/STACK PRIO(BASE) STATE FD
761 logger                       2827  2.797  3088/ 3644 233 (233)  READY  4   <-- master
761 logger                       2363  3.096  3128/ 3644 233 (233)  READY  4   <-- PR

@PX4/testflights could you give this a quick flight on any platform? I'm looking for a short log from a real flight to compare with master. Thanks

tested on pixhawk4 v5 f-450
Modes Tested
Position Mode: Good.
Altitude Mode: Good.
Stabilized Mode: Good.
Mission Plan Mode (Automated): Good.
RTL: Good.
Procedure
Arm and Take off in position mode, after flying for approximately one minute, switched to altitude then stabilized mode proceed to switch to mission plan mode then make sure that vehicle follows all waypoints as shown in QGC, once completed all waypoin activate RTL and see landing behaviour.
Notes:
No issues noted, good flight in general.
log:
https://review.px4.io/plot_app?log=9f37b1c9-5155-4724-959b-2137077e9e0c

Tested on PixRacer V4:
Modes Tested
Position Mode: Good.
Altitude Mode: Good.
Stabilized Mode: Good.
Mission Plan Mode (Automated): Good.
RTL: Good.
- Procedure
Arm and Take off in position mode, after flying for approximately one minute, switched to altitude then stabilized mode proceed to switch to mission plan mode then make sure that vehicle follows all waypoints as shown in QGC, once completed all waypoin activate RTL and see landing behaviour.
Notes:
No issues noted, good flight in general.
Log: https://review.px4.io/plot_app?log=a0fa5329-9116-4812-8019-b48f8a6fd77e

@dagar I haven't traced the full logic. The diff looks like you're just reducing stuff, but I presume that's not actually true and you are upgrading logging rates on arming.

Can you make the topics array size dynamic?
If you cannot arm, this does not help, so we might be better off with a separate profile.

tested on pixhawk4 v5 f-450
stabilize: no issues
mission mode: no issues
position mode: no issues
rtl: no issues
pr log:
https://review.px4.io/plot_app?log=0c783b63-686c-402f-9d97-6674d736cac0
master log:
https://review.px4.io/plot_app?log=3e2f9852-5068-4077-ad05-5c41ad4db7c0

Rebase after https://github.com/PX4/Firmware/pull/13745.


run the shrink-osd.yml to delete osd，it prompt 'dict object' has no attribute u'mons' and then quit

I use ceph-ansbile to install ceph cluster:

when i run the shrink-osd.yml to delete osd，it prompt 'dict object' has no attribute u'mons' and then quit！
ansible-playbook shrink-osd.yml -e osd_to_kill=4 -e ireallymeanit=yes -e cluster=ceph

ansible-playbook 2.6.13
ceph version 13.2.4
ceph-ansible version origin/stable-3.2

I forgot to specify the host file：
ansible-playbook shrink-osd.yml -e osd_to_kill=4 -e ireallymeanit=yes -i hosts


How to properly ignore unlabeled point labels？

Hello, thank you for your great work. I had the following problem when ignoring the label, but I thought about it for a long time and didn't know where the error was.

I modified the code in the following three places, there was no problem when training, but I got the error above when testing.
1.num_classes = 13  # Number of valid classes

2.if dataset_name is 'S3DIS':
        num_per_class = np.array([3370714, 2856755, 4919229, 318158, 375640, 478001, 974733,
                                  650464, 791496, 88727, 1284130, 229758, 2272837], dtype=np.int32)

3.self.ignored_labels = np.array([])                                              # 这个数据集上没有ignored标签

It seems that you have not make any modification on the original code according your describtion:
1.num_classes = 13  # Number of valid classes

2.if dataset_name is 'S3DIS':
        num_per_class = np.array([3370714, 2856755, 4919229, 318158, 375640, 478001, 974733,
                                  650464, 791496, 88727, 1284130, 229758, 2272837], dtype=np.int32)

3.self.ignored_labels = np.array([])                                              # 这个数据集上没有ignored标签

Can you provide more imformation for that(e.g. what dataset you use), because the error is about the mismatching of the data.

I was using the NPM3D dataset, and I modified part of it based on the code of the S3DIS data. You can train and test without ignoring labels.
Can you provide your email address if it is convenient for you? I send you the code.

OK, but I would not have time to read your code so quickly.
You may have to wait for some time.
My email is on my github profile.


Rename the plugin to remain compatible with other libraries which use the official Camera plugin.

When trying to use this plugin with our projects, they failed to build because the name of the plugin was the same as the original camera plugin and other plugins were referencing that. To avoid duplication of included plugins, I had to rename the plugin to match the project's name and thought maybe someone else would like to do the same.
Great plugin btw! Thanks for all your great work.

Hi any idea on when will this issue be resolved?

Happy to do it, but what would you like me to change it to?


Pull request on wrong preprocessor symbol for HAVE_INT128

This pull-request fixes the issue the on certain systems the HAVE_INT_128T guard was available although the int128_t was not. The commit syncs the guard to be HAVE_GFC_INTEGER_16 and the type to be __int128 like it is used in previous code.

Current coverage is 37.37% (diff: 100%)

Merging #237 into master will not change coverage

@@             master       #237   diff @@
==========================================
  Files             2          2
  Lines           907        907
  Methods          42         42
  Messages          0          0
  Branches        195        195
==========================================
  Hits            339        339
  Misses          504        504
  Partials         64         64

Powered by Codecov. Last update dfe2ec0...a3dba8e

@vehre I'm confused as to why github wants to merge all of these commits into master: I thought we had already merged them, albeit perhaps onto a different branch. I think I'm going to just cherry pick 	32fc2e4 onto a new branch, and open that as the pull request if you don't mind.

Superseded by #250


Seems timeout_job_after is not using in code

timeout_job_after present in the current documentation, but Github found nothing (except examples) for string timeout_job_after  in jondot/sneakers repo -   https://github.com/jondot/sneakers/search?q=timeout_job_after
So, where timeout_job_after is really using?

@a0s I think the documentation is outdated, the option timeout_job_after was removed at
https://github.com/jondot/sneakers/commit/cc1f0322175996cb7962eb88695d4e810ddda62d


Put all boundary conditions in a module called m_boundary_conditions.fpp

Right now, we have some boundary conditions in m_rhs, which is not really the appropriate place for them. We also have the CBCs in a different module, which makes is surprising to find some BCs in m_rhs as well. For example, in m_rhs:
https://github.com/MFlowCode/MFC/blob/1aefc097fea9acff82819634a161114b9411d5fe/src/simulation/m_rhs.fpp#L2146-L3110
Please refactor this into a different module like m_boundary_conditions that m_rhs uses and calls. We can leave the CBCs in m_cbc, which would then be called by m_boundary_conditions.
We also have to be careful about the logic here, for example, some non-CBC boundary conditions might accidentally end up being called by the CBC module via the logic in the code like this:
https://github.com/MFlowCode/MFC/blob/1aefc097fea9acff82819634a161114b9411d5fe/src/simulation/m_rhs.fpp#L877-L885
We have to re-organize the boundary conditions so that this logic is not a problem or is otherwise resolved somehow.

Also relevant! https://github.com/anandrdbz/MFC/blob/9140e50e9a99bba74d68956fe18799b9c3fdce4d/src/simulation/m_start_up.fpp#L561-L579


How to download the plugin?

The ReadMe says:
Download the plugin from the release page and enable it in shopware.
But I can not find the mentioned release page.

Thanks in advance

Hey @jugi92
you can find the releases here: https://github.com/shopwareLabs/SwagMediaS3/releases

I’m not a pro, but:
Clone the repository and build...
You can also try to download the branch, but than composer install might be required.
And don’t forget editing the foldername...
Swagmedias3-master won’t work.


BitVector encoder doesn't preserve length

The encoder for scodec.bits.BitVector doesn't preserve the length of the bit vector (if it isn't a multiple of 8), but right pads it with zero bits (to be a multiple of 8). Thus, encoding and decoding is not (always) an identity.
scala> import scodec.bits._
import scodec.bits._

scala> import io.circe.syntax._
import io.circe.syntax._

scala> import io.circe.scodec._
import io.circe.scodec._

scala> val b = bin"010110"
b: scodec.bits.BitVector = BitVector(6 bits, 0x58)

scala> b.asJson.as[BitVector]
res0: io.circe.Decoder.Result[scodec.bits.BitVector] = Right(BitVector(8 bits, 0x58))

Eek! Thanks for catching this. I probably won't get around to fixing it until Sunday, if someone else wants to take a look before then. Once it's done I'll publish an 0.7.1 release.

Made a simple fix on my branch, still need to do some research as it's not perfect. Will get back to this tomorrow

@note Thansk! I guess it's obvious that this totally slipped off my radar in January…

Fixed in 0.8.0.


Adding Number.isNaN() support

Hi @davepermen, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

It's supposed to be in lib.es6.d.ts, and it's already there.

@Arnavion is correct. Thanks for the PR though @davepermen!

no problem. i guessed so, but failed to find it. thanks!


fix: correct minor typos

Hey there @ordago  thanks a lot for the typo fixing, could you merge latest main and then we are good to go

Hey there @ordago thanks a lot for the typo fixing, could you merge latest main and then we are good to go

@alvarosabu 👍 merged main


Exclude logback-test.xml from test sources jar

Excludes logback-test.xml from being packaged in test sources jar
Description
Fixes #3739 by avoiding logback-test.xml from being packaged in test sources jar. This would ensure that there is only one logback-test.xml in classpath which would prevent Logback from complaining and logging below warning
    17:08:57,257 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
    17:08:57,257 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/home/travis/.m2/repository/org/apache/openwhisk/openwhisk-tests/1.0.0-SNAPSHOT/openwhisk-tests-1.0.0-SNAPSHOT-tests.jar!/logback-test.xml]
    17:08:57,257 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/home/travis/.m2/repository/org/apache/openwhisk/openwhisk-tests/1.0.0-SNAPSHOT/openwhisk-tests-1.0.0-SNAPSHOT-test-sources.jar!/logback-test.xml]

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#3739)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[ ] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

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

@@            Coverage Diff             @@
##           master    #3740      +/-   ##
==========================================
+ Coverage   74.34%   75.28%   +0.93%
==========================================
  Files         128      128
  Lines        6081     6081
  Branches      398      398
==========================================
+ Hits         4521     4578      +57
+ Misses       1560     1503      -57

Impacted Files
Coverage Δ

...cala/src/main/scala/whisk/http/ErrorResponse.scala
89.77% <0%> (+1.13%)
:arrow_up:

...on/scala/src/main/scala/whisk/common/Logging.scala
87.35% <0%> (+1.14%)
:arrow_up:

...ain/scala/whisk/core/entity/ActivationResult.scala
92.3% <0%> (+1.53%)
:arrow_up:

...in/scala/whisk/utils/ExecutionContextFactory.scala
100% <0%> (+7.69%)
:arrow_up:

...rc/main/scala/whisk/core/entity/ExecManifest.scala
96.34% <0%> (+14.63%)
:arrow_up:

...whisk/connector/kafka/KafkaConsumerConnector.scala
58.33% <0%> (+22.91%)
:arrow_up:

...whisk/connector/kafka/KafkaProducerConnector.scala
58.33% <0%> (+36.11%)
:arrow_up:

...whisk/connector/kafka/KafkaMessagingProvider.scala
88.46% <0%> (+65.38%)
:arrow_up:

Continue to review full report at Codecov.

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

@csantanapr LGTM I think you reported this so I assigned to you.


Jenkins slave ansible

Creating an slave image for jenkins that has ansible on it for the purpose of using the openshift applier to boot up full environments for testing applications

LGTM


JAMES-3435 Make message read isolation configurable

Disabling should be considered experimental.
If enabled, regular consistency level is used for
read transactions for message. This might result
in stale reads as the system.paxos table will not
be checked for latest updates. Better performance
are expected by turning it off.
Note that reads performed as part of write transactions
are always performed with a strong consistency.

Merged


feat: add github_release strategy

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This adds a middle way between the git strategy and the github_latest strategy allowing us to check releases even if there are multiple release streams.

Unless you're authenticated and you have enough rate limit remaining to be able to execute all those checks, you'll seemingly end up with a ton of errors instead of meaningful data. The changes in this PR would essentially require livecheck users to set a GitHub API token to use livecheck in a meaningful way (since the unauthenticated limit is painfully low).

Without it it will be hard to do anything with the results and it's a debug command, I don't see this as a bad thing.

Unless you're authenticated and you have enough rate limit remaining to be able to execute all those checks, you'll seemingly end up with a ton of errors instead of meaningful data. The changes in this PR would essentially require livecheck users to set a GitHub API token to use livecheck in a meaningful way (since the unauthenticated limit is painfully low).
Without it it will be hard to do anything with the results and it's a debug command, I don't see this as a bad thing.

I agree with this but we should probably actively fail without a token set if this is the case (or at least if you're querying more than one formula/cask).

On at least one occassion, I've explained in depth why we use a permissive default regex in Git instead of the standard regex

@samford I appreciate your lengthy comments in PRs and issues but: this is an example of how they are sometimes misplaced. If you're having to explain the same thing multiple times about how/why the code behaves a certain way then:

ideally the code will make this more obvious without comments
where comments are necessary, they must be short, concise and explain the reasoning here

Livechecks in general have a lot of documentation (which is great!) but sometimes they explain the obvious and avoid things like this that people are actually asking you about multiple times.
Hope that's helpful feedback ❤

as I do full tap runs on a regular basis (often back-to-back when evaluating livecheck changes like this)

This should not be something we're optimising for as it's so far from the typical user experience. Similarly, this should be something we use automated tests for rather than relying on a single maintainer to do it manually.

so I'm against using GithubRelease as a default strategy that's prioritized over Git.
I would rather see it manually applied only where it makes a difference (like GithubLatest

This seems like a good suggestion. @SMillerDev any objections to this? Can we move forward with this for now?

Yeah, seems fine. I've split out the migration to the API to make this review clearer though, so I'm focusing on that one first

Rebased and pushed. Ready for some reviews

I was thinking about rebasing this earlier today, so thanks for taking care of it. I've gone through the changes and they're generally what I expected. This basically inherits the logic that we already worked through in the recent GithubLatest PR, so I've simply pushed some commits to address areas that were overlooked or still needed to be updated (e.g., documentation comments, type signatures, etc.).
I also added tests for GithubRelease that cover all of the code outside of #find_versions. [One of my upcoming PRs will cover the parts of #find_versions that don't involve a network request, so I'll update that work to include this strategy.]

The only other remaining change that I would like to discuss is the strategy name. This strategy checks the releases API endpoint for a repository and that returns information for multiple recent releases.
With the API URL in mind (i.e., releases) and that the response JSON contains an array of release objects, I strongly think that this should be named GithubReleases instead. GithubRelease makes it sound like it would only return one release (e.g., like GithubLatest) and this may confuse users about its purpose and behavior.
If we can agree on this name change, I can go through this in the morning (EDT) to update all the instances of GithubRelease, github_release, etc.

Past that, I tested this across existing GithubLatest checks and those continue to work the same. I also did some manual testing of GithubReleases with a cask that it could be used for (replacing an existing livecheck block that manually iterates through releases using multiple requests) and it works as expected.

I strongly think that this should be named GithubReleases instead

I'm fine either way. If @SMillerDev agrees: go for it.

I have no strong feelings about it so: sure, let's do it

I was just about to push a commit with the changes (I just finished testing). A little more is required than what your commit covers, so do you mind if I overwrite it (i.e., force push) or would you prefer a follow-up commit instead?

The most recent commit updates the main brew livecheck documentation to account for the recent GithubLatest/GithubReleases changes. Unless I'm forgetting something, I think that should be the last of this. Feel free to take a look through the recent changes but, if nothing else requires changes, I'll approve this once CI is green.


Prevent bad letter spacing when whitespace surrounds badge text

This is a little fix I’ve been meaning to make for a while. Normally it manifests in the codetally badge, but that badge isn’t working right now.
Here’s a static example, where the right text is wrapped in spaces:
https://img.shields.io/badge/foo- bar -blue.svg
The spaces get included in width computation, though I suppose ignored when the svg renders, resulting in bad letter spacing.
With this fix, it renders the same as
https://img.shields.io/badge/foo-bar-blue.svg

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS


Blockchain Indexer: Allow calculating aggregated issues from the index

Description
Allow calculating aggregated values from the index to verify the aggregated values stored in the database.
These methods should not replace the original logic.
Acceptance Criteria

Aggregate methods are exported for the blockchain coordinator.
These methods should not be enabled on production by default.

This issue would be considered for future improvements post the beta release.


Vol1 vol2 iti dsub cp iti 1315

📑 CP Integration of CP-ITI-1315 on DSUB.

Please check Table 26.5-1 carefully.  Row heights are specified in there because of copy/paste.  Not sure they should be there.  Please also make sure I did the rowspans correctly.  Thanks!!

supports #491

Reviewed and updated as needed


Update enum for VS 2017

Fixes #1510

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@kvanover your changes have been merged, thanks for your contribution 👍


:lipstick: Improve light theme palette and refactor design system

Fixes #321
Relates to #347
PR mainly refactors the color classes according to a more semantic token system taken from Shopify's Polaris design system: https://polaris.shopify.com/tokens/color
Additionally, I've minimally fixed the stylistic concerns wrt column pinning (see https://github.com/stumpapp/stump/issues/372). So this can supersede https://github.com/stumpapp/stump/pull/393

I've been messing around locally doing testing and haven't spotted any missed UI elements from the refactor, so I'll merge this in a moment. I'm sure there's something going missed somewhere, but this should be more than good for now to avoid LOADS of conflicts as I tackle the new stuff


Dynamic rowHeight

Is there a way to provide "relative" height? I want to update layout to fit 100% of window height without rerendering/mounting components on each resize callback.
Something like making rowHeight a function that returns a value would work nice.
Thanks in advance!

[ ] Bug
[x] Feature Request
[x] Question

Is there any information available regarding this feature request? Is this something that is likely to be implemented? Is there any work-around available? I've seen some issues touching on this, but nothing conclusive.
I have a general idea on how to somewhat implement this myself, but an integrated solution would be preferable. Seems to me that this issue has quite a large impact on the usability of this framework when it comes to creating actual page layouts. Being able to fit content on the y-axis is quite crucial for the user experience IMO.
Thanks in advance.

hi @GGAlanSmithee  : I have a similar requirement where I want to fit individual grid items to the viewport height. Could you please share your solution?


Fix parsing of dates

Basic information

nrich version:
1.2.1
Module:
nrich-search

Additional information

Description
Summary
Parsing of Instant, OffsetDateTime, OffsetTime and ZonedDateTime was failing since zone was absent in DateFormatter, added system zone to DateFormatter and synced date and date time formats in tests.
Details
Parsing of Instant, OffsetDateTime, OffsetTime and ZonedDateTime was failing since zone was absent in DateFormatter, added system zone to DateFormatter and synced date and date time formats in tests.
Related issue
https://github.com/croz-ltd/nrich/issues/76
Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I have read the project's CONTRIBUTING document
[x] I have checked my code with the project's static analysis tooling
[x] I have formatted my code with the project's IDEA code-style configuration
[x] I have checked my code for misspellings
[x] I have organized my changes in easy-to-follow commits
My change requires a change to the documentation
I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests pass.

Codecov Report

Merging #82 (6483d03) into master (6782e90) will increase coverage by 0.20%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master      #82      +/-   ##
============================================
+ Coverage     95.86%   96.07%   +0.20%
- Complexity     1005     1010       +5
============================================
  Files           151      151
  Lines          2418     2419       +1
  Branches        224      223       -1
============================================
+ Hits           2318     2324       +6
+ Misses           39       35       -4
+ Partials         61       60       -1

Impacted Files
Coverage Δ

...search/converter/DefaultStringToTypeConverter.java
98.50% <100.00%> (+7.59%)
:arrow_up:

Continue to review full report at Codecov.

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


Remove internals visible to F# editor in Roslyn.

The XAML team came up with a nifty shim dll that allows roslyn to publish a contract .dll until they have hardened up their public APIs.
Because Roslyn team build this dll, when they refactor an internal API such that XAML gets broken, they see it in the Roslyn build.
We should ensure that we have a similar process so that we don't get stung like we did with the refactoring of:
IStreamingFindReferencesService

to
IFindUsagesService

@TIHan How do you want to handle this?

This will be a 16.2 to 16.3(being conservative).

Closing as completed for 16.2.


itorch._iopub socket not set

After terminaled in server through ssh -X to, tried
th> require 'itorch';
th> itorch.image({image.lena(), image.lena(), image.lena()})

Got following error
/root/torch/install/share/lua/5.1/itorch/gfx.lua:12: itorch._iopub socket not set
stack traceback:
    [C]: in function 'assert'
    /root/torch/install/share/lua/5.1/itorch/gfx.lua:12: in function 'image'
    [string "_RESULT={ itorch.image({image.lena(), image.l..."]:1: in main chunk
    [C]: in function 'xpcall'
    /root/torch/install/share/lua/5.1/trepl/init.lua:630: in function 'repl'
    /root/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:185: in main chunk
    [C]: at 0x00406670

Same error was reported: https://groups.google.com/forum/#!topic/torch7/EFabrnkyTQE
Does anyone know how to display images through ssh? Based on my past experience of python and MATLAB, ssh -X should work...
Any comments are welcomed.

I have a similar problem here, have you solved the problem？

Is it solved ? i am facing same problem with OSX yoshemite.

itorch has to be started with it's own console. if you require itorch in regular th, you get this error.

if you look at the docs, you'll have to start it with "itorch" or "itorch notebook"

Thanks.

in the tutorial here: https://github.com/soumith/cvpr2015/blob/master/Deep Learning with Torch.ipynb
It is showing what looks like the use of itorch.image() in regular th, is that the wrong way to do it? I am getting this same error as noted in OP post. Thank you!

How to use itorch in th7

I found out how to get this working.
After setting up the environment dependencies
type
itorch notebook
this will open a new notebook in the browser
open new terminal in the notebook
and work in that notebook terminal.

I think the better way may be using 'image' module instead of itorch.
require 'image'
image.save('yourImageName.png', tensor)
and then open it.
This is the best way I've found when working via ssh.


Daskarray convolution

[X] Tests added / passed
[X] Passes black dask / flake8 dask / isort dask

Can one of the admins verify this patch?

ok to test

Thanks for the PR @anlavandier! 😄
Have a few questions.
Am curious, why this is being added linalg? Typically that contains things like matrix multiplication, determinant, eigen decomposition, etc. Convolution doesn't seem to fit there. Is there a reason to include it there as opposed to somewhere else?
Also normally (though not always) we try to follow the API/functionality that NumPy provides. Last I checked NumPy only had 1-D convolution and no N-D. Has that changed? Or is this meant to only be 1-D? Or is there a reason to deviate from NumPy/
Last we do have another implementation of convolve in dask-image. Am curious if you tried using that? Do you have a sense of how this differs from that implementation?

cc @GenevieveBuckley (in case you have more thoughts here)

Also normally (though not always) we try to follow the API/functionality that NumPy provides. Last I checked NumPy only had 1-D convolution and no N-D. Has that changed? Or is this meant to only be 1-D? Or is there a reason to deviate from NumPy/

Judging from these imports and the title of the earlier version of this PR, it looks like this is an implementation of the scipy.signal N-dimensional convolve.
I agree, it's probably very confusing if functions in Dask do not mirror the numpy/pandas API. Historically, we've seen these sort of extensions made into separate packages (eg: dask-image extends scipy.ndimage, dask-xgboost extended XGBoost...)

Last we do have another implementation of convolve in dask-image. Am curious if you tried using that? Do you have a sense of how this differs from that implementation?

Note: the convolve function in dask-image is based on the scipy.ndimage.convolve function. I'm not as familiar with scipy's signal processing toolbox, so couldn't comment on the differences to scipy.signal convolve - perhaps @anlavandier can elaborate?

Am curious, why this is being added linalg? Typically that contains things like matrix multiplication, determinant, eigen decomposition, etc. Convolution doesn't seem to fit there. Is there a reason to include it there as opposed to somewhere else?

There is no reason for why it was added in linalg, I didn't know where to put it and I knew convolution could be used in linear algebra so I just put it there. I am completely open to moving the function, and the test somewhere else if asked to.

Also normally (though not always) we try to follow the API/functionality that NumPy provides. Last I checked NumPy only had 1-D convolution and no N-D. Has that changed? Or is this meant to only be 1-D? Or is there a reason to deviate from NumPy/

Last we do have another implementation of convolve in dask-image. Am curious if you tried using that? Do you have a sense of how this differs from that implementation?

The function is meant to be N-D and is indeed deviates from numpy's API, mostly because of personal needs. I was not aware of the existence of the dask-image repository nor the convolve function.
After looking into scipy.ndimage.convolve it seems to me that the C file that powers the convolution is independent from scipy.signal but I could be mistaken. As far as differences, it looks to me that the the scipy.ndimage function does direct convolution with sums and not the FFT like scipy.signal does. Tests would have to be made but I expect this function to be slower than both scipy.signal.fftconvolve and scipy.signal.oaconvolve when the input size augments.
The arguments also differ:

scipy.signal function's mode is used to determine the size of the output whereas scipy.ndimage use mode to work out boundary condition.
There is no way to select axes in scipy.ndimage.

I found this stackoverflow answer that explains the differences better than I could.

scipy.signal.fftconvolve does the convolution in the fft domain (where it's a simple multiplication). This is much faster in many cases, but can lead to very small differences in edge effects than the discrete case, and your data will be coerced into floating point with this particular implementation. Additionally, there's unnecessary memory usage when convolving a small array with a much larger array. All in all, fft-based methods can be dramatically faster, but there are some common use cases where scipy.signal.fftconvolve is not an ideal solution.

[...] and scipy.ndimage.convolve all use a discrete convolution implemented in C [...]

scipy.ndimage.convolve keeps the same data type, and gives you control over the location of the output to minimize memory usage. If you're convolving uint8's (e.g. image data), it's often the best option. The output will always be the same shape as the first input array, which makes sense for images, but perhaps not for more general convolution. ndimage.convolve gives you a lot of control over how edge effects are handled through the mode kwarg (which functions completely differently than scipy.signal's mode kwarg).

Side note: scipy.signal.oaconvolve also uses the fft but with the overlap-add method so the same comments apply there.

Finally, regarding performances, I have found that for 1-D arrays, scipy.ndimage.convolve seems to have a linear complexity regarding kernel size which is not the case of the fft based implementations. I ran a small script on a Intel Xeon Gold 6230 20C @ 2.1GHz CPU and got these results:

Script :
from scipy.ndimage import convolve
import numpy as np
import time

in10 = np.geomspace(10**2,10**5,100).astype(int)

in20 = [5,11,21,51,101,1001]

times = np.zeros((len(in10),len(in20),3))

for i in range(len(in10)):
    for j in range(len(in20)):
        in1 = np.random.rand(in10[i])
        in2 = np.random.rand(in20[j])
        t0 = time.time()
        a = convolve(in1,in2,mode ='constant',cval=0)
        times[i,j,0] = time.time() - t0
        t0 = time.time()
        b = fftconvolve(in1,in2,'same')
        times[i,j,1] = time.time() - t0
        t0 = time.time()
        c = oaconvolve(in1,in2,'same')
        times[i,j,2] = time.time() - t0

import matplotlib.pyplot as plt

fig = plt.figure(figsize = (13,4*(len(in20)+1)//2))
for j in range(len(in20)):
    ax = fig.add_subplot((len(in20)+1)//2,2,j+1)
    ax.plot(in10,times[:,j,0],label = 'ndimage.convolve')
    ax.plot(in10,times[:,j,1],label = 'fftconvolve')
    ax.plot(in10,times[:,j,2],label = 'oaconvolve')
    ax.set_title('kernel size : {}'.format(str(in20[j])))
    ax.set_xscale('log')
    ax.set_xlabel('input size (number of elements)')
    ax.set_ylabel('time (s)')
    ax.legend()
fig.suptitle("Comparison of scipy's convolution on 1D inputs and kernel")
fig.savefig('Comparisons scipy 1-D.png')

Thank you very much for the detailed responses @anlavandier, that's very helpful.
I expect the next step would be for some of the core team to have a discussion about what the scope of functionality provided by dask/dask-image/etc. should be.

Speaking of dask_image.ndfilters.convolve, I found a bug when the array had more than one chunk in the direction(s) of the convolution (i.e the direction(s) where the shape of the kernel isn't equal to 1) and mode = wrap. Here's the link to the issue.


Is vs-version closing bracket ')' in the example is a typo?

In README.md, there is an example vs-version: '[16.4,16.5)' where the closing bracket ) is a typo and should be vs-version: '[16.4,16.5]' instead?

No that is correct. Agree it is weird but that is the syntax for vswhere.
Also for GitHub hosted agents just a reminder that unless you are installing another version yourself you don’t need to specify that input as there will be only one version on the hosted agent.


Add a default prop to chart components like 'empty_set=error | warn | pass'

Feature Description
It would be helpful to have a prop available optionally on all components, that would let you override and customize the build vs build:strict behavior of that component. I think it would default to the current behavior error, but offer new options like warn or pass.
Goal of Feature
We often have queries and charts that are fairly specific or only return sparse results over large time ranges, etc -- often in CI or dev these will return no results when running over a limited set of data for cost+speed. So we have some things we expect and want to fail (revenue on the executive dashboard) if empty, which works with build:strict now, but we may have several charts that don't fit this model, for instance analyzing experiments that may not be in the test dataset.
Current Solution / Workarounds
Right now these have to be wrapped in an #if block in the template, it would be DRYer, faster, and cleaner I think to have a prop you can pass to achieve this behavior as a standard.
Alternatives
You could try ensuing the datasets never come up empty with some sort of backwards cacheing logic where Evidence can generate subset fixtures for you that populate the charts for CI and testing.

Empty states that result from inputs and filters should also be handled so they don't error.

During SSR, empty set is treated as an error, unless empty_state = warn | pass, including an empty set that is the result of a filter default during ssr
Empty state as the result of an input being changed should not show an error state, rather an empty component state

@gwenwindflower @aaronsteers - shipped!


Add GUI prototype - Choosing which GUI Framework to use

Add a prototype GUI that is just a basic prototype so that development on it can begin and we can eventually begin work on it.

What framework should we use?

I have been doing some research, and kivy might be a good option for a GUI framework.

Seems like it would fit our needs


Feature/decision 159 160 api shell

Includes DECISION-153, Normalization of data input and output

nice work!


Do something about git lfs quota - cache it

Switched to cached git lfs checkout - https://github.com/airtai/fastagency/pull/212


Continue Nyaplot and Highcharts work

Continue https://github.com/Shekharrajak/daru-view/pull/3

[x]  automatically load the JS when Daru::View.plotting_library is set
[x] Highcharts type input will work in daru-view as well.
[x] To plot multiple charts in one, add_series method is defined, to plot for another dataset in same chart.

Next PR will add dependent JS files for Nyaplot(but still internet is needed for Nyaplot) and highcharts.


✨ add step to install post-install hooks in e2e tests and upgrade kflex to v0.4.2

Summary
add step to install post-install hooks in e2e tests and upgrade kflex to v0.4.2
Related issue(s)
Fixes #1737

/lgtm
/approve


GCS connection

Hi, I was able to run the addon with ardupilot but I can’t connect to another ground control station (I tried QGroundControl for now), am I doing something wrong? I tried as TCP(<IP_ADDRESS>:5760) and UDP(<IP_ADDRESS>:14550) manual with comm links but no results...
in Console Log QGC with TCP and UDP Comm Links i have same results:

UDP/TCP
[D] at ../../qgroundcontrol/qgroundcontrol/src/comm/LinkManager.cc:400 - "New auto-connect UDP port added"
[D] at ../../qgroundcontrol/qgroundcontrol/src/comm/LinkManager.cc:881 - "allocateMavlinkChannel 1"
[D] at ../../qgroundcontrol/qgroundcontrol/src/comm/LinkInterface.cc:67 - "_allocateMavlinkChannel 1"
[D] at qrc:/qml/LinkSettings.qml:81 - "clicked TCPConfiguration(0x56d4ab0f63f0) null"
[D] at qrc:/qml/LinkSettings.qml:81 - "clicked UDPConfiguration(0x56d4acdffa60) null"
[D] at ../../qgroundcontrol/qgroundcontrol/src/comm/LinkManager.cc:881 - "allocateMavlinkChannel 2"
[D] at ../../qgroundcontrol/qgroundcontrol/src/comm/LinkInterface.cc:67 - "_allocateMavlinkChannel 2"


The other translation engines in the code are not displayed

@AlekPet

Yes, because there is an option in the config.js  "show_services_no_check_api: false", that is, check the api_key and if not specified or equal "your_api_key", then do not display it.
https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet/blob/08663e718371141b002e27d5b93ca5460bff8966/TranslateNode/deep_translator_node.py#L68

@AlekPet Thank you for your reply,
At present, my problem has been resolved, and I will synchronize AlekPet's support for multilingual translation
This is the project address：https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation


lnd: 0.18.3 -> 0.18.4

version update, see the release notes
notably, this fixes compatibility with bitcoin core v28 after a breaking rpc change

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@cypherpunk2140 @prusnak
My new testing workflow for lnd is to connect with ZEUS Version v0.9.4-beta2 and confirm that the Node Info screen shows:

[✅] Implementation Version: 0.18.4-beta commit=
[✅] Synced to Chain: True
[❌] Synced to Chain: False (guessing it just takes awhile, this is a new node, will check again later)
[✅] Block Height: 876514


[es] Update Translate - docs/concepts/architecture/cgroups into Spanish

This is a Feature Request
Translate this page docs/concepts/architecture/cgroups into Spanish.
What would you like to be added
The translation will be added to content/es/docs/concepts/architecture/cgroups
Why is this needed
There is no Spanish translation for this file. It would be great if we could read this in Spanish.
Comments
The Spanish translation team would like to facilitate your contribution's journey,  any doubt participate in the weekly meetings in the kubernetes slack channel kubernetes-docs-es
We also encourage new contributors to participate in their native speaking language 💥.
/triage accepted
/kind feature
/language es
/sig docs

Close in behave the another issue https://github.com/kubernetes/website/issues/45699


TypeNameHandling not working on deserialization

I went through the questions on the subject here and on SO, and the closest to my situation didn't address my concern.
I have the following classes :
public abstract class BaseClass
{

}

public class ConcreteClass
{

}

My setting object for both the serialization and the deserialization is the following one :
JsonSerializerSettings _serializationSettings = new JsonSerializerSettings
{
    NullValueHandling = NullValueHandling.Ignore,
    TypeNameHandling = TypeNameHandling.All,
    ContractResolver = new MyContractResolver(),
    ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

I am trying to deserialize like that :
var myDeserializedObject = JsonConvert.DeserializeObject<BaseClass>(jsonString);

But for some reason, I am getting the error

Could not create an instance of type T Type is an interface or abstract class and cannot be instantiated

Even though the root Json object does have a $type property. I've tried deserializing to a JObject and then using JObject.To<BaseType>() but I'm having the same result. I need to get this approach working, and would prefer not to use custom converters as I use polymorphism all over the place.
Do you have any idea on how I can get this deserialization working ?
Thanks
Update 10/10/15
I am still investigating and I think that the issue might be that when I inspect the JObject of my deserialized object, the First property is the "_id" property :

I assume that since the error message is :

JSON.NET probably needs to read the type first to instantiate the correct object. I don't see how to reproduce this situation where "_id" is first, from a separate project like the one provided below. I tried, a couple of combination, of nested complex properties, but I always have the $type first. And it is probably why it works fine there.
I first tryied to put together an override of CreateProperties on my ContractResolver :
protected override System.Collections.Generic.IList<JsonProperty> CreateProperties(System.Type type, MemberSerialization memberSerialization)
    {
        var properties = base.CreateProperties(type, memberSerialization);

        var propWithDollar = properties.Where(x => x.PropertyName.Contains("$"));
        foreach (var prop in propWithDollar)
        {
            properties.Remove(prop);
            properties.Insert(0, prop);
        }

        return properties;
    }

That was never called on deserialization, and finally I managed to do put the $type property at the very top by using :
var prop = deserializedJObject.Property("$type");
deserializedJObject.Remove("$type");
deserializedJObject.AddFirst(prop);

But unfortunately it didn't help, I'm still facing the same cast issue.
I'm getting in serious troubles guys... I spent 4 days on that one. Any idea or suggestion would be very welcome.

So folks, there is a bug here, I've finally been able to find that this error occurs when the $type property is not the very first property of the json string. Normally the order of the properties shouldn't matter. And for some reason, even reordering the properties in the JObject doesn't help. This one was a very subtly one, I've spent 4 days on that !
Please note that with the increase of popularity of NoSQL my scenario is very common. Whenever I retrieve my JSON object, the database put the "_id" property at the very top. Now I need to look for a quick and dirty way to modify the JSON string.

I have made a demonstration project to highlight where the issue is : http://we.tl/RiemGkRTF2

http://www.newtonsoft.com/json/help/html/DeserializeMetadataPropertyHandling.htm

Thanks James! I think this should be in the doc page of TypeNameHandling. As a person new to the library, it took me 4 days to track my issue down  to the JSON string.
And I mean 4 days of reading all the SO questions, reading the source code etc... Before that you are in the dark and nobody can help you

Thanks - you just saved me days of head scratching too

Thanks. I also ran into the same issue.

I've improved documentation by mentioning MetadataPropertyHandling alongside TypeNameHandling
https://github.com/JamesNK/Newtonsoft.Json/commit/376b9817692d9cc029f82be32614ca9d68639921


Mod will not connect to Twitch

Username, token, and channel have all been checked to be correct in the settings.xml file.
Here is the relevant portion of the player.log:
[Manager] [TwitchChat] Settings loaded successfully.
[TwitchChat] [TwitchChat] Load method completed successfully.
[Manager] [TwitchChat] Initializing Twitch connection...
[Manager] [TwitchChat] Failed to connect to Twitch: void TwitchLib.Communication.Clients.TcpClient..ctor(TwitchLib.Communication.Interfaces.IClientOptions,Microsoft.Extensions.Logging.ILogger)

Complete recode to remove TwitchLib and use own WebSocket Client. Currently working.

Complete recode to remove TwitchLib and use own WebSocket Client. Currently working.


Update package-lock.json

Follow up from #123 - forgot to re-run npm install and check in modified package-lock.json.

Looks like this occurred as part of the release process - closing.

Yeah, side effect of running npm install.


Unable to build with Xcode 16 betas

Hello
Currently it's not possible to build the Swift Package with Xcode 16 betas (see attached screenshot).
I see that something similar happened with Xcode 15 betas (https://github.com/mapp-digital/MappIntelligence-iOS-v5/issues/6), I'm wondering if it's an Xcode 16 beta bug or something that needs to be updated in the Swift Package specs?

This is still happening with the Release Candidate of Xcode 16 (16A242). With the release of iOS 18 only a week away now, this has become an urgent issue.

@StefanMiticon Is there any update regarding this issue?

@luis-ifolor we are aware of the issue and are currently working on fixing it. Unfortunately Xcode 16 changed the linking system and we needed to adjust our symlinks one by one. Our developer fixed it just now but it still needs to pass QA. It is currently on branch https://github.com/mapp-digital/MappIntelligence-iOS-v5/tree/SDK-602-xcode-16-spm-compatibility-with-mapp-intelligence - as soon as we are done with testing we can release it officially.

@stellatores: any ETA for when this fix will be merged into the main branch? I'm holding off on updating my Xcode to version 16 just for this issue. Thanks!

@ortekka we needed to change quite a bit but are working on this on high prio. We found the main cause now and are currently working on the fix. If all goes well we will release the updated version by end of this week latest.

@ortekka @luis-ifolor we fixed the issue on our SDK side for SPM and released to SPM and GitHub (https://github.com/mapp-digital/MappIntelligence-iOS-v5/releases/tag/5.0.12). Unfortunately there is an open issue on CocoaPods that prevents us to publish the version on CocoaPods (https://github.com/CocoaPods/CocoaPods/issues/12583). So currently we run on the following versions for iOS:

SPM: version 5.0.12
CocoaPods: version 5.0.11

We experienced the issue with Xcode 16 and 16.1, replacing (in ios/Podfile)
pod 'MappIntelligence'
with
pod 'MappIntelligence', :git => 'https://github.com/mapp-digital/MappIntelligence-iOS-v5.git', :tag => '5.0.12' # currently no podspec available for 5.0.12
worked for us.
HTH

Hi all, we just released version 5.0.12 to CocoaPods now as well. There should not be any problem any more with Xcode 16


Bug fixes

Removed rproj file language service since it has been causing too many side effects. We lose Open With... on rproj files in Windows Explorer but that's a bit mrginal feature. Opening .rproj from inside VS works as usual.
Added custom action to blow VS MEF cache

:+1:

:+1:


Add send reorg event

Closes #1772
Changes

add new event type "REORG_DETECTED"
extend test_check_reorgs_task when a reorg happens
publish an event after recovering the reorg.

Done @Uxio0 https://github.com/safe-global/safe-events-service/issues/304 I will do asap.


Update cognitiveservices.bicep

[ ] Add networkacls configuration to properties property

 networkAcls: {
     defaultAction: 'Allow'
   }

May not be needed when #141 merges.

@luisquintanilla  looks like defaultAction: 'Allow' is already added

Marking as complete. Tracking acls related issues in #250


Cannot build from source and illegal instruction on import tensorflow

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04

TensorFlow installed from (source or binary): Source and Binary

TensorFlow version: 2.6.

Python version: 3.8

Installed using virtualenv? pip? conda?: Using virtualenv to install by pip, and build from source

Bazel version (if compiling from source): 4.2.1

GCC/Compiler version (if compiling from source): 9.3.0

CUDA/cuDNN version: 11.4

GPU model and memory: EVGA RTX 3060

Describe the problem
Provide the exact sequence of commands / steps that you executed before running into the problem
When using pip to install, attempting to import tensorflow produces an "Illegal instruction(core dumped)" error.
When using Bazel to build from source using the command, bazel build --jobs=2 --local_ram_resources=2048 --config=opt config=cuda //tensorflow/tools/pip_package:build_pip_package I come back hours later to find the screen frozen and the computer unresponsive.
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
Currently unable to copy and paste logs from terminal because my computer freezes during the build.

Photo of the terminal at screen freeze:

Hi @DJT777! Could you try again with with tested configurations for TF 2.6.

I was able to get past the screen freeze by using a swap, but now I am getting this error:
@mohantym
 ERROR: /home/dylan/tensorflow/tensorflow/lite/python/BUILD:63:10 Executing genrule //tensorflow:tf_python_api_gen_v2 failed (Exit 1): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)
When I try "python3 -m pip install keras-preprocessing"
Requirement already satisfied: keras_preprocessing in /home/dylan/tf-from-source/lib/python3.8/site-packages (1.1.2)

Hi @DJT777! Sorry for the late response . You should try again with Bazel 3.7.2 and GCC 7.3.1 .

@mohantym
I was able to build successfully by not using a virtual environment, installing the dependencies in the installation instructions, and using a swap. Tensorflow is now importing without error.

Ok @DJT777! Thanks for confirming the same. Please movie this issue to closed status if issue is resolved .Thanks!


[Bug] spring boot 3.2.5  ConfigurationClassPostProcessor WRAN log

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

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

Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo Java 3.2.11, Graalvm-ce 17.0.9, Windows 11
Steps to reproduce this issue
After upgrading to Spring Boot 3.2.5 our services that use now log a new warning on startup

2024-05-29 10:09:24 [main] WARN  o.s.c.a.ConfigurationClassPostProcessor - Cannot enhance @Configuration bean definition 'org.apache.dubbo.spring.boot.autoconfigure.DubboRelaxedBinding2AutoConfiguration' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static' and/or marking the containing configuration class as 'proxyBeanMethods=false'.

2024-05-29 10:09:24 [main] WARN  o.s.c.a.ConfigurationClassPostProcessor - Cannot enhance @Configuration bean definition 'org.apache.dubbo.spring.boot.autoconfigure.DubboAutoConfiguration' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static' and/or marking the containing configuration class as 'proxyBeanMethods=false'.

What you expected to happen
no warning
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

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

@firmianaQ  if you want to use graalvm with native please use dubbo 3.3, thank you

The problem in the 3.3 branch has been solved, see: https://github.com/apache/dubbo/pull/13461
If you want to use native, use 3.3, as 3.2 will not provide support for this.
Please close this pr as complete


Added Teal Theme and Accent Colors

Category

[x] Content fix
[ ] New article

Related issues
None
What's in this Pull Request?

Added the out of the box Teal theme
Add the accent color to each theme

thx @thechriskent, appreciated.


Fix #7599: Adding/updating a property in settings is not used when property is a function

Context

When updating a function in the settings object after initializing the grid, the new function is not used.
This PR correct the simpleEqual method in helpers.js.
How has this been tested?

The following demos highlight the issue and correction :

@handsontable/vue 4.1.1: https://jsfiddle.net/Lxdc950k/2/ 👍
@handonstable/vue 5.1.0 https://jsfiddle.net/541q03zp/ 👎
this version : https://jsfiddle.net/f219rvu6/ 👍

The PR also add a unit test.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature or improvement (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Related issue(s):

https://github.com/handsontable/handsontable/issues/7599

Checklist:

[x] My code follows the code style of this project,
[ ] My change requires a change to the documentation.

Hi @MiniGab , thank you very much for your effort and input.
Today, we have moved the code base for @handsontable/vue to our mono repository. Here's an announcement https://github.com/handsontable/handsontable/issues/7637. From now on it's located in the wrappers directory inside our main Handsontable repository: https://github.com/handsontable/handsontable/tree/master/wrappers/vue. It would be best if you could move your PR there so we can preserve your authorship. All the issues and PRs were already moved there, including the one you're referencing handsontable/handsontable#7599
I have to close this PR as we're archiving this repository today. Sorry for the inconvenience.


Making the Read and Write in Centre of Home Page

Making the Read and Write in Centre of Home Page so that it looks nice.

can you assign this to me?

Hi, I can work on this Issue, Can you assign it to me please?

can you assign this to me?

Hey, this issue is closed for now but feel free to create a new issue to work on adding any new features or updating the exsisting ones.

Hi, I can work on this Issue, Can you assign it to me please?

Hey, this issue is closed for now but feel free to create a new issue to work on adding any new features or updating the exsisting ones.


Still show All accounts in case wallet has only 1 account after removing account

Describe the bug
Still show All accounts in case wallet has only 1 account after removing account
Actual : In case the wallet has 2 accounts: parent account and derive account. And then delete parent account

Re-check with some account types

Expect: Automatically switch to remain account

Version test : http://<IP_ADDRESS>:8900/s/Li3996YngR3zZEJ
Validation passed in case :

Install/Update version
Check with some account types : unified account, derive account ( unified, solo), watch only account, QR account, ledger account


Add "references".

This PR does a couple loosely related things:

Document what types are allowed in metadata and how we handle them in JSON and msgpack respectively. Nothing has changed here; I'm just documenting it belatedly.
Document the intent behind specs.
Make it possible to pass specs in __init__. Previously, you had to write a subclass if you wanted to provide specs.
Add references, about which more below.
Add properties c.specs and c.references as aliases for c.item["specs"] and c.item["references"]. This gives brevity, obviously, but maybe more importantly it gives discoverability and a place for docstrings to describe what these are.

New feature: "references"
Motivation
We want to explicitly link processed data to raw data. We could provide a uid like this:
c.write_array(arr, metadata={"raw_uid": "..."}))

That is a useful think to do, but I think we should also provide a complete link. It's not always clear how to resolve that uid: Is that a Tiled uid? Where? In which Tiled deployment? Or is it something external? It would be best to provide a link to https://.../node/metadata/... or whatever external service so it's clear.
I think that, much like the proposal #135, these deserve to be a first-class concept in Tiled, not lumped in with generic metadata. By placing them in a dedicated flat dict we can:

Ensure that they are well-formed URLs
Create generic (i.e. facility-wide) services which verify that the links are not dead, both at insertion time and periodically after if we like
Display them as links in UIs

Implementation
This PR adds a dict named references as a peer to metadata, specs, structure_family, and the other attributes. Clients can provide references when they write, as in:
c.write_array(arr, metadata={"raw_uid": "..."}), references={"raw": "https://..."})

This will require an update to all Adapters that implement post_metadata. They need to accept (and presumably store) a references parameter. They should expose a references property.
Naming
We could have called it links, but this would create confusion with the existing links (one level of nesting up) which are trusted, tiled-internal links which are used by the client to fetch data.
I think the name "references" correctly suggests that this is intended to be used to reference external entities, which could include references to other nodes in Tiled, references to external data or metadata providers, and even references to academic publications.
Internal specification?
I think that, to start, we should not establish any naming scheme for the keys. Even something as simple as "raw" for raw data becomes complex when we consider processed data with multiple inputs (e.g. light and dark frames) which need to be differentiated. I think that the meaning of these references will be highly situation dependent. We may develop conventions or recommendations over time, but I don't think we should be prescriptive until we get some use in the wild.

@danielballan I think this is a great idea. I agree with the principle that these should be a forefront concept. Indeed, the references can be optional since not every datum will have a reference, but it is critical to create an unbroken reference chain (a DAG if you will) of parent and child data points.
I think it fits into your framework, but it should definitely be the case that there can be multiple references. For example, while multiple children can each share the same parent, there are some operations (such as my classic example: taking the average) in which one child can have more than one parent. This will allow for that I'm guessing?
Finally, there are a ton of "uuid-like" objects floating around. Have we put that to rest? I.e., is there only one uid now? 😄
I'm happy to provide more detailed feedback if you'd like!

Yes, references are optional and yes there is room for as many as you need. I agree that we should expect "children" to commonly have multiple "parents".
I'm not sure what you're referring to regarding UUIDs. Tiled doesn't have a concept for that built in. Every node (i.e. "datum") has a unique address, like https://example.com/node/metadata/path/to/datum that identifies it within Tiled. That path may or may not include a UUID. For example, you are serving files like
$ tiled serve directory my_files/

it likely does not. If you are serving data stored in MongoDB, it likely may, as that's a useful way to uniquely label entries in a database.

@danielballan what I mean in terms of the unique id's is what is put in the reference key. I suppose that's the address you're talking about?

Oh, I see. Yes. Each node in Tiled has a canonical URL, which from Python you can get via
node.uri

and that would be the best thing to use in the reference.

I like this idea. I have a couple of thoughts.
First, in your example:
c.write_array(arr, metadata={"raw_uid": "..."}), references={"raw": "https://..."})

the type of reference is also the key, precluding you from having multiple references of the same type. I could see use cases where a derived data set was created from more than one raw data set, and vice versa.
Second, there are a number of specifications in the world of the semantic web for establishing links between objects wherein the relationship is described (RDF, OWL, XLink, JSON-LD). I'm not an expert in this area, but I think supporting JSON-LD should get some consideration, if we're growing first-class support for linking.
To bring the two thoughts together, if we made references a list, then we could start growing more structure into it.
c.write_array(arr, metadata={"raw_uid": "..."}),
   references=[
        {"raw": "https://food"},
        {"raw": "https://bar])

Oh, I like that.
In some cases I think it's good to nudge users to differentiate their inputs with distinct names. For example, if we are linking to "light frames" and "dark frames" [{"light": ...}, {"dark": ...}] is much better than [{"raw": ...}, {"raw": ...}]. But in cases like @x94carbone's example (averaging) you really do just want an undifferentiated list of inputs---basically *args in Python terms, and inventing arbitrary names would be anti-helpful.
List of dicts for now, with the possibility of expanding to richer values later for JSON-LD and the like.

Adding references changes tiled from a tree structure to a graph.  A possible use case is that maybe want to export a run and its children, the runs children are accessed by references.  If we can't differentiate between parent and child references then the export can fail due to hitting cycle.  So for this reason I think references should have a direction in the first pass.  And we can decide to add more metadata in the future.
Also, I propose adding a more general version of write_array, that writes a document that can have data, metadata, and references.

Actually, export could still work with a cycle, if it keeps track of which nodes are visited.
So I don't have a good reason direction is needed at this point.

Yes, a method for uploading structured datasets, such as
create_node(dict_like, metadata, specs, references)

is a natural next step. @jmaruland had been working on a create_dataset method in #237 for uploading xarrays specfically, with the thought of broading from there. I think we've learned from that work that we may instead want a general method (create_node) that can upload any object that can be traversed like a dict. Those may include xarray.Dataset, dict, h5py.Group, and maybe other thing we haven't thought of yet.
Based on what we learned in the attempt in #237, I think we need to first:

Simplify the xarray handling. (That's in progress now, and it's making the codebase much simpler.)
Reconcile @kleinhenz's work exploring the duality of search and tree-traversal.

I think the references do have a direction, in a sense: they point from the node that holds the reference to the node in the reference. I suspect that we will mostly point from children to parents; otherwise we would be updating parents to inform them when analysis results are added or removed.
If we find that really need a hard vocabulary for this for one reason or another, I think we should explore JSON-LD and others. I don't see much downside in layering that on later once we know more.

Now I understand the question. I think we are using the word "parents" in two distinct ways.
Tiled already tracks the parent--child relationship for nodes and their children, and there is no ambiguity about the direction. You can query a node's children with
GET /node/search/{path}

and you can see a nodes parents in its path, like /node/metadata/a/b/c
This PR adds a way to mark additional relationships (a graph, as you say) that can provide a directional link between nodes and, further, label the nature of that link ("raw"). These extra relationships are not used to encode the parent--child relationship that builds the tree.
I think this is similar to how HDF5 file have a tree-based structure but additionally allow "links".

Everyone's notes thus far make good sense. This is a very useful addition to tracking the source of derived data.
I'm curious to why use a list of single item dictionaries instead of a List[Tuple[str, URL]]? I also suggested some extra tests.
Thinking of this as a directed graph, I'm thinking about how I could break this nefariously and/or accidentally.
Creating a cycle (similar to/same as @gwbischof note)
We assemble a directed tree of nodes in search. When we start to write nodes with references, do we ever intend on assembling the graph or tracing relevant data? This will be challenging (though not impossible) with cases like where I can know or specify the uri, or want two derived datasets to know about eachother:
c.write_array(arr1, metadata={"raw_uid": "..."}),
    references=[
        {"raw": "raw_uri"},
        ...
        {"other_derived": "uri2"])
c.write_array(arr2, metadata={"raw_uid": "..."}),
    references=[
        {"raw": "raw_uri"},
        ...
        {"other_derived": "uri1"])

Dead links
What is the strategy for handling bad or dead links? Pydantic naturally shouldn't be checking links beyond validity. But if there is a link traversal (I don't see one yet in the code changes), then caution should be taken to elegantly handle dangling edges. In the averaging problem, it'd be a mess if a sum over 9999 failed to draw the raw data because 1 moved or wasn't created.
Nefarious links
Most of my experiences with Tiled thus far has been serving up a database or filestore, and creating accessible URI/URLs. With user control over links, what is stopping me from putting in dangerous links?

Thanks for the extra test cases! The best kind of review comment. <3
Tuples? When I read @dylanmcreynolds's suggestion of list-of-dicts, I thought of list of tuples as well. I couldn't think of a clear reason to choose one over the other. Can anyone think of one?
Cycles? I am not sure how much we should worry about this in advance. What we're adding here is pretty basic and can be extended or (optionally) restricted in the future as we get some experience with what we'd want to build on it.
Dead links Yes, one of the motivations for creating a dedicated namespace with a clear structure is to enable automated proactive dead-link detection. I can imagine setting up periodic agents to check links and provide lists of dead ones, for example.
Nefarious links This occurred to me too. When we build client tools that follow links, we might apply CORS rules --- i.e. only follow links within in the subdomain of the provider, such as tiled.nsls2.bnl.gov, or else from some explicitly allowed list. I think it would be very useful to be able to include links to random publications or data sources, but if that's concerning we could add optional server configuration that rejects any links not matching a list of trusted subdomains. Perhaps that's worth doing now. I'm curious what @dylanmcreynolds thinks.

I couldn't think of a clear reason to choose [between list-of-tuples vs list-of-dicts]. Can anyone think of one?

I just remembered that we have run into this before with parameters sorting in #161. OpenAPI has a problem with mixed-type collections. You can spell Tuple[str, URL] in pydantic but it does not translate into OpenAPI. Instead one should do [{"key": "raw", "value": "https://…"}, …]. That is valid, and putting user-provided strings in values instead of keys is more idiomatic anyway.
The above is a bit verbose but it applies only to the wire protocol, the HTTP API. No one generally has to type that.
Fortunately, in the Python API we can accept both the list-of-tuples and list-of-dicts spelling because converting either of them into the wire protocol representation is simple and unambiguous. Before Python 3.6/3.7 when dicts were unordered, you could say they were slightly different, but now they are equivalent.

My thought was more so for conveying intent. A tuple has a fixed length and can be easily zipped in a list. Dictionaries can grow, even when they shouldn't, and may confuse the early user. "Give me a list of tuples of (x, y) coordinates" seems much more natural and prone to expected behavior than "give me a list of dictionaries of {x:y} pairs, but make sure there is only one pair per dictionary".
Would it be better, (but also more work) to to do List[Tuple[str, URL]] and handle the conversion for OpenAPI internally?

Yeah, I think I agree. This is exactly what we do for sorting: the Python API looks like [("plan_name", 1), ("time", -1)] and the HTTP API looks like [{"key": "plan_name", "direction": 1}, {"key": "time", "direction": -1}].
https://github.com/bluesky/tiled/blob/50cbfdd7296d6366053e489ec63c44936c8d05ec/tiled/client/node.py#L134-L140
Looks like the same approach could be applied here and satisfy both our collective preferences and the technical constraints.

I noted above that this was "on ice" for awhile, waiting for disruptive refactors to finish. Those are done, and now @jmaruland is picking this up to first rebase it and then rework it in accordance with the discussion above.

Summarizing discussion from yesterday evening:

In __init__, references sent from server (as JSON object) should be rearranged as list-of-tuples and stored in self._references.
A public property, references, should give read-only access to self._references. Something we did not discuss but I'll add here: following the pattern used elsewhere, ListView should be used to communicate to the user that this is only a view of the references that they cannot be modified/mutated here. (Use git grep ListView to find examples.)
In the methods new and update_metadata references should be rearranged from list-of-tuples to JSON object for communication with the server.

I think holding just a URL is enough for our immediate needs...
In Python:
[("raw", "https://..."), ...]

In JSON:
[{"label": "raw", "url": "https://..."}, ...]

But we may want to grow more just a URL, so maybe we want to build in that flexibility to make room to expand the content of a reference in a backward-compatible fashion:
In Python:
[("raw", {"url": "https://...", "future additional key goes here": "stuff"}), ...]

In JSON:
[{"label": "raw", "reference": {"url": "https://..."}}, ...]

If we start with just the URL, there will be no backward-compatible way to grow. So we should make a decision now about the likelihood that we'll want to grow.

Another option is to back away from using list-of-tuples in Python and just do
[{"label": "raw", "url": "https://..."}, ...]

and handle that the same in Python and JSON. That is, naturally, extensible:
[{"label": "raw", "url": "https://...", "future additional key goes here": "stuff"}, ...]

And it's nice that we don't have to worry about transforming between different representations in Python and JSON.

And it's nice that we don't have to worry about transforming between different representations in Python and JSON.

I fully support this.  You reduce future bugs introduced by people having to transform data structures

which had the pitfall "give me a list of dictionaries of {x:y} pairs, but make sure there is only one pair per dictionary"

That's true. In addition, it's more future proof, allowing for additional properties.
Going back to my previous (comment)[https://github.com/bluesky/tiled/pull/242#issuecomment-1171363735]. This structure also opens the door for creating references that are JSON-LD-compliant. Is that important? I haven't really come across a system that uses JSON-LD, but it's nice to keep that door open.

Yes I think keeping the door open, to JSON-LD, is a big benefit.

Note to self: Rebase this after #318 is in, and then add tests on top of that.


Allow people to add a profile picture

What if we, for starters at least, just add a note to the "My profile" page showing that your profile picture will be pulled from Gravatar, along with a link to the Gravatar site.


workflow_run always evaluates to true

So I've tired paths-filter with the following triggers:
on:
  push:
    branches:
      - my-feature-branch

....

    - name: Capture changes
      uses<EMAIL_ADDRESS>      id: changes
      with:
        filters: |
          my_first_path:
            - 'path/to/my_first_path**'
          my_second_path:
            - 'path/to/my_second_path/**'
          my_third_path:
            - 'path/to/my_third_path/**'

and the changes are identified correctly (say I made a change under path my_first_path:
Filter my_first_path = true
Filter my_second_path = false
Filter my_third_path = false

However, once I make the execution of this Worfklow dependent on the successful execution of another workflow
on:
    workflow_run:
        workflows: ["another workflow"]
        types: [completed]
    branches:
      - master

the filters applied with<EMAIL_ADDRESS>always evaluate to true.
Note that this workflow gets executed once a Pull Requests gets merged to master (this is going to trigger a workflow whose successful completion will trigger the workflow I shared above).
Run<EMAIL_ADDRESS>Get current git ref
  /usr/bin/git branch --show-current
  master
Warning: 'before' field is missing in event payload - changes will be detected from last commit
Change detection in last commit
Detected 821 changed files
Results:
Filter my_first_path = true
Filter my_second_path = true
Filter my_third_path = true
Changes output set to ["my_first_path","my_second_path","my_third_path"]

Any thoughts what am I missing here?

@dorny Any thoughts?

Same behaviour with workflow_dispatch 🤔

Events triggered by workflow_dispatch or workflows_run essentially don't have any context in them that can sensibly be assumed to be referred to as a "state before this change".
You can explicitly pass the paths filter base and ref which allows you to tell paths_filter what things to compare.  To make that meaningful you'd probably want an input into the workflow_dispatch, or perhaps you can always generate the change base from say a known branch you want to compare.
I find this extremely useful:
https://docs.github.com/en/actions/learn-github-actions/contexts#example-printing-context-information-to-the-log
To help find out what is in the event context that you might be able to pass as base and ref to the paths filter.

I personally ended up with a workaround:
- uses: dorny/paths-filter@v2
  id: paths-filter-init
  with:
    filters: |
      service1: services/service1/**
      service2: services/service2/**

- name: Hack-1
  # when event_name is workflow_dispatch or workflow_call, all the packages are set to true
  # so we want to return an empty json array instead as no files were changed
  id: hack-1
  env:
    GH_EVENT_NAME: ${{ github.event_name }}
  run: |
    case $GH_EVENT_NAME in
      workflow_dispatch)
        echo "::set-output name=paths-filter-final::'[]'"
        ;;

      workflow_call)
        echo "::set-output name=paths-filter-final::'[]'"
        ;;

      *)
        echo "::set-output name=paths-filter-final::'${{ toJSON(steps.paths-filter-init.outputs.changes) }}'"
        ;;
    esac

And declared paths-filter-final output so downstream jobs and steps could use that. If you skip paths-filter step entirely, you wouldn't have a valid json output

@DpoBoceka
Thanks for the workaround. However I doesn't work for me. I wasn't able to figure it out. When event_name is workflow_run all the packages are always set to true.
name: Deploy Test Second

on:
  workflow_run:
    workflows: ["Deploy Test First"]
    branches: [main]
    types: [completed]

jobs:
  changes-detection:
    runs-on: ubuntu-20.04
    outputs:
      changes: ${{ steps.paths-filter-workaround.outputs.paths-filter-final }}
    steps:
      - uses: actions/checkout@v3
      - uses: dorny/paths-filter@v2
        id: paths-filter-init
        with:
          filters: |
            test1:
              - "./testonefiledir1/testonefile1.yml"
              - "./testmultiplefilesdir1/**"
            test2:
              - "./testonefiledir2/testonefile2.yml"
              - "./testmultiplefilesdir2/**"

      - name: paths-filter-workaround
        id: workaround-1
        env:
          GH_EVENT_NAME: ${{ github.event_name }}
        run: |
          case $GH_EVENT_NAME in
            workflow_run)
              echo "::set-output name=paths-filter-final::'[]'"
              ;;

            *)
              echo "::set-output name=paths-filter-final::'${{ toJSON(steps.paths-filter-init.outputs.changes) }}'"
              ;;
          esac

  deploy-test:
    needs: changes-detection
    if: ${{ needs.changes-detection.outputs.changes == 'test1' }}
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: Test
        run: echo "Test"

dorny/paths-filter@v2 step log:
Run dorny/paths-filter@v2
Get current git ref
Warning: 'before' field is missing in event payload - changes will be detected from last commit
Change detection in last commit
Detected 9 changed files
Results:
Filter test1 = true
Filter test2 = true
Changes output set to ["test1","test2"]

paths-filter-workaround step log:
Run case $GH_EVENT_NAME in
  case $GH_EVENT_NAME in
    workflow_run)
      echo "::set-output name=paths-filter-final::'[]'"
      ;;

    *)
      echo "::set-output name=paths-filter-final::'"[\"test1\",\"test2\"]"'"
      ;;
  esac
  shell: /usr/bin/bash -e {0}
  env:
    GH_EVENT_NAME: workflow_run

Also not sure how you declare paths-filter-final Any idea what I'm doing wrong?

Hi. I faced the same issue and found a workaround. (It's not smart though... )
First of all, my workaround is passing Artifact between workflows.
To do so, you must use action-download-artifact instead of the official actions/download-artifact, because the original one doesn't support download artifacts from another workflow.
Step 1. Save refs as artifact.
first-action.yml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      (...omit...)
      - name: Save base ref info
        run: |
          if [[ '${{ github.event_name }}' == 'push' ]]; then
            BASE=${{ github.event.before }}
            CURRENT_BRANCH=${{ github.ref }}
          elif [[ '${{ github.event_name }}' == 'pull_request' ]]; then
            BASE=${{ github.base_ref }}
            CURRENT_BRANCH=${{ github.head_ref }}
          fi
          echo $BASE > base.txt
          echo $CURRENT_BRANCH > current-branch.txt
      - name: Upload base ref info
        uses: actions/upload-artifact@v3
        with:
          name: original-refs
          path: |
            base.txt
            current-branch.txt
          retention-days: 1

Step 2. Download them and set to base and ref.
second-aciton.yml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Download a single artifact
        uses: dawidd6/action-download-artifact@v2
        with:
          workflow: first-action.yml
          name: original-refs
          workflow_conclusion: success
      - name: set REFs to env
        run: |
          echo "BASE=$(cat base.txt)" >> $GITHUB_ENV
          echo "CURRENT_BRANCH=$(cat current-branch.txt)" >> $GITHUB_ENV
      - uses: dorny/paths-filter@v2
        id: filter
        with:
          base: ${{ env.BASE }}
          ref: ${{ env.CURRENT_BRANCH }}
          filters: |
            src:
              - src/**
            lib:
              - lib/**

The result is here, I've confirmed the output of workflow_run action is same with its first action.
This workflow should work push and pull_request event. But you might need to adjust the contents of the artifact (BASE, CURRENT_BRANCH), if they are not suitable for your situation.

To check full yml, see my trial repo: https://github.com/gki/paths-filter-workflow-run-workaround