Import external bibtex file changes for zotero update

Hi
Is it possible or planed to update the zotero database based on any changes in the main better-bibtex-file, which one has done e.g. with an editor.
E.g. I have in mind, that I figure out during writing, that I am missing the date for an entry and could easily update it with my text editor.
If this is not possible with better-bibtex, it would be great, if you have some other hints or ideas how to do this.
Thank you in advance!

This is not currently possible, and I don't think I'll be building it.
BibTeX files don't really have the concept of "changes", but it is sort of possible. You'd have to occasionally see whether the file modification timestamp has changed, and then either programmatically import the file and merge the duplicates, or parse the file (the BBT parser is available separately
) and figure out which entries have changed by inspecting comparing them all to what you've parsed, and then update those items. This seems like a lot of work just to avoid having to call up Zotero.
If you just want to update Zotero entries from a text editor, it'd be lots easier to just have something like a CSV file with something like

citekey
field
value

@somekey
title
the nice and accurate predictions of Agnes Nutter, witch

@somekey
publicationTitle
independent

and have a Zotero plugin read this occasionally, apply the changes, and delete the file.

ok, thank you very much for your quick reply! I will look if I get it managed somehow, thanks!

Feel free to ask questions when needed.


LiveShare seems to break the debugger

Describe what happened:
I can't start a debugger session (or whatever) unless I disable the plugin.
-------------------------------------------------------------------
You may only use the Microsoft .NET Core Debugger (vsdbg) with
Visual Studio Code, Visual Studio or Visual Studio for Mac software
to help you develop and test your applications.
-------------------------------------------------------------------
Failed to load the dll from [c:\Users\anthony\AppData\Roaming\Code\User\globalStorage\ms-vsliveshare.vsliveshare\dotnet-3.1.1\host\fxr\3.1.1\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from c:\Users\anthony\AppData\Roaming\Code\User\globalStorage\ms-vsliveshare.vsliveshare\dotnet-3.1.1\host\fxr\3.1.1\hostfxr.dll failed
  - Installing .NET Core prerequisites might help resolve this problem.
     http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
The target process exited without raising a CoreCLR started event. Ensure that the target process is configured to use .NET Core. This may be expected if the target process did not run on .NET Core.
The program '[28676] testhost.exe' has exited with code -2147450750 (0x80008082).

What was your system configuration?
Product and Version [VS/VSCode]: VSCode 1.44.2
OS Version[macOS/Windows]: Windows 10 Pro 1909
Live Share Extension Version: 1.0.2104
Target Platform or Language [e.g. Node.js]: .NET Core SDK 3.1.201
Steps to Reproduce / Scenario:

Create a .NET Core test project (although, reports indicate that other kinds of debugging setups seem to also trigger this error)
Debug a test
See error

More here: https://github.com/dotnet/core/issues/4557
Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
Screenshots
If applicable, add screenshots to help explain your problem.

Thanks for reaching out. Can you give us logs for investigation? You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue

Adding @jramsay

I'm having the same problem.
What was your system configuration?
Product and Version [VS/VSCode]: VSCode 1.45.0
OS Version[macOS/Windows]: Windows 10 Pro 1909 (OS Build 18363.815)
Live Share Extension Version: Live Share Extension Pack v0.3.4
Target Platform or Language [e.g. Node.js]: .NET Core SDK 3.1.201
LiveShare.zip

Me too. Disabling the extension allowed debugging to work.
Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: Testhost process exited with error: Failed to load the dll from [c:\Users\Anthony\AppData\Roaming\Code\User\globalStorage\ms-vsliveshare.vsliveshare\dotnet-3.1.1\host\fxr\3.1.1\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from c:\Users\Anthony\AppData\Roaming\Code\User\globalStorage\ms-vsliveshare.vsliveshare\dotnet-3.1.1\host\fxr\3.1.1\hostfxr.dll failed
  - Installing .NET Core prerequisites might help resolve this problem.
     http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
. Please check the diagnostic logs for more information.
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.ThrowExceptionOnConnectionFailure(Int32 connTimeout)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 sources, String runSettings)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEventsHandler2 eventHandler)

What was your system configuration?
Product and Version [VS/VSCode]: VSCode 1.45.0
OS Version[macOS/Windows]: Windows 10 Pro 2004 (OS Build 19041.208)
Live Share Extension Version: Live Share Extension Pack v0.3.4
Target Platform or Language [e.g. Node.js]: .NET Core SDK 3.1.201
liveshare_logs.zip

Is there any update on this issue? LiveShare is pretty prominent feature of VS and vscode and it kind of sucks to have to keep it disabled.

@divinebovine, @AnthonyMastrean, @atruskie: thanks for reporting the issue! This should be fixed in our latest Live Share update available in the VS Code Marketplace (v 1.0.2236). If you can test your repro on the latest extension and confirm it is resolved it would be much appreciated.

@jramsay looks like its working for me! Thank you!

@divinebovine: thanks for confirming! Will close out this issue.


Few test commands are not working when I follow CI documentation

Hello,
I was able to install the dependencies of certifier framework properly, but when I tried to run few test commands, they are failing with similar issue
Command - ./CI/scripts/test.sh test-run_example-simple_app_python

This issue is happening with multiple test commands

HI, @hemanth5555 - I think there is one step missing in the INSTALL.md instructions.
On my Ubuntu Linux, I see this header installed:
agurajada-Linux-Vm:[14] $   ll /usr/include/uuid
total 20
-rw-r--r--  1 root  4023 Apr  9 08:32 uuid.h

I don't recall how it got there but did the following:

uninstalled this package using: $ sudo apt remove uuid-dev

Then, I re-installed this package using: $ sudo apt-get install uuid-dev

(You may have to do $ sudo apt-get update -y first.)
After I ran [2], I confirmed that this exists:
agurajada-Linux-Vm:[16] $   ll /usr/include/uuid
total 20
-rw-r--r--  1 root  4023 Apr  9 08:32 uuid.h

Can you please try [2] and see if this package installs correctly for you? And then, does this unblock your builds and test?
If this works for you, let us know. I will update the INSTALL.md and build.yml to explicitly install these headers. I suspect on our CI machines, these headers got installed somehow through a combination of installs done for other packages.


Expected state to be instance of AttentionWrapperState. Received type <class 'tuple'> instead.

Hi, I'm new to TensorFlow and trying to write my own seq2seq based on the tutorial provided. But unfortunately I am in the the error stated above.
This is the part of the code
`attention_states = tf.transpose(encoder_outputs, [1, 0, 2])
attention_mechanism = tf.contrib.seq2seq.LuongAttention(300, encoder_outputs,
memory_sequence_length=source_lengths)
decoder_cell = tf.contrib.seq2seq.AttentionWrapper(decoder_cell, attention_mechanism, attention_layer_size=300)
projection_layer = tf.layers.Dense(dec_vocab_size, use_bias=False)
dec_embed_input = tf.nn.embedding_lookup(dec_embeddings, target)
helper = tf.contrib.seq2seq.TrainingHelper(dec_embed_input, target_lengths, time_major=True)
decoder = tf.contrib.seq2seq.BasicDecoder(cell=decoder_cell, helper=helper,
initial_state=encoder_state,
output_layer=projection_layer)
max_decoder_length = tf.reduce_max(target_lengths)
decoder_outputs, _ , _= tf.contrib.seq2seq.dynamic_decode(decoder=decoder, maximum_iterations=max_decoder_length)`
The trace error points on this:
decoder_outputs, _ , _= tf.contrib.seq2seq.dynamic_decode(decoder=decoder, maximum_iterations=max_decoder_length)

do you solve this problem?

Yes, by setting the initial state in this line
decoder = tf.contrib.seq2seq.BasicDecoder(cell=decoder_cell, helper=helper, initial_state=encoder_state, output_layer=projection_layer)
with
initial_state = decoder_cell.zero_state(dtype=tf.float32, batch_size=batch_size)
But, I don't know if is the right way to fix it, but it worked for me.

@ngcabang @jintaojintao
For the attention decoder cell's initial state, you can create a zero state and then copy the encoder's cell state.
Here is an example how NMT handles this. Alternatively, you can use zero state and fully rely on attention mechanism for decoding as ngcabang's solution.

@oahziur on passing encoder's cell state, I tried
decoder_initial_state = decoder_cell.zero_state(batch_size, tf.float32).clone(
    cell_state=encoder_state
)
decoder = tf.contrib.seq2seq.BasicDecoder(
    decoder_cell,
    train_helper,
    decoder_initial_state,
    output_layer=projection_layer
)

where decoder_cell is a <tensorflow.contrib.seq2seq.python.ops.attention_wrapper.AttentionWrapper> object. And I still got the same error message. Any idea what the problem is in my code?
Thx.

execuse me, but when the when eager execution is enabled. How can you clone the encoder's cell state to the attention decode cell?
when I use decoder_initial_state = cell.zero_state(batch_size, dtype).clone(cell_state=encoder_state) I get the error:  Tensor.op is meaningless when eager execution is enabled.


[1.8.x] Fixed #25085 -- Overrode Select Widget's deepcopy

https://code.djangoproject.com/ticket/25085

Is it a regression from older verisons of Django? If not, I don't think it will be backported. See our supported versions policy.

Test fails on 1.6 and 1.7 too, so doesn't appear to be a regression.


Windows redownload fails?

Could not evaluate: Could not find command 'test'

Presumably due to $unless_test in /fetch.pp ?

I have the same error.  it's actually this line that is failing
$unless_test = "test -s ${destination}"

so what would work in windows for the unless test? I don't have access to a windows box

exist ${destination}
cmd -D exist ${destination}
if exist ${destination} true else false
?

Fixed in #54


Windows Task Scheduler version

Added bypassing bot checks, adblock, full list of websites and their minimal withdrawal amount at the moment, login and rolling optimization, file logging.
Excluded Twitter codes and price info as being unneccassary as this version is meant to be automatic.
Initial purpose of this changes is to use the bot with Windows Task Scheduler to run it every hour
*Please mind that this is my first commit on github so I may not understand commit workflow fully

Yes, this should go into a separate branch, I would still like to keep current version on master branch.

Ok, now these changes are in branch task-scheduler-version


Make MessageFeedWorker public

Change MessageFeedWorker's access level to public.  Otherwise no one can use it.

Similar to issue #77 , the intention was never to make these workers public as they underpin Services.  The concept of "Services" is to abstract away all the underlying work a developer needs to handle in terms of eventing and classification to allow more focus on use cases.
At this point in time, the closest you can get to a firehose of messages is attaching a "MessageListener" to the "MessageService".
**One addition would be to add another listener for raw , which would basically cover all uses cases and again eliminate the need to expose underlying workers.
As always, the developer has many options with SJC.  They can always use the "Client" interfaces to create their own services, workers, SymphonyClient even..etc..  In fact, they always have access to the generated language bindings in the end (not recommended) as a last resort (reflection on ftbb not keeping up).


Enable Biologist Contribution

Is your feature request related to a problem? Please describe.
Enable a clear path for biologists to contribute to poly -

Biologists should do a PR to show that they’ve contributed to a GitHub repo.
Should be able to contribute input and output examples/test data that’s real-world (and academically citable)
Capture OCRID of bio/academic contributors
Zenodo DOI should be linked to contributions

Describe the solution you'd like
contributor-log file where we have individual contributor log entries (this should be the job of the bio-maintainer)
contributors folder with individual markdown files where users can add -

Proposed Workflows
Academic references
TBD

Describe alternatives you've considered
None yet
Additional context
I think this would help enable us to capture the contributions of non-software folks and help us better build poly as a community-driven tool. This will also force us to have some type of "Truth" / "Specification" to build the software against.

I'll expand more on this soon but we should also think about writing a github action bot that tries to contact both contributors and reviewers and have special reviewer cred somewhere in publication. Helps incentivize third-party reviewers.

We should also have a getting started with markdown / markdown style guide. We already have a bot that lints markdown.

I'll expand more on this soon but we should also think about writing a github action bot that tries to contact both contributors and reviewers and have special reviewer cred somewhere in publication. Helps incentivize third-party reviewers.

I think that's an excellent idea. Having 3rd party reviews and people being able to run conversations on GitHub would definitely make this better.

Closing for now but feel free to open this back up.


Fix typo of RunerOwnerID

emmm, add skip change log label too quickly....
Added the labels back but got this strange log:

Will this broke the bot?

Will this break the bot?

Can't really break the bot, it counts approvals only, does not read existing labels.


newer versions h5py > 2.1 will break pyasdf events

it looks like newer versions of h5py don't support the Dataset.value property anymore:
https://docs.h5py.org/en/stable/whatsnew/2.1.html
this will break pyasdf when listing events:
in asdf_data_set.py
data = self.__file["QuakeML"]
if not len(data.value):
    return obspy.core.event.Catalog()

and in utils.py
return data.value.tostring().strip(b"\x00 ").strip()

a workaround would be to use numpy indexing data[()] instead of data.value:
if not len(data[()]):
    return obspy.core.event.Catalog()

and
return data[()].tobytes().strip(b"\x00 ").strip()

seems to work. not sure if more occurrences of data.value can be found though.
fixing the above two locations allows at least to print file infos again:
ds = pyasdf.ASDFDataSet(filename)
print(ds)

Hi Daniel,
sorry for my late reply on this.
Which version of pyasdf are you running? Because I think these issues should have been fixed quite some time ago and I also cannot find the offending lines in the current code base. I also just ran the test suite with h5py 3.2.1 and it seems to work for me.

great, sorry my bad...
i see it was a very old pyasdf version 0.4.0, still in use on my mac. updating it to the current version 0.7.5 fixes it.
many thanks,
daniel


Similar support for Loupedeck?

Hi!
I hope you don't mind me opening an issue here, I was wondering if you would be interested in looking into something similar for our control surfaces over at Loupedeck. We have similar consoles as what elgato provides and our SDK is in C#. You can email me at<EMAIL_ADDRESS>if you want to talk further :)
Regs,
Emil

I already own a loupedeck but I did not find a way to set up the button configuration
like this :

I did not find a way in your SDK to use MakeProfileAction to set up dialog boxes like above examples with multiple separate dropdowns

Hey,
Nice to hear nice to hear that you have a device, we actually will be including more action settings into the SDK shortly. If you are interested we can provide you with a beta hopefully sometime next week.
Regards,
Emil
@.***
EMIL LINDQVIST
Technical Sales Manager
Product Owner
LOUPEDECK OY
Museokatu 8
00100 Helsinki, Finland
www.loupedeck.comhttps://loupedeck.com/
From: mhwlng @.>
Sent: maanantai 9. tammikuuta 2023 22.13
To: mhwlng/streamdeck-starcitizen @.>
Cc: Emil Lindqvist @.>; Author @.>
Subject: Re: [mhwlng/streamdeck-starcitizen] Similar support for Loupedeck? (Issue #15)
I already own a loupedeck but I did not find a way to set up the button configuration
like this :
[image]https://user-images.githubusercontent.com/1388886/211398635-139930e0-220d-4019-bf98-6d4e292e91c9.png
[image]https://user-images.githubusercontent.com/1388886/211399029-920e2a3d-8ebe-47c0-ad2f-05ea463c285c.png
I did not find a way in your SDK to use MakeProfileAction to set up dialog boxes like above examples with multiple separate dropdowns
—
Reply to this email directly, view it on GitHubhttps://github.com/mhwlng/streamdeck-starcitizen/issues/15#issuecomment-1376251188, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWKSFEVAMHMO2RAHHYWA33DWRRWNBANCNFSM6AAAAAATVQDH54.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Hi Emil

If you are interested we can provide you with a beta hopefully sometime next week.

I'm currently working on other projects that take up all my time.
I'll check the new loupedeck SDK functionality again, after it's out of beta.


Ratify v2 design

What would you like to be added?
Features:

Parity features in CLI

KMP and KMP configuration in Verifiers
Support auth with cloud providers
New command to list all configured plugins

Parity features in standalone service

Same as CLI
Dynamically configurable.

Support multiple auth providers in oras store
CRD validating/defaulting/conversion webhook

Refactoring:

Refactor Policy workflow to decouple from executor.

If we want to keep supporting config policy, would need to fix limitations/bugs in config policy enforcer.
Standardize the ED response and verifier reports format.

Cache Refactoring

Remove Dapr but directly access Redis for HA scenario.
Share cache among main process and external plugins.

Don't share cache.
Use some IPC mechanism or mmap to consolidate cache managment.
Stop using cache in external plugins.

Reorganize project structure.

Move external plugin implementation to separate repo.
Reorganize repo to separate core framework, CLI, Standalone service and K8s service.

Deprecation:

Deprecate CertificateStore CRD
Deprecate legacy cosign verifier
Deprecate legacy LicenseChecker verifier
Uniform all plugins to correctly reference name and type fields.

Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this feature?

[ ] Yes, I am willing to implement it.

would we consider moving external plugins to separate repo?


Dynamic d2 doesn't stay dynamic

One killer feature here is the ability to use a d2 link (released in d2 v0.1.4) to link a shape to a different section of the book.
At present though, unlike the original mdbook-svgbob, d2 links the svg as an image, instead of taking it "inline". This breaks the ability to click a link on the svg.
Would a pull request be welcome? I've never written rust before, but I could try and cobble together something based on mdbook-svgbob

Absolutely a link would be welcome!
If you need any rust tips, give me a shout.
Would the inline version support multiple renderers, or only html?

Inline version would only support HTML+SVG
I'm not talking about putting a link around the entire thing, I'm talking about inlining the SVG version completely.

Inline version would only support HTML+SVG
I'm not talking about putting a link around the entire thing, I'm talking about inlining the SVG version completely.

understood. You would need to implement a second Preprocessor, and handle the renderer support with the Preprocessor::supports_renderer method.
You would need to choose the Preprocessor based on the provided configuration


train multiclass object detection

Hey. Is it possible to teach multiclass object detection neural network? From the examples it is not entirely clear how this is done. Can I use ready-made data sets MS COCO, PASCAL VOC? Can I convert annotations and use them for training?

Yes, and there is an example program: http://dlib.net/dnn_mmod_find_cars2_ex.cpp.html


Support for Fixer-compatible API sources

It's trivial to support Exchange Rates API and others that are fixer.io compatible. Perhaps give users a choice on which API to query from.

Good idea! I will try to implement API source selection :smile:

@bxio The latest version (4.0.0) now supports multiple APIs :smile:
You can choose the API source by running cash --api.
Currently supported APIs include:

Exchange Rates API (default)
Fixer
Currency Layer
Open Exchange Rates

Thank you for your suggestion!


Use dotnet cli instead of DNX

Most of this is pretty simple. There are a few code changes where we were using the old reflection APIs - Bigquery and Storage can target .NET Core (well, netstandard1.3) because they don't use gRPC; the other projects can't do so quite yet.
I haven't tried the myget part yet; it may be simplest to just see if that works when we merge, and fix it if it doesn't.

icanhaz green Travis :)

LGTM


Can't remove area

1.5.0b
So I've got into the notifications now, and trying to assign the notifications to the master area. It says leave empty to select the global alarm but empty is not an option since it was already assigned:

Is there a workaround for that?
Thanks,
Stefan

Don't worry, can type it in and remove the text.

Don't worry, can type it in and remove the text.

You can click the X to clear the selection.
The question remains whether it’s desirable that your existing automations are all linked to the primary area you set up.
I guess in most cases you want to transfer them to the master (I called it global here?) alarm.

You can click the X to clear the selection.
The question remains whether it’s desirable that your existing automations are all linked to the primary area you set up.
I guess in most cases you want to transfer them to the master (I called it global here?) alarm.

Yes, in all cases I do. But if it's only an upgrading issue then it will get resolved reasonably quickly. Whichever option you choose is not going to please everybody.

Yes, in all cases I do. But if it's only an upgrading issue then it will get resolved reasonably quickly. Whichever option you choose is not going to please everybody.


Fix incorrect testEnvironmentOptions warning

Summary
Fixes #6849

@thymikee is this released yet?

Nope. Feel free to patch it with patch-package if it's annoying :)


SaltStack deployment of MDE

Adding instructions to use SaltStack to deploy MDE on Linux.

@microsoft-github-policy-service agree [company="Microsoft"]
@microsoft-github-policy-service agree [company="Microsoft"]

@microsoft-github-policy-service agree company="Microsoft"

Article was merged without the complete use of this PR.


Create the logic to store the address of the iPhone

I want to be able to save the MAC address of the user's iPhone. Right now this is the only information that will be stored in the file, but further down the line, I want to be able to filter out notifications based on configurations.

[x] Read from a toml file
[ ] Search through connected devices and find the ANCS service
[ ] Write to config file if new address is discovered

I want to close this issue because we can just store the MAC address of the iPhone in the config file. I don't really think writing to the config is really required.


Query Tracker Access Control Model

Current state
Query tracker state contains the following information about all of the queries.

Engine (e.g., YQL or CHYT)
Query text
User, who started this query
For active queries, various control state (e.g. lease and incarnation)
Filter factors for searching queries by text
Other fields

There is already the support for filtering queries by user. In particular, there is a selector "my/all" queries in the web interface.
What lacks is a role-based access control allowing you to restrict set of users that are able to read query texts or their results. Currently, any user may read the text and even the results of any known query.
How it works in yql.yandex-team.ru
First of all, all queries are by default private. There is no distinction between the query and its result in terms of access.
It is possible to make a public link for the query by pressing the button "share". There is no way to revoke the public link. People are also quite often forgetting to press "share" and erroneously share private links that are inaccessible for everybody.
Finally, recently the notion of projects was introduced. The project defines the set of subjects who will get the access to the query even by the private link by default.
Proposal
We are going to utilize the already existing mechanism of Access Control Objects (ACO) in YT.
ACO is a meta-object representing some ephemeral access control list (ACL). Such object may be viewed as an access control definition for some external (not belonging to YT master) entity. It is already used to define access control for CHYT cliques, (Yandex internal) network projects, operations in YT, etc.
ACO will act as a more rich version of YQL project. ACO defines a set of permissions like:
[
    {
        subjects=[
            some_group;
            some_user1;
            some_user2;
        ];
        permissions=[use];
    };
     {
        subjects=[
            some_other_group;
        ];
        permissions=[use; read];
    };
]

where use is interpreted as a permission to see query text (and, consequently, use this query by re-running it) and read is interpreted as a permission to see query results.
In order to do so, the following steps are proposed.

Create an access control namespace query.

Side quest: describe the process of creating ACO namespaces in Admin guide.
This may be done manually on the testing cluster by running
yt create access_control_object_namespace --attributes '{name=query}'
Refer to ACO tests for examples

Create an ACO (which will act as default) "nobody" without any access bindings.

yt create access_control_object --attributes '{namespace=query; name=nobody}'

Introduce the new column "aco" in query tracker state which will contain the name of an ACO used for this query. This column is optional, and the missing value is treated as if it is "nobody".

Related code

Update the logic of get_query so that it checks one of the two conditions:

either that the requesting user is an author of this query
or check_permission_by_acl(user, acl, "use") == "allow" where acl = get("//sys/access_control_object_namespaces/query/" + acn + "/@principal_acl")

Update the logic of get_query_result/read_query_result in the similar manner as above, with the only difference that it requires "read" permission instead of "use".
Write tests for the new logic around here (easiest way is to use test_mock.py suite which does not use any real query backend).
Update the logic of list_queries in the following way.

fetch all ACOs with the single get query get("//sys/access_control_object_namespaces/query", attributes=["principal_acl"], read_from="master_cache")
fetch the list of the groups contained by get("//sys/users/max/@member_of_closure", read_from="master_cache")
filter out those ACOs which do not match our user (i.e. do not contain at least one allow entry containing one of the user's or contain the matching deny entry)
finally, add "WHERE aco in ... or user == ..." clause to filter the queries
Note that both former steps may be cached on the client side in order to reduce the load on master caches in the future.
Also add tests.

Introduce the option to alter the ACO of the query in the alter_query command with tests.
Side quest: ease up creation of access control objects (they require careful initial ACL setup). With tests.
Extend query tracker migration script to enable state transformation on existing clusters.

Possible addition of public links
It is possible to further extend this scheme by the notion of "public links". The easiest way to do so is to generate a secret assigned to a query and add a "secret" parameter to the get_query/get_query_result/read_query_result. The server must check that the secret is correct, and if so, this will be the third case of p.4 above when the access is granted.

Server support added
We need to add ACO to search factors too
UI support in progress

Let me summarize:
Query object now contains access_control_object of type string. It is just a shortcut to //sys/access_control_object_namespace/queries/[ACO]
This ACO guards access to a query. ACO itself is guarded by @acl attribue. ACO's body is stored in @principal_acl attribute and guards access to a query
All queries APIs were modified to respect ACO:
start_query and alter_query check that passed ACO exists. However, an ACO may be deleted after query submission. In this case an error will be returned in attempt to get query
All APIs except start_query now verify access to queries in the following way:

If user == queryAuthor -- grant access
If user is superuser -- grant access
If CheckPermissionByAcl(user, [PERMISSION], Get(//sys/access_control_object_namespaces/queries/[ACO]/@principal_acl)) == Allow, grant access
Deny otherwise

[ACO] is substituted for ACO stored in query(selected in start_query or alter_query) or nobody by default
[PERMISSION] is substituted for an operation-specific value as described below:
get_query - Use
list_queries - Use
get_query_result - Read
read_query_result - Read
abort_query - Administer
alter_query - Administer


Branch Coverage - else statement location is always the same as if statement location

Hi there,
In the instrumenter code while walking on an if statement node and building the branch map I've noticed that the else statement locations is always the same as the if statement locations.
Why is that?
The code that does this is located here - https://github.com/gotwarlost/istanbul/blob/master/lib/instrumenter.js#L978
ifBranchInjector: function (node, walker) {
            var alreadyIgnoring = !!this.currentState.ignoring,
                hint = this.currentState.currentHint,
                ignoreThen = !alreadyIgnoring && hint && hint.type === 'if',
                ignoreElse = !alreadyIgnoring && hint && hint.type === 'else',
                line = node.loc.start.line,
                col = node.loc.start.column,
                makeLoc = function () { return  { line: line, column: col }; },
                bName = this.branchName('if', walker.startLineForNode(node), [
                    { start: makeLoc(), end: makeLoc(), skip: ignoreThen || undefined },
                    { start: makeLoc(), end: makeLoc(), skip: ignoreElse || undefined }
                ]),
                thenBody = node.consequent.body,
                elseBody = node.alternate.body,
                child;
            thenBody.unshift(astgen.statement(this.branchIncrementExprAst(bName, 0)));
            elseBody.unshift(astgen.statement(this.branchIncrementExprAst(bName, 1)));
            if (ignoreThen) { child = node.consequent; child.preprocessor = this.startIgnore; child.postprocessor = this.endIgnore; }
            if (ignoreElse) { child = node.alternate; child.preprocessor = this.startIgnore; child.postprocessor = this.endIgnore; }
        }

Did you ever follow-up on this issue in the new monorepo @shaicantor? This is the only relevant Issue I could find ...

@seanpoulter, no.
We moved to nyc and istanbul-lib-instrument.
If I'm not mistaken, it has the same issue there as well.
https://github.com/istanbuljs/istanbuljs/blob/master/packages/istanbul-lib-instrument/src/visitor.js#L362


[Fix] Tidy Cross Build Tools

Status
DEVELOPMENT
Description

Use Autoware DockerHub repository instead of esteve's one (#1390).
Change the directory of cross build tools from generic to crossbuild.
Add README.md in docker/crossbuild/

Related PRs

branch
PR

develop
#1375

Todos

[x] Tests
[X] Documentation

Steps to Test or Reproduce
https://github.com/kfunaoka/Autoware/tree/fix/crossbuild_tools/docker/crossbuild

I'm testing now. I appreciate any comments.

Works fine on my PC and 96board

@kfunaoka now that I have write access (thanks!) I can merge the PR if you are ok with that.

@esteve Thanks! Would you merge this one?
catkin_generate_changelog seems to add all commit messages into changelog. So it seems better to use Squash and merge of GitHub interface, and delete redundant commit messages if exist.

@esteve Thank you for merging!

catkin_generate_changelog seems to add all commit messages into changelog. So it seems better to use Squash and merge of GitHub interface, and delete redundant commit messages if exist.

@kfunaoka Sorry about that, I didn't know what the policy was.

@esteve NP :) As you can see, some changelogs are dirty. We should keep up contribution rules in wiki.


Order of elements not maintained in container when image is used

Describe the bug
When an <svg-image></svg-image> tag is used along with other elements for example <svg-line></svg-line> then the lines get hidden behind the image. As per SVG docs 1.1 to z-index of each element is maintained through the order in which elements are added to container. Element placed 1st will have lower z-index while than the element placed last in the container
To Reproduce
Here is the sample code.
<svg-container containerId="rootSvg" *ngIf="!loading" [height]="height">
    <svg-image [imageUrl]="storyImg.src" [x]="image.x" [height]="image.height" [width]="image.width" [y]="image.y" [classes]="imgCss"></svg-image>
    <svg-line [borderSize]="line.borderSize" [borderColor]="line.borderColor" id="line1"
          [x0]="line.x0" [y0]="line.y0" [x1]="line.x1" [y1]="line.y1" *ngFor="let line of lines"></svg-line>
  </svg-container>

Expected behavior
As per above code  the image should be rendered as first element in svg conatiner and then all of the lines should come.
Actual behavior
When you inspect element in chrome the image is being rendered last due to which lines get hidden behind the image.
Desktop (please complete the following information):

OS: Windows
Browser Chrome

Hi thanks for your request. I'll try to make this one in the next big release v1.3.0 . Will let you know when it is released.

Hi thanks for your request. I'll try to make this one in the next big release v1.3.0 . Will let you know when it is released.

Hi! Just released version 1.3.0 which fixes this. Please let me know if there are any other issues.

Hi! Just released version 1.3.0 which fixes this. Please let me know if there are any other issues.

Hi! Just released version 1.3.0 which fixes this. Please let me know if there are any other issues.

Thank You so much

Hi! Just released version 1.3.0 which fixes this. Please let me know if there are any other issues.

Thank You so much


Adding diKTat (Kotlin linter) to the list

What is diKTat:

DiKTat is a formal and strict code style for Kotlin with implementation in a linter.
DiKTat is a collection of Kotlin code style rules implemented as AST visitors on top of KTlint framework. This linter can validate (check) and automatically fix (format) the code. The set of rules (visitors) is bigger than in ktlint standard set of rules (~100 inspections already). All rules are highly configurable.
DiKTat is used to detect (and partially fix) code-style issues, codesmells and bugs in code. And comparing to other linters - it has a very strict and properly documented code-style that it is implementing. But anyway gives a chance to configure or suppress inspections (from code or using configuration file).
DiKTat can be run with it's own maven plugin/gradle plugin/cli
DiKTat has been added to awesome-kotlin list:
https://github.com/KotlinBy/awesome-kotlin/blob/readme/README.md#tools-back-

Nice tool. We should add it.
The README.md is actually rendered from the data folder. Can you add a new YAML file at https://github.com/analysis-tools-dev/static-analysis/tree/master/data/tools to add the tool instead? 😅

Nice tool. We should add it.
The README.md is actually rendered from the data folder. Can you add a new YAML file at https://github.com/analysis-tools-dev/static-analysis/tree/master/data/tools to add the tool instead? 😅

updated :D  if you will merge - please squash commits as I have not amended them

Merged. Thanks for the PR @akuleshov7. 👍

Entry is live now. 🥳
@akuleshov7 would you mind adding your first comment to the comments section of that page? It's valuable information that could help people make an informed decision about the tool.

Entry is live now. 🥳
@akuleshov7 would you mind adding your first comment to the comments section of that page? It's valuable information that could help people make an informed decision about the tool.

oh, I don't see where to add...

Thanks! Nicely done. ⭐


[CP] Fix custom engine embedding build failure

issue_link
https://github.com/flutter/flutter/issues/110936
Commit Hash
c294429770081f43db967db96132e13260aa4210
Target
stable
pr_link
https://github.com/flutter/engine/pull/36054
Impacted Users
Users creating custom engine embeddings building with gcc
Impact Description
The build of custom embeddings based on the 3.3 stable branch of the engine are currently broken if they use an up-to-date gcc.
Workaround
Various hacks are possible, but not desirable.
Risk
low
Test Coverage
yes
Validation Steps
The customer validated that the patch fixes the build.

Approved by @jason-simmons in https://github.com/flutter/flutter/issues/96282.

Merged in Flutter 3.3.2.


Fix for case-sensitive file systems (Linux)

Motivation
This is a solution to issue #9.
I've tried to get Dupery to run with the example mod Print Cassady on Linux.
It turns out that due to the personalities.json not being called PERSONALITIES.json Dupery doesn't detect it when running on systems with case-sensitive file systems (for example Linux) where such things do make a difference.
While the problem comes from mods not naming their PERSONALITIES.json correctly, I find this issue to be more easily fixed in Dupery.
Otherwise every mod maker with that issues would have to change their file name without it making issues to most (windows) users.
Changes
If the PERSONALITIES.json is not found as usual, instead of giving up, a search with a case-insensitive regex is started in the top-level of the mod folder.
The first match is then used as the expected PERSONALITIES.json
Testing
I've tested this by creating new games in ONI and checking that Cassidy appears in-game as well as in the Player.log.
This change works for me on Linux and Windows without issue and fixes issue #9.

Look good to me, thanks for the contribution! I'll roll it into the next update.


Add support for core::ops::Bound

I have encountered a case where I would like to use Bound<Cow<'a, str>> and borrow the string from the deserialized buffer instead of copying. To use BorrowStr, I had to add support for core::ops::Bound to serde_with.

Thanks for the PR. It makes sense to support Bounds. The code needs some updates, especially the tests. The trait implementations look OK.

Thanks for taking the time to review my changes. I have applied your suggestions.

Thanks for the changes. It looks good now.
bors r+


Implement configuration outside the pass

Fixes #173
This configuration does not touch the container, which means there is
nothing to be cached. Once the cache is generated, things don't work
anymore.

@hug963 @regularjack , can you confirm this fixes the bug?

I tried it quickly and it seems to work.
:thumbsup:

I confirm this works. Thanks @greg0ire and @hug963 for fixing this!

No problem, we're all human. I also should've caught it in the other PR :)


Blank options screen

Tried re-downloading it multiple times, didn't make a difference.

Hi @lathidadia,
Just check on my computer and it's OK.
Could you do theses steps:

Right click on the options page: Inspect
Go to Console tab
Refresh
Capture your screen

Bests

Hello Syl,
20160229_083648.jpg
https://drive.google.com/file/d/0B6uCFaQrOLmDMkFHV29vS1R5ZWM/view?usp=drivesdk
Hi @lathidadia https://github.com/lathidadia,
Just check on my computer and it's OK.
Could you do theses steps:

Right click on the options page: Inspect
Go to Console tab
Refresh
Capture your screen

Bests
—
Reply to this email directly or view it on GitHub
https://github.com/sylouuu/chrome-tab-modifier/issues/19#issuecomment-189161365
.

Hi @lathidadia,
I don't have any access to view your file, please answer from GitHub, not by your inbox and please drag your file here.
Bests

I never seen something like that, no apparently error.

What Chrome version are you using?
Check that you have the latest Tab Modifier version, 0.9.3: chrome://extensions/?id=hcbgadmbdkiilgpifjgcakjehmafcjai
Are you in a company private network with restrictions or home network without firewall?
Make another screenshot with the "Network > All" tab

Bests

Also affected here on Linux, Chrome Version 47.0.2526.73 (64-bit)

Hi @bezirg,
I just installed a fresh Ubuntu 14.04 version with the latest Chrome (49) and it's OK.

Can you update your Chrome?
Can you tell me what Linux distribution are you using?

Bests

Our firewall was blocking it (at work) and it works ok when I installed it
again at home.
On 3 Mar 2016 8:16 pm, "Syl"<EMAIL_ADDRESS>wrote:

I never seen something like that, no apparently error.

What Chrome version are you using?
Check that you have the latest Tab Modifier version, 0.9.3:
chrome://extensions/?id=hcbgadmbdkiilgpifjgcakjehmafcjai
Are you in a company private network with restrictions or home
network without firewall?
Make another screenshot with the "Network > All" tab

Bests
—
Reply to this email directly or view it on GitHub
https://github.com/sylouuu/chrome-tab-modifier/issues/19#issuecomment-191669931
.

Glad it's OK for you @lathidadia.
Bests

I still have it w/o firewall, i will try to update my chrome

[Since this issue has already been closed, perhaps I should open a new one instead...]
I am having this exact same issue.  chromium-49.0.2623.87 on Gentoo Linux, Tab Modifier version 0.9.3.  Same behavior whether I pass traffic through a Squid proxy or go direct.  Tried disabling all other extensions, no change.
Maybe some font issue?  I can see that the "blank" pages are reactive to user input, indeed I can click around to bring up some sub-menus etc., which do show some text and decorations; see the screenshot.

Hi @hlein,
Can you see some messages in the browser console?
Bests

Hm, nope there are no messages/errors in the console (you mean from ctrl-shift-j, right?)
I noticed something else.  If I mouse-select over the area that has no visible text, I can paste into an xterm or whatever and get readable text.
So that makes me think the text is there, it's just rendering in an invisibly small font and/or colors that make it invisible.  Thus - no "error" to speak of.
I drilled into the elements in the console, maybe this screenshot will give you some insight into what's going on (it does not really help me ;).
Thanks!

Hi @hlein,
Thank's for the screenshot.

Can you try with Chrome instead of Chromium?
Can you try to update Chromium to version 51?

I've downloaded and tested with Chromium 51 on Windows, it's OK for me.
Bests

Hi,
I tried installing/upgrading both Chrome 51.0.2687.0 and Chromium 51.0.2687.0 on Gentoo Linux, same behavior.
During Chrome installation I saw a warning to make sure I had some particular font packages installed; I also installed them, but same behavior as before.

Hey,
I suggest that Gentoo can't "read" the web font "Fira Sans" used by the extension.
Can you the font on theses pages ?

https://www.fontsquirrel.com/fonts/fira-sans
https://www.google.com/fonts/specimen/Fira+Sans

I also found this article.
Otherwise try to install it.
HTH ;)

I suggest that Gentoo can't "read" the web font "Fira Sans" used by the extension.

Bingo!  I did not have that font installed.  It was available; I installed it (using "emerge media-fonts/fira-sans") and restarted Chrome / Chromium and the extension's options page looks perfect now.  Gentoo packages can specify other packages (including fonts) as dependencies so they get installed automatically, but apparenlty fira-sans is not a dep for either chromium or chrome.
@lathidadia and @bezirg , if you still have Linux systems where you are having this issue, make sure you have fira-sans installed.
@sylouuu I don't know if you want to put some kind of font sanity-check in a future version so you can present an error/warning message in a more generic font telling the user how to fix it :)  Perhaps this issue will be sufficient.

@hlein Glad we have found the issue and thank you for your patience. :)
I just added a note to the README file about this behavior.
Enjoy Tab Modifier! :+1:

Fira Sans will not be more a problem, the fond has been removed in 0.12.1.


No spacing between buttons

What region template?
What button position? (for both buttons)

There you have the options (same for both buttons, just changing background color)
(Page template standard)

I also noticed additional issues. If you set horiztonal alignment to right for one of them and the other one to left, it shows as:

(Not aligned to right of body (black region)

And if you place both of them "Horizontal alignment" to right, then they show to left:

Fixed as part of https://github.com/vincentmorneau/material-apex/commit/7aa3bc09efcf7b9aec2d33d094fccafc11ca0f60 and https://github.com/vincentmorneau/material-apex/commit/3737efa9b38dc0c2a6d80f754d7e602a6b183861


Updated doc

I fixed some function names in notebook distances.

Codecov Report

Merging #34 into master will decrease coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
- Coverage   81.02%   80.90%   -0.12%
==========================================
  Files          10       10
  Lines         548      550       +2
  Branches      114      114
==========================================
+ Hits          444      445       +1
- Misses         76       77       +1
  Partials       28       28

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 6bb7562...6dcf861. Read the comment docs.

Codecov Report

Merging #34 into master will increase coverage by 4.31%.
The diff coverage is 75.8%.

@@            Coverage Diff            @@
##           master     #34      +/-   ##
=========================================
+ Coverage   76.59%   80.9%   +4.31%
=========================================
  Files          10      10
  Lines         534     550      +16
  Branches      107     114       +7
=========================================
+ Hits          409     445      +36
+ Misses        100      77      -23
- Partials       25      28       +3

Impacted Files
Coverage Δ

persim/_version.py
100% <100%> (ø)
:arrow_up:

persim/__init__.py
100% <100%> (ø)
:arrow_up:

persim/visuals.py
58.87% <24.48%> (-2.05%)
:arrow_down:

persim/gromov_hausdorff.py
81.66% <81.66%> (-2.11%)
:arrow_down:

persim/wasserstein.py
91.3% <91.3%> (ø)

persim/bottleneck.py
98.38% <96.87%> (-1.62%)
:arrow_down:

Continue to review full report at Codecov.

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


pod mapping via cgroup ids

This PR implements pod association with cgroup ids instead of cgroup names.
It achieves this by:

maintaining a mapping from cgroup ids to container ids (cgidmap)
using runtime-hooks to initialize the mapping before the container starts
using the k8s API watcher to update the state of the pods and containers
talking to the CRI  to update missing mappings (this is useful for pods started before tetragon)

The immediate concern that this PR tries to address is fixing pod association on recent^1 versions of crun (an OCI container used by cri-o) not working. See https://github.com/cilium/tetragon/issues/2639.
In addition to that, it offers a more reliable way to associate pods since it is based on authoritative information provided by runtime hooks and the CRI.

Thanks for the review @mtardy. Pushed a new version.

Generic comment it would be best to keep patch max patch count around 10 or so this is getting rather large. Just for future.

Kornilios what you mean by "talking to the CRI to update missing mappings (this is useful for pods started before tetragon)" ?  and curious why we can't just do that from /proc?

Kornilios what you mean by "talking to the CRI to update missing mappings (this is useful for pods started before tetragon)" ? and curious why we can't just do that from /proc?

I mean that we are talking to the CRI (cri-o or containerd) socket to get information for existing containers. This information includes the cgroup path of the container, which we use to find the cgroup id. I think it should be possible to scan the filesystem and find the cgroup paths without talking to the CRI (ineed the policyfilter code does this), but the CRI is the source of truth for  this and using it seems like the best approach to  me.

Merging this. Left a couple of followups in the PR description based on the comments. Thanks everyone!


[HOLD for payment 2024-11-05] [$250] Invoices - Invoice thread (x owes y) appears in participant list when sending invoice offline

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.41-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go offline
Create a new workspace
Go to workspace settings > More features
Enable Invoices
Go to FAB > Send invoices
Send invoice to anyone in offline mode
Go to FAB > Send invoices
Enter amount > Next

Expected Result:
Invoice thread (report title "user owes x") should not appear in the user list
Actual Result:
Invoice thread (report title "user owes x") appears in the user list
When selecting the thread as the recipient, it ends up sending an invoice to yourself
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/302347bf-3f40-4ba1-9fee-74ed7d5e2e13
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021844118840980357719
Upwork Job ID:<PHONE_NUMBER>980357719
Last Price Increase: 2024-10-16
Automatic offers:

mkzie2 | Contributor | 104518233

Issue OwnerCurrent Issue Owner: @JmillsExpensify

@JmillsExpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-bills

Proposal
Please re-state the problem that we are trying to solve in this issue.
Invoice report is included in send invoice participants list.
What is the root cause of that problem?
We're excluding multiple participants reports here:
https://github.com/Expensify/App/blob/b76fb4555e8390a3cb5f1188aebb36a894172ca8/src/libs/OptionsListUtils.ts#L1973-L1975
Where an undefined/empty reportOption.login indicates a report with multiple participants (i.e. reports with defined login has 1 participant only):
https://github.com/Expensify/App/blob/b76fb4555e8390a3cb5f1188aebb36a894172ca8/src/libs/OptionsListUtils.ts#L797-L798
When we create the optimistic invoice report, for participants, we only include the current user, not the receiver account:
https://github.com/Expensify/App/blob/b76fb4555e8390a3cb5f1188aebb36a894172ca8/src/libs/ReportUtils.ts#L4352-L4356
That makes the invoice report be misunderstood as report with only 1 participant while it is supposed to be multiple (compared to actual BE response).
What changes do you think we should make in order to solve the problem?

Add receiverAccountID to the optimistic participants above.
participants: {
    [currentUserAccountID ?? -1]: {
        notificationPreference: CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN,
    },
    [receiverAccountID]: {
        notificationPreference: CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN,
    },
},

Opened up to external

Still the same. Waiting for proposals

@rushatgabhane Can you review my proposal https://github.com/Expensify/App/issues/49941#issuecomment-2384381346?

@lanitochka17 How did you pass the step of company info (name and url) at the invoice?

Payment summary:

Contributor: @mkzie2 $250 via Upwork
Reviewer: @rushatgabhane $250 via NewDot.

Paid contributor via Upwork. @rushatgabhane I'm going to close this one out. I'm assuming you already have it on your radar, so please make sure that you finish the checklist and then submit an expense via Expensify.

$250 approved for @rushatgabhane


Simulate DynamoDB Locally

This is a Feature Proposal
Description
Support DynamoDB through dynalite or dynamodb local
I'm leaning towards dynalite as it would be easy to integrate.
It would be important to inject a SERVERLESS_SIMULATE_DYNAMODB_ENDPOINT environment variable into the container

It might also be an idea to allow seeding the DynamoDB tables as well, not sure if dynalite has a mechanism for that. I must confess, my Docker knowledge is 💩  so not sure if I can help with a PR 😞

We're using dynalite for the most, dynamodb local gave us some issues in CI.

Do you already have some ideas around implementation? For example are you thinking about parsing serverless.yml:Resources in order to find DynamoDB::Table resources? Would love to help out with this.

@nicka would love some help. I was definitely thinking of finding Tables in serverless.yml and creating them in dynalite automatically.
An important implementation consideration is that this should support a scenario where developers are trying to test multiple serverless services. The plugin currently supports this by separating Lambda & API Gateway. When you start the API Gateway simulation, it registers functions with the Lambda service.
Similarly, we need a way for the plugin to create tables with a DynamoDB local service. There's a few considerations in terms of developer experience. There's a few options I can thinking of

Registration command.
A new command to register local resources like dynamodb or kinesis .
i.e. sls simulate register-resources --dynamodb-port xxxx

Hook into apigateway command
When the users executes sls simulate apigateway --lambda-port xxx  --dynamodb-port xxxx create dynamodb tables during startup.

A new command that does everything
sls simulate start --lambda-port xxx --dynamodb-port xxx --kinesis-port xxxx

The other consideration is that the Lambda service inject the DynamoDB endpoint into the environment to allow functions to access this. One option is to create those variables during function registration. So each function could in theory use a different DynamoDB endpoint if required.
The UX of this is really important so I'm keen to hear your thoughts. Happy to make breaking changes now to get this right.

We currenly use the dynamodb local combined with a docker image, we could easily just run up a new docker image based on the resource you need, similar with any moto[server] services.
docker-compose
version: '2'

services:
  dynamo:
    image: tray/dynamodb-local
    ports:
      - "7777:7777"
    command: -port 7777 -inMemory -sharedDb
    networks:
      - frontend

networks:
  frontend:
    driver: bridge

IMO it'd be nice to have the plugin configuration under custom in the serverless.yml. That way I can move any configuration out to an external file and reference it instead:
custom:
  simulate:
    services:
      - apigateway:
          ports: 5000:4000
      - dynamodb:
          port: 6000:4000
          tables:
            - table1
            - table2
            - table3
          seeds: "./seeds/runAll.js"

I can see everyone going to ask to simulate there favorite solution, rather than recreate docker-compose inside the the serviceless.yml
Options

maybe we need to add a feature to allow for a script to be executed before startup at minimum.
reference a docker-compose.yaml
use simulate configuration and if simple start the docker container, else construct a docker-compose.yml.

option 1
custom:
    simulate: 'startup.js'

option 2
custom:
    simulate: 'docker-compose.yaml'

option 3
custom:
    simulate:
        build: moto
        ports:
          - "5000:5000"
        environments:
        networks:
        ...

Options 2 and 3 can kinda sorta be merged with Serverless' own variables mechanism:
custom:
  simulate: ${file(./docker-compose.yml)}

@hassankhan I am award that that its possible to do that, but you missed the point, the custom simulate config reference is there to either run a docker container, run docker-compose or generate a docker-compose file to run before the plugin starts.

Resolved with #37

Sorry guy. I setup the s3 to try access from my lambda.
the problems i don't know the endpoint for my s3 service. docker said it's localhost:8000
How can i do it? i dont have much experience on docker.
Thanks

@yoyeung can you upload your docker-compose.yml file.

@gertjvr
actually it's same as the example one.
version: '2'

services:
  s3:
    build: images/moto
    hostname: s3
    command: [s3, "-H", "<IP_ADDRESS>"]
    ports:
      - "8000:5000"

and the container ip is localhost:8000

if i using Virutal box i can get the ip, but using native docker i cannot.


⚠ ClamAV has degraded performance

In 5cc3e10, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 204 ms

Resolved: ClamAV performance has improved in cf5995d after 13 minutes.


Clarify warning for using features or default-features in patch

When attempting to substitute a local version of a dependency, since the
patch section uses syntax similar to a dependency (and the
documentation even says "The syntax is similar to the [dependencies]
section", it's natural to assume that other things from [dependencies]
also work, such as features or default-features. Attempting to use
them produces this warning:

patch for crate-name-here uses the features mechanism.
default-features and features will not take effect because the patch dependency does not support this mechanism

The phrasing "the patch dependency does not support this mechanism"
makes it seem at first glance like patch just doesn't support this at
all. But the actual problem is that the user needs to move the
features/default-features keys to an entry in dependencies
instead.
Modify the message, to make this more obvious.
Modify the corresponding warning for replace as well.
Update tests accordingly.

Discovered while trying to help @benwis debug an issue.

:umbrella: The latest upstream changes (presumably #13561) made this pull request unmergeable. Please resolve the merge conflicts.

@joshtriplett Sorry for the delay. It looks like you maybe wanted to change it to the warn()/note() suggested above? Is that something you can do?

@ehuss Yes, though I expect it'll be a little while before I get to updating it.


Change build to use reusable workflows

Changes introduced with this PR
This PR reworks the build workflow

rename the workflow file to the conventional extension
switch to using reusable workflows for

lint and test
building the release
building the Python wheel

By contributing to this repository, I agree to the contribution guidelines.

Now that https://github.com/arcalot/arcaflow-reusable-workflows/pull/16 is merged, we're ready to try this.

This PR is having the same problem as https://github.com/arcalot/arcaflow-docsgen/pull/23#issuecomment-2040749623 with the "release" check.
Also, it's having the same problem that https://github.com/arcalot/arcaflow-docsgen/pull/22 had, with the organization variable values not being available in the called workflow.  Unfortunately, unlike the Go release workflow which blunders on without it, the Python release workflow dies.
So, @jaredoconnell, unless someone has an objection, you should use your Admin override to merge it; and, if it doesn't run properly after that, we'll fix it then.

Now that I think of it, I think we need to pass the org variables in from the calling workflow, and have them as input variables in the reusable workflows. I now remember Justin running into this with secrets.

I think we need to pass the org variables in from the calling workflow, and have them as input variables in the reusable workflows. I now remember Justin running into this with secrets.

Org variables, environment variables, inputs, and secrets are all separate, individual things with individual handling (and frustrations).
Org variables do work, once the workflow is merged in -- we already have evidence of that in go_lint_and_test.yaml.  (Secrets, on the other hand -- except for the GITHUB_TOKEN 😛, which is special -- do have to be passed in.)
I suspect that passing the values of the org variables as inputs would get us past the problem of not being able to test prior to merging (and, it would better encapsulate/uncouple the reusable workflows), so it wouldn't be a bad thing.  I had contemplated using that approach, but go_lint_and_test.yaml was already using the organization variable directly, and I didn't really want the two new workflows to be different, so I had them use the variables directly as well.
I s'pose I'll retool all three of them.

This PR is now back in draft awaiting https://github.com/arcalot/arcaflow-reusable-workflows/pull/17.

This PR has been superseded by #171, in the hopes that, because that's pulling from a branch in the upstream repo, it will test cleanly.


Switch to in-toto statements

Experimental. Haven't changed the tests yet, either.
See: https://github.com/python/peps/pull/3768

Moving forwards with this for now; can be reverted as a single commit if we need to.


Store metadata and BIOM data in a compressed format in the HTML / JavaScript

Closes #158.
The bulk of the changes here are in the new compression_utils python module (which gets compressed data ready to send to jinja2), and in the JavaScript BIOM table code (the compressed BIOM / sample metadata is formatted pretty differently from the previous way this data was stored, so I ended up rewriting most of the BIOM code -- the existing JS BIOM tests made this much less painful than I thought it might be :). I also added a decent amount of tests for the above modules, and made a few other changes throughout the codebase.
In terms of size compression, the early result from here still holds on the HMP dataset: the empress.html file goes down from 47MB to 26MB. The loading times seem... maybe slightly faster? but still mostly the same, at least for this dataset. Should probably benchmark this with an even larger dataset, though.

@ElDeveloper I've addressed all of the comments (with the exception of the two discussions on the checks at the start of compress_sample_metadata()) and merged in the changes from upstream, so conflicts should be resolved. Please let me know if you'd like to discuss things further tomorrow so we can get this in for the release!

Thanks @fedarko!


RES soft shutdown

Need a motor shutoff command for non-emergency situations.
Saves activating the EBS when we want to stop the car after a run.

RES remote controlled or computer controlled?

handled in EBS embedded state machine


diagnostic: increase minimum git version to 1.8.5

[x] Have you followed the guidelines in our Contributing document?
[x] 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.
[x] Have you successfully run brew tests with your changes locally? (except for Gpg::create_test_key failure)

older versions do not support the git -C <path> option
this is necessary for #2398
cc @MikeMcQuaid

nice work @JCount!


setuptools fails to install package yet returns success

tl;dr python setup.py install fails to build the package. Process return code is 0, should be !0
Reproduction
Given test code files
./setup.py
./setuptools_test1/code.py
./setuptools_test1/__init__.py

Where ./setup.py is
from setuptools import setup
setup(
    name='setuptools_test1',
    version='0.1',
    packages=['setuptools_test1'],
    install_requires=[]
)

Where ./setuptools_test1/code.py is
#!/usr/bin/env python3.7
print 'bad python 3 code'

Where ./setuptools_test1/__init__.py is an empty file.
Create a virtual environment (using Python 3.7). Activate it.
$ virtualenv --python=python3.7 .venv-3.7
...
$ source .venv-3.7/bin/activate

Run setuptools install.  Notice failure and success return code (output abbreviated)
$ python3.7 setup.py --verbose install
running install
...
copying build/lib/setuptools_test1/__init__.py -> build/bdist.linux-x86_64/egg/setuptools_test1
byte-compiling build/bdist.linux-x86_64/egg/setuptools_test1/code.py to code.cpython-37.pyc
  File "build/bdist.linux-x86_64/egg/setuptools_test1/code.py", line 2
    print 'bad python 3 code'
                            ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('bad python 3 code')?

byte-compiling build/bdist.linux-x86_64/egg/setuptools_test1/__init__.py to __init__.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
Finished processing dependencies for setuptools-test1==0.1

$ echo $?
0

Return code 0 will not stop callers from continuing processing, leading to more confusing problems much later in a workflow.  setuptools needs to signal failure to the caller with a non-zero return code.
Additionally, setuptools continues to process further byte-compiling operations despite the failure.  By default, it should gracefully exit after any byte-compiling failure.
Some users may want setuptools to continue in spite of byte-compile failures (some users may need the current behavior)?  Perhaps a flag could be added, like --ignore-compile-failures.

version tested
$ python3.7 --version
Python 3.7.1

$ python3.7 -c 'import setuptools;print(setuptools.__version__)'
41.0.1

@jtmoon79 This is actually a duplicate of #1637, but I appreciate that your issue contains steps to reproduce, I think I'd like to leave this one open instead of that one.
I think there are a few problems with the way this is framed, however.  For one thing, setuptools is not actually failing to install this package, it just failed to compile the source code, which is not a mandatory step in the installation. The package actually installs just fine, it's just that if you try and use it, you'll encounter a syntax error. The real question is whether we should refuse to install code that cannot be compiled or not.
Another thing to note is that setup.py install is semi-deprecated in the sense that we are not fixing bugs that arise from executing setup.py install if the bug is not present when you invoke pip install instead. In this case, the behavior is the same in both cases, but I wanted to bring that to your attention both to educate you about using pip install so you have a better experience and to improve the response time for future bugs you might file (and I encourage you to do so if you find them since, again, I really appreciate the detail that went into this one).


feat: Helm chart

Is your feature request related to a problem? Please describe.
I am planning to build a Helm Chart for the deployment of Argus.
I would make it available, as a subfolder called chart or helm.

Cool. I'm leaning towards chart. Was unsure about whether it should be a separate repo but am not too fussed if you'd prefer it here. Look forward to seeing it :)

I am currently still in the process of thinking for a nice scheme for the values because I plan to include quite a few config options.
So that it works also with Openshift.
We can also use a separate repo for this.

The current version of the chart can be found in this repo and should already work.
larsl-net/argus-helm
Tested with a K3s Cluster version v1.24.8+k3s1
Not yet tested with Openshift

Nice, thanks for this! ⭐
I'd prefer the Helm chart as a separate repo, so would you mind making a PR to merge your repo with release-argus/Helm please? I'll try and test this out in the next few days

@JosephKav GitHub won't let me open a PR. Is it possible that Helm Repo needs a branch first?

Yeah that was probably it, sorry. I've sorted it now by copying your README


Auto reload for projects that don't have coverage.out files yet

Setup
I've setup nvim-coverage with auto_reload.
local coverage = require("coverage")
coverage.setup({
  auto_reload = true,
})

Expected
When I open a project without coverage, no coverage is displayed.
When I create a coverage.out file by running my tests, the coverage is automatically displayed.
Details
When I open up a project where I haven't ran code coverage I get a notification in the bottom.

But, when I run the tests, and create the coverage.out file that it's expecting, the code coverage isn't automatically displayed. I have to manually run :Coverage.
Once I do this, the test coverage is displayed and if I update the coverage file, the updates are reflected in the UI.
Suggestion
If there's no coverage file at startup, keep checking to see if one gets added later.
Thanks for the tool. It's great!

That's great, thanks a lot! However, it does make me press "Enter" to get rid of the message every time I open a file in a project where I haven't ran the test suite yet.
Any chance you could make it so that if the coverage is there, show it, but otherwise, don't bother me unless I interact with the commands?

The plugin uses vim.notify for outputting messages so something like this could work to temporarily suppress messages.
vim.api.nvim_create_user_command("QuietCoverage", function ()
    local prev_vim_notify = vim.notify
    vim.notify = function() end
    require('coverage').load(true)
    vim.notify = prev_vim_notify
end, {})

Then use :QuietCoverage to load the coverage. Of course, that means you'd miss any error messages too but you could implement the body of your custom vim.notify to just ignore vim.log.level.INFO.


Fix reading metadata from ELF sections

This PR fixes reading in the ELF sections related to metadata. Since the Section Table Header and String Table are not present in the process, we read them from the executable's file instead. We then read the relevant sections from the offset given by the Section Table Header in the process's address space.
@adrian-prantl @vedantk

@mikeash @jckarter @compnerd Could you take a look, please? (I can't request reviews the normal way since I don't have write access).

How do we get access to the file? There might not be one if the target is a running process.

How do we get access to the file? There might not be one if the target is a running process.

It's a good point to raise that we need to gracefully handle the case where the buffer is empty. For the debugger use-case LLDB knows how find the file for a process.

How do we get access to the file? There might not be one if the target is a running process.

@jckarter Right now, using the ObjectFile API in LLDB, see: https://github.com/apple/llvm-project/pull/1608
I think that if we'd like to do this using only the running process, we'd need to undo the stripping of Section Table Header and mark shstrtab as alloc.

If that's a possibility, mapping the section table header sounds like an interesting thing to try, since it would allow ELF handling to behave more like Mach-O and PE handling on Mac/Windows, and let us avoid bugs/exploits where the binary on disk drifts from what was originally mapped into memory.

@jckarter I just talked with @compnerd. Unfortunately, there's no way we can guarantee the Section Header Table is present in the running process, as it's removed by the stripper and we have no control over it :(

I think we're almost there!

@swift-ci smoke test

@adrian-prantl thanks for iterating on this with me so quickly!

@swift-ci smoke test

@adrian-prantl It looks like some tests depended on the old readELF. I have no idea how that'd work, since even if the section header and string header were present, the old implementation had a bug where it'd read some data that was already freed... I'll debug the tests here to understand how they were passing when reading only from the process.

@adrian-prantl We actually need to keep readELF working with only the image start. This is used when the MemoryReader instance reads from a file (in the failing tests, swift-reflection-dump's ObjectMemoryReader).
I've updated the PR to read from the buffer if it's present, otherwise read using the MemoryReader. I've also made sure we read everything from the buffer if it's available.

@swift-ci smoke test

@swift-ci smoke test


Make signals and coroutines thread safe

This fixes #34752.
Functions that read or modify signal_map or its contents are protected by a mutex. Signal emission now copies the relevant callables before emission so that the mutex can be unlocked while the signal is being emitted. This allows multiple signals to be emitted simultaneously, from different threads. As a side effect, coroutines are now thread safe too, allowing you to use await on a thread, or to await a signal emitted on a thread.
Performance of the relevant functions is slightly impacted. Using this project to test the speed:

add_user_signal takes 8% longer
connect takes 8% longer
emit takes 11% longer
disconnect takes 18% longer
free takes 16% longer

For the record, @RandomShaper and @reduz are currently making plans for better thread safety in 4.1, but these proposals and implementations will likely happen in a month (after GDC). So you might hear more from them then.

Any news on reviewing/merging this?

CC @RandomShaper

I don't think this is in the roadmap for now. In other words, Object is not meant to be thread-safe. User has to apply their own lock/sync measures. The current goal is to allow multiple nodes being processed at the same time plus whatever derived change to let that happen (to the minimum extent; that is, if it's OK that something is R/O during group processing, let's not complicate it further by trying to make arbitrary operations thread-safe, especially not from threads not belonging to the group processing framework).
All that said, I'm intrigued by https://github.com/godotengine/godot/issues/60098#issuecomment-1490112203, about how some seemingly safe operations can incur in threading issues because of signals not being thread-safe out of the box. I'd really like to know which those cases are to assess if there's a better alternative to making Object thread-safe and the associated cost.

Closing, as this seems to conceptually conflict with the new threading system.


NIFI-8477: If interrupted while waiting for Node Status Update to be …

…replicated to other nodes, do not throw ProtocolException; instead just log a warning and return.

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

This branch/PR was tested in a docker build deployed to ECS where the indicated behaviour of not being able to remove a disconnected (and zombie/gone) node was repeatable 99.99% of the time. After deployment of this branch we were able to successfully remove a zombie/disconnected node via the UI as well as via the toolkit api calls 100% of the time during our test runs

based on feedback/testing +1


hotfix/learningSuite -> dev

This change is

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.

byuSuite/Apps/LearningSuite/model/LSUtils.m, line 40 at r1 (raw file):

    NSMutableDictionary *temp = [NSMutableDictionary dictionaryWithDictionary:@{SECTION_TITLE_KEY: @"COURSE PROGRESS"}];
    NSMutableArray *rows = [NSMutableArray array];
    if (currentProgress.currentProgressTitle && currentProgress.currentProgressDescription && currentProgress.currentProgressDisclaimer && currentProgress.currentProgressPoints && currentProgress.currentProgressPercent) {

Instead, either SHOW the whole thing, or DON'T SHOW the whole thing. Make sense?

Comments from Reviewable

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion.

byuSuite/Apps/LearningSuite/model/LSUtils.m, line 40 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Instead, either SHOW the whole thing, or DON'T SHOW the whole thing. Make sense?

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


[BACKLOG-23268] - typos in mdi description

@pentaho/ackbar please review

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/impls/jms/src/main/resources/org/pentaho/di/trans/step/jms/messages/messages_en_US.properties


Blog App: Integration Specs for Views and Fix n+1 Problems

Work Done
n+1

The N+1 problem is solved when fetching all posts and their comments for a user.

Integration specs

Used Capybara to write integration tests for each view in the project.

User index page:

I can see the username of all other users.
I can see the profile picture for each user.
I can see the number of posts each user has written.
When I click on a user, I am redirected to that user's show page.

user show page:

I can see the user's profile picture.
I can see the user's username.
I can see the number of posts the user has written.
I can see the user's bio.
I can see the user's first 3 posts.
I can see a button that lets me view all of a user's posts.
When I click a user's post, it redirects me to that post's show page.
When I click to see all posts, it redirects me to the user's post's index page.

User post index page:

I can see the user's profile picture.
I can see the user's username.
I can see the number of posts the user has written.
I can see a post's title.
I can see some of the post's body.
I can see the first comments on a post.
I can see how many comments a post has.
I can see how many likes a post has.
I can see a section for pagination if there are more posts than fit on the view.
When I click on a post, it redirects me to that post's show page.

Post show page:

I can see the post's title.
I can see who wrote the post.
I can see how many comments it has.
I can see how many likes it has.
I can see the post body.
I can see the username of each commentor.
I can see the comment each commentor left.

Dear @Whoistolu

Here is a screenshot to show I am on solo this week.
Thank you so much 👍

Thank you

Hello Reviewer
This project was approved last week, I am only repeating the week and I have limited review.
You can confirm here https://github.com/Kingno3l/Ruby-Blog-App/pull/8#pullrequestreview-1820088769
I have implemented everything, Thank you 💯


Highlight Elements border has the the wrong position

Describe the bug
When using Browser Libraries "Highlight Elements" keyword, the border is sometimes not displayed at the right position.
There seems to be an offset in the display position.
To Reproduce
Steps to reproduce the behavior:
test
    New Browser    headless=False
    New Page    https://id.atlassian.com/login
    Highlight Elements    button   10s

Expected behavior
A blue border is displayed to outline the bounding box of the button elements.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: chromium
Version: Version 124.0.6367.29

Additional context
Add any other context about the problem here.

Fix would be to calculate the top & left with the width.
d.style.top = `calc(${rect.top}px - ${options?.wdt ?? '1px'})`;
d.style.left = `calc(${rect.left}px - ${options?.wdt ?? '1px'})`;

async function highlightAll(
    selector: string,
    duration: number,
    width: string,
    style: string,
    color: string,
    strictMode: boolean,
    state: PlaywrightState,
): Promise<number> {
    const locator = await findLocator(state, selector, strictMode, undefined, false);
    let count: number;
    try {
        count = await locator.count();
    } catch (e) {
        logger.info(e);
        return 0;
    }
    logger.info(`Locator count is ${count}`);
    await locator.evaluateAll(
        (elements: Array<Element>, options: EvaluationOptions) => {
            elements.forEach((e: Element) => {
                const d = document.createElement('div');
                d.className = 'robotframework-browser-highlight';
                d.appendChild(document.createTextNode(''));
                d.style.position = 'fixed';
                const rect = e.getBoundingClientRect();
                d.style.zIndex = '2147483647';
                d.style.top = `calc(${rect.top}px - ${options?.wdt ?? '1px'})`;
                d.style.left = `calc(${rect.left}px - ${options?.wdt ?? '1px'})`;
                d.style.width = `${rect.width}px`;
                d.style.height = `${rect.height}px`;
                d.style.border = `${options?.wdt ?? '1px'} ${options?.stl ?? `dotted`} ${options?.clr ?? `blue`}`;
                document.body.appendChild(d);
                setTimeout(() => {
                    d.remove();
                }, options?.dur ?? 5000);
            });
        },
        { dur: duration, wdt: width, stl: style, clr: color },
    );
    return count;
}

I can do that.

@allcontributors please add @HenrikSchuette for bugs.

Was caused by box-sizing being set globally on some pages.
Now it is always content-box which leads to outside border.


LICENSE

Would you mind adding a LICENSE file, to more definitively declare this as MIT and describe your prefer (c) line.
This especially helps with distro packaging, which now expects a LICENSE file to be clearly annotated as such for package consumers. e.g. in rpm there is now a %license .. to identify which file in the tarball is the LICENSE file.

This is done :)