"Script" tasks not working on windows?

Hello. I am not able to get a "script" task to actually run on Windows (git bash). For sanity testing, I am trying to just run the "poe" task from this repo. It is configured in your pyproject.toml as:
  [tool.poe.tasks.poe]
  help   = "Execute poe from this repo (useful for testing)"
  script = "poethepoet:main

I am running it via:
poetry run poe poe

On windows, I get nothing:
[13:38:53] Tim@WINDOWS ~/temp/poethepoet/poethepoet (main)
$ poetry run poe poe
Poe => poe

On ubuntu, it works:
[13:38:26] tcamise@UBUNTU ~/temp/poethepoet (main)
$ poetry run poe poe
Poe => poe
Poe the Poet - A task runner that works well with poetry.
version 0.12.2

Result: No task specified.

USAGE
  poe [-h] [-v | -q] [--root PATH] [--ansi | --no-ansi] task [task arguments]

GLOBAL OPTIONS
  -h, --help     Show this help page and exit
  --version      Print the version and exit
  -v, --verbose  Increase command output (repeatable)
  -q, --quiet    Decrease command output (repeatable)
  -d, --dry-run  Print the task contents but don't actaully run it
  --root PATH    Specify where to find the pyproject.toml
  --ansi         Force enable ANSI output
  --no-ansi      Force disable ANSI output

CONFIGURED TASKS
  format         Run black on the code base
  clean          Remove generated files
  test           Run unit and feature tests
  test-quick     Run unit and feature tests, excluding slow ones
  types          Run the type checker
  lint           Run the linter
  style          Validate code style
  check-docs     Validate rst syntax in the docs
  check          Run all checks on the code base
  poe            Execute poe from this repo (useful for testing)

Am I doing something dumb here?

Hi @tcamise-gpsw, thanks for reporting this.
I don't seem to be able to reproduce this issue, using git bash on Windows 11 running in a VirtualBox.
I'm not sure what could be happening here, as long as "python" is on your path I'd expect it to work (see relevant code)
If you're able to debug it, or share anything potentially relevant about your environment then I'd be interested to see if there's something poethepoet can do to be more robust.
I'll leave this issue open for a while in case more details come to light.

I was just doing some shotgun print debugging and may have found something.
If I print out the cmd that is getting sent to Popen here it looks like this:
 ('C:\\Users\\Tim\\.poetry\\bin\\poetry.BAT', 'run', 'python', '-c', "import sys; from os import environ; from importlib import import_module; sys.argv = ['poe']; sys.path.append('src');import_module('poethepoet').main()")

If I just send this from gitbash via:
 C:\\Users\\Tim\\.poetry\\bin\\poetry.BAT run python -c "import sys; from os import environ; from importlib import import_module; sys.argv  = ['poe']; sys.path.append('src');\nimport_module('poethepoet').main()"

I get:
SyntaxError: unexpected character after line continuation character

If I remove the \n it works. The original test also works if I remove the \n from the script _handle_run
I have no idea what the consequences of removing that \b are. Any ideas?

If it is acceptable, i made a PR here with just that change.

Hi @tcamise-gpsw, thanks for looking into this!
I gotta say I'm still not sure what's going on here.
Unfortunately the \n as a line break is necessary in the case that self.format_args_class(self.named_args) actually returns something (which is only if the task as args configured), because it precedes a class.
Hence the tests fail in CI, did you run them locally?
I have a few ideas of how to tackle this, but since I don't know what's required to reproduce it (and don't have direct access to a proper Window dev environment), I'll need some help verifying the solutions. Are you game?

My first idea would be to replace the line with f"{os.linesep}{self.format_args_class(self.named_args)} " in case this is windows failing to recognise the escape code as a line break so it thinks it is a "continuation character" followed by the letter n. The space at the end might also help.
If that doesn't help, then maybe the need for the line bread can be avoided by avoiding the use of the class keyword here: https://github.com/nat-n/poethepoet/blob/5322bc62415fb64f000ec94a6cc5f6e8335d33f9/poethepoet/task/script.py#L111 I guess something like

        return (
            f"type({classname},(object,),{"
            + ",".join(f'"{name}": {value!r}' for name, value in named_args.items())
            + "})"
        )

Does that work?

Yes, I am game to continue debugging this. But I'll need to get back to you towards the end of the week.

I just ran across a similar issue in another context and unfortunately discovered this issue too late. It would have saved me several hours of print debugging. The symptom is that script tasks executed via poetry shell; poe task or poetry run poe task have the wrong sys.path set and thus are not finding modules installed in venv. I traced the cause to the Popen call and found two possible solutions:

setting shell=True.
modifying the command in task/script.py to use sys.executable instead of just python, i.e.

        cmd = (
            f"{sys.executable}",
            "-c",
            "import sys; "
            "from os import environ; "
            #"from importlib import import_module; "
            f"import {target_module}; "
            f"sys.argv = {argv!r};"
            f"\n{self.format_args_class(self.named_args)}"
            f"{target_module}.{function_call}",
        )

The first option is not a proper solution, so I would like to ask that the second option be implemented.

Hi @jasal82, thanks for the feedback. I'm keen to get to the bottom of these issues.
Could you help me better understand exactly what is going wrong in your case?

is this issue exclusively with script tasks?
which python are you getting instead of the one from the poetry venv? Do you have an idea why?
I assume you're on windows?
Are you using poe installed by poetry inside your project?
Which python version are you using? how is it installed? is it the same between system and the poetry venv?
If you have the patience for more debugging could you share with my what the sys.path is vs what is should be?
Could you share what you get if you add a print just before this line to show the full subprocess command?
Is it possible that the target environment is not setup properly? (e.g. forgot to run poetry install)

Unfortunately I don't think always using sys.executable is a reliable solution. It'll work as long as poe is itself installed inside the poetry venv, but not if it's installed in another env or via pipx etc.
Constructing the command with just "python" should result in python being executed in the correct environment if the path is set correctly. Poe uses one of three different strategies for ensuring the path is setup depending on the circumstances:

in the most common case poe actually runs poetry run python ... which should be the most reliable method, but has the highest performance overhead
if poe detects that it is running in a poetry shell (or a recursive command) then it does nothing with the expectation that everything should already be in place
if running a multistage task (e.g. a sequence of tasks) then poe attempts to set the necessary env vars to "activate the venv" for the subprocess. AFAIK this always works perfectly... but maybe it doesn't?

Hello. So this is actually working for me now. That is, I can run all of the script tasks on Windows.
I did upgrade to the 0.13.1 so I'm assuming that this is what fixed it. In any case, feel free to close this if you want.

I just pushed a minor refactor to the development branch that should avoid whatever the original issue was related to new lines in the generated python script.
Closing this issue, please comment if it doesn't seem to be solved after the next release.


NuGet package for Microsoft.Azure.KeyVault.Cryptography won't install in standard project

NuGet Package for Microsoft.Azure.KeyVault.Cryptography won't install in a .Net Framework 4.5.2 standard class library because of the following error:
install-package : Failed to add reference. The package 'Microsoft.Azure.KeyVault.Cryptography' tried to add a framework reference to 'System.Diagnostics.Tools' which was not found in the GAC. This is possibly a
bug in the package. Please contact the package owners for assistance.
At line:1 char:1
+ install-package Microsoft.Azure.KeyVault.Cryptography
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

@davidbending we do not support .Net 4.5.2. As you can see here we only support net45 and Core CLR Netstandard1.5.

@davidbending  thanks for reporting the issue. I created a PR with the fix: https://github.com/Azure/azure-sdk-for-net/pull/2687
The dependency is not needed and is causing the GAC issue.

@davidbending the issue is resolved in package version 2.0.5


Fix seasonal recruitment

What issue(s) does this PR address? Describe and add issue numbers, if applicable.

[#283  ] Link issue on pull request

What tests have been done? Upload any model input files created for testing in a zip file, if possible.
compare output between tables for the anchovy assessment files
What tests/review still need to be done? Who can do it, and by when is it needed (ideally)?
another sharp set of eyes
Check which is true. This PR requires:

[ ] Changes in r4ss
[ ] Changes to SS3 manual
[ ] Changes to SSI (the SS3 GUI)
[X] An entry in the stock synthesis change log (new features, bug reports)

Describe any changes in r4ss/SS3 manual/SSI/change log that are needed (if checked):
Additional information (optional):

This second issue was detected while diagnosing the same set of input files. It is due to the non-modularity of the growth&biology parameters vs. the input of all biology from wtatage.ss   The problem was that fecundity, as calculated from growth parameters, was erroneously overwriting the fec(g) array.  Really should have been a separate issue with separate fix.

r4ss problems probably due to some extra output lines that are not finalized.

r4ss problems probably due to some extra output lines that are not finalized.

Yes, that makes sense. We should probably get those sorted out before merging into main, right?
Here is the error: https://github.com/nmfs-stock-synthesis/stock-synthesis/runs/5841949938?check_suite_focus=true#step:12:72
<simpleError in order(yielddat[["Depletion"]], decreasing = FALSE): argument 1 is not a vector>

This second issue was detected while diagnosing the same set of input files. It is due to the non-modularity of the growth&biology parameters vs. the input of all biology from wtatage.ss The problem was that fecundity, as calculated from growth parameters, was erroneously overwriting the fec(g) array. Really should have been a separate issue with separate fix.

Thanks for explaining!

with nearly every check passed, I will let this issue sit until I return to office on 4/11,


Feature request: opt-in for MetadataProvider failovers

Tonight, Semantic Scholar was having some downtime, which meant I couldn't build an index.
It would be nice to have some opt-in flag to allow discarding failures from MetadataProviders if there are 2+ providers that play the same role (e.g. Crossref + Semantic Scholar).

This should be the current behavior -- unless you've requested a field that comes specifically from S2 (shouldn't be the case for the defaults).  Were you seeing an uncaught exception bubble up from S2 and was that why? Otherwise there would only be an issue if a paper was missing from S2 and crossref.

Yeah I didn't record the stack, but somewhere within SemanticScholarProvider._query was getting 500 or 504's, eventually blew through retries, and then crashed get_directory_index


Saka-key doesn't work in Firefox under Windows 10

Saka-key version 1.25.5
Windows 10 x64
Firefox v62.0.3 x64

In what way does it not work?  I'm running the exact same as what you describe above (I just updated from 62.0.2 to .3) and everything so far seems fine.

@tgice Literally it doesn't work , doesn't respond to any keybinding.
In my case: k to toggle saka  , s to open link or a to open link in the BG (I change few other so there is no collision).
Here are all the settings/options  saka_key_config.json.txt (remove the .txt suffix)
Thanks

Hmm.  I've not much experience with saka, but I do just use the default 'ff' keybinding to show all of the letter hotkeys.
Have you tried disabling all other add-ons to see if any of those might be conflicting?  I know that I've run into at least a few minor apparent conflicts with some other software I'm running.
Something else you might try is to load saka (and your existing config, but try the default config first) in Firefox Developer (if you're not already in that, or plain Firefox if you are) as an alternative, to try to eliminate something specific about your Firefox profile that might be causing the issue.

Uninstall. Restart Firefox. Reinstall Saka-Key. Job done (for now).
Thanks


[5.1] whereIn collection support

Replaces #9014 :)

:-1:

Better fix would be to change $this->addBinding($values, 'where'); to $this->addBinding($values->toArray(), 'where');

@GrahamCampbell is your fix right though? $values will be an array by default, so there is no toArray method on it?

is your fix right though? $values will be an array by default, so there is no toArray method on it?

Maybe not, lol. Still, get rid of the elseif, because it's confusing, and leave blank line, then start a new iff statament. @crynobone is also correct about the Arrayable thing.

Ok cool, will fix them :)

@GrahamCampbell all done!

:+1:


Add support for undocumented 404 errors

Planhat returns a 404 HTTP response when the entity is not found. We've asked them to either fix or document that but this patch adds support for the undocumented response (found when trying to fetch a company by source id).

Apologies for the delay. Many thanks for the update.

My pleasure - there may be more when I get some more time to work on the tools we're building.


organize code, logo, templates on new repo

Right now we are more or less using this repo as a central things for too many things (I think).
It would be nice to create a new repo (or repos) to split the core website things from other "more generic ones", like message templates, logo files, functions that are part of populating the website, but not used for the website itself etc.

If this seems sensible, I can implement it.

I recently did this for another organization and think this is the way to go.
How about a "resources" repo (github.com/open-neuroscience/resources) where we throw logos and all other resources that come along the way ?

sounds good to me!

Done here https://github.com/open-neuroscience/resources


Group Labels API

This was just merged and will be included in 11.8 (February 22nd release): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21368
It adds support for Group Labels in the API: https://docs.gitlab.com/ce/api/group_labels.html
Endpoints include:

List group labels
Create a new group label
Update a group label
Delete a group label
Subscribe to a group label
Unsubscribe from a group label

Added in 72b14fb


Support graceful shutdown of runtime pods.

Description
This is to support the graceful shutdown.
When OW is running on K8S and a pod is drained for some reason (server maintenance..)
Our runtime pod also shut down and a time-out error can occur.
In this case, activation's result is an action developer error but it's actually the internal system error.
So this is to handle such a case.
Related issue and scope

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

My changes affect the following components

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

Types of changes

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

Checklist:

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

Codecov Report

Merging #5283 (f1dca88) into master (4016aa8) will decrease coverage by 5.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5283      +/-   ##
==========================================
- Coverage   79.96%   74.90%   -5.06%
==========================================
  Files         238      238
  Lines       14122    14129       +7
  Branches      599      606       +7
==========================================
- Hits        11292    10584     -708
- Misses       2830     3545     +715

Impacted Files
Coverage Δ

...pache/openwhisk/core/containerpool/Container.scala
86.02% <100.00%> (-3.64%)
:arrow_down:

...pache/openwhisk/core/entity/ActivationResult.scala
88.00% <100.00%> (-2.55%)
:arrow_down:

...core/database/cosmosdb/RxObservableImplicits.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0.00% <0.00%> (-95.85%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0.00% <0.00%> (-93.90%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0.00% <0.00%> (-92.31%)
:arrow_down:

...enwhisk/connector/kafka/KamonMetricsReporter.scala
0.00% <0.00%> (-83.34%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0.00% <0.00%> (-78.58%)
:arrow_down:

... and 27 more

Continue to review full report at Codecov.

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


Include image/jpg in mimetype checking.

I understand that image/jpg is not a valid mimeType. But the method should still accept the file and read the EXIF data if it exist and thus making it more robust.

Thank you!


Empty function split across 2 lines;

When you have an empty function it is split across 2 lines. I would have expected it to be on a single line.
Before:
const noop = () => {};

const noop = function() {};

After:
const noop = () => {
};

const noop = function() {
};

https://jlongster.github.io/prettier/#{"content"%3A"const noop %3D () %3D> {}%3B\n\nconst noop %3D function() {}%3B"%2C"options"%3A{"printWidth"%3A80%2C"tabWidth"%3A2%2C"singleQuote"%3Afalse%2C"trailingComma"%3Afalse%2C"bracketSpacing"%3Atrue}}
Apologies if this has already been reported. I did a quick search of issues and couldn't find anything that matches it.

I've also seen this and it's a bit weird indeed. Maybe we should figure out a list of things that should be split and things that shouldn't.
if, for, while likely should. function and arrow function may not be.

@vjeux I thought you wanted blocks to be explicitly broken up on new lines? :)
Sure, we can special-case it based on the parent node type. Just need to do
const parent = path.getParentNode().getValue();
if(namedTypes.FunctionExpression.check(parent) ||
   namedTypes.ArrowFunctionExpression.check(parent)) {
  return "{}";
}
return concat(["{", hardline, "}"]);

I was mainly annoying by if then else and try catch when I looked at it.

Ah ok. We have a clear fix so changing this to bug.


add --config option for custom config path

https://github.com/gordalina/cachetool/issues/154

Closing as #156 was merged


Remove subshells windows

Following the modifications of Pull #57, I would like make extensive the change to remove subshells for Windows too.
Shelling out to perform the lookup was even more expensive than POSIX.
What was done here is remove the dependency on which.bat support file and perform a direct lookup over ENV['PATH'] looking for the required executable.
The approach taken will append '.exe' to supplied cmd name under Windows.

To execute batch files (.bat, .cmd), Ruby wraps them with cmd.exe.
Based on existing executables on the platform (node.exe, cscript.exe) and that .com hasn't been seen in the past 10 years (only for compatibility), the lookup over PATHEXT seems unnecessary.
I've also removed the support batch file since is no longer necessary.

Thank you!


Deploy together-discovery to k8s cluster

create separate eureka discovery microservice from together-status to discover micro services on k8s cluster

Deployed on K8s cluster


Need preload feature like preload_page_view package

Where next index is automatically preload. so for this we dont have to wait for for widget to load
https://pub.dev/packages/preload_page_view

@moinkhan780
Sorry for the late reply.
Thank you for the issue! That's a good idea.
While PageView benefits from preloading because it displays adjacent pages in sequence, implementing the same for IndexedStack might need some tweaks since you can access any page at any time.
To better address this, I have a few clarifications:

In what situations did you feel the need for preloading in IndexedStack?
What kind of API would make sense for implementing preload in IndexedStack?

For example conside QUIZ where we have multiple questions from the api

done in #6


Enable Brotli compression for static files

Before we get into the nitty & gritty implementation details, I will need to have a close look at how Jetty does this with gzip, to keep the two operationally similar as possible (within reason of course).
It may also be worth considering optional server-side caching of files that have already been gzipped and served to a client before, seeing as how disk space is often much more plentiful than CPU cycles nowadays!

I will need to have a close look at how Jetty does this with gzip, to keep the two operationally similar as possible (within reason of course).

That sounds like a good approach. I want Jetty to do as much of the static file handling as possible. I used to work on another web framework with had home-made static file handling, and it caused a disproportionate amount of issues and vulnerabilities.

It may also be worth considering optional server-side caching of files that have already been compressed and served to a client before, seeing as how disk space is often much more plentiful than CPU cycles nowadays!

A bit off topic, but I'm wondering if it makes sense to also offer this for dynamic responses? There are a lot of dynamic APIs that rarely change, but the only way to know for sure is to store the input. 🤔

I want Jetty to do as much of the static file handling as possible

I was thinking along the same sort of lines. I think the "ideal" approach would really be to code this as a Jetty plugin of sorts, but as you pointed out before they don't seem interested in adding Brotli compression at this time, so that would mean us needing to maintain our own fork of Jetty, which is less than ideal for many, many reasons.
The "simplest" thing I can think of, that should avoid the issues you describe, is just having a tool/utility that a user could run to copy and pre-compress all their static files with Brotli, then we could serve these pre-compressed files.
This would require minimal changes in code, and no alterations to Jetty code, since I believe Jetty's static file handling is already coded to skip compression on brotli files (99% sure, but will confirm)

A bit off topic, but I'm wondering if it makes sense to also offer this for dynamic responses?

It could be done, but I question if the effort is worthwhile. It would be significantly more complex to cache dynamic responses, since many elements on such a page could change frequently, regardless if you are running the same GET request.
This caching would need to be done on a per-DOM-element basis, which would be vastly more complex to implement than simply squashing entire files.
I will need to do some research into this, see if others have tried the same, and if so, what they have found. :)

I have done a bit of digging, here are my findings:
Dynamic compression is (most commonly) done in one of two ways:

Through the usage of ESI (Edge Side Includes): https://www.w3.org/TR/esi-lang

I am not sure if Jetty/Javalin even have an ESI processor. I cannot find any mention through individual docs. But basically, it's the responsibility of the web app developer to define their content as static files, using ESI tags for dynamic content only, similarly to how one would use an IMG tag to include an image. The difference is that while IMG is handled client-side, ESI tells the server which sections of content within a HTML file are dynamic. This makes it very easy to determine which parts of the file can reliably be cached. I have no idea how often this approach is actually used in practice. The W3C has a page and explanation on it, but has NOT accepted it as part of the web standard, even though it has been submitted to them in 2001.

Through a CDN proxy service, such as Cloudflare's Railgun: https://www.cloudflare.com/en-gb/website-optimization/railgun/

Basically, a proxy content server that receives the client's request forwards information to the root web server to determine only the delta (changed) part of a dynamic content request. The byte delta is then sent back to the CDN proxy from the root server. Finally, the CDN integrates the delta into its partial cache, then sends the whole page to the client.
This is not a valid option for Javalin, since it requires a proxy to utilize, and I get the impression Javalin's typical use-case does not lie within CDNs.
I can't imagine how you'd do it any other way. Both of these methods provide at least a partial "template" on how the page is expected to look, with clear markers (static or machine-learning based) on where changes are expected.
Unfortunately, without a CDN proxy, the "Railgun" method doesn't apply to us at all, so the best I can think of is web devs utilizing ESI, OR we cache only files that are proven to be COMPLETELY, 100% static based on the same request params.

I was thinking something way more naive, simply a map<input, output> with a configurable size and eviction strategy. Just to avoid the computational cost of doing gzip/brotli of commonly requested resources that don't change often.

Ah! I getting ahead of myself here, thinking too big :grin:
So, if I understand, you'd want it to look something along the lines of this:

Generate and store uncompressed response per unique URI string
Send compressed response and store a copy of that as well
When an already "mapped" request comes through again, generate a new response, then checksum compare it against the stored one.
a) If checksum is identical to the previous uncompressed response, just send the pre-compressed file.
b) If checksum differs, discard stored files, then do steps 1 and 2 again.

Just verifying that I have the right idea! And if you have anything to add to this "execution flow", it is very welcome!

The "simplest" thing I can think of, that should avoid the issues you describe, is just having a tool/utility that a user could run to copy and pre-compress all their static files with Brotli, then we could serve these pre-compressed files.

Also, please do let me know what you think of this whenever you have the opportunity.
I just need a general "direction" to start coding in, and this seems to be the least "code invasive" option.

The "simplest" thing I can think of, that should avoid the issues you describe, is just having a tool/utility that a user could run to copy and pre-compress all their static files with Brotli, then we could serve these pre-compressed files.

Anything that requires manual user interaction is a bit of a let down IMO.

EDIT: Look at me, already going way off-topic from the PR

It's not that off topic, the reason I brought it up was so we could consider if it made sense to use the same caching mechanism for static files as for dynamic responses.
I wouldn't care about URI strings at all in this case. When a compressed response is written to the client, save a copy of it along with its uncompressed counterpart. For subsequent requests, check the cache before compressing.
After thinking about it for a bit I've gotten worried about sensitive info being cached though, maybe caching dynamic responses isn't wise.

Thinking about caching at this point might also be a bit premature, maybe we should focus on getting it working first :)

Anything that requires manual user interaction is a bit of a let down IMO.

It's not ideal, I agree. But if security is a prime concern, it may well be the best course of action. It's the least "invasive" approach I can think of due to minimal code alterations required.
What would some acceptable alternatives look like to you?

Thinking about caching at this point might also be a bit premature, maybe we should focus on getting it working first :)

This is probably quite true! Let's get the compression sorted out first.

Also, just a thought, but the utility I am suggesting doesn't necessarily have to require manual interaction.
Could just set the server up to do this quietly in the background if the appropriate config is enabled. Maybe do an initial "sweep" through the included static dirs, then set up some kind of strategy to detect changes and re-compress where needed.

Okay, so I got this figured out as mentioned on Gitter.
The way I am doing static Brotli compression, is by inheriting from Jetty's GzipHandler and overriding its handle() method. This makes sense because all the "operational" logic is found in the overriden method, meaning that if Brotli compression cannot be performed for whatever reason (unsupported, disabled, etc.), I can literally just call the original handle method via super()
I also implemented a new interceptor class called BrotliHttpOutputInterceptor. This is directly based off (but not inherited from) the corresponding GzipHttpOutputInterceptor and effectively does the same form of handling, just for specific to Brotli instead of Gzip.
This is the best approach I could think of, as it falls exactly in line with how Jetty's built-in GzipHandler does its magic. It checks that conditions for gzip are matched, then sets an interceptor on baseRequest.getResponse() for further handling/modification to the response before it is sent back to client.

While digging around in Jetty's innards, I also figured out how it does its "caching" on gzipped files. The answer: It doesn't.
It uses something called an "ETag" in combination with "if-none-match" and "if-match" headers. A web browser caches this ETag (which contains a CRC code for the static file) along with the actual content, and sends it back to the server as part of the request header when the same content is requested again. The GzipHandler then verifies the CRC (makes sure the file hasn't changed server-side) and sends back status 304, which tells the browser that content hasn't changed. This tells the browser to load the content from its cache, because it's still valid.
This hands all caching responsibility to the browser. It means we can do caching without having to manage and store pre-compressed files on the server. It also means that browser has the ultimate decision on whether or not a piece of content should be cached, so this could be used to cache un-changing dynamic responses (as you proposed). There would be no concerns about sensitive info getting cached with this method, since it's down to the web app developer to specify which pages shouldn't be cached. (Something they already need to do anyway, regardless of whether or not ETags are used)

This is the best approach I could think of, as it falls exactly in line with how Jetty's built-in GzipHandler does its magic. It checks that conditions for gzip are matched, then sets an interceptor on baseRequest.getResponse() for further handling/modification to the response before it is sent back to client.

That sounds like a great approach!

this could be used to cache un-changing dynamic responses (as you proposed).

We already have this via config.autogenerateEtags. It only eliminates the download time for the client, very few CPU cycles are saved on the server side. But I'm okay with that.

We already have this via config.autogenerateEtags

Ha, I completely missed that. Though in all honesty, I didn't actually know about the existence of ETags until a few hours ago, so I wasn't exactly looking either :smile:

It only eliminates the download time for the client, very few CPU cycles are saved on the server side

How come? It should save plenty of CPU cycles if you store the CRC of the original (uncompressed) response. When the request comes again, we could just generate the response and compare its CRC to the client's and return a 304 if they match, without running the compression.
It should eliminate client download time, but also stop the server from compressing the response again.
Or is there something I am missing?

How come? It should save plenty of CPU cycles if you store the CRC of the original (uncompressed) response. When the request comes again, we could just generate the response and compare its CRC to the client's and return a 304 if they match, without running the compression.

Aah, that's clever (or I'm an idiot). I thought the checksum was for the compressed response. Carry on then!

Aah, that's clever (or I'm an idiot).

I can't take credit. I am just quoting what Jetty already does with its static file handling! :D

I thought the checksum was for the compressed response. Carry on then!

I didn't even know that Javalin did ETags, so I haven't had a look at the implementation.
If it is grabbing the CRC of the compressed response, we could optimize this so it grabs the CRC of the original response instead.
We know we can rely on the uncompressed CRC, since with compression, the same input will always translate to the same output (and vice versa for decompression). If it doesn't, we have much bigger problems than saving a few CPU Cycles :joy:

fun writeResult(res: HttpServletResponse) { // can be sync or async
            if (res.isCommitted || ctx.resultStream() == null) return // nothing to write
            val resultStream = ctx.resultStream()!!
            if (res.getHeader(Header.ETAG) != null || (config.autogenerateEtags && type == HandlerType.GET)) {
                val serverEtag = res.getHeader(Header.ETAG) ?: Util.getChecksumAndReset(resultStream) // calculate if not set
                res.setHeader(Header.ETAG, serverEtag)
                if (serverEtag == req.getHeader(Header.IF_NONE_MATCH)) {
                    res.status = 304
                    return // don't write body
                }
            }
            compressionHandler.compressResponse(res)
            resultStream.close()
}

Yep, here we go. The code you were talking about is literally just before the "compressionHandler.compressResponse(res)" that I recently implemented with compression strategies and Brotli.
The CRC calculation and ETag setting definitely happen before the data is compressed. Means we're all golden here. It's already skipping compression when the browser sends a matching CRC!

Great! I can start reviewing tonight if you make a PR.
(Feel free to tidy up writeResult too, if you want to).

Yes, I will make a PR in a few minutes!
But please be aware this is still very much "test code" with manual boolean switches where configs should be and other potentially nasty things that aren't sticking around for the merge :smile:

Well, took longer than a few minutes, but here it is! #666
Did some refactoring and squashed a couple of bugs on the way.

The implementation approach has changed considerably since the last PR.
Please see new pull request #668

Closed by f5bdd89ac8dbb08834c7e63f80f6926cc86fccf1. Great work on this!


fix(version): update fabric8-runtime-console to 0.8.40

There were the following issues with your Pull Request

Commit: ae7a3389749d60d6cafb085f25364e63b09ddf52
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com


Language selector shows incorrect language.

Brief bug description
Language selector shows incorrect language.
Repro steps

Make sure you browse the MedioClinic page on English.
Go to 'Contact Us'
Click on the language selector
Select spanish
You get a 404 page, because 'Contact Us' does not exist in spanish
Read the language letter on the language selector. (DE for me, but there is no German setup in Kentico)

Expected behavior
The language selector properly shows "EN".
Test environment

Platform/OS: Windows 10, Default vanilla installation of the Demo
Browser Chrome
Commit 827abeb4a5465890b1b72fd1b516779fffdba34b

Screenshots

Hi @GrunowIT , thanks for letting us know! We'll take a look at it.

Hi @GrunowIT , I can't seem to be able to reproduce the behavior.
Are you sure you have both the code and the database in the state of https://github.com/Kentico/training-kentico-k12/commit/827abeb4a5465890b1b72fd1b516779fffdba34b ?
The language selector is built in the _Layout.cshtml file using DTOs factored out of CultureSiteInfo objects. The UI culture that the layout uses to pick the right culture abbreviation is being set by the route handler applied in RouteConfig.cs. However, the NotFound route is cultureless. Therefore, the default culture is displayed, no matter of the culture of the referrer's request. I suspect you might have had the German culture accidentally set in the defaultCulture variable in RouteConfig.cs. Wasn't that the case?
Thanks.

Hi @GrunowIT , as I couldn't reproduce the behavior, I'll close this one. Feel free to let me know if you want to re-open it.
Jan


KeyStoreTests: use empty pin for pkcs11 keystore

In case of PKCS11 provider password is actually interpreted as pin to PKCS11 token. (pin is empty string in default configuration) Seems like password was previously ignored for PKCS11 keystore, but that has changed in:
https://github.com/rh-openjdk/jdk/pull/17/commits

looks ok


[BUG] OOM  with bookie error "io.netty.handler.codec.TooLongFrameException"

Describe the bug
All brokers suddenly appear OOM, like this pic

at the same time，bookie appear many errors “io.netty.handler.codec.TooLongFrameException: Adjusted frame length exceeds 5253120: 6009181 - discarded”

bookkeeper.conf:
nettyMaxFrameSizeBytes=5253120
broker.conf:
maxMessageSize=5253120
To Reproduce
produce continuously lager message

I would set a smaller value for broker maxMessageSize. When you wrote to BK there is some overhead/envelope.

@eolivelli

it causes  a problem for read messages when I set a smaller value for broker maxMessageSize


ISPN-10310 State provider should not block while sending state

https://issues.jboss.org/browse/ISPN-10310
Second part of the series, handling topology updates without blocking is still pending.
I have made some changes to XSiteStateProviderImpl to make it more like StateProviderImpl, but I did not make it non-blocking.

Adding Changes Required label until you are able to figure out the blocking in regards to the invalidation commands.

I didn't mean to do anything about the invalidation commands here, sorry for the confusion.
I pushed an update to fix the conflicts.

I squashed the commits and I made two more changes:

I added a try..catch in sendEntries to catch IllegalLifecycleException when the cache manager is stopping
Instead of disposing the subscription I'm using takeUntil(batch -> cancelled). Initially I wanted to keep only the subscription and remove the cancelled field, but maintaining the subscription in a thread-safe way is kind of annoying so I went the other way around.

Integrated into master, thanks @danberindei !


Count and groupby

Just looking at the best way to do a groupby(index field) and just return counts of the records with this index

struct test {
name string
phone...
}
I want to group by name and count number of repetitions of that name.
thank you!

+1

Currently there's no builtin way to do that on v2, that will be available in v3 only. In the meantime, the only workaround i see is by doing it by hand i suppose. Can you provide an example of what you are trying to do?

+1 I'm looking for a way to count and group columns in one query.
@asdine I guess and example would be:
Using this struct as template:
type Transaction struct {
	Fee  int64  `json:"fee"`
	Hash string `storm:"id,unique" json:"hash"`
	Type string `storm:"index" json:"type"`
	Hex  string `json:"hex"`
}

Since I have Type indexed, I would like to count and group by index and get a result map(which includes all the Transaction Types or specified ones) like:
map[Regular:7 Ticket:13 Mixed:4]


Could not restore UI settings

This is the error I always get when the application is launched.
Additionally:

every time I close the application, it crashes, losing all saved settings.
if I press Pause while the queue is being processed, the application freezes.

I'm not sure if these deserve separate reports, at least until the UI error is solved.

You'll have to delete your settings in C:\Users\Username\AppData\Local\TumblThree\Settings\ since you apparently upgraded from some previous version. No settings/queue will be updated/saved until you've resolved this.
I'm sure it's written and explained in a older release where I've changed the settings and there are also some old issues about this.

I don't have that folder neither in %localappdata% nor in %appdata%
Settings files are being saved in the application folder.

Settings files are being saved in the application folder.

Then obviously delete your local settings in the application folder. Be sure that there are no global settings in %localappdata% either and that TumblThree is off while you delete the settings.


IF_HTTP_EXTENSION~HANDLE_REQUEST error

Hi, first of all many thanks and great respect for the project and this smart solution!
I have the following problem to compile the coding.
I created an Service (SICF)
I created an Class (SE24 with Name "Z2UI5_CL_HTTP_HANDLER" ) and inheritance from the interface "IF_HTTP_EXTENSION"
I copied the example Coding in the interface method
`  METHOD IF_HTTP_EXTENSION~HANDLE_REQUEST.
DATA LT_HEADER TYPE TIHTTPNVP.
SERVER->REQUEST->GET_HEADER_FIELDS( CHANGING FIELDS = LT_HEADER ).

DATA LT_PARAM TYPE TIHTTPNVP.
SERVER->REQUEST->GET_FORM_FIELDS( CHANGING FIELDS = LT_PARAM ).

Z2UI5_CL_HTTP_HANDLER=>ClIENT = VALUE #(
   T_HEADER = LT_HEADER
   T_PARAM  = LT_PARAM
   BODY     = SERVER->REQUEST->GET_CDATA( ) ).

DATA(LV_RESP) = SWITCH #( SERVER->REQUEST->GET_METHOD( )
   WHEN 'GET'  THEN Z2UI5_CL_HTTP_HANDLER=>HTTP_GET( )
   WHEN 'POST' THEN Z2UI5_CL_HTTP_HANDLER=>HTTP_POST( ) ).

SERVER->RESPONSE->SET_CDATA( LV_RESP ).
SERVER->RESPONSE->SET_STATUS( CODE = 200 REASON = 'success' ).

ENDMETHOD.`
I got some compiler errors:

where is my mistake?
BR

what ABAP version are you on ? seems like below 7.4

You created class z2ui5_cl_http_handler yourself?
it is in the abapGit repository. You should create a class like Z2UI5_DEMO_HANDLER yourself.


Add trigger SNEAK to power potiontick

Feature Request
Is Your Feature Request Related to a Problem? Please Describe.
I want to create an item, that makes a player invisible only while sneaking. Potionself with the trigger SNEAK is no solution, as it keeps the player invisible, even after he STOPS sneaking (or he loses invisibility while sneaking). Potiontick currently only accepts the trigger TICK.
Describe the Solution You'd Like
Add the trigger SNEAK to the power potiontick. This allows items to have a potioneffect ONLY while sneaking. Thanks for any answer in advance.

we added trigger SNEAKING recently and I'll add SNEAKING to potiontick


add sunflora

I request you to add some unique pokemons. Entei and Mudkip are already present in the website


Automated full stack test

If possible, it would be nice to automate a test of the full stack including creating a cluster and installing a few common tools (such as Longhorn and NeuVector but potentially others).
I imagine the test would look something like:

Install operator and configure
Build bootstrap iso
Boot machines with iso and register then reboot
Install k3s using rancher provisioning
install Longhorn and NeuVector
Smoke test Longhorn with a workload that can save and recall files from a volume
Smoke test NV by adding rule that will quarantine workload
Upgrade
Repeat smoke tests
Teardown and report

4. Install k3s using rancher provisioning

K3s is Tech Preview in Rancher, better to use RKE2 (E2E tests have been modified for this).

5. install Longhorn and NeuVector

Not sure that we currently have enough runner to use longhorn on it. And is it really a useful usecase currently?

Install k3s using rancher provisioning

K3s is Tech Preview in Rancher, better to use RKE2 (E2E tests have been modified for this).

My thinking for K3s is that it is what we expect our edge users to use primarily. It may be marked as tech preview but we intend to support both for the edge.

install Longhorn and NeuVector

Not sure that we currently have enough runner to use longhorn on it. And is it really a useful usecase currently?

Yes, we need to provide a storage layer that allows for workload moving between nodes (localpath provisioner adds node constraints due to it being storage on that specific node)

why do we need this? Once we have installed rke2/k3s and those deployments are up, then the usage of those are out of elemental scope, aren't them?
if they are installed using the official deployments from rancher, elemental ahs nothing to do in there unless there is some paths or something that are needed, they should work as a manual installed cluster?

They rely on host level capabilities. For example, Longhorn needs the iscsi packages.
My rationale for the tests is to make sure that we can be confident that something trivial like that doesn't get missed causing a bad upgrade gets distributed to deployments that are hard to repair if something goes wrong. The automated rollback should kick in for anything that's hard to recover from so it's just a second line of protection.
It's not high priority, but I think this type of test is worth while even if it's just a sanity check that we expect to never fail.

I think Neuvector and Longhorn would the be ones that I'm most concerned with. Harvester is a bit of an outlier there as it's currently built into its own appliance stack and I expect that they would do the e2e testing.


Don't use "using namespace std;"

Using namespace std is a bad example, consider replacing it with using std::cout;

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

ID: 89847656-bea8-b9a7-a50a-3d7e75e14ff6
Version Independent ID: 9f6c1029-6d5b-1d41-10dd-65863848c2e5
Content: Get started with C++ in Visual Studio - Visual Studio
Content Source: docs/ide/getting-started-with-cpp-in-visual-studio.md
Product: visual-studio-dev15
GitHub Login: @corob-msft
Microsoft Alias: tglee

@Arush-Agarampur There are certainly places where a using namespace std; is not appropriate, such as a header file, but in a source file that has no conflicting namespaces, this usage is both reasonable and common, and has many proponents who consider it good engineering practice. Since we don't usually take sides in what amount to religious wars over acceptable engineering, you'll find many of our examples do explicitly scope identifiers from the std namespace. This is ultimately a matter of user preferences, and not something we would dictate.


Сomparing the same object gives a false result

Version
3.2.6
Reproduction link
v3.vuejs.org
Steps to reproduce
just run the app
What is expected?
Comparing result: true
What is actually happening?
Comparing result: false

I know that the university uses a Proxy object to implement reactivity and to correct this situation, I need to use toRaw(). The problem is that it is not known whether Vue will be used or not outside Class.js.
I have recreated a simplified model and in fact, for comparison, an external library is used inside which Vue proxies objects.

Don't duplicate issues. If you want to suggest changes to docs, the repository is vuejs/docs


Feature/okn 1782

added the new icon svgs and updated patterns.
dropping one variant for each icon, as one can use the icon util classes instead.

Kewl story bro


DOC: Correct composer invocation to install phpunit

The example as given pulled down a much more recent version of phpunit
than what is compatible with SilverStripe. This change corrects the
example to use 3.7.*@stable, and removes a redundant reference to this
version number.

Actually even more of this document is outdated now, as we now include unit test functionality in the core downloads. All that you need to do is ensure that --no-dev is not used and the default installer will install the necessary version of phpunit.
See https://github.com/silverstripe/silverstripe-installer/blob/3.1/composer.json

Thanks for pointing that out! Here's a new rewrite.

I just had a few more ideas for your pr. I hope it's not too much trouble! You're doing a good job and thanks for the contribution. :)


serializer for /users/me/ PATCH

Based on the docs, we can make a PATCH request to /users/me/ by giving {{ User.FIELDS_TO_UPDATE }}. I have FIELDS_TO_UPDATE defined in my custom user model:
class CustomUser(AbstractBaseUser):
    email = models.EmailField(
        verbose_name="email address",
        max_length=255,
        unique=True,
    )
    first_name = models.CharField(max_length=150)
    last_name = models.CharField(max_length=150)
    # ...

    objects = CustomUserManager()

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["first_name", "last_name"]
    FIELDS_TO_UPDATE = ["first_name", "last_name"]

i have also set the serilizers like this:
DJOSER = {
    # ...
    "SERIALIZERS": {
        "current_user": "customauth.serializers.UserSerializer",
        "user": "customauth.serializers.UserSerializer",
        "user_update": "customauth.serializers.UserSerializer",
    },

class UserSerializer(BaseUserSerializer):
    class Meta(BaseUserSerializer.Meta):
        fields = ["id", "first_name", "last_name", "email"]

but serializer for PATCH request on /users/me/ is not working properly and not showing HTML form. But for PUT it shows HTML form with REQUIRED_FIELDS.
PATCH:

PUT:

Is there a serializer that needs to be set for SERIALIZERS setting in settings.py to enable HTML form in /users/me/ when using PATCH?
How should i set FIELDS_TO_UPDATE?

Okay this appears to be a problem with PATCH request in DRF. This problem nothing to do with djoser.


Export Error

zotero-better-bibtex-1.6.81.xpi
When exporting BibTex the following error is produced: Initialize failed: TypeError: extra.match is not a function
Zotero Stand Alone: <IP_ADDRESS>
Error occurs with all export types.

duplicate of #600


added place_name to onViewportChange

Thanks for the PR, but this doesn't feel right to me because place_name is not actually changing when the viewport changes. It changes when the result changes. You could accomplish what you are trying to do by using the onResult prop and caching those values in the parent MapGL component.
The dist folder is not checked in on purpose. It is created as a prepublish step when publishing to npm.


[Hub Generated] Review request for Microsoft.Security to add version stable/2019-08-01

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

/azp run automation - sdk

Can one of the admins verify this patch?

@kfbehar Hello. ARM team wants this change happened in a new api version.

@kfbehar Please share your thoughts about this PR and ARM's comments.

/azp run automation - sdk

@kfbehar Hello. If you don't need this PR anymore, I will close this PR in this week.

@kfbehar Kindly ping

@kfbehar kindly ping


In stacked bar chart, when x axis have more than 15 days, in x axis number shows in (....) for days... can we skip number while plotting chart

Attached is the screenshot for your reference

Can we achieve this :

Thanks, I have fixed using ,
xAxisLabels = {
if(it%7==0) {
AxisLabel("${it }", Modifier.padding(top = 2.dp))
}
        },


Add license

License will help with avoiding legal problems while collaborating on the development here.

Fixed in master!


rm aurora in deploy status messages of api & service packages

we can introduce a new flag something like DONE_RED to distinct positive done messages from negative ones.

We should use the package pretty instead of aurora. Everything needed will be in the pretty package.
Replace:

[ ] aurora.Green("✔") by pretty.SuccessSign
[ ] aurora.Red("⨯") by pretty.FailSign

I think we should completely rm this and only use constant flags to indicate the positiveness of status messages. Because api package should not be aware of colors or symbols.


fix: use right semantic tags on homepage

Description

removed unnecessary divs
used the right elements.

Related issue(s)

See also #754
Note:

You can test these changes using a screen reader.
There are still more pages that need to be fixed.

@derberg Do you wanna add something?

why are we making this change? what is the benefit, as looking at https://github.com/asyncapi/website/pull/770 looks like performance dropped

@derberg for better screen readers support as well as better SEO (a list should be a list and not an array of items, likewise a blog post should be an article etc).
I wouldn't look at performance so strictly because the result is different every time. Performance is calculated based on time to load scripts, css and html rendering. We would have to run the script 5 times and take the average from that, then the result would be reliable.

yeah, you are right about performance, especially that it tests on preview link that by default performs much worse that production site

@Olaleye-Blessing

should other necessary pages too be updated?

If you want, please consider another PRs :) Contributions are more than welcome.

@Olaleye-Blessing I checked and in this PR we introduced one problem in the /blog page (these dots):

In deployed https://www.asyncapi.com/blog everything is ok. Could you fix that?

I think that's the default list style. I've seen the error. div is used as the parent container instead of ul

what should the commit message look like since it's not on the homepage?

@Olaleye-Blessing

I think that's the default list style. I've seen the error. div is used as the parent container instead of ul

As I wrote:

In deployed https://www.asyncapi.com/blog everything is ok.

So yours PR introduced that.

/rtm


page.goto (goBack, goForward) without waiting

Steps to reproduce
Tell us about your environment:

Puppeteer version: latest
Platform / OS version: linux
Node.js version: 14

What steps will reproduce the problem?
const response = await page.goto(url, {
    waitUntil: 'domcontentloaded',
});

What is the expected result?
Promise will resolved after domcontentloaded event.
What happens instead?
Is it possible to implement waitUntil: 'immediately' as in the example below? To get <HTTPResponse> as soon as possible without waiting for any events or networkidle?
const response = await page.goto(url, {
    waitUntil: 'immediately',
});

Maybe listening to 'response' event can help?

Perhaps yes, but here question is rather the convenience of API. If you listen to the response event separately, you need to make additional checks that this response is exactly the one we are waiting for, etc.


Fix regression in storage copy across accounts

Was regressed by https://github.com/Azure/azure-cli/commit/68c05d21a2ec00c7a10e3e5c0b54bf3243f8e951

Codecov Report

Merging #2368 into master will decrease coverage by -0.01%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master    #2368      +/-   ##
==========================================
- Coverage   72.94%   72.94%   -0.01%
==========================================
  Files         425      425
  Lines       19307    19310       +3
  Branches     2740     2740
==========================================
+ Hits        14083    14085       +2
+ Misses       4322     4321       -1
- Partials      902      904       +2

Impacted Files
Coverage Δ

...e/azure/cli/command_modules/storage/_validators.py
53.7% <40%> (+0.08%)
:white_check_mark:

src/azure-cli-core/azure/cli/core/_util.py
65.51% <0%> (ø)
:white_check_mark:

...dback/azure/cli/command_modules/feedback/custom.py
34.69% <0%> (ø)
:white_check_mark:

Continue to review full report at Codecov.

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


Map async

like map, but async. Similar to the PR that added and_then_async.

Codecov Report

Merging #162 (d52a922) into master (730ef99) will increase coverage by 0.11%.
The diff coverage is 98.20%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #162      +/-   ##
==========================================
+ Coverage   97.41%   97.52%   +0.11%
==========================================
  Files           4        4
  Lines         464      565     +101
==========================================
+ Hits          452      551      +99
- Misses         12       14       +2

Files
Coverage Δ

src/result/__init__.py
100.00% <ø> (ø)

src/result/result.py
95.10% <100.00%> (+0.42%)
:arrow_up:

tests/test_result.py
99.22% <100.00%> (+0.04%)
:arrow_up:

tests/test_result_do.py
98.00% <97.53%> (-2.00%)
:arrow_down:

There's a few other methods that accepts a Callable. Should we just add async variants for them all in a single (this) PR? Rather than piece by piece do them?
Also I guess this would create a divide between async functions and non-async functions without a possible way to merge the two worlds? Function coloring problem?
Does this mean we'd forever have to have a _async variant for all methods that accept a Callable for which we want to support an async variant?

I agree it makes sense to do this in one batch, but I think we should get this one shipped since it's ready. The rest of the methods kind of seem like long-tail usage anyway. map and and_then hit maybe 99% for me.
Interesting read - need to look into how Go does async.
But yes, I think if you have async, it has to be separate forever. We've basically extended this library to provide not only the Result monad, but also a second composite async-Result monad.

async/await is just the do-notation of the Promise monad

https://gist.github.com/peter-leonov/c86720d1517235a1f28cd453a9d39bb4

Some languages don't suffer from the function coloring problem, Zig and Go like you mention. I don't know if there's any possible solution in Python land sadly.
Makes sense, we can defer the others in a separate PR.
Let me know when you've resolved some of the conflicts, I'll review then.

async/await is just the do-notation of the Promise monad

hmm, might be really a stretch, but would it be possible to implement do-notation for a Result monad with async/await syntax? I'm not sure what it would look like...and it may be quite confusing possibly.

An awaitable object is an object that defines await() method returning an iterator

What if Ok and Err implemented __await___?

Resolved the merge conflicts and merged in https://github.com/rustedpy/result/pull/165


Add a convenient option for styling pagination

Is your feature request related to a problem? Please describe.
The problem is that you have to use :deep in pagination to style the slider
Describe the solution you'd like
add a paragraph about proper styling to the manual or add methods for styling pagination

There’s actually no need to use :deep to modify the styling of any carousel elements. The Vue3-Carousal library uses the BEM naming convention, which simplifies the process of customizing styles. You can easily override specific styles by targeting the relevant classes directly, ensuring consistent and scoped styling without needing special selectors.

Please check this example on how to simply customise your carousel component
https://stackblitz.com/edit/vue3-carousel-example-basic-qzfh3q?file=src%2FApp.vue


Timeouts on media posts

Issue Description
I find that frequently, when posting large images, the operation times out and I get something like this:
  File "/home/rolf/weather/redditSend.py", line 51, in post
    api.submit_image(text, mergedImageName)
  File "/usr/local/lib/python3.7/site-packages/praw/models/reddit/subreddit.py", line 644, in submit_image
    return self._submit_media(data)
  File "/usr/local/lib/python3.7/site-packages/praw/models/reddit/subreddit.py", line 453, in _submit_media
    raise ClientException('Websocket error. Check your media file. '
praw.exceptions.ClientException: Websocket error. Check your media file. Your post may still have been created.

When I looked into the source code of praw, I found several places that use "timeout=2" (https://github.com/praw-dev/praw/blob/master/praw/models/reddit/subreddit.py#L449). I'm assuming that's a 2-second timeout.  I'm also assuming that timeout is not sufficient for large images.  It would be nice if that were configurable.
System Information

PRAW Version: praw==6.1.1, prawcore==1.0.0
Python Version: 3.7.2
Operating System: Linux Mint 19.0

Could you provide an image that (sometimes) triggers this exception? I'd like to look into it more.
I'm not entirely happy with the websocket-based implementation in the file you linked, but it seems to be the only option.
If raising the timeout (or allowing it to be customized) alleviates the problem, I'm all for the change.

Here's an example of an image that I had trouble with:

Sorry it took me so long, but I have verified that when the timeout is around 12 or higher, this image can be submitted without an exception. I'm submitting a PR that

raises the default timeout from 2 to 10
allows for a custom value, as you suggested

Thanks for the bug report!


fix evalatue problems

Signed-off-by: zhang chen<EMAIL_ADDRESS>

Codecov Report

Merging #691 (f6da5cb) into training (1bf278a) will decrease coverage by 0.00%.
The diff coverage is 37.50%.

@@             Coverage Diff              @@
##           training     #691      +/-   ##
============================================
- Coverage     61.18%   61.17%   -0.01%
============================================
  Files           147      147
  Lines          6389     6390       +1
  Branches        988      989       +1
============================================
  Hits           3909     3909
  Misses         2187     2187
- Partials        293      294       +1

Impacted Files
Coverage Δ

towhee/trainer/training_config.py
81.30% <ø> (ø)

towhee/trainer/trainer.py
64.70% <37.50%> (-0.15%)
:arrow_down:

Continue to review full report at Codecov.

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

/lgtm
/approve


Including callback for transferring MWDI information to NewRelease during bequeathing process

As per understanding, AutomatedLinkAcceptanceProxy (ALAP) requires the details of MWDI (MicrowaveDeviceInventory) for accessing the device data which is present as client ltps in config file.
During bequeath-your-data-and-die process, shall we include a callback that could transfer the MWDI data from OldRelease to NewRelease.
However we could update the data through fake-ip-script, since automated process would be preferred in ApplicationPattern for updating an application's data through rest APIs, kindly please let us know your views in this regards.

I don't think we are storing any data (no ElasticSearch client-stack, also no fileProfile). So I don't think we will be transferring any device data to a new release.
@IswaryaaS: or are you referring to the connection details for MWDI like ip/port etc.?

Yeah, I am referring to MWDI because ALAP is very much dependent on MWDI, so the transfer of its protocol, ip-address and port data would be useful.

Hi Iswaryaa, actually I thought that information of applications that remains in the serviceList is transferred anyway, as it will be kept in the configFile/loadFile and was not aware that we need a callback for that.
So from my side it sounds reasonable to include the callback.

As per my understanding, fake-ip script is a temporary method for translating address and port information of an application in a configFile. Usually if we refer to any one of TAC applications, all the details of an application like "ip-address", "port", "release-number", any "subscribed operation" or sometimes the "whole application" gets transferred to the new version of an application through in callback during bequeath-your-data-and-die.
This enables the whole data transfer from old version to new version of the application automated , avoiding any human or script intervention.
Example: kindly check PromptForBequeathingDataCausesTransferOfListOfApplications callback in OAS of EATL. This callback transfers the list of all applications (and their corresponding information) to new version
Anyway, fake-ip script is an easy way for updating the data.
Just that I would like to know the view on this aspect that if it is fine to use fake-ip-script instead of callback.

While initially putting AutomatedLinkAcceptanceProxy into operation, TCP/IP address information of MicroWaveDeviceInventory has to be written by fake-ip script into the CONFIGfile.
Same in case of updating AutomatedLinkAcceptanceProxy.
In case of updating MicroWaveDeviceInventory, new address information will be received via broadcast from RegistryOffice.
So, no change required.


bug: The plugin cannot lazy load

Hi, thank you so much for an amazing plugin!
Issue.
One issue I have is that since the code require("chatgpt") in a file inside plugin/, this plugin is required during setup.
This prevents the possibility of lazy loading this plugin.
This PR is a quick fix to this problem which requires the plugin inside an anonymous function.
Why I need this.
I created a script to ask for an OPENAI_API_KEY via vim.ui.input if none is specified as an environment variable. This does not work if the plugin checks for an environment variable on startup.
use({
  "jackMort/ChatGPT.nvim",
  config = function()
    local function setup_chatgpt()
      require("chatgpt").setup({
      })
    end

    if string.len(vim.env.OPENAI_API_KEY or "") < 1 then
      vim.notify(string.format("$OPENAI_API_KEY not set: %s", vim.env.OPENAI_API_KEY or "nil"), vim.log.levels["ERROR"])
      vim.ui.input({ prompt = "OPENAI_API_KEY = " }, function(input)
        if input ~= nil then
          vim.loop.os_setenv("OPENAI_API_KEY", input)
          setup_chatgpt()
        end
      end)
    else
      setup_chatgpt()
    end
  end,
  ...
})

Hope this gets merged :)
Best,
pysan3

Hi, I don't know where to put my OPENAI_API_KEY, can you please help me

This PR has nothing to do with your error.
FYI, it comes from this line.
Unfortunately, I am not a maintainer or whatsoever so if you cannot figure it out, please ping the author with a new issue.


Move concrete5 core psr-4 autoloaders to composer

Based on my profiling, this cuts the total time spent looking up these classes in half down from 35ms to 16ms.
You can see the comparison from elemental content homepage here: https://blackfire.io/profiles/compare/fa3dbe74-6830-456d-b24a-236a4a014881/graph

It should be noted that moving to this method makes it slightly more difficult to change the directories used for things. Instead of just redefining NAMESPACE_SEGMENT_VENDOR to change the namespace or DIRNAME_MENU_ITEMS to change the directory to use, you now have to also change composer.json and run composer update.
Ignoring the insignificant performance gain, I think this is worth it because composer autoloading is standard and the file that these are defined in is super clean and easy to read. By defining these here, I just have to look at composer.json when I get confused about which directories go where.

After thinking about this some more, we probably want to move everything that's not src out of this :-1: because we don't actually follow PSR-4 anywhere other than the src directory. It works today because we use the optimized composer autoloader so composer is making a classmap. That means any time you add a controller or anything in those directories in the core, you either have to run composer install.

Ah, bummer. Well, I do see the benefit to adding it for concrete/src/ There are a lot of classes in there

(Assuming that it doesn't mean we have to update composer any time we add to the src/ directory)

@aembler one thought is we can hybridize it. We can get the optimized loader for releases and every time you run composer install, but fall back to the legacy loader for when the class isn't found by composers loader.
That'd allow us to make use of the optimized loader 99% of the time and still let us add classes during core development.

Yeah that seems to work with similar speed improvements. Can someone else confirm that this still works when adding core controllers and src files?

@aembler @mlocati any thoughts on this? It should be good to merge.

I didn't test this, but I don't see why this shouldn't work.
A simple hash table lookup is ways faster than looking for files.

I'm pretty sure this is ready to be merged, just need a second person to test it.

@aembler @mlocati @joe-meyer This still needs a second set of eyes

Does this cause issues when your core is running out of the /updates/ directory?

I think @joe-meyer brings up a good point, lets revisit this later.


Missing Official Recognition Status

There are:
26 records missing registration status
19 records that have no "if officially recognized flag"
19 records with no registry type

[ ] post prod do search on these values for no data/null data and manually correct

No Registration Status, mark as complete when done:

[x] EeRb-56
[x] FhYa-20
[x] DgQv-30
[x] DhRs-27
[x] DhRr-41
[x] DhQd-8
[x] DiRu-61
[x] EdQa-10
[x] EbQu-44
[x] DiQj-24
[x] DhRs-188
[x] DcRu-695
[x] DhRe-2
[x] EeQa-6
[x] EiRa-10
[x] GfTk-9
[x] EeRe-27
[x] HaRk-30
[x] DgQk-19
[x] DkSr-12
[x] EiRb-21
[x] FhUa-22
[x] EcPx-28
[x] DcRu-1252
[x] DcRu-1253
[x] DkRi-141

Complete


Add a base template

All the other templates source it
Close https://github.com/NVIDIA/spark-rapids-benchmarks/issues/112
Signed-off-by: Gary Shen<EMAIL_ADDRESS>

After this change, user may need to modify both base template and non-base template when running a job. We should update the README part to let user understand the structure and workflow.
Current README doesn't have a specific section about template usage but mentions templates at every part(transcode, power, maintenance) that requires it.


Fix Danielhiversen/home_assistant_tibber_custom/issues/60

Extended upon the post of @mimainka, derived a unique id from self._name

Thanks


Add Any/All extension methods

@mausch, thanks for submitting this PR!
But before we proceed, can you tell what your scenario is?
A long time ago I decided not to add these extension methods on purpose. The idea was if you have an asynchronous stream of items that may incur lots of IO operations. Thus, why would you go through many items just to get one boolean result? Shouldn't that be an optimized DB call instead for example? That was my thinking to make sure that no one shoots themselves in their foot.
It would be interesting to hear your story and see what I missed.

Hi @tyrotoxin , firstly thanks for this project! Great work!
My scenario is a list of async functions that I want to run lazily, sequentially, until the first one (if any) returns false.
If all of them return true, then the final value is true.
BTW this could also be expressed using the Aggregate overload I suggested in https://github.com/Dasync/AsyncEnumerable/issues/42
I have to go now but I could post some concrete code later if you want.


Themeable Variables & Selection Styles

Summary
We have selection styles! This PR adds themeable variables and selection styles to both lists and tables.
Additional Details
The first commit to this PR changes the OnClick and OnKeyDown props of SingleSelectableRows to OnChange to be consistent with the Selectable List API.
@cerner/terra

Tested: PR #392
Reviewed:

Follows pattern considerations documented in the current Cerner Design Standard: Tables and Lists
Follows UX defined Terra design implementation for issue: adding Selection Styles.

Resolves: Requested additional fixes listed in PR #341-comment

Update with new table colors (table border, table header, row zebra striping, selection colors)
Remove responsive behavior which gets triggered at 768px ($terra-small-breakpoint)

Pass

UX Review

Functional verification completed. Table and list examples/test pages display and function correctly. Responsive behavior removed from table.
Issues logged for focus styles https://github.com/cerner/terra-core/issues/419 and spacebar selection https://github.com/cerner/terra-core/issues/421


Android app audio not working with error (1,-2147483648)

Good day. When I attempt to run this code,and try to use the remote URL audio player, I get this output in my debug console.
Launching lib\main.dart on Moto G4 Plus in debug mode...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Built build\app\outputs\apk\debug\app-debug.apk.
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
D/NetworkSecurityConfig(32087): No Network Security Config specified, using platform default
E/MediaPlayer(32087): error (1, -2147483648)
E/MediaPlayer(32087): Error (1,-2147483648)
E/MediaPlayer(32087): stop called in state 0, mPlayer(0x90f8c1c0)
E/MediaPlayer(32087): error (-38, 0)
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MediaPlayer(32087): error (1, -2147483648)
E/MediaPlayer(32087): Error (1,-2147483648)
E/MediaPlayer(32087): stop called in state 0, mPlayer(0x9019cae0)
E/MediaPlayer(32087): error (-38, 0)
E/AudioAttributes(32087): Invalid stream type -2147483648 for AudioAttributes
W/SoundPool(32087): App requested 100 channels
E/WVMExtractor(32087): Failed to open libwvm.so: dlopen failed: library "libwvm.so" not found
E/NdkMediaExtractor(32087): sf error code: -1010
E/SoundPool(32087): Unable to load sample
W/SoundPool(32087):   sample 1 not READY
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MediaPlayer-JNI(32087): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MediaPlayer(32087): error (1, -2147483648)
E/MediaPlayer(32087): Error (1,-2147483648)
E/MediaPlayer(32087): stop called in state 0, mPlayer(0x9019cce0)
E/MediaPlayer(32087): error (-38, 0)
W/SoundPool(32087):   sample 1 not READY

Any idea what could be causing this?

dlopen failed: library "libwvm.so" not found
I suspect you are using an emulator, right? probably you are missing this dependency for it, in your linux... Can your emulator play sounds elsewhere?

I'm not using a emulator,I'm running it on a Android phone. I'm not developing this in a Linux environment either. How would I fix the missing dependency?

@Nucl3arSn3k this remote url, is playable by other players on the device? You can test this by downloading it and playing on the device default player.

Yes,the file is playable on the device.

Same issue i am getting . songs are properly playing on vivo , oppo , mi devices but not working on samsung devices( I am using samsung galaxy s9)
I am getting above error mentioned by Nucl3arSn3k

@luanpotter  Quick question,I think one of the issues might be the service I'm using to host the audio files,where would you recommend uploading the files I'm planning to use to?

@vikramaggarwal13  @luanpotter  I've figured out the issue. I was having problems with the audio hosting service,and managed to get it to work by hosting the file I was attempting to play on Jukehost.


Multiple gesture interaction

Describe the bug
This is very similar to the issue described here: https://github.com/AvaloniaUI/Avalonia/issues/3133.
In particular:
The gestures recognizers collection contains two gesture recognizers
one is looking for single finger touch gestures
the second is looking for two finger touch gestures
Both recognizers will receive a PointerPressed event when the first finger touch occurs, both store the pointer information (touch ID etc).
The finger is moved triggering PointerMoved events for both recognizers.
The first recognizer now decides this is a single finger gesture and captures the input via IGestureRecognizerActionsDispatcher.
From this time forwards only the first recognizer receives pointer (touch) events for the touch ID.
The finger is removed and the first recognizer gets a PointerReleased event.
The second recognizer never gets a notification to discard the touch ID.
Now another single finger down occurs and both recognizers receive a PointerPressed event with a new touch ID.
The second gesture recognizer now thinks there is a two finger touch in progress.
The first recognizer thinks there is a single touch in progress.
To Reproduce
Create a control and enable 2 gestures:
UserControl.GestureRecognizers> 		<PinchGestureRecognizer/> 		<ScrollGestureRecognizer CanHorizontallyScroll="True"                               CanVerticallyScroll="True"/> 	</UserControl.GestureRecognizers>
Expected behavior
After releasing the initial tap (to scroll) the next single tap should still be handled by scroll. Instead it is recognized as a second concurrent tap and handled by zoom instead
Avalonia version
11.0.11
OS
WebAssembly
Additional context
No response

Is this a custom gesture recognizer? I do not recognize IGestureRecognizerActionsDispatcher, nor is there any code related to it. Please confirm the behavior occurs on the latest 11.x releases, and the actual reproduction steps.

Thank you for the reply @emmauss . I am not using IGestureRecognizer. I think that was the way things were done back in 2019.  Since then there were some major refactoring. For example, I found this https://github.com/AvaloniaUI/Avalonia/issues/11522
To answer your questions:

It is confirmed in 11.0.11. WebAssemply. Tested with an android and ios.
Create a new Avalonia project for Web. Enable 2 gestures for any user control (a rectangle is sufficient)

<UserControl.GestureRecognizers>
  <PinchGestureRecognizer/>
  <ScrollGestureRecognizer CanHorizontallyScroll="True" CanVerticallyScroll="True"/>
</UserControl.GestureRecognizers>

When testing, the behavior described in the first report occurs:

When the first touch even occurs, ScrollGestureRecognizer receives a ScrollGestureEvent  (as it should)
After we release, ScrollGestureRecognizer receives a ScrollGestureEndedEvent. However, it seems PinchGestureRecognizer does NOT receive any release events. Hence on the next touch event (single finger) PinchGestureRecognizer receives a PinchEvent and it should not. It means we are effectively doing a "pinch" with one finger.
Another note: enabling only Pinch or Scroll at a time everything works as expected. Independent behaviors are ok. The problem occurs when both are present

Thank you for the reply @emmauss . I am not using IGestureRecognizer. I think that was the way things were done back in 2019. Since then there were some major refactoring. For example, I found this #11522
To answer your questions:
1. It is confirmed in 11.0.11. WebAssemply. Tested with an android and ios.

2. Create a new Avalonia project for Web. Enable 2 gestures for any user control (a rectangle is sufficient)

<UserControl.GestureRecognizers>
  <PinchGestureRecognizer/>
  <ScrollGestureRecognizer CanHorizontallyScroll="True" CanVerticallyScroll="True"/>
</UserControl.GestureRecognizers>

3. When testing, the behavior described in the first report occurs:

When the first touch even occurs, ScrollGestureRecognizer receives a ScrollGestureEvent (as it should) After we release, ScrollGestureRecognizer receives a ScrollGestureEndedEvent. However, it seems PinchGestureRecognizer does NOT receive any release events. Hence on the next touch event (single finger) PinchGestureRecognizer receives a PinchEvent and it should not. It means we are effectively doing a "pinch" with one finger.
Another note: enabling only Pinch or Scroll at a time everything works as expected. Independent behaviors are ok. The problem occurs when both are present

I've tried to reproduce this, using your exact method. Gestures work fine, even with multiple recognizers.
This is my test with 11.0.11
AvaloniaApplication9.zip

Thank you again @emmauss . You are correct, the sample project you sent works as expected. I've added more code to do manipulations for scroll and pinch and works as expected.
The only difference I can see is that in the sample you sent the .net framework is 8.0 whereas in the project I was using it is targeting 7.0.
I will switch my project to 8.0 and confirm the fix, but I wanted to let you know it is indeed working.
This can be closed and marked as "user error".
Thank you again for your help.


Using vim-plug

First of all thanks for the plugin.
When I try to use it via vim-plug as following:
Plug 'aserebryakov/vim-todo-lists', { 'for': 'todo' }

It doesn't seem to work even though I did configure filetype correctly:
autocmd BufRead,BufNewFile *.todo set ft=todo

It does work if I add call VimTodoListsInit:
autocmd BufRead,BufNewFile *.todo set ft=todo | call VimTodoListsInit()

but I find this solution a bit of a hack.

🆙 It'd be great to address this issue! Thanks for showing the workaround.

You can just add the plugin without arguments to Plug and without calling autocmd. Adding this to .vimrc (Vim 9.1) works out-of-the-box:
Plug 'aserebryakov/vim-todo-lists'


wheel_left_link and wheel_right_link not working in rviz

ISSUE TEMPLATE ver. 0.2.0

Which TurtleBot3 you have?

[X ] Burger
[ ] Waffle
[ ] Waffle Pi

Which SBC(Single Board Computer) is working on TurtleBot3?

[ X] Raspberry Pi 3
[ ] Intel Joule 570x
[ ] etc (PLEASE, WRITE DOWN YOUR SBC HERE)

Which OS you installed in SBC?

[ ] Ubuntu MATE 16.04 or later
[ X] Raspbian
[ ] etc (PLEASE, WRITE DOWN YOUR OS)

Which OS you installed in Remote PC?

[X ] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] Linux Mint 18.x
[ ] etc (PLEASE, WRITE DOWN YOUR OS)

Write down software version and firmware version

Software version: [1.12.13]
Firmware version: [1.2.3]

Write down the commands you used in order

$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_bringup turtlebot3_remote.launch
$ rosrun rviz rviz -d rospack find turtlebot3_description/rviz/model.rviz

Copy and Paste your error message on terminal

No problem in terminal

Please, describe detailedly what difficulty you are in

My turtlebot is not placing the wheels correctly in the rviz program. I see a Status Error under the robot model and the wheel_left_link and wheel_right_link are red

The turtlebot will move forward correctly when I press the test buttons on the openCR board but when I open rviz, the model has the wheels under the robot???
I see others have had this problem however I'm certain that I have the correct IP addresses.
Thank you for any advice!

Hi @extrasleepy :)
This issue is probably a connection issue with OpenCR.
Refer to this and press reset button.
Thanks,
Gilbert.

In this picture, your master IP is <IP_ADDRESS>, right?
<IP_ADDRESS> means localhost, so you can't connect to the remote PC.
What did you use network? Could you show me the terminal when you command ifconfig and ROS_MASTER_URI and ROS_HOSTNAME in bashrc file?.

Did you use virtual Machine for remote PC? VM can't connect to wireless lan.
Your turtlebot3 is connect to wireless IP <IP_ADDRESS>. So, your remote PC have to connecting same network(192.168.1.xxx).
I recommand that do not using VM.

Yes Gilbert, that was the problem. I figured out how to share the ip from the main machine to the VM and not everything is working. Thank you for the help!!!

Good! If you have any question, feel free to ask. Thanks.

@extrasleepy I think I am having the same issue while trying to run the remote pc inside of a docker container.  What was your fix, specifically?  Please fill in answers for the questions below:
On turtlebot:
ROS_MASTER_URI=?
ROS_HOSTNAME=?
On remote pc:
ROS_MASTER_URI=?
ROS_HOSTNAME=?
Thanks

@ubtjoe I just didn't have the correct IPs. With the correct IPs on both machines this configuration will work:
http://emanual.robotis.com/docs/en/platform/turtlebot3/pc_setup/#network-configuration


Fix issues in FilesApi

The WebApplicationException does not take in consideration the cause in the constructor. This makes the message of the exception disappear from the response.

Is this mean that when an application is thrown, only the message will be shown? Will we loose the stacktrace and more importantly, do we need it? :)
Also, as we have started some improvements, maybe it will be good idea to analyze the exception and based on it, to throw the right WebApplicationException(BadRequestException, NotAuthorizedException,ForbiddenException,NotFoundException, etc.)? What would you say?

We don't really need the stacktrace, since this is thrown in the REST resource to the client. May be it's a good idea to log the stacktrace in order to preserve it.
Throwing a more meaningful WebApplicationException, however, is a challenge, since the exception would most likely be an IOException. Therefore, I think the message of the exception is enough in order to understand the actual issue.


Add tx result and tx hash to indexer

Purpose of Changes and their Description
This PR adds two new columns to the messages table: results and tx_hash
The first has the result of the execution of the transaction. The second the transaction hash compatible with the chain APIs.
When the result of the transaction is not success, it's only stored at the messages table. See tickets for more details.
Link(s) to Ticket(s) or Issue(s) resolved by this PR
https://linear.app/alloralabs/issue/PROTO-2983/add-tx-outcome-columns-to-indexer-and-stop-propagating-failed-txs-to
https://linear.app/alloralabs/issue/PROTO-2984/store-tx-hash-as-string-not-as-interpreted-number-in-messages-table
Are these changes tested and documented?

[x] If tested, please describe how. If not, why tests are not needed.
[ ] If documented, please describe where. If not, describe why docs are not needed.
[ ] Added to Unreleased section of CHANGELOG.md?

Tested locally processing live testnet blocks.
Still Left Todo
Fill this out if this is a Draft PR so others can help.

Alter table command:
alter table messages add column result JSONB;
alter table messages add column tx_hash VARCHAR(255);


7.X artisan:test not functioning on upgrade?

Laravel Version: 7.0.1
PHP Version: 7.3.9
Database Driver & Version: N/A

Description:
I've updated an existing app from 6.x to 7.x following the upgrade guide, and the artisan test command doesn't work for me, output below:

laravel@9e4f99b1870a:/var/www/html$ php artisan test

PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

Could not use "NunoMaduro\Collision\Adapters\Phpunit\Printer" as printer: class does not exist
laravel@9e4f99b1870a:/var/www/html$

The docs say the following:
Update your laravel/framework dependency to ^7.0 in your composer.json file. In addition, update your nunomaduro/collision dependency to ^4.1 and facade/ignition to ^2.0.
Here are the require lines from my composer.json:
Require:
"laravel/framework": "^7.0",
"facade/ignition": "^2.0",
Require Dev:
"nunomaduro/collision": "^4.1",
Am i missing something?
Thanks!

How were you able to install phpunit 7.5? 🤔
That shouldn't be possible with the new constraints afaik.

This was what was already there, what version of phpunit should i be bumping to?

I can't install phpunit 7.5 on a fresh laravel 7 installation so I'm wondering why you can.

Did you update you actually run composer update after updating your dependencies?

I am able to run composer upgrade and composer update, no issues.
zack@hephaestus ~/E/uem (master)> composer update                                                                                15:42:30
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package anahkiasen/underscore-php is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: barryvdh/laravel-debugbar
Discovered Package: barryvdh/laravel-ide-helper
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: itsgoingd/clockwork
Discovered Package: lab404/laravel-impersonate
Discovered Package: laravel/tinker
Discovered Package: laravel/ui
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spatie/laravel-activitylog
Discovered Package: spatie/laravel-permission
Package manifest generated successfully.
ocramius/package-versions:  Generating version class...
ocramius/package-versions: ...done generating version class
zack@hephaestus ~/E/uem (master)> php artisan test                                                                                15:42:55
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

Could not use "NunoMaduro\Collision\Adapters\Phpunit\Printer" as printer: class does not exist
zack@hephaestus ~/E/uem (master) [1]>

I see. Can you try installing PHPUnit 8.4 and see if the problem is resolved then?

Yep, that seemed to fix the bug, do you guys need any more info from me for further troubleshooting, or are we just going to chalk this up as some kind of weird scenario that probably won't happen?

We'll add the step to updating phpunit to the upgrade guide. Thanks for helping out. Happy coding!


Solidified FlowContainer logic with integration testing.

Reverted changes to DAOs as most of the loaders and DAO are injected.
Addressed review comments on earlier PRs -- Thanks Janki!

Pull Request Test Coverage Report for Build 5712

6 of 82 (7.32%)  changed or added relevant lines in 6 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.07%) to 43.376%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/jobtype/JobTypeManager.java
2
3
66.67%

azkaban-exec-server/src/main/java/azkaban/container/FlowContainer.java
0
75
0.0%

Files with Coverage Reduction
New Missed Lines
%

az-core/src/main/java/azkaban/Constants.java
1
27.27%

azkaban-exec-server/src/main/java/azkaban/container/FlowContainer.java
6
0%

Totals

Change from base Build 5707:
0.07%

Covered Lines:
14954

Relevant Lines:
34475

💛  - Coveralls


Toggle !important?

Giving the option of a button previewing or fully toggling !important helps people check whether CSS they are drafting using Stylebot works without the !important suffix.

Could you please consider this option. This would make your plugin a definite Designer's killer tool !!! It will allow to gain so much time remove the efforts to go back and forth just to see how to adjust the code.
Looking forward for your clever upgrades.
Best.

+2

closing as duplicate of #170


Keep Markup: Restore original nodes instead of clones

Up until now, the Keep Markup plugin used to clone the markup nodes. This is problematic when you have a reference to a markup node before highlighting: it would be lost after highlighting.
These changes make it so that the plugin keeps the actual original markup nodes in the highlighted output.

@RunDevelopment PR updated as per your comments.

Thank you so much @Golmote!! Can't wait to use this in combination with Mavo to make live demos with code that is editable through selects, ranges etc without having to employ crazy hacks (like doing the highlighting myself manually)!


workflow caches

improves the workflow rust cache (by using it)
also fixes failures caused by accidental inclusion of wasm-pack dependency


Upgrade path for SPFx version 1.8.0

Make upgrade to version 1.8.0 possible so we have it as early as possible after the 1.8.0 release of the SharePoint framework.
spfx project upgrade --toVersion 1.8.0 --output md > upgrade-report.md

Ran out of emojis to add. Game on!

Hey @waldekmastykarz, you can assign me on that if you do not have time. I can try to prioritize it over other commands I am doing so we deliver it on time.

Awesome! All yours! Looking forward to it!


Generated MANIFEST.MF should mark "com.ibm.xsp.rcp" as optional

Though this isn't marked as such in the Designer-made plugin.xml, it isn't included when making an update site out of Domino, and it's not critical for normal XPages development.

Actually, part of that isn't true - it is marked as optional, as are most of the plugins, and that should be honored.


Button to "Turn off all text labels" on Pro DictionaryRenderer Symbology Pane (Text Field Mapper)

@conklinbd asked for a button to be able to turn off all of the Pro DictionaryRenderer Text labels at once. There are 15-20 text labels so currently if the user wants to turn off the labels, (s)he needs to set each one to  individually (which is an annoyance).
A button similar to the following:

CR318679 has been added.

Removing the text fields makes sense. Are we sure we want the ability to also remove the symbology fields? No symbol will show correctly if we do.

I haven't read the CR, but this was only intended to be a button to set the text fields to  like shown in the original issue screenshot (we don't want this to affect the symbol display fields)
Feel free to rename that button to something like "Set All Text Fields to " if it is unclear.

Hi Chris,
The idea is to set all of the text fields to Null, correct?
The design that was added to the CR was that you would be able to set all the text fields, or all the symbology fields, or all the fields to null essentially removing the mapping for the dictionary fields.  While the military dictionary only has a requirement to remove the mapping for the text fields we thought that other dictionaries in the future may need the other options.  The design needs to be able to meet the need of future dictionaries.
Thanks
Jamie
From: Chris Moore<EMAIL_ADDRESS>Sent: Wednesday, September 02, 2015 7:12 AM
To: Esri/military-features-data
Cc: Jamie Conley
Subject: Re: [military-features-data] Button to "Turn off all text labels" on Pro DictionaryRenderer Symbology Pane (Text Field Mapper) (#134)
I haven't read the CR, but this was only intended to be a button to set the text fields to like shown in the original issue screenshot (we don't want this to affect the symbol display fields)
Feel free to rename that button to something like "Set All Text Fields to " if it is unclear.
—
Reply to this email directly or view it on GitHubhttps://github.com/Esri/military-features-data/issues/134#issuecomment-137095182.

I think it would be more useful to have an option to turn all the labels back on (based on the same logic used when initializing the renderer).
Turning symbology fields off just creates a simple renderer showing a default symbol. This may show a bug in the symbol dictionary where the default symbol does not always match the geometry type. I'm not sure if this is properly addressed.

That was the original idea - just setting all the Text Fields to the <None> setting in the UI.
I can't anticipate a scenario where someone would want to unset all of the Symbology Fields from the Dictionary Renderer Symbology pane - but if it makes the UI more consistent/future-proof - having 2 buttons - one for the "Symbology fields" and one for the "Text fields" - that would be fine
Also, I'm not sure if Null/<None> are the same thing (in the UI I just set this field to <None> so just wanted to confirm) but this is the effect we are going for:

I should have said  instead of Null.  The design will be to add the More drop down that is in the other renderers and have the options listed there.
From: Chris Moore<EMAIL_ADDRESS>Sent: Wednesday, September 02, 2015 7:31 AM
To: Esri/military-features-data
Cc: Jamie Conley
Subject: Re: [military-features-data] Button to "Turn off all text labels" on Pro DictionaryRenderer Symbology Pane (Text Field Mapper) (#134)
That was the original idea - just setting all the Text Fields to the  setting in the UI.
I can't anticipate a scenario where someone would want to unset all of the Symbology Fields from the Dictionary Renderer Symbology pane - but if it makes the UI more consistent/future-proof - having 2 buttons - one for the "Symbology fields" and one for the "Text fields" - that would be fine
Also, I'm not sure if Null/ are the same thing (in the UI I just set this field to  so just wanted to confirm) but this is the effect we are going for:
[image]https://cloud.githubusercontent.com/assets/3090809/9633837/d9c80c08-515c-11e5-82e9-8bd0b075a1a5.png
—
Reply to this email directly or view it on GitHubhttps://github.com/Esri/military-features-data/issues/134#issuecomment-137103456.

A fix for CR318679 has been installed and verified.  We have added the ability to clear all the symbology or text fields as well as an option to reset the fields to the defaults.  This is available from the More button that has been added to the renderer.  This is available as of build 4532.  Please let us know if you run into any problems.

Excellent - thanks for the update - I'll verify this week with the others I need to re-verify on Pro daily - thanks.

Verified on 1.2.4534 - looks/works great - many thanks


Title Switching Prefs

Users should be able to set a preference for the order in which tab toggles between tags. This would also be part of #161 which can i do it alone?