[BUG] - DOCKER - Cannot override config, topology files when passing -e NETWORK=testnet

Internal/External
Internal
Area
other - Docker
Summary
When following the documentation at dockerhub, we're shown how to override --topology, --config, --database-path.  When running the command found in the cardano docs, the command docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data inputoutput/cardano-node run --help works.  But if you add in the -e NETWORK=testnet param, the container fails to start correctly saying "Invalid argument `run'"
Steps to reproduce
Steps to reproduce the behavior:

Install docker
Create your ipc and cardano-node-data volumes
Run docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data inputoutput/cardano-node run --help and see that it works.
Run docker run -eNETWORK=testnet -v cardano-node-ipc:/ipc -v cardano-node-data:/data inputoutput/cardano-node run --help and see that it fails with the message "Invalid argument `run'"

Expected behavior
I expect following the steps in the documentation to work for both testnet and mainnet so as to be able to be able to test my topology in the testnet before I move to mainnet.
System info (please complete the following information):

OS Name: Amazon Linux 2
OS Version 2
Node version (output of cardano-node --version): cardano-node 1.29.0 - linux-x86_64 - ghc-8.10
git rev 4c59442958072657812c6c0bb8e0b4ab85ce1ba2
CLI version  (output of cardano-cli --version): cardano-cli 1.29.0 - linux-x86_64 - ghc-8.10

Screenshots and attachments
n/a
Additional context
I couldn't find any Dockerfile to see what the command actually is (e.g. the entrypoint command).

Perhaps I was mistaken.  Upon reading the README again, I'm seeing this
Configuration .yaml files
The --config flag points to a .yaml file that is responsible to configuring the logging & other important settings for the node. E.g. see the Byron mainnet configuration in this configuration.yaml. Some of the more important settings are as follows:
Protocol: RealPBFT -- Protocol the node will execute
RequiresNetworkMagic: RequiresNoMagic -- Used to distinguish between mainnet (RequiresNoMagic) and testnets (RequiresMagic)
Maybe I need to try using this --config flag and pointing to a a modified file to point to the testnet.

Actually, just passing -e NETWORK=testnet worked.  If I look at the logs in the startup, it says that it's using the testnet and gives the testnet-magic param correctly in the logs.  I'm not sure what my problem was earlier!

Closing, as my use case was user error, but others agree that a transparent dockerfile would be huge.

Oops, nope.  I was able to do the -e NETWORK=testnet, but when I tried to add in the params, that's where the error occurred.  Sorry for the confusion.  Still an issue.

Maybe it was because I was using the command run instead of just passing the params.  Now I have this command that is giving the error "Invalid option '--topology'"
docker run -e NETWORK=testnet --name=cardano-node -v cardano-node-ipc:/ipc -v cardano-node-data:/data inputoutput/cardano-node --topology /data/testnet-topology.json --shelley-kes-key /data/kes.skey --shelley-vrf-key /data/vrf.skey --shelley-operational-certificate /data/node.cert --topology /data/testnet-topology.json

#3134

See also https://github.com/input-output-hk/cardano-node/issues/3256

Closing this. If this is still relevant please reopen.


Python: Flask

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes #2250

Type of change 📝

[x] Audio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)

Domain of Contribution 📊

[x] Python_Domain

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Please format this part correctly like the example of Flask usage in Apps should be on the last and the last 2 lines should be after the first one.
And please don't forget to add space after the full stop :)

Ok sure I will do it

@hritikksingh .Kindly review it

Looks good and the Audio file is also good.
@adityabisoi this can be merged.

@hritikksingh  plz check #6650

Check #6650 @hritikksingh


Refactor FIPS & unify CLI actions

This PR does
FIPS

[x] Implement copying of FIPSDataset contents
[x] Unify CLIs, closes #212
[ ] Implement new folder structure
[ ] Rewrite redo -> fresh, implement reatempting computations on failed samples
[ ] Introduce InternalState both to FIPSCertificate and to FIPSDataset
[ ] FIPSAlgorithmDataset should reside in own json in auxillary datasets
[ ] Across tool, unify from __future__ import annotations

It is unclear what things like clean_cert_ids, or algorithms in the various certicate subobjects (PdfData and WebData) are, are they processed or raw, what sort of cleaning was done and what method needs to be called to do it? Specifically this cleaning that is done on FIPS certs is split between the dataset class and the certificate class in a nasty way, this should be unified and moved, maybe even to a separate class similar to how CC certificate ID canonicalization is separate.

[ ] Address the above

Incomplete: See parse_html_main, the logic there just is not good.

[ ] Address the above

Tests
Closes #79

[ ] Test maintenance updates
[ ] Refactor into better classes
[ ] Select more appropriate names for the methods
[ ] Get rid of the unittest, migrate to pytest
[ ] Set asserts accordingly with PyTest

Closes #76

[ ] Divide logic of tests into download / rest.
[ ] Allow download test to fail on unreliable resources, test download on resources that we trust (e.g. our server)

* Data from the FIPS algorithm dataset is not utilized and mined fully. We can follow the links to the algorithm page and get more data that will help us.

Thanks for the input. This I'll probably leave for future work, this PR is going to be giant anyway. Could you please create a separate issue to address this?

* Data from the FIPS algorithm dataset is not utilized and mined fully. We can follow the links to the algorithm page and get more data that will help us.

Thanks for the input. This I'll probably leave for future work, this PR is going to be giant anyway. Could you please create a separate issue to address this?

Did this in #276.

I'll re-implement the folder structure of FIPS Dataset. Outline:
dset
├── FIPS Dataset.json
├── auxillary_datasets
│   └── algorithms
│       └── fips_algorithms.json
├── certs
│   ├── modules
│   └── policies
│       ├── pdf
│       └── txt
└── web
    ├── fips_modules_active.html
    ├── fips_modules_historical.html
    └── fips_modules_revoked.html

@J08nY looking at the code here and there, I planned the following:

I decomposed whole processing pipeline into four steps: (i) parse metadata, (ii) download artifacts, (iii) process artifacts, (iv) analyze artifacts
Each child class would hold a property that would return a list of callable for each step, e.g. artifact_download_methods, see https://github.com/crocs-muni/sec-certs/blob/9433658b55c6025567fe4101dae017afc9b4f8a0/sec_certs/dataset/fips.py#L57
Parent class would just orchestrate these steps, i.e. call all required methods (that must have no arguments which so far holds), see https://github.com/crocs-muni/sec-certs/blob/9433658b55c6025567fe4101dae017afc9b4f8a0/sec_certs/dataset/dataset.py#L234
I try to introduce the state variables and execute the method on the individual samples in the same fashion as in CC world.

This comes with some advantages:

Refactoring is very fast, because I just follow the design already implemented in CC
It should also produce fewer errors, same reasoning as above

Some disadvantages that cross my mind:

Whatever we're unsatisfied with in CC will probably hit also FIPS 😆
There's a lot of spaghetti code that we could possibly get rid of. E.g., see _download_policies() and _download_modules(): https://github.com/crocs-muni/sec-certs/blob/9433658b55c6025567fe4101dae017afc9b4f8a0/sec_certs/dataset/fips.py#L94, https://github.com/crocs-muni/sec-certs/blob/9433658b55c6025567fe4101dae017afc9b4f8a0/sec_certs/dataset/fips.py#L78. They are very similar, just one variable that changes in multiple places + some logging. The same problem applies to methods executed on the individual samples
I am not certain whether we want to attempt to solve the problem above. First, I'm not sure how to do that without getattr("lame string of some variable"). Second, if we break the pattern, we would need to introduce new design...

Now's the time to speak up if you have comments/tips/whatever :).

Interesting approach but I am worried about a few things:

Passing callables around smells. For example "(that must have no arguments which so far holds)" as a limitation sounds pretty bad. Maybe the solution here is to not have the superclass orchestrate but instead have it the other way around? I dunno, but passing callables seems to smell and locks us in a thing that is very constraining.
I would maybe have a quick look at design patterns to see if some fits? https://refactoring.guru/design-patterns/catalog

I guess I am really not sure what problem you are trying to solve by passing the callables. I will have to look at the code.

Looking at the code a bit. I think now I would just match the FIPS Dataset API to the CC Dataset API manually, even at the cost of some code duplication. I don't feel like it is a good time to rework the handling like this during this FIPS unification.

Ah yes, lets do this: https://refactoring.guru/design-patterns/template-method and don't pass callables around. Just call the methods directly, even if there might be some duplication I think it makes sense for future flexibility.

I was thinking about the logic of the download testing. At the moment, the situation is as follows:

Tests that don't test download functionality from unreliable servers (CC, FIPS), but use it (when this is difficult to get rid of) check whether the download succeeded and raise pytest.xfail if it did not
Tests that test download from unreliable servers were decorated with xfail. The problem with tested functionality is discovered only on repeated failures.

We could possibly re-run these tests, but that would require pytest plugins?

Tests that download from reliable servers were left as they were.

@J08nY Some resolution of the problem that you've pointed to in https://github.com/crocs-muni/sec-certs/pull/275/commits/90521384dc416b8dfb22f12b27e22e2f14ad50d6

@J08nY Do you have any idea how the cert_id normalization in FIPS works? I basically finished the refactoring, apart from:

Cleaning up (I'll do that)
Cert ID normalization
Reference graph construction
Computation of transitive vulnerabilities

IMO, ID of the certificate itself is fully determined by the contents from the module html page. What needs to get cleaned are various cert_ids detected as keywords in various sources: caveat text, pdf of the policy, etc. These point to other certificates, but are noisy and may point to Algorithms, or may just represent abitrary numbers, right?
So the goal, prior to constructing the graph of references, would be to prune the foreign cert_ids that are detected in FIPSCertificate. Does this make sense? Formally, there's no cert_id normalization or anything like that, you just delete detected foreign cert_ids that you consider weak in a sense.
Also, I'll probably try to convince @GeorgeFI to take a look at building a graph of references, and also the transitive vulnerabilities. He did this for CC, so it makes sense to let him do this also here.
What do you think?

IMO, ID of the certificate itself is fully determined by the contents from the module html page. What needs to get cleaned are various cert_ids detected as keywords in various sources: caveat text, pdf of the policy, etc. These point to other certificates, but are noisy and may point to Algorithms, or may just represent abitrary numbers, right?

Yes, this is what was done in the original code in a way. The list of "certlike matches" was cleaned by removing the algorithm numbers the certificate references, either from the webpage or from the policy in some table (that has "algo" in the header :))

So the goal, prior to constructing the graph of references, would be to prune the foreign cert_ids that are detected in FIPSCertificate. Does this make sense? Formally, there's no cert_id normalization or anything like that, you just delete detected foreign cert_ids that you consider weak in a sense.

Yes this is what was done and is I think important to keep it that way, otherwise the reference graph has way too many false positives.

Also, I'll probably try to convince @GeorgeFI to take a look at building a graph of references, and also the transitive vulnerabilities. He did this for CC, so it makes sense to let him do this also here.
What do you think?

I don't think this is necessary, you can basically use ReferenceFinder the same way as it is (and as it is in CC), I actually sort of unified this part already, you just need to provide it with a source of cert_id references for a given graph. Originally there were two sources (and I think it makes sense to keep them), one from the page and one from the security policy. W.r.t. the transitive vulns computation, that should also be doable just with some renames to point to the correct clean cert_ids.

@J08nY Ok, this is ready for review I suppose. Once we merge this, I intend to do #287, #231 and then release.
I checked that both CC and FIPS pipeline pass, tests pass, and notebooks are all executable and are producing "not-completely-off" plots. :D
Enjoy the review and don't be too harsh 🤞

The pyupgrade was done partially, or rather, some files are missing the from future import annotations which enables the Python 3.9-type annotations on Python >= 3.7, which we need as we target 3.8. See the pyupgrade readme and PEP 585.

I see, this is because pyupgrade only works on files that have from __future__ import annotations at the top. I've added a flake8 plugin that checks for its absence so that this doesn't repeat in the future.
I've added these import statements and upgraded the rest of the codebase with https://github.com/crocs-muni/sec-certs/pull/275/commits/6ce7007ab5b5f721abf6d8659ef4bd54e4f61590

Connected with the root_dir handling and serialization is the DUMMY_PATH issue. I see the current solution as an acceptable one, although I think there is room for improvement, we just need to identify the core issue in the API design and assumptions to see what needs to change. I think the current situation arises because our assumptions in different places in the code are not consistent or clear, specifically assumptions about whether a dataset object is backed by its JSON (directory structure) at different points in time as it is constructed from different sources.

You're perfectly right about the cause.

One possible way to resolve this is to say that the dataset object is always backed by its directory structure/JSON and explicitly require the path in all constructors, even the web ones. Other possible way is the opposite, to not assume the dataset is always backed, then disable the serialization features unless a path is set.

I was actually opting for the second, which is kind of the current state. The serialization will fail unless a path is set. See
https://github.com/crocs-muni/sec-certs/blob/f14dfe3900baa0a87a51f42188646f409b9beeb9/sec_certs/serialization/json.py#L50-L51
It's just implemented with that DUMMY_NONEXISTING_PATH variable...

I dislike that the root_dir property setter on dataset classes actually serializes the dataset. I think this is highly unintuitive and unexpected. I propose a more explicit solution in a comment in the review. The TL;DR; is to create a different method for moving/copying the dataset and make it the only method to change the root_dir.

I agree this can be counterintuitive. I'll take a look at that, thanks for spotting this.


Better CI file Docs

As I mentioned to @hassila while he was helping me understand this great benchmarking package, I've put together some CI files that I think can be very nice to have for others as well.
I propose updating the docs CI section to point to a bunch of different sample CI files, each with a short explanation, so users have options on choosing how to put together their CI.
To meet our needs at work, I've created these 2 CI files that I propose to somehow add to the docs since they can be helpful for others as well:

Benchmarking against thresholds. Advantages compared to the default CI that currently is in the docs:

Checks against static thresholds, not the default branch.
Caches the .build for faster benchmarking.
Sends a comment with full info to the related PR, if existent.
The benchmark results are attached to the comment too, other than the check result.
The formatting looks much nicer:

The blue timestamp text, links to a website to see the time in your own timezone if needed.

Updating Thresholds Using The Same CI Running The Benchmarks

You can manually trigger this workflow for your branches.
It then commits the changes to the branch.

Hi @MahdiBM, sorry for the long turn around, but the raft of cases you created lead to a new improved implementation in n https://github.com/ordo-one/package-benchmark/pull/284 for static thresholds management. Would be great if you would have a look and see if it clears up most of your issues - it leads to this issue to be updated to the new commands for static threshold management then - if you're up for it?


Preview lambda-terms in Scheme or Python style

Support previewing $\lambda$-terms as exprs in Scheme or Python. It seems good for people who want to run these terms on a famous platforms.

Implemented in #33.


Testing pre-release with AKS/HCP

Currently our used aks model cant pull from our pre-release registry in aws:
  1m            1m              1       default-scheduler                                                       Normal          Scheduled               Successfully assigned master-controllers-75c58bd78-cw4s8 to aks-agentpool-94987606-0
  1m            1m              1       kubelet, aks-agentpool-94987606-0                                       Normal          SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-h2l5b"
  1m            1m              1       kubelet, aks-agentpool-94987606-0                                       Normal          SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "master-cloud-provider"
  1m            1m              1       kubelet, aks-agentpool-94987606-0                                       Normal          SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "master-config"
  1m            30s             3       kubelet, aks-agentpool-94987606-0       spec.containers{controllers}    Normal          Pulling                 pulling image "openshift3/ose-control-plane:v3.10.15-1"
  1m            30s             3       kubelet, aks-agentpool-94987606-0       spec.containers{controllers}    Warning         Failed                  Failed to pull image "openshift3/ose-control-plane:v3.10.15-1": rpc error: code = Unknown desc = Error response from daemon: repository openshift3/ose-control-plane not found: does not exist or no pull access
  1m            30s             3       kubelet, aks-agentpool-94987606-0       spec.containers{controllers}    Warning         Failed                  Error: ErrImagePull
  1m            8s              4       kubelet, aks-agentpool-94987606-0       spec.containers{controllers}    Normal          BackOff                 Back-off pulling image "openshift3/ose-control-plane:v3.10.15-1"
  1m            8s              4       kubelet, aks-agentpool-94987606-0       spec.containers{controllers}    Warning         Failed                  Error: ImagePullBackOff

so testing cant be done with pre-release rhel.
We need way to inject our pull secrets and define pre-release images with full FQDN when testing rhel :/

cc: @kargakis @jim-minter  @pweil-

Nodes works just fine with changes:
[root@compute-000000 ~]# docker pull registry.reg-aws.openshift.com:443/openshift3/ose-cli:v3.10.0
Trying to pull repository registry.reg-aws.openshift.com:443/openshift3/ose-cli ...
v3.10.0: Pulling from registry.reg-aws.openshift.com:443/openshift3/ose-cli
e0f71f706c2a: Extracting [>                                                  ] 557.1 kB/74.92 MB
121ab4741000: Download complete
c2b08539d917: Download complete
5478624bd2da: Download complete

Is this covered by https://trello.com/c/fn4hnPT4/173-3-images-build-rhel-310-image-for-hcp-testing?

trying to cover under the same story. 70% PR done for this on auzre-helm side and later ansible


Change package.json descriptions for NPM packages

"Roboto font in NPM glory." - This was a very in moment thing that I decided on a long time ago. This could be a lot more descriptive or at least formal.
Something like "Self-host the Roboto font in a neatly bundled NPM package." matching the repo description would be a lot nicer.

Released in 4.2.0.


Cash zipline integrate JS with Bugsnag crash data

I'm looking for a way to report crashes in a multiplatform compose app (android, jvm, ios, macos, js).
I see js was removed as a target from bugsnag as of 1.2.2. Is it planned to be added back by using zipline to use the js bugsnag package in common code? Or something along those lines? (I haven't really looked into zipline before)
Would that let you add more targets like standard jvm as well? It looks like standard jvm was never supported, just android.


script to move a measure from one table to another

Hi Daniel, what is the best scripting method to use if I have a measure that I want to change its table? I've looked through the TOMWrapper but can't see an obvious answer.
Thanks
Brett

It's possible, but it's not pretty:
UI.UIController.Current.Handler.Actions.MoveObjects(
    Model.Tables["Reseller Sales"].Measures,
    Model.Tables["Internet Sales"]
);

The MoveObjects method takes two arguments: The first is a collection of IFolderObjects (that is, measures, columns or hierarchies), the second is the destination table.
This is going to improve in a future version, once #201 has been implemented (as UI actions such as drag/drop should also be recordable and generate more "pretty" code).

ok thanks. and if I wanted to clone a column to a different table I guess I would use Clone to a dummy name and then use the above method to move (doesn't seem to be a CloneTo method for Columns for some reason?).
These operations will all update all references I presume?

Is the TOMWrapper doc out of date? it says they are collection of IDetailObject but this cannot be found.

Yes, the doc is out of date. IDetailObject was renamed to IFolderObject at one point. I'm not sure that the formula fix-up supports objects moving between tables (for measures, we shouldn't need to update anything, as measure references should not be qualified with the table name). Please test it and raise an issue if it doesn't work as expected.


Using the LALR file cache on Python 2.7 fails with "unbound method exists() must be called with FS instance as first argument (got str instance instead)"

I'm using Lark for epycc https://github.com/antoniotejada/epycc on Python 2.7 and I found that when using the LALR with cache=True:
parser = lark.Lark.open(grammar_filepath, keep_all_tokens="True",
    lexer="standard", parser="lalr", cache=True)

fails with
Exception has occurred: TypeError
unbound method exists() must be called with FS instance as first argument (got str instance instead)
        File "C:\Python27\Lib\site-packages\lark\lark.py", line 276, in __init__
        if FS.exists(cache_fn):
        File "C:\Python27\Lib\site-packages\lark\lark.py", line 501, in open
        return cls(f, **options)
                ...

The problem is in utils.FS that doesn't declare "exists" as @staticmethod the same way it's done for "open"
An easy workaround is:
setattr(lark.utils.FS, 'exists', staticmethod(os.path.exists))
parser = lark.Lark.open(grammar_filepath, keep_all_tokens="True",
    lexer="standard", parser="lalr", cache=True)

Thanks for the catch. We'll merge the fix soon.
Just curious, in what context are you using Lark with Python 2.7?
I ask because we are planning to drop support for Python 2 soon.

Thanks for the quick turnaround, Erez.
Coincidentally I read https://github.com/lark-parser/lark/pull/925 and https://github.com/lark-parser/lark/pull/925/commits/eb453241464a2461f9642f6810ac966a4c7e77b7 little after submitting my bug.
The short story is that I don't think I have a solid customer story for you to keep 2.7 support, this is just for my pet projects and I may not even be a returning customer and switch away from Lark at some point :-)
The long story is that I have a bunch of 2.7 code and I cannot be bothered switching to Python 3 unless something I care about gets fixed like GIL/multithread, interpreter reinitialization, speed/JIT. I don't even upgrade packages if they just work.
I picked Lark for epycc, after writing my own unfinished top down parser, because of the Earley promise of dealing with ambiguous grammars (which in the end didn't work for the C99 ambiguities), the 2.7 support, the speed charts in the docs, and the fact that I could easily switch from Earley to LALR and even standalone (being able to quickly prototype changes with the online IDE is super helpful too).
Even if epycc gains traction I probably wouldn't switch to 3 either, just take patches from Python 3 people and keep both working.
To me Python 3 might as well be called Slytherin, it's a different language from Python and I'm not going to use one over the other just because someone wakes up one day and says so :-)

@antoniotejada Did you manage to parse C with lark now? Because that is certainly possible, although slightly painful because of the need to add a (Post-)Lexer hack. Did you manage to add that?
(IMO, the fact that more and more libraries are switching to just Python3 is reason enough to switch over. EOL was almost a year ago, and the point at which everyone said "Please switch over, it will only get harder to switch the more you wait" was like 10 years ago)

@antoniotejada Did you manage to parse C with lark now? Because that is certainly possible, although slightly painful because of the need to add a (Post-)Lexer hack. Did you manage to add that?

@MegaIng Sure, I expect to be able to parse C99 with Lark LALR and the lexer hack, since people have been doing that forever with yacc/bison, although I haven't done that yet.
For the time being I've been using Lark's standard lexer (which fails for suffixed ints due to Python's-not-returning-the-longest-alternative-regexp issue) and I'm upgrading it right now to my custom Python re-based lexer that does priority and longest string match, with Lark's LALR parser.
I wrote a DFA-based one too , but I need to clean it up and see if it's any faster than my re-hacked longest match priority lexer, https://github.com/antoniotejada/epycc/blob/master/grammar.py#L1132
Nevertheless the hope I had using Lark that was with Earley I would be able to take the full phrase and lexical grammar verbatim from the C99 spec, and get the ambiguous trees and don't need the lexer hack (or even a lexer, for that matter). Unfortunately that's not possible since I verified Lark's Earley doesn't return multiple trees for C99's typedef_name vs. identifier ambiguity.
Lark's Earley "context" lexer also fails in an interesting way and I had to switch the "standard" lexer, see this comment https://github.com/antoniotejada/epycc/blob/master/epycc.py#L2019

(IMO, the fact that more and more libraries are switching to just Python3 is reason enough to switch over. EOL was almost a year ago, and the point at which everyone said "Please switch over, it will only get harder to switch the more you wait" was like 10 years ago)

I still have Windows XP on one of my machines ¯_(ツ)_/¯
Wow, thanks a bunch for taking the time to create that gist! I do think I need a bit more due to the standard lexer not returning the longest match (I believe another option you support is to use regexp package instead of re, which I think it does allow it, but I'm having fun with my custom lexer).

but I'm having fun with my custom lexer

That is reason enough.
Also note that you could alternatively add it as a requirement for the suffix to have the next character not be alphanumeric.
Also, you are the third person in the last few days to come across that issue. I think I am going to provide a PR.
(return as identifier for a call vs return as a statement is something that could also be fixed by priorities. Also, adding a negative  look ahead will certainly be faster than whatever else you can do in pure python, but might create large problems with the rest of lark.)

That is reason enough. Otherwise, you would probably be using pycparser

Spot on, I also wanted to generate the parser from the spec directly to make sure nothing was being missed.

(return as identifier for a call vs return as a statement is something that could also be fixed by priorities.

Interestingly the return as identifier only happens with Earley + context lexer (which doesn't support priorities, AFAIK), with the LALR parser the context lexer has no issues.

Edit: The suffix problem is solvable by just moving the longest option first. Use INT_SIZE_SUFFIX: "ll" | "LL" |"l" | "L" instead.

@MegaIng Moving the longest first does indeed work! then I may go with your transformer idea.

not possible since I verified Lark's Earley doesn't return multiple trees for C99's typedef_name vs. identifier ambiguity.
Lark's Earley "context" lexer also fails in an interesting way and I had to switch the "standard" lexer, see this comment

Too bad you didn't open a bug! Perhaps we could fix it, or suggest a workaround.
That said, it's true the Earley implementation isn't perfect about returning every possible ambiguity. But you should be able to at least make it choose the right parse tree.

not possible since I verified Lark's Earley doesn't return multiple trees for C99's typedef_name vs. identifier ambiguity.
Lark's Earley "context" lexer also fails in an interesting way and I had to switch the "standard" lexer, see this comment

Too bad you didn't open a bug! Perhaps we could fix it, or suggest a workaround.

Point taken :-), I just did a quick try and indeed I'm seeing both trees as it should, but I've simplified the grammar since
https://gist.github.com/antoniotejada/4148e9eff50b1f3ea18c5cb73c60dd63
I think back at the time the grammar had several ambiguities and it showed one of those but not the other or something.

That said, it's true the Earley implementation isn't perfect about returning every possible ambiguity. But you should be able to at least make it choose the right parse tree.

For this ambiguity (typedef vs. identifier) I think the only solution is to get all the trees and choose after the fact, once you know if something is a typedef or not (see @MegaIng gist), so I don't think you can help it choose the right one before the fact.


github/workflows: Make publishing perf reports more configurable

The PR allows publishing perf test reports (to be visualised in Grafana) from branches

Cool! How do you use that? Do you need to set a label on the PR? How do you view the results?

Cool! How do you use that? Do you need to set a label on the PR? How do you view the results?

This should just allow storing results for benchmark runs not only from main branch when run manually.


Better Instructions

New to tmux. I have no idea what the clip is doing and it move super fast. Also can't find anything useful in google search. Even chatGPT can't help :)

Hit ctrl+b and then shift+b (this is the default bind). This would open a new window in your browser that is attached to your tmux session, you can identify it by the tab the plugin opened, by looking at the first tab in the window, it's name should be dont_close-tmux-browser_<your tmux session name>.
Each time tux-ressurct saves your tmux sessions, tmux-browser will save the browser sessions, you can look at them at ~/.tmux/browser-sessions


Single Edit Link

I think we need to streamline and lean in to the 'single' editing experience offered by an integrated Admin. Given the sidebar form can go fullscreen and offer an experience essentially identical to the admin form, the admin form isn't needed beyond content creation for content types that have routing set up. That being said, it's jarring to click an 'edit' link in CMS land and load on to a page of your website with no form visible. For now, I think we should drop the admin link for pages with route mapping set up and default the Sidebar to 'open'.

While I think this is our best option I'd love to have others try this out locally and see how it feels.
I don't think these issues are blockers but I'll list them:

For pages set up with multiple forms, it's possible the sidebar will pen with the wrong form being displayed.
For users that want to default to editing in fullscreen we'd need to add more config to make that happen but it's still possible with this setup.
As @jeffsee55 mentioned some localStorage logic would be great to maintain sidebar state & size between page loads.
The page refresh isn't ideal.
From @Enigmatical: When RouteMapper was optional it wasn't a big deal that it felt like a POC. You weren't routed through admin to get to editing so it wasn't necessary. Given Admin is now the default, this puts a lot more pressure/importance on this feature (and might bring to light the ways it is lacking) - potential DX issue.

in regards to https://github.com/tinacms/tinacms/issues/2530#issuecomment-1029383312
I can confirm that we would really like to see this change happening. For us the experience "feels" better if the sidebar is open immediately when clicking the edit button in the TinaAdmin.


Create receiver for handling changes in battery state

@adrygll2 See https://developer.android.com/training/monitoring-device-state/battery-monitoring.html

@jogrimst The app be always on from the start isn't it?, Because we need check the battery status all time the device is activated.

The app be always on from the start isn't it?, Because we need check the battery status all time the device is activated.

@adrygll2 If this can be solved using a receiver, no background service is necessary. But if the Android system rarely broadcasts intents with information about the battery state, it might be necessary to create a background service for continuously checking the battery level.

@adrygll2 Can we detect when the battery level reaches 10%?


Improve the ray trace algorithm to yield better results in all spaces

The ray trace approach was designed focusing mainly on Oklab/OkLCh. Further evaluation shows that some spaces twist a little different through the RGB spaces and can yield results not as good, CIELCh being an example.
Adjust the algorithm so that if a point is found along the reduction path below the gamut surface, that point becomes the new anchor.
This generally tightness the range in a few passes and prevent some spaces from having larger than expected hue or lightness deviations.

@gir-bot lgtm


Python Parameter Interface

Are there any plans regarding a Python integration?
The current handling of parameters in Python under stock ROS2 suffers from similar issues compared to C++.
While Python is dynamic enough to handle generation of a config class during runtime, code generation during build time could improve the experience while autocompleting parameter names in the IDE etc..
I assume integration of CMakeLists.txt based (python) packages is easier compared to setup.py based ones.

I don't regularly use the python interface to ROS so I had no idea it also needed something like this but if you wanted to work on a python code generation output I'd be happy to try to review it and merge your work. We did use jinja templates and python to generate so maybe that would also work for python?

Python interface was just merged. Check it out!


Is this projects still maintained ?

I want to reuse this camera lib for my project but I see a lot of issues and pull request. So Is this project still maintained ?

@yaraki what is the status of this cameraview?

I'm still maintaining this project, but right now, I'm occupied with other projects.

Hey @yaraki , I have some ideas for PRs, but as far as I see there are a lot of PRs and issues that stuck in the pending mode.
Are there any plans for support? Does it make sense to make effort to contribute?


Loader for lua-native snippets.

As discussed here, a loader for lua-snippets.
Some stuff is still custom to my setup (global scope for snippet-files), and some is missing (reload+edit).
To avoid having to define all of local s = ls.snippet local i = ls.insert_node ... at the beginning of each file, I propose using setfenv for adding these definitions to all of the loaded lua-files.
The definition would be globally configurable, and default to the names (s, i, t, ...) used in Examples/snippets.lua (see the link above for the implementation, I'll port add that in this PR too). This has the added benefit of being able to set global defaults for some snippet-options, eg. for choiceNode.

:P

As you see in the last commit the enumerations in the doc were fixed, I fixed the panvimdoc upstream :tada:

Yeah, I saw that and kind of wondered what changed xD
Very nice :ok_hand:

I have a custom implementation of that myself. One thing I think would be a great addition is a typical Vim concept where you can have either a <filetype>.lua file or a <filetype>/* directory where everything gets loaded from. I use the simple init.lua for this case and just require the filetype. Thereby it doesn't matter if it is a single file or a whole directory.
At least for me, the number of snippets for a single language quickly sum up to many lines of code. And I'm generally a fan of small/medium long files for better maintainability.

Are the Lua language servers good enough to understand these environments for functions? Would be ugly to have tons of undefined whatsoever diagnostics. And defining them as read-only globals for every Lua file is also not optimal.

Are the Lua language servers good enough to understand these environments for functions? Would be ugly to have tons of undefined whatsoever diagnostics. And defining them as read-only globals for every Lua file is also not optimal.

They are not. If you need that you could import it as usual.

I have a custom implementation of that myself. One thing I think would be a great addition is a typical Vim concept where you can have either a <filetype>.lua file or a <filetype>/* directory where everything gets loaded from. I use the simple init.lua for this case and just require the filetype. Thereby it doesn't matter if it is a single file or a whole directory. At least for me, the number of snippets for a single language quickly sum up to many lines of code. And I'm generally a fan of small/medium long files for better maintainability.

Allowing a ft/-directory inside the luasnippet-collection shouldn't be a problem, I left it out for now for simplicity. Would you open an issue for tracking that?

Are the Lua language servers good enough to understand these environments for functions? Would be ugly to have tons of undefined whatsoever diagnostics. And defining them as read-only globals for every Lua file is also not optimal.

Yeah, they have no chance, line setting up the environment is added at runtime :D
There are supposed to be project-local settings (.luarc.json), but I couldn't get them to work.

I have a custom implementation of that myself. One thing I think would be a great addition is a typical Vim concept where you can have either a <filetype>.lua file or a <filetype>/* directory where everything gets loaded from. I use the simple init.lua for this case and just require the filetype. Thereby it doesn't matter if it is a single file or a whole directory. At least for me, the number of snippets for a single language quickly sum up to many lines of code. And I'm generally a fan of small/medium long files for better maintainability.

Allowing a ft/-directory inside the luasnippet-collection shouldn't be a problem, I left it out for now for simplicity. Would you open an issue for tracking that?

👍🏾  #349

Are the Lua language servers good enough to understand these environments for functions? Would be ugly to have tons of undefined whatsoever diagnostics. And defining them as read-only globals for every Lua file is also not optimal.

Yeah, they have no chance, the line setting up the environment is added at runtime :D There are supposed to be project-local settings (.luarc.json), but I couldn't get them to work.

Okay, that is sad. But it is an opt-in feature. So even if I decide to switch to this loader here, I can still just import everything (I rename them anyways...).


WIP: Charts module

CyberChef is very useful for slicing and dicing and some analysis, but I often find myself dumping CyberChef output into GNUPlot or a spreadsheet to do some analysis. With a module system in the works I thought charting be a good candidate for an initial module.
Currently I'm using D3 to generate SVGs, this method allows us to just save the generated SVG for embedding elsewhere.
Currently I have implemented:

Hexagon density charts

I would love to see in the comments what visualisations or charts would be useful: links to blog posts, pictures, and d3 blocks would be highly appreciated.
Here is the Hexagon density chart (heavily influenced by this block):

Ok, that's just amazing. That looks super super good. This and some time series style charts like these:

http://charts.animateddata.co.uk/f1/
https://bl.ocks.org/mbostock/4063423 (By days of the week)
http://bl.ocks.org/marufbd/7191340

I've added outlines and colour customization for hex density plots:

Also if anyone knows how to make hexagon plots behave better for disproportional scales please let me know!
--
@sroberts thanks for those suggestions, I've never seen a timeline like that before! The time-series is my next goal.
One constraint I'm applying is SVG only because I think having JS in the output pane would make things very messy and not portable. I would like for a user to be able to copy and paste one of these into a presentation or document. I do think I can figure out how to do these visualizations just with SVG (though but with slightly less interactivity).

The output is SVG and I plan on ensuring that the charting operations are deterministic (where possible), this will make it easy to write tests, although they probably won't be that elegant.
For non-deterministic charts, presently I have no idea how to effectively test them.

This looks pretty cool and will definitely make sense once the module system is in place. Due to d3's size, I doubt we'll be able to merge it before then, but it's good to see the progress.
There are a couple of operations that make use of charts already: 'Entropy' and 'Frequency distribution'. For these I just drew custom diagrams using the HTML5 <canvas>. You can see how it works here, including how to run JS in the output if you want to go down that path. I think the SVG route is a bit cleaner (and less dangerous), but it might be useful if you have no other options.
Nice work.

Haven't had a ton of time to work on this but here is a quick update.
Series charts with svg title tooltips:

I want to add an option that makes all the Y axes the same.
Heatmap chart:

Scatter chart:

HTML to Text operation
This is so you can easily export a chart, or other HTML tables

@n1474335 thanks for the suggestions, I did look at them before starting this project. I think SVG is more "portable" and as you mentioned safer. I don't think these chart operations should aim to be any more than tools for ad hoc data analysis within CyberChef, or a tool to quickly embed results into a report, rather than fully fledged charting toolkits like Tableau, Plotly, etc.
I'm perfectly happy to wait for the module system to be implemented, however so far the inclusion of d3 and d3-hexbin and all the new operations creates a 3.23MB scripts.js so it may not be necessary to wait.
I need to clean up some of the code and do some refactoring, as well as adding a few more charts:

Overlap chart: https://bost.ocks.org/mike/miserables/
Perhaps a graph viewer: http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html (but static, without forces).
Calendar chart: https://github.com/DKirwan/calendar-heatmap or http://www.samselikoff.com/writings/intro-to-d3/
Perhaps the timeline chart from the comments above (http://charts.animateddata.co.uk/f1/)

These are really great. Any chance of updating them to work with the new operation format?

over 1y old at this point this PR, i should have another look at these, just busy with work.
the blockers i dealt with at the time (which are not insurmountable) was making it work with themes (if this is a thing we care about).
thanks for jogging my memory (at least PGP operations are in now! 😆 )

I wouldn't worry too much about themes. I can mess around with that if the operations work.

Closing this in favour of #496 as @artemisbot is taking this on, thanks @artemisbot!


Fix bug when calling request with agent option

Fix https://github.com/molnarg/node-http2/issues/174
Before the internal https.Agent of http2.Agent were left to the agent from the request option (http2.Agent instance)

This seems pretty incorrect, to me - it blindly overwrites options.agent, when it's entirely possible that using the passed-in agent is exactly what the caller wants to have happen (assuming the passed-in agent exposes the proper API, of course).
I think what we really want to have is an appropriate API forwarding shim between http2.Agent and https.Agent.


Disable ref pack build in 3.0

We should disable the build of the ref pack until the reference assembly versions are fixed (see https://github.com/aspnet/AspNetCore/pull/14538)
CC @dougbu @JunTaoLuo @nguerrera

FYI you might need to apply the same fix as https://github.com/aspnet/AspNetCore/pull/14538#issuecomment-538640211

F:\workspace.1_work\1\s\src\Installers\Windows\Wix.targets(68,5): error MSB3030: Could not copy the file "F:\workspace.1_work\1\s\artifacts\bin\TargetingPack\x86\Release\AspNetCoreTargetingPack-x86.msi" because it was not found. [F:\workspace.1_work\1\s\src\Installers\Windows\TargetingPack\TargetingPack.wixproj]

error : '/home/vsts/work/1/s/artifacts/obj/TargetingPack.Layout/Release/' directory does not exist [/home/vsts/work/1/s/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj]

And some test failures due to the ref pack not being present:
PlatformManifestListsAllFiles

System.IO.DirectoryNotFoundException : Could not find a part of the path 'F:\workspace\_work\1\s\artifacts\obj\TargetingPack.Layout\Release\packs\Microsoft.AspNetCore.App.Ref\3.0.1-ci\data\PlatformManifest.txt'.

Plus, all template tests fail because they depend on "restoring" the live-built ref-pack:

Project new reactredux failed to publish.\r\nProcess exited with code 1\nStdErr: \nStdOut: Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core\r\nCopyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nF:\workspace\_work\1\s\src\ProjectTemplates\test\bin\Release\netcoreapp3.0\TestTemplates\AspNet.reactredux.okac0s5wov4\AspNet.reactredux.okac0s5wov4.csproj : error NU1102: Unable to find package Microsoft.AspNetCore.App.Ref with version (= 3.0.1-ci)

Would it make more sense to disable publishing the ref pack, rather than disabling building it?

Ideally it would make sense for us to not build the 3.0 ref packs and not refer to them in any way in tests. However, given the time crunch, it might make sense to build but not publish them. However, we should double check and make sure that the logic to refer to the 3.0.1-ci ref packs in our template tests is custom and users won't see this when using the official 3.0.1 bits when released.

Would it make more sense to disable publishing the ref pack, rather than disabling building it?

The ref pack and targeting pack tests should also be disabled when not building the tested projects. Or, they should test the version of the packs specified in the baseline files.
The templates should resolve the baseline version when the packs aren't being built. This likely means using the baseline version when $(IsTargetingPackBuilding) is false. Change would be in the ref and runtime projects because they are queried to get the right (often distinct) versions.

FYI @wtgodbe we need to update the logic at https://github.com/aspnet/AspNetCore/blob/release/3.0/eng/Versions.props#L29-L34. The baselines have been updated and this is a servicing branch now.

Testing a few fixes while I work out the best way to calculate the correct package version for the RefPack in the template tests

@wtgodbe you'll probably need my fix at https://github.com/aspnet/AspNetCore/pull/14538/commits/87f753a2e84180d6dacded89e3a4e3becec81589. nuget.exe pack doesn't use the  trick. I suppose I could have removed the ItemGroup as a cleanup though.


Authorization failure (insecure option?)

Hi,
I get the following error message:
Authorization failure, check auth_key
and I think it's because of the absence of insecure option because when I use DeepL API with curl command I get these results:
without insecure option (KO):
curl.exe -X POST "https://api-free.deepl.com/v2/translate" --header "Authorization: DeepL-Auth-Key $deepl_key" --data-urlencode "text=$text" --data-urlencode "target_lang=FR"

curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

with insecure option (OK):
curl.exe -X --insecure POST "https://api-free.deepl.com/v2/translate" --header "Authorization: DeepL-Auth-Key $deepl_key" --data-urlencode "text=$text" --data-urlencode "target_lang=FR"

{"translations":[{"detected_source_language":"EN","text":"Bonjour le monde"}]}

Any news on this issue? Is it a lot of work?

Hi @JuGuSm,
Do you any proxy? Or why do you need the insecure option?
I would not recommend to communicate with third party services if the certificate can't be verified.

Hi @soerenuhrbach,
Even when I test a translation with curl command, I get "SSL certificate problem".
Maybe it's because I'm in a specific professional environment with a VPN always activated.
I know insecure is not the better option but it seems to be the only way to make it works.


Enable undocumented-param for pep257 docstrings

I'd like to be able to check for undocumented parameters whilst using pep257 docstrings. I'm specifically using reST style

Hey @joelberkeley could you please share an example and check if there's support for this in pydocstyle?
D417 docs

I'd like this to be flagged
def max(x: int, y: int) -> int:
    """
    :param x: An integer.
    :return: The largest of `x` and `y`.
    """
    return x if x > y else y

It would also be good to flag a missing return
def max(x: int, y: int) -> int:
    """
    :param x: An integer.
    :param y: An integer.
    """
    return x if x > y else y

Is this D417 in pydocstyle?

pydocstyle mentions D417 if that's what you mean http://www.pydocstyle.org/en/stable/error_codes.html#grouping

Running pydocstyle on your example doesn't raise a D417 violation — which is what I was asking. I don't think they support reST docstrings at all.

I recall using a linter that does check for this, but I'd have to dig to find which one. May have been pydoclint. I know ruff has custom checks. Might this be considered a feature request for one of those?

this looks relevant https://github.com/astral-sh/ruff/issues/458

indeed, i think this is a dupe of that because darglint supports sphinx rest style


Provide an option to NOT automatically download and insert images

Currently there is a setting that allows images to be downloaded automatically when Wifi is on (#64); these downloaded images are then inserted in the timeline.
There is no option to not automatically download images at all, and not insert them in the timeline, in order to avoid a great deal of clutter: using just a link (or at most a small thumbnail) to view (download) only on demand (on a separate 'page', not inserted) will keep the timeline much easier to navigate. Of course there could still/also be an option to only allow this when wifi is on, and/or ask for confirmation when it is not (to avoid high bandwidth use when/where it is expensive).
Some people like to see images, some people dislike clutter. ;-)

Apparently this will prevent images being inserted in the timeline: Turn off "Settings - Appearance - Display attached images"
The description does not make clear whether with that setting an image can still be viewed on demand and whether that will insert it in the timeline.
And I see no option for displaying a thumbnail as link instead of a text link.

See also #93 (comments)

Text link is a part of a message.  This cannot be changed. Clicking on the link opens an attachment (e.g. image) on demand.
Regarding showing a thumbnail instead of an image,  I think we may have another setting: "Height of an attached image in a Timeline (% of screen height). Currently it's 75% hardcoded.

Having (always) a text link is fine.
So we get these choices, I think:

show a image embedded in the time line or not
when viewing an image on demand, should it be inserted in the timeline (possibly replacing the thumbnail) or viewed on a separate 'page'
what size for an automatically embedded thumbnail (expressing it as a height is a good idea).

(Did I miss any?)
Also give some thought to other types of attachment, e.g. a PDF (link only with option to view) or a sound file (link or UI to listen), ...


fix(types): Allow no relative url to fetch RESTful api list

fix(get): Allow no relative url to fetch RESTful api list

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
I've noticed examples in the README.md, where the get method was used without any parameters. But the TS typing didn't allowed such a calls. In my opinion the call without any arguments looks cleaner than call with empty string to get list from a resource.

Okay. I've changed the typing and added a bit of logic to correctly recognise url and options. Also I've added 2 more tests.
Let me know, what do you think.

Any updates?

@posva Thanks for the tips. I've change it. I hope it's okay, you can take a look.

Thank you, I added a few last changes and merged it in #379


SCF Property Types

Is this pull request associated with an issue(s)?
No.
Description
The goal of this PR is to add the initial set of property types needed for the SCF. This includes:

[x] Convert (needed to convert say the ChemicalSystem into a Hamiltonian
[x] InitialGuess (name may need changed)
[x] aos_e_density_aos
[x] FockOperator
[x] UpdateGuess
[x] ESCF<OrbitalType>

TODOs

This gets me a lot of PTs to start filling in. I also exposed the PTs to Python. They admittedly get verbose. I'd have to think about it, but there may be a way to create say a Python-only PT called Optimize (no other parameters) that then dispatches to the various registered instantiations. For now what's there works (and I'm not anticipating too much Python interaction).

🚀 [bumpr] Bumped! New version:v0.0.39 Changes:v0.0.38...v0.0.39


PopOut support

As a DM who likes taking notes on Foundry but hate having so many windows opened without tabs, I just love your module. Thank you so much!!!
However my players like PopOut :')
Confusion on the status of the support of PopOut
In the README:

PopOut! Unable to select header button because of version issue. This is fixed in version 2.9+ but only version 2.14 is available on v11. Once this weird version issue is fixed, I will add support for this module.

"This is fixed in version 2.9+" implies it is fixed in 2.14 since 2.9 came before 2.14. Is this a typo? Suggestion: "This is fixed in version 2.9 of PopOut but not in version 2.14, the only version currently available for Foundry v11."
Also I saw here your issues for PopOut and it seems it's all good now?

https://github.com/League-of-Foundry-Developers/fvtt-module-popout/issues/88
https://github.com/League-of-Foundry-Developers/fvtt-module-popout/issues/105

Should we start an issue on PopOut side to fix the "weird version issue" you've mentionned?
All in all, I'm just confused and I don't know if PopOut+Windows-Tabs is supposed to be OK or not at the moment. I'm on Foundry v11.307 and system PF2e v5.3.2.
Bug
I tried to create an empty world (Foundry v11.307 and system PF2e v5.3.2) and it doesn't work.

The "PopOut" button disappears as soon as I add a second tab.
Popping Out a tab then opening another will result in an empty tab in the Popped-Out window.
Popping-In a Popped-Out window result in an empty tab.
etc

Purpose of this issue
I want to subscribe to this issue and know when the support for PopOut is completed (i.e. when the issue is closed) 😄
Thanks again!

I am going to push out an update that will resolve some issue later this week, that will add an API for modules like Popout and another unnamed one who register their header buttons after they are supposed to. Once I do that I will provide a world script showing how to use this API to fix issues with modules like popOut!.
However, I wont be directly fixing popOut! in my module, that module will either have to include a patch using my API to get around the header issue, fix how they register their header button, or users will have to include my example worldscript. which I plan to use popOut as an example for.
It kinda sucks, but I don't want to really encourage bad practice of modules not using the standard foundry API for their header buttons as it just makes a smaller problem bigger as time goes on, but I also know not every module can always register their header buttons properly because of limitations of the data they need to access.

Also have you tried popOut! for some reason it appears to work for some people but I have no idea why. ahah

What do you mean? I did try PopOut + Windows-Tabs (see section "Bug" above).

Reading is hard... HAHA My bad, I completely missed that.
Either way, you will be able to use it even if the devs don't fix it on popOuts side, you just have to go through an additional step of adding a world script. Its not all that hard and I'll give instructions on how to do it as well.


Generator eventually stop generating source for intellisense

Describe the bug
hey there, I've been using your library https://github.com/HavenDV/DependencyPropertyGenerator for a while (it's awesome!). The main issue I've been running in to is that both Visual Studio and Rider seem to eventually stop generating source for intellisense. This never breaks a full roslyn compile (eg. F6) but makes coding almost impossible as you get hundreds or thousands of intellisense errors obscuring the real compiler errors. Restarting VS or Rider always fixes the issue. Other source generators in the same solution do not seem to be affected by this same problem.
In Rider this is really reproducible, I can just add a default value, save the file, remove the default value, save, and now the intellisense is permanently broken until I restart Rider. In VS the problem seems to happen after some time randomly, and I can't reproduce reliably.
Is this something you've encountered before?
Haven — 11/09/2022
Hi, thank you. Yes, I encounter this too. If you say that other generators are not affected by this, then perhaps this is a problem in my code. Can you tell me which generators exactly work in similar scenarios so that I can examine their code in more detail?
I have little experience with Rider, in VS I only experience problems if I install a NuGet package in a new project and need to restart VS for the generator to work correctly in intellisense.
There is also a chance that this is a problem with the Rider. But, in any case, it would be great to look into and let them know if so
caesay — 11/09/2022
I initially switched to VS from Rider because of this issue (but then it started happening in VS too.. just a little less frequently)
It seems to happen when I am editing the DependencyProperty attributes a lot, then randomly VS will just stop generating source until I restart.
caesay — 11/09/2022
Happy to provide any logs if you think there is something that would be useful to test. As far as other source generators - I am using https://github.com/CollinAlpert/Lombok.NET also. After the Dependency property problem, Lombok continues to generate source - but all the generated dependency properties are missing until IDE restart
I have just confirmed that the dependency property problems happen with and without the lombok source generator in the project
Haven — 11/09/2022
Many ideas and structure of my generator are from https://github.com/andrewlock/NetEscapades.EnumGenerators. This is especially true for the compile time delivery of an additional library for attributes, which is excluded from the final build. Perhaps this is the problem and I will be grateful if you can check this generator in your project
caesay — 11/09/2022
in Rider seems to have the same issue. as soon as you start editing the EnumExtensions attribute it stops generating code for EnumGenerators. The DependencyProperty source is still available at that point. Hard to reproduce in VS as the issues are intermittent.
caesay — 11/09/2022
I managed to enable roslyn tracing in Rider. Here is a log of when it's working for a particular project https://pastie.io/raw/jivjci, and a log after it breaks https://pastie.io/raw/endqba. Not particularly helpful. DependencyPropertyGenerator is detected both times, but in the broken run it just doesn't output any files.
Can see there though that they break independently. I edited a DependencyPropertyGenerator attribute, so it stopped generating code but the EnumGenerator source generator still output a file.
Haven — 11/09/2022
Please try to add this to your .csproj and exclude compile assets:

<DependencyPropertyGenerator_EmbedAttributes>true</DependencyPropertyGenerator_EmbedAttributes>

Steps to reproduce the bug
123
Expected behavior
No response
Screenshots
No response
NuGet package version
No response
IDE
No response
Additional context
No response

Should be fixed in 1.2.0 due to major update


Add Netsil Single Container Manifest

[Insert URL to the list here]
[Explain what the project is about and why it should be included here]
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines

The project submitted is conform to the quality standards outlined in the contribution guidelines

Go to the contribution guidelines and read it again.

Hi @discursive,
Thank you for your contribution!
I went to see the repo and I couldn't find any clear information on the software requirements and its interaction with the docker ecosystem
We value people's time a lot so we want them to find the best projects there is.
As an example, https://github.com/gliderlabs/registrator
It does not have a lot of explanation but there are 2 sections that are really useful.

How to setup the project
How to use it (an example)

The description also clearly state what it does: Service registry bridge for Docker with pluggable adapters
Could you add those to your project's README or at least make it easy to find ?
Our goals is also to help developers to make great projects.
So a good start would be to look at other projects and take good ideas from them.
Docker-sync has a very simple website hosted on github pages, that really improves the reach of the project (more people come and check it out). http://docker-sync.io/
Some developers go really the extra miles to explain what their project is all about such as https://github.com/box-builder/box
Could you clarify a few things:

Why is the repo called manifests when the name is Netsil ?
Does this project work without Netsil AOC ?
Is it a paying service ?
Can we use it in open source ?

Could you provide a description that would offer a clearer view of the project and how it fits into the docker ecosystem. So let us know if you need any help to explain clearly what the project is and how to setup the project. Then come back here and ping us. All right?
Have a good day and keep on making great software!
The awesome docker team
@vegasbrianc @gesellix @dmitrytokarev @veggiemonk @agebhar1 @devhkr

Hi Julien,
Thanks very much for your message. Here’s our answers to your questions -

The repo has manifests to launch a single container Netsil AOC image with Docker, K8S or DC/OS.
This project is the single container (non-scalable) version of Netsil AOC, designed for developer environments.
Netsil AOC is free for up to 40 cores usage. Users can purchase a larger license.
Netsil AOC is a closed-source container monitoring stack built using many open-source components (Kafka, Druid, Elasticsearch and so on). The automatic topology mapping done by AOC and metrics collection speeds up developers and ease operations.

Please let me know if you have other comments or thoughts.
Cheers,
Steffi

On Apr 29, 2017, at 01:40, Julien Bisconti<EMAIL_ADDRESS>wrote:
Hi @discursive https://github.com/discursive,
Thank you for your contribution!
I went to see the repo and I couldn't find any clear information on the software requirements and its interaction with the docker ecosystem
We value people's time a lot so we want them to find the best projects there is.
As an example, https://github.com/gliderlabs/registrator https://github.com/gliderlabs/registrator
It does not have a lot of explanation but there are 2 sections that are really useful.
How to setup the project
How to use it (an example)
The description also clearly state what it does: Service registry bridge for Docker with pluggable adapters
Could you add those to your project's README or at least make it easy to find ?
Our goals is also to help developers to make great projects.
So a good start would be to look at other projects and take good ideas from them.
Docker-sync has a very simple website hosted on github pages, that really improves the reach of the project (more people come and check it out). http://docker-sync.io/ http://docker-sync.io/
Some developers go really the extra miles to explain what their project is all about such as https://github.com/box-builder/box https://github.com/box-builder/box
Could you clarify a few things:
Why is the repo called manifests when the name is Netsil ?
Does this project work without Netsil AOC ?
Is it a paying service ?
Can we use it in open source ?
Could you provide a description that would offer a clearer view of the project and how it fits into the docker ecosystem. So let us know if you need any help to explain clearly what the project is and how to setup the project. Then come back here and ping us. All right?
Have a good day and keep on making great software!
The awesome docker team
@vegasbrianc https://github.com/vegasbrianc @gesellix https://github.com/gesellix @dmitrytokarev https://github.com/dmitrytokarev @veggiemonk https://github.com/veggiemonk @agebhar1 https://github.com/agebhar1 @devhkr https://github.com/devhkr
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/veggiemonk/awesome-docker/pull/330#issuecomment-298156069, or mute the thread https://github.com/notifications/unsubscribe-auth/ALYJzcFXf_i0g63GkElFv-9VFSmm3-E3ks5r0vd2gaJpZM4NL4vT.


LoginRequiredMixin not working with iommi class Pages

I am struggling since hours to get the LoginRequiredMixin to work with iommi Pages and Forms.
class TestPage(LoginRequiredMixin, Page):
    create_form = Form.create(
        auto__model=EcoLabel,
        auto__exclude=["created_at", "updated_at", "created_by", "modified_by"],
    )
    a_table = Table(
        auto__model=EcoLabel,
        columns__created_by__filter__include=True,
        query_from_indexes=True,
        auto__exclude=["firmenwagen_proof", "papier_proof", "umsatz_proof"],
    )

    class Meta:
        title = "A test page!"

Am I doing some obvious thing wrong?
When I am not logged in, nothing happens. if I write my own form class, it works tho...
Thank you for helping <3

iommi classes aren't Django Class Based Views, so they can't be composed with their mixins.
In your urls.py you can do path('test/', login_required(TestPage().as_view()) for example.

Thank you, that's awesome :)


Added support for requesting policies in gateway

Isn't it already supported?
https://github.com/Soluto/tweek/blob/master/services/gateway/swagger.yml

/cf-test

No it is not, it is only supported for requests containing tweek admin token but not for requests from other authProviders because currently requestUtils.go will always throw an error "Invalid request path".

Is that the behavior for all policies apis? get/patch/post?

Yes.. all of them will result in an error (unless the request contains tweek admin token).

We should probably add write permission to repo/policies to base git repo images.
https://github.com/Soluto/tweek/tree/master/services/git-service/BareRepository

Doesn't it makes it less consistent with our permission model?

/cf-test

I think that it should be alright to give different permission objects to different resources.
Some resources such as revision-history use the repo object for both read and write.
Schemas for example uses repo for read but repo/schemas for write.
I view policies as something that requires more permissions to read than reading schemas or tags for example.
I can't think of a particular reason to block an editor user from seeing schemas but I don't want every user to know all the permissions for all other users.

I've updated my comment :)

Hmm, I think revision-history has no write functionality, and use read "repo" as well.

True, revision-history only has GET api.
Still if you take github as an example and you think of reading files as reading keys, the logic holds that I can view files but i can't access settings and see all collaborators as I'm not admin.


Add redux-thunk to plugins list

Update the docs to add redux-thunk to the plugins list. This is an ignite plugin that provides redux-thunk.

Nice, thanks @kusti8 !


Compatibility with Levels?

I have been looking for a module to do exactly this for awhile. Thank you! Unfortunately... I use Levels extensively. Any chance you'll work on compatibility between the modules?

Yes, I would like to get to compatibility with Levels. Maybe once I improve compatibility with Perfect Vision...

Compatibility introduced in v0.1.2. I am sure issues remain, so feel free to file new bug reports when you find them!

Thank you! I'll check it out.

Still experiencing an issue. It works okay as the GM but the when a player joins, they get this error in the console and the scene won't render --
Uncaught TypeError: Cannot read properties of undefined (reading 'point') [Detected 4 packages: elevatedvision, lib-wrapper, perfect-vision, levels]     at create3dTestPoints (tokens.js:140:35)     at DetectionModeBasicSight.testVisibilityDetectionMode (tokens.js:181:51)     at 🎁DetectionMode.prototype.testVisibility#0 (libWrapper-wrapper.js:187:52)     at 🎁CanvasVisibility.prototype.testVisibility#perfect-vision (visibility.js:219:49)     at 🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:591:14)     at CanvasVisibility.visibilityWrapper (wrappers.js:94:25)     at 🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:616:16)     at 🎁CanvasVisibility.prototype.testVisibility#0 (libWrapper-wrapper.js:189:20)     at get isVisible [as isVisible] (foundry.js:45246:38)     at CanvasVisibility.restrictVisibility (foundry.js:33168:68)     at 🎁CanvasVisibility.prototype.refresh#perfect-vision (visibility.js:144:18)     at 🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:591:14)     at 🎁CanvasVisibility.prototype.refresh#0 (libWrapper-wrapper.js:189:20)     at #update (foundry.js:41208:58)     at t.emit (ticker.min.mjs:8:622)     at e.update (ticker.min.mjs:8:3473)     at _tick (ticker.min.mjs:8:1482)


Fix missing config in job init

Fixes #508
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

We just weren't passing it from the payload to the job init. Small fix, will merge when CI green.


Bak Cache folder naming

If using the new (cool) BakFolder Cache feature from v<IP_ADDRESS> there could be an issue with the folder naming:
when i create a w1 container and a base container both cache folders will be named sandbox-15.0.35903.0-W1-bakFolders.
Since the databases differ, I think the W1 should be base on a container based on a base image.

Yeah - the sandbox base is actually more like onprem w1 database - but I am not sure I can detect the difference between w1 and base safely - will have to check

I don't have a good way of checking this and to be honest, the base version was never really supposed to be used, but people use this because w1 doesn't have demo data.
So I actually think that people using the base - uses that instead of w1 - not at the same time.


predict not generating .not.mat files

From @SamuelBrudner

I don't see .not.mat files in the folder with .npz files. In addition, I didn't get any console output about converting predictions to annotations. There's something slightly strange though. Executing "vak prep predict.toml" converts a line of the the config file
to_format_kwargs = {}
to
[PREDICT.to_format_kwargs]

Here's my output (minus some warnings):
determined that config file has section: PREDICT
Will add csv_path option to that section
will not split dataset
making array files containing spectrograms from audio files in: /home/mooney_lab/Desktop> /soberBengalese/032412
[########################################] | 100% Completed |  3.1s
creating datasetfrom spectrogram files in: /home/mooney_lab/Desktop/vak/predict
validating set of spectrogram files
[########################################] | 100% Completed |  0.8s
creating pandas.DataFrame representing dataset from spectrogram files
[########################################] | 100% Completed |  0.4s
saving dataset as a .csv file: /home/mooney_lab/Desktop/vak/predict/032412_prep_200413_111424.csv

I think this might be because the config file was missing the labelmap_path option -- my fault for not including it in the tutorial, see #189


[Investigation] Explore options for providing upgrade or migration paths (for snapshots)

Description
As we attempt to make additional features backward compatible, there will be situations (several currently known in the snapshot initiative) where we will want users to run upgrade or migration scripts. These may consist of altering tables or modifying other files.
We should think through how we can provide this functionality in a way that works well for both dbt Core OSS and dbt Cloud users.
Acceptance Criteria
We've identified the path forward and can create tickets to implement the necessary infrastructure.

throw warning in CI if config has changed

could upgrade these to errors WARN_ERROR_OPTIONS

provide package with macros to run via run-operation for common migrations
rely on user to handle migration however they want to (create a new snapshot, run migration script, etc.)


Windows Terminal cannot be found in the Start Menu

Due to a recent product name change ("Windows Terminal" => "Terminal"), you may not be able to find Terminal in the start menu by searching for "Windows Terminal".
We're working with the start menu search folks to make sure that it gets aliased -- that work just didn't land in time for the release (sorry!)

1.13.10336.0 is still called Windows Terminal for me and therefore also can be found in the start menu, quirk on my side or did the rename not actually ship in 1.13.10336.0?

Explorer caches the names >_<

Explorer caches the names >_<

Oh, ok. About window says "Windows Terminal" as well though

I updated from 1.12 preview to 1.13 preview and my start menu shortcut is still "Windows Terminal Preview".
Does this change only apply to new installs?

Oh, ok. About window says "Windows Terminal" as well though

I checked the source code and it looks like that is pulled from the package display name. Microsoft Store still lists it with "Windows" on there so it depends when they update it.
Or they may want to decouple those if there's a specific reason to keep "Windows" on the Store name.

Also, if one starts to type in search bar before Indexing service starts up, one cannot even find it by exact name used in the start menu. I wish Start Menu enabled search of its items as a separate indexing procedure and not having to wait some indefinite time for Windows Indexing service to start up (on some slow systems it can take even minutes)

Same thing here. Can be opened from the Microsoft Store but not found from the start menu.

Yup.. Same. Installed via winget, no shortcuts created, via choco, no shortcuts created, via Microsoft Store, still no shortcuts....

I actually managed to solve this. It is called "wt" in all languages but for example in Finnish it is found as "Pääte", which is the translation of the application name. Could you try this, @DHowett ?

I think it would be best to have some aliases available in windows using any language pack: both "wt" and "terminal". Ideally, they should be searchable before Windows Indexing service starts up...

I have previously stated the same thing. “wt” , “windowsterminal” “terminal” with or without lowercase variants
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: Vadim @.>
Sent: Tuesday, August 15, 2023 5:12 AM
To: @.>
Cc: @.>; @.>
Subject: Re: [microsoft/terminal] Windows Terminal cannot be found in the Start Menu (Issue #12344)
I think it would be best to have some aliases available in windows using any language pack: both "wt" and "terminal". Ideally, they should be searchable before Windows Indexing service starts up...
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/terminal/issues/12344#issuecomment-1678709686, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACKJBMNPQXUYWB7TCJ5MHSLXVNDO3ANCNFSM5NPH2SZQ.
You are receiving this because you commented.Message ID: @.***>

I don't mind. I think there should only be the local version alias searchable. This would be good for other languages' developments than en-us.


CONNECTION REFUSED

I did all the steps in the tutorial, I'm using an Ubuntu 20.04 LTS environment with Docker. When I build the application, the first connection is successful, but when trying to create another account or perform some other action, Teamgram returns an error like: "CLIENT_BAD_RPC_ERROR: Bad rpc error received, text = 'last connection error: connection error : desc ="transport:Error while dialing dial tcp xxx.xx.x.x:20020: connect: connection refused"; last resolve error: produced zero addresses'
How can I handle this error?

Try using the latest source code

I'm already using the latest source code. I performed the step-by-step less than 1 hour ago with everything latest and this error returned

check biz log, maybe biz service crash

biz log? Can u help me with this? how can i check this?

The connection refused was resolved, but now when viewing the log it returns the error below:
[2023.02.27 14:08:45] RPC Error: request 4 got fail with code 400, error ERR_ENTERPRISE_IS_BLOCKED


Only blackscreen in boardwalk 2.0

I modified some file and build. (update some composition file)
Only the black screen appeared in all minecraft version. (download version worked well)
My device is Galaxy S8.

Same here. after launching minecraft, black screen appeared.
running on Xperia XZ2 Android 10 kernel 4.14

It's not done yet duh

。。。


scrolling one slide at a time

Hi,
I am using react-native-snap-carousel to scroll one item/slide at a time. I have set enableMomemtum to false.
When the user scrolls the slide fast, carousel will first scroll 3-4 slides forward and then comeback to the next slide. How to resolve this issue.
this problem is same as #27 and also #90

⚠ You did not follow the contributing guidelines!
As stated in these:

You need to fill out the issue template. This step is mandatory! Not doing so will result in your issue getting closed. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template.

There is already an opened issue for that (#296), which contains an explanation about why this is not currently possible.


The game client registration settings tell me "is not assignable to parameter of type 'RegisteredSettings[]'"

In which branch or foundry version should this feature be added?
Foundry VTT 0.7.9
Is your feature request related to a problem? Please describe.
I have this piece of code:
game.settings.register(MODULE_NAME, 'lasttoken', {
    name: 'Last Token',
    hint: 'This is the value where the last selected token will be saved',
    scope: 'client',
    config: false,
    default: "0",
	type: String,
});

but i keep getting this error :
error TS2345: Argument of type '{ name: string; hint: string; scope: string; config: boolean; default: string;
type: StringConstructor; }' is not assignable to parameter of type 'RegisteredSettings[]'.
it's seem correct to me,  anyone can tell me what i'm doing wrong ?
Describe the solution you'd like
Describe alternatives you've considered
Additional context
The full project for the use case is here:  https://github.com/p4535992/simplemobile

We recently made some changes in this area. Maybe @BoltsJ can comment on that.

Looking into it now.

Looking into it now. Also, I don't think my updates have made it into a release yet.

That's true. I'll create a release and let you know once it's done @p4535992

Just released a new version, could you check if it works fine with that one @p4535992? If not, please talk to @BoltsJ as he wrote the type definitions as they are now for the client settings.

It looks like the issue here is because that module is using typescript 3. Updating to ts 4 cleared that error. I'm going to double check with the new release you just cut

Yeah, looks fine. Just run npm i -D typescript@4 to get your ts version updated.

Sorry I'm late I fell asleep XD.
Thanks everyone tonight I'll try and let you know.

The solution of  BoltsJ worked like a charm.


Allow presto to connect to kerberized Hive clusters (v2)

I checked connectivity to Hive metastore with SASL over socks proxy and it works.

@electrum rebased onto actual master + comments addressed.

When we benchmarked the solution we noticed great performance degradation when authenticating wrappers are in use. Simple queries on ORC table were executing 3x slower than without wrappers.
Solution 1
We have a working solution for that but it is somewhat hacky. It depends on patching UserGroupInformation in hadoop library.
These are PR for 3 versions of hadoop lib:

https://github.com/prestodb/presto-hadoop-apache1/issues/4
https://github.com/prestodb/presto-hadoop-cdh4/issues/12
https://github.com/prestodb/presto-hadoop-apache2/issues/10

The source of performance degradation is fact that UserGroupInformation.doAs(PrivilegedAction) is a delegate to Subject.doAs(PrivilegedAction) from java.security, which is slow.
The change we made exploits the fact that call to actual Subject.doAs is rarely needed, when compared to number of method calls we wrap into UGI.doAs(PrivilegedAction) in Presto.
We also depend on the fact, that when call to Subject.doAs(PrivilegedAction) is actually needed, th Hadoop lib rewraps the code which needs that again into UGI.doAs(PrivilegedAction).
The change we made is basically extending UserGroupInformation class with faster versions of doAs methods taking (SubjectPrivilegedAction and SubjectPrivilegedExceptionAction).
We also change the original doAs(PrivilegedAction) and doAs(PrivilegedExceptionAction) and getCurrentUser() to interact with logged-user context set by the faster method versions.
In Presto's authenticating wrappers we use faster versions of UGI.doAs methods.
See this commit for actual diff: https://github.com/prestodb/presto-hadoop-apache2/commit/240a81d0416edc57235ee18a8e40bfc04a0b595d
This is not a clean solution, as it patches external library and depends on brittle code flow assumptions.
It is very effective in terms of performance though.
Solution 2
After implementing this we also got another idea. It does not involve patching Hadoop lib but have other drawbacks.
Let's focus on ConnectorPageSource wrapper, as this is culprit for read-flow. The solution has two parts:

Use UGI.doAs wrappers only in getNextPage() and close(). This assumes that other methods do not need authentication. This is probably true for most implementation but generally it does not have to be the case. We can extend the mechanism so ConnectorPageSource implementation can somehow declare (through annotation?) which methods need to use authentication.

the wrapper for getNextPage() has buffer of pages and uses UGI.doAs only when buffer of pages is empty. The buffer is filled with multiple pages (order of 50) within single UGI.doAs wrap block. This way we amortize the cost of single doAs over multiple calls to CPS.getNextPage().

Similar mechanism can be implemented for ConnectorPageSink. RecordCursor is problematic and probably we would have to skip special implementation of RecordPageSource with this approach.
The drawback of this approach is that we are using more memory (buffer of pages), and we process data in less streamlined manner.
Also in case when other methods than getNextPage actually need authorization we have a problem again.
@electrum, @dain. What do you think about implemented solution? We would really appreciate input here. Any idea how to solve the problem here in a cleaner way would be very beneficial.
cc: @arhimondr, @pnowojski, @ilfrin

the wrapper for getNextPage() has buffer of pages and uses UGI.doAs only when buffer of pages is empty. The buffer is filled with multiple pages (order of 50) within single UGI.doAs wrap block. This way we amortize the cost of single doAs over multiple calls to CPS.getNextPage().

This won't work because we return lazy blocks.  With ORC, we need to know which column values are needed before the next page is fetched, because when fetching a page we advance all streams.
In general, I think the solution to this is that we pass the UGI to the HivePageSourceFactory or HiveRecordCursorProvider during construction and require the implementation to handle the UGI.  Except for a few obscure file formats, the file format code opens a file input stream during creation and never goes back to the file system to open new streams.  We can then add special handling for these formats as we find them.  (BTW this is the same approach we take with the thread context class loader).  With this approach we would remove the UGI setting wrappers for page source and record cursor.

IIRC, when we talked, we decided that we were going to do more work on this.  Let me know when that is done and I'll take another look.

@dain Yes, that is right.
Superseeded by: #4867
@losipiuk Please close this PR.


Go int enum values are not accessible

An enum is converted to
type Colors int

const (
	RED   Colors = iota
	GREEN        = iota
	BLUE         = iota
)

That is a reasonable approach, but needs more plumbing to make it workable.
Any other Python code referring to RED needs to use Colors.RED, and the go transpiler doesnt covert those Colors.RED to be just RED.  As a result of Colors.RED being copied as-is to the go code, go error is:

Colors.RED undefined (type Colors has no method RED)

We now have a is_enum(). In visit_Attr, we can check if it's enum and remove "Colors."


Support non-ASCII names

Elmjutsu doesn't seem to work with "international" letters, i.e. outside the ASCII ranges, even if Elm, Atom and JavaScript support these just fine.
Example:
med = " med "

fløde = "fløde"

dessert = "rødgrød" ++ med ++ fløde

Hyperclicking on "med" jumps to the definition just fine, but doing the same on "fløde" is a no-op. These should work the same.

Awesome, thanks! I did actually download the code and intend to fix it myself, but wasn't sure I had the rights commands to build the elm/*.js files from their *.elm counterparts. Is there an easy way?

I just execute elm-make Indexer.elm --output=indexer.js in the command line :grinning:  However, the change I did was in a .js file.


deep-merge deprecated

Saw you are using deep-merge. The documentation says that it has been deprecated in favor of deep-extend.

Thank you! I will take a look.

Can't imagine why @raynos deprecated his library in favor of deep-extend.

OMG :fearful:
Of course we can deepExtend({}, a, b) but I better stick with DeepMerge until Ramda 15.2 will be released.

Uh... wow. WTF? I just saw the note. Didn't look at the code. Definitely, stick with deep merge.
Thanks to you, have now started using Ramda everywhere. This morning I used it to make breakfast. Then I drove it to work. Tonight I'm watching a movie on it. OK, maybe I'm exaggerating a little. But it definitely is the best thing since sliced bread.

Thanks to you, have now started using Ramda everywhere. This morning I used it to make breakfast. Then I drove it to work. Tonight I'm watching a movie on it. OK, maybe I'm exaggerating a little. But it definitely is the best thing since sliced bread.

Hahaha, definitely :grin:
Computer Science rules.


Check Python version in all CI jobs

Check if Python version installed on CI slaves are at least 3.6 or newer.

Fixed in https://github.com/fabric8-analytics/fabric8-analytics-api-gateway/pull/57


Determine the fork from the Git environment.

Why didn't the build action run?

I saw an email half an hour ago about some kind of partial GitHub outage, including impact on GitHub Actions. So probably that.
https://www.githubstatus.com/incidents/smn1qtqvbsb6

Let's not merge this until the issue with GitHub Actions is resolved.

Let's not merge until the issue is resolved.

Oh for @#$%^&* sake. The --default has to come before the --get.

I've got to hand it to you, using dirname is pretty cute :)


Unimplemented code in AEPCore - Critical for migration V4 -> V5

Expected Behaviour
After migrating from previous V4 (AdobeMobileLibrary 4.19.2) to V5 (AEP main) all ID are migrated and sync.
Actual Behaviour
VisitorID no migrated
Platform and Version
Migration
from: AdobeMobileLibrary 4.19.2
to : AEP main
Suspicious Code that illustrates the problem
MigratorV4.migrateVisitorIdLocalStorage
https://github.com/adobe/aepsdk-core-ios/blob/main/AEPCore/Sources/migration/V4Migrator.swift
MigratorV5. migrateVisitorIdLocalStorage
https://github.com/adobe/aepsdk-core-ios/blob/main/AEPCore/Sources/migration/V5Migrator.swift

@neyroja This functionality is implemented within each of the own extensions now. We should go through and clean up the TODOs as they are no longer needed.
Analytics: https://github.com/adobe/aepsdk-analytics-ios/blob/b9121586e787a3700fbaba319304b34df2e7aab9/AEPAnalytics/Sources/AnalyticsMigrator.swift
Audience: https://github.com/adobe/aepsdk-audience-ios/blob/main/AEPAudience/Sources/AudienceMigrator.swift
Target: https://github.com/adobe/aepsdk-target-ios/blob/dev/AEPTarget/Sources/TargetV4Migrator.swift
https://github.com/adobe/aepsdk-target-ios/blob/dev/AEPTarget/Sources/TargetV5Migrator.swift
Are you experiencing issues regarding migration from v4?


Remove react-komposer package

This pull request contains the following:

Remove react-komposer package because it's no longer needed. (instead we use react-meteor-data).
Fix ESLint errors and warnings

@badis, Can you commit more fixes to ESLint errors/warnings so that I can approve them in one click?


Example request: Intercept lambda invoke with nodejs

Is it possible for internal extensions to be able to intercept a lambda invocation event or response? I want to build essentially a wrapper function that is meant to validate certain properties of both incoming event payloads and responses.
I saw the example here for a javaagent to intercept the lambda invocations, and wasn't sure if this was possible with node in any way? https://docs.aws.amazon.com/lambda/latest/dg/runtimes-modify.html

Currently I don't believe this is possible with Node.


Cask: fixes for quarantining

[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?
[X] Have you written new tests for your changes? Here's an example.

Apple's Gatekeeper is currently making automated app installation a
nightmare for users. Let's disable this and release all existing
downloads from quarantine. If people still want to use it, let them
know the depth of the rabbit hole.
As part of this, let's also toss in some fixes:

for non-DMG app installs, where dotfiles or dotfolders are not set as write-able,
for quarantine users, let's toggle the translocation bit ourselves.

Fixes Homebrew/homebrew-cask#51663, fixes Homebrew/homebrew-cask#51646,
fixes Homebrew/homebrew-cask#51554, fixes Homebrew/homebrew-cask#51691.

So, since using the official APIs is not a valid option, could we actually make this usable by using hard-coded values for the attribute which doesn‘t include the translocation bits?
If not, I don‘t see a point in leaving this in at all.

could we actually make this usable by using hard-coded values for the attribute which doesn‘t include the translocation bits?

We can, and I believe that could be the most user-centric solution, and the way for us to proceed.
The Radar already hints at bit 8 of the xattr value. My cursory tests indicate that this bit may indeed be the translocation needed bit (although my own tests give me 01e1/00e1 instead of 0183/0083 but that doesn’t affect evidence that bit 8 may be the one).
It’s unlikely that Apple is going to change this private API randomly very often because that would break existing quarantined files.
I’m not a fan of using private APIs but this is one of the rare cases where I feel it’s justified.

Personally I'd be in favour of having this as an opt-in security feature. I've had a good experience with using it so far.

(to be clear, though, I'm not proposing a change not be made; the Cask maintainers are much better informed than me on making that call)

Personally I'd be in favour of having this as an opt-in security feature. I've had a good experience with using it so far.

@MikeMcQuaid You’re referring to the E+D variants? (See table below.)

By default
Optional setting

Force quarantine, leave GPR¹ as is ²
A
B

Force quarantine, force disable GPR ³
C
D

Do not use Gatekeeper at all
E
F

¹ GPR = Gatekeeper Path Randomization
² This is the Apple-endorsed method, and also how browsers do it. Requires user interaction in Finder.
³ This is the private, undocumented technique mentioned above. All we’d need to do is pull up bit 8 in com.apple.quarantine’s 16-bit value. If my assumption is correct, we’d basically mimic what Apple’s DesktopServices do internally.

What I especially like about the E+D variants is that there’s minimal impact/risk for us to mess up user experience.
However, I believe it’s more important to offer security out of the box even though this means more bugs/support hassle. That’s why I opt for the C+F variants because that’d be probably as secure as our users can get by default (unless we’d force them to drag app icons in Finder at install time, which I feel is a strong no-go).
With that being said, I’m currently not too active in answering Cask-related support incidents so I’ll be cool with whatever our fellow maintainers decide!

@claui Good find! I've coded it in my desktop and can confirm this works. I'll update the pull!

Once Travis reports back, please review. If you are 👍 with this, I can revert the opt-in parts.

Any relevant cases where you’d say the unpropagated artifact would also need the same treatment?

Any relevant cases where you’d say the unpropagated artifact would also need the same treatment?

@claui, do you mean Quarantine.cask? ? That deals only with the downloads, quarantining/releasing them according to what the user is doing. If they don't set --quarantine, the download is released (if necessary, to avoid ditto and pals propagating quarantine themselves) and Quarantine.propagate never acts.

do you mean Quarantine.cask? ? That deals only with the downloads, quarantining/releasing them according to what the user is doing.

@amyspark Yes, that’s what I meant. LGTM as is!
I’d love feedback from other @Homebrew/cask maintainers though, given I don’t regularly pull my weight when it comes to dealing with support incidents.

@claui, I've squashed everything + your comments into a single commit, so as to edit the commit message as well. Feel free to review!

Apologies for the multiple rebases and amends. The fetch tests expects files to be untouched, which requires the --no-quarantine flag to be 💯  sure.

Thanks @amyspark!

What I especially like about the E+D variants is that there’s minimal impact/risk for us to mess up user experience.

@claui Sorry for late reply but: 👍
Nice work @amyspark