Upgrade Electron to 9.3.5

Closes #2860, #2835: https://github.com/electron/electron/pull/24702

Very cool, thanks for the PR! This has been on our roadmap in order to better support Big Sur.
Windows/Ubuntu CI failed due to bootstrapping, so I've re-run it in case there was an issue with NPM.

Very cool, thanks for the PR! This has been on our roadmap in order to better support Big Sur.
Windows/Ubuntu CI failed due to bootstrapping, so I've re-run it in case there was an issue with NPM.

@develohpanda Unfortunately, I don't have access to a windows machine or graphical linux box at the moment. Would you be happen to be able to fix the PR?

@develohpanda Unfortunately, I don't have access to a windows machine or graphical linux box at the moment. Would you be happen to be able to fix the PR?

No stress, I was expecting issues with node-libcurl while upgrading, I already had to pin the version during the last release 😂 will take a deeper look when I get a chance to!

No stress, I was expecting issues with node-libcurl while upgrading, I already had to pin the version during the last release 😂 will take a deeper look when I get a chance to!

@develohpanda The linux build passes when downgrading Electron to 9.3.5 and upgrading node-libcurl (as there are precompiled binaries). The windows build should pass, except it looks like the github archive server is returning a 503.

@develohpanda The linux build passes when downgrading Electron to 9.3.5 and upgrading node-libcurl (as there are precompiled binaries). The windows build should pass, except it looks like the github archive server is returning a 503.

@develohpanda looks like it went through this time!

@develohpanda looks like it went through this time!

Awesome! 🌞 I think this will require a degree of QA, but I'll raise it with the team and see where we can fit it in, so I won't merge it immediately but we will get to it! 🤗

Awesome! 🌞 I think this will require a degree of QA, but I'll raise it with the team and see where we can fit it in, so I won't merge it immediately but we will get to it! 🤗

This will bring significant improvement for the product, can someone resolve conflicts?

while I can't say for sure, I think after yesterday's release this particular change will start to bubble up in priority fairly quickly.  it's definitely on the radar!  I'd love it! haha

@develohpanda I'm getting the same error, it seems like the newer precompiled node-libcurl build that is pulled in alongside the newer electron doesn't correctly statically link to zstd, so we might need to get that resolve that upstream before we can proceed with this electron upgrade:  https://github.com/JCMais/node-libcurl/issues/274


Check that tests are executed correctly

can you please check whether all tests in the "tests" folder are actually executed in the ci pipeline?... Just stumbled upon this test in "test_derive_data_sets"... obviously it is not a unit test and naturally it takes forever

@glencoe I have now taken a closer look at which tests are executed in the workflow and on my machine when you start them manually (python3 -m unittest discover --verbose elasticai/creator/tests). Both on my machine and in workflow, the identical 202 tests are executed. Among them is the test you had found and the test passed as well. The funny thing is that when I run the tests via the run button in PyCharm, PyCharm tells me that 240 tests have been run. But even if I test the command PyCharm executes 1:1 like this in my terminal only 202 tests are executed. Maybe this is a bug in PyCharm?

changes in numbers are coming from the one tool counting subtests, while the other doesn't....
Let's remove that test. It is still not terminating on Mac M1 for me. Also testing whether or not you're running out of memory is not something we should do... at least not here.

The test has already been removed. I will close this issue.


Errors and Blank HTML on Manual Run

Getting some interesting situations.
Ran it manually and quite a few different errors show up:

Also, after it's done running it pops the HTML like normal but it's just blank.  Also of note - no email gets sent to me.

OK, what version of Powershell, PowerCLI and vCheck are you running?
Second one: What do you get when you run $host.PrivateData.WarningForegroundColor in your console?
The third one may be related to PowerCLI 6.0, I certainly get the same error since updating.

Bump. If there is no reply to this in another week, I'll close this off.

Closing this off as there has been no response. Please log a new issue if you are still having trouble.


refactor: use patterns in more of the ast

lambdas and lets can now bind simple patterns (e.g. @(a, b) bod or let ((a, b), (c, d)) = val; nxt)

Term::Dup and Term::Ltp are now part of Term::Let

these patterns can now bind scopeless variables (so e.g. let $x = ... is valid)

Term::Chn is now part of Term::Lam

tuples can now be tagged, and use the same AST node as superpositions

tup/sup/dup are all collectively called fan
the logic for these is nearly identical for the vast majority of the code

erased lets are no longer elided, fixing some miscompilation bugs

(even though this added features, the line count is net negative!)

(this is a modern version of the original pattern-refactor started by @FranchuFranchu (https://github.com/HigherOrderCO/hvm-lang/commit/cf1bc258ee01307045169cba5a931836da9ca4c4))


Content Parity

Description
As an elife reader I would like the new reviewed pre print content to match the existing content as displayed in eLife to ensure I can see full information
Acceptance Criteria

[ ] Author affiliations (in another ticket)
[ ] Corresponding author status
[ ] Author contributions
[ ] Supporting information display correctly(removed for launch)
[x] Affiliation order: GEREC, Methodology center, FIMM
[ ] ORCIDS - can production team provide or state where this is?
[ ] Info missing for ref Lenth 2010 (versioning info) - need a seperate ticket (not connected to this)
[ ] Missing equal contribution status for first two authors https://staging--epp.elifesciences.org/reviewed-preprints/80494

@BlueReZZ Will thinks all this content is contained in Encoda but when the work is picked up, it will be checked. Might be useful for your convo with Encoda.


New Searches from Dataset Detail Page.

Add more hyperlinks in dataset detail page.
The values of these keys should all perform a MUDROD query for that term:

Project
Sensor
Measurement (each word/phrase should be it's own link)

Example:
If Project=GHRSST then GHRSST should be a hyperlink to search MUDROD for "GHRSST"

Conflicts with https://github.com/mudrod/mudrod/issues/144

Fixed with PR https://github.com/mudrod/mudrod/pull/206

Complete https://github.com/mudrod/mudrod/issues/206


attachment_image_tag prints wrong cloudfront URL

I'm using refile gem for file uploading and I'm uploading files directly to my amazon s3 public bucket. The files are being uploaded just fine to following URL:
https://s3.amazonaws.com/{bucket-name}/store/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475
I'm using amazon cloudfront to serve these assets from s3, so the cloudfront url, for the asset given above, is something like this:
https://{distribution-name}.cloudfront.net/store/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475
The both urls when accessed directly through browser works fine. To display this asset in my app view file I'm using refile gem following helper function:
attachment_image_tag(@post, :profile_img, :fill, 350, 350)
Now the issue is, this helper method prints a URL something like this:
https://{distribution-name}.cloudfront.net/attachments/5845d0a97dc77a57b5b05742a1eb26d629d7cdaa/store/fill/350/350/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475/file
As this URL is different from above cloudfront URL, it is not displaying the image. How do I force attachment_image_tag function to print the correct cloudfront URL?
Here is my refile.rb file:
# config/initializers/refile.rb
require "refile/s3"

aws = {
  access_key_id: ENV['AWS_ACCESS_KEY_ID'],
  secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
  region: "us-east-1",
  bucket: ENV['export S3_BUCKET'],
}

Refile.cache = Refile::S3.new(prefix: "cache", **aws)
Refile.store = Refile::S3.new(prefix: "store", **aws)
Refile.cdn_host = "https://{distribution-name}.cloudfront.net"

It sounds like you may have set up your Cloudfront distribution with your S3 bucket as its origin? Refile, however, does not generate URLs directly to files on S3 (see README section 3. Rack Application). You'll therefore want to set your Cloudfront distribution's origin to be the URL of your application. That way, files will be streamed from your application on the first request, and cached by Cloudfront for future requests.

Thanks. The docs are a bit confusing for newbies.
Yes, I've set cloudfront distribution origin with my S3 bucket. I've setup another cloudfront distribution with my app's URL but it is not working either.

I'd suggest having a read of this article, which is linked to in the readme - http://www.happybearsoftware.com/use-cloudfront-and-the-rails-asset-pipeline-to-speed-up-your-app.html
Has a good explanation of CDNs, and how to set up Cloudfront.


Are projects going to be supported?

I wanted to create a new project through the API and I realised that there's no function for projects (at least I didn't spot it). Is it because it's in beta? Is there any plan to add this?

@viclec - hi! Sorry, I haven't got round to adding this yet. I'm intending to work through this plus support the Kubernetes functions this week and will close this off when done.

Thanks, that will be great feature, too!


undefined method to_i for array from gem in production

We are using Ruby-2.5 & Rails-5.2 newrelic_rpm gem - <IP_ADDRESS>4
Error we are receving: -
[NewRelic][2020-06-11 07:08:45 +0000 web.2 (18)] ERROR : Exception during Transaction#finish
[NewRelic][2020-06-11 07:08:45 +0000 web.2 (18)] ERROR : NoMethodError: undefined method `to_i’ for [“15000”]:Array
Description: -
The NewRelic gem is writing frequent errors to the log files, which makes it difficult to determine if there is a real issue and prevents us from having better alerting on errors in the logs. Can someone help us to fix

@bharathram-nirman Could you please try the following patch by adding it to your Rails initializers folder or somewhere in your code after newrelic_rpm is required?
module NewRelic::Agent::Instrumentation::MiddlewareTracing

  def capture_response_content_length(state, result)
    if result.is_a?(Array) && state.current_transaction
      _, headers, _ = result
      length = headers[CONTENT_LENGTH]
      length = length.reduce(0){|sum, h| sum + h.to_i} if length.is_a?(Array)
      state.current_transaction.response_content_length = length
    end
  end

end

This is a best guess effort based on the limited logged data shared above.  My guess is that a multi-part response with multiple length values is coming through and we're not handling this correctly.
If this patch does not work, please set debug level for logging and capture a backtrace that can pinpoint exactly where the #to_i is invoked.  If you need further help on this, our Support team is an excellent avenue to getting assistance with this issue.

@bharathram-nirman If this patch solves your issue, update this ticket and I will ensure the patch goes into the next release of the agent.

@mwlang Thanks it solves my problem.

This patch has been added and will appear in the next release of the agent.


dotstar component request

What's the full name of the component you'd like to see in Adafruit.io WipperSnapper?
DotStar chains, like the 5 DotStars on the FunHouse board
Product URL or Datasheet
FunHouse:  https://www.adafruit.com/product/4985
Additional context
I tried WipperSnapper recently for the first time with a FunHouse.   I got it connected (so easy!), and was able to add a component for the red LED and control that (easy!).  But the next thing I wanted to do is set the 5 DotStars and I could not see any way to do that.

Resolved via https://github.com/adafruit/Wippersnapper_Components/pull/117
WipperSnapper currently ships with DotStar as of Beta 59 and up!


docker: start opensearch with exec for graceful termination

Description
Testing with Podman on Ubuntu 24.04:
root@test ~ # podman run --name=test --ulimit memlock=-1:-1 --env discovery.type=single-node --env OPENSEARCH_INITIAL_ADMIN_PASSWORD='myStrongPassword123!' --pull never --security-opt=apparmor=unconfined --stop-signal=SIGINT opensearchproject/opensearch:2.13.0

Stopping it via an additional terminal:
root@test ~ # podman stop test
WARN[0010] StopSignal SIGINT failed to stop container test in 10 seconds, resorting to SIGKILL
test

Opensearch gets terminated without any graceful shutdown.
Self build image with exec in opensearch-docker-entrypoint.sh to start container:
FROM opensearchproject/opensearch:2.13.0
RUN sed -i 's/    "$@"/    exec "$@"/g' opensearch-docker-entrypoint.sh

root@test ~ # podman run --name=test --ulimit memlock=-1:-1 --env discovery.type=single-node --env OPENSEARCH_INITIAL_ADMIN_PASSWORD='myStrongPassword123!' --pull never --security-opt=apparmor=unconfined --stop-signal=SIGINT localhost/opensearch-test

root@test ~ # podman stop test
test

Opensearch stops graceful with following log lines:
[2024-05-08T10:08:48,758][INFO ][o.o.s.a.r.AuditMessageRouter] [9cb111d7ce0d] Closing AuditMessageRouter
[2024-05-08T10:08:48,758][INFO ][o.o.n.Node               ] [9cb111d7ce0d] stopping ...
[2024-05-08T10:08:48,759][INFO ][o.o.s.a.s.SinkProvider   ] [9cb111d7ce0d] Closing InternalOpenSearchSink
[2024-05-08T10:08:48,759][INFO ][o.o.s.a.s.SinkProvider   ] [9cb111d7ce0d] Closing DebugSink
[2024-05-08T10:08:48,796][INFO ][o.o.n.Node               ] [9cb111d7ce0d] stopped
[2024-05-08T10:08:48,796][INFO ][o.o.n.Node               ] [9cb111d7ce0d] closing ...
[2024-05-08T10:08:48,798][INFO ][o.o.s.a.i.AuditLogImpl   ] [9cb111d7ce0d] Closing AuditLogImpl
[2024-05-08T10:08:48,798][INFO ][o.o.n.Node               ] [9cb111d7ce0d] closed

Issues Resolved
Closes https://github.com/opensearch-project/opensearch-build/issues/3229
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks @Jakob3xD , can we add this for opensearch-dashboards as well?
We might not be able to make it for 2.14.0 as we already have 3 RCs out.
cc: @bbarani @rishabh6788
Thanks.

Thanks @Jakob3xD , can we add this for opensearch-dashboards as well?

opensearch-dashboards already has the exec.
https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint-1.x.sh#L213
https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint-2.x.sh#L228
https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint-default.x.sh#L228


unconditionally define decl exports for GNU-style visibility

Unlike on Windows, it is perfectly acceptable to set symbol visibility for static libraries, and it magically works. In fact, it even beneficially does something useful.
This simplifies the code by avoiding special cases.

Could it result in the mimalloc symbols being visible when a mimalloc static library is linked into some shared library?
If so - that behavior may be unwanted.


Small Equations

When https://github.com/QuantEcon/sphinxcontrib-jupyter/issues/117 is resolved, we need to implement whatever changes (or Jupinx bump) comes out of it.

A fix for this has been added as https://github.com/QuantEcon/sphinxcontrib-jupyter/pull/152
No intervention will be required in the sources.

Closing since that PR was merged.


Potential SpectrogramDrop bugs

Describe the bug
It would probably worth sanity checking the SpectrogramDrop code (and others) for issues, and to be careful in the reading of the reference papers (I haven't checked yet). I noticed some odd code:
mask_pos = torch.randint(
    0,
    max(1, D, -mask_len.max()),
    (batch_size, n_masks),
    device=spectrogram.device,
).unsqueeze(2)

The max() statement seems wrong, as the -mask_len.max() value will always be negative and disregarded. Thus, a given frequency mask application might mask much fewer bins than selected with drop_length_low/high if it starts near the top of the frequency range. e.g. if it starts at the 5th highest frequency bin it would only mask 5 bins. This might be OK.
Opposite problem at the low end: since the mask_pos is a starting position, the lowest frequency bins are significantly less likely to get masked than the bins in the middle of the spectrogram. e.g. the lowest frequency bin has a 1/D chance of being masked, and so on. This might slightly harm the benefits of SpecAugment?

Example of a few SpecAugment applications (including time-wise, ignore that):

Expected behaviour
Not sure! The proper behavior might be arguable, need to read some papers.
To Reproduce
No response
Environment Details
No response
Relevant Log Output
No response
Additional Context
No response

@mravanelli should have a look

See also: #1116


Where to get the arch.json for zynq 7010 when use Vitis AI Compiler ?

hi,
I have configured the docker-based model quantization tool (CPU version). However, I encountered the following problems when I use the Vitis AI Compiler tools.
The commond 'vai_c_tensorflow' need a parameter --arch arch.json. But for zynq 7010，where can I get the arch.json ?  Or is there any document for edit it ?

Hi @zuokanmingyuli
I am afraid you have to create the zynq7010.json file by yourself. You can refer to ZCU102.json to create your zynq7010.json. If you use Vai1.1, you will find it under /opt/vitis_ai/compiler/arch/dpuv2/ZCU102 when you run the docker container.

HI @zuokanmingyuli
Since I haven't received your reply for a long time, I'm going to close this issue. If you still have any questions, please fell free to reopen it. Thank you very much.


Infinite left-recursion when seed parent might be empty

Hi. While working on a C# implementation of this algorithm, I ran into an interesting case which caused the parser to run into an infinite loop. To verify that it wasn't just a minor error of mine I also attempted to recreate the same grammar in the reference implementation and ran into the same problem.
The specific case:
List<Rule> rules = Arrays.asList(
  new Rule("A",
    new First(
      new CharSet('a'),
      new Nothing()
    )
  ),
  new Rule("CHAIN",
    new Seq(
      new RuleRef("CHAIN"),
      new RuleRef("A")
    )
  )
);

var grammar = new Grammar(rules);
var mt = grammar.parse("a");

System.out.println("done");

If I'm not mistaken, this runs into an infinite loop because the CHAIN rule may match an empty string, but is also its own (indirect) seed parent, causing it to always get added to the priority queue (which will therefore never be empty). This gives a debug trace of:
...

Of course, this grammar can be easily rewritten in order to not be left-recursive, but from what I understand the algorithm is supposed to be able to handle these cases. I was wondering if you had any suggestions on how the implementation could be modified in order to be able to handle these cases? My initial thoughts are to simply check if we already attempted to match a clause at a specific position in the input and if so, do not add the clause to the priority queue. However, I'm not sure if this would have other unforeseen side effects on the workings of the algorithm.

After some tinkering, using my suggested fix breaks some of the unit tests, so that is not a proper solution for this problem.

Hi @CptWesley,
Thanks for finding and reporting this case. It has been a long time since I looked at this algorithm, but off the top of my head, you should be able to detect this case and not add the parent rule if the rule already matched the empty string, and the rule is its own parent.
However, things get trickier when there is an indirect cycle that consumes zero characters for each loop around the cycle (i.e. if a rule is only its own indirect parent).
I suspect the more general fix is to not move upwards to parent phrases if the match at a given start position is exactly the same length as a previous match in that position. Actually I thought that's what the logic already did (since the matching logic requires that matches get at least one character longer for each loop around a grammar cycle), so the implementation may just be buggy.
Let me know if that helps at all...

@lukehutch Thank you for your response. When fiddling with things I came to a similar solution as you proposed, but I wasn't sure if that did not create new degenerate cases. In the current reference implementation the requirement of matches growing in size before looping is not enforced. Inside the addMatch the potentially zero-character matching seed parents always get added to the queue, regardless whether or not the clause even matched at all, so any cycle of potentially zero-character matching clauses can loop around the cycle without consuming more characters.

Hi @CptWesley ! I think your grammar rule chain should never match anything -- its parsetree is forced to be infinite by the definition, which cannot ever happen. I tried the grammar with my Julia implementation (see https://github.com/LCSB-BioCore/PikaParser.jl) and it doesn't go into infinite loop, so I assume that one of the epsilon-match-avoiding-rules might have come to play. -- Most probably, it might be the one with "match that goes against the topo-order of the rules must be strictly bigger than submatches".
Reference code:
import PikaParser as P

rules = Dict(
    :A => P.first(P.token('a'), P.epsilon),
    :chain => P.seq(:chain, :A),
)

g = P.make_grammar([:chain, :A], P.flatten(rules, Char))

input = "aaaa"

p = P.parse(g, input)

Hope this helps!

@exaexa The definition is only infinite for recursive decent parsering due to the left recursion. Which is the problem that this algorithm/paper tries to solve. Perhaps this specific case is not one of the cases that is supposed to be covered (it's been a while since I last looked into this). But this grammar works fine for the family of left-recursion growing parsers (https://dl.acm.org/doi/10.1145/1328408.1328424). Although the definition of "fine" might differ on who you'd ask, since from my understanding these tricks to support left-recursion are usually not fully defined and often not complete (https://www.jstage.jst.go.jp/article/ipsjjip/29/0/29_174/_article).

@CptWesley

But this grammar works fine for the family of left-recursion growing parser [ref]

My main question was basically about if you sure that you have the correct grammar there-- yours is basically:
A ::= 'a' | ε
chain ::= <chain>

There, the chain recursion does not allow any termination ever -- the rule chain will always spawn one more chain, thus any parse tree that contains chain is forced to be infinite, and I'm not sure if we want to consider an infinite parsetree as a "match" (by all definitions that I ever saw, these are considered unmatchable).
Thus your grammar would be perfectly equivalent to just:
A ::= 'a' | ε

...which corresponds to what I'm getting (in my test I get 4 independent matches of a).
The closest to your grammar that the paper reports is IMO this one:
expr ::= <expr> "-" <num> / <num>

Anyway, your grammar can be converted to a one where chain can be actually matched:
A ::= 'a' | ε
chain ::= <chain>  |

...and there I'm actually getting the infinite recursion too. Time to debug! :]

@exaexa You're right. I didn't properly inspect my grammar, I assumed it was written as the last snippet you posted. However, I would expect it should be able to detect this and terminate, rather than loop forever, so I think your Julia implementation does better in that regard 😅.

haha yeah I put some time into making sure the "don't match self again" invariant holds, yet alas in this case it was obviously insufficient. I still think this is fixable though, the loop in the algorithm is detectable and is visibly invalid as it is trying to force new repeated matches of stuff that is already in the match table. The main logic problem is with the epsilon-shortcutting logic there, roughly:

matching the 'a' in A seeds matching of chain
chain fails to find matches for the 1st rule (seq <chain> ) normally, but succeeds because <chain> is capable of matching ε by the "can match ε" logic
matching the epsilon seeds chain
the rematch-avoiding logic allows the seeding to continue because it still allows the clauses that can match epsilon, which includes chain (see https://github.com/LCSB-BioCore/PikaParser.jl/blob/e0515317819c6d8ac4b59fb80f268e1142d22152/src/parse.jl#L51 )

I'll be back with updates.

OK so the actual inconsistency seems to be as follows:

chain can match ε
pikaparsers depend on the property that anything in first clauses is NOT able to match ε, except for the last rule. If that is the case, the first clause may never reach the other subclauses after the possible ε-match, because it is greedy and it will always try to succeed first. AFAIK, this is actually a general property of all PEGs.
the first rule in the first-type clause of chain could match ε via rule1, expanding as chain1(chain2(A(ε)),A(ε)), thus the second rule (recursion termination) won't ever be applied.

The few things we thus found so far:

my checking of first-type clauses obv sucks and I need to throw an error reliably if this is detected (@CptWesley so thanks a lot for bringing this up, issues will be fixed!)
if you avoid the possible ε-match in the first chain rule, it works, grammar as below (copying from julia #etoolazy):

rules = Dict(
    :A => P.token('a'),
    :chain => P.first(P.seq(:chain, :A), :A),
)

it even works with indirect recursion:

rules = Dict(
    :A => P.token('a'),
    :X => P.seq(:chain),
    :chain => P.first(P.seq(:X, :A), :A),
)

another bug possibly found: I noticed that the thing works (and doesn't crash) if I remove the check for seeding ε-matching clauses at https://github.com/LCSB-BioCore/PikaParser.jl/blob/e0515317819c6d8ac4b59fb80f268e1142d22152/src/parse.jl#L51 . This corresponds to the pikaparser paper of @lukehutch Listing 11, line 28. Surprisingly, everything works for me even if the extra ε-match check is removed -- basically after erasing the whole || ... part of that condition, and all tests stay OK an the example from here doesn't loop infinitely. I think the extra check here shouldn't be needed because ε-matches can moreless "seed themselves" wherever needed, right? @lukehutch any extra info on this would be very welcome. I think this is closely related to the section 6.1 in the paper which even seems to recommend avoiding ε-matches for the seq-type clauses. As the other option, maybe the extra check should be needed when an ε-match could be used to seed other clauses, but at that point it should not check the ε-matching-capability of the "parent" rule but of itself, which is subsumed by the fact that the table would get updated before. (TL;DR version: is that extra rule really needed?)

In perspective, I think this here might actually give a nice defining property of pikaparsers -- problematic left recursion is skipped on the basis of the no-ε-on-the-left rule, reflecting upon the overall nature of PEGs.


Quickfix/location list should not be cleared when starting makers

I think that especially with long running makers it's better to keep the old results around, until the first maker finishes.
Should this be made configurable?!

Or trigger an autocmd NeomakeStarted ? I could use that on projects that I know take a long time to display into i3bar for instance "Compiling".

Or trigger an autocmd NeomakeStarted

Good idea.  This would be triggered instead of the NeomakeCountsChanged that is being used currently (when resetting, and counts get reset because of this).

I think this should be fixed/addressed before #831 to fix the first TODO there.

Can you test #981, please?


4 filters views

Initial push after starting to add views, urls, and filters. Currently is broken.

Can you merge in the latest changes from main into this branch?


Fix sort icon in mobile tables

Closes
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

Might fix https://github.com/adobe/react-spectrum/issues/2133


Theme WithRenderer

Adds WithRenderer to themes for SSH support.

we're not using this anymore with the advent of bubbletea v2 🙏🏻


Build fails with latest commit

Description
The build fails with the errors shown below in the log section. The last time I tried to build was with 49a941f62f46d9fb4da9f67c0ee31d22630a24dd (on January 7th) and that commit built and still builds fine, with the exact same (i.e. latest as of today on Arch) toolchain.
Commit-id
6b0e749088cec21189a6e1587a5915c634c41e1c
Build target
Choose one of them

Docker build for Linux and Android-lib

https://github.com/google/mozc/blob/master/docs/build_mozc_in_docker.md

CI build status

passing

Environment:

OS: Arch Linux
Python version (optional): 3.10.9
Qt5 version (optional): 5.15.8
Compiler version (optional): GCC 12.2.1

Build commands
Steps of command lines to reproduce your error.

git clone https://github.com/fcitx/mozc.git
cd mozc/src
git submodule update --init --recursive
(some Bazel stuff for fixing an error with the Android NDK)
bazel build unix/fcitx5:fcitx5-mozc.so unix/icons --config oss_linux --compilation_mode opt

Error logs
[295 / 467] Compiling session/internal/keymap.cc; 4s linux-sandbox ... (12 actions, 11 running)
ERROR: /build/fcitx5-mozc-ut/src/fcitx5-mozc-ut-git/src/unix/fcitx5/BUILD:55:16: Compiling unix/fcitx5/fcitx_key_translator.cc failed: (Exit 1): gcc failed: error executing command (from target //unix/fcitx5:fcitx_key_util) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 69 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from unix/fcitx5/fcitx_key_translator.cc:31:
./unix/fcitx5/fcitx_key_translator.h:98:3: error: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   98 |   DISALLOW_COPY_AND_ASSIGN(KeyTranslator);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc: In member function 'void fcitx::KeyTranslator::Init()':
unix/fcitx5/fcitx_key_translator.cc:426:23: error: 'arraysize' was not declared in this scope
  426 |   for (int i = 0; i < arraysize(special_key_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:432:23: error: 'arraysize' was not declared in this scope
  432 |   for (int i = 0; i < arraysize(modifier_key_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:438:23: error: 'arraysize' was not declared in this scope
  438 |   for (int i = 0; i < arraysize(modifier_mask_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:444:23: error: 'arraysize' was not declared in this scope
  444 |   for (int i = 0; i < arraysize(kana_map_jp); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:451:23: error: 'arraysize' was not declared in this scope
  451 |   for (int i = 0; i < arraysize(kana_map_us); ++i) {
      |                       ^~~~~~~~~
INFO: Elapsed time: 11.183s, Critical Path: 5.16s
INFO: 87 processes: 13 internal, 74 linux-sandbox.
FAILED: Build did NOT complete successfully

At some point while experimenting I also got this (with -fpermissive) but I can't reproduce it, so it could have happened with an older commit than latest:
[436 / 467] Compiling protocol/commands.pb.cc; 4s linux-sandbox ... (12 actions, 11 running)
ERROR: /build/fcitx5-mozc-ut/src/fcitx5-mozc-ut-git/src/unix/fcitx5/BUILD:24:16: Compiling unix/fcitx5/mozc_engine.cc failed: (Exit 1): gcc failed: error executing command (from target //unix/fcitx5:mozc_engine) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 71 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from ./unix/fcitx5/mozc_engine.h:36,
                 from unix/fcitx5/mozc_engine.cc:20:
./unix/fcitx5/mozc_state.h:164:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
  164 |   DISALLOW_COPY_AND_ASSIGN(MozcState);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./unix/fcitx5/fcitx_key_event_handler.h:42,
                 from ./unix/fcitx5/mozc_connection.h:39,
                 from unix/fcitx5/mozc_engine.cc:36:
./unix/fcitx5/fcitx_key_translator.h:98:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   98 |   DISALLOW_COPY_AND_ASSIGN(KeyTranslator);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
./unix/fcitx5/fcitx_key_event_handler.h:74:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   74 |   DISALLOW_COPY_AND_ASSIGN(KeyEventHandler);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
./unix/fcitx5/mozc_connection.h:67:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   67 |   DISALLOW_COPY_AND_ASSIGN(MozcConnection);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from unix/fcitx5/mozc_engine.cc:37:
./unix/fcitx5/mozc_response_parser.h:83:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   83 |   DISALLOW_COPY_AND_ASSIGN(MozcResponseParser);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
unix/fcitx5/mozc_engine.cc:93:37: error: 'arraysize' was not declared in this scope
   93 | const size_t kNumCompositionModes = arraysize(kPropCompositionModes);
      |                                     ^~~~~~~~~
unix/fcitx5/mozc_engine.cc:116:51: error: non-constant condition for static assertion
  116 | static_assert(mozc::commands::NUM_OF_COMPOSITIONS == kNumCompositionModes,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
INFO: Elapsed time: 79.201s, Critical Path: 17.62s
INFO: 450 processes: 31 internal, 419 linux-sandbox.
FAILED: Build did NOT complete successfully

Additional context
I'm actually building this via a PKGBUILD so there's a small chance the commands I wrote above may need to be slightly different.

Just came to report that b59e370218001ec8cd75fcab2c23a8967f9f1e50 fixes the issue, thanks for the very fast response.


yii\rest\ActiveController ignores Accept-encoding: gzip when Accept: application/xml

i was building a rest api (hopefully) following the guide.
https://<foo>/device gives the 'index'-action. comparing the two requests:
curl -i https://<foo>/device -H "Accept-encoding: gzip" -H "Accept:application/json"
curl -i https://<foo>/device -H "Accept-encoding: gzip" -H "Accept:application/xml"

gives gzipped json, but uncompressed xml.
can anyone reproduce this?

In fact I have the same problem but in my case XML is compressed while JSON is not. Using Yii 2.0.8
Please help!

can you provide more info about the server environment? gzip is not handled by yii but by the webserver.

Wow! Thank you for responding and pointing me to the right direction!
I fixed the Apache configuration and it now works just fine.
Thank you very much!
M

On 26 May 2016, at 23:55, Carsten Brandt<EMAIL_ADDRESS>wrote:
can you provide more info about the server environment? gzip is not handled by yii but by the webserver.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/yiisoft/yii2/issues/8331#issuecomment-222006324

Marcos solution: http://www.yiiframework.com/forum/index.php/topic/71032-rest-api-returning-compressed-xml-but-not-json/page__pid__299932


Resources corrupted after decode/build cycle, rebuilt app force-closes

A very simple app fails to start after decode/build cycle. No errors displayed by apktool. App installs correctly but force-closes on start.
Apktool: v2.0.0
Source app: https://f-droid.org/repository/browse/?fdid=makeinfo.com.getid (v1.0)
Logcat: http://pastebin.com/bH3QYEXK
Exception chain overview:
java.lang.RuntimeException: Unable to start activity ComponentInfo{makeinfo.com.getid/makeinfo.com.getid.MainActivity}
    Caused by: android.view.InflateException: Binary XML file line #46: Error inflating class android.widget.ImageView
    Caused by: java.lang.reflect.InvocationTargetException
    Caused by: android.content.res.Resources$NotFoundException: File res/drawable/makeinfoapps from drawable resource ID #0x7f020036
    Caused by: java.io.FileNotFoundException: res/drawable/makeinfoapps

Workaround: use the --no-res option on decode.
Also tried: --keep-broken-res but does not work, the decoded output directory does not change with this option.
Maybe duplicate of: https://github.com/iBotPeaches/Apktool/issues/967
Thanks!

more info
in the source app there is a jpeg file named:

res/drawable/makeinfoapps

just dropping this file in place in the rebuilt app makes it work.

ibotpeaches@raganok:~/Downloads/Apktool/Bug969$ unzip -l makeinfo.com.getid_1.apk | grep 'res/drawable/makeinfoapps'
    22756  2015-03-21 11:02   res/drawable/makeinfoapps
ibotpeaches@raganok:~/Downloads/Apktool/Bug969$ cd makeinfo.com.getid_1/dist
ibotpeaches@raganok:~/Downloads/Apktool/Bug969/makeinfo.com.getid_1/dist$ unzip -l makeinfo.com.getid_1.apk | grep 'res/drawable/makeinfoapps'
    22756  2015-06-03 22:50   res/drawable/makeinfoapps

Looks like this was fixed here: https://github.com/iBotPeaches/Apktool/commit/8254764c6c10b42f2db7d408ae32de7d7bdf082a

i suppose dist/makeinfo.com.getid_1.apk must be a rebuid. ok, so thanks for the fast turnaround!


Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure com.maxdemarzi.decision_tree.create: Caused by: java.lang.NullPointerException

Got error while running below query..
CALL com.maxdemarzi.decision_tree.create('credit', '/path/to/neo4j-community-3.5.3_dev/import/data.csv', '/path/to/neo4j-community-3.5.3_dev/import/answer.csv', 0.02)
Error : Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure com.maxdemarzi.decision_tree.create: Caused by: java.lang.NullPointerException
I have checked log, nothing is being printed.
Version: | 3.5.3
Edition: | Community
Please help.
Thanks

This error most likely results from using the wrong path to your csv files.
Although it should normally be printed into the debug.log (not the neo4j.log!).
Using a linux (aws) system my path was:
/home/ec2-user/path_to_your_neo4j_folder/import/training.csv


fix loading race condition

We have a race condition when loading html and js into the iframe.

I hit this pretty frequently.

done: https://github.com/dart-lang/dart-pad/pull/102


virtcontainers: add support for plugins

Add support for dynamically adding external virtcontainers interface implementations.  This allows for a clean way to allow for proprietary kata runtime extensions.
Suggest that we leverage golang's plugin package.
Plugins to call into the virtcontainers plugin API (RegisterPlugin())
Potentially supported plugin types:

Hypervisors
Metadata backend (For storing/fetching Kata runtime’s metadata)
VM caching/cloning

Existing implementations (for example hypervisors) will be registered as plugins but still built-in, while external plugin implementations will be presented as dynamic libraries.
Let's use this issue to define the API.  This issue can be closed once the design is documented and plugin framework is merged.

ref: https://github.com/kata-containers/documentation/pull/27 on section Plugin framework for external proprietary Kata runtime extensions.
We might want to split it into three sub-issues one for each plugin types.


indexer-cli, indexer-common: Introduce the --first CLI option

This PRs allows the Action resolver to limit the number of records returned by the query.
indexer-cli can impose that limit with the --first option:

--first will return only the first record
--first 10 will return the first 10 records
returns all records when omitted.

The actions get command fails with this message for all possible invocations involving --first
✖ [GraphQL] Variable "$first" expected value of type "Integer" which cannot be used as an input type.

Working as expected now

I'll rebase to tidy up commit history.


Open external pdf link

How to open external link pdf? Sometimes, the server not provide internal PDF

You need to stream it via a server that support to remove cors, like simple php readfile(), then pass it into the pdf files parameter on the js


Add validations for donations

If a donor forgets to add their email, donation still goes through, but need to require their email to provide a receipt copy for their tax filings. Nonprofit requirement.

(☞ﾟ∀ﾟ)☞

Thanks @superscott! /cc @cenderin @gxespino

Form validation is fixed, should open additional issues or whatnot for the fixes for https://github.com/OperationCode/operationcode/blob/master/app/models/donation.rb#L4-L6

This commit 554c594 fixes this issue.


Windows 9x support?

It would be nice to have an up to date browser for 98 or ME (I don't really know how feasible this is though), without using kernel extensions. Supermium would probably launch on these systems with KernelEx once it's ported to 2000 SP0 but it'd likely be pretty unstable - KernelEx hasn't really been updated in the past decade or so except for once in 2019.

Supermium and its associated progwrp component are built with the Visual C++ 2022 compiler. Stuff built with it doesn't work out of the box on 9x.
For example, I had a small application that only used win32 API and not the CRT. It used only ANSI functions and only imported functions that I specified in the source. I compiled it with VC++ 2022 and it didn't run on Windows 95. I took the same code, without modification, and it compiled and ran on Windows 95, using VC++ 6. I believe there's something the 9x PE loaders take issue with, but I haven't looked further into it.
And this doesn't even take into account that Unicows (progwrp in this case) would have to be radically expanded to cover the widespread usage of Unicode APIs in Chromium.
I'm not even sure if anyone has even been able to run any Chromium browser with KernelEx before.

I'm not even sure if anyone has even been able to run any Chromium browser with KernelEx before.

I've heard Chrome 1.0 kind of works, although not well (crashes within a few seconds?), but from the rest of the stuff mentioned it seems like porting Supermium to Win9x would be a huge pain. I'll definitely look into running the XP and/or 2000 compatible versions under 9x with KernelEx though.

Actually, you meant Chrome 5. Here's the link also of someone getting it to work:
https://msfn.org/board/topic/181424-firefox-24-52-for-me-and-98/?do=findComment&comment=1205840

Hmm, this suggestion went dead quick than I thought, but I am still curious, @win32ss, is it actually possible to make Supermium run on 9x (with KernelEx, of course)?

I know that this is just pointless, but there could be a chance for Superfox to work on 98 and it's going to be slow anyway

I attempted to run Supermium 122 on Windows 98 SE (with KernelEx). It did actually try to launch, complained about a missing API though.
Obviously non KernelEx'd 98/ME isn't really going to be reasonable, but it does seem like it could at least be possible to have Supermium working on 9x with KernelEx even if it's not officially supported. Performance would probably be
Not Great™ because of just how old and slow any system running 9x has to be (oh and no multi-core OR hyper-threading), but it'd at least probably be faster than other browsers (+ modern site support)

it launched for me but could not load any page
On Thu, Mar 21, 2024 at 7:33 PM LagLife @.***> wrote:

I attempted to run Supermium 122 on Windows 98 SE (with KernelEx). It did
actually try to launch, complained about a missing API though.
Obviously non KernelEx'd 98/ME isn't really going to be reasonable, but it
does seem like it could at least be possible to have Supermium working on
9x with KernelEx even if it's not officially supported. Performance would
probably be
Not Great™ because of just how old and slow any system running 9x has to
be (oh and no multi-core OR hyper-threading), but it'd at least probably be
faster than other browsers (+ modern site support)
—
Reply to this email directly, view it on GitHub
https://github.com/win32ss/supermium/issues/142#issuecomment-2014203282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBKBO2O47LW7TKKXSYDCC6DYZOJ7XAVCNFSM6AAAAABBJPNH6GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJUGIYDGMRYGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

it launched for me but could not load any page
…
On Thu, Mar 21, 2024 at 7:33 PM LagLife @.> wrote: I attempted to run Supermium 122 on Windows 98 SE (with KernelEx). It did actually try to launch, complained about a missing API though. Obviously non KernelEx'd 98/ME isn't really going to be reasonable, but it does seem like it could at least be possible to have Supermium working on 9x with KernelEx even if it's not officially supported. Performance would probably be Not Great™ because of just how old and slow any system running 9x has to be (oh and no multi-core OR hyper-threading), but it'd at least probably be faster than other browsers (+ modern site support) — Reply to this email directly, view it on GitHub <#142 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBKBO2O47LW7TKKXSYDCC6DYZOJ7XAVCNFSM6AAAAABBJPNH6GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJUGIYDGMRYGI . You are receiving this because you are subscribed to this thread.Message ID: @.>

Can you provide screenshots of it? In all my testing, I could never get the browser to open.


Error: Kerberos library is not installed

Hello Christian.
I am currently working on a project which requires me to implement connection to MongoDB via different authentication services. I have decided to use "mongodb-core" and "kerberos" modules to integrate this functionality.
I am very thankful to you for these modules, they were of much help to me while developing handling of different connections.

However, I experience following error trying to setup Kerberos connection to MongoDB:
Error: Kerberos library is not installed
I tracked this error to be happening in this place (mongodb-core\lib\auth\gsapi.js):
try {
    Kerberos = require_optional('kerberos').Kerberos;
    // Authentication process for Mongo
    MongoAuthProcess = require_optional('kerberos').processes.MongoAuthProcess
}

Here are the connection params I use:
Connection URI:
mongodb://steve%252Fadmin%2540EXAMPLE.COM:123@server.example.com:27017/?slaveOk=true&gssapiServiceName=mongodb&authMechanism=GSSAPI
Connection Options:
{
     uri_decode_auth: true,
     db: { readPreference: 'secondaryPreferred' },
     replSet: { connectWithNoPrimary: true }
 }

I am using:
"mongodb": "2.2.5",
"mongodb-core": "2.0.7"
"kerberos": "0.0.21"
As for the Kerberos infrastructure, I have it all set up and I am able to connect to mongod through mongo shell and $external authentication.
Could you please point to what I am possibly doing wrong?
Thanks,
Edik.

That means the kerberos library is not available. You need to add the kerberos library to your package.json and install it. If you see no compilation issues then you won't have any problems.
However if you are on windows you will need to set up a windows 64 bit sdk and compiler tool chain.

Thanks for the tip. I have installed kerberos library with npm into my project, but it didn't help. Here's installation log I have (I am trying it on Ubuntu):
><EMAIL_ADDRESS>install /home/eduard/Develop/binary-studio/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entering directory `/home/eduard/Develop/binary-studio/node_modules/kerberos/build'
  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
../lib/kerberosgss.c:36:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic push
 ^
../lib/kerberosgss.c:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
 ^
../lib/kerberosgss.c: In function ‘authenticate_gss_client_wrap’:
../lib/kerberosgss.c:446:19: warning: variable ‘server_conf_flags’ set but not used [-Wunused-but-set-variable]
   char buf[4096], server_conf_flags;
                   ^
../lib/kerberosgss.c: At top level:
../lib/kerberosgss.c:1236:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic pop
 ^
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/obj.target/kerberos.node
  COPY Release/kerberos.node
make: Leaving directory `/home/eduard/Develop/binary-studio/node_modules/kerberos/build'
<EMAIL_ADDRESS>/home/eduard/Develop/binary-studio
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>
After this installation the error persists.

Hi, again! Maybe  you have any idea how to resolve this issue?

can you post the
ls -la node_modules

I just set up a test project and cannot reproduce this issue I'm adding the file I'm using (you will have to change your own credentials obviously and supply your own ops since this is against an internal test system).
Archive.zip

Thanks a lot for an answer, it was helpful for me to find a problem.
Actually, the Kerberos was installed on my PC and was working fine.
It was an error related to different NodeJS versions used by npm modules. That’s why it couldn’t find the right way to Kerberos inside modules. The electron-rebuild resolved this issue.
Many thanks again.

no problem

Somebody may find this helpful:
I recently experienced the same issue. Mongodb-core hides the error when the kerberos module's version is higher than the required dependency version. In my case 0.0.24 was installed but:
Error: optional dependency [kerberos] found but version [0.0.24] did not satisfy constraint [^0.0.23]
Once I downgraded the version, everything worked fine. More details on Stack Overflow.

@polkhovsky Thank you for bring this up. I created NODE-1523 to track this issue.


Refactor explorer client API calls to use S3 URI

Need

Explorer needs to access API using S3 URI's instead of dataset id

Approach

Tweak doInitialDataload to make metadata API request to fetch S3 URI using dataset id

/{data_root}/{dataset_uuid}/api/v0.3/s3_uri

Store URI to be used in API requests in place of dataset ID

/s3_uri/{s3_uri}/api/v0.3/

Notes

This will most likely require an rdev instance for development and testing
URI contains slashes, make sure to convert to URL safe slashes

Trent Smith  3:36 PM
so the s3 uri returned from GET /d/pbmc3k.h5ad/api/v0.3/s3_uri must be encoded twice.
3:37
so. this
/Users/trentsmith/workspace/test-single-cell-explorer/single-cell-explorer/example-dataset/pbmc3k.h5ad
needs to become  this
%252FUsers%252Ftrentsmith%252Fworkspace%252Ftest-single-cell-explorer%252Fsingle-cell-explorer%252Fexample-dataset%252Fpbmc3k.h5ad (edited)
3:39
I would add that in as a comment somewhere in the frontend code with the reason “must be double quoted so ‘/’ are not decoded early by flask WSGI.”


How to upload a big picture？

Our server allows you to upload pictures in 2M，
If the picture is more than 2M，I have to divide the picture into less than 2M, and then upload them together.
How should I？Please give a solution，Thank you

Hi @Youziyue ,
General usage and support questions are better suited for Stack Overflow. That allows us to stay focused on bug fixing and feature request here on Github. Please direct your query there.
:beers:
--
From our Contribution Guidelines:
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


Enhance experimental metrics CLI

Expand the basic CLI support for a dashboard to enable more features, such as service selection, response code filtering, etc.
[ X ] Policies and Telemetry

Hi @douglas-reid , I am interested in this feature, maybe I can do it, are there any design drafts or docs?

@kebe7jun awesome!  we don't have any specific docs, only vague ideas. I'd like to really add a bunch more functionality to the CLI dash.
Some rough ideas:

Support canonical services (as opposed to / in addition to k8s)
Support pairwise metrics between canonical services
Allowing filtering by clusters (multicluster)
Show inter-cluster traffic
Filtering by different dimensions
Sketch rough service graphs from metrics

I'd be excited to collaborate on an RFC doc on the work with you. I also may be able to identify help in implementation, if we get this started.

Sounds great!
But I haven't tried the feature development of istio before. I'm afraid I can't complete the RFC doc well. I can try to implement some of the features after the RFC docs completed.  : (

@esnible for visibility

@kebe7jun here's a draft RFC to kick start the design: https://docs.google.com/document/d/1tIllaE3k59yvzR8S6Brejp5GS5EnOraR3hMMmTxXtjQ/edit#

/assign

Not Stale.

Hi 👋, I have read through the RFC and would like to implement this. Is this still active and needed?

@ChristophBleyer this is still active, and would be a nice-to-have feature. if you would like to work on it, i'd be happy to help review / answer questions.

/assign

@obaranov1 we would welcome any work here!

Hi @douglas-reid. Is there anyway I can help here?

hey @douglas-reid, if its still not done yet I wd like to give a hand on it

hey @douglas-reid ,i would like to work on this issue


fix(sec): upgrade certifi to 2022.12.07

What happened？
There are 1 security vulnerabilities found in certifi 2020.12.5

CVE-2022-23491

What did I do？
Upgrade certifi from 2020.12.5 to 2022.12.07 for vulnerability fix
What did you expect to happen？
Ideally, no insecure libs should be used.
How can we automate the detection of these types of issues?
By using the GitHub Actions configurations provided by murphysec, we can conduct automatic code security checks in our CI pipeline.
The specification of the pull request
PR Specification from OSCS

Hello,
We are not impacted by this CVE.
We can update but there is no impact on Traefik.


fortiosapi ssh implementation

Good day!
Let's discuss the destiny of the following method:
https://github.com/fortinet-solutions-cse/fortiosapi/blob/de593924f2b1018f1bfc85d4487858bdb676ebfc/fortiosapi/fortiosapi.py#L663-L667
Could you clarify me the purpose for Deprecated comment in this method? Does it state the method is no longer supported?
The reason for the clarification is the bug in this method, so I really do not know what to do...

Intent is to remove this call entirely, it remains to not break previous usage. Direct access to ssh using pexect or paramiko should be prefered.
You can see an example of pexpect with fortios in the tests folder of this project.
Is there any usage that absolutely require this call in an api library ??

Thank you for reply!
Sounds sadly if the method is no longer maintained. Could you give me a piece of advice on how do you do diagnostics on your FortiGate using automation tools such as Ansible?
Do you really use expect for these tasks?
To my mind the tool such as expect is powerful tool but in the very noose way. It's the last tool I would use for automation because it's difficult to say that expect is scalable tool. Just consider the examples below to upload new firmware (using SSH because of old FortiOS version).
I think there could be two ways if automation is really matters for Fortinet devices. Two ways to let your partners do complicated diagnostics in order to obtain a state of the device...
The first way -- SSH method should be alive and should be developed and fixed for known bugs.
The second way -- let make HTTP API calls in order to execute get, diagnose, show, execute (just diagnostics commands such as execute ping, get router info routing-table database) commands in order to understand the state of the device.
Could you say what actually do you think about it?
SSH script
fortiosconfig:
  action: "ssh"
  host:  "{{ host }}"
  username: "{{ username }}"
  password: "{{ password }}"
  commands: |
    config global
    exec restore image tftp {{ images }}/{{ firmware_filename }} {{ tftp_server }}

Expect script
  shell: |
     set timeout 10
     spawn ssh -o StrictHostKeyChecking=no {{ login }}@{{ ip }}
     sleep 2
     expect "password:"
     send "{{ password }}\r"
     expect "#"
     sleep 10
     expect "#"
     send "\r"
     expect "#"
     send "config global\r"
     expect "#"
     send "exec restore image tftp {{ images }}/{{ firmware_filename }} {{ tftp_server }}\r"
     expect "(y/n)" {
        send "y"
     }
     set timeout 200
     expect {
       "(y/n)" {
         send "y"
       }
       "closed." {
         exit(0)
       }
     }
     expect "closed." {
       exit(0)
     }
     exit(1)

The recommended method by far is the API calls only, you should not use cli in a programatic way it is a receipt for troubles when calls fails.
You should reach to your Fortinet representative. If you want to enhance and maintain this code by my guest, I no longer work with fortigate devices

I couldn't agree more about the fact the API calls is preferable way to do automation tasks, butt....
I think you understand the reason why engineers try to use SSH for automation -- just because most vendors do not develop API calls so fast and good as they develop Shell management. That's really problem to my mind.
But either way as I see you have no desire for fixing bugs at least in SSH method... Maybe that's the reason you want to remove this method from the project. I as well as my team think the method should be exist until Fortinet plucks up the courage and does implement API in better way.
So I have an implementation of SSH method using Fabric pip module. This implementation is easy enough from the code perspective and it do the job well enough: a bit slower than paramiko, but works without bugs I see in paramiko implementation.
I think there is a sense to make a pull request to allow engineers do SSH automation. What do you think?
The implementation looks in the following way:
from fabric import Connection  # the replacement for paramiko
...

    @staticmethod
    def ssh(cmds, host, user, password=None, port=22):
        """
        Send a multi line string via ssh to the fortigate

        :param cmds: multi line string with the Fortigate config cli
        :param host: ip/hostname of the fortigate interface
        :param user/password: fortigate admin user and password
        :param port: port 22 if not set or a port on which fortigate listen for ssh commands.
        :return:
            The output of the console commands and raise exception if failed
        """
        ssh_connection = Connection(host=host, port=port, user=user,
                                    connect_kwargs={'password': password})
        #
        ssh_result = ssh_connection.run(cmds)
        error_list = [
            "Unknown action 0",
            "Command fail",
            "Return code 1"
        ]

        search_errors = [ error in ssh_result.stdout for error in error_list ]
        ssh_connection.close()

        # var['meta']['err'] is True if there were errors during execution
        return (ssh_result.stdout, any(search_errors))


to_world bug with vbox and hbox

Using to_world when point picking gives incorrect results in the second scene of a vbox or hbox. MWE:
using Makie

scene1 = Scene(limits=FRect(0, 0, 1, 1))
scene2 = Scene(limits=FRect(0, 0, 1, 1))

scatter!(scene1, [0.1], [0.1])
scatter!(scene2, [0.2], [0.2])

function point_picker(scene)
    on(events(scene).mousebuttons) do buttons
        if ispressed(scene, Mouse.left)
            plot, index = mouse_selection(scene)
        end

        @show to_world(scene, Point2f0(scene.events.mouseposition[]))

        return
    end
end

point_picker(scene1)
point_picker(scene2)

scene = vbox(scene1, scene2)

Picking in the right (for a vbox) or top (for hbox) scene gives results as if they were for the first scene that extended all the way over.

Defining scene = vbox(scene1, scene2) and doing point_picker(scene) instead also produces incorrect results.

Are the results always the same for both of the Scenes?

No, the left-hand scene in a vbox behaves correctly; the right-hand scene has one coordinate incorrect.

Does this work for you:
using Makie
using AbstractPlotting: is_mouseinside
scene1 = Scene(limits=FRect(0, 0, 1, 1))
scene2 = Scene(limits=FRect(0, 0, 1, 1))

scatter!(scene1, [0.1], [0.1])
scatter!(scene2, [0.5], [0.5])

function point_picker(scene)
    on(events(scene).mousebuttons) do buttons
        if ispressed(scene, Mouse.left)
            plot, index = mouse_selection(scene)
        end
        if is_mouseinside(scene)
            @show mouseposition(scene)
        end
        return
    end
end

point_picker(scene1)
point_picker(scene2)

scene = vbox(scene1, scene2)

?

Yes, that seems to work -- thanks a lot!


indexing data from multiple collections in ES

So, I have one mongodb database  with multiple collections, and according to documentation of mongoconnector database from mongo is index in Elasticsearch, and collection is type, but since 6 version ES not support more than 2 types in one index, so, how I can to create index manually?

solved, just add config.json
{
  "namespaces": {
    "include": ["picstories.comics", "picstories.pages"],
    "mapping":
    {
      "picstories.comics": "picstories_comics.comic",
      "picstories.pages" : "picstories_pages.comic_pages"
    }
  }
}


HRD account can manage other accounts?

Exygy's work in https://github.com/bloom-housing/bloom/discussions/1570 should actually fix this for us.

I believe this works with an admin account


Done Indicators

Is there anyway to format the done "dot" the same as the undone dots in a circle?

Not sure I understand what you want, currently you have:

full dot for done steps
half-full dot for current step
nothing for future steps

Can you explain please?


Chapters in the wrong order

Dependency Property Callbacks and Validation
should come after
Custom Dependency Properties and Dependency Property Metadata
because they are pre-requisites

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

ID: 15668773-6fed-832f-e5a2-e13244d0a0ce
Version Independent ID: b83db9fb-6623-9d35-ac43-ae064e0d55b4
Content: Properties (WPF)
Content Source: docs/framework/wpf/advanced/properties-wpf.md
Product: dotnet-framework
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

@Potapy4
👍


Syringe UI doesn't update on volume draw changes

Description

When swapping between volume toggles, the inhand ui (Draw _u) does not update.
When changing the volume of the syringe, the UI does not update.
Reproduction

Follow description.
Additional context

I have a feeling this might also effect similar items like the dropper, but was not able to test at the time.

Fixed by #26596


Add something that makes it really easy to apply partial border radius

I always forget the syntax for applying rounded corners to say top left and top right, so maybe a mixin where you can just use plain English to say what you want?
border-bottom-right-radius
border-bottom-left-radius
border-top-right-radius
border-top-left-radius

After giving this more thought I don't think there is much value in this but happy to be persuaded otherwise.


Error: Calendar invite attachment

When parsing emails with .ical and other attachments, we get a file called undefined as if it did not have a name - this requires investigation

Wrong place.


Firebase Messaging to work with a non-default FIRApp

[READ] Guidelines
For large or ambiguous requests, such as significant breaking changes or use
cases that could be addressed by multiple different features, consider instead
starting a
Pitch
discussion for ideas that you'd like to discuss with the Firebase community to
flush out.
When filing a feature request please make sure the issue title starts with "FR:".
A good feature request ideally

is either immediately obvious (i.e. "Add Sign in with Apple support"), or
starts with a use case that is not achievable with the existing Firebase API and
includes an API proposal that would make the use case possible. The proposed API
change does not need to be very specific.

Once you've read this section, please delete it and fill out the rest of the template.
Feature proposal

Firebase Component: Messaging

Firebase supports creating multiple instances of its core component - FIRApp. Currently, Firebase Messaging on iOS works with the default FIRApp only. Thus there is no way to make an iOS app receive push notifications from a different source than its main Firebase project. At the same time, Firebase Messaging supports working with non-default FIRApp instances on Android.
When will Firebase Messaging support non-default FIRApp instances on iOS?

Thank you for filing this. This effort has not been prioritized yet. Please upvote if you want this feature.

Hi, is there any progress regarding this issue?


Add support for attribute autocomplete

Hello,
I just started with your project and am enjoying it.  Thank you.
When I add the attribute autocomplete it does not work correctly.
<InputControl autocomplete="street-address" name="address_1" label="Address" />

Chakra Ui does work.
<Input autocomplete="street-address" />

Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

I reread the docs and figured out my syntax error.  Thanks again for the library.
 <InputControl
                name="address_1"
                inputProps={{ autoComplete: "street-address" }}
              />


⚠ Bofrost.fr has degraded performance

In 53c5d63, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1607 ms

Resolved: Bofrost.fr performance has improved in 1b2f79c after 10 minutes.


No license specified for project

There is no license file to be found for project. I'd like to fork/contribute depending on what the license the project is supposed to have.

Choosing a license, the bane of my existence. Guess it's going to be MIT.

Thank you =)


Use Playground 1.3.10

@timsuchanek needs to first release the latest express middleware

@schickling I see. I guess I am just eager to get 1.3.10 in Yoga, since we're using Yoga for our project, and I really need that history and header persistence feature that got broken some time ago. :)

Fixed in 0.4.4 🎉


Do proper calculations and show proper graphs

The system should do correct calculations and show the corresponding graphs.
See 4: https://github.com/vladislavivanistsev/SuperCap/wiki/_Functional requirements
Estimated 40 man-hours.
Related use cases:
(https://github.com/vladislavivanistsev/SuperCap/wiki/_Detailed-Functional-requirements#use-case-drawing-graph-from-input)
(https://github.com/vladislavivanistsev/SuperCap/wiki/_Use-Case:-Drawing-a-single-graph-from-user-input)

Estimated 40 man-hours.

Mostly done, needs testing with the client.


Hosted Service w/MediatR memory issue(s)

So I've been working on this for about a week or so and it's driving me mad. I have a hosted service which runs background services that check a database. Those calls are through MediatR and then into ef core. I noticed my container would flip on aws once in a while, so reduced the timing of my service calls to the db (1ms), and yep, running out of memory. I started to debug if the issue was Lamar (my IoC container) and it appears it is not. I've tried all the configurations I can possibly mess with and I'm having no luck. My latest path has lead me to believe it's an issue with MediatR and how it spins up DbContext's.
For context here's my application's flow:
Startup->HostedService.StartAsync()->ServiceWorker()->Run 2 Services->
-->Service1.ExecuteAsync()->MediatR.Send()->Handler->db.Query().ToListAsync()
-->Service2.ExecuteAsync()->MediatR.Send()->Handler->db.Query().ToListAsync()
Libraries I'm using
.Net Core 3.1
EF Core 2.21 (tried, 3.x, saw same issues)
MediatR 8.0.0
MediatR.Microsoft.DependencyInjection (8.0.0)
Lamar (4.1.0) (used to be StructureMap)
Lamar.Microsoft.DependencyInjection (4.1.0)
Contoso test script/database
Startup
        public static async Task Main(string[] args)
        {
            try
            {
                var host = new HostBuilder()
                    .UseLamar<LamarRegistry>()
                    .ConfigureHostConfiguration(configHost =>
                    {
                        configHost.SetBasePath(Directory.GetCurrentDirectory());
                        configHost.AddJsonFile("hostsettings.json", optional: true);
                        configHost.AddEnvironmentVariables();
                        configHost.AddCommandLine(args);
                    })
                    .ConfigureAppConfiguration((hostContext, configApp) =>
                    {
                        configApp.AddEnvironmentVariables();
                        configApp.AddCommandLine(args);
                        configApp.AddUserSecrets<Program>(false);
                    })
                    .ConfigureServices((hostContext, services) =>
                    {
                        var conn = hostContext.Configuration["DB_CONN"];
                        var dbPassword = hostContext.Configuration["DB_PASSWORD"];

                        var builder = new SqlConnectionStringBuilder(conn)
                        {
                            Password = dbPassword
                        };

                        services.AddDbContext<ContosoContext>(ctx => ctx.UseSqlServer(builder.ConnectionString), ServiceLifetime.Transient);

                        // MediatR
                        services.AddMediatR(cfg => cfg.AsTransient(), Assembly.GetExecutingAssembly());
                        services.AddHostedService<ServiceWorker>();
                    })
                    .UseConsoleLifetime()
                    .Build();

                await host.RunAsync();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"CRITICAL - Task Main():{ex.ToString()}");
            }
        }

Registry
    public class LamarRegistry : ServiceRegistry
    {
        public LamarRegistry()
        {
            Scan(_ =>
            {
                _.WithDefaultConventions();
                _.TheCallingAssembly();
                _.AssemblyContainingType<ContosoContext>();

                // MediatR
                _.ConnectImplementationsToTypesClosing(typeof(IRequestHandler<,>));
                _.ConnectImplementationsToTypesClosing(typeof(IRequestHandler<>));
                _.ConnectImplementationsToTypesClosing(typeof(INotificationHandler<>));
            });

            For<ContosoContext>().Use<ContosoContext>().Transient();

            // MediatR
            For<IMediator>().Use<Mediator>().Transient();

            Policies.SetAllProperties(y => y.OfType<ContosoContext>());
            Policies.SetAllProperties(y => y.OfType<IHostEnvironment>());
            Policies.SetAllProperties(y => y.OfType<IConfiguration>());
            Policies.SetAllProperties(y => y.OfType<IContainer>());
            Policies.SetAllProperties(y => y.OfType<IServiceProvider>());

            // MediatR
            Policies.SetAllProperties(y => y.OfType<IMediator>());
        }
    }

ServiceWorker
        public Task StartAsync(CancellationToken cancellationToken)
        {
            var svc1 = _container.GetInstance<Service1>();
            var svc2 = _container.GetInstance<Service2>();

            Task.Run(async () => await svc1.ExecuteAsync(cancellationToken));
            Task.Run(async () => await svc2.ExecuteAsync(cancellationToken));

            return Task.CompletedTask;
        }

Service1 & 2 are similar, they just call different Message/Handlers
    public class Service1 : BaseJob, IAsyncJob
    {
        public async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            while (!cancellationToken.IsCancellationRequested)
            {
                var items = await _mediator.Send(new GetCourses());

                Console.WriteLine($"Hello from {GetType().Name}, ItemCount: {items.Count()}");

                await Task.Delay(TimeSpan.FromMilliseconds(1));
            }
        }
    }

Messages/Handlers - I try using IContainer (scoped/transient) and setter injected IContainer setter injected DbContext as well as injection via constructor. Below is how I normally use it with GetCourses - setter injection in base class with DbContext
    public class Handler
    {
        public class GetByItemsHandler : HandlerBase, IRequestHandler<GetCourses, IEnumerable<Course>>
        {
            public async Task<IEnumerable<Course>> Handle(GetCourses message, CancellationToken cancellationToken)
            {
                return await _db.Courses.ToListAsync();
            }
        }

        public class GetStudentGradesHandler : HandlerBase, IRequestHandler<GetStudentGrades, IEnumerable<StudentGrade>>
        {
            public async Task<IEnumerable<StudentGrade>> Handle(GetStudentGrades message, CancellationToken cancellationToken)
            {
                //return await _db.StudentGrades.ToListAsync();

                using (var scope = _services.CreateScope())
                {
                    var db = scope.ServiceProvider.GetRequiredService<ContosoContext>();

                    return await db.StudentGrades.ToListAsync();
                }
            }
        }
    }

    public class GetCourses : IRequest<IEnumerable<Course>>
    {
        public GetCourses()
        {
        }
    }

    public class GetStudentGrades : IRequest<IEnumerable<StudentGrade>>
    {
        public GetStudentGrades()
        {
        }
    }

HandlerBase, all are set by setter injection
    public abstract class HandlerBase
    {
        public IServiceProvider _services { get; set; }
        public IContainer _container { get; set; }
        public ContosoContext _db { get; set; }
        public IMediator _mediator { get; set; }
    }

Memory on aws (ecs/docker) each peak is a container roll-over:

Memory in VS2019

Memory details

Example- clone/run this. You will need to add a secrets file, example below

https://github.com/stevestokes/hosted-service-test

{
  "DB_CONN": "Server=your-db;Database=Contoso;User Id=your-db-user",
  "DB_PASSWORD": "your-password"
}

Sooooo, questions.

Does my config look ok? I have everything set to transient where I can (dbcontext, mediatr, lamar)
Do I need to specify that the dbcontext is transient anywhere else, or invoke it some other way?

I came into this issue when I went from .Net core 2.1 to 3.x. I have a previous service based on that stack running fine, using a similar setup .net core 2.1/ef core 2.x/strcuturemap/mediatr.

@lilasquared - I switched to StructureMap and kept everything the same, no issues. It does look like there is an issue with Lamar and Nested Containers. Closing this one, thanks a bunch!


Fix for IE11 - don't use destructuring assign

Doesn't work in IE11 due to this line in scatter.js:
const {float32, fract32} = require('to-float32')
Fix (remove destructing assignment):
const to_float32 = require('to-float32')
const float32 = to_float32.float32
const fract32 = to_float32.fract32

I am also having this issue, can this not be implemented?

Should be fixed with 3.0.6


add factorial to token types

Missed in #63, we need to add factorial to the token types.

This was required to resolve in scope of #61 .

This was required to resolve in scope of #61 .


Convert Node to a concrete class.

Converts Node from an interface to a concrete class. At the moment only a couple of its properties are mutable, but longer term all of them will be.

Oh you say that in the PR description 🤦


SyntaxError: invalid syntax. Perhaps you forgot a comma?

Summary
In latest version, new error introduced.
2024-06-24T18:31:52.264662694Z SyntaxError: invalid syntax. Perhaps you forgot a comma?
2024-06-24T18:31:53.303132972Z 2024-06-24.11:31:53 [STARTING] ** [traefik-cloudflare-companion] [51] Starting Traefik Cloudflare Companion
2024-06-24T18:31:53.318834335Z   File "/usr/sbin/cloudflare-companion", line 183
2024-06-24T18:31:53.318854618Z     u'proxied': domain_info['proxied']
2024-06-24T18:31:53.318859114Z                 ^^^^^^^^^^^^^^^^^^^^^^

Steps to reproduce

Install latest update on docker (docker container pull)
Start with new image
Check logs

What is the expected correct behavior?
No error, functionality restored.  Updates are still not working.
Relevant logs and/or screenshots
See above
Environment
docker on a privileged VM
Latest version of cf-companion

Image version / tag:  latest
Host OS: Linux myhost 5.15.0-112-generic #122-Ubuntu SMP Thu May 23 07:48:21 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Any logs | docker-compose.yml
services:
# Cloudflare-Companion - Automatic CNAME DNS Creation
  cf-companion:
    container_name: cf-companion
    image: tiredofit/traefik-cloudflare-companion:latest
    restart: always
    profiles: ["core", "security", "all"]
    networks:
      - socket_proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TIMEZONE=$TZ
      - TRAEFIK_VERSION=2
      - CF_TOKEN=$CLOUDFLARE_SUPER_API_KEY # Same as traefik
      - TARGET_DOMAIN=$DOMAINNAME_1
      - DOMAIN1=$DOMAINNAME_1
      - DOMAIN1_ZONE_ID=$CLOUDFLARE_ZONEID # Copy from Cloudflare Overview page
      - DOMAIN1_PROXIED=TRUE
    labels:
      # Add hosts specified in rules here to force cf-companion to create the CNAMEs
      # Since cf-companion creates CNAMEs based on host rules, this a workaround for non-docker/external apps
#      - "traefik.http.routers.cf-companion-rtr.rule=Host(`my-host.$DOMAINNAME_1`) || Host(`my-host.$DOMAINNAME_2`)"
      - "traefik.http.routers.cf-companion-rtr.rule=Host(`my-host.$DOMAINNAME_1`)"
      - "diun.enable=true"

ERROR:
SyntaxError: invalid syntax. Perhaps you forgot a comma?
2024-06-24.11:37:21 [STARTING] ** [traefik-cloudflare-companion] [68] Starting Traefik Cloudflare Companion
  File "/usr/sbin/cloudflare-companion", line 183
    u'proxied': domain_info['proxied']
                ^^^^^^^^^^^^^^^^^^^^^^

I tried both single domain and dual-domain configuration, as shown in the commented configuration code with same resulting error.
Possible fixes

Thanks for the report - Definitely a comma. 7.3.1 resolves and is building as I write this.

Thank you for fixing this.

I can confirm that 7.3.1 fixes this issue - however, the docker latest tag is still mapped to 7.3.0. Perhaps this was intentional? If so, please disregard. Thanks for fixing!

Hello,
I have a "simple" docker swarm 1 master & 1 worker. I am using the last Traefik Cloudflare companion (7.3.1) and I am also having a warning syntax error :
Image:  tiredofit/traefik-cloudflare-companion | Version  7.3.1 Type 'image_changelog' for details
2024-07-15.19:34:34 [STARTING] ** [traefik-cloudflare-companion] [1] Starting Traefik Cloudflare Companion
traefik_cloudflare-companion.1.9o47vn7at0oo@swarm-master
/usr/sbin/cloudflare-companion:289: SyntaxWarning: invalid escape sequence '.'
if re.match('traefik.?.rule', prop):
/usr/sbin/cloudflare-companion:322: SyntaxWarning: invalid escape sequence '.'
if re.match('traefik.?.rule', prop):
2024-07-15.19:34:34 [STARTING] ** [monitoring] [1] Starting Zabbix Agent (modern) 7.0.0
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/urllib3/connection.py", line 174, in _new_conn
conn = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/util/connection.py", line 72, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/socket.py", line 963, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -2] Name does not resolve
Thanks for your help

Hi, I'm seeing the same thing:
/usr/sbin/cloudflare-companion:289: SyntaxWarning: invalid escape sequence '\.'
  if re.match('traefik.*?\.rule', prop):
/usr/sbin/cloudflare-companion:322: SyntaxWarning: invalid escape sequence '\.'
  if re.match('traefik.*?\.rule', prop):
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 416, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.12/site-packages/urllib3/connection.py", line 244, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/lib/python3.12/http/client.py", line 1336, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.12/http/client.py", line 1382, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/usr/lib/python3.12/site-packages/docker/transport/unixconn.py", line 27, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

Is this a change in Traefik V3?

Seeing the same as above, also trying to use this with Traefik v3. I see there's an open PR that might resolve it?


domain activation not completed

Before opening, please confirm:

[X] I have checked the custom domains troubleshooting guide.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
No response
Region
No response
Step
domain activation
Status
not completed
Issue or question
i have a domain registered at godaddy and have added a cname record in the dns server but i only see one cname record. kindly assist me to get back to the cname configuration file to be added at the dns server to add the second cname record. i can not find it my aws dns management setting. if it is not the issue with completing the activation of the domain, help me verify.

Error message
No response
Additional information
No response

Hi @xenyinnaya you should be to find the DNS records that need to be added in the dropdown menu under Actions. Please let us know if you're still running into this problem.

Please re-open if you're still running into domain activation issues. Thank you!


Fix fd_fdstat_set_flags resetting offset

This commit fixes fd_fdstat_set_flags resetting the fd offset due to it reopening the file every time.  This fix gets the current offset before reopening and restore the offset with seek. This addresses https://github.com/tetratelabs/wazero/issues/1865.
NB: A couple of existing tests are actually spec'd wrong. To fix, I introduced addition Seek calls before checking removing append flag.

as you can see, unfortunately this is failing on Windows

Fixed!

thanks!

I see you force-pushed new changes, let me know when the PR is in a stable state @yagehu ! :)

I see you force-pushed new changes, let me know when the PR is in a stable state @yagehu ! :)

I'm done. Just a quick fix to avoid double IsDir calls. Thanks!


Java API

On the website, it is mentioned there is a Java API:

For experienced programmers we offer a variety of software libraries and function calls in almost all development languages: C#, Delphi, .net, C++, Python, Java and JavaScript.

I'm looking to use the AFU420-L62 from a Java backend (on Ubuntu 16.04) and I was wondering how I could get my hands on that Java API. Or maybe a simple JNI bridge class, that would be enough.
Any thoughts?

Hi
The text you quoted is related to MVTec Halcon Image Processing library, not to the code in the tiscamera repository.
Stefan

I see. I'll have to create one myself then.
Thanks for the reply.
b.

Hi

I see. I'll have to create one myself then.

Maybe https://github.com/gstreamer-java is a good start. So you can use our GStreamer modules to access the camera.

Yes, I've been using that with success, indeed.

OK, then we can close that issue. If you have any questions, please come back!
Stefan

Dear Stefan,
Could you please help me with a little thing I'm trying to accomplish with the Java Gstreamer API.
I've implemented this simple example that works great:
String cmd = "tcambin serial=01710176 name=src ! video/x-raw,width=1920,height=1080,framerate=20/1 ! videoconvert";
Bin bin = Bin.launch(cmd, true);

However, when I'm trying to get to the (manual) exposure property of the tcambin element as such:
Element tcamsrc = bin.getElementByName("src");
Logger.info(tcamsrc.get("Exposure"));

I'm getting an Unknown property: Exposure exception. I've found the Python example code in #134 .
When I try to list the properties of the src element as such:
Element tcamsrc = bin.getElementByName("src");
for (String prop : bin.listPropertyNames()) {
    Logger.info("Prop: " + prop);
}

I'm returned with the same properties that are exposed to gstreamer, eg. using gst-inspect-1.0:

name
parent
async-handling
message-forward

Could you hint me towards a way to get to the manual exposure property of the tcambin (or the lower level tcamsrc for that matter)?
best,
b.

As a side note: I'm aware the tcambin element is a wrapper for the lower level tcamsrc that has a tcamautoexposure element in the pipeline and I'm able to reproduce a pipeline where the settings of tcamautoexposure (including auto-exposure, exposure-min and exposure-max) are controllable.
However, I'm wondering how the single manual exposure value of the tcambin element is implemented with regards to the other three properties of tcamautoexposure and/or if they are tied together or not.

Hello B.
the "get" function you called does not handle properties. The following should do the job:
tcamsrc.get_tcam_property("Exposure");
That is the Python code. Analogue it is
tcamsrc.get_tcam_property("Exposure",3333));
for setting a value.
However, I am not sure, since I do not have JAVA installed.
Stefan

Thanks for your feedback. Since I'm using a general GStreamer Java api, I'm afraid I don't have the option of using a tcam-specific method call (the gstreamer-java project has nothing to do with TIS).
I know I'm being difficult here, trying to do it in Java, but could you point me to the implementation of get_tcam_property, so I can take a look what it does, internally, so I can maybe re-implement it with a Java call or maybe write a JNI wrapper for it?

Hi,
Since our property interface is based on gobject introspection my first approach would be the java specific language bindings. In your case something like JGIR.
I have no java experience so I cannot say if that project is usable.
Another approach could be to wrap tcamprop.so to basically create your own wrapper. How feasable that approach is I don't know.
The last thing that comes to mind is to go the ugly route and call tcam-ctrl through a subprocess. Something that can be used as a last resort.

Great, thanks for the options, I'll give it a try and let you know.

Please let me come back to this.
I've managed to port large parts of the C++ driver to Java using the JavaCPP project.
For now, I'm not using any GStreamer API, but I'm directly interfacing with the C++ library. Everything works okay, but I get random crashes when I try to do some work in ImageSink's callback code. It seems like the MemoryBuffer object (which I can read out just fine in Java) gets corrupted along the way, especially under heavy load.
Since I'm unfamiliar with the TIS driver, I'm digging through the code, but it would help me a lot if someone more experienced could shed a light on why this is happening. AFAIK, I'm not tampering with the MemoryBuffer object (or it's pointer), i'm just reading out the buffer data. It looks to be a synchronization issue, but I'm not sure.
Could you tell the me "best practice" what to do with the MemoryBuffer object in the sink_callback implementation? (I mean, locking, processing, timing, etc) It would help me a lot.

Hello
it can happen under heavy load , that you do not get complete images. The tiscamera modules should drop these incomplete frames, but sometimes, this may fail. Then you can get a segmentation fault.
Do you have an idea, where the error exactly occurs?
Stefan

Hi Stefan,
This is the output i'm getting when things get rough. When this happens, nothing is sent back anymore...
18599242   <WARNING> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:746: Image buffer does not contain enough data. Dropping frame...
18883220   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19010983   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19012350   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19013394   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19017796   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19042747   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19045003   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19045651   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19046301   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19046914   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.
19074762   <ERROR> /home/bram/temp/tis/tiscamera_build/src/libusb/AFU420Device.cpp:914: Can not get buffer to fill with image data. Aborting libusb callback.

Hello
we have a branch "afu420-improvements". You may check that out and try it.
Stefan


gasleft should fail as unsupported features

rik/dev/nethermind/warp
warp_output/contracts/test/BitMathTest__WC__BitMathTest.cairo:66:41: Unknown identifier 'gasleft'.
let (__warp_usrid4_gasBefore) = gasleft()


CTRL+C twice won't exit process

In my tests I have to hit CTRL+C three times. If I move the process.exit() call into the keypress handler instead of _sigint, it works correctly on the second keypress.

What terminal are you using?

iTerm on iOS. I'll look into debugging this issue and providing a pull request.

Thanks.

I did a fix - could you please try this again? I can't reproduce it.

Fixed v1.5.2.
https://github.com/dthree/vorpal/issues/55


HandshakeFailed error when using wss:// (works with ws://)

On the same machine, running the following commands works fine and allows me to access port 8000 through port 8001:
sudo wstunnel -v --server ws://localhost -r localhost:8000 & # sudo to use port 80
wstunnel -v -L localhost:8001:localhost:8000 ws://localhost &
# test
curl localhost:8001

But the following, just swapping ws:// for wss://, does not:
sudo wstunnel -v --server wss://localhost -r localhost:8000 &
wstunnel -v -L localhost:8001:localhost:8000 wss://localhost &
curl localhost:8001

The curl command says: curl: (56) Recv failure: Connection reset by peer.
The server says:
Starting server with opts WsServerInfo {useTls = True, host = "localhost", port = 443}
WAIT for TLS connection on localhost:443
wstunnel: HandshakeFailed (Error_Protocol ("credential not found",True,HandshakeFailure))

The client says:
WAIT for tcp connection on localhost:8001
DEBUG :: Oppening tcp connection to localhost:443
DEBUG :: Doing tls Handshake
DEBUG :: Closing tcp connection to localhost:443
ERROR :: Cannot do tls handshake with the server
DEBUG :: ====
HandshakeFailed (Error_Protocol ("expecting server hello, got alert : [(AlertLevel_Fatal,HandshakeFailure)]",True,HandshakeFailure))
====

Am I doing something incorrectly? I am using NixOS on aarch64 and just installed it with nix-env -iA nixos.wstunnel if that matters.
Thanks beforehand

Seems like it's fixed after the version of wstunnel in nixpkgs was updated.


User defined functions are not included

Ok, so first a disclaimer; I'm not very well-versed in Schematron... We are kind of forced to use it as we run Peppol (peppol.eu) and we have a Java implementation based upon ph-schematron but as some Peppol Schematron rules are fairly complex we suffer performance issues on some larger files (invoices whit many invoice lines as the Schematron calculates (sums) amounts from lines to a total).
I've been hunting another way of running the Schematron validations and my first initial tests using XQuery is promising (compared to Java), but when I wanted to try the actual Peppol files it doesn't seem to work right...
I'm sure I am missing something, but here goes...
The first SCH is this one: https://raw.githubusercontent.com/OpenPEPPOL/peppol-bis-invoice-3/master/rules/sch/CEN-EN16931-UBL.sch
I am able to compile it successfully, but I'd expect an error from it as it has a validation error, however executing either:
basex -buri=test1.xml -bschema=CEN-EN16931-UBL.sch evaluate.bxs

basex -bschema=CEN-EN16931-UBL.xqy -buri=test1.xml validate.bxs

just outputs:
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
  <svrl:ns-prefix-in-attribute-values prefix="ext" uri="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="cbc" uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="cac" uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="qdt" uri="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="udt" uri="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="cn" uri="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="ubl" uri="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"/>
  <svrl:ns-prefix-in-attribute-values prefix="xs" uri="http://www.w3.org/2001/XMLSchema"/>
  <svrl:active-pattern id="UBL-model"/>
  <svrl:fired-rule context="/ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount"/>
  <svrl:active-pattern id="UBL-syntax"/>
  <svrl:fired-rule context="//cac:PostalAddress | //cac:Address"/>
  <svrl:active-pattern id="Codesmodel"/>
</svrl:schematron-output>

The second SCH, this one: https://raw.githubusercontent.com/OpenPEPPOL/peppol-bis-invoice-3/master/rules/sch/PEPPOL-EN16931-UBL.sch
When running that as evaluate it gives me no error either, and I can also compile it successfully, but then trying to run the compile schema it is missing some functions;
/XQS-0.2.0-balisage/validate.bxs, 71/440:
[XPST0017] Unknown function: u:slack.

So, what is this n00b missing?
test1.xml.txt

Hello there - thanks for trying out XQS! It helps to understand how it might be used and to hopefully bring it out of alpha sooner.
For your first schema, note that XQS evaluates rule context attributes against the document root, so the pattern foo will match any foo element in an XSLT implementation, but only if that element is the root element with XQS. The SVRL report shows that only those contexts with an absolute path have matched.
The functions present in the second schema are XSLT ones, but XQS can only handle XQuery functions, which also need to be in the XQuery namespace, http://www.w3.org/2012/xquery. I'll add this information to the documentation.
Hope that helps.

Just to add, I added a troubleshooting section to the documentation, based on your queries, via https://github.com/AndrewSales/XQS/commit/a39113533ec5ca14db7d48a29f51aff200befdb8.

Thanks! Much appreciated and educational!
As we are getting the Schematrons provided from Peppol, and we must adhere to them as-is I don't see XQuery as an option right now unfortunately...