How does this compare with Intel TBB?

How does this compare with Intel TBB? It might worthwhile to compare in your benchmark?

"The thing to note here is that no one really uses TBB in this way" - yes, exactly. It is not the benchmark that shows how fast this or that scheduler works. It is more about overheads and scheduling efficiency.
Thank you, @e4lam , for example. I didn't take it completely though but got some more understanding though about the tbb and will add tbb to the benhcmarks section shortly.
I didn't use continuation and parallel_for though to make it as close to other system as I could (asynqro and QtConcurrent provide something similar to parallel_for, for example and asynqro provides very expressive continuations). I know that there is a huge temptation to modify the benchmark to the fully idiomatic way and best practices, but it can lead to the point when results would be simply incomparable. In fact, all these benchmarks were derived from boostasio vs. threadpoolcpp benchmarks I saw in threadpoolcpp repo. So asynqro and qtconcurrent were added to fit the style of them as close as possible. The same thing I did with tbb.
I don't have the intention to fully compare different schedulers, I'd say it is almost impossible. Main point of these benchmarks is to show where the problems with asynqro can be and how much of overhead is there in comparison with other schedulers.

@dkormalev Sure thing. So what did you do in particular for this benchmark that was different from the way I approached?

It is mostly about using the enqueue instead of both the recycling and parallel_for. According to documentation it should work roughly the same as it works in other systems benchmarks.
Again, idea of the benchmark is not to test how fast we can repost the same task. It is mostly about how fast we can repost a lot of tasks concurrently. They ideally should be all different of course, but for the sake of simplicity we just use the same class and send it again and again (we in fact wouldn't need the class at all for all systems except tbb, but again for sake of unified benchmark it is used here).

The motivation for a work-stealing schedulers (eg. Intel TBB, Microsoft PPL, Apple GCD) is to not use a shared queue. The shared queue in TBB that enqueue() uses is there for certain patterns but its the use cases for it in practice are relatively rare. I presume that your enqueue is only for the initial tasks and that the repost does regular continuation spawning? In real-life, it's important to spawn tasks in parallel rather than serial for performance.

Not all of the benchmarks do the "continuation" (i.e. send tasks from tasks). But if you truly insist I can add it as an extra row to the systems table. The reasoning behind that is that for asynqro I do it as well. There is line for "fair" shared scheduling (Intensive tasks), and there is ThreadBound, which works similar to the tbb::spawn (except for the stealing part, due to the nature and binding contract of ThreadBound).
I would like to reiterate again. I have no intention to benchmark whatever one could call real-life cases. Just for the sake of no so such thing as common case for the generic library. It shows itself very good during this discussion, actually :) You are trying to insist on using high level abstractions such as parallel_for or continuations, which I could pretty easily do with QtConcurrent or with asynqro. Harder with asio, I'm not an expert in it, but I believe there should be a way. Impossible with threadpoolcpp at all.
I don't do such thing simply because my intention is not to create fastest ever thread pool or task scheduler (these hohors go to threadpoolcpp and nobody can beat it as far as I know, tbb as well is lagging behind a lot). My intention is to create fast enough task scheduler with user-friendly api and lack of needed boilerplate. By fast enough I mean that it should be comparable to the big players as asio, tbb or qtconcurrent, but ultimately be so on the same level across all of them. It also should be predictable and knowledgable where bottlenecks are (that is what empty-repost benchmark is for, for example, so users could know what to beware).

Sorry, perhaps when I'm thinking about benchmarks, I'm thinking about comparing speed and thus by comments about performance.  I'm actually more focused on low-level details than high-level abstractions. I think the point I was trying to make (poorly) is that  if you're calling "enqueue" in TBB, my understanding is that operations posts to a shared thread pool which will require then require contention to pop work off of this queue.
So now that you mention thread-pool-cpp, when I look at benchmarks/empty-repost/threadpoolcpp.cpp, it seems to me that the post(*this) call is actually posting to a per-thread queue instead. So the thread-pool-cpp benchmark seems like it's doing more like what my example was doing?

As I already mentioned - I'm adding both enqueue and spawn benchmarks for tbb, as you requested.
As for thread-pool-cpp - it is more of a toy project, where inkooboo tested some ideas. It is added to my benchmarks to show what the bottom line can be in terms of task scheduling (which comes with a great cost on features it provides). It has only one mode of jobs adding and you are right - they are added directly to the thread queues. But it is blazing fast, that is for sure.

https://github.com/dkormalev/asynqro/commit/e7361de043bccc9192a52b694ff0baf72c4cbcee - and here goes the commit with both enqueue and spawn benchmarks added to the grid :) Thank you, @e4lam, for great idea and help with understanding TBB.

Thanks for adding these benchmarks!

Interesting numbers. In the empty-repost benchmarks, I didn't realize that the the reposted tasks were actually copied? It was a point that I took great pains to figure out how to in TBB in order to avoid doing for the benchmark.

Copying is the main idea of this benchmark, it would be unfair to remove it from TBB benchmark only.
Reposting represents entirely new task, having it with same body is just for source code brevity, that's all. The idea of repost benchmark is "how fast one can add new tasks from multiple threads". It is simplified with same instructions in body of the task, but, again, it is the same for all of the systems that are benchmarked.


How many Short reads can I need? And How can I get the the Chimera trimmed and no LQ trimmed sequence?

Hi thackl ,
Sorry to bother, but I have several problem about the proovread usage.
Q1. I have read the intro to prooread, in the short read section it says "The recommended coverage for short reads data is around 30-50X and should be specified with --coverage. " , How can I figure the coverage of my short reads? I have used the "normalize-by-median.py" in khmer package to normalize the short reads, or does the coverage is the same with the  --cutoff (when the median k-mer coverage level above is above this numer the read is not kept.) in the normalize-by-median.py ?
Q2. My long reads is the quivered result after ICE, So the Long reads is all full length isoform sequence. So I am confused is there any method to get the corrected reads with only Chimera trimmed but not low quality bases trimmed?
Q3. I have used the normalized short reads to correct my long consencus reads after ICE/Quiver, the command I used is :  ./proovread -l ./LR/data/split.001.fq   -s ./SR/normalize/interleaved.fastq   --prefix ./LR/result/split.001 --threads 6 --coverage=50 --overwrite --no-sampling
here is the statistics,
[Wed Aug 24 17:51:32 2016] Running mode: sr
[Wed Aug 24 17:51:49 2016] Running task bwa-sr-1
[Wed Aug 24 18:44:18 2016] Masked : 61.6%
[Wed Aug 24 18:44:18 2016] Running task bwa-sr-2
[Wed Aug 24 19:35:54 2016] Masked : 69.0%
[Wed Aug 24 19:35:54 2016] Running task bwa-sr-3
[Wed Aug 24 20:17:53 2016] Masked : 71.6%
[Wed Aug 24 20:17:53 2016] Running task bwa-sr-finish
[Wed Aug 24 20:27:13 2016] Masked : 60.7%
Does this mean that my short reads is not enough?
Thanks a lot for your help!

Q1. If I understand correctly, you are working with RNA-seq reads, not genomic data? In that case the best way is to run proovread with --no-sampling, and make no assumptions about coverage.
Q2. It is possible, I have drafted a new FAQs section on chimeras etc., for now available here:
https://github.com/BioInf-Wuerzburg/proovread/tree/doc/refactor_and_new_faqs_TH#chimeras-siamaeras-and-so-on
later here:
https://github.com/BioInf-Wuerzburg/proovread#chimeras-siamaeras-and-so-on
Let me know if the explanations and commands help.
Q3. Your reads are probably enough but not well used because of --coverage settings. This should improve with --no-sampling.

thanks a lot! It does really help👍


Context menu entries for opening all files

Closes #1248.
I added context menu entries mirroring the single-selection context menu entries:

Open All Diff Views
Open All Modified Files
Open All Original Files

Demo

Notes

Because of some of the asynchronous nature of the code, I had to add await to several calls like vscode.commands.executeCommand();, otherwise files would open in new tabs in an arbitrary order every time "Open all Files" is activated. However, the main downside is that opening a large number of files may take noticeable amount of time because it waits until each "open file" command is finished executing, as seen in the video. Not sure if this is the best approach.

FilesCategoryNode has a private field _fileChanges which stores a list of all changed files, but the ordering is different than just traversing straight down the file tree, which is why I did not opt for that method.

A confirmation dialog is displayed when the user tries to open 10 or more files all at once.

Currently only supports opening files under the current Pull Request (Changes in Pull Request viewlet).

Open to feedback and suggestions on improving how this all should work.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: JeffreyCA sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Taking both UX and performance into account, I thought about it again and probably we can take another approach to solve the underling problem described in #1248 .
Currently, following things happen when a diff is being opened

GH PR generate file paths for original and modified content, send both file paths to VS Code
Diff Editor will try to load both files
GH PR needs to resolve the content for both file paths, either reading from local disk or calculating based the diff hunks
Diff Editor compare the content from original and modified files, and render them with decorations

As you can see, opening a diff file provided by GH PR is pretty costly. If what we want in  #1248 is reducing the time for opening multiple diff files, it can never be satisfied: as long as a file is not opened and kept visible, our model service will dispose it when necessary. It means even if we open 3 diff editors within one tab in a UX-friendly way, only one model stays alive most of the time. If we switch another tab, the diff editor still needs to ask GH PR to provide the right content before switching them upfront.
If the problem we try to solve in #1248 is allowing users to switch to next modified file from the editor tabs, instead of going back to the tree view, I think what we can do is contributing an editor action for the diff editor, which opens the next modified file when clicked.
@JacksonKearl @RMacfarlane troughs?

@rebornix The problem I had in #1248 isn't really a matter of time or easily switching from one file to the next, its more that when I'm reviewing changes I follow a process something where I basically open all the files and close them one by one as I finish requesting changes or I'm satisfied with the file's change. Once there are no more tabs left, the review is over.
In this use case, the ordering of the tabs being consistent with the order in the tree isn't particularly important, as the order I want to review them in is likely not whatever order they happen to be in the tree. So I think making the open calls async is fine. By the same token, having a "show next modified" wouldn't be as helpful, as this forces me to review linearly, and it doesn't allow for marking "done" like closing a tab does.

@JeffreyCA thank you for the PR! We have since added a "Open All Files" command with https://github.com/microsoft/vscode-pull-request-github/issues/3047.


MHR Reframework unable to initialize

Unable to initialize and start the game normally, a version before the latest version will load infinitely until the shader is compiled after the loading is complete. The latest version skips the initialization, and the shader compilation starts working directly. The game then crashes before entering the title page.
re2_framework_log.txt
Unable to upload crash.dmp file since Github tells me not support.

Try the newest version here and report back, tried to fix it: https://github.com/praydog/REFramework-nightly/releases/

Try the newest version here and report back, tried to fix it: https://github.com/praydog/REFramework-nightly/releases/

Thank you for your help, although after re-checking mod that no longer compatible and using older versions the issues has been resolved.


Increase optimization level

I know this is super low hanging fruit so I am probably missing something, but why was it set to 0?

16e00de Speedup build times by not optimizing build dependencies

I think this project is now at a point where you probably want to increase runtime performance :)


Clean up CSS repition

Numerous places where line height is specified, max widths, letter spacing.
These should be

Determined if they should be kept,  if so
moved to a variable

Font-weight is a pretty easy win here.  Unfortunately the most repetitive widths are those used by media queries but currently you cannot use variables for those unless you have some kind of preprocessor like SCSS or LESS.  I'll look into the other cases mentioned.


STRtree query_nearest produces unexpected results for nearby lines

Expected behavior and actual behavior
The code below returns :
LINESTRING (427604.614 6290253.062, 427612.615 6290261.948)
I was expecting :
LINESTRING (427612.615 6290261.948, 427624.882 6290275.493)
Steps to reproduce the problem
from shapely import wkt, STRtree
geoms = []
shapely_geom = wkt.loads("LINESTRING (427604.614 6290253.062, 427612.615 6290261.948)")
geoms.append(shapely_geom)
shapely_geom = wkt.loads("LINESTRING (427612.615 6290261.948, 427624.882 6290275.493)")
geoms.append(shapely_geom)
tree = STRtree(geoms)

linestr = wkt.loads("LINESTRING<PHONE_NUMBER>0000277 6290261.947500002,<PHONE_NUMBER>999969 6290275.492800001)")
indices = tree.query_nearest(linestr,max_distance=15)
for idx in indices:
    seg = geoms[idx]
    print(seg)

Result :
LINESTRING (427604.614 6290253.062, 427612.615 6290261.948)
The following code produces the expected result, the difference resides in less decimal places in the searched  LineString :
from shapely import wkt, STRtree
geoms = []
shapely_geom = wkt.loads("LINESTRING (427604.614 6290253.062, 427612.615 6290261.948)")
geoms.append(shapely_geom)
shapely_geom = wkt.loads("LINESTRING (427612.615 6290261.948, 427624.882 6290275.493)")
geoms.append(shapely_geom)
tree = STRtree(geoms)

linestr = wkt.loads("LINESTRING (427612.614 6290261.947, 427624.882 6290275.492)")
indices = tree.query_nearest(linestr,max_distance=15)
for idx in indices:
    seg = geoms[idx]
    print(seg)

Result :
LINESTRING (427612.615 6290261.948, 427624.882 6290275.493)
Operating system
Windows 10
Shapely version and provenance
2.0.1 installed from PyPI using pip

This result is expected; the change in precision changes the spatial relationships between the lines.
For your first case:
shapely.distance(geoms, linestr)
# [3.73086275e-05 3.91655287e-05]

shapely.intersects(geoms, linestr)
# [False False]

Where you can see that there is a greater distance to the line that you expected as output.
For your second case:
shapely.distance(geoms, linestr))
# [6.98772626e-05 0.00000000e+00]

shapely.intersects(geoms, linestr)
# [False  True]

query_nearest is based on the minimum distance between geometries (which becomes 0 when they interesect), so the results in both cases are expected for how the algorithm works.
However, I can see that it is not ideal for your case, where you are trying to find the most similar line out of those that are close.  To do this, I think you need to use a somewhat different approach:

query the tree using a buffer around your query line: tree.query(shapely.buffer(linestr, 15), predicate='intersects'); this finds all lines in the tree within your tolerance of your input line
calculate the distance between every point in each line queried from the tree, and calculate a meaningful summary statistic.  For example, to find the most similar line, you may want to calculate a mean distance across points, or calculate a max distance across points (i.e., select the line that has the smallest max distance compared to other lines)
select the line from the tree query results that minimizes your summary statistic

Thanks for your explanation
Best regards


Remove shebang from filesize.py

In #141 shebangs for number.py and time.py were removed, but filesystem.py maintained it.

Thank you!


optionally specify host and port for webapp

This PR allows you to optionally specify the host and port for the qqa_web_app.py, e.g.
python /Users/sbailey/desi/git/qqa/bin/qqa_web_app.py -d output/ -s plots/ --host localhost --port 8123

The default hostname is "localhost", which is the most secure but not visible externally, so to use at KPNO to be visible from other machines within the VPN:
python /software/datasystems/desiconda/20180821/qqa/master/bin/qqa_web_app.py -d ... -s ... --host <IP_ADDRESS> --port 8001

Just tested it out, and it seems to work fine on different ports with localhost and <IP_ADDRESS> .

Thanks for the independent test.  Merging now.


Feature request: new mail command

I'd like the ability to specify a command to for Aerc to run when new mail is received. This would allow a user to set up notifications using their preferred notifier. Cmus has a status_display_program option that I think is a good model for this.

Why did you close this?


Test runner allows failing "xit" tests

It seems all tests are in fact run and reported, but only the tests using the keyword "it" not "xit" are counted for whether a student's solution passes.

@ErikSchierboom, I can take a look at this issue further after I get through some of the exercism/haxe PR backlog.

Tests also fail if the it keyword is used but pending("Skipping"); is used inside the test. That's a problem because mfoda's PRs so far either use that or the xit keyword.

Right, so the Docker file's entry point is bin/run.sh which runs the test suite but doesn't compare the files.
Looking at the test JSON files...
For the set of compile tests, the two files only differ where the output JSON contains the expected message plus a deprecation warning from TraceReporter.
For the sets of fail and pass tests, the test runner returns an error for status and an empty array for tests. For these sections, the message is just the previous deprecation warning also seen in the compile suite.  So I think it's safe to assume there's an error here after the tests are compiled
Looking at RunnerTests.hx....
It looks like haxe build.hxml then haxe test.xml should run the test runner tests and compare the two JSON files. However, I'm getting null access errors with RunnerTests.hx when it tries to build the slug by grabbing the first element of an empty array which should be the subfolders in test/error/. Therefore, it can't run the tests and compare them either.
So I'm pretty stumped here.

Could you maybe add a PR with the above test case? Because I've just changed some it tests to xit tests, and it seems to work as expected.

RunnerTests.hx doesn't have its own golden tests but just runs the ones in the test folder. The test runner is synced to your latest commit per https://exercism.org/maintaining/tracks/haxe, but I'm still seeing an issue on the site where the test runner is apparently not running pending tests. The first and third test both expect an empty array yet only the first one is considered to be passing.

but I'm still seeing an issue on the site where the test runner is apparently not running pending tests

I don't think this is the issue, as the tests are all run. It's just the overall status that is incorrect.
Here is what the output looks like for your anagram example:
{
	"status": "pass",
	"tests": [
		{
			"name": "no matches",
			"test_code": "Anagram.findAnagrams(\"diaper\", [\"hello\", \"world\", \"zombies\", \"pants\"]).should.containExactly([]);",
			"status": "pass",
			"output": null,
			"message": null
		},
		{
			"name": "detects two anagrams",
			"test_code": "Anagram.findAnagrams(\"solemn\", [\"lemons\", \"cherry\", \"melons\"]).should.containExactly([\"lemons\", \"melons\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "does not detect anagram subsets",
			"test_code": "Anagram.findAnagrams(\"good\", [\"dog\", \"goody\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects anagram",
			"test_code": "Anagram.findAnagrams(\"listen\", [\"enlists\", \"google\", \"inlets\", \"banana\"]).should.containExactly([\"inlets\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects three anagrams",
			"test_code": "Anagram.findAnagrams(\"allergy\", [\"gallery\", \"ballerina\", \"regally\", \"clergy\", \"largely\", \"leading\"])\n.should.containExactly([\"gallery\", \"regally\", \"largely\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects multiple anagrams with different case",
			"test_code": "Anagram.findAnagrams(\"nose\", [\"Eons\", \"ONES\"]).should.containExactly([\"Eons\", \"ONES\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "does not detect non-anagrams with identical checksum",
			"test_code": "Anagram.findAnagrams(\"mass\", [\"last\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects anagrams case-insensitively",
			"test_code": "Anagram.findAnagrams(\"Orchestra\", [\"cashregister\", \"Carthorse\", \"radishes\"]).should.containExactly([\"Carthorse\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects anagrams using case-insensitive possible matches",
			"test_code": "Anagram.findAnagrams(\"Orchestra\", [\"cashregister\", \"carthorse\", \"radishes\"]).should.containExactly([\"carthorse\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "detects anagrams using case-insensitive possible matches",
			"test_code": "Anagram.findAnagrams(\"Orchestra\", [\"cashregister\", \"carthorse\", \"radishes\"]).should.containExactly([\"carthorse\"]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "does not detect an anagram if the original word is repeated",
			"test_code": "Anagram.findAnagrams(\"go\", [\"go Go GO\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "anagrams must use all letters exactly once",
			"test_code": "Anagram.findAnagrams(\"tapper\", [\"patter\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "words are not anagrams of themselves",
			"test_code": "Anagram.findAnagrams(\"BANANA\", [\"BANANA\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "words are not anagrams of themselves even if letter case is partially different",
			"test_code": "Anagram.findAnagrams(\"BANANA\", [\"Banana\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "words are not anagrams of themselves even if letter case is completely different",
			"test_code": "Anagram.findAnagrams(\"BANANA\", [\"banana\"]).should.containExactly([]);",
			"status": "fail",
			"output": null,
			"message": null
		},
		{
			"name": "words other than themselves can be anagrams",
			"test_code": "Anagram.findAnagrams(\"LISTEN\", [\"LISTEN\", \"Silent\"]).should.containExactly([\"Silent\"]);",
			"status": "fail",
			"output": null,
			"message": null
		}
	],
	"message": null,
	"version": 2
}

You can see that the individual tests have the correct status, but the top-level status doesn't.

I'll take a closer look this week.

In the fail partial and success multiple test files , the second test is recorded as a failure although it should pass since it's asserting the identity of 1 is 1. In each case, the test is marked pending with the xit keyword, and if I replace xit with it, that test does pass as expected. It seems pretty clear pending tests aren't run. I think the test runner should make a copy of the tests file, change all occurrences of xit to it, run the tests, and then restore the original test file, similar to how Pyret does it.

TraceReporter.hx:14: characters 1-7 : Warning : (WDeprecatedEnumAbstract) @:enum abstractis deprecated in favor ofenum abstract\nTraceReporter.hx:14: characters 1-7 : Warning : (WDeprecatedEnumAbstract) @:enum abstractis deprecated in favor ofenum abstract\n needs to be stripped out of test runner messages because buddy hasn't been updated for a few years. The code runs, but since this message will be seen by students working offline, we should try an upstream patch for https://github.com/ciscoheat/buddy/blob/master/src/buddy/reporting/TraceReporter.hx.

haxe test.hxml is looking for Test.hx in weird locations for some slugs like test/fail/fail_has_stdout/test/src/Test.hx. Using the run-test.sh, the path correctly shows up as test/fail/fail_has_stdout/test/Test.hx so I'm not sure what's going on.  Perhaps, @Nezteb can take a look at this? I'm stumped.

I'll pick this back up next week.


Css cleanup of manage settings

@williamcodes CSS updates for the user management forms.  Addresses first three items in https://github.com/heatseeknyc/heatseeknyc/issues/123

Updated sign_in and password reset forms

Great work!


fix damp method for discrete time systems with a negative real-valued pole

(first pull request on GitHub)
When a discrete time system has a real-valued negative pole, the discrete to continuous conversion using the log function returns nan. Then, the damp method is not able to compute the damping and the wn values.
To avoid this problem, the poles must be cast to complex values (https://numpy.org/doc/stable/reference/generated/numpy.log.html)

Coverage increased (+0.002%) to 89.924% when pulling 78b6fc255c5d4708b21960619e66751d47abe8d5 on vincentchoqueuse:fix_damp_bug_dlti_system into 6b7a9c78f16ab04e009be7155308294080d8a5d1 on python-control:master.

Thank you!

Thank you for your advices @bnavigator !


How to set in the APIProvider or somewhere to make sure the url response using right url ?

Hi guys i have this response from my call (using latest moya) . this only happened in GET i already encoded my string to make sure the url escaped but why the url response in the log keep using percent ? anyone can give any solutions ?
i want to made this %3F into ? , i already set in the APIProvider to removingpercentencoding but keep happening..
"Moya_Logger: [16/02/2017 13:01:16] Response: <NSHTTPURLResponse: 0x60000022ad80> {
URL: https://someurl.com/v1/presets%3Funflatten=1

Thanks

Done, solved by myself by edit the url endpoint...

Would you mind telling us how you did solve it ? 😏
I'm having the exact same issue when sending the request but haven't found a way to fix it yet.. 😔
Thanks in advance! 😉

Found it right after asking.. 😅
So for those of you who're looking for the answer, I solve it by using NSURLComponents like that :
let urlComponents = NSURLComponents(string: "http://you/base/url/route")!
urlComponents.path = "/your/path"
urlComponents.query = "your/query"
Do not add the question mark ('?') inside your query, it'll be added automatically !
And then you just build your url this way :
let url = urlComponents.url!

@Ank49 cool man.. sorry just read it.. My approach little bit different. I edit the urlendpoint something like this

//setting the header
        let endpointClosure = { (target: API) -> Endpoint<API> in
            let url = target.baseURL.appendingPathComponent(target.path).absoluteString.removingPercentEncoding!
            let defaultEndpoint = Endpoint<API>(URL: url, sampleResponseClosure: {.networkResponse(200, target.sampleData)}, method: target.method, parameters: target.parameters)
            return defaultEndpoint.adding(httpHeaderFields: ["Accept": "application/json", "Content-Type" : "application/json", "Authorization" : token!, "X-Fingi-Signature":authSign], parameterEncoding: JSONEncoding.default)
        }

Thanks for sharing! Your approach is much more neat and simple !
Never saw this mentioned anywhere, kind of awkward, not known enough maybe..


List project as dependency on Micronaut Launch

PR is created: https://github.com/micronaut-projects/micronaut-starter/pull/966

PR is merged


Unnatural generated code

It always uses stack and translate, in fact very few such users.

I think so! A little disappointed！

Please see: #13
Currently we only have arbitrary positioning information in XD to work from. Once layout support is added, it should let us create smarter output.s


Need line cap style for rounded corner of line like visio.

I want to use rounded corner line , is it possible?

May I know the solution here?  I'm looking for the way changing linecap (and linejoin) of line shapes.


Jupyter command jupyter-notebook not found.

Environment data

VS Code version: Version: 1.75.0
Jupyter Extension version (available under the Extensions sidebar): v2023.1.2010391206
Python Extension version (available under the Extensions sidebar): v2023.2.0
OS (Windows | Mac | Linux distro) and version: MacOs Ventura 13.0.1
Python and/or Anaconda version: Python 3.9.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): NA
Jupyter server running: Local

Expected behaviour
jupyter notebook working like it worked before
Actual behaviour
not working...
Steps to reproduce:
shit+enter on jupyter notebook cell and I get the following output in the logs
Running python3 -m jupyterlab in terminal works. I can use jupyter notebook in the browser.
I can't find the exact command vscode extension executes but I'm guessing it's jupyter-notebook so I've tried adding an alias for jupyter-notebook command. Still with no luck...
alias jupyter-notebook="python3 -m jupyterlab"

My guess... Either MacOs update or vscode-jupyter update.

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

error 20:48:10.251: Error in execution (get message for cell) Er [Error]: Jupyter server crashed. Unable to connect.
Error code from Jupyter: 1
usage: jupyter.py [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
                  [--paths] [--json] [--debug]
                  [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

optional arguments:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable
                 format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands:

Jupyter command `jupyter-notebook` not found.

    at Sm.rejectStartPromise (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:17:254981)
    at t._complete (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:17:255541)
    at t.n (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:700797)
    at t.__tryOrUnsub (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:701037)
    at t.complete (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:700930)
    at t._complete (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:699446)
    at t.complete (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:699145)
    at ChildProcess.<anonymous> (/Users/vladcrisan/.vscode/extensions/ms-toolsai.jupyter-2023.1.2010391206/out/extension.node.js:2:1800927)
    at Object.onceWrapper (node:events:646:26)
    at ChildProcess.emit (node:events:538:35)
    at ChildProcess.emit (node:domain:475:12)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12) {
  category: 'jupyterconnection',
  vslsStack: [
    CallSite {}, CallSite {},
    CallSite {}, CallSite {},
    CallSite {}, CallSite {},
    CallSite {}, CallSite {},
    CallSite {}, CallSite {},
    CallSite {}, CallSite {}
  ]
}

@nicosuave
Please could you try the following:

Create a virtual environment in some directory
Activate that virtual environment in the terminal
Install Jupyter into that virtual environment as follows <python> -m pip install jupyter notebook
Where <python> would be the fully qualified path to that virtual environment python executable
Open the folder containing the virtual environment (i.e. open the parent directory)
Open the command palette and select the command Jupyter: Select Interpreter to Start Jupyter Server and select that virtual enviornment
If prompted to isntall any dependencies, then please do so
Re-Load VS COde and let me know how that goes

oh yes, please install the latest 2023.1.201 version of the latest pre-release version

Closing this issue as that should fix it
@vladcrishan if that does not work, please could you reply here and I'd be happy to reopen this issue or please feel free to open it your self (else, please create a new issue)
Once again, sorry you are running into this issue and thanks for filing this issue.

Hi @DonJayamanne. To tell you the truth, I don't know why creating a virtual environment and installing required dependencies fixed all my issues and even made it work for ts kernel, but it sure did.
Thank you so much and keep up the good work 👍 !

@vladcrishan I think the recent changes in the pre-release version of the Jupyter extension should make creation of a virtual env unnecessary. please do feel free to try that as well.
Either way, thanks for the confirmation of the fix


Deleting array item in multi-item array copies deleted invalid value to another array item

In the demo array example: create two array items. leave the email field blank in the first array item and make an invalid email address in the second array item. When you delete the second array item, it automatically copies the erroneous email address to the first array item email field.

1 but it goes deeper
Open your console and visit this Fiddle http://jsfiddle.net/4et1su5h/3/

Step 1: Add new item called 1.
Step 2: Add new item called 12.
Step 3: Add new item called 123.
Step 4: Add new item called 1234.
So far so good.
Step 5: Change the first item (1) to 1234 so that an error message appears.
Step 6: Delete the last item so that the first one is unique again. But nothing happens. The array is not validated again once an item is removed and even if you click on the submit button which should trigger the valdiation of form nothing happens.

I believe this is fixed in the latest updates (alphas) for the eventual 1.0.0 release.
Please re-open if there are still issues in these versions.


[release-1.21] Fix setting the merged service to servicesByHostname

Manual cherrypick required.
#50691 failed to apply on top of branch "release-1.21":
Applying: Fix services in SidecarScope.servicesByHostname not equal to SidecarScope.services
Using index info to reconstruct a base tree...
M	pilot/pkg/model/sidecar.go
M	pilot/pkg/model/sidecar_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/model/sidecar_test.go
Auto-merging pilot/pkg/model/sidecar.go
CONFLICT (content): Merge conflict in pilot/pkg/model/sidecar.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Fix services in SidecarScope.servicesByHostname not equal to SidecarScope.services
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

It isn't necessary


Accessories Controller

I'm submitting a...

[ ] Bug report
[ ] Performance issue
[x] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Current behavior

currently there is no Accessories adding user interface.
Expected behavior

there should be an user interface to Accessories. user will able to see details Accessories, list etc.
Functionality should be

[ ] user can be Create, edit, detail and delete  Accessories
[ ] User can be checkout & checkin Accessories as per quantity.
[ ] Other... Please describe:

List action and user interface added Accessories Controller

Good job 👍. You are doing great.
I will be back from my sleeping break from tomorrow hopefully 😎


Add Support for Angular 18

We are encountering a compatibility issue with ng-recaptcha when upgrading our project to Angular 18. While the ng-recaptcha package lists Angular versions >=14 as compatible, we are receiving peer dependency errors when trying to install it with Angular 18. Specifically, the error indicates a conflict due to the package's peer dependency requiring<EMAIL_ADDRESS>To bypass this issue, we used the --force flag to install the dependencies, and after testing, our application compiles, serves, and runs as expected with Angular 18. However, relying on --force is not ideal for our CI/CD pipeline, as it introduces risk and uncertainty in automated processes.
We are looking for an official update to ng-recaptcha that explicitly supports Angular 18, so we can avoid using --force in our builds and ensure long-term compatibility. Below are the details of the error and logs from the installation process:
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@ali-hm/angular-tree-component
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   8 more (@angular/animations, @angular/common, ...)

Sorry for late answer. I had tried to update it to angular 18 but it failed somehow and I give it another try and inform you for the results.

The component has been updated Angular 18 and the test were ok. the versioning (major version) has been changed to align with minimum angular versions supported.

Thank you for the quick and timely response! We will update our package version now. Thank you!


Enable more protocols for build phase

Why BASE_BUILD_PROTOCOLS has only ref protocol? Is it possible to add env protocol as well? In my use case I run gondon as part of Makefile target and I need to use pip from virtualenv, not global one. I see the only way to pass right absolute pip-path setting is through environmental variable, but env protocol is not supported in the build phase.

It would be nice to be able to specify an environment context value without using parameters in cases where they're not needed.


currentColor should probably be false by default

Hi there,
Thanks for your work. We just spent a lot of times figuring out why our icons were missing their color, until we found out that currentColor option is true by default. It seems way too opinionated IMO. What about setting it false by default? Might save some time to others.
Regards

Hi, it does make sense. I absolutely agree that it can be unclear and confusing for users who have just started working with the plugin. I'll update the library with a major version so users who are already using the plugin won't be affected. This issue will be resolved after version 1.0.0 is released


push

My bad, its way too easy to open an issue...

Hi @duncanhoggan
could you please provide your flutter doctor -v
and your flutter run --verbose.
Also, to better address the issue, would be helpful
if you could post a self contained app on github
or the steps to reproduce it.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.

@iapicca Thanks I haven't had a chance to get the code sample setup been way too busy. Will reopen when i have more info.


Subscription dies when out of messages.

When using topic.subscription to listen to messages via pull, the subscription will (eventually) trigger an error when there are no messages. However, the desired behavior seems to be to just keep trying until messages come in. It appears it's sufficient to just ignore the error for this to continue to work as expected. See example:
  var subscription = topic.subscription(subscriptionName);
  subscription.on('error', function(err) {
    /* This error occurs when there's no new messages.
    Since we want to listen forever, this is a non-error. */
    if (err.code == 400 && err.errors[0].reason == 'failedPrecondition') return;

    /* 404 means that the subscription hasn't been created. */
    if (err.code == 404) logging.error("Pub/sub subscription does not exist.");

    throw err;
  });

Hi, @jonparrott . Are you using auto-ack? If so, a fix is available in #455.

Not using autoAck.

This behavior should have been changed with the Cloud Pub/Sub API v1beta2. @jonparrott do you know which API version you're using?

I was using the version in npm, I tried this out with the master branch here and it doesn't seem to still be an issue. Closing.


Multiple workers cause multiple build servers and race conditions

See issues #89 & #85.

First thing I'd like to understand: why people are even using multiple workers in dev environment.
If this is something people do a lot for legit reasons, we probably need to build some sort of workaround to support it. If it's very specific and rare, well, in this case a warning in a README stating that the gem is designed to work in a single-worker environment should be enough.

We try to have the exact same environment in development as we have in production, there for we run thin as web server in all environments.

@himynameisjonas I was under the impression that Thin doesn't have multiple workers.  iirc

@rondale-sc oh, my misstake. I hade multiple servers running at the same time (Used to start 4 instances with http://pow.cx ). With just one server running Thing work fine.

But i use the same server in dev/prod for the reason i wrote in my first comment, but in this case i'm lucky we're running Thin and not puma/unicorn :)

@himynameisjonas Glad that worked out.   This shouldn't be an issue with production deploys because all ember-cli-rails does (if you asset precompile) is make the assets available to Rails which it does only once per ember app not per request.
This is only a problem when multiple workers are being used in development, which is not the default for puma (iirc).
Closing this for now.  In #86 @sevos had a solution for this listed in his comment.  I think that should suffice.  Adding that to the readme might be a good idea.  (what do you think @sevos?)
Cheers :beers:

@rondale-sc @rwz we use unicorn in development @ thoughtbot and we've recently run into this issue.


Android: fix gallery qr

Short description
Updated RNQrGeneratorModule.java to allow user to read QRcode images of any size from gallery without crash or errors on Android.
Change analysis
The fix impacts only the detect function used with uri.
Load image
When an image is selected from gallery, we virtually calculate the memory space required by the image. Then we calculate the availableMemory and with the function canBitmapFitInMemory, we establish if the image is actually loadable in memory.
Once we determined its right scale in order to be loaded (with getRightScale), we pass this value to the function (loadBitmapFromFile) that actually load the image.
Scan Image
We can now scan the qr image. We scan it by using tryToScanQrImage, a function that use the original scanQrImage, but which adds a retry logic that return an increasingly scaled image cycle by cycle, until the decode library considers the size of the passed image acceptable. It is currently set to a maximum of 5 retries before throwing an exception.
Additional info

The first point is to avoid a possible out of memory exception; the second one is to provide a correction to the problem that android users encounter when they load a qr image from the gallery.
In getBitmapFromSource I removed the code that directly overwrite the gallery image.

How to test
Android:
Upload a large QRcode image from the gallery and check that everything works, both with a valid QRcode and with an invalid QRcode.

Thanks @SabPicariello, good job!


Extraterm assumes WSL disk mounts are in /mnt and fails otherwise.

If using /etc/wsl.conf to change the root mount in WSL to something other than /mnt/c, such as /c, Extraterm still tries to use /mnt/c when initializing WSL. This causes the terminal to hang with a cursor that won't do anything, similarly to what happens if python3 is not installed in the WSL instance. Trying to open new tabs after the initial tab fails with a socket error, because wsl.exe immediately terminated when the first shell tried to open.
Example of /etc/wsl.conf that changes the mount point of Windows volumes, where /mnt/c would now instead be just /c.
[automount]
root = /
options = "metadata"

Here is what's being called when the WSL shell is initialized. It's doing this regardless of where C:\ is actually mounted.
wsl.exe PYTHONIOENCODING=utf-8:ignore python3 "/mnt/c/Program Files/Extraterm/resources/app/extensions/ProxySessionBackend/src/python/ptyserver2.py"

Here is what it looks like when it fails and a new WSL tab is opened.
[Window Title]
Error

[Main Instruction]
A JavaScript error occurred in the main process

[Content]
Uncaught Exception:
Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (net.js:351:12)
    at WslProxyPtyConnector._sendMessage (C:\Program Files\Extraterm\resources\app\extensions\ProxySessionBackend\src\ProxyPty.js:212:27)
    at WslProxyPtyConnector.spawn (C:\Program Files\Extraterm\resources\app\extensions\ProxySessionBackend\src\ProxyPty.js:141:14)
    at WslProxySessionBackend.createSession (C:\Program Files\Extraterm\resources\app\extensions\ProxySessionBackend\src\WslProxySessionBackend.js:74:26)
    at PtyManager.createPty (C:\Program Files\Extraterm\resources\app\extraterm\src\main_process\pty\PtyManager.js:51:33)
    at handlePtyCreate (C:\Program Files\Extraterm\resources\app\extraterm\src\main_process\Main.js:752:30)
    at EventEmitter.handleIpc (C:\Program Files\Extraterm\resources\app\extraterm\src\main_process\Main.js:544:21)
    at emitTwo (events.js:126:13)
    at EventEmitter.emit (events.js:214:7)
    at WebContents.<anonymous> (C:\Program Files\Extraterm\resources\electron.asar\browser\api\web-contents.js:286:13)

[OK]

I have not tested, but I would also worry that this path is hardcoded if Extraterm were installed to a non-default path in Windows.
Also, unfortunately for me, I was testing with a WSL instance that had /c, and another that had /mnt/c but didn't have python3 installed yet, so both had the same issue for different reasons. I eventually found out what was happening by using Process Explorer with a 0.5 second update interval, and I repeatedly opened Extraterm and tried to hit right click and open the properties of the wsl.exe or conhost.exe subprocess before it was gone. It would be nice if the error could at the least be caught and explained in a more meaningful way. Fortunately, I had installed Extraterm at work before leaving, so I knew the issue was somewhere on my end at home.
This is the only instance of /mnt I see in the source.
./extraterm/extensions/ProxySessionBackend/src/WslProxySessionBackend.ts:    serverPath = "/mnt/" + serverPath.replace(/\\/g, "/").replace("C:", "c");

And that's coming from:
./extraterm/extensions/ProxySessionBackend/src/WslProxySessionBackend.ts:    let serverPath = path.join(SourceDir.path, "python/ptyserver2.py");

I'm no expert at finding/converting WSL paths to real Windows paths. I would assume there could be a check against /etc/wsl.conf or something storing the value of its 'root' which could be used in place of serverPath = "/mnt/" +.

Ran into this exact issue trying to follow Nick's Docker in WSL setup instructions (https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly). I thought I could just recreate a symlink from /mnt/c to /c, but no go. For now, I just have to launch cmd.exe and then run bash directly.

Has this been solved yet? I just ran into this issue.

@surenzxx  next bug fix release.


[BUG]Confirm opensearch component of logging is available in v1.2.0

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Go to Logging / Output
Opensearch component of logging should be available.

Expected behavior

Support bundle

Environment

Harvester ISO version:
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

Verifing on master-1222750f-head (04/25).
Result
Now we could select opensearch option when we create Logging -> Output

With opensearch as the provider

Test Information

Test Environment: 1 node local kvm machine
Harvester version: master-1222750f-head

Verify Steps

Open Logging Output
Create an output
Select opensearch option
Provider related value and create

@DaiYuzeng,
Since when we test the integration with opensearch version v2.6.0
We need to edit yaml of the Cluster Output and add the following parameter
suppress_type_name: true

Without this steps, the opensearch server would reject the Harvester request with 400 error
As per discussed, we would suggest to having an enhancement to expose this parameter on UI when user select opensearch as the output provider to reduce the configuration effort.

Verified on master-2ba017d4-head (05/08)
Result
Verified can pass the following functionality, positive and negative test

[ ] suppress_type_name attribute exists when we select opensearch in output and cluster output page

[ ]  suppress_type_name attribute default state is checked

[ ]  suppress_type_name should display true when we edit yaml content suppress_type_name: true

[ ]  With the new suppress_type_name attribute,  we can correctly integrate Harvester logging output to opensearch dashbaord

[ ]  When we check / uncheck the supress_type_name attribute, the yaml content can change accordingly.

Test Information

Test Environment: single nodes harvester on local kvm machine
Harvester version: master-2ba017d4-head (05/08)

But verified failed on the following scenario. Thus move to implement for further checking

When we fill in all the necessary field of opensearch cluster output and output content, click the edit yaml to create or save, it will display error message to prevent saving chagnes

Output.logging.banzaicloud.io "output2" is invalid: [spec.logz.endpoint: Required value, spec.forward.servers[0].host: Required value, spec.kafka.brokers: Required value]
https://user-images.githubusercontent.com/29251855/236792019-ebd6fb6a-a759-43db-bf1b-fbd249746d51.mp4

But verified failed on the following scenario. Thus move to implement for further checking

When we fill in all the necessary field of opensearch cluster output and output content, click the edit yaml to create or save, it will display error message to prevent saving chagnes

Output.logging.banzaicloud.io "output2" is invalid: [spec.logz.endpoint: Required value, spec.forward.servers[0].host: Required value, spec.kafka.brokers: Required value]
vokoscreenNG-2023-05-08_17-43-06.mp4

I am going to confirm, thank you!
cc @WuJun2016

Also reproduced at rancher v2.7.2, do you think we should fix it at harvester v1.2.0 or just file a new issue to track? @WuJun2016

Hi @TachunLin ! I'm afraid that Cluster Output/ Output can not be created via yaml now. This error also occured at rancher v2.7.2. This will happen regardless of which provider you choose. Can you please help me to file a new issue to track? And I am going to move this issue to ready-for-testing. If you have any concern please just let know, thanks! cc @WuJun2016

Hi @TachunLin ! I'm afraid that Cluster Output/ Output can not be created via yaml now. This error also occured at rancher v2.7.2. This will happen regardless of which provider you choose. Can you please help me to file a new issue to track? And I am going to move this issue to ready-for-testing. If you have any concern please just let know, thanks! cc @WuJun2016

We could create a new issue to track this problem, but I think we could put it in v1.2.1 to fix it.

@TachunLin A new ticket to track the UI yaml edit issue will be better, thanks.

File the new issue #3877 to track the behavior of creating cluster output and output from edit yaml

Verified fixed on master-2ba017d4-head (05/08). Close this issue.
Result

Verified can pass functionality test of the cluster output and output integration with opensearch service.
And pass the positive and negative test of the new attribute suppress_type_name
https://github.com/harvester/harvester/issues/3589#issuecomment-1538060692

Test Information

Test Environment: single nodes on local kvm mahince
Harvester version: master-2ba017d4-head (05/08)

Verify Steps
https://github.com/harvester/harvester/issues/3589#issuecomment-1538060692


400 error when trying to add or edit a notification

Alarmo Version
v1.9.3
HA Version
2022.8.1
Bug description
400 error when trying to add or edit a notification.
Something went wrong!
Message format incorrect: extra keys not allowed @ data['actions'][0]['service_data']
Response error: 400
Steps to reproduce

Alarmo > Actions > New notification
Add a simple notification filling only mandatory fields
Click save and error turns up

Relevant log output
2022-08-06 13:40:48.208 ERROR (MainThread) [homeassistant.components.http.data_validator] Data does not match schema: extra keys not allowed @ data['actions'][0]['service_data']
2022-08-06 13:42:55.088 ERROR (MainThread) [homeassistant.components.http.data_validator] Data does not match schema: extra keys not allowed @ data['actions'][0]['service_data']

Duplicate of #541.


Brainless cleanups

run goimports everywhere (which also runs gofmt)
make files non executable
add a short package comment, to make go doc happy

Merging 💯


fix race candition in test framework

only reduce runningCount after message is post to main loop to create timer for mock delay;
increase runningCount before unblocking from mock delay;
This fixes https://github.com/uber-go/cadence-client/issues/272

Coverage decreased (-0.1%) to 67.694% when pulling 4cac5197260051e008b496de990d4ef813c6fe98 on yiminc:fix_test_framework into 76e0f5571a72f30d456fc72c8c7cc640bd336cc4 on uber-go:master.


s2n-quic test doesn't fail even after I change the code

fn read_table(x: u64) -> (u64, usize, u64) {
    debug_assert!(x <= MAX_VARINT_VALUE);

    macro_rules! table {
        ($(($two_bit:expr, $length:expr, $usable_bits:expr, $max_value:expr);)*) => {{
            let mut two_bit = 0;
            let leading_zeros = x.leading_zeros();
            $(
                two_bit += if leading_zeros < (64 - $usable_bits) {
                    1
                } else {
                    0
                };
            )*

            let len = 1 << two_bit;
            let usable_bits = len * 8 - 2;

            debug_assert_eq!(len as usize, encoding_size(x));

            (two_bit, len as usize, usable_bits)
        }};
    }

    table! {
        (0b00, 1, 6 , 63);
        (0b01, 2, 14, 16_373);
        (0b10, 3, 30, 1_073_741_823);
    }
}

     table! {
         (0b00, 1, 6 , 63);
-        (0b01, 2, 14, 16_383);
-        (0b10, 4, 30, 1_073_741_823);
+        (0b01, 2, 14, 16_373);
+        (0b10, 3, 30, 1_073_741_823);
     }

command was cargo clean; time cargo kani --harness table_differential_test --enable-unstable --concrete-playback=print

Investigation shows that the macro doesn't actually use that value, so its not surprising that changing it doesn't cause an error


[Bitwarden Vault] Continuously errors with server URL preference changed

Extension
https://www.raycast.com/jomifepe/bitwarden
Description
I recently updated this extension and noticed that it downloaded its own copy of the bitwarden CLI. I do have a custom URL for my instance.
Since the update, it now always greets me with this error:

l have configured the CLI and extension to use my custom instance URL but the error persists. My guess is that the extension has not updated the config for its own internally downloaded bitwarden CLI with the new server URL address.
I have reinstalled the extension and reconfigured everything, to no avail. I have also tried providing the path to my own bitwarden CLI binary, and the issue persists.
Steps To Reproduce

Install the extension
Configure a custom server URL
Try to run the "search vault" command

Current Behaviour
Explodes with the screenshot in the description
Expected Behaviour
Should not explode

Related: https://github.com/raycast/extensions/issues/10977

I know you already tried specifying the path, but I just pointed the extension to /opt/homebrew/bin/bw, and now it's working better than ever.

Unfortunately I am still experiencing the issue with that setting (I just restarted raycast as well):

Hey @jomifepe thanks for the update - I see that you updated the extension in https://github.com/raycast/extensions/issues/10977#issuecomment-1966831894 and that seems to have solved the problem!
Things are working now. Shall I close this issue?

Great to hear, I gotta say that I wasn't expecting it to fix this issue, but it shouldn't have broken in the first place, so great 🙂
Thanks for the update!
@raycastbot close this issue


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.4.134",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d2639ffdcad463b358b6bef8645ff81715daffcb"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "d2639ffdcad463b358b6bef8645ff81715daffcb",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.4.134 by commit d2639ffdcad463b358b6bef8645ff81715daffcb. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1001339


[Feature] Allow show filename like [Show Page Number]

Describe your suggested feature
The option for show file name could be placed within the [General] section

The filename can be pinned at the top of the screen, akin to the page number placement found at the bottom.

Reason
While I recognize that showing file names might not hold much practicality in the context of reading comics,
However, this feature proves particularly useful within collections of images or personal compiled packages, It enables users to glean information about story background, characters, authors, and more directly from the filenames.
And having immediate access to image titles within the reader is clearly more convenient than navigating through File Manager -> Opening mihon/local/xxx -> Manually checking each image -> Obtaining the filename.

Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.16.4.
[X] I will fill out all of the requested information in this form.

Not interested


Remove support for legacy global version files

In the spirit of #849, I propose we remove the default and global legacy fallbacks for the global filename ($RBENV_ROOT/version has been the preferred filename since late 2011)
default was made legacy back in 2011 with 5be66da9f4053137a320058495031d0af6db29b4 (the command was renamed from rbenv-default to rbenv-global, and so the global file was renamed from $RBENV_ROOT/default to $RBENV_ROOT/global (the latter taking precedence)
global was then made legacy about a month later in Sep 2011 with 0a4ffcd15f6d02f9c707af008d9c2542dc1f864d when the preferred filename was changed to $RBENV_ROOT/version.

Note, this will necessitate a change to #848 (if this is merged, then #848 should be updated to not delete $RBENV_ROOT/global and $RBENV_ROOT/default)

Thanks for the cleanup! :sparkles:


Commands with + at end fails

searchdb> \d+
ERROR:  syntax error at or near ""
LINE 1: \d+
^
searchdb> \l+
ERROR:  syntax error at or near ""
LINE 1: \l+
^
Looks like they are not properly parsed (Are you using Python "cmd" based REPL ?)
These are Python syntax errors clearly.

This is a bug. I'll take a look.
I'm not using the 'cmd' module for the REPL. I'm using https://github.com/jonathanslenders/python-prompt-toolkit to build the repl.

Fixed in 0.10.3
https://pypi.python.org/pypi/pgcli/0.10.3


CQL .net source compilation issues

I am trying to compile the dot net source code that I downloaded from the following path "https://github.com/cqframework/clinical_quality_language", but I am getting lots of errors for missing namespaces for CQL project.
Example:  Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0115	'cqlTranslationVisitor.VisitQuery(cqlParser.QueryContext)': no suitable method found to override	CQL.Translation	C:\Users\neeta_r\Downloads\clinical_quality_language-master\Src\dotnet\CQL.Translation\cqlTranslationVisitor.cs	140	Active
Could you please help with this?

Hi @Maxsqladmin.  The .NET implementation was never fully realized and has not been updated in the last 3 - 4 years.  There is quite a bit of work needed to bring it up to parity with the Java version.  Please see #344.
@brynrhodes -- unless someone else picks up this work, we may want to consider removing the .NET implementation from this repository or moving it under a deprecated or abandoned folder.  What do you think?

So, is there any scope that the .net source would be taken up and completed Or we will have to move with java version?

I do not believe that the core committer team has any plans to update the .NET implementation.  The issue submitter for #344 expressed some potential interest in working on it (about 3 months ago), but I don't know if they decided to pursue it or not.  From my perspective, I have not seen any additional activity on the .NET code.


#90: refactor tests

This refactors existing tests into separate test modules so one can run tests individually.
In addition this adds the eat-your-own-dog-food feel to the test suite.
Changes in detail

add nyc to the mix
improve travis configuration to test against not just the latest node release
check coverage during travis build (we have some tests missing there)
improve error message when inheriting from another @suite decorated class
add work around in test/it/util.ts#cleanup() when running tests with nyc (see the comment in the file)
refactor all tests into separate entities so that they can be run separately
abstract test bases must not cleanup the stdout/stderr before passing it to assertOutput() (redundant)
add itrun script so one can run individual test suites during development, e.g. npm run itrun test/it/DependencyInjectionSuite.ts, without having to run all of the existing other test suites including the slow package test suites
improve travis config to not build both the branch (named gh-.*) and the PR that belongs to it, just build the PR.

Good News
Overall coverage is quite good:
Statements: 88.56% ( 333/376 )
Branches: 77.18% ( 159/206 )
Functions: 96% ( 96/100 )
Lines: 88.52% ( 324/366 )

but we are missing some tests in order to increase overall coverage.
Bad News

Most builds are failing due to low coverage 👍
NodeJS 6 builds are failing in the PackageIT tests, too, it seems that the parameterisation is wrong for packaging the mocha-typescript package and testing against test/it/fixtures/packages/* on whether it can be used. (something about npm not being able to install from a tgz.)

TODO

[x] Dependency Injection test suite
[x] cleanup code
[ ] documentation
[x] clean up / extend npm scripts

@pana-cc can we also have the tests run on appveyor? Most of the users use the Windows OS and need some confidence that this is also running on their platform.

@pana-cc please review as I am done with the implementation part, as for documentation, it is up to you to decide whether we include documentation on how to contribute/develop.

BTW, Congratulations, you have the honor to merge PR number 100. 🎉

Downloads doesn't look bad
https://npm-stat.com/charts.html?package=mocha-typescript

@pana-cc well the weekly download drop well below the 5k mark. I'd like them to be around >20k. Perhaps making some advertisement?

@pana-cc since this might affect the existing release, can you please publish a new release. I am still in the process of figuring out on how to do it myself. And before I break anything... especially with npm limiting releases and not allowing to overwrite existing releases.
BTW can you point me towards a working documentation on how to publish new releases to npm as a contributor?

I've added the steps I take to publish the package: https://github.com/pana-cc/mocha-typescript/pull/105


Incorrect or obsolete command

On step 3.2
chmod +x configure.sh
./configure.sh
There is not file called configure.sh, the only one .sh files are configureLinux.sh and configureMac.sh.
Those files are located on KITE folder which was created on step 1.

@marcoslagram thank you for your remark. I've just updated the README at #63


Bugsnag 3.*

Hello,
Is there any prevision for this library to be upgraded to latest Bugsnag version?
Thanks.

Are you talking about server-side or client-side?

About server-side.
Well, client-side would help if implemented too, of course.

We don't have plans to do this in the near future, but pull requests are very much welcome.

Thanks for your feedback.
I will see what I can do. If I do came with a working version I will surely pull request it.


Reproduce split race/crash

https://gist.github.com/ccotter/c0504455c7d54240758a34dc99d620f0 is the ASAN report.
From https://github.com/NVIDIA/stdexec/blob/54b38c99e8cbb348c1dd3508fa540728882247db/include/stdexec/__detail/__shared.hpp#L247 the shared state becomes a dangling pointer if if https://github.com/NVIDIA/stdexec/blob/54b38c99e8cbb348c1dd3508fa540728882247db/include/stdexec/__detail/__shared.hpp#L346 frees the memory from another thread.
I'm not quite sure how to fix this, but this PR manages to reproduce this bug reliably with ASAN in the "split forwards results from a different thread"" test.

I naively tried to make a copy of the intrusive_ptr inside __detach to keep the ref count positive long enough to ensure the object is kept alive, but I wasn't able to get that to work.

A million thanks for this, Chris. I'll investigate as soon as I can, but probably not before next week. Big presentation coming up.

I think #1460 fixes this


Roll Flutter Engine from 0407a16a9b5e to e9b78c8593dd (1 revision)

https://github.com/flutter/engine/compare/0407a16a9b5e...e9b78c8593dd
2023-05-03<EMAIL_ADDRESS>Roll Dart SDK from 7c061d8c9dc0 to 4d084f5b8f91 (1 revision) (flutter/engine#41686)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Removes entity usage in static content long text preprocess

what
Removes entity usage in the static content pre processing for the long text fields.
why does it work?
Cause these entity wrappers are being :hankey: lately with global stuff. good ol dosomething helpers extract field data saves the day again!
test it?
All static content should load without error now, regardless if it has intro filled out or not
fixes #5747

@angaither :boom: done!

:+1:


Option to download and inline remote sources

Evaluate some sort of --remote option that will grab script and stylesheets with absolute, remote URLs.

Nah, this is a giant rathole of complexity.

@azakus Happen to remember some of the complexities of doing this?
I've been writing some jsbins relying on polygit.org and unpkg.com and was wondering if I could use vulcanize to make "builds" that could be used offline (ie intranet).
It really shrinks the getting started window for new users. Don't have to start with huge amounts of tooling to get quick results :)

One problem here is that it starts turning Vulcanize into a sort-of package manager. Users would be much better off using Bower to install packages locally than relying on a much less complete feature in Vulcanize.


req.session variables set in OIDCStrategy function not persistent in session

Using<EMAIL_ADDRESS>with OIDC strategy from<EMAIL_ADDRESS>and<EMAIL_ADDRESS>for session state
in the strategy config I have e.g.
    function (req, iss, sub, profile, msAccessToken, msRefreshToken, done) {
....
          req.session.msAccessToken = msAccessToken
          req.session.msRefreshToken = msRefreshToken
....

This worked fine in old version of passport ie 0.4.1.  Session variables set in the strategy function persist
Actual behavior
After upgrade to 0.6.0, the req.session variables set in the OIDCstrategy function are not persisting after login.  Only the the cookie and passport objects are available in req.session
Looking at the release notes I noted the changes re session fixation and tried the authenticate parameter
      keepSessionInfo: true

This resolved the issue, but note that this is not recommended due to the vulnerability.
Expected behavior
I would expect on a new session that the session variables set in the strategy function at login (new session) would continue to persist without needing to use the keepSessionInfo: true parameter.
Is this a bug in 0.6.0, a misunderstanding of the change or an issue with the strategy passport-azure-ad?
Environment

Operating System: Windows
Node version: v18.1.0
passport version: v0.6.0
passport-azure-ad: v4.3.4
connect-mongodb-session: v3.1.1

did someone find a fix for this ?


Problem: control admin in the solidity code is not flexible

Currently only the owner can pause/unpause the contract.
We want to make it more flexible so that only some special addresses can have access to those functionalities
( needed for the circuit breaker)

Checked the new changes on admin roles. Looks good to me.
There is one question from my side, in production environment, the whitelist access of deployERC20 is only can be grated to token project side and our side right? No external side can get this access right?

Yes, I have added the whitelist guard to deployERC20
Whitelist are addresses that are able to relay (submit batches) but we can extend it now to also those who can deploy cosmos erc20.
At anytime, the whitelist can be turned off by setting anyoneCanRelay to true
I think it can add an extra security to prevent anyone to call this method (from recent bug) and since the address mapping in cronos is already permissioned, there is no use to make it public

Thanks @thomas-nguy
The logic of switching on/off whitList makes sence to me!
And the maliciously deployed CosmosERC20 token cannot be recognized/acknowledged forever.


How to get hits[] property in alarms?

I have the following watcher (sorry for the image I cannot copy and paste the watcher code from the browser, it's another bug which I've already reported):

This watcher looks for any records with status_code = 304 and sends the alarms to slack. My question is how do I access other fields from all fetched records with status_code=304, I have for example url, http_verb, client_ip in my ElasticSearch.
So the alarm in slack looks like this:
Alarm Test, count = 6
alarm = 1, url = /somepath, http_verb = POST, client_ip = x.x.x.x
alarm = 2, url = /anotherpath, http_verb = GET, client_ip = x.x.x.x
....

This is how the alarm looks now in Alarms section:
{
  "@timestamp": "2017-03-23T18:20:00.074Z",
  "level": "INFO",
  "message": "Alarm Test : 6 [object Object]",
  "action": "kiban",
  "payload": {
    "took": 38,
    "timed_out": false,
    "_shards": {
      "total": 13,
      "successful": 13,
      "failed": 0
    },
    "hits": {
      "total": 6,
      "max_score": 0,
      "hits": []
    }
  },
  "report": false
}

Do I need to write some ES script to achieve that? Couldn't find out from the available docs and githib issues...

@stunndard I believe this is simply due to  the size: 0 telling ES to return no actual hits, just counting.
Once you change it to return data, you can iterate it moustache to create the alarm you want using any value in the payload scope. If you need to modify those values for display, you can use a script.
Hope this helps!

Can you please give me an example on how to iterate over the payload data? I've changed size to 2 and payload.hits now contains my data now. However, payload.hits displays only [object Object] in Slack alarm. And what section of the watcher code should I put that script?

Objects can't be printed directly - you need to point the variable or iterate the objects seeking one.
I suggest you read how Mustache templating works, its as simple as powerful - here's an example where we use it to build an XML document iterating the payload elements: https://github.com/sirensolutions/sentinl/wiki/SENTINL-Random-Examples
Happy to continue helping, closing the ticket as this is a non-issue

Thanks for info, but I still can't figure out how to access payload.hits.hits[]._source where all the data is contained.
This is my alarm:
{
  "@timestamp": "2017-03-24T11:25:00.068Z",
  "level": "INFO",
  "message": "Alarm Test : 7 ",
  "action": "kiban",
  "payload": {
    "took": 13,
    "timed_out": false,
    "_shards": {
      "total": 23,
      "successful": 23,
      "failed": 0
    },
    "hits": {
      "total": 7,
      "max_score": 8.532951,
      "hits": [
        {
          "_index": "logstash-2017.03.24",
          "_type": "syslog",
          "_id": "AVsADxkHtYO77BRPUiBX",
          "_score": 8.532951,
          "_source": {
            "message": "[24/Mar/2017:11:23:59.517] 443~ 443_/543181d8ea727b5823de7d6416e89a011dbc5b1e 1007/0/0/6/1013 304 354 - - --VN 1/1/0/0/0 0/0 \"GET / HTTP/1.1\"",
            "@version": "1",
            "@timestamp": "2017-03-24T11:23:59.517Z",
            "type": "syslog",
            "host": "<IP_ADDRESS>",
            "syslog_timestamp": "Mar 24 11:24:00",
            "priority": "134",
            "program": "haproxy",
            "client_ip": "",
            "client_port": 50526,
            "haproxy_timestamp": "24/Mar/2017:11:23:59.517",
            "frontend_name": "443~",
            "backend_name": "443__",
            "server_name": "543181d8ea727b5823de7d6416e89a011dbc5b1e",
            "time_client_req": 1007,
            "time_queue": 0,
            "time_backend_connect": 0,
            "time_server_response": 6,
            "time_duration": 1013,
            "status_code": 304,
            "bytes_read": 354,
            "captured_request_cookie": "-",
            "captured_response_cookie": "-",
            "termination_state_with_cookie_status": "--VN",
            "actconn": 1,
            "feconn": 1,
            "beconn": 0,
            "srvconn": 0,
            "retries": 0,
            "srv_queue": 0,
            "backend_queue": 0,
            "http_verb": "GET",
            "http_request": "/",
            "http_version": "1.1"
          }
        },
        {
          "_index": "logstash-2017.03.24",
          "_type": "syslog",
          "_id": "AVsADwUCtYO77BRPUh_5",
          "_score": 8.532951,
          "_source": {
            "message": "[24/Mar/2017:11:23:55.569] 443~ 443__/543181d8ea727b5823de7d6416e89a011dbc5b1e 309/0/2/5/316 304 354 - - --VN 1/1/0/0/0 0/0 \"GET / HTTP/1.1\"",
            "@version": "1",
            "@timestamp": "2017-03-24T11:23:55.569Z",
            "type": "syslog",
            "host": "<IP_ADDRESS>",
            "syslog_timestamp": "Mar 24 11:23:55",
            "priority": "134",
            "program": "haproxy",
            "client_ip": "",
            "client_port": 50526,
            "haproxy_timestamp": "24/Mar/2017:11:23:55.569",
            "frontend_name": "443~",
            "backend_name": "443__",
            "server_name": "543181d8ea727b5823de7d6416e89a011dbc5b1e",
            "time_client_req": 309,
            "time_queue": 0,
            "time_backend_connect": 2,
            "time_server_response": 5,
            "time_duration": 316,
            "status_code": 304,
            "bytes_read": 354,
            "captured_request_cookie": "-",
            "captured_response_cookie": "-",
            "termination_state_with_cookie_status": "--VN",
            "actconn": 1,
            "feconn": 1,
            "beconn": 0,
            "srvconn": 0,
            "retries": 0,
            "srv_queue": 0,
            "backend_queue": 0,
            "http_verb": "GET",
            "http_request": "/",
            "http_version": "1.1"
          }
        }
      ]
    }
  },
  "report": false
}

I need to send to slack the data from _source, for example "http_request". I'm trying to use the following in my watcher:
...
"actions": {
  "kiban": {
    "slack": {
      "channel": "#dev-notify-errors",
      "message": Alarm Test {{ payload.hits.total }} {{ payload.hits.hits[0]._source.http_request }}
    }
  }
}
...

I still get the following in the logs and in the Slack channel:
{"type":"log","@timestamp":"2017-03-24T11:30:00Z","tags":["status","info","Sentinl","Slack"],"pid":18,"message":"Webhook to ##dev-notify-errors msg: Alarm Test : 5 "}
So apparently payload.hits.hits[0]._source.http_request doesn't work. How do I access "http_request" for my case? Can anyone answer this simple question please?

I guess you decided not to read though the mustache documentation.... it's super simple and would greatly help you understand how to answer this simple question. Anyhow, here you go:
{{#payload.hits.hits}} {{ _source.http_request }}  {{/payload.hits.hits}}

If you opened up the link I sent you would have noticed a link to a jsfiddle - I forked one with your data: http://jsfiddle.net/bab35skk/
Is this lazy-mode enough? ;)
Enojoy


Get-ExperimentalFeatures tests fail on Raspberry Pi because powershell.config.json does not exist

Failure occurs in:
https://github.com/PowerShell/PowerShell/blob/d9c2e0e712361bd91f661f6bf6a010c01d2eac0a/test/powershell/engine/ExperimentalFeature/Get-ExperimentalFeature.Tests.ps1#L174

Have we an issue to exclude powershell.config.json and compile defaults? It was a suggestion from @daxian-dbw

That proposal is only for stable release, not preview releases. Experimental features in preview release are all turned on and they should be turned on the same way as in stable release.

Not a blocker.


Can you make an /bin/sh version for use with alpine linux ?

That would be awesome !

I made an POSIX version here.
It uses nc and @vishnubob prefers a version that has minimum dependencies, so it was not merged.
See the closed pull request

first off thank you @raphaelahrens that is awesome! second off @vishnubob I understand you desire to keep the dependancies to 0, but nc is included in alpine and with the docker community all moving to alpine I think it would still be valuable?
@raphaelahrens when I run your script with no timeout setting I kept getting the error: timeout: can't execute '15': No such file or directory 15 being the default TIMEOUT.  However, when I used -1 no-timeout it worked?

@blacktop could you create an issue on my fork and describe how you call the script and under which OS/distro?

it looks like it is the same thing that happened here #5

also there is no UI in github for issues on forks.

Pull Requests #17 fixes it for me, but requires I install bash :(

@blacktop Ah ok I will take a look at it seems like alpine doesn't have timeout either.

It doesn't work for Alpine Linux.

Let me share a tool I have written in Go with cross platform support and which has the same purpose of this project (even the name is the same) https://github.com/maxcnunes/waitforit.

@maxcnunes that is a really nice solution to this problem 👏

There is always https://github.com/depop/wait-for-it but it has a reliance on bash shell. It also supports multiple host waits

@raphaelahrens have you had any trouble with nc returning a "bad address" error?

@eddieajau no I haven't. Sounds like an address resolution problem. Is the address reachable from the machine/vm?

@raphaelahrens so the problem is that when our Docker machine is spinning up, some of the containers take time to register their host names. While wait-for-it will genuinely wait for a port to open, it exits immediately if the host is not yet resolvable. This is because nc will exit with a code of 1 immediately, causing timeout to exit as well.
So the issue is that wait-for-it also needs to be able to wait for a host to be available within the given TIMEOUT.

In the meantime wait-for-command can help. It is a Posix sh compliant wich recives a command an waits for a specific exit status to finish waiting. It does not depend on a specific command so you could use whatever your distribution has available.
In Alpine Linux for port 5432 you could do:

./wait-for-command.sh -c 'nc -z db 5432' && [your-after-the-wait-commands]

Also for other distributions you could use:

wait-for-command.sh -c 'echo > /dev/tcp/<IP_ADDRESS>/5432' && [your-after-the-wait-commands]
wait-for-command.sh -s 0 57 -c 'curl <IP_ADDRESS>:5432' && [your-after-the-wait-commands]

Notice you can specify the matching exit status with -s.

:+1:
Would much prefer a POSIX version, but @ettore26's solution should be good enough for now.

hey guys, maybe a bit late for the party, but there is another (POSIX shell compliant) alternative capable of waiting for any type of command called: wtfc.
It's heavily inspired by @ettore26 solution and well tested on different envs (Busybox, Alpine, Debian, OSX, see: https://travis-ci.org/typekpb/wtfc)

I'd rather using nc command on alpine to wait for tcp connection.
while ! nc -z rails 3000 ; do sleep 1 ; done


pxl-dynamodb

Hey! I created a DynamoDB persistence layer for pxl based on the MongoDB code in case anyone else would like to use it. It's available on NPM here: https://www.npmjs.com/package/pxl-dynamodb

Awesome @raphaelmun ! I just added a link in the README.


Serverless without Authentication

I would love to set up a 'no-server' version of FineUploader, but without all the federated or identity provider authentication. I just want my users to upload without authenticating, because of my unique use case.
Is this possible with your script? And if so, could you please provide some guidelines? Sorry to ask, I'm still very new to coding.

Please read the docs at http://docs.fineuploader.com/branch/master/features/no-server-uploads.html. If you have further questions, please ask on Stack Overflow, keeping in mind that SO guidelines for questions (keep them focused, and show an attempt to solve them first).


pull request for e2e test at 11/27/2016 17:26:04

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


EditText on focus change prevent InputLayout to show carbon_label

Setting up on focus change listener to carbon edittext is preventing input layout to show label.

That's right. Focus change listener is used by InputLayout to determine if the view is focused. I'm not sure what would be the right way to support your situation. I don't want to add another listener to EditText as in general case any widget could be used as a source of input.

It's possible to use propagated drawable state change instead of focus change listener. That should be less destructive.

Can you give me an example ?
What I am trying to do is clear input text error when user click or focus on the edittext.

It's something I have to add to Carbon

    @Override
    protected void drawableStateChanged() {
        if (inDrawableStateChanged)
            return;

        inDrawableStateChanged = true;
        super.drawableStateChanged();
        updateHint(child);
        inDrawableStateChanged = false;
    }

fixed

just tested with the new update , that bug is still there.

I just added a focus listener to the text fields sample and the label is shown properly. The code:
EditText editText = (EditText) findViewById(R.id.editText);
editText.setOnFocusChangeListener((v, hasFocus) -> editText.setText(""));

Are you sure that you're using the most recent version? If the issue persists, maybe I'm testing it inproperly. In such case, could you prepare a minimal project showing the issue?

Ok I will check it again now.

Nah it was my mistake , library seems just fine, maybe I did not imported the latest update properly. I am sorry.


Fix implementation of Apply with DryRun 🛠

@andreaswachs can you please elaborate why dry run is not working?

Simply put, setting the "dry-run" flag to either "server" or "client" has no effect.
I think something is missing in terms of setting flags, or else the cmd is run wrong, when trying to do a dry run. Closer inspection of the kubectl source code is needed to determine what is being done wrong in terms of naively just setting the "dry-run" flag.


disable ecma_lint in builtin:swc_loader

swc_compiler enable ecma_lint by default which doesn't follow standard transform behavior and may introduce performance overhead, we may need to support disable it in builtin:swc_loader

we should resolve https://github.com/swc-project/swc/issues/4512 first to support disable lint in Rspack


GPS -> Mega

Integrate GPS Into Arduino Mega

[ ] Turn GPS code into a c++ class
[ ] Create .ino for Mega
[ ] Add GPS code to mega.ino

Moved GPS to nano, code already completed


Adding memory provider mocks

Stack created with Sapling. Best reviewed with ReviewStack.

#503
-> #490

So I don't think we should do mocks. In general mocks give a false sense of security in the functioning of a test many times and are generally the symptom of a design which makes it hard to do correct dependency injection. Given that the Llama stack is designed around explicit "dependency injection" (APIs and providers are literally the terms used by any DI framework), I think we can create much clearer testing systems using fakes of differing fidelity.
Specifically, consider the memory system. Here's how it could work:

When constructing the stack for tests, we add to the provider registry a new entry which registers a "fake" provider.  Something explicit like:

InlineProviderSpec(
   provider_type="test::fake",
   config_class="...",
   module="..."
)

Next, we now create a fixture (just like other ProviderFixtures we have) which gets you a config for this provider.
The rest of the system works as is, no changes are necessary to the internals or MRO or anything at all.

The Fake could be configurable and change its behavior depending on how we wish our tests to work. We could have multiple fakes if need be. For example, for inference, you could imagine a fake backed by chat conversations stored in a file. So the fake merely replays these conversations.
The most important bit -- I don't think we need fakes for every provider. But only 1-2 per API.
I am curious to know what you think.

That makes sense, things with mocks can become tricky and expensive to maintain later. The main concern there would be about managing mocks' setup when tests and functional components change as this can cause developers to spend extra time fixing those. We want to make the experience of writing new provider implementations as smooth as possible.
From that perspective, having a simple fakes that implement expected functionality in some light weighted manner would actually be more efficient for extending code and managing test setups.
I wrote this PR https://github.com/meta-llama/llama-stack/pull/524 that follows the idea.
In few bullet points:

We setup a fake provider fixture with fake provider info (e.g. {provider_id="memory_fake", provider_type="test::fake"})
Then when running tests, construct_stack_for_test() will call a new function setup_provider_registry_for_test() where we will identify which APIs are using provider_type="test::fake" and with them register a fake InlineProviderSpec

Here we use some conventions around fake module naming to help developers set those up faster (module path, class names are derived from provider_id)
Fake provider implements API interface (if implementation is not there we will raise errors telling the dev what is missing)

Stubs for provider are setup inside fixtures.py those must be aligned with the expected provider behavior

Stubs are registered per method basis where we provide arg matchers


Request: World object API to more easily remove objects from scene dynamically

I've probably written the code:
object = WorldObject()
parent.add(object)

# later, I want to remove the object from the scene

parent = object.parent
if parent is not None:
    parent.remove(object)

It would be convenient if I could write
object.parent = None

to change the object's parent. Setting it to None would effectively remove the parent.
Looking your API, it seems that there is likely a need to have a few more options to the standard setter that can't be done with the syntax:
object.parent = new_parent

for example;
object.set_parent(parent, keep_world_matrix=True)

as always with my "feature requests" i'm happy to contribute if it is within my skillset and especially when I can shed long term code maintenance if there is alignment with the direction of pygfx.
I think in the meantime, I will likely add the function
def remove_parent(wobject):
    if (parent := wobject.parent) is not None:
        parent.remove(wobject)

and it will likely just address most of our code readability problems.

I think your suggestion for a set_parent() method makes sense, and I don't think would be hard to add. It'd basically a convenience method that calls into existing methods.


Heroku connection error = 28

Hello,
I've followed the documentation on how to build your bot, I've got a successful connection with webhook while using ngrok.
But when I try to connect the bot with Heroku, I get this error

and can't find the related issue on Google, only for this repository jw84/messenger-bot-tutorial , but it seems that nobody has faced a similar issue. Tried to look for answers on stack overflow, without success.
I was searching for these terms on Google: curl_errno = 28 Heroku Node.js, not helpful.
This is the log from Heroku
2017-12-16T18:23:22.994689+00:00 heroku[web.1]: Process exited with status 137
2017-12-16T18:23:24.737839+00:00 heroku[web.1]: Starting process with command `node index.js`
2017-12-16T18:23:26.595486+00:00 app[web.1]: BootBot running on port 3000
2017-12-16T18:23:26.596055+00:00 app[web.1]: Facebook Webhook running on localhost:3000/webhook
2017-12-16T18:23:23.007849+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-16T18:23:23.010050+00:00 heroku[web.1]: State changed from crashed to starting
2017-12-16T18:24:15.265011+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/webhook?hub.mode=subscribe&hub.challenge=1270710795&hub.verify_token=fake_token" host=itm-bot.herokuapp.com request_id=e83b0020-c645-42bc-bf10-5ecfd1a37162 fwd="<IP_ADDRESS>" dyno= connect= service= status=503 bytes= protocol=https
2017-12-16T18:24:25.285419+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-16T18:24:25.156812+00:00 heroku[web.1]: Stopping process with SIGKILL
2017-12-16T18:24:25.156704+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2017-12-16T18:24:25.271462+00:00 heroku[web.1]: Process exited with status 137

and this is the index.js
'use strict';
const BootBot = require('bootbot');

const bot = new BootBot({
    accessToken: 'FB_ACCESS_TOKEN',
    verifyToken: 'FB_VERIFY_TOKEN',
    appSecret: 'FB_APP_SECRET'
});

// Upon receiving the messsage
bot.on('message', (payload, chat) => {

    // Grab the message and the user ID
    const text = payload.message.text;
    const userId = payload.sender.id;

    // Send the text message
    bot.say('Hello! ' + userId);
});

bot.start();

The config vars are configured properly on Heroku.
Is this a bug or did I missed something?
UPDATE
I've tried to use bootbot-cli and now when I go to http://localhost the browser says Cannot GET / and if navigate to localhost/webhook it says Forbidden though that's because of the verification token.

Instead of 'FB_ACCESS_TOKEN' you need to grab the env vars like process.env.FB_ACCESS_TOKEN if you set heroku config:set FB_ACCESS_TOKEN=yourpagetoken. Same with the other two values.

The variables are not the problem, the problem is that the app keeps crashing.
As soon as I tried with the original Facebook code, it worked upon first try. https://github.com/fbsamples/messenger-platform-samples

The link you gave is not bootbot.
Is the code you showed above the code for your bot? If it is, you are using the env vars incorrectly.
If it isn't the code for your bot, can you paste the code for your bot that instantiates the BootBot instance.

I've tried to use bootbot-cli and now when I go to http://localhost the browser says Cannot GET /
This is because the / route is not served by the webserver (express) that is created by bootbot.


[Suggestion] Reset security PIN option should be shown as if user forgot the created security PIN they won't change it in the app.

Frequency: 100%
App version: Pilot build v1.5.1
Repro on:  Google Pixel XL (8.1), Redmi Note 7 Pro (9.0)
Repro Steps:

Launch the app.
Proceed for payment.
The user forgot the password and enter the wrong PIN “Incorrect PIN” error is shown.
The user is not able to change the created PIN.

Impact:  User is blocked to proceed for transaction.
Investigation: User is able to change the device PIN if they forgot it.
Current Behavior: Reset security PIN option is not shown.
Expected Behavior: Reset security PIN option should be shown

Hi @nityas can you please confirm is it wont fixed for now?