Today's installment of weird loops and autodiff

If we replace the for loop in outerF in tests/autodiff/high-order-backward-diff-3.slang with the equivalent do/while loop then we get bogus results from the backward diff pass:
before
    for (int i = 0; i < 2; ++i)
    {
        nx.x = nx.x * x.x;
    }

after
    int i = 0;
    [MaxIters(2)]
    do
    {
        nx.x = nx.x * x.x;
        i++;
    } while (i < 2);

The first thing I notice when looking at the diff in generated sources is the additional array int[4] in s_bwd_outerF_Intermediates_0.
Adding [ForceUnroll] to the loop allows getting the correct result.

The additional int[4] is due to the ad-hoc implementation of induction variable detection in AutodiffCheckpointPolicyBase::collectInductionValues. It is currently hard coded to only recognize the usage pattern introduced by a for statement and probably failed to recognize the i as an induction variable that can be replaced by a loop counter here.

If we plan to run the loop inversion pass universally, then we need to make sure this induction value optimization in the autodiff pass can remove the unnecessary storage of these induction variables in an inverted loop. We should replace collectInductionValues with a more systematic implementation before enabling loop inversion, because extra storage in intermediates types can lead to severe performance degradation.

If we plan to run the loop inversion pass universally, then we need to make sure this induction value optimization in the autodiff pass can remove the unnecessary storage of these induction variables in an inverted loop. We should replace collectInductionValues with a more systematic implementation before enabling loop inversion, because extra storage in intermediates types can lead to severe performance degradation.

I wouldn't suggest running it universally, only in cases where we think the loop has a minbound of 1. Running it universally is what I'm doing for testing


How to find the text offset of the last character currently displayed in the view?

I have a use case where I want to mark "how much of the text has been edited", that is if you have edited the text up to character 2000 I want to display a visual marker indicating this point in a margin to the left of the text area.  The marker would be a solid bar showing that the currently visible text has been marked as edited, thus
To do this though I need to know what text offsets are currently visible in the view.  What is the best way to find out those offsets?  Specially I need the text offset of the last character visible but the first would also be useful.
I have tried using the text area's layout bounds but that, of course, leads to a position that is after the last line currently displayed in the view.

There are two "coordinate systems" to keep in mind here. The first is called "position" and refers to the positions between the letters of a text (e.g. | in |t|e|x|t|) and the second is called a character index and refers to the letters themselves
So... given an area with 50 lines of text, where the viewport is currently showing lines 30-33:
30 | some text
31 | some text
32 | some text
33 | some tex*t*

you want to figure out what the character index of the last "t" surrounded by asterisks is, correct?
It seems like you'll need to use something like this:
int lastVisibleParIdx = area.getVisibleParagraphs().size() - 1;
int paragraphOfChar = area.visibleParToAllParIndex(lastVisibleParIdx)
// calculation to determine where the character index is on that line
// this changes if you don't want to use that last character on the line
int indexOfChar = area.getParagraphLength(paragraphOfChar);
int textCharIndex = area.position(paragraphOfChar, indexOfChar).toOffset();

But wouldn't this just give the index of the last character in the paragraph?  For my use case I have a single paragraph that spans multiple lines in the view..  I need to find which line of the paragraph is currently visible at the bottom.  The paragraph may be only partially visible with more lines out of view below.
So from your example:
30 | some text ... more text that wraps in the view
30 | some text ...
30 | some text ...
30 | some tex*t*
30 | some text  <- this is not visible but still part of paragraph 30

ah... ok
You might try something like...
Bounds local = area.getBoundsInLocal();
Bound screen = area.localtoScreen(local);
HitInfo hit = area.hit(screen.getMaxX() - 1, screen.getMaxY() - 1);
int charIdx = hit.getCharacterIndex();


Added EMTF

Thanks for the contribution, @evagersabeck.

No worries, it was long overdue. Will speak to the starterkit team for other possible entries.


Typo - bullet point is duplicated

my mistake

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

ID: d2eeca14-80ef-c0b4-2719-80ceb286ba3d
Version Independent ID: b7d3df23-3158-2807-eecc-73e7230c2033
Content: What is Azure Virtual Desktop? - Azure
Content Source: articles/virtual-desktop/overview.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for sharing the update.

No issue - my mistake!
From: Karishma Tiwari - MSFT @.>
Sent: 24 February 2022 16:51
To: MicrosoftDocs/azure-docs @.>
Cc: Harrison, Daniel @.>; State change @.>
Subject: Re: [MicrosoftDocs/azure-docs] Typo - bullet point is duplicated (Issue #88700)
Thanks for sharing the update.

Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F88700%23issuecomment-1050053617&data=04|01|daniel.harrison%40warwick.ac.uk|baa9a2f677e4436feb9f08d9f7b5c9b1|09bacfbd47ef446592653546f2eaf6bc|0|0|637813182415948778|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=uZQaT3tY146POKC0GhALb1mutHmRY2%2FCOia4lIrNFK4%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMQ2NHD6TVQWEJHJTRMZWPDU4ZOV5ANCNFSM5PHU7D4Q&data=04|01|daniel.harrison%40warwick.ac.uk|baa9a2f677e4436feb9f08d9f7b5c9b1|09bacfbd47ef446592653546f2eaf6bc|0|0|637813182415948778|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=bcvufG%2Br5FVGixjP1fhaoT3fbvOqD9t5q2djOC8x4Tg%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|daniel.harrison%40warwick.ac.uk|baa9a2f677e4436feb9f08d9f7b5c9b1|09bacfbd47ef446592653546f2eaf6bc|0|0|637813182415948778|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=aJvXJTcq8UJEqy8esdhWNpZToU1Y82SJWoUApFw4Zig%3D&reserved=0 or Androidhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|daniel.harrison%40warwick.ac.uk|baa9a2f677e4436feb9f08d9f7b5c9b1|09bacfbd47ef446592653546f2eaf6bc|0|0|637813182415948778|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=C5kD0Lc6nIhVJ4vGvi1WJcO8Dr4AyD3Zj84EXD4Gxmc%3D&reserved=0.
You are receiving this because you modified the open/close state.Message ID<EMAIL_ADDRESS>


ANYONE???? How do I insert proxybroker into python script

Simply, how do I insert ProxyBroker for proxy rotation into my scraper?  I want proxybroker to have country be US ex: countries = ['US']
I have tried looking at the readme -  https://proxybroker.readthedocs.io/en/latest/examples.html  - Ive been told "Just do export https_proxy=http://host:port before you run the script where host:port is your proxy rotator" which i understand but dont know how to do
Here is my set up without proxybroker
import os
import requests
import re
import backoff
from bs4 import BeautifulSoup
from fake_useragent import UserAgent

for i in range (10):
    asin_list = ['B07K853G1K']
#------------------------------------------------------------------
    urls = []

    def fatal_code(e):
        return 400 <= e.r.status_code < 500

    @backoff.on_exception(backoff.expo,
                  requests.exceptions.RequestException,
                  max_tries=50,
                  jitter=backoff.full_jitter,
                  giveup=fatal_code)
    @backoff.on_exception(backoff.expo,
                  requests.exceptions.HTTPError,
                  max_time=60)
    @backoff.on_exception(backoff.expo,
                  (requests.exceptions.Timeout,
                   requests.exceptions.ConnectionError),
                   max_time=60)
    def get_url(url, headers):
        return requests.get(url, headers=header)

    print('Scrape Started')

    for asin in asin_list:
        product_url = f'https://www.amazon.com/dp/{asin}'
        urls.append(product_url)
        base_search_url = 'https://www.amazon.com'

        ua = UserAgent()
        print(ua.random)
        header = {'User-Agent':str(ua.random)}
        print(header)

        while len(urls) > 0:
             url = urls.pop(0)
             r = get_url(url, headers)
             print("we got a {} response code from {}".format(r.status_code, url))

         soup = BeautifulSoup(r.text, 'lxml')

       #### scrape code below ####

Had the same question as it's not explained in proxybroker examples page. This is a simple way by adapting one the examples (maybe not the best as I'm not familiar with asyncio API) by testing it interactively in python REPL
import requests
from proxybroker import Broker
import asyncio
import random

# get n proxies from proxybroker
def getProxies(n):
    async def show(proxies):
        p = []
        while True:
                proxy = await proxies.get()
                if proxy is None: break
                p.append("{}://{}:{}".format(proxy.schemes[0].lower(), proxy.host, proxy.port))
        return p

    proxies = asyncio.Queue()
    broker = Broker(proxies)
    tasks = asyncio.gather(broker.find(types=['HTTP', 'HTTPS'], limit=n), show(proxies))
    loop = asyncio.get_event_loop()
    return loop.run_until_complete(tasks)[1]

def main():
    proxyPool = getProxies(5)
    random.shuffle(proxyPool)
    for proxy in proxyPool:
        try:
            print(proxy, requests.get("https://v4.ident.me/", proxies={"http": proxy, "https": proxy}).text.strip())
        except requests.exceptions.ProxyError:
            pass

if __name__ == '__main__':
    main()


Instrument in Record view

Currently we show only the manufacturer
We should show also the instrument name as a second line.

Fixed


Blacken to also pick up {.python} code-blocks

Python Version
No response
Package Version
1.18.0
Description
First of all really useful package, thanks!
So here is the issue: We discovered that while the tool can pick up a block like:
```python
def foo():
  return "poo"
\```

it does not pick up on the equivalent {.python} syntax (which allows to specify further options: https://python-markdown.github.io/extensions/fenced_code_blocks/).
We are trying to use this in mkdocs documentation, where the codeblocks carry further options, so cannot be specified as ```python.
Would this be something that could be supported?
Tagging also @maartenbreddels for visibility.

Dupe of #274 / #281.
Since you’re another report, I think we could consider adding support. The next step would be to rebase and finish up the work for #274 (docs, changelog note, more tests).


Advanced Queries

Context
Currently, you can find notes using the below methods in Dendron:

lookup via hierarchy
vscode search
find tags by references

This covers many use cases but sometimes you will want more powerful searching capabilities.
Proposal
Support advanced query logic for Dendron that supports searching notes by the following fields

title
created
updated
tags
any custom frontmatter attribute
body content

It should also support the following logical operators:

AND
OR
GT (greater than)
LT (less than)
EQ (equal to)

Questions

Should the query be accessed via regular lookup or a dedicated search panel as a treeview?

Kevin's thoughts: start off as a dedicated treeview panel and look into enabling it via regular lookup using a | delimeter at some future date

Related to #394

Just echoing the discussion in Discord for the sake of preserving it.

hikchoi Yesterday at 7:36 PM
does anyone feel the need to query leaf node? it just dawned on me that sometimes I get an idea and make a note with the intention of working on it later, but I forget about it :sweat_smile: either because I'm just busy and/or I'm lazy.
These notes tend to be leaf notes as I haven't worked on the content of the notes yet, and have no children.
I thought it would be great to have a list view or some way to query leaf nodes that were created but untouched.
I suppose you could have a tag inserted to a note that you want to visit later, and use the backlinks pane to list it, but I still have a bit of resistance to using tags for things. I feel like tags tend to proliferate and become a mess after a certain point (maybe I'm using it wrong haha).
I checked the issues on the dendron repo and it seems like frontmatter queries are in the works. I guess this could be solved by querying notes that have the same updated and created timestamp (or any given difference.)
right now I have a single list of todos called actionables (items that I can take action, not to be confused with legally actionable ), and I have a bunch of todo items that are "work on note X", and it's not working very well for me.

kevins8 Today at 1:15 AM
yeah, leaf nodes are what i end up going to the most, especially with scratch notes. i've been experimenting with implementing queries a few weeks back but put that on hold for publishing. looking to getting back to that this month.
meanwhile, what sort of queries would be helpful for you? updated == created is what i'm gathering :slight_smile:

These plans look good. Can we also have the search options that:

allow the user to find instances of one word within a certain word distance from another? E.g., in dtSearch you do smith w/15 john to find all instances of 'smith' within 15-word distance from 'john'.
allows finding notes with images based on parameters such as: number, size of image files, image metadata.

Thanks for considering...

This - advanced querying - seems like one of the features where LogSeq shines (though I haven't used it extensively).
https://logseq.github.io/#/page/advanced queries
even their basic querying seems fairly powerful - https://logseq.github.io/#/page/queries
In case it helps:

The database that Logseq use is Datascript, which is an immutable in-memory database and Datalog query engine in Clojure and ClojureScript.

I love that Dendron is using the editor I'm already using often though, so it'd be great to see some of this LogSeq-style functionality in Dendron, if there's a place for it?

It would be good if one could save queries that could auto-update.
It would be even better if one could then run some analysis on the results, such as file/text stats, display them as a graph, etc.
Also, to extend the request for extra operators already mentioned above, W/N, PRE, fuzzy searching and stemming are the ones the are useful dayly in addition to the standard boolean operators.

Hey there, paid donor here. I got a question.
How do i query something like this:
show me all the notes and blocks that contain this tag #revise in their content?
Expected output:
- note1#abc-def
- note1#ghi-jkl
- note2
- note3#abc-jo
...

Why note1 appears twice? because the tag #revise appears twice and each time they appear the nearest headings are abc-def and ghi-jkl respectively
note2 shows no heading as there is no heading in note2 contents
is this possible? I need this as an index list in dendron speak.

Having something similar to https://github.com/blacksmithgu/obsidian-dataview would be amazing, not sure if it fits within this topic, though.

Related:

https://github.com/dendronhq/dendron/discussions/1284

Hi guys,
any follow-up regarding querying by frontmatter values? (or Dataview sort of...)
Thanks


Stack example of fpm needed

One for fpm alpine would be good too.

One for fpm alpine would be good too.

@mindblender what did we need here?

I think just installations using FPM instead of Apache.  Not sure what is entailed to get FPM up and going.


Folder node switching status

If you use the switching status in a javascript trigger, the trigger is triggered even if the notReachable status is changed. It would be better if the switching status is not the folder node but a separate object in the folder.

I understand now the problem but if I look at state changes on the name of the device I do only get changes to this item.
If you subscribe for multiple states then you you get everything and you have to make your own selection what you want to react on.


Update text request in badging

Please change the text that says "Are you sure you want to award this badge to" to "Are you sure you want to award this badge to the below Ninja?"
Suits better for translation purposes

.

Technical spec:
You'll need to update the template here. You'll need to display the name of the person on a separate line.
Then you can remove the string from the translations file and add the new string that Laura suggested.

This is live @LauraCDF!


Complete the implementation of legacy CredentialsJWT

The current codebase contains a working implementation of TypeSafeMiddleware for Codable routes, but the legacy implementation for traditional routing is incomplete.
The main decision to make is how to stash the JWT<C> inside the mandatory UserProfile object.  It is likely that we will have to impose some constraints on the Claims for such a JWT (for example, sub becoming mandatory) so that we have some value to write into the required id and name fields of the UserProfile.

Completed (#4)


Allow for scoop reset python27

Sadly all newer version of python are adding to the path ".", rather than relying on the shims. The effect is:
scoop install python27
scoop install python
python --version # say 3.9
scoop reset python27
python --version # still 3.9 because python/current is part of the path and takes precedence over ~/scoop/shims

The change above would result in python27/current taking higher priority in the path
python --version # 2.7.18

Ideally none of the python versions would depend on path, but not sure if this was a requirement on new versions.

/verify

/verify

Superseded by #298


Use the existing monitoring infrastructure to gather performance data

We already have a working monitoring stack. We should try to use it to gather performance data from our tests.
For a workload to be supported, it must expose a /metrics endpoint. The content should be in a format compatible with Prometheus.

Closing this because we're tracking all the monitoring efforts in #72


Change intermediate replication failure logs from error to warning

...and add an ERROR log for the final failure when the failure detection limit is reached.
Motivation
We're regularly observing "replication read failed" ERRORs logged by
com.rbmhtechnology.eventuate.Replicator, caused by a
com.rbmhtechnology.eventuate.ReplicationProtocol$ReplicationReadTimeoutException: Replication read timed out after 30000 milliseconds

While of cause this highlights an issue with the underlying network,
it's nothing special because the network is just not reliable.
These cases are also gracefully handled by eventuate because it retries
and only when the failure detection limit is reached the replication endpoint
is considered and reported as unavailable.
Logs with level ERROR would also require our ops team to take some action
or at least it would need some attention, while we'd say this is not necessary.
Therefore the log level for temporary failures is changed from ERROR
to WARN. Additionally the exception's stack trace is omitted, because it's
not carrying much useful information, the exception + message should be sufficient
(additionally akka's logger simply doesn't allow to provide an exception for
a warning).  For reference, the stack trace is s.th. like this:
com.rbmhtechnology.eventuate.ReplicationProtocol$ReplicationReadTimeoutException: Replication read timed out after 30000 milliseconds
        at com.rbmhtechnology.eventuate.Replicator$$anonfun$com$rbmhtechnology$eventuate$Replicator$$read$1.applyOrElse(ReplicationEndpoint.scala:543) ~[com.rbmhtechnology.eventuate-core_2.11-0.7.1.jar:0.7.1]
        at com.rbmhtechnology.eventuate.Replicator$$anonfun$com$rbmhtechnology$eventuate$Replicator$$read$1.applyOrElse(ReplicationEndpoint.scala:542) ~[com.rbmhtechnology.eventuate-core_2.11-0.7.1.jar:0.7.1]
        at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:216) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.util.Try$.apply(Try.scala:192) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.util.Failure.recover(Try.scala:216) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:326) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:326) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.concurrent.impl.CallbackRunnable.run_aroundBody0(Promise.scala:32) ~[org.scala-lang.scala-library-2.11.8.jar:na]
        at scala.concurrent.impl.CallbackRunnable$AjcClosure1.run(Promise.scala:1) ~[org.scala-lang.scala-library-2.11.8.jar:na]

The final failure then is considered being an issue which should in fact
get some attention, therefore an additional ERROR log is added for this case.
The last exception is also provided for this ERROR log, or akka's Error.NoCause
if no last exception available (akka handles Error.NoCause in a way as if
error(message) was called).

LGTM

LGTM


libhpdf.dll

Hello,
I do not find the source files for creating the dll and I want to compile it for Windows 64bits. Do you plan to create this version ? Thanks for your work !...

Dose this help ?
https://github.com/libharu/libharu

Hello @jcmontherock,
libharu is built from modified version that can be found in my other repository: https://github.com/r1me/libharu Includes many fixes and enhancements by the libharu users community.
I wasn't able to setup 64-bit Embarcadero C++ compiler to compile libharu, if you happen to find a way to compile it for 64-bit with any free compiler (preferably not a Visual Studio) then let me know and I'll be happy to include 64-bit binary in here. I might actually build it with Visual Studio but I truly hate distributing such DLLs since they require Visual C++ Redistributables to be installed in the system. I get then tons of questions or "issues" because users don't have Redistributable installed, even if I mention it in readme, in bold.

Hello Damian, i wil try to do it, but now I am traveling in south america.
I wil contact you as soon I will be back at home, end of January. Best
regards. Jean-Claude
Le lun. 3 déc. 2018 à 14:31, Damian Woroch<EMAIL_ADDRESS>a
écrit :

Hello @jcmontherock https://github.com/jcmontherock,
libharu is built from modified version that can be found in my other
repository: https://github.com/r1me/libharu Includes many fixes and
enhancements by the libharu users community.
I wasn't able to setup 64-bit Embarcadero C++ compiler to compile libharu,
if you happen to find a way to compile it for 64-bit with any free compiler
(preferably not a Visual Studio) then let me know and I'll be happy to
include 64-bit binary in here. I might actually build it with Visual Studio
but I truly hate distributing such DLLs since they require Visual C++
Redistributables to be installed in the system. I get then tons of
questions or "issues" because users don't have Redistributable installed,
even if I mention it in readme, in bold.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/r1me/THaruPDF/issues/2#issuecomment-443796548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADRS-CKuGGxItHj1hlZpn4srhoe5WRZLks5u1WAFgaJpZM4Yb2yB
.


[Feature][transform] spark.read.json(RDD) deprecated

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
  /**
   * Loads an `RDD[String]` storing JSON objects (JSON Lines
   * text format or newline-delimited JSON) and returns the result as a `DataFrame`.
   *
   * Unless the schema is specified using `schema` function, this function goes through the
   * input once to determine the input schema.
   *
   * @param jsonRDD input RDD with one JSON object per record
   * @since 1.4.0
   */
  @deprecated("Use json(Dataset[String]) instead.", "2.2.0")
  def json(jsonRDD: RDD[String]): DataFrame = {
    json(sparkSession.createDataset(jsonRDD)(Encoders.STRING))
  }

Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

spark.read.json(RDD) is used to compatible with spark 2.2, I think this should be discussed.


make go-rpm error: import cycle not allowed

Hi there
Can you advise where I may have done wrong ?
'''

git clone https://github.com/cavaliercoder/go-rpm.git
cd go-rpm
go environment
[pi@centos7t02 go-rpm]$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/pi/gocode"
GORACE=""
GOROOT="/home/pi/ws/go"
GOTOOLDIR="/home/pi/ws/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
build error message
[pi@centos7t02 go-rpm]$ make
go build -x
WORK=/tmp/go-build620429315
import cycle not allowed
package .
imports bytes
imports errors
imports runtime
imports runtime/internal/atomic
imports runtime
make: *** [build] Error 1
[pi@centos7t02 go-rpm]$

'''

Odd... which version of Go are you using?
Have you tried using go get instead of git clone/make?

It looks like your $GOROOT and $GOPATH are pointing to a library version that differs from your go binary version.
Please see:

http://stackoverflow.com/questions/35168558/go-1-5-to-1-6-import-cycle-not-allowed
https://github.com/golang/go/issues/13501

Thanks for the pointers.


Apply final touch

What's in this PR?

This PR applies final touch to the project so that gradle files look correct.

@lucasvalenteds The test should be working now ✅


Can you separate just the JS part of the forms?

I would like to turn this into a WordPress plugin can you build another repo with just the JS part of the form. Also none of the demos work.

Demos are working now. See lalop/tellform for JS only version

S

Thanks


concurrent map read and map write

concurrent map read and map write

@rogersapling  What version of rancher server?

2.3.5

@rogersapling What version of rancher server?

2.3.5


Expose ability to deep-copy a context

For the Rust bindings (and likely for binding to other languages which hide memory management from the user) I need to be able to deep-copy a secp256k1 context. This exposes a secp256k1_context_clone function which serves this purpose.

ACK.

I don't think this code will work for anything but a VERIFY + SIGN
initialized context.

Eek, you're right @sipa.

I've pushed a new version which behaves properly for all context types, and tests that they work correctly.

ACK

For the Rust bindings (and likely for binding to other languages which hide memory management from the user) I need to be able to deep-copy a secp256k1 context.

A few months ago, before pull request #208 was merged, I made a Ruby binding for secp256k1 which uses contexts.  I store the context pointer in an FFI::Autopointer object.  When that object gets garbage collected, it calls secp256k1_context_destroy on the underlying pointer.  (If I had written the binding in C instead of using FFI, I could have accomplished the same thing.)
So does Rust really require you to be able to deep copy objects like this?  Libusb's contexts do not have a clone feature but it looks like someone made a Rust binding for Libusb.

@DavidEGrayson The short answer is no; I could avoid this either by hurting usability for users of my bindings, or by introducing synchronization primitives to share data rather than cloning it.
The long answer:
No, I could just keep it in an atomic refcount wrapper for example, which would give similar behaviour to Ruby. But then I'm introducing a dependency on Rust's runtime; rust-secp256k1 makes a point of never using Rust's allocator or synchronization primitives to ensure it can be use in very limited environments. (I haven't measured but I'd also expect that in many contexts copying a couple hundred bytes will be faster than using the refcount, both because of the cost of atomic operations and because you'd need a pointer which is accessible from multiple threads; in any case it's easy for a user to add refcounting if the bindings don't, and not easy to remove it if the bindings do.)
The Libusb bindings provide a Rust Context object to users of its API, but this cannot be copied in any way, which forces users who need copies to create new contexts either to create new ones or to use some other synchronization wrapper. (And for libusb, atomic refcounts are not sufficient because libusb contexts are mutated in use, so a more expensive synchronization primitive like a mutex would be needed.)
Finally, secp256k1 contexts are really expensive to create from scratch, and are needed for things like validating that keys are well-formed, which isn't naturally tied to any long-lived object that could hold a context. My guess is that libusb's contexts are fairly cheap to create and that in practice they tend to be tied to some sort of object representing a USB device, so they don't need to be created that often anyway.

That makes sense, thanks!


feat: add more log viewer options to global settings

Adds the remaining three options to the global settings so users can override their default values. Only saved when the user clicks Save Settings.
This omits the drop-down boxes, I might do those later but just wasn't sure 100% what the best approach to serializing those were yet. Just storing an ordinal wouldn't be the most user-friendly in my opinion. 🤔

Agree on not wanting to store an ordinal.  You could do it as a string and enforce specific values in the config schema and TS type system?  (the type Suit = 'heart' | 'diamond' | ... idiom)  You would need safe converters of course so it's still a faff!

My suggestion would be to keep the existing 'since' UI, at least for now, because I am awfully conservative that way.  I don't have a strong opinion, though, except that if we change it to free entry, then we need to provide some sort of help at the point of use.
Agree on keeping the anchoring fix for a separate PR.  Thanks heaps for all your effort on this!

This looks great!  I've held off hitting the 'approve' button because you're still tweaking the 'since' stuff, but I'm happy for it to merge as soon as that's good to go.  Thank you!

Hmm, so I was implementing the last 2 things and wasn't into storing the units in the configuration separately. Thoughts on decoupling the view from the config for since?
I'm thinking regardless of how it's displayed in the view, the configuration doesn't actually have to match it at all.
In other words, maybe the configuration should just store the number of seconds and that's it? Then the view can be responsible for interpreting it.
Pros:

If we ever change how the view displays these options, the setting will continue to work as it's decoupled from the view.
We automatically set the since-input and since-select in the simplest way. If the user set 3600 seconds out of laziness, it'll be 1 hour next time they reopen the log viewer.
Only 1 setting instead of 2.

 (Since they can set it to 3600 seconds, but later when they come back it's 1 hour.)
The view actually has to have code to handle this.

I've pushed this as a new commit, so it's easy to review. If you'd prefer there just be a new configuration instead, feel free to say. I personally think this is nicer.

Thoughts on decoupling the view from the config for since?  I'm thinking regardless of how it's displayed in the view, the configuration doesn't actually have to match it at all.

Yep, I'm fine with this - thanks!

(I probably don't need to say this, but in this case the configuration docs need to say what the units are.)

Which you have already done.

(I probably don't need to say this, but in this case the configuration docs need to say what the units are.)

Already covered!
In README.md and package.json it specifies seconds.

https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/pull/1074/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R210
https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/pull/1074/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519R399

Just did a quick last minute change. Realized setSinceDuration isn't a very accurate name. (Was originally going to actually set the input fields there as well.)
Renamed it to splitSinceDuration.


Node metadata not always available

I've run into a few issues while testing inclusion/exclusion where I receive the following error during inclusion:
2021-01-15 21:28:37 ERROR (MainThread) [zwave_js_server] Unexpected error handling {'type': 'event', 'event': {'source': 'node', 'event': 'ready', 'nodeId': 60, 'node': Node(node_id=60)}}
Traceback (most recent call last):
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/client.py", line 292, in _handle_connection
    self.async_handle_message(msg_)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/client.py", line 110, in async_handle_message
    self.driver.receive_event(event)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/model/driver.py", line 23, in receive_event
    self.controller.receive_event(event)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/model/controller.py", line 324, in receive_event
    node.receive_event(event)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/model/node.py", line 227, in receive_event
    self.emit(event.type, event.data)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/event.py", line 52, in emit
    listener(data)
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/event.py", line 43, in event_listener
    callback(data)
  File "/home/cgarwood/home-assistant/core/homeassistant/components/zwave_js/__init__.py", line 105, in <lambda>
    "ready", lambda event: async_on_node_ready(event["node"]),
  File "/home/cgarwood/home-assistant/core/homeassistant/components/zwave_js/__init__.py", line 90, in async_on_node_ready
    for disc_info in async_discover_values(node):
  File "/home/cgarwood/home-assistant/core/homeassistant/components/zwave_js/discovery.py", line 134, in async_discover_values
    disc_val = async_discover_value(value)
  File "/home/cgarwood/home-assistant/core/homeassistant/components/zwave_js/discovery.py", line 174, in async_discover_value
    if schema.type is not None and value.metadata.type not in schema.type:
  File "/home/cgarwood/home-assistant/core/venv/lib/python3.8/site-packages/zwave_js_server/model/value.py", line 122, in metadata
    return ValueMetadata(self.data["metadata"])
KeyError: 'metadata'

However, it doesn't happen all the time. Might be an upstream issue with zwave-js? Seems like that should exist if the node is firing the ready event.

Hmmm, as far as I understand, metadata comes from the device specific config files (just like with OZW).
Maybe if there's no device config file, the metadata will not exist ? The server omits any properties that are empty.
@balloob will the server omit values that are considered empty or null ?
If it omits values that are empty (e.g. an empty dictionary) it will explain our null reference here...

Hmmm, as far as I understand, metadata comes from the device specific config files (just like with OZW).
Maybe if there's no device config file, the metadata will not exist ? The server omits any properties that are empty.
@balloob will the server omit values that are considered empty or null ?
If it omits values that are empty (e.g. an empty dictionary) it will explain our null reference here...

JSON serializing in JavaScript will remove a key if the value is undefined.

JSON serializing in JavaScript will remove a key if the value is undefined.

Fixed in #61

Fixed in #61

I did some more investigating.
Value's metadata is ONLY present in the initial state. Value added/changed events do not include the metadata, simply because it is an object that is not json serializable. This means we miss the metadata in several situations like value notifications, adding new nodes and nodes being interviewed after startup.
I'll submit a PR to the server project to fix this.

I did some more investigating.
Value's metadata is ONLY present in the initial state. Value added/changed events do not include the metadata, simply because it is an object that is not json serializable. This means we miss the metadata in several situations like value notifications, adding new nodes and nodes being interviewed after startup.
I'll submit a PR to the server project to fix this.

I was wrong with my previous assumption. Adding this to the server itself will alter the messages from the original (metadata is not submitted in events).
Getting the ValueMetaData is actually a node command. It is performed in the state creation but not when a new node is added. So if we want the server to be as transparent as possible, we should do the call to get the metadata in the library.
It is very easy to add this to the server (just request the metadata on "value added" and "value notification" events.
Add this to the python lib is a bit more involved as we'll have to convert the handlers to async.

I was wrong with my previous assumption. Adding this to the server itself will alter the messages from the original (metadata is not submitted in events).
Getting the ValueMetaData is actually a node command. It is performed in the state creation but not when a new node is added. So if we want the server to be as transparent as possible, we should do the call to get the metadata in the library.
It is very easy to add this to the server (just request the metadata on "value added" and "value notification" events.
Add this to the python lib is a bit more involved as we'll have to convert the handlers to async.


No such service ComponentInfo{com.bybes.app/com.onesignal.SyncJobService}

Description:
Integrated OneSignal with the official docs. iOS is working fine but Android immediately crashes when app in the background.
Environment
Latest React Native (0.56)
Latest OneSignal (3.2.6)
NPM (6.2.0)
MacOS
Steps to Reproduce Issue:
Install the OneSignal SDK using npm into your project
Link and implement using official docs
react-native run-android

No such service ComponentInfo{com.bybes.app/com.onesignal.SyncJobService}

@Nightsd01 There was another thread that @DLevai94 was able fix this issue
https://github.com/geektimecoil/react-native-onesignal/issues/623#issuecomment-423805687


Test HTML support

(From this discussion: https://infosec.town/notes/9kae3hn3s37tf49c )

I believe HTML support (or at least acknowledgement) is either spec or long-established de-facto standard, so yes it should be checked. Nothing should be deployed to the modern Fediverse without the distinction of block and inline elements, even if, say, it has no idea what bold is or what  is.

If you can get a post's Markdown source, showing that is suboptimal but acceptable in early development -- you want to make sure it's accessible before a full release though, and plain text Markdown isn't exactly accessible.

Also do not silently remove blockquote.

We have tests for that now.


require is not defined

vite + vue + veaury
"name": "veaury",
"version": "2.3.8"

Problem: ReferenceError: require is not defined
I replace in veaury\dist\veaury.esm.js
import{createPortal}from"react-dom";
import{createPortal,createRoot,render,unmountComponentAtNode}from"react-dom";

try{ReactDOM=require("react-dom/client")}catch(e){ReactDOM=require("react-dom")}
<removed>

ReactDOM.createRoot(y)
createRoot(y)

ReactDOM.render(d,y)
render(d,y)

ReactDOM.unmountComponentAtNode(this.$refs.react)
unmountComponentAtNode(this.$refs.react)

It works for me

@roman-bandurin
In vite.config.js you should use veaury/vite plugin.

Do you want to preconfigure your project in advance?
In theory, you don't need to do additional configuration in a React project to support Vue, nor do you need to do additional configuration in a Vue project to support React.
If the React or Vue component you want to convert comes from a npm package, or has already been built (Not a direct vue file and does not contain jsx), you can use applyPureReactInVue or applyVueInReact directly.

I have a built component so I don't want to preconfigure your project in advance. After use applyReactInVue I have problem (require is not defined). Anyway, I use veaury/vite plugin and I have got:
failed to load config from C:\Users\roman\Documents\roman-bandurin\adaptis_frontend\vite.config.ts
error when starting dev server:
Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import 'node_modules\veaury\vite' is not supported resolving ES modules imported from vite.config.ts.timestamp-1664347926702.mjs

@roman-bandurin
For the problem you encounter when configuring vite.config.js, you can replace it with import veauryPlugin from 'veaury/vite/index.js', this problem may be caused by the low version of node.
And about the fact that you mentioned using an already built component and should not preconfigure the project, this conclusion is correct, I will fix this problem in a later version.

thanks, v2.3.1 works

@roman-bandurin
Version 2.3.9 fixed this issue.


Add printing public key on rsa bssa demo for privacy pass

Printing the base64 url encoded DER public key that's going to be used to sign the extended token request.
This allows client to generate a challenge, and then a valid request that can be signed by the issuer.

I should be covered with CLA now.

Feel free to merge.

@Guss123 it looks like I don't have merge permission. If you could click the button, that would be great!


Mouseover image saturation

Applies a filter to course image on mouseover, to give us the colorization effect. This required switching to an <img> rather than using background-image, which is something we wanted to do anyway.

@apalaniuk @d2l-joelp Just a little thing I had mostly done on Friday (but forgot to push (and then found bugs in (and then fixed today))).

LGTM


Analytical solution for a joint posterior

[x] provide an analytical solution for a joint posterior for $\tau$ and $\sigma^2$ for a simplified model in which $\tau_0 = 0$ and $\sigma^2_\eta = c\sigma^2$ where $c$ is a constant signal-to-noise ratio
[x] write a short note
[x] a quick derivation or full conditional posterior presentation
[x] an R function with the sampler
[x] include your name in the author list

All done here :) Thank you, @rruiliu1005 !


Cannot set property 'dkModule' of undefined

I am periodically seeing this:
/home/pi/.npm-global/lib/node_modules/bluz-gateway/app.js:106
peripheralList[peripheral.id].dkModule = bluzMod;
^
TypeError: Cannot set property 'dkModule' of undefined
at /home/pi/.npm-global/lib/node_modules/bluz-gateway/app.js:106:50
at Peripheral. (/home/pi/.npm-global/lib/node_modules/bluz-gateway/node_modules/noble/lib/peripheral.js:73:7)
at Peripheral.g (events.js:260:16)
at emitOne (events.js:77:13)
at Peripheral.emit (events.js:169:7)
at Noble.onServicesDiscover (/home/pi/.npm-global/lib/node_modules/bluz-gateway/node_modules/noble/lib/noble.js:208:16)
at emitTwo (events.js:87:13)
at emit (events.js:172:7)
at NobleBindings.onServicesDiscovered (/home/pi/.npm-global/lib/node_modules/bluz-gateway/node_modules/noble/lib/hci-socket/bindings.js:291:8)
at emitTwo (events.js:87:13)

I am running on a Raspberry Pi 3
Only trying to connect with a single bluz for now.
Sometimes this happens as soon as I start the service. Other times it happens after being online for a few minutes. Related to this is that I cannot start the service on boot.

👍

This seems to be related to the checkForDeadPeripherals call, it may be clearing out values from the array between when the disconnect/reconnect, thereby causing the error. Commenting out this line seems to solve the issue, but I am still investigating if/when old peripherals need to be cleaned out.


Testing Against Multiple Node Versions

I'm wondering if there's any way to use this action to test against multiple versions of node when one of them is pinned in the package.json.
I tried to do something like this:
name: Verify

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [6.7.0, 12.16.1]
    steps:
      - uses: actions/checkout@v1
      - uses: volta-cli/action@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: Print node version
        run: node --version
      - run: yarn install
      - run: yarn test

But the pinned version from package.json is used regardless of what was provided in node-version.

Thanks for opening this issue! This is definitely a bug conceptually, sorry about that!
I think the solution here would have to be to do something like:

Use the node-version specified as part of volta install node@<the version> to change the default / global node to the specified version (this is what we do now)
IFF the project has a top level package.json we run volta pin node@<the version> (this is the fix for the issue you reported)

That makes sense to me!  I wasn't sure if the node-version setting was only supposed to be used to pre-download a particular Node version, but it honestly doesn't make a whole lot of sense to download it if it isn't used!
In the meantime, it should be possible to solve it like this I think, right?
name: Verify

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [6.7.0, 12.16.1]
    steps:
      - uses: actions/checkout@v1
      - uses: volta-cli/action@v1
      - name: Switch Node version
        run: volta pin node@${{ matrix.node-version }}
      - run: yarn install
      - run: yarn test

I no longer actually need to do this on the project I originally tried this on, but I would love to see this supported. I'm really loving Volta and have started using it pretty heavily!


MERN_NodeJS:  Installing NPM packages

Description
I want to add a brief explanation about NPM Packages in documentation format.
The related information will be added in MERN/Topic/Backend/Node/ directory.
please guide me about the naming convention.
Domain
MERN
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

\assign

I have made a PR regarding this.


Join active test contexts after any lifecycle/test method invocation

Fixes #123

To be backported to 4.x after merging


add std_msgs as dependency

Signed-off-by: Kenji Brameld<EMAIL_ADDRESS>
🦟 Bug fix
Bug
ROS2 Rolling on Ubuntu Jammy fails to build due to missing dependency on std_msgs.
ros_ign_ws $colcon build --packages-select ros_ign_gazebo
Starting >>> ros_ign_gazebo
--- stderr: ros_ign_gazebo
/home/ijnek/workspaces_ros2/ros_ign_ws/src/ros_ign/ros_ign_gazebo/src/create.cpp:25:10: fatal error: std_msgs/msg/string.hpp: No such file or directory
   25 | #include <std_msgs/msg/string.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/create.dir/build.make:76: CMakeFiles/create.dir/src/create.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/create.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< ros_ign_gazebo [2.55s, exited with code 2]

Summary: 0 packages finished [2.75s]
  1 package failed: ros_ign_gazebo
  1 package had stderr output: ros_ign_gazebo

Summary
Adds dependency to package.xml and CMakeLists.txt.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@ahcorde should we also declare ignition-transport and ignition-msgs as explicit dependencies ? Used here :
https://github.com/ignitionrobotics/ros_ign/blob/c7f74b75ed37cdb90b76df5821b575f2b9a225ad/ros_ign_gazebo/src/create.cpp#L17-L19

If this is used of course we have to.
@ijnek do you mind to add then ?

@chapulina CI is still red because of the Jammy packages, should we wait to get a green CI ?

@ros-pull-request-builder retest this please

ros_ign_gazebo built fine on the ROS farm, which is all we need to verify that this PR works. Merging to unblock follow up PRs.


Fix 242 icon loading by providing new key-based API

In IJP 242 the icon loading has changed yet again. Instead of relying on icon mappings like it used to, now New UI icon paths are hardcoded into the CachedImageIcon themselves. This breaks Jewel's ability to load New UI icons, resulting in old UI icons being shown instead.
With this PR, we set to address this issue, and design an API that improves upon the existing ones. We have created the new IconKey, that encapsulates an icon resource path in a better typed and fully portable way allowing the same code to be used both in standalone and in bridge mode.
We have a new generation task in the ui module that traverses an AllIcons-style class and an icon mappings json file (like PlatfomIconMappings.json), and creates an icon keys file with the same structure. These keys are then used to look up icons, simplifying the code. This mechanism should work for 233 and 241 as well, since it bypasses the need for relying on the platform icon mapping, until we get better APIs, hopefully soon.
The Icon composable now accepts PainterHints and uses them when rendering the icons, too.
What used to look like this:
Icon(
  "actions/close.svg",
  iconClass = AllIcons::class.java,
  modifier = Modifier.border(1.dp, Color.Magenta),
  contentDescription = "An icon",
)

Icon(
  "icons/github.svg",
  iconClass = JewelIcons::class.java,
  modifier = Modifier.border(1.dp, Color.Magenta),
  contentDescription = "An icon",
)

Now looks like this:
PlatformIcon(AllIconsKeys.Actions.Close, "An icon")

Icon(
  IdeSampleIconKeys.gitHub,
  iconClass = IdeSampleIconKeys::class.java,
  modifier = Modifier.border(1.dp, Color.Magenta),
  contentDescription = "An owned icon",
)

Applying hints to Icons and PlatformIcons is also much easier now. It was:
val iconProvider =
    rememberResourcePainterProvider("icons/taskGroup.svg", StandaloneSampleIcons::class.java)

val badged by iconProvider.getPainter(Badge(Color.Red, DotBadgeShape.Default))
val strokedAndBadged by iconProvider.getPainter(Badge(Color.Red, DotBadgeShape.Default), Stroke(Color.White))

Icon(badged, "taskGroup")
Icon(strokedAndBadged, "taskGroup")

And now is:
PlatformIcon(AllIconsKeys.Nodes.ConfigFolder, "taskGroup", hint = Badge(Color.Red))

PlatformIcon(
  AllIconsKeys.Nodes.ConfigFolder,
  "taskGroup",
  hints = arrayOf(Stroke(Color.White), Badge(Color.Red)),
)

The sample code has been partially updated to the new API, but more work is needed to spread the change throughout existing components and their styling. That will come in a follow-up PR.

To reduce dependency on IntelliJ platform, maybe current composition context (or something better) could hold something like IconProvider, which can resolve icon by id? Then when used as IJ plugin, it could use IntelliJIconKey.fromPlatformIcon as the IconProvider and in case of desktop jewel, it can use any kind of resource based thing, or it can be even customizable. The Icon api would then accept this id, maybe it can be even same, but we can make the Icon class nullable, to indicate it should be automatically resolved.
interface IconProvider {
	fun getIconByKey(key: string): ResourcePainter? // or maybe just Painter?
}

That was an earlier iteration on the design, but it depends on having IJP classes on the classpath (e.g., AllIcons), or using stringly-typed APIs, which are anti-goals for this change. To make it work, we'd still need to generate the keys anyway, so at that point, might as well go all the way with our keys to the API. Custom themes should still be able to use json icon mappings to provide custom icons if they so wish.


Provide a page to edit an account profile (user)

A page is needed to edit account details to:

change account username/name
fill in extra information about the account (address, phone, mobile phone)
change password

Almost fully implemented, except for the image uploading #7


Make search attributes works with reset in xdc

Abort this in favor of Refactor reset mutable state path #2230, changes include there


Istio-reconciler doesn't apply any changes for the same version of istio

Description
Istio reconciler doesn't apply the configuration passed to the component istio-configuration when istio in the current version is already installed (update operation).
See the fragment of canUpdate function that returns false if istio is installed in the same version:
https://github.com/kyma-incubator/reconciler/blob/1d6082e73f9d679047a36c566443aa03c6ee15c6/pkg/reconciler/instances/istio/action.go#L169-L172
Expected result
When configuration applied in the cluster is different than the one provided to the reconciler istioctl upgrade command is invoked. Some configuration verification happens (e.g. https://istio.io/latest/docs/setup/install/istioctl/#verify-a-successful-installation)
Actual result
Configuration passed to istio-reconciler is ignored.
Steps to reproduce
kyma deploy
kyma deploy --value istio-configuration.components.ingressGateways.config.service.loadBalancerIP=${GATEWAY_IP_ADDRESS}

And check the configuration of istio ingress gateway service.

CLI has been bumped and stable release has been made.


msixmgr does not load package resources

Project
MSIXCore msixmgr
Describe the bug
msixmgr does not resolve ms-resource protocol references. This is losely connected to #164 (though it is unclear if the issue author means the MSI package or msixmgr). Nevertheless, even single language packages can reference string resources in manifest items.
To Reproduce
Create a package manifest with ms-resource protocol references where applicable (localizable manifest items). Observe the install UI.
Expected behavior
msixmgr should load resources from packages.
Screenshots

Platform
Windows 7 and later

The downlevel operating systems do not support Modern Resource Technology which is required.  We do have a backlog item to look at providing a similar level of functionality for this.

We do have a backlog item to look at providing a similar level of functionality for this.

Right, my understanding is that for the purpose of MSIX Core we do not need a full implementation of the Resource Management System, i.e. the ResourceManager class. It should suffice to be able to resolve and load string and image resources. In fact, MakePRI.exe which also works on systems which lack the RMS should already implement a great deal of resource writing and possibly reading functionality, including resource resolution which is a complex core feature of the RMS.
Anyhow, thank you for taking this into consideration.


OAuth client_id is case-insensitive with certain DB vendors

Describe the issue:
As per the OAuth specification, all parameters including client_id must be case sensitive (see https://tools.ietf.org/html/rfc6749#section-1.9). But the client id is searched on the DB and the DB does the comparison in a case-insensitive manner which will eventually allow completing the flow.
How to reproduce:

Configure IS with a case-insensitive DB (MySQL or SQLServer)
Create a service provider
Try to generate access tokens with any grant type by using the client id in a different case
It will issue the token (except when you are using JWT issuer as explained in https://github.com/wso2/product-is/issues/13202)

Expected behavior:
All parameters used in OAuth including client_id must be case sensitive
Related issues:
https://github.com/wso2/product-is/issues/13202

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Add GetSchemaItems/GetSchemaOverview, deprecated GetSchema

Valve have deprecated IEconItems_*/GetSchema and replaced it with two new APIs; one of these is a cursor-like API for the items list, and the other is the remaining information.
This commit adds the two command stubs and marks the GetSchema command as deprecated.

Looks all good to me, thanks for the PR


get tx id, but tx does not in the network

I have two accounts: eosaccount1 and eosaccount2 (for example)
When i try to transfer some tokens from eosaccount1 to eosaccount2 i obtain the txid and I see a transaction on the network (for example, on eosflare.io)
But when i the same way try to transfer from eosaccount2 to eosaccount1 I also receive the transaction ID, I do not receive any error messages, but the transaction does not on the network and the coins are not transferred.
for what reasons this can happen?

As the cleos warning message says, no transaction is guaranteed to be accepted by the network.  If as you say you are receiving no errors while attempting to transfer from eosaccount2 to eosaccount1 while transfers the other way work, then you are simply a victim of unfortunate coincidence.  If the problem is consistent and repeatable, it may be that errors are somehow being concealed by your environment.  You should create an intentionally invalid transfer from eosaccount1 to eosaccount2 to verify that errors do indeed show up.  If you can prove that errors are visible, simply retry your transfer from 2 to 1 until it succeeds.  It may take more than one attempt.

ill try to send tx to unexisting account and got error:
{
  "code": 500,
  "message": "Internal Service Error",
  "error": {
    "code": 3050003,
    "name": "eosio_assert_message_exception",
    "what": "eosio_assert_message assertion failure",
    "details": [
      {
        "message": "assertion failure with message: to account does not exist",
        "file": "wasm_interface.cpp",
        "line_number": 930,
        "method": "eosio_assert"
      },
      {
        "message": "pending console output: ",
        "file": "apply_context.cpp",
        "line_number": 61,
        "method": "exec_one"
      }
    ]
  }
}

obviously, I did not receive the transaction id
After this i tried more make and push transactions (not only transfer, i also tried buy/sell-ram/cpu).
In every case node responses looked as if everything was going well, but no one transaction was on the network.
Ill trying do it on the local node and on the remote public nodes
When a did the absolutely same actions on another account all transactions been success


ORC-225: Fixed handling longs in CsvReader

This fixes parsing long values in csv input.

Can you please open a jira for this pull request? Thanks!

Closing this to open another PR where jira issue is properly referenced in commit message.


find_imports: only list missing packages

Currently pysandbox tries to micropip.install() all packages from imports even if they are already loaded, e.g.:

packages from the standard library like "os"
packages loaded previously from another call to micropip.install()
relative imports from the filesystem

It works, but there are many errors in the dev console.
This PR changes find_imports() to filter out the existing packages to avoid the errors.

https://docs.python.org/3/library/pkgutil.html mentions that some of the functions in pkgutil were deprecated in Python 3.12 and will be removed in Python 3.14 and to use importlib.util.find_spec(). Not sure about pkgutil.iter_modules specifically.


No handler for type [geo_shape] declared on field [geometry]

Photon uses the opensearch runner for a local instance using testing and production. Whilst creating a pull request, I ran into a problem.
When adding the geo_shape field in the index mapping and running, the OpenSearch runner gives the error:
No handler for type [geo_shape] declared on field [geometry]
The geo_shape is  a valid field, but unfortunately isn't supported by de opensearch runner.
I've tried adding it through the modules using the following code:
public static final String OPENSEARCH_MODULES =             "org.opensearch.analysis.common.CommonAnalysisPlugin," + //                     "org.opensearch.transport.Netty4Plugin," + //                     "org.opensearch.geo.GeoModulePlugin";
...
runner = new OpenSearchRunner();         runner.onBuild((number, settingsBuilder) -> {             settingsBuilder.put("http.cors.enabled", false);             settingsBuilder.put("discovery.type", "single-node");             settingsBuilder.putList("discovery.seed_hosts", "<IP_ADDRESS>:9201");             settingsBuilder.put("indices.query.bool.max_clause_count", "30000");         }).build(OpenSearchRunner.newConfigs()                 .basePath(dataDirectory)                 .clusterName(clusterName)                 .numOfNode(1)                 .moduleTypes(OPENSEARCH_MODULES)
What am I doing wrong?

@marevol

Confirmed! Unit tests for Photon work perfectly now! Thanks!


This is mainly a pull request to fix tlRender to be used as a git submodule

Mainly, it changes the CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE dir.  There's also the addition of play-fltk but I removed it at the end.

El 10 sep. 2022, a las 17:57, Darby Johnston @.***> escribió:
@darbyjohnston commented on this pull request.
Thanks for this, I'm definitely interested in having tlRender work as a git submodule. Is it worthwhile to add a small example to the README?

Not sure what example, as it takes a tad to setup.

In CMakeLists.txt:

@@ -118,7 +119,8 @@ endif()
if(TLRENDER_BUILD_GL)
find_package(OpenGL REQUIRED)
if(TLRENDER_BUILD_PROGRAMS OR TLRENDER_BUILD_EXAMPLES)

   find_package(GLFW REQUIRED)

find_package(GLFW REQUIRED)
find_package(FLTK NO_MODULE )

Is this still necessary if the play-fltk example was removed?

No, you are right. Remove all references to FLTK.

In README.md:

@@ -54,6 +54,7 @@ Optional dependencies:

OpenEXR
PNG
TIFF
+* FLTK

Is this still necessary if the play-fltk example was removed?

No, again.

In etc/SuperBuild/cmake/Modules/BuildOpenEXR.cmake:

@@ -15,8 +15,8 @@ ExternalProject_Add(
DEPENDS Imath ZLIB
GIT_REPOSITORY ${OpenEXR_GIT_REPOSITORY}
GIT_TAG ${OpenEXR_GIT_TAG}

PATCH_COMMAND ${CMAKE_COMMAND} -E copy

   ${CMAKE_SOURCE_DIR}/OpenEXR-patch/src/lib/OpenEXR/ImfDwaCompressor.cpp

   ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/src/OpenEXR/src/lib/OpenEXR/ImfDwaCompressor.cpp

PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different

Is this was necessary it should probably be changed in all of the build files.

I didn’t find anywhere else where you were using copy of a file, but if you are then, yes, changing it to copy_if_different is better as it speeds up the compilation as the dependency is not regenerated.

In examples/CMakeLists.txt:

@@ -1,6 +1,6 @@
add_subdirectory(test-patterns)
if(TLRENDER_BUILD_GL)

add_subdirectory(play-glfw)

add_subdirectory(play-glfw)

It's generally better to make formatting changes separately so it's easier to review the functional changes. But if the tab is removed it should be replaced with 4 spaces. I've accidentally added a bunch of tabs and should probably do a global search and replace.

My bad too.  I had accidentally left emacs c/c++ mode use tabs in favor of spaces.  I modified my .emacs file and will copy it to all my machines.
—
Gonzalo Garramuno
@.***

No worries about the git submodule example, it was just a suggestion if it was a simple thing to do. Just checking-in to see if you can make the other changes and push them to this PR? Thanks!

On 18/9/22 15:57, Darby Johnston wrote:

No worries about the git submodule example, it was just a suggestion
if it was a simple thing to do. Just checking-in to see if you can
make the other changes and push them to this PR? Thanks!

I haven't made changes to tlRender as I've been too busy with
implementing the features in mrViewer.  I am mostly done so I'll start
tweaking things in tlRender now (hopefully I wont break things).
The first thing I want to do is to get a member function in
tl::gl::Render to retrieve the shaders.  I want to draw text with NDC
coordinates for the HUD so that they always stay in the same size and in
the same position, instead of how it is now that they have the same
matrix than the image.
Once I am done with that, I'll send another PR request.
--
Gonzalo Garramuño
@.***

It would be better to keep the PRs separate so it's easier to review the changes. If this PR is for fixing tlRender to be used as a git submodule it should just contain the CMake changes. If there are other changes you are interested in making they should be separate PRs.
Also I think we need to find a different approach for the text besides getting the shader source code. Getting the source code breaks the encapsulation for the renderer, it's really supposed to be private. The renderer should ideally be independent of the underlying graphics API, one of my next tasks is writing Metal and Direct X versions.

El 18 sep. 2022, a las 20:29, Gonzalo Garramuño @.***> escribió:

I haven't made changes to tlRender as I've been too busy with implementing the features in mrViewer.  I am mostly done so I'll start tweaking things in tlRender now (hopefully I wont break things).
The first thing I want to do is to get a member function in tl::gl::Render to retrieve the shaders.  I want to draw text with NDC coordinates for the HUD so that they always stay in the same size and in the same position, instead of how it is now that they have the same matrix than the image.
Once I am done with that, I'll send another PR request.

Find the new PR as tlRender-gga/my-feature.  I am still getting familiar with how to use GitHub and git with multiple users (I apologize for the previous PR which had a lot of things mixed in).
—
Gonzalo Garramuno
@.***

No worries, I'm happy to answer any questions about it. Once you get used to working with multiple PRs on GitHub it makes contributing a fairly seamless process.

El 18 sep. 2022, a las 21:14, Darby Johnston @.***> escribió:
Also I think we need to find a different approach for the text besides getting the shader source code. Getting the source code breaks the encapsulation for the renderer, it's really supposed to be private. The renderer should ideally be independent of the underlying graphics API, one of my next tasks is writing Metal and Direct X versions.

Oh.  I just saw this.  I am not getting the source code, just the shader itself to set the uniform of the mvp matrix.
I just need to get access to the matrix of the text shader so I can draw text in raster space for the HUD.  Currently, I am doing the following (after the patch in the PR to get the shader):
    const auto viewportSize = _getViewportSize();
    const glm::mat4x4 vpm = glm::ortho(
        0.F,
        static_cast<float>(viewportSize.w),
        static_cast<float>(viewportSize.h),
        0.F,
        1.F,
        -1.F);

    auto mvp = math::Matrix4x4f(
        vpm[0][0], vpm[0][1], vpm[0][2], vpm[0][3],
        vpm[1][0], vpm[1][1], vpm[1][2], vpm[1][3],
        vpm[2][0], vpm[2][1], vpm[2][2], vpm[2][3],
        vpm[3][0], vpm[3][1], vpm[3][2], vpm[3][3] );

    auto shader = gl.render->getShader( "text" );
    shader->bind();
    shader->setUniform("transform.mvp", mvp);

    if ( p.hud & HudDisplay::kDirectory )
        _drawText( p.fontSystem->getGlyphs(directory, fontInfo), pos,
                   lineHeight, labelColor );

As you can see, the change is in tlGL/Render.cpp and in my own GL class.  That should not prevent it from working with Metal, I think.
—
Gonzalo Garramuno
@.***

I am closing this pull request as I opened two others: cmake changes and getShader.

El 18 sep. 2022, a las 21:14, Darby Johnston @.***> escribió:
Also I think we need to find a different approach for the text besides getting the shader source code. Getting the source code breaks the encapsulation for the renderer, it's really supposed to be private. The renderer should ideally be independent of the underlying graphics API, one of my next tasks is writing Metal and Direct X versions.

But currently, you have GLSL shader source code in tlQtWidget/TimelineViewport.cpp.
Also, I looked briefly into how to pass Uniform data in DirectX shaders and it requires to pass the projection matrix as XMFLOAT4 instead of standard floats to keep the alignment consistent.
https://learn.microsoft.com/en-us/windows/uwp/gaming/porting-uniforms-and-attributes
—
Gonzalo Garramuno
@.***


ci: publish binaries on release

When a release is created, automatically download and upload artifacts to the release.
Description

Motivation and Context

Automatically add the release artifacts to the release.
Also ensures that the artifacts are uploaded as a tar file rather than a zip containing a tar.

Regression

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added unit tests to cover my changes.

@reitermarkus this will ensure we upload the tar file to the release and not the zip file (seems we always get a zip file when downloading from workflows, there's no way around it)
I'll talk to the team and see if there's scope to release 2.4.1 with a few things we've fixed (including this), and then you may update your krew PR to that which will have the LICENSE as required.

@dsharma-dc responding to your comment here since there's no PR open for the other repos now.
Perhaps we can include a checksum file in the github actions artifacts, then after downloading we can compare it. I'll raise a ticket for that.

bors merge

bors merge


set assigned keys when clear map

fix #663

hello, is there any other problem about this PR?

:tada: This PR is included in version 7.0.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unexpected Generic Behavior

I'm confused why the compiler can't infer the error here, and wondering if there are any analysis options I can use to enable it.
class Thing<T> {}

void main() {
  // useThing should be able to infer that the 2nd param here _must_ be a bool
  useThing(Thing<bool>(), 1);
}

T useThing<T>(Thing<T> t, T value) {}

I guess the issue is that this is somewhat of a tie? What I want to do is indicate that T value and Thing<T> have to match, but Thing<T> sets the type.
useThing<bool>(Thing<bool>(), 1) breaks the tie, but I'd like to omit the boilerplate, especially when a method has 2 or more types generics, so having to write out one, means writing out the others (unless there is some optional generic?)

I guess the issue is that this is somewhat of a tie?

That's correct. Inference cannot flow upwards from one argument to assign a value to T in useThing, and then flow back down to the second argument.

@leafpetersen I think this would be solved by our analysis idea to report any time inference LUB arrives at Object. If LUB arrived at Object, and neither argument to LUB was Object, then the user has likely done something wrong.

Ya that sounds like what I would expect. Its not that it matters who wins over the other, just that the mis-match is flagged as an error. Thanks!

The signature T useThing<T>(Thing<T>, T) doesn't actually specify that when the first argument has type Thing<bool>, the second argument must have type bool. It specifies that useThing can be used as a function with type T Function(Thing<T>, T) for any type T. In particular, we can choose T == Object, making it Object Function(Thing<Object>, Object), which makes it perfectly OK to pass a Thing<bool> as the first actual argument and an int as the second one.
The inference algorithm could have used equality constraints (hence insisting that T == bool and T == int, and reporting failure), but this would cause a lot of inference tasks to fail even though there is a solution. So Dart type inference satisfies subtype constraints, not equality constraints.
However, the real issue might actually arise at a different point: We have the subtyping relation Thing<bool> <: Thing<Object> because Dart class type parameters are covariant. This is not always sound, i.e., the type correctness of the heap is maintained for some method invocations by inserting dynamic type checks at specific locations in the compiled program, and this means that some operations may incur a run-time error. A well-known example is when an element is added to a list: myList.add(1) may fail even if myList has static type List<num>, because it could have run-time type List<double>. The same kind of unsoundness is known from Java and C# where you can have an ArrayStoreException.
Dart is rather likely to be extended with support for sound declaration-site variance, and if you have that you can specify the variance of each type parameter explicitly. This ensures that no such dynamic error will occur, and in particular you could design the Thing class such that only T == bool will be a solution in the above situation:
class Thing<inout T> {}

void main() {
  useThing(Thing<bool>(), true); // OK.
  useThing(Thing<bool>(), 1); // Compile-time error.
}

T useThing<T>(Thing<T> t, T value) {
  // ... use it ...
  return value;
}

This makes the type parameter of Thing invariant, which means that there is no subtype relation Thing<bool> <: Thing<S> for any other value of S than bool itself, and in particular, Thing<bool> is not a subtype of Thing<Object>.
This will yield the desired type inference result, by changing the subtype relationship rather than by changing type inference itself.

The signature T useThing<T>(Thing<T>, T) doesn't actually specify that when the first argument has type Thing<bool>, the second argument must have type bool. It specifies that useThing can be used as a function with type T Function(Thing<T>, T) for any type T. In particular, we can choose T == Object, making it Object Function(Thing<Object>, Object), which makes it perfectly OK to pass a Thing<bool> as the first actual argument and an int as the second one.
The inference algorithm could have used equality constraints (hence insisting that T == bool and T == int, and reporting failure), but this would cause a lot of inference tasks to fail even though there is a solution. So Dart type inference satisfies subtype constraints, not equality constraints.
However, the real issue might actually arise at a different point: We have the subtyping relation Thing<bool> <: Thing<Object> because Dart class type parameters are covariant. This is not always sound, i.e., the type correctness of the heap is maintained for some method invocations by inserting dynamic type checks at specific locations in the compiled program, and this means that some operations may incur a run-time error. A well-known example is when an element is added to a list: myList.add(1) may fail even if myList has static type List<num>, because it could have run-time type List<double>. The same kind of unsoundness is known from Java and C# where you can have an ArrayStoreException.
Dart is rather likely to be extended with support for sound declaration-site variance, and if you have that you can specify the variance of each type parameter explicitly. This ensures that no such dynamic error will occur, and in particular you could design the Thing class such that only T == bool will be a solution in the above situation:
class Thing<inout T> {}

void main() {
  useThing(Thing<bool>(), true); // OK.
  useThing(Thing<bool>(), 1); // Compile-time error.
}

T useThing<T>(Thing<T> t, T value) {
  // ... use it ...
  return value;
}

This makes the type parameter of Thing invariant, which means that there is no subtype relation Thing<bool> <: Thing<S> for any other value of S than bool itself, and in particular, Thing<bool> is not a subtype of Thing<Object>.
This will yield the desired type inference result, by changing the subtype relationship rather than by changing type inference itself.

This is a duplicate of https://github.com/dart-lang/sdk/issues/37863 (an eerily similar one, haha)

This is a duplicate of https://github.com/dart-lang/sdk/issues/37863 (an eerily similar one, haha)


Implement Spotify API pagination

Spotify API allows for pagination when retrieving lists of media, and the controller currently only requests a single page of 100 queue items or 200 browse items.
The result callback should check if there are more pages to load and add them to the lists.
Relatedly, the EnqueuedView should use a RequestDataCallback instead of dumping the entire queue into the RHMI List (perhaps @Ben2356 can make a quick PR for this piece?)

Dev build

Ah you beat me to the pagination system for Spotify, that was on my todo list 😃 ! I can make a PR for the RequestDataCallback in the EnqueueView, I have that system working just need to separate it out into its own branch


[v3] Refactor init command to use bundler out of the box

Description
Today, the init command is basically consuming and well-coupled to bundler tasks. a direct way, not following the standards from the other commands as such dev and build, for example.
📋 Tasks

TBD

Closed in favor of the new refactor


Adds some manager code that does nothing

What this PR does / why we need it:
This PR adds scaffolding and some fixes to make testing a little bit nicer
Special notes for your reviewer:
The code doesn't do anything very special, I'm not even sure if it's right
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
Release note:
None

@vincepri appreciate the comments, I'm still working on this code which I didn't make obvious in the PR description so my fault. I should not have included the controller code at all but wanted to get the imports in and make sure go.mod was happy. The issues will be fixed when the controller actually does something

/lgtm :pizza:


Create a Interface for Puppet

When we are developing Wechaty with Puppet Providers, we will always face an error of instanceof mismatch, like

https://github.com/wechaty/wechaty/issues/1930
https://github.com/wechaty/wechaty/issues/2024

According to https://stackoverflow.com/a/47116527/1123955, we can define an Interface for our AbstractPuppet class:
interface Puppet extends AbstractPuppet {
}

After that, we can always use the Interface of Puppet and never use instanceof again, for a better and a beautiful duck typing world.

A workaround for now: https://github.com/wechaty/wechaty/commit/2e951b7538540a5a94a867ad46ac86721a7c33af

Related to https://github.com/wechaty/wechaty/issues/1930


Pick block

a button to select the block you are looking at?
button could be the middle click mouse button or the P key or something else
could be a potential solution to be able to access all of the blocks that naturally generate before the inventory system is finished and without having to give every single block its own key
(if this already exists i am very sorry i didnt find it anywhere)

In my experience, this pattern is extremely convenient even when constrained by inventory. We should implement this.


GetOrderedTabHeaders() - Object reference not set to an instance of an object

In Markdown Monster I'm running into a lot of user errors with Object reference not set to an instance of an object. in my logs related to a call to GetOrderedTabHeaders().
I've not been able to replicate this myself, but I get about 50 errors or so a day from this method from users in my analytics logs. I fenced off that code now to capture the error and ignore the ordered headers.
 It is called as part of code that's responsible for saving the open tab file names and related files that are currently open. I recently switched from just iterating the tabs which hold a Tag and the document, and then matching them  to my recent files, but in that process the tab order  was getting lost. So I switched to GetOrderedTabHeaders() and now these errors are popping up quite frequently.
I added the PDB to the distribution and it looks like the failure is happening in that one line in here:
        /// <summary>
        /// Gets the header items, ordered according to their current visual position in the tab header.
        /// </summary>
        /// <returns></returns>
        public IEnumerable<DragablzItem> GetOrderedHeaders()
        {
            return _dragablzItemsControl.ItemsOrganiser.Sort(_dragablzItemsControl.DragablzItems());
        }

I realize this is very vague since I haven't been able to reproduce it myself, but I thought I'd report it here in case you can perhaps see an issue. My guess would be that ItemsOrganizer is the null reference here and at the very least maybe there should be some null checks in here most likely for the ItemsOrganizer and if that's not defined create it or return  unordered headers instead?

So after a bit of further debugging, using private Reflection and logging in production with Analytics it turns out its the _DragabalzItemsControl that is null.
I still can't duplicate the scenario locally but I see tons of these error in my logs.  Unfortunately the call stack is not helping here because the form is shutting down (onClosing()), but I've tried all sorts of scenarios to make it fail for me and can't.
I have a workaround by just grbbing the unordered headers and that works, but it'd be nice to get GetOrderHeaders() to work reliably.


[Bug] [Dependent] Dependent not triggered normal

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
The downstream of the dependent node is not triggered normal.
What you expected to happen
trigger normal
How to reproduce
I do not pass paramerter in start workflow use dependence mode.

can trigger downstream, downstream workflow as follow

I pass paramerter in start workflow use dependence mode. Can not trigger downstream

Anything else
No response
Version
3.0.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

https://github.com/apache/dolphinscheduler/pull/11734


add unknown chip dummy

The reason for my proposal of adding a dummy for the unknown chip is that I wanted to obtain the serial of the ST-link by a call to st-info --probe. This returns nothing (not even a warning) when an unknown chip is attached (in my case an NXP lpc17xx). With the changes here, I could easily obtain the serial, which I needed in OpenOCD, as multiple programmers are attached. (BTW: Although not supported, I am able to flash the chip, mentioned above)

This is a valid fix, thank you!


Variable explorer in interactive window debug session does not show locals

The root cause of this is that when there is a local and global scope, e.g. we're stopped on a breakpoint inside a function in a Python module, two variables requests are sent from the client to the debug adapter. However it looks like our debug adapter tracker code assumes only one variables request is ever sent, and we overwrite this.lastKnownVariables for each response we process:
https://github.com/microsoft/vscode-jupyter/blob/6cab79c9eddab3b52a3536064f8b323e55128371/src/client/datascience/jupyter/debuggerVariables.ts#L344-L346
In the case where there is only a global scope, two variables requests are still sent (you can see this by setting a breakpoint in onDidSendMessage in debugLocationTracker.ts), but their contents are identical, which is why the variable explorer still shows the right variables. But when we're stopped in a function and the local scope variables response is processed before the global scope variables response,  this results in the variable explorer failing to show local variables. E.g. in the screenshot below, the variable explorer only shows the globally declared a and b, when it should also be showing the local df (which is shown in the locals window on the left):

Instead I think we should combine the allowedVariables with the existing this.lastKnownVariables. We must also clear this.lastKnownVariables to avoid showing variables that have gone out of scope in the variable explorer, e.g. we can clear on a continue event (since we'll recompute the lastKnownVariables the next time we receive variables responses from the debug adapter).

https://github.com/microsoft/vscode-jupyter/commit/86a198e37ce57be17ed8454975381701005dca3e partially fixes this. If a globally scoped variable is shadowed by a local variable, should we show both (in which case we would need to indicate which scope each variable belongs to) or show the local by default?

Just went through a repro for this with the modern variable explorer - it looks like we now only show the variables in the local scope, and globals don't appear at all.

Rather than risk showing duplicate variables where it's not clear what scope the variable is in (since the explorer doesn't have this concept), I'll leave it as-is, ensure that we have a story for this in the new variable explorer, and close in favor of https://github.com/microsoft/vscode/issues/165445


How to capture 802.11 frame packets on Windows in monitor mode

I'm currently working on a project where I need to capture 802.11 packets using the pcap library . I enable Monitor Mode using wlanhelper.exe
here sample of mi code
use pcap::*;
fn capture_wpa2_handshake(
    interface_index:usize
) {
    // List available devices and choose the one you want
    let device = Device::list().unwrap()[interface_index].clone();
    // Choose the device (you may need to change the index based on your setup)

    // Open the selected device for capturing
    let mut cap = device.open().unwrap();
    let mut savefile = cap.savefile("test.pcap").unwrap();
    // Keep capturing until the 4-way handshake is complete
    let mut handshake_complete = false;
    // Set a filter to capture only TCP packets
    cap.filter("ether proto 0x888e", true).unwrap();
    while !handshake_complete {
        if let Ok(packet) = cap.next_packet() {
            // Process the packet, check if it's part of the WPA2 4-way handshake
            // You need to implement the logic to identify EAPOL-Key messages
            // and keep track of the handshake state
            println!("Received packet: {:?}", packet);

            // Check if the WPA2 4-way handshake is complete
            // You need to implement the logic to detect the completion of the handshake
        handshake_complete = is_wpa2_handshake_complete(&packet);
        // handshake_complete = true;
        savefile.write(&packet);
        }

    }
    println!("WPA2 4-way handshake complete!");
}

The problem I face I can't capture any packets using pcap, but Wireshark works fine.

Can I just ask if you double checked (with debug logs or something) that you indeed open the capture on the right interface?

Thank you for your detailed response! Yes, I double-checked if my captured interface was the right one or not. However, I think this is the problem.

So I use Rust's cc package and write my own c program using pcap.h, and now I can capture Beacon Packets with the help of the pcap_set_rfmon function 🥴.


Test if we are losing events sent from Android to node

Apparently we have had a problem where Android would send peerAvailabilityChanged events to node but node didn't appear to ever receive the event. Our solution to this problem was to beat node into an unconscious bloody pulp with events in order to make sure it got them. No, that isn't the right solution.
So what we need to do is to write a simple test where Android fires a fixed number of events at Node and Node counts how many events it receives and fires off a log when it hits the expected number.
So the Android code should check for a call to registerToNative for peerAvailabilityChanged and once it gets that call then it should start firing the events. And that way we guarantee there are no race conditions.
If it fails then send this bug and code to @enricogior. If it passes then disable the code that was preventing us from sending repeated events about the same peer ID and generation. Then please confirm that we are no longer pummeling node. And then please re-run all the Native and Both mode tests on 3 Android devices locally and put the results into bug thaliproject/Thali_CordovaPlugin#1291

@yaronyg see some details about our work for this issue below.
@andrew-aladev and @vasilevskayaem tested the case, i.e. Android fired 1000 peerAvailabilityChanged events per 1 millisecond. As result 1000 events were send and 1000 events were received.
We assume that the current testing scenario is too simple. We need better simulate real Thali logic, i.e. when peerAvailabilityChanged event received attempt connecting to the peer. I think we already have test for the similar case.

recommented generation check logic and get next results
fails
check latest peer discovery https://gist.github.com/vasilevskayaem/72c76636da74871513665d526f8cf4f1
wifi peer is marked unavailable if announcements stop
Test updating advertising and parallel data transfer
Test write
initial peer discovery
update peer discovery 1

Handing this off to @evabishchevich to see which failures he can blame on Android and which he can blame on Node. :) @evabishchevich feel free to either use @vasilevskayaem's logs or to re-run the tests yourself just so you know everything about the history of those logs.

Closing in favor of thaliproject/Thali_CordovaPlugin#1291